स्यूडोकोड

परिचय

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

इस पाठ में आप सीखेंगे कि चरणों में कंप्यूटर प्रोग्राम कैसे लिखना है।

पहला कदम यह होगा कि आपको क्या करना है इसके बारे में सोचना होगा।

अगले चरण में आप लिखेंगे कि प्रोग्राम छद्म कोड में क्या करना चाहते हैं।

Pseudocode (derived from pseudo and code) is a description

of a computer programming algorithm that uses the structural

conventions of programming languages, but omits detailed

subroutines or language-specific syntax.  ( WikipediA )

 

…written in a pseudo-code that resembles a computer language but

avoids excessive detail by lapsing from time to time into ordinary

English. This lets us specify quite a bit of the program before we

have worked out all aspects of it.  On larger programs, it is

valuable to begin with pseudo-code and refine it in stages until

it is all executable.  This way you can revise and improve the

design at a high level without writing any executable code, yet

remain close to a form which can be made executable.

(Software Tools, Kernighan, Plauger)

एक तीसरा कदम छद्म कोड का सही ढंग से गठित निर्देशों में रूपांतरण है जो आपके द्वारा उपयोग की जा रही प्रोग्रामिंग भाषा में उपलब्ध हैं, हमारे मामले में लोगो।

गैर-ट्रिबियल कार्यक्रम कैसे लिखें
वह वही करो जो आप चाहते हैं

जब आपने पिछले पाठ के अंत में अभ्यास किया था, तो मेरा अनुमान है कि आपने उन कार्यक्रमों में टाइप नहीं किया जो पूरी तरह से पहली बार काम करते थे। यदि आपने किया, बधाई हो … आप कल्पना और व्यवस्थित विचार पर महान हैं। अच्छी खबर यह है कि कोई भी सही कार्यक्रम लिखना सीख सकता है – एक अनुभवी प्रोग्रामर को इन अभ्यासों के लिए “सही” कार्यक्रम लिखने में कोई समस्या नहीं होगी।

क्यूं कर?

एक अनुभवी प्रोग्रामर निर्देशों में टाइपिंग शुरू करने से पहले समस्या को हल करने के बारे में सोचता है। एक अनुभवी प्रोग्रामर समस्या को टुकड़ों में तोड़ देगा जो प्रत्येक अपने आप से करना आसान है। फिर, समस्या को हल करने के लिए सभी टुकड़ों को एक साथ रखें। कंप्यूटर विज्ञान में यह एक प्रक्रिया है जिसे “चरणबद्ध परिष्करण” कहा जाता है। आप समस्या को चरणों में नीचे तोड़ते हैं और फिर प्रत्येक चरण क्या परिशोधित करते हैं।

आइए पिछले पाठ से पहले अभ्यास के साथ “अनुभवी प्रोग्रामर” खेलें।

समस्या को समझना

आपको पहले क्या करना चाहिए इसके बारे में सोचें कि आपको क्या करना है। अपने विचार लिखने के लिए कुछ पेपर और एक पेंसिल निकालें। ध्यान से आरेख देखें।

बक्से ड्राइंग करने का प्रयास करें।

तुमने ये कैसे किया? आप ड्राइंग को कैसे तोड़ सकते हैं, इसकी जटिलता को कम कर सकते हैं?

Image

आपको कछुए को प्राप्त करने की आवश्यकता है:

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

– या –

चार आयत खींचें

एक लंबा और पतला है
तीन छोटे होते हैं और पहले के दाईं ओर आयताकारों का ढेर बनाते हैं

– या –
सात लाइनें खींचे (चार क्षैतिज और तीन लंबवत)

चार रेखाएं एक बड़े आयत के परिधि बनाती हैं
एक रेखा आधा लंबवत में इस आयत को विभाजित करती है
दो रेखाएं आयत के दाहिनी आधे हिस्से को तीन में विभाजित करती हैं, समान रूप से आकार के आयताकार

क्या आप तोड़ने और वर्णन करने के किसी अन्य तरीके के बारे में सोच सकते हैं कि कछुए को क्या करने की आवश्यकता है?

ठीक। यह योजना बनाने के लिए अब “समस्या को समझना” चरण पूरा करता है।

एक योजना तैयार करना

जटिलता से निपटने के लिए सबसे महत्वपूर्ण मानसिक उपकरण
अमूर्त है। इसलिए, एक जटिल समस्या नहीं होनी चाहिए
कंप्यूटर निर्देशों के संदर्भ में तत्काल माना जाता है …

(अच्छी तरह से संरचित कार्यक्रमों की संरचना पर,
निकलॉस विर्थ, कंप्यूटिंग सर्वे, दिसंबर, 1 9 74)

तो अब आपके पास पेपर के टुकड़े पर कुछ स्केच और नोट हैं जो समाधान का कारण बनते हैं। अगला कदम एक दृष्टिकोण पर निर्णय लेना और निर्देश, प्रक्रिया, प्रक्रिया को एक साथ रखना है, जो कछुए को आकृति खींचने के लिए मिलता है।

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

उसका पहला कदम: पता लगाएं कि वर्ग के प्रत्येक किनारे कितने कछुए कदम होना चाहिए। चूंकि इसे आधा और तीसरे स्थान पर विभाजित किया जाएगा, इसलिए वह एक लम्बाई चाहता है जो दो और तीन में से एक है। वह अच्छी गोल संख्या पसंद करती है ताकि वह वर्ग 120 कछुए चरणों (120/2 = 60; 120/3 = 40) के प्रत्येक पक्ष को बनाती है। जैसा कि आप देख सकते हैं, जब आप कंप्यूटर प्रोग्रामिंग करते हैं तो गणित के बारे में कुछ जानना अच्छा होता है।

अधिकांश शुरुआती प्रोग्रामर आकार के बारे में पहले चरण के रूप में नहीं सोचा होगा। तो अगर यह आपको आश्चर्य से पकड़ा, कोई बड़ा सौदा नहीं। आप पाएंगे कि जब आप आगे थे तो यह महत्वपूर्ण है। लेकिन आपके लिए यह जानना महत्वपूर्ण है कि एक अनुभवी प्रोग्रामर मानता है कि आप अंततः बड़े कार्यक्रम लिखने के बारे में सोचेंगे।

इस निर्णय के साथ, अनुभवी प्रोग्रामर पहले अपने कार्यक्रम को स्यूडोकोड में पेपर पर लिखता है।

1. draw a square   2. draw the vertical line that splits the square in half   3. draw the top horizontal line spliting the right half   4. draw the bottom horizontal line spliting the right half   5. make the turtle invisible

 

स्यूडोकोड आपकी मूल भाषा में कुछ वर्णन करने के लिए शब्दकोष है। उसका छद्म कोड वह अंग्रेजी विवरण है जो वह अपने कार्यक्रम को करना चाहता है। एक बार यह पूरा हो जाने पर और वह आश्वस्त हो जाती है कि उसकी योजना को वह जो चाहिए वह तैयार करना चाहिए, यह अगले चरण के लिए समय है: छद्म कोड को लोगो निर्देशों में परिवर्तित करना।

योजना को ले जाना

योजना को उस प्रोग्राम में बदलने का समय जिसे कंप्यूटर पर निष्पादित किया जा सकता है। चूंकि वह लोगो में प्रोग्रामिंग कर रही है, इसलिए हमारे विशेषज्ञ प्रोग्रामर छद्म कोड को इस कंप्यूटर भाषा में उपलब्ध निर्देशों में परिवर्तित कर देंगे। तालिका 3.1 छद्म कोड और लोगो में इसके रूपांतरण के परिणाम दोनों दिखाता है।

स्यूडोकोड
(पेपर पर लिखा गया)
लोगो निर्देश
(कंप्यूटर पर टाइप किया गया)
एक वर्ग खींचो fd 120  rt 90   fd 120  rt 90   fd 120  rt 90   fd 120
आधा भाग वर्ग को विभाजित करने वाली ऊर्ध्वाधर रेखा खींचें bk 60  rt 90  fd 120
दाहिनी आधा विभाजित शीर्ष क्षैतिज रेखा खींचें bk 40  rt 90  fd 60  bk 60  lt 90
दाहिनी आधा विभाजित नीचे क्षैतिज रेखा खींचें bk 40  rt 90  fd 60
कछुए अदृश्य बनाओ ht
तालिका 3.1

हमारे अनुभवी प्रोग्रामर अपने कंप्यूटर पर एक ब्राउज़र में टीजी एप्लेट लाता है। टीजी लोगो प्रोग्रामिंग भाषा की बोली को समझता है; इसमें एक लोगो दुभाषिया है।

वह अपने छद्म कोड नोट्स पढ़ती है और उन्हें अपने सिर में लोगो निर्देशों में परिवर्तित करती है और कमांड सेंटर में निर्देश टाइप करती है। चूंकि प्रत्येक पंक्ति [एंटर] होती है, वह कछुए को बिल्कुल वही करती है जो उसने अपेक्षित की थी।

पीछे देखना

अंत में, हमारे अनुभवी प्रोग्रामर ने जो किया है उसकी समीक्षा करता है। इस मामले में वह ग्राफिक्स की जांच करती है, खुद से पूछती है क्या मेरे प्रोग्राम का ग्राफिक्स उत्पादित करने के लिए तैयार किए गए चित्र से मेल खाता है? दूसरे शब्दों में, क्या उसका कार्यक्रम सही है?

उसके निर्देशों को देखते हुए, उसका (स्रोत कोड, दृष्टिकोण की अपनी पसंद पर प्रतिबिंबित करता है, वह खुद से पूछती है क्या मैंने दृष्टिकोण की सही पसंद की है? अगर मैं फिर से प्रोग्राम लिखना चाहता हूं, तो क्या मैं वही करूँगा? सबसे कठिन क्या था भाग? क्या कोई रास्ता है जिससे मैं इसे आसान बना सकता?

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

हमारा अनुभवी प्रोग्रामर लोगो में प्रोग्राम लिखने के बारे में अपने ज्ञान को मजबूत कर रहा है। इससे भविष्य में उसकी मदद मिलेगी।

टीजी के संपादक का उपयोग करना
कागज के बजाय

“एक योजना बनाने” और “योजना को बाहर ले जाना” चरणों के लिए पेंसिल और पेपर से टीजी एप्लेट में स्विच करना संभव है।

मुझे 44 साल पहले पहले पेपर पर अपने कार्यक्रम लिखना सिखाया गया था। लेकिन, कंप्यूटर के साथ मेरी बातचीत में एक कंप्यूटर पर थोड़ा सा समय शामिल था जिसमें मैंने सौ अन्य प्रोग्रामर के साथ साझा किया था। इसलिए, कागज के उपयोग और लेखन कार्यक्रमों के लिए एक पेंसिल महत्वपूर्ण था। लेकिन, अब हर किसी का अपना कंप्यूटर है … चलो इस का लाभ उठाने के लिए आगे बढ़ें और इस चरण के लिए कागज और पेंसिल के उपयोग को खत्म करें। नोट: समस्या को समझने के लिए कागज और पेंसिल अभी भी सबसे अच्छा तरीका है; कम से कम यह मेरी राय है।

आप टीजी के संपादक के साथ ऐसा करेंगे।

टीजी के संपादक खोलना

संस्करण के अनुसार। टीजी के 9.36.6 संपादक, संपादक निर्देश को खोलने का एक आसान तरीका है। बस एक ही पंक्ति पर कमांड सेंटर में “संपादक” या संक्षिप्त नाम “संपादित करें” टाइप करें।

आकृति 3.1

टीजी के पुराने संस्करणों में, संपादक Window->Editor->Open मेनू आइटम के साथ खोला गया है। टीजी आवेदन में, मेनू सिस्टम शीर्ष पर मानक, पुल-डाउन पट्टी का उपयोग करके आसानी से उपलब्ध है। टीजी एप्लेट में मेनू सिस्टम तक पहुंचने के लिए, माउस को एप्लेट में रखें और दायां माउस बटन दबाए रखें। अपने उपमेनू को लाने के लिए माउस को “Window” मेनू आइटम पर रखें, “Editor” सबमेनू चुनें, और अंत में अपना “ओपन” विकल्प चुनें। चित्रा 3.2 यह दिखाता है।

आकृति 3.2

किसी भी तरह से, एक संपादक सबविंडो एप्पल के तल पर कमांड सेंटर के नीचे दिखाई देगा।

इस बिंदु पर, उपविंडो की ऊंचाई को माउस के आइकन को नाम पट्टियों में से एक पर रखकर, बाएं माउस बटन को दबाकर और नाम पट्टी को ऊपर या नीचे खींचकर समायोजित किया जा सकता है। चूंकि हम संपादक का उपयोग करने जा रहे हैं, इसे थोड़ा लंबा बनाएं; पहले कमांड सेंटर नाम पट्टी को खींचें, फिर संपादक का नाम पट्टी खींचें।

टीजी के संपादक में टिप्पणियां दर्ज करना

“योजना तैयार करना” के लिए हमें कार्यक्रम के छद्म कोड प्रस्तुत करने की आवश्यकता है। खैर, यह एक समस्या है। एक लोगो दुभाषिया छद्म कोड नहीं समझता है और अगर हम इसे टाइप करते हैं तो यह शिकायत करेगा। हम छद्म कोड को टिप्पणियों के रूप में दर्ज करके इस समस्या को हल करते हैं। लोगो में टिप्पणियां अर्धविराम (“;”) चरित्र से शुरू होती हैं और रेखा के अंत तक जाती हैं। टिप्पणियों का उद्देश्य मनुष्यों द्वारा पढ़ा जाना है और लोगो दुभाषिया द्वारा अनदेखा किया जाता है।

आकृति 3.3

चित्रा 3.3 पिछले अभ्यास से छद्म कोड के बाद टीजी एप्लेट को संपादक में दर्ज किया गया है।

संपादक की सामग्री को सहेजना

क्या होगा अगर इस बिंदु पर, आपको कहीं और कुछ और करने की ज़रूरत है?

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

आकृति 3.4

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

संपादक में लोगो निर्देश दर्ज करना

तो, अब हम “योजना को बाहर ले जाना” चरण के लिए तैयार हैं। प्रत्येक टिप्पणी के तहत, हम छद्म कोड को उपयुक्त लोगो निर्देशों में परिवर्तित करते हैं।

चित्र निर्देश जोड़े जाने के बाद चित्रा 3.5 टीजी एप्लेट दिखाता है।

आकृति 3.5

संपादक की सामग्री को करने के लिए टीजी प्राप्त करना

इसलिए, जब हमने कमांड सेंटर में लोगो निर्देशों को दर्ज किया था, तब भी कुछ भी नहीं हो रहा था जब हमने संपादक में सामान दर्ज किया था। हम संपादक में टाइप किए गए निर्देशों को करने के लिए लोगो दुभाषिया कैसे प्राप्त करते हैं?

सबसे आसान तरीका संपादक से फोकस स्थानांतरित करना है। आपने अब तक देखा होगा कि टीजी का सबविंडो आप जिस पर ध्यान केंद्रित कर रहा है, उसमें काले रंग में प्रकाश डाला गया है (ग्रे के विपरीत)। कमांड सेंटर में या ग्राफिक्स कैनवास में माउस पर क्लिक करें। यह स्थानान्तरण आप जिस भी उपविंडो में क्लिक करते हैं उस पर ध्यान केंद्रित करते हैं। यदि आप एप्लेट के बजाय टीजी एप्लिकेशन का उपयोग कर रहे हैं, तो आप [Ctrl] – [Tab] या [Shift] – [Tab] कुंजी संयोजनों का उपयोग एक से फ़ोकस करने के लिए कर सकते हैं टीजी के सबविंडो के दूसरे को।

जब भी आप संपादक से दूसरे उपविंडो में फ़ोकस स्थानांतरित करते हैं और संपादक की सामग्री बदल दी गई है, तो संपादक की सामग्री को टीजी के लोगो दुभाषिया द्वारा संसाधित किया जाता है। हमारे उदाहरण के मामले में, कछुए बक्से खींच लेगा।

आप Window->Editor->Interpret  मेनू आइटम व्याख्या भी कर सकते हैं। चित्रा 3.6 मुझे यह दिखाता है।

आकृति 3.6

और अंत में, चित्रा 3.7 परिणाम दिखाएं, बक्से के हमारे सेट को बिल्कुल अपेक्षित रूप से खींचा गया …

आकृति 3.7

थ्रोटलिंग ग्राफिक्स एड्स डिबगिंग

आधुनिक कंप्यूटर का प्रदर्शन इतना बढ़िया है कि अधिकांश समय जब आपके प्रोग्राम ग्राफिक्स कैनवास में आते हैं, तो यह सिर्फ पोफ है … पूरी तस्वीर दिखाई देती है। जब आपको यह नहीं मिल रहा है कि आपने क्या सोचा था कि आपने कछुए को करने का निर्देश दिया है या यदि आप सिर्फ कछुए को ग्राफिक्स प्रदर्शन करना चाहते हैं, तो आप थ्रॉटल कमांड का उपयोग कर सकते हैं।

थ्रॉटल के बाद एक संख्या, मिलीसेकंड (एक सेकंड का 1 / 1000s) होता है जिसे आप कछुए को कुछ ग्राफिक्स निर्देशों के बाद आराम करना चाहते हैं। तो, कछुए को आधे सेकेंड तक रोकने के लिए, आप “थ्रॉटल 500” कमांड दर्ज करते हैं। जब टीजी का दुभाषिया आपका कार्यक्रम करता है, तो आप कछुए को चारों ओर घूमने में सक्षम होंगे, जो करने के लिए निर्देश दिया गया है।

* नोट * थ्रॉटल केवल तब काम करता है जब कछुए दिखाई देता है। तो, सुनिश्चित करें कि यदि आप अपने कार्यक्रम में एक छिपे हुए निर्देश शामिल करते हैं, तो यह सभी ग्राफिक्स निर्देशों के बाद होना चाहिए।

थ्रॉटलिंग को “थ्रॉटल 0” निर्देश या नोट्रॉटल कमांड के साथ बंद कर दिया जा सकता है।

अभ्यास: अधिक विभाजित बक्से

कार्यक्रम को बढ़ाएं हमने अभी तक एक पैदल यात्रा पूरी की है। & बीएनबीएसपी; आगे दाएं दाएं बॉक्स को चार बक्से में विभाजित करें। चित्रा 3.8 दिखाता है कि क्या वांछित है।

आकृति 3.8

यदि आप टीजी आवेदन का उपयोग कर रहे हैं, तो यहां बेस स्रोत कोड है जिसे आप टीजी के संपादक में कॉपी / पेस्ट कर सकते हैं।

टीजी एप्लेट (लोडकोड)

यदि आप नीचे टीजी एप्लेट का उपयोग करना चाहते हैं, तो पहले संपादक को खोलने के लिए मेनू सिस्टम में फ़ाइल-> नया विकल्प चुनें (या यदि यह पहले से खुला है तो यह इसकी सामग्री को साफ़ कर देगा) और फिर कमांड सेंटर में लोडकोड विभाजित बॉक्स टाइप करें। यह स्रोत कोड को उस संपादक में डालेगा जहां आप इसे बढ़ा सकते हैं।

अभ्यास: एक घर ड्रा

इस नए दृष्टिकोण को आजमाएं। एक प्रोग्राम लिखें जो चित्रा 3.9 में दिखाए गए साधारण घर को खींचता है। प्रस्तुत सभी चरणों के माध्यम से जाओ:

  1. समस्या को समझना,
  2. एक योजना बनाना, और
  3. योजना को ले जाना

आकृति 3.9

सबसे पहले, छद्म कोड लिखें कि आप कछुए को घर खींचने के लिए कैसे प्राप्त करेंगे और फिर इसे लोगो निर्देशों में परिवर्तित करेंगे। यदि आप कागज और पेंसिल पसंद करते हैं, तो इसे इस तरह से करें। यदि आप टीजी के संपादक में सामान टाइप करना पसंद करते हैं, तो यहां एप्लेट है।

alt=”Your browser understands the <APPLET> tag but isn’t running the applet, for some reason.” Your browser is completely ignoring the <APPLET> tag!

टीजी प्रोग्रामिंग पर्यावरण एप्लेट

यदि यह एप्लेट टूटा हुआ है और आप क्रोम का उपयोग कर रहे हैं, तो यहां क्लिक करें।

सारांश

इस अध्याय में हमने सीखा एक बड़ी बात यह थी कि चरणों में एक कार्यक्रम कैसे लिखना है:

  1. समस्या को समझना
  2. एक योजना तैयार करना
  3. योजना को ले जाना
  4. पीछे देखना

Source: http://guyhaas.com/bfoit/itp/Pseudocode.html