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?

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 soma \leftarrow 0.
  • Em seguida ele lê repetidamente um valor chamado numero e enquanto numero \neq 0 faz soma \leftarrow soma + numero e lê outro numero. Quando numero = 0 o laço termina.
  • Após o laço, o algoritmo escreve o valor de soma.
    As perguntas são:
    a) O que o algoritmo faz?
    b) Se os valores lidos forem 3,2,5,0, qual será a saída?

Passo 2

Entendendo cada instrução (aqui eu explico o que significa cada linha, devagarzinho):
  • A instrução soma \leftarrow 0 inicializa a variável soma com o valor 0. Isso garante que a soma comece do zero.
  • “Ler numero” pede uma entrada do usuário: o programa recebe um valor e guarda em numero.
  • A construção “Enquanto numero \neq 0 faça … FimEnquanto” é um laço de repetição que repete o bloco interno enquanto a condição numero \neq 0 for verdadeira. Em linguagem natural: continua repetindo até que o número lido seja igual a 0.
  • Dentro do laço temos soma \leftarrow soma + numero. Isso significa: pegue o valor atual de soma, some o valor atual de numero e guarde o resultado novamente em soma. É assim que acumulamos (somamos) todos os números lidos.
  • Ao sair do laço (quando numero = 0), a instrução “Escrever soma” imprime o valor acumulado em soma.

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 0 atua como sentinela. O sentinela não é somado; ele apenas indica que devemos parar de ler números.
  • A variável soma 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 0; 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 3,2,5,0. Vou anotar o valor de numero lido e o valor de soma após cada operação:
  • Inicialmente: soma = 0.
  • Primeiro “Ler numero”: lê numero = 3. Verifica numero \neq 0 → verdadeiro. Executa soma \leftarrow soma + numero: soma \leftarrow 0 + 3 = 3.Em seguida lê outro numero.
  • Segundo “Ler numero”: lê numero = 2. Verifica numero \neq 0 → verdadeiro. Executa soma \leftarrow 3 + 2 = 5.Em seguida lê outro numero.
  • Terceiro “Ler numero”: lê numero = 5. Verifica numero \neq 0 → verdadeiro. Executa soma \leftarrow 5 + 5 = 10.Em seguida lê outro numero.
  • Quarto “Ler numero”: lê numero = 0. Verifica numero \neq 0 → falso. O laço termina sem executar soma \leftarrow soma + numero desta vez (ou seja, o 0 não é somado).
  • Após o laço executa “Escrever soma”, que imprime o valor atual de soma, que é 10.

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 10. 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 0; soma todos os números lidos (excluindo o 0) e escreve a soma final.
b) A saída será 10.

Exercícios relacionados