Faça um algoritmo que calcule o preço da compra de um produto que é vendido no peso. A execução dele deve ser mais ou menos a seguinte:
- O algoritmo pergunta qual o produto, e o usuário responde (por exemplo, frango, tomate etc.);
- Em seguida, o algoritmo pergunta qual o preço do quilo desse produto, e o usuário responde (por exemplo, o usuário vai responder que o preço do quilo do frango é 19,79);
- Depois disso, o algoritmo pergunta quanto (em kg) do produto o usuário deseja, e este responde (por exemplo, 0,9 - que equivale a 900 gramas);
- Por fim, o algoritmo deve informar o preço total dessa quantidade (nesse exemplo, 17,811 - aqui não é preciso se preocupar em ajustar as casas decimais). O preço total é dado pelo preço do quilo multiplicado pela quantidade em quilos do produto.
a) Seja criativo com as mensagens, e tente fazer com que se pareça com um “sistema” real.
b) Modifique o algoritmo feito acima. Como estamos tratando de dinheiro, o preço total exibido ao final deve ter apenas duas casas decimais. Pesquise como exibir apenas duas casas decimais, ou então arredondar para apenas duas casas decimais, ou ainda como truncar (cortar) as casas decimais além das duas primeiras. Informe qual o comando/técnica que você utilizou, e como funciona. Informe também de onde você tirou essa informação.
c) Faça uma terceira versão, modificando a solução do item b. Agora, ao informar a quantidade desejada do produto, ao invés de inserir um número decimal (como 0,9 , ou 1,3), o usuário deverá informar dois valores: quantos quilos e quantas gramas. Por exemplo, se desejar três quilos e meio, ao invés de digitar 3,5 (como faria nas soluções anteriores), deverá digitar 3 (indicando que quer três quilos), e
depois 500 (indicando que quer mais 500 gramas). Caso o usuário deseje menos de um quilo, ele deverá digitar 0 , e depois a quantidade de gramas. (É interessante que o algoritmo instrua o usuário nisso.) Então, o algoritmo deverá calcular o preço total.
a) Seja criativo com as mensagens, e tente fazer com que se pareça com um “sistema” real.
b) Modifique o algoritmo feito acima. Como estamos tratando de dinheiro, o preço total exibido ao final deve ter apenas duas casas decimais. Pesquise como exibir apenas duas casas decimais, ou então arredondar para apenas duas casas decimais, ou ainda como truncar (cortar) as casas decimais além das duas primeiras. Informe qual o comando/técnica que você utilizou, e como funciona. Informe também de onde você tirou essa informação.
c) Faça uma terceira versão, modificando a solução do item b. Agora, ao informar a quantidade desejada do produto, ao invés de inserir um número decimal (como 0,9 , ou 1,3), o usuário deverá informar dois valores: quantos quilos e quantas gramas. Por exemplo, se desejar três quilos e meio, ao invés de digitar 3,5 (como faria nas soluções anteriores), deverá digitar 3 (indicando que quer três quilos), e
depois 500 (indicando que quer mais 500 gramas). Caso o usuário deseje menos de um quilo, ele deverá digitar 0 , e depois a quantidade de gramas. (É interessante que o algoritmo instrua o usuário nisso.) Então, o algoritmo deverá calcular o preço total.
Passo 1
O enunciado pede que você construa três versões de um mesmo algoritmo que calcula o preço de uma compra de produto vendido por peso. Resumo do que é solicitado:
- Perguntar qual é o produto (nome, texto).
- Perguntar o preço do quilo desse produto (valor por kg).
- Perguntar a quantidade desejada e calcular o preço total.
Perguntas específicas do enunciado que vamos responder: - (a) Implementar um algoritmo com mensagens criativas que leia produto, preço por quilo e quantidade em quilos (decimal) e mostre o preço total (sem ajuste de casas decimais).
- (b) Modificar o algoritmo para exibir o preço total com apenas duas casas decimais; dizer qual comando/técnica foi usada e de onde veio a informação.
- (c) Modificar a solução do item (b) para que o usuário informe a quantidade por dois valores: quilos inteiros e gramas inteiros; o algoritmo deve converter para quilos e calcular o preço total (com duas casas decimais).
Informações fornecidas (exemplo que usaremos para demonstrar): produto = frango, preço por quilo =, quantidade = kg (ou, no item (c), kg e g para outro exemplo).
Passo 2
Entendimento do cálculo básico (aulas rápidas): a fórmula é simples. Se
é o preço por quilo (em reais por kg) e
é a quantidade em quilos, então o preço total
é dado por:
- Aqui
significa “preço por quilo” (por exemplo ). - Aqui
significa “quantidade em quilos” (por exemplo ).
Essa é só multiplicação: preço por unidade de massa vezes número de unidades de massa. No papel de prova, escreva essa fórmula e substitua os valores.
Passo 3
Versão (a) — algoritmo com mensagens “sistema” e sem ajuste de casas decimais. Passos do algoritmo (descrição que você pode transformar em código ou em pseudocódigo na prova):
- Mostrar cabeçalho simpático, por exemplo: “Bem-vindo ao Mercado do Bairro — Caixa Rápida”.
- Perguntar: “Qual produto você quer comprar?” e ler o texto
. - Perguntar: “Qual o preço do quilo de
? (use ponto ou vírgula para decimal)” e ler o número . - Perguntar: “Quanto quilos de
você quer? (ex.: 0{,}9 para novecentos gramas)” e ler o número . - Calcular o total usando
. - Exibir uma mensagem amigável com o resultado, por exemplo: "Você comprou
kg de . Total a pagar: R$ ". (Aqui não alteramos casas decimais).
Exemplo numérico com os valores do enunciado:
-
-
Cálculo:
Vamos multiplicar passo a passo:
Calcule
. Uma forma prática:
Agora divida por
:
Portanto o algoritmo (a) exibirá o total
para esses exemplos (sem arredondar).
Passo 4
Transformando a solução (a) em um pseudocódigo enxuto (para você escrever/programar rápido na prova ou implementar em Python). Use a lógica abaixo e mantenha mensagens criativas:
- Exibir “=== Mercado do João — Terminal de Pesagem ===”
- Ler
(texto) - Ler
(preço por kg) — se o estudante digitar com vírgula, converter para ponto antes de transformar em número - Ler
(quantidade em kg) - Calcular
- Exibir "Produto:
— Quantidade: kg — Total: R$ "
Dica prática na prova: se estiver fazendo “à mão” sem computador, faça a multiplicação como mostrado no Passo 3 (transformar decimal para fração se facilitar, multiplicar e depois ajustar casa decimal).
Passo 5
Versão (b) — exibir o preço total com apenas duas casas decimais. Ideia principal: calcular
como antes, depois formatar/apresentar o número com duas casas decimais. Duas técnicas comuns em programação (exemplos em Python, que é simples e muito usado):
- Usar formatação de string com f-strings: \verb|f"{T:.2f}"| — isso mostra
com duas casas decimais, arredondando corretamente. - Ou usar \verb|format(T, “.2f”)| que tem o mesmo efeito.
- Ou usar \verb|round(T, 2)| para arredondar numericamente e depois converter para string. Observação: \verb|round| arredonda para o número representável; para exibir é comum usar formatação de string para garantir duas casas visíveis.
Explicação didática de como funciona (sem jargões técnicos):
- Formatação \verb|"{:.2f}"| diz: “pegue o número e mostre com 2 casas decimais”. O \verb|.2f| significa “ponto decimal seguido de 2 casas, notação de ponto flutuante”.
- Isso faz arredondamento normal (por exemplo,
se tornaria ; no caso vira porque o terceiro decimal é , que não força arredondamento para cima).
Fonte da técnica: documentação oficial do Python 3 (seção de formatação de strings / f-strings e função \verb|format|). Em prova você pode anotar: “usei formatação de strings para duas casas (f’{T:.2f}’), conforme documentação Python 3”.
Passo 6
Aplicando a versão (b) ao exemplo:
Temos do Passo 3. Aplicando formato com duas casas:
Temos
- Observamos o terceiro decimal é
, logo ao arredondar para duas casas decimais o número fica .
Portanto a versão (b) exibirá: R$.
Passo 7
Observações práticas sobre arredondamento (importante para provas e implementação):
- Arredondamento simples que estudantes costumam usar: olhar o dígito imediatamente após a última casa desejada. Se for menor que
arredonda para baixo; se for maior ou igual a arredonda para cima. Exemplos: -
(porque o terceiro decimal é ) -
(porque o terceiro decimal é , regra comum de arredondamento)
-
- Em Python a função \verb|round| usa “arredondamento para o par” em casos de empate (por exemplo, \verb|round(2.5)| resulta em \verb|2|), mas a formatação de string \verb|"{:.2f}".format(x)|/f-strings é a forma prática para exibir sempre duas casas. Para a prova, se fizer à mão, aplique a regra simples explicada acima.
Passo 8
Versão (c) — entrada por quilos e gramas (fluxograma lógico e cálculo).
Objetivo: o usuário informa dois números inteiros:
Objetivo: o usuário informa dois números inteiros:
-
= número de quilos inteiros (por exemplo se quiser três quilos) -
= número de gramas inteiros (por exemplo se quiser quinhentas gramas)
Converta para quilos (decimal) usando:
Depois calcule
e exiba formatado com duas casas decimais, como em (b).
Explicação didática: grama é a milésima parte do quilo; então g =
kg. Para transformar gramas em quilos dividimos por
. Somando aos quilos inteiros obtemos a quantidade total em quilos.
Explicação didática: grama é a milésima parte do quilo; então
Passo 9
Exemplo numérico para a versão (c):
- Suponha
, e .
Calcule:
Calcule
:
Vamos calcular passo a passo:
Calcule
:
Agora divida por
:
Agora formatando para duas casas decimais (versão b aplicada):
- O terceiro decimal é
, então arredonda para . (Usando a regra usual de arredondamento).
Portanto a versão (c) exibirá: R$para esses valores.
Passo 10
Pseudocódigo final e dicas para a prova (junte tudo; você pode escrever isto exatamente em linhas de código ou como algoritmo):
Versão (a) — esqueleto:
Versão (a) — esqueleto:
- Mostrar “=== Caixa Rápida ===”
- Ler
- Ler
(garanta conversão de vírgula para ponto se necessário) - Ler
- Calcular
- Mostrar "Total: R$
" (sem formatação de casas)
Versão (b) — esqueleto com formatação para duas casas:
- Mesmo que (a) até calcular
- Formatar para duas casas: exibir
(em Python) ou usar - Mostrar “Total: R$
“.
Técnica usada: f-string \verb|f”{T:.2f}”| (formata e arredonda para duas casas). Fonte: documentação oficial do Python 3 (tópico sobre formatação de strings / f-strings).
Versão (c) — esqueleto com quilos e gramas:
- Mostrar instrução: “Digite quilos inteiros e depois gramas (0 a 999).”
- Ler
- Ler
- Ler
(quilos inteiros) - Ler
(gramas inteiros) - Calcular
- Calcular
- Exibir “Total: R$” com duas casas (usar mesma formatação do item b).
Dica de implementação manual na prova: sempre converta gramas para quilos dividindo por
; faça multiplicação com frações se facilitar e só no final ajuste as casas decimais.
Resposta
(a) Preço total (sem ajuste) =
(b) Preço total (duas casas decimais, arredondado) = — técnica usada: formatação de string \verb|f"{T:.2f}"| (documentação oficial do Python 3)
(c) Preço total para kg e
g =
(b) Preço total (duas casas decimais, arredondado) =
(c) Preço total para