Problema 4

O Sr. Manoel Joaquim acaba de adquirir uma panificadora e pretende implantar a metodologia da tabelinha, que já é um sucesso na sua loja de 1,99 . Você foi contratado para desenvolver o programa que monta a tabela de preços de pães, de 1 até 50 pães, a partir do preço do pão informado pelo usuário.
Observação: as mensagens exibidas para o usuário deverão ser exatamente como apresentado abaixo (mensagens exibidas com os comandos input() e print()).

Exemplo de execução do programa:

Digite o preço do pão: 0.18
1 - R$ 0.18
2 - R$ 0.36
...
50 - R$ 9.00

Passo 1

O enunciado pede um programa que:
  • Leia do usuário o preço de um pão (o prompt exibido deve ser exatamente: "Digite o preço do pão: ").
  • Mostre na tela a “tabelinha” de preços de 1 até 50 pães, uma linha por quantidade, no formato exatamente igual a este: 1 - R\(0.18, 2 - R\) 0.36, …, 50 - R$ 9.00.
    Informações relevantes fornecidas:
  • A entrada é um único número (preço unitário do pão).
  • A saída são 50 linhas, uma para cada quantidade de 1 a 50.
  • A formatação monetária deve mostrar duas casas decimais (por exemplo, 9.00 para nove reais).
    Observação que importa: o prompt e cada linha impressa devem ter os textos e espaços exatamente como no exemplo.

Passo 2

Como vamos obter e armazenar o preço informado:
  • O comando Python input() lê texto do usuário. O enunciado exige que o texto do prompt seja exatamente Digite o preço do pão: , então devemos usar input("Digite o preço do pão: ").
  • O input() retorna uma string; para fazer contas precisamos de um número. Em Python convertemos para ponto flutuante com float().
    Exemplo de código para ler:
preco = float(input("Digite o preço do pão: "))
Explicação didática: preco passa a ser um número do tipo ponto flutuante (por exemplo 0.18) que permite multiplicações. Não se preocupes se float tem pequenos erros de representação — para exibir usamos formatação que mostra exatamente duas casas decimais.

Passo 3

Como vamos gerar as 50 linhas (estrutura de repetição):
  • Precisamos repetir um mesmo procedimento para cada i de 1 até 50. Em Python a forma direta é usar for i in range(1, 51):.
  • Para cada i calculamos o total pago por i pães com a fórmula
\text{total} = i \times \text{preço}ç
(escrevendo em TeX: \text{total} = i \times \text{preço}ç).
  • Em código:
for i in range(1, 51):
    total = preco * i
Didática: range(1, 51) gera a sequência inteira 1, 2, 3, …, 50; em cada volta i assume um desses valores.

Passo 4

Como formatar a saída exatamente como pede o enunciado:
  • Cada linha tem o formato i - R$ X.YY, onde X.YY é o valor com duas casas decimais e o separador decimal é o ponto (conforme o exemplo).
  • Em Python a forma mais simples e legível é usar f-strings com o especificador :.2f para formatar floats com duas casas decimais. Exemplo:
print(f"{i} - R$ {total:.2f}")
Explicação do :.2f: o : introduz a formatação; . indica casas decimais; 2 pede duas casas; f indica formato de ponto flutuante. Assim, se total for 9.0, aparece 9.00; se for 0.36, aparece 0.36. Esse print garante que o texto e os espaços fiquem exatamente iguais ao exemplo.

Passo 5

Montagem completa do programa e linha-a-linha do que acontece:
  • Passo de leitura: preco = float(input("Digite o preço do pão: ")) mostra o prompt e transforma a resposta em número.
  • Loop de 1 a 50: for i in range(1, 51):
  • Cálculo do total: total = preco * i
    • Exemplo numérico (didático): se preco for 0.18, então para i=2 temos \text{total} = 2 \times 0,18 = 0,36. (Nota: aqui, na explicação em TeX uso vírgula decimal; no programa o número será exibido com ponto como no exemplo.)
  • Impressão formatada: print(f"{i} - R$ {total:.2f}")
  • Juntando tudo, o programa imprimirá exatamente:
1 - R$ 0.18
2 - R$ 0.36
...
50 - R$ 9.00
quando o preço digitado for 0.18.

Passo 6

Dicas e cuidados na hora da prova:
  • Atenção ao prompt: tenha certeza de escrever exatamente Digite o preço do pão: (com maiúsculas, espaços e dois-pontos).
  • Use range(1, 51) e não range(50) (que iria de 0 a 49).
  • Use :.2f para garantir duas casas decimais; não confie em round() só para exibir, porque print sem formatação pode mostrar muitas casas ou uma representação estranha.
  • Se o avaliador testar com entrada com vírgula (por exemplo 0,18) o float() em Python dará erro; siga o formato do enunciado (no exemplo a entrada usa ponto decimal). Na prova, se o enunciado exigir entrada com vírgula, haveria tratamento extra, mas aqui o enunciado mostra ponto, então usar float() é suficiente.

Resposta

preco = float(input(“Digite o preço do pão: “))
for i in range(1, 51):
total = preco * i
print(f”{i} - R$ {total:.2f}”)

Exercícios relacionados