ट्रैक
/
Clojure
Clojure
/
अभ्यास
/
कारें, इकट्ठी हों!
कारें, इकट्ठी हों!

कारें, इकट्ठी हों!

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

परिचय

Clojure में संख्याएँ ये होती हैं:

  • पूर्णांक: ऐसी संख्याएँ जिनमें दशमलव चिह्न के बाद कोई अंक नहीं होता (पूर्ण संख्याएँ)। जैसे -6, 0, 1, 25, 976 और 500000।
  • दशमलव संख्याएँ: ऐसी संख्याएँ जिनमें दशमलव चिह्न के बाद शून्य या उससे अधिक अंक होते हैं। जैसे -2.4, 0.1, 3.14, 16.984025 और 1024.0।

संख्याओं के दो आम डेटा टाइप int और float हैं। int एक 32-बिट पूर्णांक है और float एक 64-बिट दशमलव संख्या है।

गणित की क्रियाएँ मानक अंकगणितीय ऑपरेटरों की मदद से की जाती हैं। संख्याओं की तुलना मानक संख्यात्मक तुलना ऑपरेटरों (>, <, <=, >=), समानता ऑपरेटर (=) और असमानता ऑपरेटर (not=) की मदद से की जा सकती है।

इस अभ्यास में आपको कोड शर्तों के आधार पर चलाना है। Clojure में ऐसा करने का एक आम तरीका cond का इस्तेमाल करना है:

(cond (= x 5) "Expression to evaluate when x equals 5"
      (> x 7) "Expression to evaluate when x is greater than 7"
      :else   "Expression to evaluate in all other cases")

नोट

कुछ मामलों में = की जगह == ऑपरेटर बेहतर हो सकता है, जहाँ संख्याओं की तुलना उनके सटीक टाइप की परवाह किए बिना करनी हो। जैसे,

(== 5.0 5) ;; true as both numbers are equal when type is ignored
(= 5.0 5) ;; false as the types of numbers are also taken into account here i.e. float is different from int

बराबरी पर Clojure गाइड, खास तौर पर संख्याओं वाला हिस्सा, इस बारे में और विस्तार से बताता है।

निर्देश

इस अभ्यास में आप एक कार फैक्ट्री की असेंबली लाइन के उत्पादन का विश्लेषण करने के लिए कोड लिखेंगे। असेंबली लाइन की गति 0 (बंद) से 10 (अधिकतम) तक हो सकती है।

सबसे कम गति (1) पर हर घंटे 221 कारें बनती हैं। गति के साथ उत्पादन रैखिक रूप से बढ़ता है। यानी गति 4 होने पर हर घंटे 4 * 221 = 884 कारें बननी चाहिए। लेकिन तेज़ गति पर खराब कारें बनने की संभावना बढ़ जाती है, और ऐसी कारों को हटाना पड़ता है। नीचे दी गई तालिका दिखाती है कि गति सफलता दर को कैसे प्रभावित करती है:

  • 0: 0% सफलता दर।
  • 1 से 4: 100% सफलता दर।
  • 5 से 8: 90% सफलता दर।
  • 9: 80% सफलता दर।
  • 10: 77% सफलता दर।

आपके सामने दो काम हैं।

1. प्रति घंटे उत्पादन दर निकालिए

असेंबली लाइन की प्रति घंटे उत्पादन दर निकालने के लिए production-rate फंक्शन बनाइए, और इसमें सफलता दर का ध्यान रखिए:

(production-rate 6)
;;=> 1193.4

ध्यान दीजिए कि जो वैल्यू लौटाई जाती है वह एक double होती है।

2. प्रति मिनट बनने वाली काम करने वाली कारों की संख्या निकालिए

यह निकालने के लिए कि हर मिनट कितनी काम करने वाली कारें बनती हैं, working-items फंक्शन बनाइए:

(working-items 6)
;;=> 19

ध्यान दीजिए कि जो वैल्यू लौटाई जाती है वह एक int होती है।

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

कारें, इकट्ठी हों! शुरू करने के लिए तैयार हैं?

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