1. Utilizando o algoritmo de ordenação por inserção, como ficaria ordenado o vetor a seguir logo após a primeira passada?
int[] valores = {5, 3, 7, 6, 2};
Resposta Correta: {3, 5, 7, 6, 2}
2. Como é conhecido o erro causado em uma função recursiva quando ela foi mal projetada e sua execução não alcança um critério de parada?
Resposta Correta: Loop infinito.
3. Aponte o valor no índice (2,1) da seguinte matriz:
int[,] valores = {{5, 3, 7, 6}, {8, 9, 0, 1}, {4, 2, 3, 9}};
Resposta Correta: 2
4. Considere a função a seguir como uma solução recursiva para calcular o resto de uma divisão. Qual deve ser o retorno dentro do bloco else?
public static int restoRecursivo (int a, int b)
{
if (critério de parada)
{
return caso base;
}
else
{
return código;
}
}
Resposta Correta: return restoRecursivo(a - b, b)
5. Como são conhecidos os métodos auxiliares, não recursivos, do MergeSort e do QuickSort, respectivamente?
Resposta Correta: Intercalar e Particionar.
6. Qual um termo que seja sinônimo para escrita de arquivos?
Resposta Correta: Salvamento.
7. Qual o índice, no vetor a seguir, do primeiro elemento utilizado para divisão do vetor, utilizando o MergeSort para ordenação dos elementos?
Vetor = {8, 10, 22, 5, 7, 11}
Resposta Correta: 2
8. Suponha que exista o vetor valores com tamanho 5. Na primeira posição ele possui o valor 1. Qual o valor armazenado no índice 2 após a execução do código abaixo?
for(int i = 1; i < valores.Length; i++)
{
valores[i] = valores[i-1] + 2;
}
Resposta Correta: 5
9. Quantos passos são executados pela busca linear e pela busca binária, respectivamente, até encontrar o valor 98 no vetor abaixo?
Vetor = {5, 10, 12, 38, 45, 61, 65, 69, 81, 89, 98, 100}
Resposta Correta: 11 e 3.
10. Suponha que exista a matriz valores com tamanho 3x3. Em cada posição, ela armazena o valor correspondente à soma de seus índices naquela posição. Qual o valor armazenado na última coluna da primeira linha da matriz após a execução do código abaixo?
for (int l = 0; l < valores.GetLength(0); l++)
{
for (int c = 0; c < valores.GetLength(1); c++)
{
valores[l,c] = valores[l,c] + valores[c,l];
}
}
Resposta Correta: 4
11. Observe o seguinte vetor:
int[] valores = {5, 3, 0, 7, 2, 0};
É necessário, a cada dois valores, somá-los e inserir o resultado dessa soma na posição seguinte, onde consta o valor zero. Quais seriam as instruções que resolveriam esse problema?
Resposta Correta:
valores[2] = valores[1] + valores[0]; valores[5] = valores[4] + valores[3];
12. Qual o nome do paradigma de programação que permite modularizar o código em classes, que possuem atributos e métodos, permitindo a criação de instâncias dessas classes, que possuem valores e são utilizadas pelo programa?
Resposta Correta: Orientação a Objetos.
13. Qual a função que representa a complexidade da busca binária?
Resposta Correta: Logarítmica.
14. Aponte o valor no índice 3 do seguinte vetor:
int[] valores = {5, 3, 7, 6, 2};
Resposta Correta: 6
15. A classe Pessoa possui quatro atributos: int idade;, String nome;,
String estado; e double altura;. O construtor foi definido conforme a seguir. Qual a forma
correta de se criar um objeto do tipo Pessoa?
public Pessoa(String n, int i, double a, String e)
{
this.nome = n;
this.idade = i;
this.altura = a;
this.estado = e;
}
Resposta Correta:
Pessoa joao = new Pessoa("João", 20, 1.75, "São Paulo");
16. Conforme novas chamadas recursivas são executadas, cada uma dessas instâncias é inserida em uma estrutura que controla e mantém a ordem de execução de cada chamada. Essa estrutura é conhecida por:
Resposta Correta: Pilha de execução.
17. Observe o código abaixo:
double[] notas = {5.0, 6.0, 8.0};
double[] notas_com_bonus = bonus(notas);
E a função:
double[] bonus(double[] vetor)
{
for(int i = 0; i < vetor.Length; i++)
{
vetor[i] = vetor[i] * 1.2;
}
return vetor;
}
Após a execução do código, qual o valor dos elementos armazenados nos vetores notas e
notas_com_bonus?
Resposta Correta:
notas = {6.0, 7.2, 9.6}
notas_com_bonus = {6.0, 7.2, 9.6}
18. Considerando um vetor já ordenado, qual dos algoritmos de ordenação, conforme implementação abordada em aula, executaria mais rápido?
Resposta Correta: Método bolha.
19. Qual o tipo de dado utilizado para iniciar a escrita de um arquivo e o método utilizado para escrever em cada linha do arquivo?
Resposta Correta: StreamWriter e WriteLine.
20. Observe a seguinte matriz:
int[,] valores = {{0, 3, 5}, {6, 0, 4}, {7, 8, 0}};
É necessário somar os valores de uma linha, onde não sejam zero, e armazenar o resultado na posição dessa linha onde esteja o valor zero (preenchendo assim a diagonal principal). Quais seriam as instruções que resolveriam esse problema?
Resposta Correta:
valores[0,0] = valores[0,1] + valores[0,2]; valores[1,1] = valores[1,0] + valores[1,2]; valores[2,2] = valores[2,0] + valores[2,1];
21. Qual o tipo de dado utilizado para iniciar a leitura de um arquivo e o método utilizado para ler cada linha do arquivo?
Resposta Correta: StreamReader e ReadLine.
22. Quantas chamadas recursivas são realizadas em cada instância do MergeSort e QuickSort?
Resposta Correta: 2.
23. Considere a função a seguir como uma solução recursiva para calcular o resto de uma divisão. Qual deve ser o critério de parada, e o retorno desse caso base?
public static int restoRecursivo (int a, int b)
{
if (critério de parada)
{
return caso base;
}
else
{
return código;
}
}
Resposta Correta: b > a ; return a
24. Utilizando o algoritmo de ordenação pelo método bolha, como ficaria ordenado o vetor a seguir logo após a primeira passada?
int[] valores = {5, 3, 7, 6, 2};
Resposta Correta: {3, 5, 6, 2, 7}
25. Utilizando o algoritmo de ordenação por seleção, como ficaria ordenado o vetor a seguir logo após a primeira passada?
int[] valores = {5, 3, 7, 6, 2};
Resposta Correta: {2, 3, 7, 6, 5}
26. Observe o código abaixo. O que será impresso pela sua execução?
int[,] valores = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int l = 0; l < 3; l++)
{
for (int c = 0; c < 3; c++)
{
if (l >= c)
{
Console.Write(valores[l,c] + " ");
}
}
}
Resposta Correta: 1 4 5 7 8 9
27. Em qual dos vetores abaixo a execução da busca binária encontraria o elemento 26 no quarto passo?
Resposta Correta: {3, 8, 15, 26, 31, 38, 42, 61, 65, 70}