O comando condicional se-então-senão (if-then-else) pode-se...

Próximas questões
Com base no mesmo assunto
Q762242 Algoritmos e Estrutura de Dados
O comando condicional se-então-senão (if-then-else) pode-se pode ter seu comportamento simulado com o enquanto-que (while). Dado o trecho de pseudocódigo esquemático abaixo, assinale a alternativa em que se simula o comportamento do se-então-senão (if-thenelse) com o enquanto-que, onde S e T são sequências arbitrárias de comandos e C uma expressão boolena.  se C então faça  S senão faça  T fim-se
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: Alternativa D

Comentário:

A questão aborda a simulação de um comando condicional “se-então-senão” (if-then-else) utilizando o comando de repetição “enquanto” (while). Para resolver essa questão, é necessário entender como ambos os comandos funcionam e como podemos transformar uma estrutura condicional em uma estrutura de repetição que execute a lógica desejada.

Vamos analisar o pseudocódigo original:

se C então faça
    S
senão faça
    T
fim-se

Na estrutura if-then-else, se a condição C for verdadeira, o bloco S é executado; caso contrário, o bloco T é executado.

Agora, precisamos utilizar a estrutura while para simular esse comportamento. A alternativa correta precisa garantir que:

  • O bloco S seja executado somente se C for verdadeira.
  • O bloco T seja executado somente se C for falsa.

A alternativa D faz exatamente isso:

B1:=B
B2:=(não B)
enquanto B1 faça
    S
    B1:=falso
fim-enquanto
enquanto B2 faça
    T
    B2:=falso
fim-enquanto

Na alternativa D, duas variáveis booleanas (B1 e B2) são usadas para gerenciar a execução dos blocos S e T. A variável B1 é definida como B e a variável B2 é definida como não B. Dessa forma, se B for verdadeiro, o bloco S será executado uma vez, e se B for falso, o bloco T será executado uma vez. Ambas as variáveis são então definidas como falso, encerrando os laços de repetição.

Vamos agora entender por que as outras alternativas estão incorretas:

A - A alternativa executa o bloco S e logo em seguida o bloco T independentemente da condição inicial, o que não simula corretamente o comportamento do if-then-else.

B - Similar à alternativa A, executa ambos os blocos independentemente da condição inicial, não respeitando a lógica condicional.

C - Esta alternativa apresenta uma lógica que não garante a execução exclusiva de um dos blocos (executa T em condições equivocadas).

E - A lógica está invertida, pois B1 é definida como não B e B2 como B, o que inverte a execução dos blocos S e T.

Concluindo, a alternativa D é a correta, pois simula de maneira precisa o comportamento de um comando condicional “se-então-senão” utilizando estruturas de repetição “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

Força Guerreiro!!!!!!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo