ट्रैक
/
JavaScript
JavaScript
/
अभ्यास
/
कप्तान का लॉग
कप्तान का लॉग

कप्तान का लॉग

सीखने का अभ्यास

परिचय

बहुत से प्रोग्राम को वास्तविक दुनिया की घटनाओं का अनुकरण करने के लिए (स्यूडो-)रैंडम वैल्यू की ज़रूरत होती है।

आम और परिचित उदाहरण हैं:

  • एक सिक्का उछालना: ('H', 'T') में से एक रैंडम वैल्यू।
  • पासा फेंकना: 1 से 6 तक एक रैंडम पूर्णांक।
  • ताश की गड्डी फेंटना: कार्डों की सूची का एक रैंडम क्रम।
  • 3-D ग्राफिक्स सिमुलेशन में पेड़ों और झाड़ियों का बनना।

कंप्यूटर की मदद से वास्तव में रैंडम वैल्यू बनाना एक आश्चर्यजनक रूप से कठिन तकनीकी चुनौती है, इसीलिए "स्यूडोरैंडम" जनरेटर भी होते हैं।

Caution

Math.random() फंक्शन का उपयोग सुरक्षा और क्रिप्टोग्राफ़िक एप्लीकेशन के लिए बिल्कुल नहीं करना चाहिए! इस कॉन्सेप्ट के बारे में और जानने के लिए सीखने वाले अभ्यास पूरे कीजिए

रैंडम संख्याएँ बनाना

Javascript में आप Math.random() फंक्शन की मदद से स्यूडोरैंडम संख्याएँ बना सकते हैं। यह फंक्शन 0 और 1 के बीच एक स्यूडोरैंडम दशमलव संख्या लौटाता है, जिसमें 0 शामिल है पर 1 नहीं।

निर्देश

मैरी टीवी सीरीज़ Star Trek: The Next Generation की बहुत बड़ी प्रशंसक हैं। वह अक्सर कागज़-कलम वाले रोल-प्लेइंग गेम खेलती हैं, जिनमें वह और उसके दोस्त Starship Enterprise के क्रू का अभिनय करते हैं। मैरी का किरदार Captain Picard है, इसलिए उसे कैप्टन का लॉग रखना पड़ता है। खेल का रचनात्मक हिस्सा उसे बहुत पसंद है, लेकिन मौके पर ही रैंडम डेटा बनाना उसे पसंद नहीं है।

मैरी की मदद कीजिए: कैप्टन के लॉग में आम तौर पर आने वाले डेटा के लिए रैंडम जनरेटर बनाइए।

1. एक रैंडम स्टारशिप रजिस्ट्री नंबर बनाइए

Enterprise (रजिस्ट्री नंबर NCC-1701) अकेला उड़ता हुआ स्टारशिप नहीं है! जब वह किसी दूसरे स्टारशिप से मिलती है, तो मैरी को उस स्टारशिप का रजिस्ट्री नंबर लॉग करना पड़ता है।

रजिस्ट्री नंबर "NCC-" उपसर्ग से शुरू होते हैं, जिसके बाद 1000 से 9999 तक (दोनों शामिल) की संख्या आती है।

randomShipRegistryNumber() नाम का फंक्शन बनाइए जो एक रैंडम स्टारशिप रजिस्ट्री नंबर लौटाता है।

randomShipRegistryNumber();
// => "NCC-1947"

2. एक रैंडम स्टारडेट बनाइए

अगर लॉग में तारीखें न हों तो उसका क्या फायदा?

स्टारडेट एक दशमलव संख्या होती है। The Next Generation के पहले सीज़न में Starship Enterprise के रोमांच स्टारडेट 41000.0 और 42000.0 के बीच होते हैं। "4" चौबीसवीं सदी को दर्शाता है और "1" पहले सीज़न को।

randomStardate फंक्शन बनाइए जो 41000.0 (शामिल) से 42000.0 (शामिल नहीं) के बीच एक दशमलव संख्या लौटाता है।

randomStardate();
// => 41458.15721310934

3. एक रैंडम ग्रह बनाइए

Starship Enterprise को अपनी यात्राओं में कई ग्रह मिलते हैं। Star Trek ब्रह्मांड के ग्रह उनके गुणों के आधार पर अलग-अलग श्रेणियों में बाँटे गए हैं। जैसे पृथ्वी M क्लास का ग्रह है। सभी संभव ग्रह क्लास ये हैं: D, H, J, K, L, M, N, R, T और Y।

randomPlanetClass() फंक्शन बनाइए। यह इनमें से कोई एक ग्रह क्लास रैंडम रूप से लौटाता है।

randomPlanetClass();
// => "K"
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
JavaScript Exercism

कप्तान का लॉग शुरू करने के लिए तैयार हैं?

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