Prévia do material em texto
14/03/2022 16:03 M2 | Quiz - Desafio do Módulo 2: 2022/1 - Programação II - GR96002-00504-859386 - Quinta-feira - 21:00 - MATEUS RAED… https://unisinos.instructure.com/courses/22606/quizzes/14249 1/5 M2 | Quiz - Desafio do Módulo 2 Entrega 29 abr em 23:59 Pontos 2,5 Perguntas 5 Disponível 11 mar em 0:00 - 29 abr em 23:59 aproximadamente 2 meses Limite de tempo 120 Minutos Instruções Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 11 minutos 2,5 de 2,5 As respostas corretas estarão disponíveis em 2 mai em 0:00. Pontuação deste teste: 2,5 de 2,5 Enviado 14 mar em 16:02 Esta tentativa levou 11 minutos. Você está preparado para responder perguntas sobre Recursão? Você deve responder a algumas questões sobre o conteúdo abordado neste módulo. Para isto, atente para os seguintes pontos: Você terá apenas 1 oportunidade de responder ao desafio Organize-se para responder ao desafio até a data limite estipulada Quando você começar a responder o desafio, você terá 2 horas para finalizá-lo. Portanto, planeje-se para isto. 0,5 / 0,5 ptsPergunta 1 "Para ser recursivo, um método ter a si mesmo (conhecida como ). Além disto, um método recursivo também possuir (conhecida como ), que faz com que o método tenha um ponto de parada." Assinale a alternativa que completa corretamente as lacunas da sentença acima, na ordem em que aparecem. https://unisinos.instructure.com/courses/22606/quizzes/14249/history?version=1 14/03/2022 16:03 M2 | Quiz - Desafio do Módulo 2: 2022/1 - Programação II - GR96002-00504-859386 - Quinta-feira - 21:00 - MATEUS RAED… https://unisinos.instructure.com/courses/22606/quizzes/14249 2/5 deve; pelo menos uma chamada; chamada recursiva; deve; pelo menos uma chamada não recursiva; caso base pode; uma chamada; chamada recursiva; deve; pelo menos uma chamada não recursiva; caso base deve; pelo menos uma chamada; chamada recursiva; pode; uma chamada não recursiva; caso base pode; uma chamada; chamada recursiva; pode; uma chamada não recursiva; caso base deve; pelo menos uma chamada; caso base; deve; pelo menos uma chamada não recursiva; chamada não-recursiva 0,5 / 0,5 ptsPergunta 2 Considere o trecho de código abaixo: public static void main(String args[]) { int[] x={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; A(x, x.length-1); } Qual dos métodos a seguir imprime apenas os elementos que estão nas posições pares do array de entrada, considerando a chamada realizada acima (A(x, x.length-1))? 14/03/2022 16:03 M2 | Quiz - Desafio do Módulo 2: 2022/1 - Programação II - GR96002-00504-859386 - Quinta-feira - 21:00 - MATEUS RAED… https://unisinos.instructure.com/courses/22606/quizzes/14249 3/5 public static void A(int[] v, int i){ if(i > -1){ if(i % 2 == 0) A(v, i-1); else { System.out.println(v[i]); A(v, i-2); } } } public static void A(int[] v, int i){ if(i > -1){ if(i % 2 != 0) A(v, i-2); else { System.out.println(v[i]); A(v, i-2); } } } public static void A(int[] v, int i){ if(i > -1){ if(i % 2 != 0) A(v, i-1); else { System.out.println(v[i]); A(v, i-2); } } } public static void A(int[] v, int i){ if(i > -1){ if(i % 2 != 0) A(v, i-1); else { System.out.println(v[i-1]); A(v, i-2); } } } public static void A(int[] v, int i){ if(i > -1){ if(i % 2 != 0) A(v, i-1); else { System.out.println(v[i]); A(v, i--); } } } 0,5 / 0,5 ptsPergunta 3 14/03/2022 16:03 M2 | Quiz - Desafio do Módulo 2: 2022/1 - Programação II - GR96002-00504-859386 - Quinta-feira - 21:00 - MATEUS RAED… https://unisinos.instructure.com/courses/22606/quizzes/14249 4/5 Considere o método abaixo: public static int A(int i){ if(i > 10) return 0; int x = 5 + i; i += 3; return x + A(i); } Quantas vezes ele executa a linha int x = 5 + i; nas chamadas A(3), A(4) e A(5), respectivamente? 1, 3, 5 1, 4, 2 3, 3, 2 3, 4, 5 3, 3, 3 0,5 / 0,5 ptsPergunta 4 Considere as seguintes sentenças: I. Um método recursivo é sempre mais rápida do que sua solução iterativa II. Existem problemas que são mais simples de resolver utilizando uma solução recursiva em comparação a solução iterativa III. Não é possível declarar variáveis dentro de métodos recursivos Quais estão corretas? I, II e III II, apenas II e III, apenas 14/03/2022 16:03 M2 | Quiz - Desafio do Módulo 2: 2022/1 - Programação II - GR96002-00504-859386 - Quinta-feira - 21:00 - MATEUS RAED… https://unisinos.instructure.com/courses/22606/quizzes/14249 5/5 I e III, apenas I e II, apenas 0,5 / 0,5 ptsPergunta 5 Assinale a alternativa que apresenta uma definição não recursiva de um método qualquer. A(a) = 20, se a < 5 A(a) = A(a) * A(a-3), se a >=5 A(a) = 20, se a < 5 A(a) = A(A(a)-4) * 3, se a >=5 A(a) = 20, se a < 5 A(a) = A(a-14) * 3, se a >=5 A(a) = 20, se a < 5 A(a) = (a) * 3, se a >=5 A(a) = 20, se a < 5 A(a) = (a) * A(a-3), se a >=5 Pontuação do teste: 2,5 de 2,5