মহাকাশ যুগ

মহাকাশ যুগ

সহজ

ভূমিকা

সাল ২৫২৫, আর আপনি এইমাত্র সৌরজগতের সব গ্রহ (বুধ, শুক্র, পৃথিবী, মঙ্গল, বৃহস্পতি, শনি, ইউরেনাস ও নেপচুন) ঘুরে দেখার একটি যাত্রা শুরু করেছেন। প্রথম গন্তব্য বুধ, যেখানে কাস্টমসের নিয়মে আপনাকে একটি ফর্ম পূরণ করতে হয় (দেখা যাচ্ছে, আমলাতন্ত্র শুধু পৃথিবীর একচেটিয়া নয়)। আপনি কাস্টমস অফিসারের হাতে ফর্মটি তুলে দিতেই তিনি তা খুঁটিয়ে দেখে ভুরু কুঁচকে ফেলেন। "আপনার বয়স মাত্র ৫০ বছর, এটা বিশ্বাস করতে আপনি সত্যিই আমার কাছে আশা করছেন? আপনার বয়স তো ২০০ বছরের কাছাকাছি হওয়ার কথা!"

মজা লাগলেও আপনি অপেক্ষা করলেন, কাস্টমস অফিসার হেসে উঠবেন কি না, কিন্তু তিনি যে একেবারে গম্ভীর। আপনি বুঝতে পারেন, আপনি আপনার বয়স লিখেছেন পৃথিবীর বছরে, কিন্তু অফিসার তা চেয়েছিলেন বুধের বছরে! সূর্যের চারপাশে বুধের প্রদক্ষিণের সময় পৃথিবীর চেয়ে অনেক কম, তাই বুধের বছরে গুনলে আপনি আসলে অনেক বেশি বয়সী। দ্রুত কিছু হিসাব করে আপনি বুধের বছরে আপনার বয়স বলে দিতে পারেন। কাস্টমস অফিসার সন্তুষ্ট হয়ে হাসেন আর আপনাকে হাত নেড়ে যেতে দেন। মনে মনে ঠিক করে নিলেন, ভবিষ্যতে কাস্টমস চেকের আগেই গ্রহভেদে আপনার বয়স আগে থেকে হিসাব করে রাখবেন, যাতে এমন গোলমাল আর না হয়।

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 দিনের (১ সিডারিয়াল বছর) কাছাকাছি। গ্রেগরিয়ান ক্যালেন্ডারে গড়ে 365.2425 দিন থাকে। সম্পূর্ণ নির্ভুল না হলেও, এই অনুশীলনীতে 365.25 মানটিই ব্যবহার করা হয়েছে। একটি বছর মাপার আরও উপায় জানতে উইকিপিডিয়ায় Year দেখুন।

ইঙ্গিত

এই অনুশীলনীতে আমরা Planet নামের অ্যালজেব্রিক ডেটা টাইপ-এর সংজ্ঞা দিয়েছি। আপনাকে ageOn ফাংশনটি ইমপ্লিমেন্ট করতে হবে, যা সেকেন্ডে বয়স দেওয়া থাকলে কেউ একটি Planet-এ কত বছর বয়সী হবে তা গণনা করে।

টাইপগুলো নিয়ে নিশ্চিত না থাকলে আপনি দেওয়া সিগনেচারটি ব্যবহার করতে পারেন, তবে এটিকে আপনার সৃজনশীলতাকে সীমাবদ্ধ করতে দেবেন না:

ageOn :: Planet -> Float -> Float
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Haskell Exercism

মহাকাশ যুগ শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Haskell ট্র্যাকের 107টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।