Assinale a opção que apresenta o pseudo-código que apresentará o valor 10 como resposta.
- A)programa { funcao inicio() { inteiro soma = 1, contador para (contador = 1; contador <= 5; contador ++) { soma = soma + contador } escreva( soma) } }
Errada, porque soma os números de 1 a 5 a partir de 1, chegando a 16, e não a 10.
- B)programa { funcao inicio ( ) { inteiro soma = 1, contador para (contador = 1; contador < 5; contador ++) { soma = soma + contador } escreva( soma) } }
Errada, porque o laço vai de 1 até 4, então o resultado final é 11.
- C)programa { funcao inicio() { inteiro soma = 1, contador para (contador = 5; contador > 0 ; contador = contador-2) { soma = soma + contador } escreva( soma) } }
Certa, porque soma 5, 3 e 1 a partir de 1, chegando exatamente a 10.
- D)programa { funcao inicio ( ) { inteiro soma = 1, contador para (contador = 1; contador < 5; contador ++) { soma = soma * contador } escreva( soma) } }
Errada, porque usa multiplicação em vez de soma, e o resultado final é 6.
- E)programa { funcao inicio ( ) { inteiro soma = 1, contador para (contador = 1; contador <= 5; contador = contador + 2) { soma = soma * contador } escreva( soma) } }
Errada, porque multiplica apenas os valores 1, 3 e 5, o que gera 15, não 10.
Gabarito: C
A questão testa leitura de laço de repetição e conta simples de atualização de variáveis. No pseudocódigo, você precisa observar três coisas: valor inicial da variável, condição de parada e como o acumulador é alterado dentro do laço. É aquela situação clássica em que um pequeno detalhe no operador muda tudo e o resultado vai embora para um número totalmente diferente. Na alternativa C, a variável soma começa em 1 e o contador percorre 5, 3 e 1, porque o laço inicia em 5, vai enquanto contador for maior que 0 e diminui 2 a cada volta. Então a conta fica: 1 + 5 = 6, depois 6 + 3 = 9, depois 9 + 1 = 10. Pronto, o programa escreve 10. Esse tipo de leitura é pura lógica de algoritmo, sem mistério de linguagem específica. Em provas de concurso, o mais cobrado é exatamente isso: interpretar corretamente inicialização, teste e incremento/decremento do laço, sem se perder na aparência do código.