Baixe o app para aproveitar ainda mais
Prévia do material em texto
Página inicial Meus cursos 32010001906-2023-1 📚 Módulo 3 ✅ [A3] – Avaliação do Módulo 3 – Algoritmos recursivos Iniciado em sábado, 24 jun 2023, 08:44 Estado Finalizada Concluída em sábado, 24 jun 2023, 08:56 Tempo empregado 12 minutos 35 segundos Avaliar 10,00 de um máximo de 10,00(100%) Questão 1 Correto Atingiu 1,00 de 1,00 Questão 2 Correto Atingiu 1,00 de 1,00 Em relação ao conceito de algoritmos recursivos, considere as afirmações abaixo: 1. O caso base ou condição de parada de um algoritmo recursivo evita a recursão infinita. 2. O passo recursivo permite com que uma função chame a si mesma para resolver uma versão menor do problema. 3. Uma solução recursiva possui um comportamento similar a uma estrutura de repetição, com a diferença que a repetição se dá principalmente através de chamadas para a própria função. 4. Problemas mais complexos como a Torre de Hanói não podem ser resolvidos com recursividade. Escolha a alternativa que contenha apenas afirmações verdadeiras. a. 1 e 2. b. 1 e 3. c. 2 e 3. d. Todas as afirmações são verdadeiras. e. 1, 2 e 3 Métodos recursivos realizam chamadas para si próprio, e cada chamada gera um custo extra de armazenamento dos parâmetros. Dizemos que há overflow em um algoritmo recursivo quando a quantidade de chamadas recursivas extrapola o consumo de memória limite para armazenamento dos parâmetros das chamadas. Escolha uma opção: Verdadeiro Falso https://ava.ufms.br/ https://ava.ufms.br/course/view.php?id=44592 https://ava.ufms.br/course/view.php?id=44592#section-4 https://ava.ufms.br/mod/quiz/view.php?id=616904 Questão 3 Correto Atingiu 1,00 de 1,00 Questão 4 Correto Atingiu 1,00 de 1,00 Questão 5 Correto Atingiu 1,00 de 1,00 O código abaixo tenta resolver o problema de Fibonacci. def fib( n ): if n == 0: return 0 else if n == 1: return 1 else return fib( n-1 ) + fib( n-2 ) Em relação a essa solução, escolha a alternativa correta. a. O algoritmo resolverá o problema corretamente para qualquer valor de n que seja maior ou igual a zero. b. As chamadas recursivas não levarão a cálculos redundantes. c. Essa solução não apresenta uma condição de saída. d. O algoritmo resolverá o problema corretamente para qualquer valor de n. e. Essa solução não é recursiva. Algoritmos recursivos podem ser transformados em algoritmos iterativos. Para isso, será necessário utilizar filas para armazenar os cálculos parciais que serão produzidos. Escolha uma opção: Verdadeiro Falso Um requisito para que um algoritmo recursivo seja correto é que não gere uma sequência infinita de chamadas sobre si mesmo. Escolha uma opção: Verdadeiro Falso Questão 6 Correto Atingiu 1,00 de 1,00 Questão 7 Correto Atingiu 1,00 de 1,00 Questão 8 Correto Atingiu 1,00 de 1,00 Em relação ao conceito de recursividade, escolha a alternativa correta. a. Um algoritmo que resolve um problema de maneira recursiva corretamente precisa apresentar uma condição de saída. b. Uma implementação que resolve um problema de maneira recursiva sempre gastará menos memória que uma solução iterativa. c. A definição de função em termos de si mesma é chamada de uma função dedutiva em matemática. d. Se um problema possui uma solução recursiva, ele naturalmente não pode ser resolvido através de uma solução iterativa. e. O cálculo do fatorial de um número não pode ser resolvido com recursividade, pois ele não possui a característica recursiva. Em geral, os algoritmos recursivos realizam chamadas para si próprio e passam por parâmetro uma nova entrada, que geralmente é maior que a entrada anterior. Ou seja, a cada chamada recursiva o tamanho da entrada aumenta, e essa é a dinâmica que levará ao término da recursão. Escolha uma opção: Verdadeiro Falso Muitos problemas têm uma formulação simples que pode ser traduzida diretamente para o código recursivo. Essa é uma das vantagens da recursão: a capacidade de transcrever um problema com natureza recursiva de maneira direta para a programação. Escolha uma opção: Verdadeiro Falso Questão 9 Correto Atingiu 1,00 de 1,00 Questão 10 Correto Atingiu 1,00 de 1,00 Escolha uma afirmação que representa uma diretriz na tomada de decisão entre recursão e iteração. a. As soluções recursivas são sempre mais complexas e com mais linhas de código. b. Como a recursividade sempre leva a um maior consumo de memória e a códigos mais complexos, ela nunca deve ser escolhida. c. Considere uma solução recursiva somente quando uma solução iterativa simples não for possível. d. Sempre prefira soluções iterativas a soluções recursivas, independente de qualquer outro critério. e. Utilize uma solução recursiva, independente do consumo de memória da solução. A recursividade indireta é produzida quando um programa ativa outro, que terminará ativando novamente o primeiro. Por exemplo: um programa A chama um programa B, e o programa B chama o programa A. Escolha uma opção: Verdadeiro Falso Atividade anterior ◄ 📍 [Checkout de Presença] Módulo 3 – Algoritmos recursivos Seguir para... Próxima atividade ▶ [Videoaula] Apresentação do Módulo 4 ► Manter contato Suporte Técnico ao Usuário https://suporteagetic.ufms.br (67) 3345-7613 suporte.agead@ufms.br https://ava.ufms.br/mod/quiz/view.php?id=616902&forceview=1 https://ava.ufms.br/mod/url/view.php?id=616905&forceview=1 https://suporteagetic.ufms.br/ tel:(67) 3345-7613 mailto:suporte.agead@ufms.br https://api.whatsapp.com/send?phone=556733457613
Compartilhar