Questão de Algoritmos e Estrutura de Dados — Algoritmos — FUNDEP (Gestão de Concursos) 2018
Algoritmos e Estrutura de Dados›Algoritmos
Código
qq354456
Banca
FUNDEP (Gestão de Concursos)
Órgão
Prefeitura de Itatiaiuçu - MG
Ano
2018
Nível
Médio
Considere o trecho de um algoritmo em pseudocódigo que mostra comandos condicionais (se) aninhados com início e fim delimitados por { }.if ( T1 ){ Comando1;if ( T2 e T3) { Comando2;Comando3;} else Comando4;if ( T4 ou T5 ) Comando5; else { Comando6;} }Comando7;Analisando esse trecho, é correto afirmar que
Ase T1 e T4 forem verdadeiros e T2 falso, o Comando1, o Comando2 e o Comando5 serão executados.
Bo Comando7 será executado independentemente de qualquer valor dos testes.
Cse T1 for verdadeiro e T5 verdadeiro, o Comando5 e o Comando6 serão executados.
Dse T1, T2 e T3 forem verdadeiros, o Comando1, o Comando2 e o Comando4 serão executados.
Revelar gabarito e comentário▾
GabaritoB — o Comando7 será executado independentemente de qualquer valor dos testes.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Análise de fluxo de controle com condicionais aninhados
Gabarito: letra B. O Comando7 está fora de qualquer estrutura condicional (após o fechamento do bloco do if (T1)), portanto será executado sempre, independentemente do resultado de T1, T2, T3, T4 ou T5. Esse é o ponto central que a questão testa: a diferença entre comandos dentro e fora de blocos condicionais.
A banca cobra a leitura atenta da indentação e do escopo delimitado por { }. Muitos candidatos se confundem com os aninhamentos e esquecem que o Comando7 está após o bloco principal.
Alternativa A — ❌ Incorreta
Afirma que, com T1 e T4 verdadeiros e T2 falso, seriam executados Comando1, Comando2 e Comando5.
T1 verdadeiro → executa Comando1.
O if (T2 e T3) tem condição falsa (T2 falso), então vai para o else e executa Comando4, não Comando2.
Depois, if (T4 ou T5) é verdadeiro (T4 verdadeiro), executando Comando5. Portanto, Comando2 não é executado. A alternativa erra ao incluir Comando2.
Alternativa B — ✅ Correta ⟵ GABARITO
O Comando7 está escrito após o fechamento do bloco } que corresponde ao if (T1). Isso significa que ele não faz parte de nenhuma condição: será executado tanto se T1 for verdadeiro (após a execução do bloco) quanto se T1 for falso (pulando o bloco). Logo, sua execução independe de qualquer teste.
Alternativa C — ❌ Incorreta
Afirma que, com T1 verdadeiro e T5 verdadeiro, Comando5 e Comando6 seriam executados.
T1 verdadeiro → entra no bloco.
O if (T4 ou T5) tem condição verdadeira (T5 verdadeiro), executando Comando5. O else (que contém Comando6) não é executado. Portanto, Comando6 não é executado.
Alternativa D — ❌ Incorreta
Afirma que, com T1, T2 e T3 verdadeiros, seriam executados Comando1, Comando2 e Comando4.
T1 verdadeiro → executa Comando1.
if (T2 e T3) verdadeiro → executa o bloco { Comando2; Comando3; }. O else (Comando4) não é executado. Portanto, Comando4 não é executado.
PEGA ESSA DICA!
Em pseudocódigo, a indentação e os delimitadores { } definem o escopo. Comandos fora das chaves não estão sujeitos às condições. Para resolver, desenhe a árvore de decisão ou simule a execução passo a passo com valores de teste.