Observe a seguinte estrutura de controle: repita <l...
Observe a seguinte estrutura de controle:
repita
<lista de comandos>
até
<condição>
Uma outra estrutura de controle equivalente a essa é:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a A.
Para entender a questão de forma clara, precisamos revisar alguns conceitos fundamentais sobre estruturas de controle em algoritmos.
As estruturas de controle são essenciais para definir o fluxo de execução de um programa. Elas determinam como e quando certas partes do código serão executadas.
Vamos dissecar a estrutura apresentada na questão:
repita
< lista de comandos >
até
< condição >
Esta estrutura é conhecida como um loop "do-while" ou "repita-até". Nela, a lista de comandos é executada pelo menos uma vez antes de a condição ser verificada. Se a condição for verdadeira, o loop para; caso contrário, ele continua repetindo.
Agora, vamos analisar a alternativa correta:
A - enquanto <não condição> faça
< lista de comandos >
fim enquanto
A estrutura "enquanto <não condição> faça" é equivalente ao "repita-até". O loop continua executando a lista de comandos enquanto a condição não for verdadeira. É a tradução direta do "repita-até" no formato "enquanto".
Vamos agora entender por que as outras alternativas estão incorretas:
B - enquanto <condição> faça
< lista de comandos >
fim enquanto
A alternativa B descreve um loop "while" que executa a lista de comandos enquanto a condição for verdadeira. No entanto, essa estrutura verifica a condição antes de executar a lista de comandos, não depois, como no caso do "repita-até".
C - repita
< lista de comandos >
até
< não condição >
Nesta alternativa, a condição foi invertida incorretamente para "não condição". Isso altera a lógica do loop, fazendo com que ele execute enquanto a condição for falsa, o que não é a intenção do "repita-até".
D - se < não condição> faça
< lista de comandos >
fim se
A alternativa D descreve uma estrutura condicional ("se") e não um loop. Uma vez que a condição é avaliada, a lista de comandos é executada uma única vez, e não repetidamente.
Portanto, a alternativa A é a única que corretamente traduz a estrutura "repita-até" para uma equivalente "enquanto".
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
acredito que o gabarito seja letra B!
Para resolver essa questão, preciso analisar a estrutura de controle dada e compará-la com as alternativas.
A estrutura original é:
```
repita
<lista de comandos>
até
<condição>
```
Esta é uma estrutura do tipo "execute primeiro, verifique depois", onde os comandos são executados pelo menos uma vez antes da condição ser verificada. Se a condição for verdadeira, o loop termina; se for falsa, os comandos são executados novamente.
Analisando as alternativas:
A: `enquanto <não condição> faça <lista de comandos> fim enquanto`
Esta alternativa inverte a condição e usa uma estrutura `enquanto`. O `enquanto` verifica a condição primeiro e só executa os comandos se a condição for verdadeira. Esta é equivalente à estrutura original, pois continuará executando os comandos enquanto a condição original não for atingida, ou seja, enquanto `<não condição>` for verdadeira.
B: `enquanto <condição> faça <lista de comandos> fim enquanto`
Esta estrutura vai executar os comandos enquanto a condição for verdadeira, que é o oposto da estrutura original.
C: `repita <lista de comandos> até <não condição>`
Esta alternativa mantém a mesma estrutura `repita-até`, mas inverte a condição. Isso faria com que o loop continuasse enquanto a condição original fosse verdadeira, ou seja, o oposto do comportamento original.
D: `se <não condição> faça <lista de comandos> fim se`
Esta é uma estrutura condicional simples, não um loop. Ela executará os comandos apenas uma vez se a condição original não for verdadeira, o que não é equivalente a um loop.
Portanto, a única alternativa equivalente à estrutura original é a A.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo