Az év 2525, és épp most indultál útnak, hogy felkeresd a Naprendszer összes bolygóját (Merkúr, Vénusz, Föld, Mars, Jupiter, Szaturnusz, Uránusz és Neptunusz). Az első állomás a Merkúr, ahol a vámszabályok szerint ki kell töltened egy űrlapot (a bürokrácia láthatóan nem csak a Földre jellemző). Ahogy átnyújtod az űrlapot a vámhivatalnoknak, az alaposan szemügyre veszi, és összevonja a szemöldökét. „Tényleg azt hiszed, hogy elhiszem, hogy mindössze 50 éves vagy? Inkább 200 felé lehetsz!”
Mulattatva várod, hogy a vámhivatalnok végre nevetni kezdjen, de halálosan komolynak tűnik. Rájössz, hogy földi években adtad meg a korodat, pedig a hivatalnok merkúrévekben várta! Mivel a Merkúr Nap körüli keringési ideje jóval rövidebb, mint a Földé, a Merkúr-években valójában sokkal idősebb vagy. Néhány gyors számítás után sikerül megadnod a korodat merkúrévekben. A vámhivatalnok elmosolyodik, elégedett, és int, hogy menj tovább. Gondolatban megjegyzed magadnak, hogy a jövőbeni vámvizsgálatok előtt számold ki a bolygónkénti életkorodat, hogy elkerüld az ilyen félreértéseket.
Ha azon tűnődsz, miért maradt ki Pluto, nézd meg ezt a YouTube-videót.
Adott egy életkor másodpercben. Számold ki, hány éves lenne valaki a Naprendszerünk egyik bolygóján.
Egy földi év 365,25 földi nappal, azaz 31 557 600 másodperccel egyenlő. Ha valakiről azt mondanák, hogy 1 000 000 000 másodperces, akkor 31,69 földi éves lenne.
A többi bolygónál számításba kell venned a keringési idejüket földi években:
| Bolygó | Keringési idő földi évben |
|---|---|
| Merkúr | 0.2408467 |
| Vénusz | 0.61519726 |
| Föld | 1.0 |
| Mars | 1.8808158 |
| Jupiter | 11.862615 |
| Szaturnusz | 29.447498 |
| Uránusz | 84.016846 |
| Neptunusz | 164.79132 |
A Föld Nap körüli egy teljes keringésének tényleges hossza közelebb van a 365,256 naphoz (1 sziderikus év). A Gergely-naptárban átlagosan 365,2425 nap van. Bár nem teljesen pontos, ebben a feladatban a 365,25-ös értéket használjuk. Ha többféleképpen is szeretnéd mérni az évet, nézd meg az Év szócikket a Wikipédián.
Ebben a feladatban a korokat egy fizikai mennyiség formájában kell visszaadnod, egy saját mértékegységgel, amely az adott bolygón egy év hosszát jelöli. Az Arturóban egy mennyiség egy számértékből és egy hozzá tartozó mértékegységből áll.
length: 10`m
units length ; `m
scalar length ; 10
10`m * 10`m ; 100 m²
Az Arturo beépített `yr mértékegysége 31556952 másodpercnek felel meg. Ezért definiálnod és használnod kell a saját, évhez tartozó mértékegységedet, az utasításokban korábban említett másodpercek számának megfelelően.
A mennyiségek átválthatók egy másik, kompatibilis mértékegységre.
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
A lebegőpontos számok pontossági korlátai miatt az Arturo néha racionális számként tárolja a skalárt.
A to függvény segítségével ehelyett közelítő lebegőpontos számként kérheted le az értéket.
length: convert 1`m `ft ; 1250/381 ft
to :floating length ; 3.280839895013123
Az Arturo emellett lehetővé teszi, hogy saját mértékegységeket adjunk meg a mennyiségekhez.
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
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Arturo nyelvet 79 feladat segítségével, valódi emberi mentorálással, mindez ingyen.