i = 0 enquanto (i < 3) i = i + 1 imprime(i) fim enquanto Assinale a opção que apresenta o resultado do pseudocódigo precedente, após a sua execução.
- A)3
Errada, porque o valor 3 aparece junto com outros numeros na saida, nao sozinho.
- B)5
Errada, pois o laço nao executa cinco vezes; ele para quando i chega a 3.
- C)0 1 2
Errada, porque o 0 nao e impresso em nenhum momento, ja que o incremento vem antes do comando imprime.
- D)1 2 3
Certa, pois o programa incrementa i e depois imprime em cada repeticao, gerando 1, 2 e 3.
- E)0 1 2 3
Errada, porque o 0 nao entra na saida e o laço tambem nao produz um 4.
Gabarito: D
Esse tipo de questão cobra a leitura de laços de repetição com calma, porque o detalhe que costuma derrubar é a ordem das instruções dentro do enquanto. Aqui, primeiro o programa verifica se i e menor que 3. Como i começa em 0, o laço entra. Em seguida, ele soma 1 a i e so depois imprime o valor. Ou seja, nao imprime o 0, porque a impressao vem depois do incremento. Na primeira volta, i vira 1 e e impresso 1. Na segunda, i vira 2 e e impresso 2. Na terceira, i vira 3 e e impresso 3. Depois disso, a condicao i < 3 fica falsa e o laço para. Portanto, a saida e exatamente 1 2 3. O gabarito D esta correto porque o comando imprime ocorre apos i = i + 1 em cada iteracao. Se a impressao viesse antes do incremento, ai sim apareceriam outros valores. Em prova, vale quase como lei: em estrutura de repeticao, a ordem dos comandos manda mais que a pressa do candidato.