स्यूडोकोड


स्यूडोकोड कंप्यूटर (Pseudocode) प्रोग्राम या एल्गोरिथ्म के ऑपरेटिंग सिद्धांत का एक फॉर्मल उच्च-स्तरीय वर्णन होता है। यह फॉर्मल प्रोग्रामिंग भाषा के संरचनात्मक ढांचे का उपयोग करता है। लेकिन इसे इस प्रकार लिखा जाता है कि स्यूडोकोड को कोई भी व्यक्ति पढ़ सके। अर्थात यह इन्सानो के लिए लिखा जाता है न कि मशीनों के लिए। स्यूडोकोड में आमतौर पर उन चीजों को छोड़ दिया जाता है जिसे एल्गोरिथ्म में मशीनी प्रोग्रामिंग भाषा के लिए लिखा जाता है जैसे कि चर की घोषणाएं, सिस्टम-विशिष्ट कोड और प्रोग्राम में लाइब्ररी आदि। स्यूडोकोड का उपयोग करने का उद्देश्य यह है कि पारंपरिक प्रोग्रामिंग भाषा कोड को लोग आसानी से समझ सके। यह आमतौर पर पाठ्य पुस्तकों और वैज्ञानिक प्रकाशनों में उपयोग किया जाता है जो विभिन्न एल्गोरिदम का डॉक्युमेंटेशन कर रहे होते हैं।

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

अनुप्रयोग

सम्पादन

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

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

सिंटेक्स

सम्पादन

जैसा कि नाम से पता चलता है, स्यूडोकोड आमतौर पर किसी विशेष भाषा के सिंटेक्स नियमों का वास्तव में पालन नहीं करता है। इसे लिखने का कोई व्यवस्थित मानक प्रपत्र नहीं है। लेकिन ज़्यादातर लेखक एक जैसी शैली और सिंटेक्स का उपयोग करते है। उदाहरण के लिए, कंट्रोल संरचनाएं में सभी if, else, ifelse आदि का प्रयोग करते है और सभी प्रोगामिंग भाषाओ में भी कंट्रोल संरचनाएं में if, else, ifelse आदि का प्रयोग होता है।

यह लेखक के आधारित है कि वह स्यूडोकोड को कैसे लिखे। लेखक एक समान स्यूडोकोड शैली भी लिख सकता है या उसे व्यापक रूप से भिन्न भी कर सकता हैं।

सामान्य गणितीय प्रतीक

सम्पादन
आपरेशन के प्रकार प्रतीक उदाहरण
असाइनमेंट ← or := c ← 2πr, c := 2πr
तुलना =, ≠, <, >, ≤, ≥
अर्थमेटिक +, −, ×, /, mod
न्यूनतम सीमा/अधिकतम सीमा ⌊, ⌋, ⌈, ⌉ a ← ⌊b⌋ + ⌈c
लॉजिकल and, or
जोड , गुणा ∑ ∏ h ← ∑aA 1/a

उदाहरण

सम्पादन

लीप वर्ष

सम्पादन

इस उदाहरण में हम जानेंगे कि यदि हमे कोई वर्ष दे दिया जाए तो हमे कैसे पता करेंगे कि यह लीप वर्ष है या नहीं तो आइये देखते है।

  • स्टेप 1:- एक संख्या वाला चर (variable) ले।
  • स्टेप 2:- उस चर में वर्ष कि संख्या को भरे। जैसे: 2015, 1999 आदि
  • स्टेप 3:- अब यह चेक करे कि क्या वह वर्ष 4 से भाग होता है यदि वह 4 से भाग हो जाता है तो यह चेक करे कि कही वह 100 से भी तो भाग नहीं हो रहा। अगर वह 100 से भी भाग हो जाता है तो वह लीप वर्ष नहीं है। अर्थात आपको दो चीजे चेक करनी है वर्ष 4 से भाग होना चाहिए और वर्ष 100 से भाग नहीं होना चाहिए। वर्ष/4 = 0 और वर्ष/100 ≠ 0 यदि दोनों शर्ते सही हो जाती है तो लीप वर्ष का संदेश आउटपुट दे।
  • स्टेप 4:- या अब यह चेक करे कि क्या वह वर्ष 400 से भाग होता है यदि वह 400 से भाग हो जाता है। तो लीप वर्ष का संदेश आउटपुट दे।
  • स्टेप 5:- अगर ऊपर कि दोनों शर्तो में दोनों ही विफल रहती है तो लीप वर्ष न होने का संदेश आउटपुट में दे।

यह स्टेप लीप वर्ष चेक करने में उपयोग होते है तो आइये देखते है कि इसे स्यूडोकोड में कैसे लिखा जाता है।

procedure leap_year()
   
   if year%4 = 0 and year%100 != 0 or year%400 = 0
      print "year is leap"
   else
      print "year is not leap"
   end if

end procedure

सम या विषम

सम्पादन

इस उदाहरण में हम जानेंगे कि यदि हमे कोई संख्या दे दिया जाए तो हमे कैसे पता करेंगे कि यह सम (Even) है या विषम (Odd)। तो आइये देखते है।

  • स्टेप 1:- एक संख्या वाला A चर (variable) ले।
  • स्टेप 2:- उस A चर में कोई संख्या को ले। जैसे: 56, 35 आदि
  • स्टेप 3:- अब यह चेक करे कि क्या संख्या 2 से पूर्ण भाग को सकती है। अर्थात भाग होने के बाद भागफल 0 होना चाहिए।
  • स्टेप 4:- अगर संख्या 2 से पूर्ण भाग हो जाती है तो "संख्या सम है" का संदेश आउटपुट दे।
  • स्टेप 5:- अगर संख्या 2 से पूर्ण भाग नहीं होती है तो "संख्या विषम है" का संदेश आउटपुट दे।

यह स्टेप संख्या सम है या विषम है चेक करने में उपयोग होते है तो आइये देखते है कि इसे स्यूडोकोड में कैसे लिखा जाता है।

procedure even_odd()
   
   if (A module 2) equals to 0
      print "number is even"
   else
      print "number is odd"
   else if

end procedure

ध्यान दे:- प्रोग्रामिंग भाषाओ में module का अर्थ भाग से ही होता है और इसे if (A % 2 == 0) के रूप में लिखा जाता है।