1
resposta

Despesas Pessoais

Entrada:

  • Inicializar variável somatória com 0
  • Pedir ao usuário que entre com as despesas, uma a uma

Processamento:

  • Atualizar a variável soma acrescentando o valor da despesa fornecida pelo usuário
  • Se o usuário digitar 0, o programa sairá do laço de execução

Saída

  • Exibir a variável com a somatória das despesas
1 resposta

Olá, Flávio. Como vai?

Excelente lógica! Você estruturou muito bem as etapas do seu algoritmo. A ideia de usar o valor 0 como um "ponto de parada" (também chamado de condição de sentinela) é uma prática muito comum e eficiente na programação para encerrar laços de repetição quando não sabemos de antemão quantas entradas o usuário vai digitar.

Analisando a sua estrutura, há apenas um detalhe importante na ordem do seu Processamento que pode gerar um pequeno "bug" conceitual: do jeito que foi descrito, se o usuário digitar 0, o programa primeiro vai somar esse 0 à variável somatória e só depois vai sair do laço. Na matemática isso não altera o resultado (somar zero não muda o valor), mas se fosse um sistema de multiplicação ou outra operação, poderia causar problemas.

Por isso, a boa prática na lógica de programação é verificar a condição de saída imediatamente após a entrada do dado, e só realizar a soma se o valor for válido (diferente de zero).

Para ilustrar perfeitamente como esse fluxo funciona de forma contínua, preparei o desenho desse fluxo e a tradução dele em pseudocódigo:

Fluxo do Algoritmo

Pseudocódigo Corrigido

Início
    Definir somatoria = 0
    Definir despesa = -1  // Inicializa com um valor qualquer diferente de 0

    Enquanto despesa != 0 Faça
        Exibir "Digite o valor da despesa (ou 0 para sair): "
        Ler despesa
        
        Se despesa != 0 Então
            somatoria = somatoria + despesa
        FimSe
    FimEnquanto

    Exibir "A somatória das despesas é: " + somatoria
Fim

Note que ao colocar a estrutura Se despesa != 0 antes de somar, garantimos que o número usado para sair do programa não passe pelo processamento de soma desnecessariamente.

Você está pegando os fundamentos do pensamento computacional muito rápido. Parabéns pelo desenvolvimento do algoritmo!

Espero que possa ter lhe ajudado!