SóProvas


ID
2286727
Banca
SUGEP - UFRPE
Órgão
UFRPE
Ano
2016
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Certas linguagens não possuem o comando de repetição repetir-até-que (repeat-until). Porém, pode-se simular seu comportamento com um enquanto-que (while). Dado o trecho de pseudocódigo esquemático abaixo, assinale a alternativa em que se simula o comportamento do repetir-até-que com o enquanto-que, onde S é uma sequência arbitrária de comandos e C uma expressão boolena que incorpora a condição de parada do laço.

repita
S
até que C

Alternativas
Comentários
  • Não entendi, alguém consegue me explicar? (Eu marquei a A)

  • Eu fico entre duas alternativas: A e D.

     

    Começo com as alternativas (aparentemente) incorretas:

     

    B) se a expressão booleana C começa com valor verdadeiro, a negação dela (não C) torna falsa a condição avaliada (resultado). Portanto, o bloco de instruções da repetição não é executado.

     

    C) a expressão booleana C começa e permanece com valor falso. Portanto, o bloco de instruções da repetição não é executado.

     

    E) a expressão booleana C começa com valor falso, mas a negação dela (não C) torna verdadeira a condição avaliada. Portanto, o bloco de instruções da repetição é executado ao menos um vez. Depois da "sequência arbitrária de valores" S, a expressão booleana C tem explicitamente seu valor invertido, neste caso para verdadeiro. Porém, na próxima iteração da repetição, a negação da expressão booleana C é reavaliada e o resultado é valor falso. Portanto esse bloco de repetição tende a ser executado apenas uma vez.

     

    As alternativas A e D executam a repetição (continuamente, enquanto a expressão booleana C for avaliada como verdadeira). A diferença está no valor inicial da expressão booleana C. Enquanto uma recebe um valor verdadeiro e assim é avaliada, a outra recebe uma valor falso, tem-no negado (resultando em valor verdadeiro) e assim avaliado.

     

    Tenho apenas um PALPITE porque a alternativa tida como correta é a D: a condição da expressão booleana C no pseudocódigo de exemplo (repetir-até-que) começa como falso para que o bloco de instruções da repetição seja executado (1 ou n vezes) até que expressão booleana C seja avaliada como verdadeira.

     

    Ficarei muito grato se alguém puder contribuir com alguma outra observação ou solução.

  • Força Guerreiro!!!!!!