S02 - Atividade Guiada de Programação: Eficiência de Latas
Visão Geral
Para esta atividade, você irá programar enquanto assiste um vídeo do instrutor, que guiará cada passo da tarefa abaixo. Certifique-se de pausar o vídeo ou revisar partes dele, caso necessário, para concluir a atividade por completo.
Seu instrutor publicará um link para o vídeo no Microsoft Teams.
Contexto
Em muitos países, os alimentos são armazenados em latas de aço (ou, simplesmente, latas) que têm o formato de cilindros. Existem muitos tamanhos diferentes de latas. A eficiência de armazenamento de uma lata nos diz quanto ela armazena em comparação com a quantidade de aço necessária para fabricá-la. Alguns tamanhos de latas exigem muito aço para armazenar uma pequena quantidade de alimento. Outros tamanhos requerem menos aço e armazenam mais alimentos. Uma lata com alta eficiência de armazenamento é considerada mais sustentável para o meio ambiente do que uma lata com baixa eficiência de armazenamento.
A eficiência de armazenamento de uma lata é calculada dividindo o volume da lata pela área de sua superfície.
Em outras palavras, a eficiência de armazenamento de uma lata é o espaço dentro da lata (volume) dividido pela quantidade de aço necessária para fabricá-la (área da surperfície). As fórmulas do volume e da área da superfície de um cilindro são:
-
π é a constante PI, que é a razão entre a circunferência de um círculo dividida pelo seu diâmetro (use
math.pi) -
raio é o raio do cilindro
-
altura é a altura do cilindro
Programa
Escreva um programa em Python enquanto assiste seu instrutor, que calcule e exiba a eficiência de armazenamento para cada um dos 12 tamanhos de latas de aço a seguir. Em seguida, analise a saída e responda à pergunta: “Qual tamanho de lata tem a maior eficiência de armazenamento?”
| Nome | Raio (centímetros) |
Altura (centímetros) |
Custo por lata (reais) |
|---|---|---|---|
| #1 Piquenique | 6.83 | 10.16 | R$0.28 |
| #1 Grande | 7.78 | 11.91 | R$0.43 |
| #2 | 8.73 | 11.59 | R$0.45 |
| #2.5 | 10.32 | 11.91 | R$0.61 |
| #3 Cilindro | 10.79 | 17.78 | R$0.86 |
| #5 | 13.02 | 14.29 | R$0.83 |
| #6Z | 5.40 | 8.89 | R$0.22 |
| #8Z pequena | 6.83 | 7.62 | R$0.26 |
| #10 | 15.72 | 17.78 | R$1.53 |
| #211 | 6.83 | 12.38 | R$0.34 |
| #300 | 7.62 | 11.27 | R$0.38 |
| #303 | 8.10 | 11.11 | R$0.42 |
Requisitos
-
Seu programa deve calcular o volume de todos os 12 tamanhos de lata.
-
Seu programa deve calcular a área de superfície de todos os 12 tamanhos de lata.
-
Seu programa deve calcular e imprimir a eficiência de armazenamento de todos os 12 tamanhos de latas.
Desafios Adicionais
Abaixo está uma lista de desafios adicionais que você pode fazer. Seu instrutor lhe guiará por pelo menos um deles. Fique à vontade para realizar os demais.
-
Adicione uma função chamada
calcular_eficiencia_de_armazenamento. Essa função deve chamar as funçõescalcular_volumeecalcular_area_da_superficiepara calcular e retornar a eficiência de armazenamento de uma lata de aço. Substitua o código correspondente na funçãomainpor uma chamada a funçãocalcular_eficiencia_de_armazenamento. Isso reduziu o número de linhas do seu programa? -
A tabela de tamanhos de latas também mostra o custo por lata. Crie a função
calcular_eficiencia_de_custo, que calcula e retorna o volume da lata dividido pelo seu custo. Em seguida, chame essa função e exiba a eficiência de custo de cada tamanho. Depois, analise a saída e responda: Qual lata tem a maior eficiência de custo? -
Se você se lembra de listas e laços
fordo CSE 110, reescreva a funçãomainusando listas para armazenar os nomes e dimensões das latas. Depois, percorra os valores com umfor. -
Adicione instruções
ifdentro do loop para determinar automaticamente qual tamanho de lata tem a melhor eficiência de armazenamento e qual tamanho tem a melhor eficiência de custo.
Instruções
- Crie uma pasta para armazenar o programa da Atividade Guiada de Programação desta semana.
- Abra a pasta que você acabou de criar no VSCode.
- Crie um novo arquivo chamado tamanhos_latas.py.
- Encontre o vídeo que seu instrutor publicou para esta tarefa e crie o código junto com ele para concluir cada um dos requisitos. Analise os requisitos em ordem com o instrutor em vez de pular para etapas mais complicadas para garantir que você não perca nenhuma explicação.
Link de Vídeo Alternativo
Além do link que seu instrutor publicou, você também pode assistir ao seguinte passo a passo do código:
Recursos Adicionais
Você pode usar esses recursos adicionais para se aprofundar nos estudos.
Documentação Útil
-
O conteúdo de preparação explica como escrever funções.
-
O escopo da variável local do conteúdo de preparação.
-
O módulo
mathde Python contém constantes e funções matemáticas, incluindomath.pi.
Procedimento de Teste
Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:
-
Execute seu programa e verifique se ele exibe os resultados corretos, arredondados e formatados, conforme mostrado abaixo.
> python tamanhos_latas.py #1 Piquenique 2.04 #1 Grande 2.35 #2 2.49 #2.5 2.76 #3 Cilindro 3.36 #5 3.41 #6Z 1.68 #8Z pequena 1.80 #10 4.17 #211 2.20 #300 2.27 #303 2.34
Gráficos de Chamadas
O gráfico de chamadas a seguir mostra as chamadas e retornos de função no exemplo de solução para esta tarefa. Neste gráfico de chamadas, vemos as seguintes chamadas de função:
-
O computador começa a executar o programa de exemplo chamando a função
main. -
Durante a execução da função
main, o computador chama as funçõescalcular_volume,calcular_area_da_superficieeprint.
O próximo gráfico de chamadas mostra as chamadas de função e os retornos no exemplo de solução para os desafios adicionais desta tarefa. Neste gráfico de chamadas, vemos as seguintes chamadas de função:
-
O computador começa a executar o programa adicional chamando a função
main. -
Ao executar a função
main, o computador chama a funçãocalcular_eficiencia_de_armazenamento, que chama as funçõescalcular_area_da_superficieecalcular_volume. -
Enquanto ainda executa a função
main, o computador chama a funçãocalcular_eficiencia_de_custo, que chama a funçãocalcular_volume. -
Por fim, enquanto ainda executa a função
main, o computador chama a funçãoprint.
Envio
Por favor, pause e assista novamente a quaisquer partes do vídeo do instrutor necessárias até que você tenha concluído toda a atividade e seu programa funcione da mesma forma que o do instrutor. Quando tiver terminado:
- Volte ao Canvas para responder o questionário.
Links Úteis:
- Voltar para: Visão Geral da Semana | Página Inicial