Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — FUNDATEC 2023

Algoritmos e Estrutura de DadosAlgoritmos
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.
  1. Arepita...até_que
  2. Bfaça...enquanto
  3. Ccaso...seja...faça...senão...fim_caso
  4. Denquanto...faça...fim_enquanto
  5. 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

1Pós-teste (executa ≥1 vez)
repita...até_que
2Pré-teste (pode executar 0 vezes)
enquanto...faça
para...de...até...faça
3Não é repetição
caso...seja...faça (condicional)
Estruturas de repetição
LEVELsoulevel.com.br
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.

Link permanente: /questoes/qq893515