ट्रैक
/
jq
jq
/
अभ्यास
/
असेंबली लाइन
असेंबली लाइन

असेंबली लाइन

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

परिचय

संख्याएँ

मैनुअल से

jq, JSON की तरह ही उन्हीं डेटा टाइप का समर्थन करता है - संख्याएँ, स्ट्रिंग, बूलियन, ऐरे, ऑब्जेक्ट (जिन्हें JSON की भाषा में हैश कहते हैं, जिनमें हर की एक स्ट्रिंग होती है), और "null"।

आइए अब संख्याओं पर ध्यान दें।

संख्याएँ और संख्यात्मक ऑपरेटर

सभी संख्याएँ, चाहे पूर्णांक हों या कुछ और, IEEE754 डबल प्रिसीजन फ्लोटिंग पॉइंट संख्याएँ होती हैं। इससे हम 53 बिट की परिशुद्धता तक सीमित रह जाते हैं।

संख्याओं के साथ इस्तेमाल के लिए सामान्य ऑपरेटर मौजूद हैं:

  • अंकगणित: +, -, *, /, %

  • तुलना: ==, !=, <, <=, >=, >

  • मानक गणित फंक्शन

    एक इनपुट वाले फंक्शन के लिए, वैल्यू को फंक्शन में पाइप कीजिए

    $ jq -n '(1 | atan) * 4'
    3.141592653589793
    

    दो इनपुट वाले फंक्शन इनपुट को अनदेखा कर देते हैं और मानते हैं कि उन्हें पैरामीटर के रूप में दो इनपुट मिलेंगे (याद रखिए, पैरामीटर सेमी-कोलन से अलग किए जाते हैं)

    $ jq -n 'pow(2; 10)'
    1024
    

    फंक्शन आर्गुमेंट को अलग करने वाला सेपरेटर सेमी-कोलन है, कॉमा नहीं।

अन्य jq एक्सप्रेशन

इस अभ्यास को हल करने के लिए आपको कंडीशनल एक्सप्रेशन के बारे में जानना होगा।

कंडीशनल एक्सप्रेशन

कंडीशनल एक्सप्रेशन के लिए jq एक if-then-else एक्सप्रेशन का उपयोग करता है। एक एक्सप्रेशन होने के नाते, इसे पाइपलाइन में रखा जाता है।

इसका सिंटैक्स है: if CONDITION then TRUE_EXPR else FALSE_EXPR end.

else क्लॉज़ वैकल्पिक है।

42 | if . < 33 then "small" else "larger" end
# => "larger"

अतिरिक्त शर्तों के लिए elif का उपयोग किया जाता है

42 | if . < 33 then "small"
     elif . < 67 then "medium"
     else "large"
     end
# => "medium"

निर्देश

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

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

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

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

1. प्रति घंटे उत्पादन दर की गणना कीजिए

असेंबली लाइन की सफलता दर को ध्यान में रखते हुए उसकी प्रति घंटे उत्पादन दर निकालिए।

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

निकालिए कि प्रति मिनट कितनी पूरी तरह बनी और काम करने वाली कारें बनती हैं।

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

असेंबली लाइन शुरू करने के लिए तैयार हैं?

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