कंप्यूटर अपने आप कुछ नहीं करता; उसे बताना पड़ता है कि क्या करना है और कैसे करना है। यह कार्य प्रोग्रामिंग द्वारा होता है। प्रोग्रामिंग निर्देशों (Instructions) का वह समूह है जो कंप्यूटर को एक निश्चित कार्य करने का मार्ग दिखाता है। आज के डिजिटल युग में गेम, ऐप, वेबसाइट और सॉफ्टवेयर — सब प्रोग्रामिंग के फल हैं। इस अध्याय में हम प्रोग्रामिंग की मूल अवधारणाओं — एल्गोरिदम, फ्लोचार्ट, प्रोग्रामिंग भाषाएँ, वेरिएबल और प्रोग्राम के मूल भागों — को सरल भाषा में सीखेंगे।
2. प्रोग्राम और प्रोग्रामिंग की परिभाषा
प्रोग्राम (Program) निर्देशों का एक व्यवस्थित समूह है, जो कंप्यूटर को एक विशेष कार्य करने के लिए दिया जाता है। प्रोग्राम लिखने की प्रक्रिया को प्रोग्रामिंग (Programming) कहते हैं। प्रोग्राम लिखने वाले व्यक्ति को प्रोग्रामर (Programmer) कहते हैं। प्रोग्राम लिखने के लिए प्रयोग होने वाली भाषा को प्रोग्रामिंग भाषा (Programming Language) कहते हैं।
3. एल्गोरिदम (Algorithm)
एल्गोरिदम किसी कार्य को करने के लिए दिए गए स्पष्ट और क्रमबद्ध निर्देशों का समूह है। इसे सरल भाषा में लिखा जाता है, जिसे कंप्यूटर और मनुष्य दोनों समझ सकते हैं।
एल्गोरिदम के उदाहरण — दो संख्याओं का योग निकालने का एल्गोरिदम:
1. प्रारंभ करें।
2. पहली संख्या A पढ़ें।
3. दूसरी संख्या B पढ़ें।
4. योग = A + B।
5. योग को प्रदर्शित करें।
6. समाप्त करें।
एल्गोरिदम की विशेषताएँ: यह स्पष्ट, क्रमबद्ध, सरल और निश्चित होना चाहिए, तथा इसका अंत होना चाहिए।
4. फ्लोचार्ट (Flowchart)
फ्लोचार्ट एल्गोरिदम का चित्रात्मक निरूपण है, जिसमें विभिन्न आकृतियों और तीरों की सहायता से प्रोग्राम के चरणों को दिखाया जाता है। यह प्रोग्राम की समझ को आसान बनाता है।
फ्लोचार्ट के प्रतीक
प्रतीक
आकृति
कार्य
दीर्घवृत्त (Oval)
प्रारंभ/समाप्त
समांतर चतुर्भुज
इनपुट/आउटपुट
आयत (Rectangle)
प्रक्रिया/गणना
समचतुर्भुज (Rhombus)
निर्णय (हाँ/नहीं)
तीर (Arrow)
क्रम दिखाना
5. प्रोग्रामिंग भाषाएँ (Programming Languages)
प्रोग्रामिंग भाषाओं को तीन मुख्य स्तरों में बाँटा गया है:
5.1 निम्न स्तरीय भाषाएँ (Low Level Languages)
मशीन भाषा (Machine Language): केवल 0 और 1 में लिखी जाती है। यह एकमात्र भाषा है जिसे कंप्यूटर सीधे समझता है।
असेम्बली भाषा (Assembly Language): इसमें संक्षिप्त शब्दों (जैसे ADD, SUB) का उपयोग होता है। इसे मशीन भाषा में बदलने के लिए असेम्बलर की आवश्यकता होती है।
5.2 उच्च स्तरीय भाषाएँ (High Level Languages)
ये भाषाएँ अंग्रेज़ी के करीब होती हैं, जिससे मनुष्यों को समझना आसान होता है। इन्हें मशीन भाषा में बदलने के लिए कंपाइलर या इंटरप्रेटर की आवश्यकता होती है। उदाहरण: पायथन, सी, जावा, बेसिक।
5.3 स्क्रिप्टिंग भाषाएँ
वेबपेज और छोटे कार्यों में प्रयोग होती हैं, जैसे जावास्क्रिप्ट, पीएचपी।
6. कंपाइलर और इंटरप्रेटर
कंपाइलर (Compiler): उच्च स्तरीय भाषा के पूरे प्रोग्राम को एक साथ मशीन भाषा में बदलता है। बाद में गलती होने पर पूरी तरह से दोबारा कंपाइल करना पड़ता है।
इंटरप्रेटर (Interpreter): प्रोग्राम की पंक्तियों को एक-एक करके मशीन भाषा में बदलता है। गलती आने पर तुरंत रुक जाता है।
7. प्रोग्राम के मूल भाग
इनपुट: डेटा प्राप्त करना।
प्रोसेसिंग: डेटा पर गणना/प्रक्रिया।
आउटपुट: परिणाम दिखाना।
निर्णय लेना: किसी शर्त के आधार पर चुनाव (यदि-तो)।
8. वेरिएबल (Variable) और स्थिरांक (Constant)
वेरिएबल (Variable): एक नाम जो मेमोरी में डेटा सहेजने के लिए प्रयोग होता है और जिसका मान बदल सकता है। जैसे A = 5, तो A एक वेरिएबल है।
स्थिरांक (Constant): वह मान जो प्रोग्राम के दौरान बदलता नहीं, जैसे PI = 3.14।
9. मूल प्रोग्रामिंग शब्द
कीवर्ड (Keyword): भाषा के आरक्षित शब्द, जैसे if, else, for।
सिंटैक्स (Syntax): प्रोग्राम लिखने के नियम। गलत सिंटैक्स पर प्रोग्राम गलती देता है।
लॉजिक एरर (Logic Error): नियम सही परंतु परिणाम गलत — विचार में गलती।
रनटाइम एरर (Runtime Error): प्रोग्राम चलते समय आने वाली गलती।
बग (Bug): प्रोग्राम में गलती।
डीबगिंग (Debugging): गलतियाँ ढूंढकर सुधारना।
लूप (Loop): एक ही कार्य को बार-बार करना।
10. एक सरल प्रोग्राम का उदाहरण
मान लीजिए हमें पाँच बार 'नमस्ते' छापना है। इसे सरल भाषा (सूडोकोड) में इस प्रकार लिखा जा सकता है:
प्रारंभ करें।
गिनती = 1 रखें।
जब तक गिनती 5 से कम या बराबर है, 'नमस्ते' छापें।
गिनती में 1 जोड़ें।
फिर से चरण 3 पर जाएँ।
जब गिनती 5 से अधिक हो, तो समाप्त करें।
यहाँ चरण 3 से 5 एक 'लूप' का उदाहरण है, जिसमें एक ही कार्य (नमस्ते छापना) बार-बार होता है। इसी प्रकार, यदि हमें केवल उन संख्याओं को छापना हो जो 10 से बड़ी हैं, तो 'निर्णय' (if) की अवधारणा प्रयोग होगी। वास्तविक प्रोग्रामिंग में इन्हीं एल्गोरिदम और फ्लोचार्ट के विचारों को पायथन, सी या जावा जैसी भाषा के नियमों (सिंटैक्स) में लिखा जाता है।
त्वरित पुनरावृत्ति तालिकाएँ
तालिका 1: प्रोग्रामिंग भाषा के स्तर
स्तर
भाषा
मानव समझ
निम्न
मशीन भाषा
कठिन
मध्यम
असेम्बली
कठिन
उच्च
पायथन, सी, जावा
आसान
तालिका 2: फ्लोचार्ट प्रतीक
आकृति
कार्य
दीर्घवृत्त
प्रारंभ/समाप्त
समांतर चतुर्भुज
इनपुट/आउटपुट
आयत
प्रक्रिया
समचतुर्भुज
निर्णय
तीर
क्रम
तालिका 3: एरर के प्रकार
एरर
विवरण
सिंटैक्स एरर
लिखने के नियम गलत
लॉजिक एरर
विचार में गलती
रनटाइम एरर
चलते समय की गलती
माइंड मैप
graph TD
A["प्रोग्रामिंग"] --> B["एल्गोरिदम"]
A --> C["फ्लोचार्ट"]
A --> D["प्रोग्रामिंग भाषाएँ"]
A --> E["प्रोग्राम के भाग"]
B --> B1["क्रमबद्ध निर्देश"]
C --> C1["प्रतीक व तीर"]
D --> D1["मशीन भाषा"]
D --> D2["असेम्बली"]
D --> D3["उच्च स्तरीय"]
E --> E1["इनपुट"]
E --> E2["प्रोसेसिंग"]
E --> E3["आउटपुट"]
E --> E4["निर्णय"]
महत्वपूर्ण आरेख (SVG)
आरेख 1: योग निकालने का फ्लोचार्ट
आरेख 2: निर्णय (यदि-तो) का फ्लोचार्ट
सामान्य गलतियाँ
एल्गोरिदम और फ्लोचार्ट को समान समझना: एल्गोरिदम शब्दों में लिखा निर्देश समूह है, फ्लोचार्ट उसका चित्र है।
फ्लोचार्ट में प्रारंभ/समाप्त के लिए आयत प्रयोग करना: प्रारंभ/समाप्त हमेशा दीर्घवृत्त (Oval) में बनता है।
निर्णय को आयत में दिखाना: निर्णय हमेशा समचतुर्भुज (Rhombus) में बनता है।
मशीन भाषा को उच्च स्तरीय मानना: मशीन भाषा निम्न स्तरीय है, केवल 0 और 1 में।
कंपाइलर और इंटरप्रेटर में भ्रम: कंपाइलर पूरा प्रोग्राम एक साथ बदलता है; इंटरप्रेटर पंक्ति-दर-पंक्ति।
सिंटैक्स और लॉजिक एरर को उलटना: सिंटैक्स नियमों की गलती है; लॉजिक एरर सोच की गलती।
प्रोग्रामिंग भाषा को मशीन भाषा समझना: मनुष्य प्रोग्रामिंग भाषा (पायथन आदि) में लिखता है, जिसे बाद में मशीन भाषा में बदला जाता है।
परीक्षा युक्तियाँ
प्रोग्राम, प्रोग्रामिंग, एल्गोरिदम और फ्लोचार्ट की परिभाषाएँ कंठस्थ करें।
फ्लोचार्ट के प्रतीकों (आकृतियों) का नाम और कार्य अलग-अलग लिखें।
एल्गोरिदम के चरण क्रमांकित रूप में लिखें।
भाषा के तीन स्तरों (मशीन, असेम्बली, उच्च स्तरीय) की तुलना करें।
कंपाइलर और इंटरप्रेटर का अंतर तालिका में लिखें।
वेरिएबल और स्थिरांक के उदाहरण दें।
बग और डीबगिंग शब्दों की परिभाषा लिखें।
निष्कर्ष
प्रोग्रामिंग कंप्यूटर से कार्य कराने की कला है। एल्गोरिदम से हम कार्य को क्रमबद्ध निर्देशों में बदलते हैं और फ्लोचार्ट से उसकी चित्रात्मक झलक प्राप्त करते हैं। प्रोग्रामिंग भाषाओं के स्तरों और कंपाइलर-इंटरप्रेटर की समझ हमें यह बताती है कि मनुष्य की भाषा कंप्यूटर तक कैसे पहुँचती है। वेरिएबल, लूप और निर्णय जैसी अवधारणाएँ प्रोग्रामिंग की नींव हैं। इस ज्ञान से हम अपने विचारों को कंप्यूटर तक पहुँचाना सीखते हैं, जो डिजिटल युग की सबसे मूल्यवान क्षमता है।