Questão FC266040
A seguir se apresenta um exemplo de pseudocódigo que apresenta o uso de uma função recursiva. algoritmo "CE2021" var ALFA, BETA, GAMA : inteiro funcao FNC (X:inteiro) :inteiro inic
Algoritmos e Lógica de Programação
IDECAN · 2021
A seguir se apresenta um exemplo de pseudocódigo que apresenta o uso de uma função recursiva.
algoritmo "CE2021"
var
ALFA, BETA, GAMA : inteiro
funcao FNC (X:inteiro) :inteiro
inicio
GAMA <- GAMA + 1
se X < 2 entao
retorne X + 1
senao
retorne X + FNC (X - 1)
filme
fimfuncao
inicio
BETA <- 3
GAMA <- 0
ALFA <- FNC (BETA)
escreval(" GAMA = ",GAMA:4,"ALFA = ",ALFA:4)
fimalgoritmo
Analisando o cenário depois de executado, é correto afirmar que a quantidade de vezes em que houve execução da função e o valor final para ALFA serão, respectivamente,
- 3 e 7.
- 4 e 9.
- 5 e 7.
- 5 e 9.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
Ao chamar FNC com BETA = 3 ocorrem três invocações: FNC(3), FNC(2) e FNC(1). A cada chamada a variável GAMA é incrementada em 1, portanto ao final GAMA = 3.
Na execução: FNC(3) faz \(3 +\) FNC(2); FNC(2) faz \(2 +\) FNC(1); FNC(1), por ter \(X<2\), retorna \(1+1=2\). Subindo na recursão: FNC(2)=2+2=4 e FNC(3)=3+4=7.
Logo, a quantidade de execuções da função é 3 e o valor final de ALFA é 7, correspondendo à alternativa correta.
Conteúdo do catálogo FC Concursos · Atualizado em