S01 - Projeto: Volume do Pneu
Objetivo
Prove que você pode escrever um programa em Python que receba a entrada de um usuário, execute cálculos, exiba e registre os resultados em um arquivo.
Projeto
Não use IA para gerar o código deste programa.
Usar IA para gerar este programa é uma violação da política de IA do curso e pode resultar em nota zero na atividade, reprovação na disciplina ou até remoção do programa.
Se você precisar de ajuda com a atividade ou tiver dúvidas sobre o uso de IA, por favor pergunte ao seu instrutor.
Contexto
Esta semana, você criará um pequeno programa para garantir que seu sistema esteja configurado corretamente e fornecerá uma breve revisão dos princípios aprendidos no CSE110.
Requisitos do Usuário
Escreva um programa que receba do usuário informações sobre um pneu, em seguida calcule e exiba o volume do pneu. Registre também os dados em um arquivo de texto (log).
- Solicite ao usuário a largura do pneu em mm.
- Solicite ao usuário o perfil do pneu.
- Solicite ao usuário o diâmetro da roda em polegadas.
- Calcule e exiba o volume do pneu com duas casas decimais.
- Registre as informações em um arquivo de texto (log) chamado volumes.txt.
- data atual no formato YYYY-MM-DD
- largura do pneu
- perfil do pneu
- diâmetro da roda
- volume do pneu (arredondado para duas casas decimais)
- As informações registradas no arquivo de texto devem ser separadas por vírgula e seguir a sequência data, largura, perfil, diâmetro, volume como mostrado no Procedimento de Teste mais abaixo.
Design
Descrição e cálculo do pneu
O tamanho de um pneu de carro nos é representado por três números, como este: 205/60R15. O primeiro número é a largura do pneu em milímetros. O segundo número é o perfil (altura do pneu em relação à largura). O terceiro número é o diâmetro da roda em polegadas na qual o pneu se encaixa. O volume de espaço dentro de um pneu pode ser aproximado com a seguinte fórmula:
- v é o volume em litros,
-
π é a constante PI, que é a razão entre a circunferência de um círculo dividida pelo seu diâmetro (use
math.pi), - w é a largura do pneu em milímetros;
- a é o perfil do pneu; e
- d é o diâmetro da roda em polegadas.
Informações úteis.
-
O conteúdo de preparação para esta aula explica como escrever código para fazer o seguinte:
-
Converter a entrada do usuário em formato de string para um número
-
Exibir resultados para o usuário
-
O
módulo mathde Python contém constantes e funções matemáticas, incluindomath.pi, e é descrito na Referência do Módulo Math. -
O vídeo "Superfície do Cone " mostra a solução de um problema semelhante a este.
Como estudante da BYU–Pathway, você pode pedir ajuda de um tutor para concluir as atividades do CSE 111. Cada tutor é um estudante que foi contratado para ajudá-lo. O encontro com o tutor é gratuito. Para obter ajuda, basta agendar um horário. Os tutores geralmente usam o Zoom para falar com os estudantes. Para agendar um horário, use o link de tutoria na página inicial do curso.
Etapa
Neste primeiro momento, você irá desenvolver um programa em Python chamado volume_de_pneus.py que peça ao usuário três números de um pneu, calcule e exiba o volume desse pneu.
- Crie uma pasta para o projeto desta semana. Dê a ela o nome que você quiser.
- Abra a pasta que você acabou de criar no VSCode.
- Crie um arquivo volume_de_pneus.py.
Nomeie seus arquivos conforme as instruções! Em todas as atividades da CSE 111, salve seu programa com o nome exato indicado no enunciado. Se a tarefa exigir leitura ou escrita de arquivos, use também os nomes de arquivos especificados. Nomes diferentes podem dificultar a correção da sua atividade — siga as instruções para garantir que seu trabalho seja avaliado corretamente.
- Escreva um programa que solicite ao usuário os 3 primeiros itens exigidos nos requisitos do usuário, calcule e exiba o volume do pneu arredondado para duas casas decimais.
Procedimento de Teste
Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:
-
Execute seu programa e digite as entradas mostradas abaixo. Certifique-se de que a saída do seu programa corresponda à saída abaixo.
> python volume_de_pneus.py Digite a largura do pneu em mm (por exemplo: 205): 185 Digite o perfil do pneu (por exemplo: 60): 50 Digite o diâmetro da roda em polegadas (por exemplo: 15): 14 O volume aproximado é de 24.09 litros > python volume_de_pneus.py Digite a largura do pneu em mm (por exemplo: 205): 205 Digite o perfil do pneu (por exemplo: 60): 60 Digite o diâmetro da roda em polegadas (por exemplo: 15): 15 O volume aproximado é de 39.92 litros
Envio da Etapa
Na data de entrega ou antes dela, retorne ao Canvas e relate seu progresso desta etapa.
Conclusão do Projeto
Muitas empresas buscam entender melhor as necessidades e desejos de seus clientes para desenvolver produtos que realmente os atendam. Uma forma de fazer isso é registrar os valores que os clientes inserem ao usar um programa e, depois, analisá-los. A maneira mais comum de registrar esses dados é armazenando-os em um arquivo por meio do próprio programa.
Conclua seu programa adicionando os seguintes recursos:
- Obtenha a data atual do sistema operacional do computador.
- Abra um arquivo de texto chamado volumes.txt para adicionar informações.
- Adicione os seguintes cinco dados como uma linha de texto no final do arquivo volumes.txt:
- Data atual no formato YYYY-MM-DD
- Largura do pneu
- Perfil do pneu
- Diâmetro da roda
- Volume do pneu (arredondado para duas casas decimais)
Informações úteis
-
O conteúdo de preparação para esta aula explica como chamar uma função e um método.
-
O método
datetime.now()do módulodatetimepadrão do Python obterá a data e a hora atuais do sistema operacional do seu computador. Conforme a documentação oficial do Python:datetime.now:-
datetime.now(tz=None) - Retorna a data e hora local atual.
tz é opcional, mas se não for
None, deve ser um objetotzinfo(time zone information, ou informações de fuso horário)
O vídeo "Noções Básicas de Python: datetime" explica como usar métodos do módulo
datetimepadrão.O código Python abaixo importa a classe
datetimedo módulodatetimee chama o métododatetime.now()para obter a data e a hora atuais do sistema operacional. Em seguida, utiliza uma f-string para formatar e exibir apenas a data atual.# Importa a classe datetime do módulo # datetime para que ele possa ser usado neste programa. from datetime import datetime # Chama o método now() para obter a data e hora # atuais como um objeto datetime do # sistema operacional do computador. data_e_hora_atuais = datetime.now() # Usa uma string formatada para exibir apenas a data atual. print(f"{data_e_hora_atuais:%Y-%m-%d}")
Diferente do conteúdo de preparação, onde apenas utilizamos
import nome_do_modulo, no caso dodatetimeusamosfrom datetime import datetimeporque o módulo contém várias classes, incluindo uma chamadadatetime. Assim, importamos apenas a classe necessária e podemos escreverdatetime.now()em vez dedatetime.datetime.now(), deixando o código mais simples e legível.
Para representar a saída do método
datetime.now(), usamos a variável que armazenou o resultado do método (data_e_hora_atuais), seguida de dois pontos e do formato %Y-%m-%d. Nesse formato, %d representa o dia, %m o mês e %Y o ano (year, em inglês).> python exemplo_de_data.py 2025-07-24
Depois que o computador executar a linha 7 do código acima, a variável data_e_hora_atuais conterá a data e a hora atuais. Na linha 10 da string formatada, as sequências de strings que começam com o símbolo de porcentagem (%) são chamadas de códigos de formato. Os códigos de formato e seus significados estão listados na referência oficial de
datetimedo Python. Conforme mostrado na janela do terminal acima, o código do exemplo anterior exibirá a data e a hora atuais na janela do terminal com dois dígitos para o dia, dois dígitos para o mês e quatro dígitos para o ano. -
-
A função integrada
open()abre um arquivo para leitura ou gravação. Aqui está um trecho da documentação oficial da funçãoopen:-
open(filename, mode="rt", encoding="utf-8") - Abra um arquivo de texto
filename é o nome do arquivo a ser aberto.
mode é uma string opcional que especifica o modo em que o arquivo será aberto.
encoding é uma string opcional que especifica a codificação a ser usada para interpretar o texto.
modo significado descrição "r" read (leitura) Usado para abrir um arquivo para leitura. "w" write (escrita) Usado para escrever em um arquivo, truncando o arquivo se ele já existir. "a" append (anexar) Usado para anexar ao final de um arquivo que já existe ou criar e gravar em um arquivo de texto que não existe. "t" text (texto) Usado para abrir um arquivo em modo texto.
-
-
A função integrada
print()exibe texto em uma janela de terminal ou em um arquivo de texto. Aqui está um trecho da documentação oficial da funçãoprint:-
print(*objects, sep=" ", end="\n", file=sys.stdout, flush=False) - Exiba objetos no arquivo de fluxo de texto, separados por sep e seguidos por end. Sep, end, file e flush, se presentes, devem ser fornecidos como argumentos nomeados.
-
-
Recomendamos consultar a aula sobre leitura de arquivos de texto em CSE 110, que inclui vários exemplos de como abrir e ler um arquivo de texto.
O exemplo de código a seguir chama a função
openna linha 5 para abrir um arquivo chamadocidades.txtpara um texto t anexado ("at"). O código então chama a funçãoprintduas vezes, nas linhas 7 e 8, para exibir duas linhas de texto no arquivocidades.txt.nome_da_cidade = "Manaus" elevacao = 61 populacao = 4200000 # Abra um arquivo de texto chamado cidades.txt no modo "at" (append text). with open("cidades.txt", "at", encoding="utf-8") as arquivo_de_cidades: # exiba o nome e as informações de uma cidade no arquivo. print(nome_da_cidade, file=arquivo_de_cidades) print(f"{elevacao}, {populacao}", file=arquivo_de_cidades)Observe, na linha 5 do exemplo anterior, que a chamada para a função
openestá dentro de uma instruçãowith. Abrir um arquivo em uma instruçãowithgarante que o computador fechará o arquivo automaticamente quando terminar de executar o código dentro do blocowith.A variável arquivo_de_cidades, criada na linha 5, é uma referência ao arquivo aberto
cidades.txt. Nas linhas 7 e 8, arquivo_de_cidades é um argumento nomeado que faz com que a funçãoprintexiba no arquivocidades.txtem vez de exibir na janela do terminal.
Procedimento de Teste
Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:
-
Execute seu programa usando as entradas mostradas abaixo. Certifique-se de que a saída do seu programa corresponda à saída mostrada abaixo.
> python volume_de_pneus.py Digite a largura do pneu em mm (por exemplo: 205): 185 Digite o perfil do pneu (por exemplo: 60): 50 Digite o diâmetro da roda em polegadas (por exemplo: 15): 14 O volume aproximado é de 24.09 litros
-
Use o VS Code para abrir o arquivo
volumes.txte verifique se a última linha de texto no arquivo se parece com isso, exceto a data, que será diferente:2020-03-18, 185, 50, 14, 24.09
-
Execute seu programa usando as entradas mostradas abaixo. Certifique-se de que a saída do seu programa corresponda à saída mostrada abaixo.
> python volume_de_pneus.py Digite a largura do pneu em mm (por exemplo: 205): 205 Digite o perfil do pneu (por exemplo: 60): 60 Digite o diâmetro da roda em polegadas (por exemplo: 15): 15 O volume aproximado é de 39.92 litros
-
Use o VS Code para abrir o arquivo
volumes.txte verifique se as duas últimas linhas de texto no arquivo se parecem com isso, exceto as datas, que serão diferentes:2020-03-18, 185, 50, 14, 24.09 2020-04-16, 205, 60, 15, 39.92
Desafios Adicionais
Se o seu programa atender aos requisitos para esta atividade, conforme descrito acima, você receberá 93% dos pontos possíveis. Para ganhar os 7% de pontos restantes, você precisará adicionar um ou mais recursos ao seu programa. Use sua criatividade. Adicione um comentário no topo do seu código que explique a(s) melhoria(s). Aqui estão algumas ideias.
-
Encontre preços de pneus para quatro ou mais tamanhos de pneus online. Adicione um conjunto de instruções
if … elif … elseno seu programa que usem a largura do pneu, a proporção do pneu e o diâmetro da roda que o usuário insere para encontrar um preço e, em seguida, exibir o preço. -
Depois que o programa exibir o volume do pneu na janela do terminal, ele perguntará ao usuário se ele deseja comprar pneus com as dimensões inseridas. Se o usuário responder “sim”, seu programa deverá solicitar o número de telefone dele e armazená-lo no arquivo
volumes.txt.
Se você escolher "superar os requisitos", coloque um comentário no topo do seu arquivo descrevendo o que você fez para melhorar seu programa.
Envio do Projeto
Volte ao Canvas e envie seu arquivo volume_de_pneus.py para receber feedback.
Se um erro impedir que seu programa seja executado até a conclusão, o avaliador atribuirá zero à atividade e solicitará que você corrija e reenvie seu programa. Em outras palavras, em vez de enviar um programa que não funciona, é melhor pedir ajuda para entender como corrigir o problema antes de enviar seu programa.
Links Úteis:
- Voltar para: Visão Geral da Semana | Página Inicial