Observe a seguinte estrutura de controle: repita       <l...

Próximas questões
Com base no mesmo assunto
Q2369643 Algoritmos e Estrutura de Dados

Observe a seguinte estrutura de controle: 


repita

       <lista de comandos>

até

       <condição>


Uma outra estrutura de controle equivalente a essa é:

Alternativas

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