Monday, March 8, 2010

C++ प्रोग्राम की संरचना

C++ प्रोग्राम परिभाषा एवं घोषणा का संग्रह है ।
· आंकड़ों के प्रकार का परिभाषन
· ग्लोबल आंकड़ों का परिभाषन
· फंक्शनों का परिभाषन
· वर्गों का परिभाषन
एक विशेष फंक्शन main()



इन्क्लूड स्टेटमेन्ट(Include Statement )
1. कम्पाइलर अपना काम शुरू करने से पहले #include के द्वारा iostream.h के contents को हमारी फाइल में जोड़ता है ।
2. इसके द्वारा आप अपने प्रोग्राम में C++ की Standard Library द्वारा बनाये गये फंक्शन तथा वर्ग का उपयोग कर सकते हैं ।
3. आप अपने द्वारा बनायी फाइल भी जोड़ सकते हैं ।



कुछ सर्वाधिक प्रयोग में आने वाले includes
· Basic I/O: iostream.h
· I/O manipulation: iomanip.h
· Standard Library: stdlio.h
· Time and Date support: time.h



C++ प्री-प्रोसेसर
1. C++ के कम्पायलर स्वतः ही एक प्री-प्रोसेसर को invoke करते हैं जो कि #include तथा स्पेशल निर्देशों के क्रियान्वयन का ख्याल रखते हैं ।
2. प्री-प्रोसेसर को क्रियान्वित करने के लिए कुछ करने की जरूरत नहीं है ये स्वतः ही क्रियान्वित होते हैं ।



वेरीयेबल
1. प्रोग्राम में वेरीयेबल का प्रयोग होता है । int integer1, integer2, sum;
2. वेरियेबल सिर्फ मेमोरी में विभिन्न स्थानों के लिए एक नाम का कार्य करता है ।
3. C++ के हर वेरीयेबल का टाइप एक होना चाहिए ।
4. C++ में वेरीयेबल को प्रयोग में लाने से पहले उनको declared करना जरूरी होता है ।
5. C++ में वेरियेबल की घोषणा इस प्रकार की जाती है type var_name;
6. टाइप वेरीयेबल के प्रकार की ओर इंगित करता है ।
7. C++ के built in type इस प्रकार है -int,char,float,double,boolean
8. आप अपने नये टाइप बना सकते हैं 



C++ में वेरीयेबल के नाम
· इंग्लिश के अक्षर, अंक, underscore से बने होते हैं ।
· शुरु का अक्षर अंक नहीं होना चाहिए ।
· Case sensitive होते हैं ।
· किसी भी लम्बाई के हो सकते हैं ।
· अच्छे नाम पाठक को उस वेरीयेबल के प्रयोग के बारे में जानकारी देते हैं ।



लिट्रल्स(Literals )
लिट्रल्स प्रोग्राम में प्रयोग किए गए स्थिरांक होते हैं । लिट्रल्स के उदाहरण 22 3.141 59 0x2A false “Hi Dave” ‘c’



कोंस्टेंट्स(Constants)
हम एक वेरीयेबल में उसके declaration के समय ही initialize कर सकते हैं अर्थात उसका मान स्थिर कर सकते हैं । int foo = 17; double PI = 3.14159; char newline = ‘\n’;




विभिन्न ऑपरेटर

1.गणितीय-ऑपरेटर 


प्रिसिडेंस(Precedence)
प्रिसिडेंस यह निर्धारित करता है कि कौन सा ऑपरेटर किस क्रम में क्रियान्वित होगा । - किसी भी lower प्रिसिडेंस के ऑपरेटर पहले क्रियान्वित होंगे ।
() left to right high
* / % left to right middle
+ - left to right low

2.सम्बन्ध सूचक एवं तुलनात्मक ऑपरेटर(Relational & Equality Operators)
सम्बन्ध सूचक एवं तुलनात्मक ऑपरेटर का प्रयोग मानो की तुलना करने में होता है ।
> Greater than
>= Greater than or equal
< Less than
<= Less than or equal
== Equal to
!= Not Equal to

3.असाइनमेंट ऑपरेटर(Assignment operators )

4.इन्क्रीमेंट ऑपरेटर (++)

5.डिक्रीमेंट ऑपरेटर(--)

6.साइज़ ऑफ ऑपरेटर(sizeof())

7.स्कोप रेज़ोल्यूश्न ऑपरेटर (::)



वस्तु केन्द्रित प्रोग्रामिंग के सिद्धांत

ऑब्जेक्ट
दैनिक दिनचर्या में हम जिस ओर भी दृष्टि डालते है।, चारों ओर वस्तु ही पाते हैं । यह संसार वस्तुमय है । जिसे पहचाना जा सके, जिसका एक आकार होता है, संरचना होती है, व्यवहार होता है, वस्तु कहलाती है प्रोग्रामिंग की वस्तु केन्द्रित शैली का भी यही मुख्य आधार है । विभिन्न वस्तुओं को एकत्र करके प्रयोग का एक नमूना तैयार किया जाता है, जोकि सार्वजनिक लक्ष्य को प्राप्त करने के लिए आपस में सूचनाओं का आदान-प्रदान करते हैं । ऑब्जेक्ट किसी वर्ग का एक दृष्टांत होता है ऑब्जेक्ट एवं पब्लिक फंक्शन की सहायता से ही वर्ग में घोषित किए गए परिवर्तनांकों के मान में 

परिवर्तन किया जाता है ।
वर्ग (Class) 
वर्ग वर्ग विभिन्न फंक्शन्स एवं परिवर्तनांकों का एक समूह है किसी भी ऑब्जेक्ट ओरिएण्टेड प्रोग्राम में कम-से-कम एक वर्ग का घोषित किया जाना आवश्यक होता है । वर्ग एक प्रयोगकर्ता द्वारा परिभाषित डेटा-टाइप है 

आंकड़ों का पृथककरण एवं नियंत्रण
1.गुण पृथककरण(Abstraction)
आंकड़ों के पृथककरण का आशय सम्पूर्ण जटिलता के सरलीकरण से है । इस प्रकार समझें कि हम लाइट ऑन करने के लिए स्विच को दबाने से स्विच के अन्दर क्या हुआ, स्विच दबाने से लाइट कैसे ऑन हुई । हमें यह सब जानने की आवश्यकता नहीं होती । यही गुण पृथककरण कहलाता है ।



2.आंकड़ा नियन्त्रण(Encapsulation)
आंकड़ा नियन्त्रण वस्तु केन्द्रित प्रोग्रामिंग शैली का एक अत्यंत महत्वपूर्ण तथ्य है । यहडेटा स्ट्रक्चर एवं Functionality को वस्तु (Object) में मिलाता है । एनकैप्स्यूलेशन ऑब्जेक्ट के आन्तरिक रूप को उसके उपयोगकर्ता से छुपाता भी है और उपयोग हो सकने वाले ऑब्जेक्ट को सूचित भी करता है । आंकड़ा नियन्त्रण अर्थात् फंक्शन्स व आंकड़ों का एकीकरण करना । ऑब्जेक्ट ओरिएण्टेड प्रोग्रामिंग शैली की इस विशेषता के कारण हम प्रोग्राम और एवं आंकड़ों दोनों को बाहरी नियंत्रण से बचा सकते हैं ।



उत्तराधिकार(Inheritance)
उत्तराधिकार भी ऑब्जेक्ट्स ओरिएण्टेड प्रोग्रामिंग शैली की एक महत्वपूर्ण एवं उपयोगी विशेषता है । इसके द्वारा हम एक वर्ग की विशेषताएं किसी दूसरे वर्ग से प्राप्त करवा सकते हैं । उत्तराधिकार की धारणा का प्रयोग करके पुराने वर्ग से नए वर्ग का निर्माण सम्भव है । नए वर्ग को व्यूत्पन्नवर्ग (Derived Class) तथा पुराने वर्ग, जिससे इसे बनाया गया है, को मूल वर्ग (Base Class) कहा जाता है यह व्यूत्पन्नवर्ग (Derived Class) का मूल वर्ग की आंकड़ा डाटा संरचनाओं एवं फंक्शन्स पर समान अधिकार रखता है । यह नया वर्ग मूल वर्ग से लिए गए आंकड़ों एवं फंक्शन्स में नए आंकड़ें एवं फंक्शन्स को जोड़ सकता है ।






· यह वस्तु केन्द्रित प्रोग्रामिंग का एक अनिवार्य गुण है इसमें पृष्ठ-भूमि या किसी स्पष्टीकरण की आवश्यकता नहीं है ।
· यह एक प्रक्रिया है जिसमें एक वस्तु किसी दूसरे वस्तु के गुणों का उपार्जन करती है ।
· यह कि यह विधि किसी सामान्य वस्तु विशिष्ट करने का गुण रखती है ।
· यह reusability का विचार प्रदान करती है ।
· हम पहले बने वर्ग में बिना किसी परिवर्तन के नये गुणों को जोड़ सकते हैं ।

बहुरूपण(Polymorphism)
बहुरूपण का शाब्दिक अर्थ है । एक नाम पर अनेक कार्य । इस विधि से हम किसी कार्य को पृथक परिस्थिति में उसी के अनुसार करवा सकते हैं । बहुरूपण हमें समान बाहरी स्ट्रक्चर के आन्तिरक भिन्नता लिए हुए ऑब्जेक्ट्स को प्रयोग करने से की सुविधा प्रदान करता है । · बहुरूपण एक से अधिक रूप लेने की क्षमता प्रदान करता है ।
· विभिन्न वस्तुओं के संदर्भ में प्रचालन एक से अधिक व्यवहार प्रदर्शित करता है ।
· फंक्शन तथा ऑपरेटर का व्यवहार प्रचालन में प्रयोग किए गए आंकड़ों पर निर्भर करता है ।

बहुरूपण दो प्रकार के होते हैं –
1. फंक्शन ओवरलोडिंग(Function Overloading)--फंक्शन एक से अधिक व्यवहार प्रदर्शित करता है ।
2. ऑपरेटर ओव्हरलोडिंग (Operator Overloading)-– ऑपरेटर विभिन्न वस्तुओं के सन्दर्भ एक से अधिक व्यवहार प्रदर्शित करता है 

संदेश प्रवहन
ऑब्जेक्ट ओरिएण्टेड प्रोग्राम एक अनेक ऑब्जेक्ट्स का समूह होता है, जो आपस में एक-दूसरे को आवश्यकता पड़ने पर संदेश भेजते भी हैं और प्राप्त भी करते हैं । किसी ऑब्जैक्ट के लिए एक सन्देश एक निश्चित प्रक्रिया अथवा प्रक्रिया को कार्यान्वित करने के लिए होता है । अतः सन्देश प्राप्त करके ऑब्जेक्ट एक निश्चित प्रक्रिया को कार्यान्वित करके परिणाम प्रस्तुत करता है । संदेश प्रवहन एक निश्चित प्रक्रिया कार्यान्वित करने के लिए होता है अतः संदेश प्राप्त करके ऑब्जेक्ट एक निश्चित प्रक्रिया कार्यान्वित करके परिणाम प्रस्तुत करते हैं । संदेश प्रवहन के लिए हमें ऑब्जेक्ट का नाम, फंक्शन का नाम तथा उपयोगी जानकारी देनी पड़ती है । 


वस्तु केन्द्रित प्रोग्रामिंग एक परिचय

हम आम जीवन में किसी भी समस्या के समाधान करने के लिए पहले अपना ध्यान उस वस्तु पर केन्द्रित करते हैं तथा उस वस्तु की विशेषताओं और कमियों से ही उसके प्रयोग की विधियों की खोज करते हैं । इसे इस प्रकार समझें कि यदि हमें किसी मशीन के किसी दोष को दूर करना है, तो सर्वप्रथम उस मशीन तथा उसकी कार्य-विधि आदि के बारे में गहन विचार करते हैं, अब इस मशीन को ठीक करने के लिए उपरोक्त विचार के अनुरुप विधि एवं सामग्री का चुनाव करते हैं । इस विधि से किया गया कार्य समस्या का सटीक निदान होता है । इस प्रकार हम देखते हैं समस्त विश्व वस्तु केन्द्रित (OBJECT ORIENTED) ही है । कम्प्यूटर प्रोग्रामिंग में प्रोग्रामिंग की आधुनिक शैली वस्तु केन्द्रित प्रोग्रामिंग भी इसी तथ्य के अनुरुप है । आधुनिक कम्प्यूटर प्रोग्रामिंग भाषाओं; जैसे – C एवं जावा आदि में इसी प्रोग्रामिंग शैली का प्रयोग होता है ।
मुख्य गुण
· प्रक्रिया से ज्यादा आंकड़ों को महत्व दिया जाता है ।
· प्रोग्राम का ऑब्जेक्ट में विभाजन किया जाता है ।
· आंकड़ों का रूपांकन इस प्रकार किया जाता है कि वह ऑब्जेक्ट की विशेषताओं को दिखायें ।
· ऑब्जेक्ट में काम करने वाले फलनों को डेटा-स्ट्रकचर में साथ-साथ रखा जाता है ।
· आंकड़ों को गुप्त रखा जाता है तथा बाह्य फलनों को उनके परिग्रहण की अनुमति नहीं होती है ।
· ऑब्जेक्टों का आपसी सम्पर्क फलनों के द्वारा होता है ।



 कम्प्यूटर प्रोग्राम लिखने की परम्परागत प्रोग्रामिंग शैली में हम परिवर्तनों (VARIABLES) का प्रयोग फंक्शन (FUNCTION) के अन्दर करते हैं । इन्हीं परिवर्तनांकों के आधार पर प्रोग्रामिंग में अनेक प्रकार के कार्य; जैसे – गणनाएं, आकड़ें प्रिंट करना, आकड़ें संचित करना आदि कार्य होते हैं । छोटे प्रोग्राम में हम इन परिवर्तनांक को सरलता से नियंत्रित कर सकते हैं, परन्तु जैसे-जैसे प्रोग्राम बड़ा होता जाता है इन परिवर्तनांकों को नियंत्रित करना कठिन होता जाता है और प्रोग्रामिंग में गलतियां होने की सम्भावनाएं बढ़ती जाती है । वस्तु केन्द्रित प्रोग्रामिंग में परिवर्तनांकों एवं प्रोग्राम्स को एक वर्ग (CLASS) में सम्बद्ध कर दिया जाता है, जिससे अन्य प्रोग्राम द्वारा किसी वर्ग के आंकड़े प्रभावित नहीं होते हैं । इससे प्रोग्राम को नियंत्रण करना सरल हो जाता है । इस कार्य को वस्तु केन्द्रित प्रोग्रामिंग भाषा में एनकैप्स्यूलेशन (ENCAPSULATION) जिसका शाब्दिक अर्थ एक के भीतर दूसरा रखने का किया है, कहा जाता है । प्रोग्रामिंग की वस्तु केन्द्रित शैली में पहने से बने किसी प्रोग्राम अथवा वर्ग के आधार पर नए प्रोग्राम को बना सकते हैं । वस्तु केन्द्रित प्रोग्रामिंग की इस विशेषता को उत्तराधिकार (INHERITANCE) कहा जाता है । प्रोग्रामिंग की इस विशेष शैली का प्रयोग करते हुए हम पहले से बने किसी प्रोग्राम अथवा वर्ग (CLASS) का प्रयोग करके एक नया और समृद्ध सॉफ्टवेयर अत्यंत अल्प समय में विकसित कर सकते हैं 

C एवं C++ में समानताएं/असमानताएं

C एवं C++ में समानताएं :-
प्रोग्रामिंग भाषा C++ तथा C में निम्न समानताएं हैं :-
1. प्रोग्रामिंग भाषा C++, C के समान केस सेन्सेटिव है ।
2. प्रोग्रामिंग भाषा C++ में तथा C में लिखे जाने वाले प्रोग्राम में स्टेटमेन्ट के अंत में ‘;’ सेमीकोलोन लगाया जाता है ।
3. प्रोग्रामिंग भाषा C++ में लिखे प्रोग्राम में भी C के समान परिवर्तनांकों को उनके प्रयोग के पूर्व घोषित करना आवश्यक है ।
4. लोकल एवं ग्लोबल परिवर्तनांक का मान समान हो सकता है । प्रोग्राम लोकल परिवर्तनांक के मान का प्रयोग करता है ।

C तथा C++ में असमानताएं :-
1. लोकल एवं ग्लोबल परिवर्तनांकों का नाम समान हो सकता है । प्रोग्राम लोकल परिवर्तनांक के मान का प्रयोग करता है ।
2. प्रोग्रामिंग भाषा C स्ट्रक्चर्ड प्रोग्रामिंग है । जबकि C++ वस्तु केन्द्रित प्रोग्रामिंग भाषा है ।
3. C++ में आइडेन्टीफायर में कितनी भी संख्या में कैरेक्टर हो सकते हैं । जबकि C में आइडेन्टीफायर में 32 कैरेक्टर ही हो सकते हैं ।
4. C++ प्रोग्रामिंग formfree प्रोग्रामिंग है जबकि C में एक Form के अनुरूप प्रोग्रामिंग करनी होती है ।
5. प्रोग्रामिंग भाषा C++ में हम नए डेटाटाइप भी बना सकते हैं । जबकि C में ऐसा सम्भव नहीं है ।
6. प्रोग्रामिंग भाषा C में किसी परिवर्तनांक के पास में सीधे-सीधे प्रयोग एवं परिवर्तन किया जा सकता है जबकि प्रोग्रािमंग भाषा C++ में परिवर्तनांक के मान का प्रयोग परिवर्तन अप्रत्यक्ष रूप से किया जाता है ।
7. प्रोग्रामिंग भाषा C में हैडर फाइल Stdio.h को इन्क्लूड करवाया जाता है जबकि C++ में iostream.h हैडर करवा कर इन्क्लूड करवाया जाता है ।
8. C++ में main() फंक्शन int टाइप की मान रिटर्न करता है । जबकि C++ में यह फंक्शन किसी प्रकार का कोई मान रिटर्न नहीं करता है ।
9. प्रोग्रामिंग भाषा C++ में निर्देश में C की अपेक्षा अधिक सरल और सुगम बनाया गया है ।




प्रवाह तालिका बनाने के नियम

प्रवाह तालिका का निर्माण एक टरमिनल सिम्बल स्टार्ट से प्रारम्भ होता है । प्रवाह तालिका में प्रवाह ऊपर से नीचे एवं बाएं से दायीं ओर होना चाहिए । दो विभिन्न क्रियाएं, किसी एक प्रश्न के दो सम्भावित उत्तरों पर निर्भर करती हैं । ऐसी परिस्थिति में प्रश्न को एक निर्णय चिन्ह में प्रदर्शित करते हैं तथा इन परिस्थितियों को निर्णय चिन्ह से निकलने वाली दो प्रवाह रेखाओं द्वारा जो कि चिन्ह से बाहर की ओर आ रही हैं, प्रदर्शित करते हैं । निर्णय चिन्ह में एक प्रवाह रेखा आनी चाहिए और सभी सम्भावित उत्तरों के लिए पृथ्क रेखा होनी चाहिएं । 
प्रत्येक चिन्ह में दिए गए निर्देश स्पष्ट एवं पूर्ण होने चाहिए ताकि उसे पढ़कर समझने में कठिनाई न हो । प्रवाह तालिका में प्रयुक्त नाम एवं परिवर्तनांक एक रूप होने चाहिएं ।यदि प्रवाह तालिका बड़ी हो गई है और उसे अगले पृष्ठ पर भी बनाया जाना है तो प्रवाह तालिका को इन्पुट अथवा आउटपुट सिम्बल पर ही तोड़ना चाहिए तथा उपयुक्त कनेक्टर का प्रयोग करना चाहिए । प्रवाह तालिका जहां तक सम्भव हो अत्यन्त साधारण होनी चाहिए । प्रवाह रेखाएं एक-दूसरे को काटती हुई नहीं होनी चाहिएं । यदि ऐसी परिस्थिति आती है तो उपयुक्त कनेक्टर का प्रयोग करना चाहिए । प्रोसेस सिम्बल में केवल एक ही प्रवाह रेखा आनी चाहिए और एक ही प्रवाह रेखा निकलनी चाहिए । नीचे से ऊपर की ओर जाने वाली प्रवाह रेखा या तो किसी विश्लेषण की पुनरावृत्ति अथवा लूप को प्रदर्शित करनी चाहिए ।

प्रोग्रामिंग के विभिन्न चरण

1).एल्गोरिथ्म
पारिभाषिक शब्दों में किसी गणितीय समस्या अथवा डाटा को कदम-ब-कदम इस प्रकार विश्लेषित करना जिससे कि वह कम्प्यूटर के लिए ग्राह्म बन सके और कम्प्यूटर उपलब्ध डाटा को प्रयोग में लेकर गणितीय समस्या का उचित हल प्रस्तुत कर सके, एल्गोरिथ्म कहलाता है । जब कम्प्यूटर पर करने के लिए कोई कार्य दिया जाता है तो प्रोग्रामर (आप) को उसकी संपूर्ण रूपरेखा तैयार करनी होती है तथा कम्प्यूटर से बिना गलती कार्य करवाने के लिए किस क्रम से निर्देश दिए जाएंगे, यह तय करना होता है । अर्थात किसी कार्य को पूर्ण करने के लिए विभिन्न चरणों से गुजरना पड़ता है । जब समस्या के समाधान हेतु विभिन्न चरणों को क्रम से क्रमबद्ध करके िलखा जाये तो यह एल्गोरिथ्म कहलाता है ।
ध्यान रखें
· एल्गोरिथ्म में दिए गए समस्त निर्देश सही एवं स्पष्ट अर्थ के होने चाहिए ।
· प्रत्येक निर्देश ऐसा होना चाहिए कि जिसका अनुपालन एक निश्चित समय में किया जा सके ।
· कोई एक अथवा कई निर्देश ऐसे न हों जो अन्त तक दोहराए जाते रहें । यह सुनिश्चित करें कि एल्गोरिथ्म का अन्ततः समापन हो ।
· सभी निर्देशों के अनुपालन के पश्चात, एल्गोरिथ्म के समापन पर वांछित परिणाम अवश्य प्राप्त होने चाहिए ।
· िकसी भी निर्देश का क्रम बदलने अथवी किसी निर्देश के छूटने पर एल्गोरिथ्म के समापन पर वांछित नहीं प्राप्त होंगे ।




प्रवाह तालिका में प्रयुक्त चिन्ह एवं आकृतियां 
1. टर्मिनल – टर्मिनल का प्रयोग प्रोग्राम के प्रारम्भ , समापन और विराम के लिए किया जाता है । यह प्रोग्राम का प्रारम्भ होना और प्रोग्राम का समापन होना प्रदर्शित करता है ।
2. इनपुट/आउटपुट – प्रोग्राम में कोई भी इनपुट देने अथवा आउटपुट प्राप्त करने के लिए इनपुट/आउटपुट चिन्ह का प्रयोग किया जाता है । 
3. प्रोसेसिंग – फ्लोचार्ट में प्रोसेसिंग चिन्ह का उपयोग अंकगणितीय प्रक्रिया एवं डाटा विस्थापन सम्बन्धी निर्देशों के लिए किया जाता है । सभी अंकगणितीय प्रक्रिया जैसे जोड़ना, घटाना, गुणा करना और भाग करना प्रवाह तालिका में प्रोसेसिंग चिन्ह द्वारा प्रदर्शित किया जाता है । 
4. प्रवाह रेखाएं – तीर की आकृति सिरे वाली यह रेखाएं प्रोग्राम के प्रवाह को प्रदर्शित करने के लिए की जाती है । प्रोग्राम के प्रवाह को प्रदर्शित करने के निर्देशों के क्रम है जिनके अनुसार निर्देशों का क्रियान्वयन किया जाना है । 
5. निर्णायात्मक – प्रवाह तालिका में निर्णायात्मक चिन्ह का प्रयोग यह दर्शाता है कि यहां पर निर्णय लिया है जिसके दो या दो से अधिक विकल्प हो सके हैं ।Decision Box में निर्णय करने के विशिष्ट मान स्पष्ट रूप से प्रकट किए गए हों ।  
6. संयोजक चिन्ह – प्रवाह तालिका में दो प्रकार के Connectors प्रयोग किए जाते हैं –
- ऑन पेज कनेक्टर
-ऑफ पेज कनेक्टर  
7. पूर्व परिभाषित विश्लेषण चिन्ह – प्रवाह तालिका में यदि पहले की गई प्रोसेसिंग को पुनः किसी अन्य बिन्दु पर प्रयोग करना होता है तो उस बिन्दु पर प्रोसेसिंग सिम्बल के स्थान पर इस चिन्ह प्रयोग किया जाता है ।  

3).मिथ्या संकेत 
किसी प्रोग्राम को विकसित करने की प्रक्रिया किए जाने वाले कार्य को समझने एवं कार्य के सम्पन्न होने हेतु तर्क निर्धारण से प्रारम्भ होती है और यह कार्य प्रवाह तालिका अथवा मिथ्या संकेत की सहायता से किया जाता है । मिथ्या संकेत प्रवाह तालिका का एक विकसित विकल्प है । मिथ्या संकेत में विभिन्न आकृतियों अथवा चिन्हों की अपेक्षा प्रोग्राम की प्रक्रिया को क्रम से लिखा जाता है । चूंकि इसका प्रोग्राम को Design करने में महत्वपूर्ण स्थान है अतः इसे प्रोग्राम डिजाइन भाषा भी कहा जाता है ।

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

सामान्य जीवन में हम किसी कार्य विशेष को करने का निश्चय करते हैं तो उस कार्य को करने से पूर्व उसकी रूपरेखा सुनिश्चित की जाती है । कार्य से सम्बन्धित समस्त आवश्यक शर्तों का अनुपालन उचित प्रकार हो एवं कार्य में आने वाली बाधाओं पर विचार कर उनको दूर करने की प्रक्रिया भी रूप रेखा तैयार करते समय महत्वपूर्ण विचारणीय विषय होते हैं । कार्य के प्रारम्भ होने से कार्य के सम्पन्न होने तक के एक-एक चरण (step) पर पुनर्विचार करके रूपरेखा को अन्तिम रूप देकर उस कार्य विशेष को सम्पन्न किया जाता है । इसी प्रकार कम्प्यूटर द्वारा, उसकी क्षमता के अनुसार, वांछित कार्य कराये जा सकते हैं । इसके लिए आवश्यकता है कम्प्यूटर को एक निश्चित तकनीक व क्रम में निर्देश दिए जाने की, ताकि कम्प्यूटर द्वारा इन निर्देशों का अनुपालन कराकर वांछित कार्य को सम्पन्न किया जा सके । सामान्य बोल-चाल की भाषा में इसे प्रोग्रामिंग कहा जाता है ।

कम्प्यूटर को निर्देश किस प्रकार दें ?
कम्प्यूटर को निर्देश योजनाबद्ध रूप में, अत्यन्त स्पष्ट भाषा में एवं विस्तार से देना अत्यन्त आवश्यक होता है । कम्प्यूटर को कार्य विशेष करने के लिए एक प्रोग्राम बनाकर देना होता है । दिया गया प्रोग्राम जितना स्पष्ट, विस्तृत और सटीक होगा, कम्प्यूटर उतने ही सुचारू रूप से कार्य करेगा, उतनी ही कम गलतियां करेगा और उतने ही सही उत्तर देगा । यदि प्रोग्राम अस्पष्ट होगा और उसमें समुचित विवरण एवं स्पष्ट निर्देश नहीं होंगे तो यह सम्भव है कि कम्प्यूटर बिना परिणाम निकाले ही गणना करता रहे अथवा उससे प्राप्त परिणाम अस्पष्ट और निरर्थक हों ।कम्प्यूटर के लिए कोई भी प्रोग्राम बनाते समय निम्न बातों को ध्यान में रखना आवश्यक है –
1. समस्या का सावधानीपूर्वक अध्ययन करके निर्देशों को निश्चित क्रम में क्रमबद्ध करना ।
2. निर्देश इस प्रकार लिखना कि उनका अक्षरशः पालन करने पर समस्या का हल निकल सके ।
3. प्रत्येक निर्देश एक निश्चित कार्य करने के लिए हो 



प्रोग्रामिंग के विभिन्न चरण 
किसी भी प्रोग्राम की प्रोग्रामिंग करने के लिए सर्वप्रथम प्रोग्राम के समस्त निर्देष्टीकरण को भली-भांति समझ लिया जाता है । प्रोग्राम में प्रयोग की गई सभी शर्तों का अनुपालन सही प्रकार से हो रहा है अथवा नहीं, यह भी जांच लिया जाता है । अब प्रोग्राम के सभी निर्दिष्टीकरण को जांचने-समझने के उपरान्त प्रोग्राम के शुरू से वांछित परिणाम प्राप्त होने तक के सभी निर्देशों को विधिवत क्रमबद्ध कर लिया जाता है अर्थात प्रोग्रामों की डिजाइनिंग कर ली जाती है । प्रोग्राम की डिजाइन को भली-भांति जांचकर, प्रोग्राम की कोडिंग की जाती है एवं प्रोग्राम को कम्पाइल किया जाता है । प्रोग्राम में टेस्ट डेटा इनपुट करके प्रोग्राम की जांच की जाती है कि वास्तव में सही परिणाम प्राप्त हो रहा है अथवा नहीं । यदि परिणाम सही नहीं प्राप्त होते हैं तो इसका अर्थ है कि प्रोग्राम के किसी निर्देश का क्रम गलत है अथवा निर्देश किसी स्थान पर गलत दिया गया है । यदि परिणाम सही प्राप्त होता है तो प्रोग्राम में दिए गए निर्देशों के क्रम को एकबद्ध कर लिया जाता है एवं निर्देशों के इस क्रम को कम्प्यूटर में स्थापित कर दिया जाता है । इस प्रकार प्रोग्रामिंग की सम्पूर्ण प्रक्रिया सम्पन्न होती है