Треки
/
Arturo
Arturo
/
Вправи
/
Космічний вік
Космічний вік

Космічний вік

Середня

Вступ

Зараз 2525 рік, і ми щойно вирушили в подорож, щоб відвідати всі планети Сонячної системи (Меркурій, Венеру, Землю, Марс, Юпітер, Сатурн, Уран і Нептун). Перша зупинка - Меркурій, де митні правила вимагають заповнити форму (бюрократія, вочевидь, не є особливістю самої лише Землі). Коли ми передаємо форму митнику, він уважно її вивчає і хмуриться. Невже ми справді сподіваємося, що він повірить, ніби нам лише 50 років? Нам, мабуть, ближче до 200!

Розвеселені, ми чекаємо, що митник ось-ось засміється, але він, схоже, цілком серйозний. Ми розуміємо, що вписали свій вік у земних роках, а митник чекав на нього в меркуріанських роках! Оскільки орбітальний період Меркурія навколо Сонця значно коротший за земний, у меркуріанських роках ми насправді значно старші. Після кількох швидких обчислень ми можемо назвати свій вік у меркуріанських роках. Митник задоволено всміхається і пропускає нас. Подумки ми занотовуємо собі розрахувати свій вік для конкретної планети перед майбутніми митними перевірками, щоб уникати таких плутанин.

Note

Якщо нам цікаво, чому Плутон не потрапив до списку, подивімося це відео на YouTube.

Вказівки

Маючи вік у секундах, обчислімо, скільки років комусь було б на одній із планет нашої Сонячної системи.

Один земний рік дорівнює 365.25 земних діб, або 31,557,600 секунд. Якби нам сказали, що комусь 1,000,000,000 секунд, його вік становив би 31.69 земних років.

Для інших планет треба врахувати їхній орбітальний період у земних роках:

Планета Орбітальний період у земних роках
Меркурій 0.2408467
Венера 0.61519726
Земля 1.0
Марс 1.8808158
Юпітер 11.862615
Сатурн 29.447498
Уран 84.016846
Нептун 164.79132
Note

Насправді один повний оберт Землі навколо Сонця триває ближче до 365.256 діб (1 сидеричний рік). У григоріанському календарі в середньому 365.2425 діб. Хоча це не цілком точно, у цій вправі використовується значення 365.25. Про інші способи вимірювання року можна дізнатися зі статті Рік у Вікіпедії.

Особливості Arturo

У цій вправі потрібно повертати вік за допомогою фізичної величини з власною одиницею вимірювання, яка позначає тривалість одного року на цій планеті. В Arturo величина складається з числового значення та повʼязаної з нею одиниці вимірювання.

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

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

Вбудована в Arturo одиниця `yr дорівнює 31556952 секундам. Тому потрібно визначити й використати власну одиницю року через кількість секунд, згадану раніше в інструкціях.

Величини можна перетворювати на іншу сумісну одиницю.

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

Через обмеження точності чисел з плаваючою комою Arturo іноді зберігає скаляр як раціональне число. Функція to дозволяє натомість отримати значення як наближене число з плаваючою комою.

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

Arturo також дозволяє задавати власні одиниці для величин.

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
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Arturo Exercism

Час розпочати Космічний вік?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Arturo, а також 79 вправ та справжнє наставництво від людей, і все це безкоштовно.