Escreva um programa em C 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 é dada a seguir juntamente com o valor das gravidades relativas á Terra:
Disciplina: Linguagens de Programação II
Professor: Jonathas Santos (jssantos@uea.edu.br)
#
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
Professor: Jonathas Santos (jssantos@uea.edu.br)
# | 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 |
Passo 1
O enunciado pede um programa em C que leia um peso na Terra (valor real) e o número de um planeta (inteiro de 1 a 6) e calcule o peso correspondente nesse planeta usando a gravidade relativa fornecida. Vamos usar:
- Variáveis para armazenar o peso na Terra
, o número do planeta e o fator de gravidade . - Estrutura de seleção (
switch
) para escolher o valor defator
conforme o planeta. - Leitura com
scanf
e saída comprintf
.
Passo 2
Declaramos as variáveis necessárias:
float peso; // peso na Terra
int planeta; // número do planeta (1–6)
float fator; // gravidade relativa
float \(peso_planeta\);// resultado final
Passo 3
Lemos os valores de entrada em sequência, primeiro o peso e depois o número do planeta:
scanf("%f %d", &peso, &planeta);
Passo 4
Usamos
switch(planeta)
para atribuir a fator
o valor correspondente:switch (planeta) {
case 1: fator \(=0.37\)f; break; // Mercúrio
case 2: fator \(=0.88\)f; break; // Vênus
case 3: fator \(=0.38\)f; break; // Marte
case 4: fator \(=2.64\)f; break; // Júpiter
case 5: fator \(=1.15\)f; break; // Saturno
case 6: fator \(=1.17\)f; break; // Urano
default:
printf("Planeta invalido
");
return 1;
}
Passo 5
Calculamos o peso no planeta usando a fórmula
e imprimimos com duas casas decimais:
\(peso_planeta\) = peso * fator;
printf("%.2f
", \(peso_planeta\));
Resposta
#include <stdio.h>
int main(void) {
float peso; // peso na Terra
int planeta; // número do planeta (1–6)
float fator; // gravidade relativa
float \(peso_planeta\); // peso calculado no planeta
// Leitura do peso e do número do planeta
if (scanf("%f %d", &peso, &planeta) !\(=2\)) {
printf("Entrada invalida
");
return 1;
}
// Seleção da gravidade relativa
switch (planeta) {
case 1: fator \(=0.37\)f; break; // Mercúrio
case 2: fator \(=0.88\)f; break; // Vênus
case 3: fator \(=0.38\)f; break; // Marte
case 4: fator \(=2.64\)f; break; // Júpiter
case 5: fator \(=1.15\)f; break; // Saturno
case 6: fator \(=1.17\)f; break; // Urano
default:
printf("Planeta invalido
");
return 1;
}
// Cálculo e saída
\(peso_planeta\) = peso * fator;
printf("%.2f
", \(peso_planeta\));
return 0;
}