Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — FUNDEP (Gestão de Concursos) 2018

Algoritmos e Estrutura de DadosAlgoritmos
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
  1. Ase T1 e T4 forem verdadeiros e T2 falso, o Comando1, o Comando2 e o Comando5 serão executados.
  2. Bo Comando7 será executado independentemente de qualquer valor dos testes.
  3. Cse T1 for verdadeiro e T5 verdadeiro, o Comando5 e o Comando6 serão executados.
  4. 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.

Gabarito: letra B

Link permanente: /questoes/qq354456