📘 CodingMarble Learn

शाखा और लूप: प्रोग्राम को चुनना और दोहराना सिखाएँ

शाखा (if/else) शर्त के आधार पर प्रोग्राम को रास्ता चुनने देती है; लूप शर्त सही रहने तक कदम दोहराता है। इन दोनों से हम सबसे बड़ी संख्या ढूँढ सकते हैं, द्विघात हल कर सकते हैं, अंकों का योग निकाल सकते हैं, अभाज्य जाँच सकते हैं और यूक्लिड विधि से महत्तम समापवर्तक (GCD) निकाल सकते हैं।

🎬 कदम-दर-कदम कहानी

  1. क्रम: कदम एक के बाद एक चलते हैं। “चलाओ” दबाओ और गोली को ब्लॉकों से गुज़रते देखो।
  2. शाखा: रास्ता एक जाँच पर टिका है। n बदलो: सम ऊपर जाएगा, विषम नीचे।
  3. लूप: आख़िरी अंक लो, जोड़ में मिलाओ, अंक हटाओ। जब कुछ न बचे तब तक दोहराओ।
  4. अभाज्य जाँच: कोई भाजक ढूँढो। अगर कोई n को पूरा बाँट दे, तो n अभाज्य नहीं है।
  5. यूक्लिड: लंबी पट्टी में से छोटी पट्टी बार-बार काटो। जब दोनों बराबर हों, वही GCD है।
  6. अब खेलो: कोई भी तरीका चुनो और संख्याएँ बदलो।

टिप: 3D दृश्य को घुमाने के लिए खींचें। ज़ूम के लिए दो उंगलियाँ इस्तेमाल करें।

🤔 आम शंकाएँ और उनके जवाब

अगर शर्त न सही हो न ग़लत तो?

शर्त का उत्तर हमेशा सही या ग़लत होता है, इसलिए ठीक एक राह ली जाती है।

लूप कब रुकता है?

जब उसकी शर्त ग़लत हो जाती है। अंकों वाले लूप में तब, जब संख्या 0 हो जाए।

1 अभाज्य क्यों नहीं है?

अभाज्य के ठीक दो भाजक होते हैं। 1 का एक ही भाजक है, वह स्वयं।

यूक्लिड का घटाव क्यों काम करता है?

जो संख्या a और b दोनों को बाँटती है वह उनके अंतर को भी बाँटती है, इसलिए संख्याएँ छोटी होती जाती हैं पर GCD वही रहता है।

क्या ब्लॉक हमेशा क्रम से चलते हैं?

केवल क्रम में। शाखा कुछ ब्लॉक छोड़ देती है और लूप कुछ दोहराता है।

क्या लूप के अंदर शाखा रख सकते हैं?

हाँ। जैसे संख्याओं पर लूप चलाओ और if से केवल सम संख्याएँ गिनो।

तीन बुनियादी ब्लॉक: क्रम, शाखा, लूप

हर एल्गोरिदम तीन ब्लॉक से बनता है:

शर्त ऐसा सवाल है जिसका उत्तर सही या ग़लत होता है, जैसे n % 2 == 0। % चिह्न भाग का शेषफल देता है (7 % 2 = 1)।

मिश्रित शर्त, अधिकतम और न्यूनतम

शर्तें and (दोनों सही), or (कम से कम एक सही) और not (उत्तर पलटे) से जोड़ो। x 10 और 20 के बीच है, यह जाँचने के लिए लिखो x >= 10 and x <= 20।

दो संख्याओं में अधिकतम: if a > b: max = a else: max = b। तीन में: पहले max = a; फिर if b > max: max = b; फिर if c > max: max = c। न्यूनतम के लिए चिह्न पलट दो। जाँच: 7, 12, 9 में अधिकतम 12 और न्यूनतम 7 है।

गणित में शाखा: द्विघात समीकरण

a x² + b x + c = 0 के लिए विविक्तकर D = b² - 4ac निकालो। फिर शाखा बनाओ: D > 0 हो तो दो वास्तविक मूल x = (-b ± √D) / (2a); D = 0 हो तो एक मूल -b / (2a); D < 0 हो तो कोई वास्तविक मूल नहीं। उदाहरण: x² - 5x + 6 = 0 में D = 25 - 24 = 1, इसलिए मूल (5 ± 1)/2 = 3 और 2।

संख्याओं पर लूप: अंकों के काम

दो औज़ार: n % 10 आख़िरी अंक देता है और n // 10 (पूर्ण-संख्या भाग) आख़िरी अंक हटा देता है। n के अंकों का योग:

sum = 0; while n > 0: sum = sum + n % 10; n = n // 10

347 का हिसाब: अंतिम अंक 7 (योग 7, n 34), फिर 4 (योग 11, n 3), फिर 3 (योग 14, n 0)। रुको। योग 14 है। इसी लूप से अंक गिन सकते हैं, संख्या उलट सकते हैं या पैलिंड्रोम जाँच सकते हैं।

अभाज्य संख्या की जाँच

n > 1 अभाज्य है अगर उसे केवल 1 और n ही बाँटते हैं। d को 2 से बढ़ाओ जब तक d × d <= n; अगर n % d == 0 हो तो n अभाज्य नहीं। लूप बिना भाजक के पूरा हो जाए तो n अभाज्य है। √n तक ही क्यों? अगर n = p × q, तो p, q में से एक √n से बड़ा नहीं होता। 29 के लिए 2, 3, 4, 5 जाँचो (5 × 5 = 25 <= 29): कोई नहीं बाँटता, तो 29 अभाज्य है। 21 में 3 मिलते ही रुक जाते हैं।

यूक्लिड का GCD एल्गोरिदम

GCD (महत्तम समापवर्तक) वह सबसे बड़ी संख्या है जो दोनों को बाँटे। यूक्लिड का विचार: बड़ी संख्या की जगह (बड़ी - छोटी) रख दो तो GCD नहीं बदलता। संख्याएँ बराबर होने तक करते रहो। उदाहरण (18, 12): (6, 12) फिर (6, 6)। GCD = 6। तेज़ रूप शेषफल से चलता है: while b != 0: a, b = b, a % b। (48, 18) के लिए: (18, 12), (12, 6), (6, 0), इसलिए GCD 6।

करके देखो

करके देखो: कागज़ पर 4829 के अंकों का लूप तालिका में चलाओ: कॉलम n, अंतिम अंक, योग। फिर 3D के अंक-लूप में “अगला कदम” दबाकर हर पंक्ति जाँचो। पहले अनुमान लगाओ: क्या योग 20 से बड़ा होगा?

मुख्य सूत्र और परिभाषाएँ

हल किए गए उदाहरण

1. वह शर्त लिखो जो संख्या x के 10 और 20 के बीच (दोनों सहित) होने पर ही सही हो।

x >= 10 and x <= 20। दोनों भाग सही होने चाहिए, इसलिए “and” चाहिए।

2. 7, 12 और 9 में से अधिकतम शुरू-और-तुलना विधि से निकालो।

max = 7। 12 > 7 है, इसलिए max = 12। 9 > 12 ग़लत है, max 12 ही रहा। उत्तर: 12।

3. लूप से 347 के अंकों का योग निकालो।

योग 0। 347: अंतिम अंक 7, योग 7, n 34। फिर 4: योग 11, n 3। फिर 3: योग 14, n 0। रुको। योग = 14।

4. क्या 29 अभाज्य है?

d = 2, 3, 4, 5 जाँचो (5×5 = 25 <= 29)। 29 % 2 = 1, % 3 = 2, % 4 = 1, % 5 = 4। कोई 0 नहीं, इसलिए 29 अभाज्य है।

5. शेषफल से 48 और 18 का GCD निकालो।

(48, 18) → (18, 12) → (12, 6) → (6, 0)। GCD = 6।

6. शाखा नियम से x² - 5x + 6 = 0 हल करो।

D = 25 - 24 = 1 > 0, इसलिए दो मूल: (5 + 1)/2 = 3 और (5 - 1)/2 = 2।

आम गलतियाँ

अभ्यास क्विज़

1. कौन-सा ब्लॉक कदम दोहराता है?
2. 347 % 10 कितना है?
3. द्विघात में D < 0 हो तो:
4. 18 और 12 का GCD क्या है?
5. इनमें अभाज्य कौन-सा है?

अभ्यास: खुद जवाब दो

अपना जवाब लिखो या चुनो, फिर जाँचें दबाओ। अटको तो संकेत देखो; जवाब देने के बाद पूरा हल दिखेगा।

अक्सर पूछे जाने वाले प्रश्न

शाखा और लूप में क्या अंतर है?

शाखा शर्त से एक बार रास्ता चुनती है। लूप शर्त सही रहने तक वही कदम कई बार चलाता है।

भाजक केवल वर्गमूल तक ही क्यों जाँचते हैं?

अगर n का कोई भाजक वर्गमूल से बड़ा है, तो उसका जोड़ीदार वर्गमूल से छोटा भी है, जो हम पहले ही पा लेते।

यूक्लिड एल्गोरिदम GCD कैसे निकालता है?

वह बड़ी संख्या की जगह अंतर (या शेषफल) रखता जाता है जब तक दोनों बराबर (या शेषफल 0) न हो जाएँ। वही मान GCD है।

यह कहाँ पढ़ाया जाता है

रूस8 классAlgorithms and programming
रूस8 классAlgorithms and programming

पहले यह पढ़ें

आगे पढ़ें

इससे जुड़े पाठ

सभी कंप्यूटर विज्ञान पाठ