स्यूडोकोड: स्पष्ट परिभाषा?

वोट
5

निम्नलिखित कोड मैं क्या सोचता हूँ, स्यूडोकोड के रूप में योग्य हैं, क्योंकि यह किसी भी भाषा में निष्पादित नहीं करता है का एक उदाहरण है लेकिन तर्क सही है।

string checkRubric(gpa, major)
    bool brake = false
    num lastRange
    num rangeCounter
    string assignment = unassigned
    array bus['business']= array('person a'=>array(0, 2.9), 'person b'=>array(3, 4))
    array cis['computer science']= array('person c'=>array(0, 2.9), 'person d'=>array(3, 4))
    array lib['english']= array('person e'=>array(0, 4))
    array rubric = array(bus, cis, lib)

foreach (rubric as fieldAr)
    foreach (fieldAr as field => advisorAr)
        if (major == field)
            foreach (advisorAr as advisor => gpaRangeAr)
                    rangeCounter = 0
                foreach (gpaRangeAr as gpaValue)
                    if (rangeCounter < 1)
                        lastRange = gpaValue
                    else if (gpa >= lastRange && gpa <= gpaValue)
                        assignment = advisor
                        brake = true
                        break
                    endif
                    rangeCounter++
                endforeach
                if (brake == true)
                    break
                endif
            endforeach
            if (brake == true)
                break
            endif
        endif
    endforeach
    if (brake == true)
        break
    endif
endforeach
return assignment

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

22/03/2010 को 03:43
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


8 जवाब

वोट
3

बेशर्म से फट विकिपीडिया :

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

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

22/03/2010 को 03:51
का स्रोत उपयोगकर्ता

वोट
0

इस पर मेरे दो सेंट:

मैं कहता हूँ स्यूडोकोड किसी भी कोड है कि निष्पादित नहीं करता है, आप कैसे के बारे में है? धन्यवाद (इस विषय स्वागत करने के लिए लिंक)

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

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

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

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

22/03/2010 को 03:51
का स्रोत उपयोगकर्ता

वोट
7

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

22/03/2010 को 03:52
का स्रोत उपयोगकर्ता

वोट
1

स्यूडोकोड, सिद्धांत रूप में, कार्यान्वयन स्वतंत्र होना चाहिए। यह क्या करना है की सरल भाषा में तार्किक चरणों प्रस्तुत करता है। यह मानव व्याख्या, नहीं मशीन निष्पादन के लिए करना है।

ओपी के उदाहरण स्यूडोकोड से वास्तविक कोड के लिए थोड़ा और करीब है। उदाहरण के लिए, ++सभी भाषाओं में नहीं मिला है। यह भी अन्य लोगों में एक बहुत ही अलग अर्थ हो सकता था।

22/03/2010 को 03:52
का स्रोत उपयोगकर्ता

वोट
1

ठीक है, अगर मैं संकलन नहीं है / मेरी सी लिंक ++ कोड, यह निष्पादित नहीं होगा, इसलिए मुझे नहीं लगता कि "कोड है कि निष्पादित नहीं करता है" एक स्वीकार्य परिभाषा है।

इसी तरह पटकथा भाषाओं क्रियान्वित कर रहे हैं नहीं, वे कर रहे हैं अक्सर कई बार व्याख्या की।

छद्म कोड की मेरी परिभाषा होगा:

"[संक्षिप्त] कोड है कि वाक्य रचना नास्तिक, एक समारोह, व्यवहार, या एल्गोरिथ्म संप्रेषित करने के लिए लिखा है। है" "

22/03/2010 को 03:53
का स्रोत उपयोगकर्ता

वोट
1

छद्म कोड एक एल्गोरिथ्म या प्रोग्राम के किसी भी कॉम्पैक्ट, मानव पठनीय व्याख्या है। के बाद से अपने कार्यक्रम मेरे लिए पढ़ने योग्य नहीं है, मैं कहूँगा कि यह काफी छद्म कोड नहीं है। यहाँ छद्म कोड का एक उदाहरण है:

डीईएफ़ राशि (x):
    परिणाम = 0
    एक्स में प्रत्येक प्रविष्टि के लिए:
        परिणाम के लिए वर्तमान प्रविष्टि जोड़ने
    रिपोर्ट परिणाम

या, एक अलग शैली में:

योग (एक्स):
   एक्स एक सरणी होने दो
   परिणाम, एक पूर्णांक परिणाम का प्रतिनिधित्व होना शुरू में 0 चलो

   एक्स में आइटम के लिए:
       परिणाम + = आइटम

   वापसी परिणाम

आप एक विशेष वाक्य रचना (और, वास्तव में, मेरी छद्म कोड अजगर की तरह एक बहुत लग जाता है) के तत्वों का उपयोग कर सकते हैं, लेकिन यह बहुत अधिक दर्शकों के द्वारा समझा जा सकता होने की जरूरत है और वाक्य रचना से नहीं बाधित किया जाना चाहिए। उदाहरण के लिए, मैं का उपयोग करें "+ =", लेकिन क्योंकि यह अत्यधिक कॉम्पैक्ट और सुविधाजनक है, क्योंकि यह आवश्यक है यह है। यदि आप नहीं मिला "endforeach" उपयोगी और अपने प्रदर्शनी में सुविधाजनक, यह ठीक हो गया होता; हालांकि, मैं तर्क है कि ऐसी बात छद्म कोड में संबंधित नहीं है के रूप में यह सहायक या व्याख्यात्मक की तुलना में अधिक stinted लग रहा है।

22/03/2010 को 04:01
का स्रोत उपयोगकर्ता

वोट
0

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

22/03/2010 को 04:03
का स्रोत उपयोगकर्ता

वोट
1

एक कार्यक्रम की एक रूपरेखा, एक रूप है कि आसानी से वास्तविक प्रोग्रामिंग बयान में बदला जा सकता में लिखा है।

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

29/05/2012 को 06:42
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more