स्यूडोकोड कंप्यूटर (Pseudocode) प्रोग्राम या एल्गोरिथ्म के ऑपरेटिंग सिद्धांत का एक फॉर्मल उच्च-स्तरीय वर्णन होता है। यह फॉर्मल प्रोग्रामिंग भाषा के संरचनात्मक ढांचे का उपयोग करता है। लेकिन इसे इस प्रकार लिखा जाता है कि स्यूडोकोड को कोई भी व्यक्ति पढ़ सके। अर्थात यह इन्सानो के लिए लिखा जाता है न कि मशीनों के लिए। स्यूडोकोड में आमतौर पर उन चीजों को छोड़ दिया जाता है जिसे एल्गोरिथ्म में मशीनी प्रोग्रामिंग भाषा के लिए लिखा जाता है जैसे कि चर की घोषणाएं, सिस्टम-विशिष्ट कोड और प्रोग्राम में लाइब्ररी आदि। स्यूडोकोड का उपयोग करने का उद्देश्य यह है कि पारंपरिक प्रोग्रामिंग भाषा कोड को लोग आसानी से समझ सके। यह आमतौर पर पाठ्य पुस्तकों और वैज्ञानिक प्रकाशनों में उपयोग किया जाता है जो विभिन्न एल्गोरिदम का डॉक्युमेंटेशन कर रहे होते हैं।
स्यूडोकोड सिंटेक्स के लिए कोई मानक मौजूद नहीं है क्यूकी यह कोई प्रोग्राममिंग भाषा नहीं है। यह केवल प्रोग्राम या एल्गोरिथ्म को व्यक्त करने का एक तरीका है ताकि इन्सान भी प्रोग्राम या एल्गोरिथ्म को समझ सके। फ्लो चार्ट, ड्रैकन चार्ट और एकीकृत मॉडलिंग भाषा चार्ट को स्यूडोकोड को व्यक्त के लिए एक ग्राफ़िकल विकल्प के रूप में माना जा सकता है। इसका मुख्य उपयोग छात्रों को उच्च स्तरीय भाषाओं के प्रोग्राम को समझना होता है।
कंप्यूटर विज्ञान और संख्यात्मक गणना से संबंधित पाठ्यपुस्तकों और वैज्ञानिक प्रकाशन अक्सर एल्गोरिथ्म के विवरण में स्यूडोकोड का उपयोग करते हैं, ताकि सभी प्रोग्रामर उन्हें समझ सकें. भले ही वे सभी एक ही प्रोग्रामिंग भाषा नहीं जानते हो। पाठ्यपुस्तकों में, आम तौर पर इसका प्रयोग में छात्रों को एल्गोरिथ्म का परिचय देने में किया जाता है।
यहाँ कहने का तात्पर्य यह है कि प्रोग्रामर या छात्र स्यूडोकोड की सहायता से किसी एल्गोरिथ्म को समझ सकते है और उसे अपने अनुसार किसी भी प्रोग्रामिंग भाषा में कॉमपाइल करने के लिए अनुवाद कर सकते है। कुछ प्रोग्रामर तो किसी भी प्रोग्राम को प्रोग्रामिंग भाषा में लिखने से पहले उसका स्यूडोकोड तैयार करते है। और बाद में सोचते है कि इसे किसी प्रोग्रामिंग भाषा में लिखे। जैसे सी प्रोग्रामिंग भाषा, जावा प्रोग्रामिंग भाषा आदि।
जैसा कि नाम से पता चलता है, स्यूडोकोड आमतौर पर किसी विशेष भाषा के सिंटेक्स नियमों का वास्तव में पालन नहीं करता है। इसे लिखने का कोई व्यवस्थित मानक प्रपत्र नहीं है। लेकिन ज़्यादातर लेखक एक जैसी शैली और सिंटेक्स का उपयोग करते है। उदाहरण के लिए, कंट्रोल संरचनाएं में सभी if, else, ifelse आदि का प्रयोग करते है और सभी प्रोगामिंग भाषाओ में भी कंट्रोल संरचनाएं में if, else, ifelse आदि का प्रयोग होता है।
यह लेखक के आधारित है कि वह स्यूडोकोड को कैसे लिखे। लेखक एक समान स्यूडोकोड शैली भी लिख सकता है या उसे व्यापक रूप से भिन्न भी कर सकता हैं।
आपरेशन के प्रकार | प्रतीक | उदाहरण |
---|---|---|
असाइनमेंट | ← or := | c ← 2πr , c := 2πr |
तुलना | =, ≠, <, >, ≤, ≥ | |
अर्थमेटिक | +, −, ×, /, mod | |
न्यूनतम सीमा/अधिकतम सीमा | ⌊, ⌋, ⌈, ⌉ | a ← ⌊b⌋ + ⌈c⌉ |
लॉजिकल | and, or | |
जोड , गुणा | ∑ ∏ | h ← ∑a∈A 1/a |
इस उदाहरण में हम जानेंगे कि यदि हमे कोई वर्ष दे दिया जाए तो हमे कैसे पता करेंगे कि यह लीप वर्ष है या नहीं तो आइये देखते है।
यह स्टेप लीप वर्ष चेक करने में उपयोग होते है तो आइये देखते है कि इसे स्यूडोकोड में कैसे लिखा जाता है।
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 ifend procedure
इस उदाहरण में हम जानेंगे कि यदि हमे कोई संख्या दे दिया जाए तो हमे कैसे पता करेंगे कि यह सम (Even) है या विषम (Odd)। तो आइये देखते है।
यह स्टेप संख्या सम है या विषम है चेक करने में उपयोग होते है तो आइये देखते है कि इसे स्यूडोकोड में कैसे लिखा जाता है।
procedure even_odd() if (A module 2) equals to 0 print "number is even" else print "number is odd" else ifend procedure
ध्यान दे:- प्रोग्रामिंग भाषाओ में module का अर्थ भाग से ही होता है और इसे if (A % 2 == 0) के रूप में लिखा जाता है।