Questão FC266041
Analise o algoritmo abaixo, que mostra o uso de uma função: algoritmo "IFCE" var NR, XY, M, N : inteiro funcao FORTALEZA(SOBRAL:inteiro):inteiro inicio se SOBRAL < 2 entao retorne
Algoritmos e Lógica de Programação
IDECAN · 2021
Analise o algoritmo abaixo, que mostra o uso de uma função:
algoritmo "IFCE"
var
NR, XY, M, N : inteiro
funcao FORTALEZA(SOBRAL:inteiro):inteiro
inicio
se SOBRAL < 2 entao
retorne 1
senao
retorne SOBRAL * FORTALEZA(SOBRAL-1)
fimse
fimfuncao
inicio
XY <- 17
M <- XY MOD 13
N <- FORTALEZA(M) + 9
escreva("M = ",M:4," N = ",N:4)
fimalgoritmo
Ao final da execução, serão mostrados para as variáveis M e N, respectivamente, os seguintes conteúdos:
- 1 e 10.
- 1 e 33.
- 4 e 33.
- 4 e 10.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
Comece pelo cálculo de variáveis: XY recebe 17 e, em seguida, M recebe o resto de 17 dividido por 13, ou seja, \(M = 17 \bmod 13 = 4\).
A função FORTALEZA é recursiva e implementa o fatorial com caso base: se o parâmetro for menor que 2, retorna 1; caso contrário retorna \(SOBRAL \times FORTALEZA(SOBRAL-1)\).
Aplicando a função a 4: \(FORTALEZA(4)=4\times3\times2\times1=24\). Assim, a expressão atribuída a N é \(N = FORTALEZA(M) + 9 = 24 + 9 = 33\).
Portanto, ao final, os valores exibidos são M = 4 e N = 33, correspondendo ao gabarito indicado.
Conteúdo do catálogo FC Concursos · Atualizado em