O bloco de instruções equivalente à estrutura para ....

Próximas questões
Com base no mesmo assunto
Ano: 2014 Banca: FUNCAB Órgão: MDA Prova: FUNCAB - 2014 - MDA - Analista de Negócios |
Q499286 Algoritmos e Estrutura de Dados
O bloco de instruções equivalente à estrutura para ... fimpara que usa repita ... fim repita e que gera a mesma saída, está indicada em qual alternativa?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a alternativa E.

Vamos entender a questão e os motivos que fazem da alternativa E a correta, analisando também as alternativas incorretas.

Tema da Questão:

Esta questão aborda a equivalência entre a estrutura de repetição para e a estrutura repita ... até. Para resolver a questão, é necessário compreender como ambas as estruturas de repetição funcionam e como podemos transformar um bloco de código de uma estrutura para outra mantendo a mesma lógica.

A estrutura para (ou for) é geralmente usada quando sabemos de antemão o número de iterações que precisamos. Já a estrutura repita ... até (ou do ... while) é utilizada quando queremos que o bloco de código seja executado pelo menos uma vez e depois continue repetindo enquanto uma condição não for satisfeita.

Análise da Alternativa Correta (E):

A alternativa E propõe o seguinte bloco de código:

N <- 6
repita
   N <- N - 1
   se N MOD 2 = 0 entao
      escreva(N)
   fimse
ate N = -2
fimrepita

Este bloco de código começa com N igual a 6 e, durante cada iteração, decrementa N em 1. Se N for par (N MOD 2 = 0), o valor de N é escrito. O loop continua até que N seja igual a -2. Isso é equivalente a uma estrutura para que itera de 6 a -2 decrementando 1 a cada passo.

Análise das Alternativas Incorretas:

Alternativa A:

N <- 6
repita
   se N MOD 2 = 0 entao
      escreva(N)
   fimse
   N <- N - 1
ate N = -2
fimrepita

O erro aqui é a ordem das operações. Primeiro verifica se N é par e escreve, depois decrementa N. A ordem correta é primeiro decrementar N e depois verificar se é par.

Alternativa B:

N <- 6
repita
   N <- N * 1
   se N MOD 2 = 0 entao
      escreva(N)
   fimse
ate N > -2
fimrepita

Esta alternativa tem dois erros. O primeiro é que a multiplicação por 1 não altera o valor de N. O segundo é a condição de término, que está incorreta (N > -2).

Alternativa C:

N <- 7
repita
   N <- N - 1
   se N MOD 2 = 0 entao
      escreva(N)
   fimse
ate N > -2
fimrepita

O valor inicial de N é diferente do especificado (N <- 7), e a condição de término está incorreta (N > -2).

Alternativa D:

N <- 7
repita
   N <- N - 1
   se N MOD 2 = 0 entao
      escreva(N)
   fimse
ate N = -2
fimrepita

Aqui, o valor inicial de N é diferente do especificado (N <- 7), o que altera drasticamente a sequência de saída.

Portanto, a alternativa E é a única que corresponde corretamente ao bloco de instruções da estrutura para convertida para a estrutura repita ... até, com o valor inicial e a condição de término corretos.

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