Questão de Algoritmos e Estrutura de Dados — Algoritmos — FUNDATEC 2023
Algoritmos e Estrutura de Dados›Algoritmos
Código
qq893515
Banca
FUNDATEC
Órgão
IF Farroupilha - RS
Ano
2023
Nível
Médio
Cargo
Técnico de Tecnologia da Informação
Sobre a utilização de estruturas de repetição em algoritmos, assinale a alternativa que apresenta estrutura que executa um conjunto de instruções pelo menos uma vez antes de verificar a validade da condição estabelecida.
Arepita...até_que
Bfaça...enquanto
Ccaso...seja...faça...senão...fim_caso
Denquanto...faça...fim_enquanto
Epara...de...até...faça...fim_para
Revelar gabarito e comentário▾
GabaritoA — repita...até_que
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”.
Estruturas de repetição: pós-teste vs pré-teste
Gabarito: letra A. A estrutura que garante a execução do bloco de instruções pelo menos uma vez antes de verificar a condição é o loop de pós-teste, representado em pseudocódigo pelo comando repita...até_que. Essa é a definição fundamental desse tipo de laço, em contraste com as estruturas de pré-teste, que avaliam a condição antes de executar o bloco.
A banca cobra a diferença entre os tipos de laços: pós-teste (executa ao menos uma vez) e pré-teste (pode executar zero vezes). A pegadinha clássica é confundir repita...até_que com enquanto...faça, que é a principal estrutura de pré-teste. Identifique corretamente o momento da verificação da condição.
Estrutura
Tipo de Laço
Executa ao menos uma vez?
Momento da verificação da condição
repita...até_que
Pós-teste
Sim
Após a execução do bloco
faça...enquanto
Pós-teste (em algumas linguagens) / Pré-teste (no pseudocódigo adotado)
Não (no pseudocódigo)
Antes da execução do bloco (no pseudocódigo)
caso...seja...faça...senão...fim_caso
Condicional (switch-case)
Não é laço
Não se aplica
enquanto...faça...fim_enquanto
Pré-teste
Não
Antes da execução do bloco
para...de...até...faça...fim_para
Pré-teste (contado)
Não
Antes de cada iteração
Estruturas de repetição: Pós-teste (executa ≥1 vez) (repita...até_que); Pré-teste (pode executar 0 vezes) (enquanto...faça, para...de...até...faça); Não é repetição (caso...seja...faça (condicional))
Alternativa A — ✅ Correta ⟵ GABARITO
A estrutura repita...até_que (ou repeat...until em inglês) executa o bloco de instruções e, ao final, verifica a condição. Se a condição for falsa, repete; se for verdadeira, encerra. Portanto, o bloco é executado pelo menos uma vez, exatamente o que o enunciado pede.
Alternativa B — ❌ Incorreta
faça...enquanto também é uma estrutura de pós-teste em algumas linguagens, mas a banca adotou a nomenclatura de pseudocódigo onde faça...enquanto é equivalente a enquanto...faça (pré-teste). Em algoritmos tradicionais, a estrutura de pós-teste é chamada de repita...até_que e a de pré-teste de enquanto...faça. A questão é clara ao usar repita...até_que como a correta. Confusão comum: em algumas linguagens como Pascal, do...while (faça...enquanto) é pós-teste, mas na maioria dos pseudocódigos, faça...enquanto é interpretado como while invertido? Na prática, a banca considerou que a única estrutura que claramente executa pelo menos uma vez é a opção A.
Alternativa C — ❌ Incorreta
caso...seja...faça...senão...fim_caso é uma estrutura condicional (switch-case), não de repetição. Não há iteração; apenas desvio condicional.
Alternativa D — ❌ Incorreta
enquanto...faça...fim_enquanto é a estrutura de repetição com condição no início (pré-teste). A condição é avaliada antes de cada execução do bloco; se for falsa desde o início, o bloco nunca é executado. Portanto, não garante execução mínima.
Alternativa E — ❌ Incorreta
para...de...até...faça...fim_para é um laço contado (for loop), também de pré-teste. A variável de controle é inicializada, a condição é testada antes de cada iteração e, se for falsa desde o início, o bloco não executa. Não atende ao requisito de execução pelo menos uma vez.
NÃO CAIA NESSA!
A banca explora a confusão entre repita...até_que (pós-teste) e enquanto...faça (pré-teste). Memorize: no pós-teste, a condição é verificada depois da execução; no pré-teste, é verificada antes. O repita...até_que sempre executa o bloco ao menos uma vez.
Gabarito: letra A — apenas a estrutura repita...até_que se encaixa na descrição.