1
resposta

[Projeto] Desafio: Calculando pedidos

{

hamburguer = 12;
batata frita = 7;
refrigerante = 5 ;

Escreva("Qual a quantidade de hamburguer, batata frita e refrigerante você deseja (nessa ordem)?");
Leia(qtd_hamburguer, qtd_batata, qtd_refri);

qtd_hamburguer * hamburguer = total_hamburguer;
qtd_batata * batata = total_batata;
qtd_refri * refrigerante = total_refri;

total_hamburguer + total_batata + total_refri = valor_total;

Escreva("O valor total é: valor_total");

}

1 resposta

Olá, João Pedro! Como vai?

Parabéns por concluir mais um desafio de lógica! O seu algoritmo para o sistema de pedidos da lanchonete ficou muito bem estruturado passo a passo. Você seguiu as etapas fundamentais da programação de computadores de forma sequencial: Definição de constantes/preços $\rightarrow$ Interação com o usuário $\rightarrow$ Processamento/Cálculo $\rightarrow$ Saída de dados.

Assim como no desafio anterior da média acadêmica, o seu raciocínio lógico está correto, mas se fôssemos rodar esse pseudocódigo em uma máquina, ele apresentaria três bugs clássicos de sintaxe e atribuição.

Ajustar esses pontos agora vai fazer você decolar quando migrar para linguagens de programação reais. Vamos analisar o que precisa de ajuste:


Os Detalhes que Precisam de Correção

1. Nomes de variáveis com espaços em branco

No início, você declarou: batata frita = 7;. Os computadores não conseguem entender variáveis separadas por espaço, pois eles acham que são dois comandos diferentes.

  • A solução: Una as palavras usando letras maiúsculas ou sublinhado (snake_case), como você fez muito bem nas variáveis de quantidade (ex: batata_frita).

2. A regra da Atribuição (Revisão da direita para a esquerda)

Assim como no exercício anterior, as linhas de cálculo foram escritas de forma invertida:

qtd_hamburguer * hamburguer = total_hamburguer;
total_hamburguer + total_batata + total_refri = valor_total;

O sinal de igual (=) joga o resultado do que foi calculado na direita para a variável que está na esquerda. O correto é isolar a variável que vai receber o valor antes do sinal.

  • O correto: total_hamburguer = qtd_hamburguer * hamburguer;

3. Exibição de texto literal vs. Variável

Na última linha, você escreveu: Escreva("O valor total é: valor_total");.
Do jeito que está dentro das aspas, o computador vai ler tudo como texto bruto e vai imprimir literalmente a palavra "valor_total" na tela, em vez de mostrar o número calculado.

  • A solução: Separe o texto explicativo da variável real (geralmente usando uma vírgula ou sinal de concatenação).

O Algoritmo Corrigido e Perfeito

Aplicando essas correções e ajustando um pequeno detalhe na linha da batata (onde você multiplicou por batata mas a variável original chamava-se batata frita), o seu pseudocódigo fica 100% blindado:

{
    // Definição dos preços (Corrigido o nome da batata)
    hamburguer = 12;
    batata_frita = 7;
    refrigerante = 5;

    Escreva("Qual a quantidade de hamburguer, batata frita e refrigerante você deseja (nessa ordem)?");
    Leia(qtd_hamburguer, qtd_batata, qtd_refri);

    // CORREÇÃO: Atribuição da direita para a esquerda
    total_hamburguer = qtd_hamburguer * hamburguer;
    total_batata = qtd_batata * batata_frita;
    total_refri = qtd_refri * refrigerante;

    valor_total = total_hamburguer + total_batata + total_refri;

    // CORREÇÃO: Separando o texto literal da variável para exibir o número na tela
    Escreva("O valor total é: ", valor_total);
}

Visualizando o Pipeline de Dados

Para ajudar a fixar o conceito, todo programa de computador funciona como um misturador de dados, onde as entradas do teclado passam por uma esteira de processamento e geram uma saída:

Ajustar esses detalhes de sintaxe mostra que você está prestando atenção em como a máquina interpreta as instruções. Continue com essa excelente dedicação nos desafios do fórum!

Espero que possa ter lhe ajudado!