📘 CodingMarble Learn

प्रोग्रामिंग की मूल बातें: अनुक्रम, चयन, लूप और फ़ंक्शन

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

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

  1. प्रोग्राम सटीक कदमों की सूची है। देखिए, रोबोट के हर कदम पर एक move() पंक्ति चमकती है।
  2. चर (variable) नाम वाला डिब्बा है। score पहले 0, फिर 5 जुड़ा, फिर 5 और।
  3. if से प्रोग्राम चुनता है। हर खाने पर पूछता है: आगे दीवार? जवाब हाँ होने पर ही रुकता है।
  4. लूप पंक्तियाँ दोहराता है। कोड की दो पंक्तियाँ चार कदम चलाती हैं, और गिनती 1, 2, 3, 4 चलती है।
  5. फ़ंक्शन को एक बार नाम देकर बार-बार इस्तेमाल करते हैं। फिर एक बग: रोबोट एक खाना पहले रुक गया। संख्या ठीक करें और फिर जाँचें।
  6. अब आपकी बारी। लूप की गिनती और दीवार जाँच चुनें। पहले अनुमान, फिर चलाएँ।

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

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

कंप्यूटर ख़ुद अंदाज़ा क्यों नहीं लगा लेता कि मेरा मतलब क्या है?

कंप्यूटर निर्देश बिल्कुल वैसे ही क्रम से मानता है। कोई कदम छूटे या ग़लत जगह हो तो रोबोट ग़लत करेगा।

score = score + 5 सही कैसे? कोई संख्या अपने में 5 जोड़कर अपने बराबर नहीं हो सकती।

कोड में = का अर्थ है "रखो"। पहले पुराने मान से दाईं ओर हल होता है, फिर उत्तर डिब्बे में जाता है।

क्या if दोनों शाखाएँ चलाता है?

नहीं। शर्त True या False होती है और केवल एक शाखा चलती है। रोबोट तब तक चलता है जब तक शर्त True न हो, फिर केवल "रुको" चलता है।

लूप में गिनती i किसलिए है?

यह याद रखती है कि लूप कितनी बार चला, ताकि पता चले कब रुकना है। रोबोट पर i = 1, 2, 3, 4 दिखता है।

कोड कॉपी कर सकते हैं तो फ़ंक्शन क्यों?

एक परिभाषा कई बार काम आती है। बग मिले तो एक जगह सुधारें और हर जगह सुधर जाता है।

प्रोग्राम बिना त्रुटि संदेश के चला, फिर भी ग़लत क्यों?

यह तार्किक त्रुटि है: कोड सही है पर योजना ग़लत, जैसे लूप 5 की जगह 4 बार चलना।

प्रोग्राम क्या है?

एल्गोरिद्म किसी समस्या को हल करने की क्रमवार योजना है। प्रोग्राम वही योजना है जो कंप्यूटर की समझ वाली भाषा (जैसे Python, Scratch, Java या C) में लिखी गई हो। कंप्यूटर ठीक वही करता है जो प्रोग्राम कहता है, उससे ज़्यादा कुछ नहीं।

ज़्यादातर प्रोग्राम इनपुट → प्रक्रिया → आउटपुट चलते हैं: डेटा लो, उस पर काम करो, परिणाम दो। कोड लिखने से पहले स्यूडोकोड (सरल भाषा में कदम) या फ़्लोचार्ट से योजना बनाएँ।

अनुक्रम (sequence) का अर्थ है निर्देश ऊपर से नीचे क्रम में चलते हैं। क्रम बदलने से परिणाम बदल सकता है।

चर और डेटा प्रकार

चर (variable) किसी मान को रखने की नाम वाली जगह है। score = 0 एक असाइनमेंट है: यह score नाम के डिब्बे में 0 रखता है। score = score + 5 पुराना मान पढ़कर 5 जोड़ता है और नया मान रख देता है।

आम डेटा प्रकार:

स्थिरांक (constant) वह मान है जो प्रोग्राम चलते समय नहीं बदलता, जैसे हफ़्ते के दिन। अच्छे नाम (total_marks, न कि x) कोड को पढ़ना आसान बनाते हैं।

चयन और पुनरावृत्ति

चयन (if / else)

प्रोग्राम एक शर्त जाँचता है जो True या False होती है, और एक शाखा चलाता है।

if marks >= 33:
    print("Pass")
else:
    print("Try again")

शर्तों में तुलना संकारक (==, !=, <, >, <=, >=) और तार्किक संकारक (and, or, not) आते हैं।

पुनरावृत्ति (लूप)

फ़ंक्शन और मॉड्यूलर डिज़ाइन

फ़ंक्शन (उप-प्रोग्राम या प्रक्रिया भी कहते हैं) कोड का नाम वाला खंड है। इसे एक बार परिभाषित करते हैं और जब चाहें बुलाते हैं।

def area(length, width):
    return length * width

print(area(4, 3))   # 12

मॉड्यूलर डिज़ाइन यानी बड़ी समस्या को छोटे भागों में तोड़ना (अपघटन), हर भाग को अलग फ़ंक्शन की तरह लिखना और जाँचना। लाभ: कम दोहराव, आसान जाँच, टीम में काम, और एक सुधार से हर जगह सुधार।

टेस्टिंग, डीबगिंग और कोड रखरखाव

तीन तरह की त्रुटियाँ:

टेस्टिंग में सामान्य डेटा, सीमा वाला डेटा (जैसे ठीक 33 अंक) और अमान्य डेटा (जैसे -5 अंक) इस्तेमाल करते हैं। ट्रेस टेबल हर पंक्ति के बाद हर चर का मान लिखती है, ताकि ग़लती की जगह मिले।

सँभालने लायक कोड में सार्थक नाम, "क्यों" समझाने वाली टिप्पणियाँ, एक जैसा इंडेंटेशन, छोटे फ़ंक्शन और कोई कॉपी-पेस्ट खंड नहीं होते। प्रोग्रामर बदलावों का इतिहास रखने के लिए वर्ज़न कंट्रोल भी इस्तेमाल करते हैं।

करके देखें: बिना कंप्यूटर वाला रोबोट

एक दोस्त को रोबोट बनाइए। काग़ज़ पर केवल इन निर्देशों से लिखें: कदम, बाएँ मुड़ो, दाएँ मुड़ो, n बार दोहराओ और if दीवार: मुड़ो। उसे दरवाज़े से कुर्सी तक पहुँचाइए। क्या रोबोट ने ठीक वही किया जो आपने लिखा? बग ठीक करें और फिर आज़माएँ। फिर 3D फ़्री-प्ले में कुछ दबाने से पहले अनुमान लगाएँ कि रोबोट कहाँ रुकेगा।

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

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

1. x = 4, फिर x = x * 2, फिर x = x - 3। x क्या है?

पंक्ति दर पंक्ति: x = 4 → x = 8 → x = 5। उत्तर x = 5।

2. यह क्या छापेगा? for i in range(1, 4): print(i * 10)

i = 1, 2, 3, इसलिए 10, 20, 30 छपेगा।

3. age = 15। क्या छपेगा? if age >= 18: print("Adult") else: print("Minor")

15 >= 18 False है, इसलिए else शाखा: Minor।

4. दो संख्याओं में बड़ी लौटाने वाला फ़ंक्शन लिखिए।

def bigger(a, b): if a > b: return a else: return b

5. ट्रेस करें: total = 0; for n in range(1, 4): total = total + n। अंत में total?

n = 1 → 1; n = 2 → 3; n = 3 → 6। अंतिम total = 6।

6. प्रोग्राम को 1 से 5 छापना है पर for i in range(1, 5) लिखा है। कौन सी त्रुटि है और सुधार?

तार्किक (off-by-one) त्रुटि; केवल 1 से 4 छपता है। सुधार: range(1, 6)।

आम गलतियाँ

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

1. निर्देशों का एक के बाद एक क्रम से चलना कहलाता है:
2. कौन सी संरचना चुनाव करती है?
3. x = 3 और x = x + 4 के बाद x है:
4. प्रोग्राम चलता है पर उत्तर ग़लत देता है। यह है:
5. नाम वाला, दोबारा इस्तेमाल होने वाला कोड खंड है:

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

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

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

प्रोग्रामिंग की मूल बातें क्या हैं?

डेटा रखने के लिए चर, और कदमों को नियंत्रित करने की तीन संरचनाएँ: अनुक्रम, चयन (if/else) और पुनरावृत्ति (लूप)। फ़ंक्शन कोड को व्यवस्थित करने और दोबारा इस्तेमाल करने में मदद करते हैं।

पहले कौन सी भाषा सीखें?

विचार हर भाषा में एक जैसे हैं। छोटे बच्चों के लिए Scratch बढ़िया है; Python लोकप्रिय है क्योंकि इसका कोड छोटा और पढ़ने में आसान है।

डीबगिंग क्या है?

प्रोग्राम की ग़लतियाँ (बग) ढूँढना और ठीक करना, अक्सर अलग-अलग इनपुट से जाँचकर और पंक्ति दर पंक्ति चरों के मान देखकर।

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

कनाडा (ओंटारियो)Grade 8C. Algebra
कनाडा (ओंटारियो)Grade 8A. STEM Skills and Connections
कनाडा (ओंटारियो)Grade 9C. Algebra
कनाडा (ओंटारियो)Grade 10C. Programming
कनाडा (ओंटारियो)Grade 11C. Exploration of Opportunities
कनाडा (ओंटारियो)Grade 11A. Programming Concepts and Skills
कनाडा (ओंटारियो)Grade 11B. Software Development
कनाडा (ओंटारियो)Grade 11A. Programming Concepts and Skills
कनाडा (ओंटारियो)Grade 11B. Software Development
कनाडा (ओंटारियो)Grade 11B. Computer Technology Skills
कनाडा (ओंटारियो)Grade 12D. Interacting with School-Age Children and Adolescents
कनाडा (ओंटारियो)Grade 12A. Programming Concepts and Skills
कनाडा (ओंटारियो)Grade 12B. Software Development
कनाडा (ओंटारियो)Grade 12A. Programming Concepts and Skills
कनाडा (ओंटारियो)Grade 12B. Computer Technology Skills
नीदरलैंडVWO 2 (onderbouw)Using digital technology
नीदरलैंडHAVO 4 (bovenbouw, 2e fase)Programming
नीदरलैंडVWO 5Programming
पोलैंडSzkoła podstawowa, klasa VIIProgramming and solving problems with computers
पोलैंडSzkoła podstawowa, klasa VIIIProgramming and solving problems with computers
पोलैंडLiceum ogólnokształcące, klasa IIProgramming and solving problems with computers
रोमानियाClasa a VIII-aAlgorithms
रोमानियाClasa a X-aProgramming language basics
स्पेन2º ESOComputational thinking, programming and robotics
स्पेन3º ESOComputational thinking, programming and robotics
स्पेन1º BachilleratoComputer systems and programming
इंग्लैंडYear 9Computer science
इंग्लैंडYear 103.2 Programming
इंग्लैंडYear 134.1 Fundamentals of programming (A-level)
अमेरिकाGrade 8Algorithms and Programming
अमेरिकाGrade 9Algorithms and Programming
अमेरिकाGrade 10Big Idea 3: Algorithms and Programming
अमेरिकाGrade 11Using Objects and Methods
अमेरिकाGrade 11Data Collections
अमेरिकाGrade 11Algorithms and Programming
जापान中学3年Technology: information technology
जापान高校(専門学科)1〜3年Programming for Information Systems
दक्षिण कोरिया중학교 2학년Algorithms and programming
दक्षिण कोरिया중학교 3학년Programming
दक्षिण कोरिया고등학교 2학년Algorithms and programming
दक्षिण कोरिया고등학교 2학년Symbols and logic
दक्षिण कोरिया고등학교 2학년Software for creation
दक्षिण कोरिया고등학교 3학년Programming
रूस8 классAlgorithms and programming
रूस8 классAlgorithms and programming
रूस9 классAlgorithms and programming

पहले यह पढ़ें

आगे पढ़ें

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

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