Era espacial

Era espacial

Médio

Introdução

O ano é 2525 e acabaste de embarcar numa viagem para visitar todos os planetas do Sistema Solar (Mercúrio, Vénus, Terra, Marte, Júpiter, Saturno, Úrano e Neptuno). A primeira paragem é Mercúrio, onde as alfândegas exigem que preenchas um formulário (aparentemente a burocracia não é exclusiva da Terra). Quando entregas o formulário ao funcionário da alfândega, ele examina-o com atenção e franze o sobrolho. «Achas mesmo que vou acreditar que tens apenas 50 anos? Deves estar mais perto dos 200 anos!»

Achas piada e esperas que o funcionário da alfândega comece a rir, mas ele parece estar perfeitamente sério. Percebes então que indicaste a tua idade em anos terrestres, mas o funcionário esperava-a em anos mercurianos! Como o período orbital de Mercúrio à volta do Sol é bastante mais curto do que o da Terra, na verdade és muito mais velho em anos mercurianos. Depois de alguns cálculos rápidos, consegues indicar a tua idade em anos mercurianos. O funcionário da alfândega sorri, satisfeito, e faz-te sinal para seguires. Ficas com a nota mental de calcular antecipadamente a tua idade em cada planeta antes de futuras verificações alfandegárias, para evitares este tipo de confusões.

Note

Se estás a pensar porque é que Plutão ficou de fora, vê este vídeo do YouTube.

Instruções

Dada uma idade em segundos, calcula que idade teria alguém num planeta do nosso Sistema Solar.

Um ano terrestre equivale a 365,25 dias terrestres, ou 31 557 600 segundos. Se te dissessem que alguém tinha 1 000 000 000 segundos de idade, essa pessoa teria 31,69 anos terrestres.

Para os outros planetas, tens de ter em conta o período orbital em anos terrestres:

Planeta Período orbital em anos terrestres
Mercúrio 0,2408467
Vénus 0,61519726
Terra 1,0
Marte 1,8808158
Júpiter 11,862615
Saturno 29,447498
Úrano 84,016846
Neptuno 164,79132
Note

O comprimento real de uma órbita completa da Terra em torno do Sol é mais próximo de 365,256 dias (1 ano sideral). O calendário gregoriano tem, em média, 365,2425 dias. Embora não seja totalmente exato, 365,25 é o valor usado neste exercício. Vê Ano na Wikipédia para mais formas de medir um ano.

Informações específicas do Arturo

Neste exercício, espera-se que devolvas as idades através de uma grandeza física com uma unidade personalizada que representa a duração de um ano nesse planeta. Em Arturo, uma quantidade é composta por um valor numérico e por uma unidade de medida associada.

length: 10`m
units length ; `m
scalar length ; 10

10`m * 10`m ; 100 m²
Caution

A unidade `yr incorporada no Arturo converte-se em 31556952 segundos. Por isso, vais ter de definir e usar a tua própria unidade de ano com base no número de segundos mencionado anteriormente nas instruções.

As quantidades podem ser convertidas para outra unidade compatível.

convert 1`m `ft ; 1250/381 ft
convert 100`m2 `ft2 ; 156250000/145161 ft²

property `m  ; length
property `m2 ; area

convert 1`m `m2 ; conversion error results
Note

Devido às limitações de precisão dos números de vírgula flutuante, o Arturo guarda por vezes o escalar como um número racional. A função to pode ser usada para obter o valor como um número de vírgula flutuante aproximado.

length: convert 1`m `ft ; 1250/381 ft
to :floating length ; 3.280839895013123

O Arturo também nos permite especificar as nossas próprias unidades para as quantidades.

specify 'nauMile 1.151`mi
property `nauMile length
specify 'lea 3.00579`nauMile
property `lea ; length
depth: 20000`lea
convert depth `km ; 111355.7993425152 km
Editar via GitHub A ligação abre numa nova janela ou separador
Arturo Exercism

Estás pronto para começar Era espacial?

Inscreve-te no Exercism para aprenderes e dominares Arturo com 79 exercícios, e mentoria humana real, tudo grátis.