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.
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Lista de comentários


More Questions From This User See All
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

Helpful Social

Copyright © 2025 ELIBRARY.TIPS - All rights reserved.