সাল ২৫২৫, আর আপনি এইমাত্র সৌরজগতের সব গ্রহ (বুধ, শুক্র, পৃথিবী, মঙ্গল, বৃহস্পতি, শনি, ইউরেনাস ও নেপচুন) ঘুরে দেখার একটি যাত্রা শুরু করেছেন। প্রথম গন্তব্য বুধ, যেখানে কাস্টমসের নিয়মে আপনাকে একটি ফর্ম পূরণ করতে হয় (দেখা যাচ্ছে, আমলাতন্ত্র শুধু পৃথিবীর একচেটিয়া নয়)। আপনি কাস্টমস অফিসারের হাতে ফর্মটি তুলে দিতেই তিনি তা খুঁটিয়ে দেখে ভুরু কুঁচকে ফেলেন। "আপনার বয়স মাত্র ৫০ বছর, এটা বিশ্বাস করতে আপনি সত্যিই আমার কাছে আশা করছেন? আপনার বয়স তো ২০০ বছরের কাছাকাছি হওয়ার কথা!"
মজা লাগলেও আপনি অপেক্ষা করলেন, কাস্টমস অফিসার হেসে উঠবেন কি না, কিন্তু তিনি যে একেবারে গম্ভীর। আপনি বুঝতে পারেন, আপনি আপনার বয়স লিখেছেন পৃথিবীর বছরে, কিন্তু অফিসার তা চেয়েছিলেন বুধের বছরে! সূর্যের চারপাশে বুধের প্রদক্ষিণের সময় পৃথিবীর চেয়ে অনেক কম, তাই বুধের বছরে গুনলে আপনি আসলে অনেক বেশি বয়সী। দ্রুত কিছু হিসাব করে আপনি বুধের বছরে আপনার বয়স বলে দিতে পারেন। কাস্টমস অফিসার সন্তুষ্ট হয়ে হাসেন আর আপনাকে হাত নেড়ে যেতে দেন। মনে মনে ঠিক করে নিলেন, ভবিষ্যতে কাস্টমস চেকের আগেই গ্রহভেদে আপনার বয়স আগে থেকে হিসাব করে রাখবেন, যাতে এমন গোলমাল আর না হয়।
প্লুটো কেন বাদ পড়ল, ভাবছেন? তাহলে এই 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 |
সূর্যের চারপাশে পৃথিবীর একবার সম্পূর্ণ প্রদক্ষিণের প্রকৃত দৈর্ঘ্য 365.256 দিনের (১ সিডারিয়াল বছর) কাছাকাছি। গ্রেগরিয়ান ক্যালেন্ডারে গড়ে 365.2425 দিন থাকে। সম্পূর্ণ নির্ভুল না হলেও, এই অনুশীলনীতে 365.25 মানটিই ব্যবহার করা হয়েছে। একটি বছর মাপার আরও উপায় জানতে উইকিপিডিয়ায় Year দেখুন।
এই অনুশীলনীতে, ঐ গ্রহে এক বছরের দৈর্ঘ্য বোঝায় এমন একটি নিজস্ব এককসহ [ভৌত রাশি] ব্যবহার করে আপনাকে বয়সগুলো রিটার্ন করতে হবে। Arturo-তে একটি রাশি একটি সংখ্যাগত পরিমাণ এবং একটি সংশ্লিষ্ট পরিমাপের একক নিয়ে গঠিত।
length: 10`m
units length ; `m
scalar length ; 10
10`m * 10`m ; 100 m²
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
ফ্লোটিং পয়েন্ট সংখ্যার নির্ভুলতার সীমাবদ্ধতার কারণে 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
Exercism-এ সাইন আপ করুন, Arturo ট্র্যাকের 79টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।