Início
1 - soma ⟵ 0
2 - Ler numero
3 - Enquanto numero != 0 faça
soma ⟵ soma + numero
Ler numero
4 - FimEnquanto
5 - Escrever soma
Fim
Perguntas:
a) O que o algoritmo faz?
b) Se os valores forem 3,2,5,0, qual será a saída?
1 - soma ⟵ 0
2 - Ler numero
3 - Enquanto numero != 0 faça
soma ⟵ soma + numero
Ler numero
4 - FimEnquanto
5 - Escrever soma
Fim
a) O que o algoritmo faz?
b) Se os valores forem 3,2,5,0, qual será a saída?
Passo 1
O enunciado dá um algoritmo em pseudocódigo e faz duas perguntas. Dados e pedidos (peguei tudo do enunciado):
- O algoritmo começa com a atribuição
. - Em seguida ele lê repetidamente um valor chamado
e enquanto faz e lê outro . Quando o laço termina. - Após o laço, o algoritmo escreve o valor de
.
As perguntas são:
a) O que o algoritmo faz?
b) Se os valores lidos forem, qual será a saída?
Passo 2
Entendendo cada instrução (aqui eu explico o que significa cada linha, devagarzinho):
- A instrução
inicializa a variável com o valor . Isso garante que a soma comece do zero. - “Ler numero” pede uma entrada do usuário: o programa recebe um valor e guarda em
. - A construção “Enquanto
faça … FimEnquanto” é um laço de repetição que repete o bloco interno enquanto a condição for verdadeira. Em linguagem natural: continua repetindo até que o número lido seja igual a . - Dentro do laço temos
. Isso significa: pegue o valor atual de , some o valor atual de e guarde o resultado novamente em . É assim que acumulamos (somamos) todos os números lidos. - Ao sair do laço (quando
), a instrução “Escrever soma” imprime o valor acumulado em .
Passo 3
Conceito importante (para você entender o porquê e poder explicar na prova): invariância e papel do sentinela.
- Esse algoritmo usa um sentinela (ou marcador) de parada: o valor
atua como sentinela. O sentinela não é somado; ele apenas indica que devemos parar de ler números. - A variável
funciona como acumulador: mantém a soma parcial dos números válidos lidos até o momento. - Em linguagem de prova ou de descrição curta: “Lê números até encontrar o sentinela
; soma todos os números lidos (exceto o sentinela) e mostra o total.”
Passo 4
Trace passo a passo (simulação executando o algoritmo) com a sequência de entrada indicada
. Vou anotar o valor de
lido e o valor de
após cada operação:
- Inicialmente:
. - Primeiro “Ler numero”: lê
. Verifica → verdadeiro. Executa : Em seguida lê outro . - Segundo “Ler numero”: lê
. Verifica → verdadeiro. Executa Em seguida lê outro . - Terceiro “Ler numero”: lê
. Verifica → verdadeiro. Executa Em seguida lê outro . - Quarto “Ler numero”: lê
. Verifica → falso. O laço termina sem executar desta vez (ou seja, o não é somado). - Após o laço executa “Escrever soma”, que imprime o valor atual de
, que é .
Passo 5
Como responder na prova (forma curta e correta):
- Para a pergunta (a) escreva uma frase direta: o que o algoritmo faz (leitura até sentinela, soma acumulada, exclui o sentinela).
- Para a pergunta (b) mostre rapidamente a simulação ou apenas o resultado
. Se pedirem justificativa, explique em 2 linhas o trace que fiz no Passo 4.
Passo 6
Resumo pedagógico final e incentivo: o padrão “inicializar acumulador + laço até sentinela + atualizar acumulador” é muito comum. Se ver isso na prova, reconheça os três elementos (inicialização, condição de parada, atualização) e faça um pequeno rastreio com os valores para ter certeza do resultado. Você já consegue aplicar isso — vá com calma e confia que dá pra fazer!
Resposta
a) O algoritmo lê números até encontrar
; soma todos os números lidos (excluindo o
) e escreve a soma final.
b) A saída será .
b) A saída será