SóProvas


ID
5090584
Banca
CESPE / CEBRASPE
Órgão
SEED-PR
Ano
2021
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

programa {
funcao proc(inteiro n) {
se (n==4) {
retorna n;
} senão {
retorna 2*proc(n+1);
}
}
escreva (proc(2));


Assinale a opção que apresenta o resultado da execução do pseudo-código precedente.

Alternativas
Comentários
  • Algoritmo Recursivo.

    proc(2) puxa o valor de 2 * proc(3)

    proc(3) puxa o valor de 2 * proc(4)

    Assim, temos:

    proc(4) = 4

    proc(3) = 2 * proc(4) = 2 * 4 = 8

    proc(2) = 2 * proc(3) = 2 * 8 = 16 (Letra E)

    ______________________________________

    Sugiro abrir a prova original pra visualizar o código iNdentado.

  • Eduardo Wontroba, pq o n iniciou em 2?

  • Questão chatinha mesmo.

    proc(2) = 2 * proc (3) 2+1

    Você não sabe o quanto vale proc(3) mas sabe que proc(4) = 4. (se x==4, retorna 4)

    e com proc(4) é possível saber o valor de proc(3):

    proc(3) = 2 * proc (4) 3+1

    proc(3) = 2 * 4

    proc(3) = 8

    volta pra conta inicial

    proc(2) = 2 * proc(3)

    proc(2) = 2* 8

    proc (2) = 16 - Gabarito letra E

  • Boa Sorte

  • n == 4

     (proc(2))

    retorna 2*proc(n+1)

    2 * 2 (n + 1)

    4 * (n+1)

    4n + 1

    n = 1/4

    4 = 1/4

    = 16