Baixe o app para aproveitar ainda mais
Prévia do material em texto
Atividade 2 Iniciado: 29 ago em 9:24 Instruções do teste Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0,2 ptsPergunta 1 Leia o texto e observe o código a seguir: A linguagem C#, assim como outras, permite que criemos funções para organizar o nosso código. Dentro dessas funções, podemos adicionar estruturas de repetição, estruturas condicionais e invocar outras funções nativas da linguagem. 1 public void print(int str){ 2 Console.WriteLine(str); 3 } 4 5 public static void Main (string[] args) { 6 Program x = new Program(); 7 8 int cont, y; 9 y = 10; cont = 0; A+ A A- NOTA: 1.0 de 1.0 II e III, apenas. I e II, apenas. I, apenas. III, apenas. II, apenas. 10 while(cont < y){ 11 x.print(cont); 12 cont++; 13 } 14 } Considerando o código apresentado, avalie as afirmações abaixo: I. O código apresentará os números de 0 até 10 na tela pela função print. II. Esse algoritmo executará, no melhor caso, pelo menos 30 instruções. III. No pior caso, esse é um algoritmo com crescimento de tempo linear. É correto o que se afirma em: 0,2 ptsPergunta 2 Leia o texto a seguir: A+ A A- algoritmo quadrático. algoritmo linear. algoritmo exponencial. algoritmo de recorrência. algoritmo constante. O pseudocódigo apresentado é responsável por receber um valor de temperatura e verificar se tal valor está em um determinado intervalo. Início se temperatura > 40 escreva(“ligar ar-condicionado”) escreva(“fechar as janelas”) Senão escreva(“abrir as janelas”) fim-se fim Considerando que o valor da variável temperatura é igual a 40, podemos afirmar que o algoritmo apresentado é um 0,2 ptsPergunta 3 Leia o texto a seguir: A+ A A- III e IV, apenas. II e IV, apenas. I e IV, apenas. I e III, apenas. II e III, apenas. Às vezes, um problema é muito difícil ou muito complexo para ser resolvido porque é muito grande. Se o problema puder ser dividido em versões menores de si mesmo, poderemos encontrar uma maneira de resolver uma dessas versões menores e, em seguida, conseguirmos encontrar uma solução para o problema inteiro. Essa é a ideia por trás da recursão. Considerando as informações apresentadas, avalie as afirmações a seguir: I. Algoritmos recursivos dividem um problema em partes menores até atingir uma condição de parada. II. Existe a recursividade direta e indireta, sendo esta última caracterizada pela ausência de condição de parada. III. A recursividade foi criada para resolver problemas de modo mais rápido e eficiente que aqueles problemas resolvidos por algoritmos iterativos. IV. Recursividade pode ser definida em termos de si mesma: "Recursão: [...] para obter mais informações, consulte Recursão". É correto o que se afirma em: 0,2 ptsPergunta 4 Analise com atenção os três algoritmos apresentados a seguir: Figura 1 - Algoritmo A com um laço de repetição for Figura 2 - Algoritmo B com um laço de repetição for A+ A A- No pior caso, o algoritmo C (figura 3) e o algoritmo A (figura 1), terão o mesmo número de instruções. No pior caso, o algoritmo B (figura 2) executará 3n+2 instruções, assim como o algoritmo A (figura 1). No pior caso, tanto o algoritmo C (figura 3) quanto o algoritmo A (figura 1) são O(n). No pior caso, o algoritmo A (figura 1) executará 308 instruções para um n igual a 102. No pior caso, os tempos de execução dos algoritmos A e B (figura 1 e figura 2, respectivamente) são iguais. Figura 3 - Algoritmo C com laço de repetição while Considerando as informações apresentadas, assinale a opção correta. 0,2 ptsPergunta 5 Leia o texto a seguir: Uma variável possui papel fundamental em um código, sendo responsável por guardar dados para uma manipulação posterior. Uma variável do tipo inteiro pode ser utilizada em uma estrutura de repetição e, desse modo, podemos, por exemplo, gerar uma sequência somente com números divisíveis por 2 (números pares). A+ A A- Salvo em 22:05 I, apenas. II, apenas. III, apenas. I e II, apenas. II e III, apenas. Considere o código a seguir: 1 for(int x = 1; x < 10; x++) 2 if(x % 4 != 0 && x % 2 == 0) 3 for(int y = 1; y < 5; y++) 4 Console.WriteLine(y); Considerando o código apresentado, avalie as afirmações abaixo: I. A linha 4 representa 8 instruções que serão executadas por esse programa. II. Esse algoritmo tem um tempo de execução quadrático ou O(n²). III. A linha 2 será executada quando o valor de x for par e divisível por 4. É correto o que se afirma em: Enviar teste A+ A A-
Compartilhar