A utilização de recursividade não apenas diminui a quantidade de código a ser usada em um procedimento ou chamada, mas possibilita uma economia de tempo nas codificações como, por exemplo, calculando o fatorial de um número. “Um método recursivo pode chamar outro método, que por sua vez pode fazer uma chamada de volta ao método recursivo. Isso é conhecido como uma chamada recursiva indireta ou recursão indireta. Por exemplo, o método A chama o método B, que faz uma chamada de volta ao método A. Isso ainda é recursão, porque a segunda chamada para o método A é feita enquanto a primeira está ativa – isto é, a primeira chamada ao método A ainda não concluiu sua execução (porque está esperando o método B voltar um resultado para ela) e não retornou ao chamador original do método A” (DEITEL; DEITEL, 2016, p. 609). DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Observe o trecho de código a seguir, realizado na linguagem Java, versão 8. Sobre o código anterior, avalie as afirmativas a seguir. I. A codificação mostrada possui erro sintático, pois, nessa chamada recursiva, o método Fibonacci está chamando outro método para cálculo de mesmo nome, retornando uma chamada também com o mesmo nome de método. II. A condição “number.equals(BigInteger.ZERO)” permite que todo trecho de código não necessite ser executado, uma vez que a estrutura “if…else” está limitando a execução caso o “if” inicial seja verdadeiro. III. É possível realizar operações matemáticas por meio de métodos com cálculos predefinidos, seja para comparação, subtração ou adição numérica, passando como parâmetro o valor desejado. Está correto o que se afirma em: a. II e III, apenas. b. I, apenas. c. I e II, apenas. d. I e III, apenas. e. I, II e III, apenas.
Responda
Abordagens de solução de problemas de recursão têm um número de elementos em comum. Quando um método recursivo é chamado para resolver um problema, na verdade, ele é capaz de atuar somente no(s) caso(s) mais simples(s), ou caso(s) básico(s). Se o método é requisitado para um caso básico, ele retorna um resultado. Se é para um problema mais complexo, ele o divide em duas partes conceituais – uma que o método sabe como solucionar e outra que ele não sabe. Para tornar a recursão realizável, a última parte deve assemelhar-se ao problema original, mas ser uma versão ligeiramente mais simples ou menor dele. Como esse novo problema é parecido com o original, o método destina uma cópia nova dele próprio para trabalhar no problema menor – isso é referido como chamada recursiva e também é denominado passo de recursão” (DEITEL; DEITEL, 2016, p. 609). DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Sobre o que foi apresentado, observe as asserções a seguir e as relações propostas entre elas. I. A execução de uma recursão é feita durante a chamada do método original, que ainda se encontra em aberto, ou seja, a execução não foi finalizada. PORQUE II. É possível que o passo de execução resulte em outras chamadas recursivas à medida que o método divide cada novo subproblema em partes conceituais. Analisando as asserções anteriores, assinale a alternativa correta. a. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. b. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa para I. c. As asserções I e II são proposições falsas. d. A asserção II é uma proposição verdadeira, e a I é uma proposição falsa. e. As asserções I e II são proposições verdadeiras, e a II é uma justificativa para I.
Responda

Helpful Social

Copyright © 2024 ELIBRARY.TIPS - All rights reserved.