छद्म कोड और एल्गोरिथ्म के बीच अंतर?


17

तकनीकी रूप से, क्या इन दो शब्दों के बीच कोई अंतर है या क्या हम उनका परस्पर उपयोग कर सकते हैं? दोनों ही कमोबेश उन चरणों के तार्किक क्रम का वर्णन करते हैं जो किसी समस्या को हल करने में अनुसरण करते हैं। क्या यह नहीं है? तो हम वास्तव में दो ऐसे शब्दों का उपयोग क्यों करते हैं यदि वे उसी के बारे में बात करते हैं?

या, अगर वे शब्दों का पर्याय नहीं हैं, तो ऐसा क्या है जो उन्हें अलग करता है? छद्म कोड बनाम अल्गोरिद्म शब्द का उपयोग हम किन संदर्भों में करने वाले हैं?


4
एक एल्गोरिथ्म क्विकसॉर्ट है। स्यूडोकोड है "मुझे एक सैंडविच बनाओ, फिर एक बार इसे बनाने के बाद इसे मेरे पास लाओ।"
नील

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

3
लघु संस्करण: 'छद्म कोड एक एल्गोरिथ्म का प्रतिनिधित्व करने के तरीकों में से एक है'
गोरान जोकोव

3
@Neil या यहाँ तक कि SUDO मुझे एक सैंडविच बना xkcd.com/149
StuperUser

जवाबों:


37

एल्गोरिथम की विकिपीडिया की परिभाषा:

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

शुद्ध गणितीय फॉर्मूलों से लेकर जटिल रेखांकन तक, सूडोकोड के बिना, अधिक से अधिक बार एल्गोरिदम का वर्णन विभिन्न तरीकों से किया जा सकता है।

स्यूडोकोड बताता है कि आप सिंटैक्टिकल विवरणों के बिना एल्गोरिथ्म को कैसे लागू करेंगे।

तो नहीं, वे वास्तव में पर्याय नहीं हैं।


8

एक एल्गोरिथ्म एक विचार है कि कोड कैसे लिखना है। छद्म कोड लिखित पाठ है जिसे आपको उस विचार को संप्रेषित करने की आवश्यकता है।


अच्छा! छोटा और सीधा। लेकिन मैं "लिखित पाठ" की तुलना में "एक लिखित पाठ" कहूंगा। तुम क्या सोचते हो?
लुसियानो

6

"स्यूडोकोड" को "एल्गोरिथ्म" के रूप में "अंग्रेजी" को "नॉक-नॉक जोक" करना है।

एल्गोरिथ्म एक ऐसी चीज़ के लिए एक औपचारिक संरचना है जिसे छद्मकोश में, या वास्तविक कोड में व्यक्त किया जा सकता है ।

नॉक-नॉक मजाक एक ऐसी चीज के लिए एक औपचारिक संरचना है जिसे अंग्रेजी में, या किसी अन्य भाषा में व्यक्त किया जा सकता है। (क्या अन्य संस्कृतियाँ भी नॉक-नॉक चुटकुले करती हैं? मुझे भी नहीं पता।)


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

3

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

तो नहीं, मैं शब्दों का प्रयोग परस्पर नहीं करूंगा।


2

एक एल्गोरिथ्म एक व्यवस्थित तार्किक दृष्टिकोण है जिसका उपयोग कंप्यूटर में समस्याओं को हल करने के लिए किया जाता है जबकि स्यूडोकोड सादे अंग्रेजी में कथन है जिसे बाद में एक प्रोग्रामिंग भाषा (प्रोग्राम) में अनुवादित किया जा सकता है।


2

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

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


1

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

दूसरी ओर एल्गोरिदम का अर्थ है समग्र तर्क। किसी समस्या को हल करने के लिए अनुक्रमिक चरणों में। यदि इसे आरेखीय रूप से दर्शाया जाता है तो इसे प्रवाह चार्ट कहा जाता है।

कुछ इसे व्यावसायिक सॉफ्टवेयर विकास में एक सामान्य शब्द होने के रूप में छद्म कोड के रूप में संदर्भित कर सकते हैं जहां क्लाइंट-साइड बिजनेस ऑब्जेक्ट डेवलपर्स आवश्यकताओं के आधार पर छद्म कोड लिखते हैं। इसे प्रोग्रामर / डेवलपर को लागू करने के लिए दिया जाता है।

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


1

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

  • प्रारंभिक स्थानों को उनके स्थानों पर रखें
  • शो बोर्ड
  • जबकि खेल खत्म नहीं हुआ है
    • चाल और प्रदर्शन बोर्ड बनाते हैं
    • कदम के लिए शीघ्र उपयोगकर्ता
    • उपयोगकर्ताओं को स्थानांतरित करें

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

आप इसे संशोधित कर सकते हैं, जैसे एक और स्तर जोड़ सकते हैं:

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

अब आप प्रत्येक प्रमुख चरणों के लिए छद्मकोड लिख सकते हैं जैसे "काले की कानूनी चालों की सूची बनाएं", जैसे:

  • प्रत्येक काले टुकड़े के लिए
    • दिए गए स्थान में टुकड़ा प्रकार के लिए
      • अगले संभावित स्थानों की सूची बनाएं

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

एक एल्गोरिथ्म आमतौर पर इनमें से एक कदम उठाता है और एक प्रतीकात्मक भाषा में विभिन्न डेटा संरचनाओं का विवरण देता है ताकि आप कुशलता से कदम के लक्ष्य को पूरा कर सकें।

उदाहरण के लिए, get_legal_moves(board, color)एक एल्गोरिथ्म डिजाइन के योग्य है:

get_legal_moves(board, color):
    for i,j in board_dimensions
        if piece_at i,j is of color
            if piece type is KNIGHT
                add the following to the next moves list:
                    location i+1 j+2, i-1 j+2... etc
            if piece type is rook
                add locations:....

आप देख सकते हैं कि एल्गोरिदम को उपयोगी होने के लिए बहुत सटीक होना चाहिए।

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


यह हर चरण में स्यूडोकोड में व्यक्त टॉप-डाउन एल्गोरिथ्म अपघटन प्रतीत होता है।
नाथन तुग्गी

0

मेरे अनुभव से स्यूडो-कोड हमेशा कार्यात्मक व्यक्ति (प्रक्रिया के मालिक लोग) द्वारा लिखे गए हैं जो एक प्रक्रिया, मॉड्यूल या उप-प्रणाली पर लागू होने वाले व्यावसायिक नियमों को व्यक्त करने के तरीके के रूप में हैं।

एक एल्गोरिथ्म संभव के रूप में विशिष्ट कार्य को हल करने के लिए तर्क बयानों का एक अलग सेट है।


0

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

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


-2

छद्म का अर्थ है एकल और कोड एक निर्देश हो सकता है..कहीं छद्म संहिता का अर्थ है एक कथन जिसका उपयोग कंप्यूटर प्रोग्रामिंग भाषा को आसानी से समझने के लिए किया जाता है ... यह प्रोग्राम कोड को एनालिसिस करने में मदद करता है ..। । जहां एल्गोरिथ्म एक समस्या को हल करने के लिए निर्देशों का एक उचित तार्किक कदम है।


1
इससे पहले किए गए 10 से अधिक अंकों के बारे में कुछ भी स्पष्ट नहीं लगता है और पहले के 10 जवाबों में समझाया गया है
gnat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.