Considere o pseudo-código abaixo, qual será o valor escrito ao fim do programa?
programa Teste;
Inteiro numero = 1;
enquanto (numero != 10) {
numero = numero + 2
}
escreva(numero)
fim
Soluções para a tarefa
Resposta:
Nenhum valor será escrito.
Explicação:
Executemos mentalmente o pseudocódigo.
Inicialmente, declara-se a variável "numero", do tipo inteiro, e atribui-se a ela o valor 1.
Em seguida, entra-se no corpo de um laço de repetição. A condição lógica testada é se "numero" é diferente de 10. Em sendo verdadeira, o comando "numero = numero + 2" é executado.
Perceba que trata-se de um loop infinito, pois "numero" sempre será diferente de 10.
Ele inicia com o valor 1 e, cada vez que o laço é rodado, acrescentam-se 2 a "numero", de tal sorte que a ele serão atribuídos todos os naturais ímpares em sequência: 1, 3, 5, 7, 9, 11, 13, ad infinitum. O valor de "numero" nunca será igual a 10, que seria a condição para interromper o laço.
Portanto, o comando "escreva(numero)" nunca é executado.