स्यूडोकोड क्या है?


19

मैंने इस साइट और अन्य पर हाल ही में स्यूडोकोड के बहुत सारे उल्लेख देखे हैं। लेकिन मुझे यह नहीं मिला:

  • स्यूडोकोड क्या है? उदाहरण के लिए, नीचे दिया गया विकिपीडिया लेख कहता है, "यह एक प्रोग्रामिंग भाषा के संरचनात्मक सम्मेलनों का उपयोग करता है, लेकिन इसे पढ़ने के बजाय मानव पढ़ने के लिए अभिप्रेत है।" इसका मतलब यह है कि यह वास्तव में प्रोग्राम बनाने के लिए उपयोग नहीं किया जाता है?

  • इसका उपयोग क्यों किया जाता है?

  • इसका उपयोग कैसे किया जा सकता है?
  • क्या इसे प्रोग्रामिंग लैंग्वेज माना जाता है? (उपरोक्त विकिपीडिया उद्धरण देखें)
  • क्या यह आमतौर पर जाना जाता है / उपयोग किया जाता है?

मैं ईमानदारी से नहीं जानता कि यह कहां से शुरू करना है। मैंने इसे Googled किया है और मैंने इस विषय पर विकिपीडिया लेख देखा है , लेकिन मुझे अभी भी पूरी तरह से समझ में नहीं आया है कि यह क्या है।


7
कृपया विकिपीडिया लेख से विशिष्ट उद्धरण और प्रश्न प्रदान करें। आपके सभी प्रश्नों के कर रहे हैं वहाँ जवाब दे दिया। यदि आप शब्दों या वाक्यांशों को नहीं समझ सकते हैं, तो कृपया अपने प्रश्न में किसी विशिष्ट शब्द या वाक्यांश को उद्धृत करें ताकि हम उसे समझा सकें। यह जानना मुश्किल है कि आपने उस लेख में क्या भ्रमित किया। यहां उस लेख को दोहराने के बजाय, यह मदद करेगा यदि आप उन विशिष्ट चीजों का संदर्भ दे सकें जो आपको भ्रमित करती हैं।
एस.लॉट

@ S.Lott: समाप्त
डायनामिक

20
while (you.doNotUnderstand(pseudocode)) { q = you.askQuestion(); a = we.answer(q); you.digestAnswer(a) }
जोकिम सॉयर

3
if (question.IsAnswered) then you.UnderstandPseudoCode <- true
e-MEE

1
यह प्राकृतिक भाषा और प्रोग्रामिंग भाषा के बीच का मध्य क्षेत्र है - यह बोली जाने वाली भाषा की तुलना में अधिक औपचारिक है, लेकिन वास्तविक प्रोग्रामिंग भाषा की तुलना में कम औपचारिक है।
इंगो

जवाबों:


19

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

संक्षेप में: इसका उपयोग केवल चित्रमय प्रयोजनों के लिए किया जाता है।

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

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


स्यूडोकोड के प्रकार स्यूडोकोड हो सकते हैं, लेकिन एक निश्चित प्रकार का होना जरूरी नहीं है, अर्थात, एमएसआईएल को दर्शाने के लिए आपके पास स्टैक-बेस्ड स्यूडोकोड हो सकता है, जावा, सी #, सी ++, पायथन, आप का वर्णन करने के लिए एक अनिवार्य छद्मकोड हो सकता है। एफ #, हास्केल, एसक्यूएल आदि को चित्रित करने के लिए एक कार्यात्मक छद्मकोड हो सकता है।


मेरे सिर के ऊपर से उदाहरण , लेकिन कुछ भी हो जाता है, क्योंकि छद्मकोड का आविष्कार मौके पर किया जा सकता है:

XML pseudocode, एक सिर + शरीर संरचना दिखा रहा है जो कई पी-तत्वों की अनुमति देता है:

<head ...
   <title ...
</
<body ...>
   (<p>...)+
</

इम्पीरेटिव स्यूडोकोड, कई विरासतों का समर्थन करने वाली भाषाओं में हीरे की समस्या को दर्शाता है:

class A() { readFile(); }
class B() : A {}       // overrides readFile in A
class C() : A {}       // overrides readFile in A
class D() : B, C {}    // what definition of readFile should be used?

उपरोक्त दो उदाहरण स्पष्ट रूप से कुछ (प्रकार की) भाषा से मिलते जुलते हैं, लेकिन वास्तव में वह भाषा नहीं है और संभवतः संकलन नहीं कर सकते हैं। वे इसके बजाय कुछ ऐसा दर्शाते हैं जिसे आप समझाना चाहते हैं।


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

8

स्यूडोकोड क्या है? उदाहरण के लिए, नीचे दिया गया विकिपीडिया लेख कहता है, "यह एक प्रोग्रामिंग भाषा के संरचनात्मक सम्मेलनों का उपयोग करता है, लेकिन इसे पढ़ने के बजाय मानव पढ़ने के लिए अभिप्रेत है।" इसका मतलब यह है कि यह वास्तव में प्रोग्राम बनाने के लिए उपयोग नहीं किया जाता है?

यह बिल्कुल ऐसा है, यह एक मानव के अनुकूल रूप में लिखा गया कोड है। इसका उपयोग कार्यशील कार्यक्रम बनाने के लिए नहीं किया जा सकता है।

इसे क्यों बनाया गया / क्या इसका उपयोग किया जाता है?

क्योंकि स्यूडोकोड लिखने में तेज और पढ़ने में तेज होता है। चूंकि इसमें भाषा के विशिष्ट हिस्से नहीं हैं जो पढ़ने के लिए स्पष्ट हैं। इसकी भाषा भी स्वतंत्र है इसलिए कोई भी इसे पढ़ सकता है (इस कारण से इसका उपयोग बहुत सारी पाठ्य पुस्तकों में किया गया है)

क्या इसे प्रोग्रामिंग लैंग्वेज माना जाता है? उपरोक्त विकिपीडिया उद्धरण देखें।

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

क्या यह आमतौर पर जाना जाता है / उपयोग किया जाता है?

हाँ। कनिष्ठ स्तर से ऊपर के किसी को भी पता होना चाहिए कि छद्मकोड को कैसे पढ़ना / लिखना है। एक टीम में बहुत सारी पाठ्य पुस्तकें और योजना कोड पढ़ने के लिए यह आवश्यक है।


6

यदि आपने विकि लेख पढ़ा है, तो आपके अधिकांश प्रश्न स्पष्ट होने चाहिए। मैं यहां सरल तरीके से उनका जवाब देने की कोशिश करूंगा। इन 2 उदाहरणों पर एक नज़र डालें:

भाग 1 - उदाहरण

कोड # 1 - ग्राहक पंजीकरण - प्रक्रिया चरणों का एक उदाहरण:

  1. ग्राहक पंजीकरण स्क्रीन पर जाता है
  2. ग्राहक अपने विवरण दर्ज करता है।
  3. यदि मान्य विवरण डेटाबेस में ग्राहक जानकारी को सहेजते हैं
  4. एल्स शो डायलॉग बॉक्स त्रुटि संदेश 100 के साथ।

कोड # 2 - ग्राहक का नाम मान्य करें - प्रोग्रामिंग फ़ंक्शन का एक उदाहरण

Function ValidateCustomerName(Name1)

If (Name1 is entered and Name2 is entered) then return 1

If (Name1 is not entered) 

   Send Error Message

   return 0

Endif

...

End Function

भाग 2 - अब आपके प्रश्नों के लिए

स्यूडोकोड क्या है?

यह एक एल्गोरिथ्म या एक प्रक्रिया के चरणों को लिखने का एक तरीका है।

इसे क्यों बनाया गया / क्या इसका उपयोग किया जाता है?

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

क्या इसे प्रोग्रामिंग लैंग्वेज माना जाता है?

यह संकलन योग्य नहीं है और इसका कारण यह है कि इसमें कोई विशिष्ट वाक्यविन्यास नहीं है और इसलिए यह एक प्रोग्रामिंग भाषा नहीं है।

यदि हां, तो क्या यह उतना ही सक्षम है, आइए हम कहें कि पायथन?

इसे आप जितना चाहें उतना सक्षम बनाया जा सकता है। तुम जैसे बयान लिख सकते हैं: यदि आयु वैध है ...

क्या यह आमतौर पर जाना जाता है / उपयोग किया जाता है?

हाँ। एल्गोरिदम के बारे में सोचने और व्यापार विश्लेषकों के लिए विनिर्देशों को प्रदान करने के लिए यह उपयोगी है।


@ जय, मैं संपादन की सराहना करता हूं।
NoChance

4

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

Pseudocode के लिए कोई सख्त निर्माण नहीं हैं। यदि लेखक एक ऐसी भाषा जानता है जो "{" का उपयोग करता है यदि एक बयान के बाद वे इसे बोर्ड पर रखते हैं, अगर उन्हें पता है कि वे अजगर नहीं हैं। लक्ष्य समस्या के मूल दृष्टिकोण को जल्दी से स्केच करना है, बिल्कुल सही कोड नहीं।

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


2

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


सबसे अच्छे मामले में किसी भी औपचारिक या अनौपचारिक विवरण की आवश्यकता नहीं होना स्पष्ट है;)।
हाबिल

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

यह धागा स्यूडोकोड के बारे में है। औपचारिकता का इससे कोई लेना-देना नहीं है। लेकिन मेरी टिप्पणी "सजा का इरादा था";)।
हाबिल

@ अविश्वास, एक अमूर्त भाषा भी एक औपचारिकता है (कम से कम जब एक अधिक या कम वैज्ञानिक पेपर में उपयोग की जाती है)।
SK-लॉजिक

2

छद्म कोड क्या है?

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

इसे क्यों बनाया गया / क्या इसका उपयोग किया जाता है?

यह एक प्रोग्रामिंग भाषा का उपयोग किए बिना एक प्रक्रिया, प्रक्रिया या एक एल्गोरिथ्म के चरणों को निर्दिष्ट करने में आपकी सहायता करने के लिए बनाया गया था। फ़्लोचार्ट का उपयोग करने के लिए एक संभावित विकल्प है।

क्या इसे प्रोग्रामिंग लैंग्वेज माना जाता है?

नहीं, यह कोई प्रोग्रामिंग भाषा नहीं है, क्योंकि कोई औपचारिक नियम नहीं हैं।

क्या यह आमतौर पर जाना जाता है / उपयोग किया जाता है?

व्यक्तिगत रूप से, मैं हमेशा एल्गोरिदम या जटिल प्रक्रियाओं को लिखते समय छद्म कोड का उपयोग करने की कोशिश करता हूं।


0

स्यूडोकोड की मेरी व्यक्तिगत परिभाषा है "सामान जो मैं कोड डिजाइन करते समय एक सादे कागज पर सादे अंग्रेजी में लिखता हूं"

एक pseudocode "डिज़ाइन" से कोडिंग करने से पहले, मैं अपने pseudocode को टिप्पणियों के रूप में जोड़ूंगा। फिर उन टिप्पणियों के माध्यम से काम करते हुए मैं "वास्तविक" कोड जोड़ सकता हूं जो वर्णित कार्य करता है।

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


-4

कैसे मेरे प्रोग्रामिंग व्याख्याता ने कहा:

Pseudocode किसी भी प्रोग्रामिंग भाषा का अंग्रेजी संस्करण है।


2
-1 सहायक नहीं है। उद्धरण केवल स्यूडोकोड की व्याख्या (इस उत्तर में गायब) के बीच समझ में आता है। अन्यथा, यह काफी भ्रामक हो सकता है। एक नौसिखिया आश्चर्यचकित हो सकता है: ठीक है, C # के तरीके सभी अंग्रेजी में हैं, इसलिए इसका मतलब है कि C # मैं उपयोग कर रहा हूं Pseudocode, सही है ...? जर्मनी में C # का उपयोग करने पर वे इसे क्या कहते हैं?
doppelgreener
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.