Escrever um programa que leia um peso na Terra e o número de um planeta e imprima o valor do seu peso neste planeta. A relação de planetas e dada a seguir juntamente com o valor das gravidades relativas à Terra:
\# Gravidade Relativa Planeta
1 0,37 Mercúrio
2 0,88 Vênus
3 0,38 Marte
4 2,64 Júpiter
5 1,15 Saturno
6 1,17 Urano
Para calcular o peso no planeta use a fórmula: Pplaneta=Pterra/10*gravidade.

Passo 1

O enunciado pede que a gente escreva um programa que leia um peso na Terra e o número de um planeta (da lista dada) e imprima o peso equivalente nesse planeta. As perguntas que o enunciado faz são: ler os dados de entrada (peso e número do planeta) e calcular/imprimir o peso no planeta escolhido.
Informações relevantes que o enunciado deu (peguei os valores diretamente da tabela do enunciado):
\# do planeta vai de 1 até 6. As gravidades relativas (em relação à Terra) são:
1: 0,37 (Mercúrio)
2: 0,88 (Vênus)
3: 0,38 (Marte)
4: 2,64 (Júpiter)
5: 1,15 (Saturno)
6: 1,17 (Urano)
A fórmula a usar fornecida no enunciado é:
P_{\text{planeta}} = \frac{P_{\text{terra}}}{10} \times \text{gravidade}

Passo 2

Entendendo a fórmula e as variáveis passo a passo:
  • P_{\text{terra}} é o peso fornecido na Terra (entrada do programa).
  • \text{gravidade} é o valor da coluna “Gravidade Relativa” para o planeta escolhido (da tabela acima).
  • A operação \frac{P_{\text{terra}}}{10} corresponde a dividir por 10 — o enunciado fez isso provavelmente para adotar unidades específicas (mas trate como parte da fórmula).
  • Depois multiplicamos pelo fator de gravidade para obter P_{\text{planeta}}.
    Exemplo numérico pequeno (para fixar): se P_{\text{terra}} = 70 e escolhermos o planeta 4 (Júpiter, gravidade 2,64), então
P_{\text{planeta}} = \frac{70}{10}\times 2{,}64 = 7 \times 2{,}64 = 18{,}48.
Isso significa que o programa deve imprimir 18{,}48 (ou equivalente formatado).

Passo 3

Escolha do método de implementação (por que e como):
  • O enunciado não exige linguagem ou método específico, então escolho uma solução simples e robusta que funciona em provas e em juízes automáticos: armazenar os fatores de gravidade em uma lista/array indexada pelo número do planeta e usar esse valor para calcular o peso.
  • Alternativa possível: usar um conjunto de if/elif (switch). A lista é mais limpa e permite indexar diretamente com o número do planeta.
  • Também devo tratar entradas inválidas (por exemplo, número do planeta fora de 1 a 6) e eventualmente aceitar que o número decimal na entrada possa usar vírgula (o enunciado usa vírgula nos números), então vou converter vírgulas para ponto quando necessário.

Passo 4

Estrutura do programa (pseudocódigo explicado passo a passo):
  1. Ler toda a entrada (pode vir em uma linha ou em linhas separadas).
  2. Extrair o primeiro token como P_{\text{terra}} (converter para número real). Se o token usar vírgula decimal, substituir por ponto.
  3. Extrair o segundo token como o número do planeta (converter para inteiro).
  4. Preparar uma lista de gravidades onde a posição i contém a gravidade do planeta i. Vou usar índice começando em 1 e colocar um valor dummy na posição 0.
  5. Verificar se o número do planeta está entre 1 e 6. Se não estiver, imprimir uma mensagem de erro ou tratar conforme o requerido (aqui imprimiremos “Planeta inválido”).
  6. Se válido, calcular
P_{\text{planeta}} = \frac{P_{\text{terra}}}{10} \times \text{gravidade\_selecionada}
  1. Imprimir o resultado. Em provas/juízes costuma-se formatar com duas casas decimais; vou formatar assim por segurança (ex.: 18{,}48).

Passo 5

Dicas didáticas sobre tipos e formatação (para você na hora da prova):
  • Use número real (float) para P_{\text{terra}}, porque o peso pode ter casas decimais.
  • Use inteiro (int) para o número do planeta.
  • Para evitar problema com vírgula decimal na entrada, substitua ',' por '.' antes de converter para float.
  • Ao imprimir, usar formatação para fixar casas decimais: em muitas linguagens printf("%.2f", valor) (C), System.out.printf("%.2f", valor) (Java), ou print("{:.2f}".format(valor)) (Python). Isso facilita leitura e comparecimento com gabaritos que esperam duas casas.

Passo 6

Exemplo completo de execução manual para fixar o raciocínio:
Entrada (do usuário): P_{\text{terra}} = 80 e planeta 5 (Saturno, gravidade 1,15).
Cálculo:
P_{\text{planeta}} = \frac{80}{10} \times 1{,}15 = 8 \times 1{,}15 = 9{,}20.
Saída esperada: 9.20 (ou 9,20 dependendo de como você formatar, mas em programação geralmente usa-se ponto decimal).

Passo 7

Observações sobre casos-limite e boas práticas:
  • Se o número do planeta estiver fora de 1 a 6, o programa deve avisar ou não calcular (no código abaixo eu uso uma mensagem “Planeta inválido”).
  • Se P_{\text{terra}} for negativo, matematicamente o cálculo funciona (vai resultar em negativo), mas faça validação se o enunciado exigir somente pesos positivos.
  • Não usar prompts (como input("Digite ...")) se o exercício for para juízes automáticos — apenas leia da entrada padrão.

Passo 8

Agora, a implementação pronta em Python (simples, curta e robusta). Esse é o programa final que cumpre o enunciado: lê o peso e o número do planeta, aplica a fórmula e imprime o peso no planeta (formatado com duas casas decimais).

Resposta

import sys
tokens = sys.stdin.read().strip().split()
if not tokens:
sys.exit()

Lê peso na Terra (aceita vírgula ou ponto como separador decimal)

peso_terra_str = tokens[0].replace(’,’, ‘.’)
try:
peso_terra = float(peso_terra_str)
except ValueError:
print(“Entrada de peso inválida”)
sys.exit()

Lê número do planeta (se não houver segundo token, tenta ler do input restante)

if len(tokens) >= 2:
try:
planeta = int(tokens[1])
except ValueError:
print(“Número de planeta inválido”)
sys.exit()
else:
try:
planeta = int(input().strip())
except:
print(“Número de planeta inválido”)
sys.exit()

Gravidades relativas (peguei os valores da tabela do enunciado)

gravidades = [0.0, 0.37, 0.88, 0.38, 2.64, 1.15, 1.17] # índice 1…6
if 1 <= planeta <= 6:
peso_planeta = (peso_terra / 10.0) * gravidades[planeta]
print("{:.2f}".format(peso_planeta))
else:
print(“Planeta inválido”)

Exercícios relacionados