Geral
Algoritmos e Programação de Computadores II
Semana 3
0

Questão

Ao tentar resolver o problema do fatorial de um número, basta multiplicá-lo por todos os seus antecessores até chegar ao número 1. Com o uso da recursividade, esse problema pode ser resolvido inicialmente sendo dividido em subproblemas menores do mesmo tipo (multiplicando um número por seus antecessores) e tomando um ponto de parada da recursão que neste caso deve ser o retorno em 1. Mas isso exige cálculos repetidos.


Após análise do problema apresentado, avalie as asserções a seguir e a relação proposta entre elas. 


I. O uso da recursividade exigida em problemas como o cálculo de fatorial ou cálculo da série de Fibonacci podem ocasionar problemas.

PORQUE 

II. Existem chances de que o subproblema resolvido na árvore de recursão já esteja resolvido e continue sendo resolvido provocando uma sobrecarga.


A respeito dessas asserções, assinale a alternativa correta.

A)

As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.

B)

A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.

C)

A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.

D)

As asserções I e II são falsas.

E)

As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.

function vote(questaoId, value) { window.location.href = "/accounts/login/?next=/questao/807/"; return; fetch(`/vote/questao/${questaoId}/`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': 'IYd5l7slHL92jjGUuMPbokDL1f1xhkqcnww5Wxgm3PdPjhnyg3zI884dAkQ9tNwF' }, body: JSON.stringify({ value: value }) }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById(`score-${questaoId}`).textContent = data.score; const upBtn = document.querySelector(`button[onclick="vote(${questaoId}, 1)"]`); const downBtn = document.querySelector(`button[onclick="vote(${questaoId}, -1)"]`); upBtn.classList.remove('active-up'); downBtn.classList.remove('active-down'); if (data.user_vote === 1) upBtn.classList.add('active-up'); if (data.user_vote === -1) downBtn.classList.add('active-down'); } }); }