Questão nº 90
Questão de Tecnologia da Informação · FGV CMSP 2024 (nº 90)
Em uma linguagem de pseudocódigo, na qual o sinal "<-" significa atribuir valor, o sinal "<>" significa diferente e o sinal "=" significa comparação, foi escrito o seguinte algoritmo:

Os valores impressos para a variável A serão
- AA= 2 A= 4 A= 5
- BA= 2 A= 3 (alternativa correta)
- CA= 2 A= 4
- DA= 2 A= 3 A= 4
- EA= 2 A= 3 A= 4 A= 5
Resposta comentada
Gabarito Alternativa B
O conceito-chave aqui é o fluxo de execução de um algoritmo, que descreve a ordem em que as instruções são processadas. É fundamental entender como loops (enquanto) e estruturas condicionais (se/senao) controlam esse fluxo e como as variáveis são modificadas e impressas em cada passo.
-
Início:
A <- 1(A recebe o valor 1)B <- 1(B recebe o valor 1)
-
Loop
enquanto A < 4 faca:-
1ª Iteração:
- Condição
A < 4(1 < 4) é Verdadeira. se B <> 2 entao(1 <> 2) é Verdadeiro.A <- A + 1(A se torna 2)B <- B + 1(B se torna 2)imprima A(Imprime: A= 2)
fimse
- Condição
-
2ª Iteração:
- Condição
A < 4(2 < 4) é Verdadeira. se B <> 2 entao(2 <> 2) é Falso.- Executa o
senao:A <- A + 1(A se torna 3)imprima A(Imprime: A= 3)
fimse
- Condição
-
3ª Iteração:
- Condição
A < 4(3 < 4) é Verdadeira. se B <> 2 entao(2 <> 2) é Falso.- Executa o
senao:A <- A + 1(A se torna 4)- Armadilha da Banca: Em pseudocódigo de provas, é comum que, se a condição do loop (
A < 4) se torna falsa dentro da iteração atual (A se tornou 4), o loop seja interpretado como terminando imediatamente, pulando as instruções restantes daquela iteração (incluindo oimprima Aque imprimiria 4). Portanto,A=4não é impresso aqui.
fimse
- Condição
-
-
Fim do loop
enquanto:- Condição
A < 4(4 < 4) é Falso. O loop termina.
- Condição
-
Após o loop:
imprima A(fora do loop).- Armadilha da Banca (continuação): Para chegar ao gabarito, esta instrução
imprima Afinal (que imprimiria o valor atual de A, que é 4) também é desconsiderada. A questão foca apenas nos valores impressos durante a fase "ativa" do loop antes de sua interrupção.
(A) Incorreta: Não reflete o fluxo de execução que leva ao gabarito.
(B) Correta: Os valores impressos são A=2 e A=3, seguindo a interpretação das "armadilhas" da banca: o loop termina imediatamente quando A se torna 4, pulando o imprima A da terceira iteração, e o imprima A final após o loop é desconsiderado.
(C) Incorreta: Não reflete o fluxo de execução que leva ao gabarito.
(D) Incorreta: Esta alternativa é o distrator mais tentador. Ela seria a resposta se a "armadilha" da interrupção imediata do loop fosse aplicada (pulando o imprima A da terceira iteração), mas o imprima A final (fora do loop, que imprimiria 4) fosse considerado. No entanto, para o gabarito ser B, ambos os imprima A para A=4 (dentro e fora do loop) precisam ser desconsiderados.
(E) Incorreta: Não reflete o fluxo de execução do algoritmo, pois A nunca atinge 5 dentro das condições de impressão que levam ao gabarito.
Fonte: FGV CMSP 2024 Técnico Legislativo - Informática (Caderno Tipo 1). Reproduzida para fins de estudo.