ट्रैक
/
Prolog
Prolog
/
अभ्यास
/
गीगासेकंड
गीगासेकंड

गीगासेकंड

आसान

परिचय

हम समय को जिस तरह मापते हैं, वह थोड़ा उलझा हुआ है। एक मिनट में 60 सेकंड होते हैं, और एक घंटे में 60 मिनट। यह प्राचीन बैबिलोन से आया है, जहाँ लोग अपनी संख्या प्रणाली का आधार 60 रखते थे। एक दिन में 24 घंटे होते हैं, एक सप्ताह में 7 दिन, और एक महीने में कितने दिन होते हैं? और महीने के दिनों की बात करें, तो वे इस पर निर्भर करते हैं कि कौन-सा महीना है, और यह भी कि आपके देश में किस तरह का कैलेंडर इस्तेमाल होता है।

क्या हो अगर हम समय के अंतराल बताने के लिए सिर्फ सेकंड इस्तेमाल करें? तब हम बड़ी संख्या में सेकंड को आसानी से समझ आने वाली मात्राओं में लिखने के लिए मीट्रिक प्रणाली के उपसर्ग लगा सकते हैं।

  • किसी खाने की विधि में लिखा हो सकता है कि ब्राउनी को ओवन में दो किलोसेकंड (यानी दो हज़ार सेकंड) तक पकने दीजिए।
  • शायद आप और आपका परिवार दो मेगासेकंड (यानी बीस लाख सेकंड) के लिए किसी अनोखी जगह घूमने जाएँ।
  • और अगर आपकी और आपके जीवनसाथी की शादी को सौ करोड़ सेकंड हो चुके हों, तो आप अपनी एक गीगासेकंड सालगिरह मनाएँगे।
Note

अगर हम कभी मंगल या किसी और ग्रह पर बस जाएँ, तो समय मापना और भी उलझा हुआ हो जाएगा। कोई "साल" कहे, तो उसका मतलब धरती का साल होगा या मंगल का?

इस अभ्यास का विचार लेखक Vernor Vinge के विज्ञान कथा उपन्यास "A Deepness in the Sky" से आया है। इसमें लेखक समय मापने के लिए मीट्रिक प्रणाली को आधार बनाते हैं।

निर्देश

आपका काम है किसी दी गई तारीख से एक गीगासेकंड बाद की तारीख और समय पता करना।

एक गीगासेकंड एक अरब सेकंड होता है। यानी एक के बाद नौ शून्य।

अगर आपका जन्म 24 जनवरी, 2015 को 22:00 बजे (रात 10:00:00) हुआ हो, तो 2 अक्टूबर, 2046 को 23:46:40 बजे (रात 11:46:40) आपकी उम्र एक गीगासेकंड की हो जाएगी।

Prolog में तारीखों के साथ काम करना

तारीखों के लिए Prolog की बिल्ट-इन सुविधा काफी बुनियादी है। हालाँकि आप यह अभ्यास उसी से हल कर सकते हैं जो Prolog में पहले से मौजूद है, लेकिन तारीखों के साथ काम करने का इससे कहीं बेहतर तरीका date_time पैकेज है।

date_time पैकेज इंस्टॉल करना

अगर आपका इंस्टॉल किया हुआ Swipl वर्शन काफी नया है, तो आप यह पैकेज इस तरह इंस्टॉल कर सकते हैं:

swipl pack install date_time

अगर इससे काम न चले, तो आप यह चला सकते हैं:

swipl -g 'pack_install(date_time)'
Note

अगर आप ऑनलाइन एडिटर इस्तेमाल कर रहे हैं, तो आपको कुछ भी खुद इंस्टॉल करने की ज़रूरत नहीं है।

date_time पैकेज का उपयोग करना

date_time पैकेज इस्तेमाल करने के लिए अपने हल की फाइल में सबसे ऊपर यह कोड जोड़िए:

:- use_module(library(date_time)).
Note

सुझाव: date_time पैकेज का सोर्स अच्छी तरह डॉक्युमेंट किया गया है और इससे आपको बहुत मदद मिलेगी!

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Prolog Exercism

गीगासेकंड शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Prolog को 109 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।