parameters - तर्क और पैरामीटर के बीच क्या अंतर है?




language-agnostic arguments (20)

इस विषय पर पहले से ही विकिपीडिया प्रविष्टि है ( Parameter देखें) जो नियम पैरामीटर और तर्क को परिभाषित करता है और अलग करता है । संक्षेप में, पैरामीटर फ़ंक्शन / प्रक्रिया / विधि हस्ताक्षर का हिस्सा होता है और एक तर्क पैरामीटर के लिए रन-टाइम और / या कॉल-साइट पर प्रदान किया गया वास्तविक मान होता है।

विकिपीडिया लेख में यह भी कहा गया है कि दो शब्द अक्सर समानार्थी रूप से उपयोग किए जाते हैं (विशेष रूप से जब अनौपचारिक रूप से कोड के बारे में तर्क देते हैं):

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

सी में निम्नलिखित उदाहरण फ़ंक्शन को देखते हुए जो दो पूर्णांक जोड़ता है, x और y को इसके पैरामीटर के रूप में संदर्भित किया जाएगा:

int add(int x, int y) {
    return x + y;
}

add का उपयोग करके कॉल-साइट पर, जैसे नीचे दिखाया गया उदाहरण, 123 और 456 को कॉल के तर्क के रूप में संदर्भित किया जाएगा।

int result = add(123, 456);

इसके अलावा, कुछ भाषा विनिर्देश (या औपचारिक दस्तावेज) पैरामीटर या तर्क का विशेष रूप से उपयोग करना चुनते हैं और दोनों मामलों के बीच असंबद्ध होने के बजाय औपचारिक और वास्तविक जैसे विशेषण का उपयोग करते हैं। उदाहरण के लिए, सी / सी ++ दस्तावेज अकसर फंक्शन पैरामीटर को औपचारिक तर्क और फ़ंक्शन कॉल तर्कों को वास्तविक तर्क के रूप में संदर्भित करता है। उदाहरण के लिए, विज़ुअल सी ++ भाषा संदर्भ में " औपचारिक और वास्तविक तर्क " देखें।

मौखिक रूप से तरीकों के बारे में बात करते समय, मुझे यकीन नहीं है कि शब्द तर्क या पैरामीटर या कुछ और शब्द का उपयोग करना है या नहीं। किसी भी तरह से अन्य लोगों को पता है कि मेरा क्या मतलब है, लेकिन क्या सही है, और शर्तों का इतिहास क्या है?

मैं एक सी # प्रोग्रामर हूं, लेकिन मुझे आश्चर्य है कि लोग अलग-अलग भाषाओं में अलग-अलग शब्दों का उपयोग करते हैं या नहीं।

रिकॉर्ड के लिए मैं कंप्यूटर साइंस में पृष्ठभूमि के बिना स्वयं सिखाया जाता हूं। (कृपया कोड पूर्ण पढ़ने के लिए मुझे मत कहें क्योंकि मैं उन लोगों के लाभ के लिए यह पूछ रहा हूं जिनके पास स्टीव मैककनेल की अद्भुत पुस्तक की प्रतिलिपि नहीं है।)

सारांश

आम सहमति यह प्रतीत होती है कि टीम के पर्यावरण में इन शर्तों का एक-दूसरे का उपयोग करना ठीक है। शायद जब आप सटीक शब्दावली को परिभाषित कर रहे हों; तो आप असंतुलित करने के लिए " औपचारिक तर्क / पैरामीटर" और " वास्तविक तर्क / पैरामीटर" का भी उपयोग कर सकते हैं।


एक तर्क पैरामीटर का एक तात्कालिकता है।


एक पैरामीटर वह होता है जिसे आप फ़ंक्शन कॉल करते समय भरना चाहते हैं। आपने जो तर्क दिया है वह तर्क है।

बस सेट करें: तर्क पैरामीटर में जाता है, एक तर्क पैरामीटर का मान है।

थोड़ी अधिक जानकारी: http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments


ओरेकल के जावा ट्यूटोरियल इस भेद को इस प्रकार परिभाषित करते हैं: "पैरामीटर्स एक विधि घोषणा में चर की सूची को संदर्भित करता है। तर्क वास्तविक मान होते हैं जो विधि लागू होने पर पारित होते हैं। जब आप किसी विधि का आह्वान करते हैं, तो उपयोग किए गए तर्कों को घोषणा के पैरामीटर से मेल खाना चाहिए प्रकार और क्रम में। "

पैरामीटर और तर्कों की एक और विस्तृत चर्चा: https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html


जब हम जावा में विधि (फ़ंक्शन) बनाते हैं, तो इस तरह की विधि ..

data-type name of the method (data-type variable-name)

कोष्ठक में, ये पैरामीटर हैं, और जब हम विधि (फ़ंक्शन) को कॉल करते हैं तो हम इस पैरामीटर के मान को पास करते हैं, जिन्हें तर्क कहा जाता है।


ठीक है चलो असली: सभी उद्देश्यों और उद्देश्यों के लिए वे लगभग वही बात .......... ठीक है लेकिन पैडेंट के लिए तकनीकी अंतर हो सकता है।

एक "पैरामीटर" एक बहुत ही सामान्य व्यापक बात है, लेकिन एक तर्क एक बहुत ही विशिष्ट चीज है। बढ़िया, धन्यवाद - तो यह वास्तव में सहायक है। हमम: शायद एक उदाहरण क्रम में है।

एक सरल स्पष्टीकरण

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

अब विभिन्न मशीनों के अलग-अलग नियम हैं। एक विशेष मशीन केवल इनपुट के रूप में पेट्रोल (अप्रयुक्त) स्वीकार कर सकती है। यह कहा जा सकता है कि ये मशीनें प्रकार के मानकों को स्वीकार करती हैं: पेट्रोल।

एक उदाहरण

फिर एक तर्क क्या है? एक तर्क मशीन में डाले जाने का एक विशेष और विशिष्ट उदाहरण है। मान लीजिए कि मेरी मशीन लोगों को इनपुट के रूप में ले जाती है ( लोग इस मशीन का पैरामीटर होंगे ) और मान लीजिए कि यह मशीन उन लोगों को बदल देती है, जो लोगों का मतलब नहीं है (क्या एक अद्भुत मशीन है!) तो क्या तर्क है? तर्क विशेष व्यक्ति होगा जो वास्तव में मशीन में डाल दिया जाता है। उदाहरण के लिए यदि जॉर्ज बुश मशीन में डाल दिया गया तो तर्क जॉर्ज बुश होगा। अगर किम कार्डिशियन वहां थे तो वह भी एक तर्क होगी। तो पैरामीटर लोग एक अमूर्त अवधारणा के रूप में होंगे, लेकिन तर्क हमेशा एक विशेष व्यक्ति होगा जो किसी विशेष नाम के साथ होता है जिसे मशीन में रखा जाता है।

एक और उदाहरण

उदाहरण के लिए एक विधि (यानी एक विशेष मशीन जो आउटपुट में इनपुट बदलती है) पैरामीटर के रूप में एक पूर्णांक स्वीकार कर सकती है। आइए मान लें कि पूर्णांक 5 फ़ंक्शन में "पास हो गया है" यानी मान लीजिए कि आपने मशीन 5 में मशीन डाली है)। इस मामले में पूर्णांक "5" तर्क होगा, और इस विधि द्वारा स्वीकार किया गया "पैरामीटर" प्रकार पूर्णांक होगा।

यह अंतर है। सरल।

आशा है कि ये आपकी मदद करेगा। अगर आप उलझन में हैं तो कृपया टिप्पणी करें और मैं कोशिश करूँगा और इसे ठीक कर दूंगा।


दोनों में सी में उपयोग में बहुत अंतर नहीं है, दोनों शर्तों का प्रयोग अभ्यास में किया जाता है। ज्यादातर तर्क अक्सर कार्यों के साथ प्रयोग किया जाता है। फ़ंक्शन कॉलिंग कथन के साथ पारित मान को तर्क कहा जाता है, और पैरामीटर वेरिएबल होगा जो फ़ंक्शन परिभाषा (जिसे औपचारिक पैरामीटर कहा जाता है) में मान की प्रतिलिपि बनाता है।

int main ()
{
   /* local variable definition */
   int a = 100;
   int b = 200;
   int ret;

   /* calling a function to get max value */
   ret = max(a, b);

   printf( "Max value is : %d\n", ret );

   return 0;
}

/* function returning the max between two numbers */
int max(int num1, int num2) 
{
   /* local variable declaration */
   int result;

   if (num1 > num2)
      result = num1;
   else
      result = num2;

   return result; 
}

उपरोक्त कोड num1 और num2 में औपचारिक पैरामीटर हैं और a और b वास्तविक तर्क हैं।


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

एमसीएसडी सर्फिफिकेशन टूलकिट (परीक्षा 70-483) प्रोग्रामिंग सी # , 1 संस्करण, Wrox, 2013 में

असली दुनिया के मामले परिदृश्य

// Define a method with two parameters
int Sum(int num1, int num2)
{
   return num1 + num2;
}

// Call the method using two arguments
var ret = Sum(2, 3);

फ़ंक्शन / विधि के पैरामीटर आपको उन मानों का वर्णन करते हैं जो इसका परिणाम गणना करने के लिए उपयोग करते हैं।

फ़ंक्शन / विधि के किसी विशेष कॉल के दौरान इन मानकों को आवंटित मान हैं।


फ़ंक्शन के लिए औपचारिक पैरामीटर फ़ंक्शन घोषणा में सूचीबद्ध होते हैं और फ़ंक्शन परिभाषा के शरीर में उपयोग किए जाते हैं। औपचारिक पैरामीटर (किसी भी प्रकार का) एक प्रकार का रिक्त या प्लेसहोल्डर होता है जो फ़ंक्शन कहलाता है जब किसी चीज़ के साथ भर जाता है।

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

कॉल-बाय-वैल्यू और कॉल-बाय-रेफरेंस शब्द प्लगिंग-इन प्रक्रिया में उपयोग की जाने वाली तंत्र को संदर्भित करते हैं। कॉल-बाय-वैल्यू विधि में केवल तर्क का मान उपयोग किया जाता है। इस कॉल-दर-मूल्य तंत्र में, औपचारिक पैरामीटर एक स्थानीय चर है जिसे संबंधित तर्क के मान में प्रारंभ किया जाता है। कॉल-बाय-रेफरेंस तंत्र में तर्क एक चर है और संपूर्ण चर का उपयोग किया जाता है। कॉल-बाय-रेफरेंस मैकेनिज्म में तर्क चर को औपचारिक पैरामीटर के लिए प्रतिस्थापित किया जाता है ताकि औपचारिक पैरामीटर में किए गए किसी भी बदलाव को वास्तव में तर्क चर में बनाया जा सके।


मैंने सोचा और महसूस किया कि मेरा पिछला जवाब गलत था। यहां एक बेहतर परिभाषा है

{ अंडों के एक दफ़्ती की कल्पना करो: सॉसेज लिंक का एक पैक: और नौकरानी } ये तैयारी के लिए आवश्यक एक समारोह के तत्वों का प्रतिनिधित्व करते हैं: (किसी भी नाम का उपयोग करें: आइए कहें पाक कला मेरे कार्य का नाम है)।

एक नौकरानी एक विधि है।

(आपको __call_ या नाश्ता करने के लिए इस विधि से पूछना चाहिए) (नाश्ते बनाने का कार्य खाना पकाने वाला एक कार्य है ) _

अंडे और सॉसेज पैरामीटर्स हैं:

(क्योंकि अंडे की संख्या और सॉसेज की संख्या जिसे आप खाना चाहते हैं __variable_ है।) _

आपका निर्णय एक तर्क है:

यह आपके द्वारा चुने गए अंडे और / या सॉसेज की चुनी गई संख्या के __Value_ का प्रतिनिधित्व करता है ._

{ निमोनिक }

_ "जब आप नौकरानी को बुलाते हैं और उसे नाश्ते करने के लिए कहते हैं, तो वह आपके साथ __argues_ के बारे में बताती है कि आपको कितने अंडे और सॉसेज खाना चाहिए। वह आपके कोलेस्ट्रॉल के बारे में चिंतित है" __

(तर्क, तब, पैरामीटर के संयोजन के लिए मान हैं जिन्हें आपने घोषित किया है और आपके फ़ंक्शन को पास करने का निर्णय लिया है)


यह पैरामीटर (कंप्यूटर प्रोग्रामिंग) में पूरी तरह से समझाया गया है - विकिपीडिया

संक्षेप में, एक पैरामीटर एक प्रकार है, और एक तर्क एक उदाहरण है।

फ़ंक्शन परिभाषा f(x) = x*x वैरिएबल x एक पैरामीटर है; फंक्शन कॉल f(2) में मान `` 2 फ़ंक्शन का तर्क है।

और पैरामीटर - विकिपीडिया

कंप्यूटर प्रोग्रामिंग में , parameter दो विचारों का आमतौर पर उपयोग किया जाता है, और पैरामीटर और तर्क के रूप में संदर्भित किया जाता है - औपचारिक पैरामीटर और वास्तविक पैरामीटर के रूप में अधिक औपचारिक रूप से।

उदाहरण के लिए, जैसे फ़ंक्शन की परिभाषा में

y = f(x) = x + 2,

एक्स परिभाषित फ़ंक्शन का औपचारिक पैरामीटर ( पैरामीटर ) है।

जब किसी दिए गए मान के लिए फ़ंक्शन का मूल्यांकन किया जाता है, जैसा कि अंदर है

f(3): or, y = f(3) = 3 + 2 = 5,

परिभाषित फ़ंक्शन द्वारा मूल्यांकन के लिए वास्तविक पैरामीटर ( तर्क ) है; यह एक दिया गया मान (वास्तविक मूल्य) है जिसे परिभाषित फ़ंक्शन के औपचारिक पैरामीटर के लिए प्रतिस्थापित किया जाता है। (आकस्मिक उपयोग में शब्द पैरामीटर और तर्क अनजाने में इंटरचेंज किया जा सकता है, और इस प्रकार गलत तरीके से उपयोग किया जा सकता है।)


या किसी विधि के लिए वैकल्पिक तर्कों के मामले में, इस तरह याद रखने के लिए यह भी आसान हो सकता है:

public void Method(string parameter = "argument") 
{

}

parameter है, इसका मान, "argument" तर्क है :)


या यहां तक ​​कि सरल ...

में तर्क!

पैरामीटर बाहर!


शर्तें कुछ हद तक अदलाबदल योग्य हैं। अन्य उत्तरों में वर्णित भेद कॉल साइट पर दिए गए मूल्य के लिए फ़ंक्शन के पैरामीटर और पैरामीटर के अंदर उपयोग किए गए नाम के औपचारिक पैरामीटर के साथ अधिक उचित रूप से व्यक्त किया गया है ( औपचारिक तर्क और तर्क भी आम हैं)।

यह भी ध्यान रखें कि, गणित में, शब्द तर्क अधिक आम है और पैरामीटर आमतौर पर कुछ अलग है (हालांकि पैरामीट्रिक समीकरण में पैरामीटर अनिवार्य रूप से दो या दो से अधिक कार्यों के लिए तर्क है)।


संपादन में, मुझे अक्सर भूल जाते हैं कि लोग कैसे भूल जाते हैं: संरचना भाषा प्राकृतिक भाषाओं पर आधारित होती है।

अंग्रेजी में

एक "पैरामीटर" प्लेसहोल्डर है। उन्होंने बोली जाने वाली भाषा में प्रतिक्रिया प्रारूप सेट किया। परिभाषा के अनुसार, यह कॉल को सीमित करता है, प्रतिक्रिया को सीमित करता है।

एक "तर्क" एक ऐसी स्थिति है जिसे माना जा रहा है। आप अपनी राय का तर्क देते हैं: आप एक तर्क पर विचार करते हैं।

मुख्य अंतर

एक तर्क की विषयगत भूमिका एजेंट है। पैरामीटर की विषयगत भूमिका प्राप्तकर्ता है।

सहभागिता

पुरुष भाग के रूप में तर्क के बारे में सोचें, पैरामीटर मादा भाग बनाते हैं। तर्क पैरामीटर में चला जाता है।

प्रयोग

पैरामीटर आमतौर पर परिभाषाओं में प्रयोग किया जाता है। आमतौर पर आमंत्रण में एक तर्क का प्रयोग किया जाता है।

प्रशन

इसे कम विसर्जित करने के लिए वाक्य को खत्म करें।

(ए) एक परिभाषा बोलना:

  1. क्या तर्क प्रयोग किया जाएगा []?
  2. क्या [] यह पैरामीटर [] होगा?

(बी) एक आमंत्रण की बात करते हुए:

  1. आप किस पैरामीटर का उपयोग करेंगे, []?
  2. क्या [] यह पैरामीटर होगा []?

जवाब

(ए)

  1. इस पैरामीटर के साथ / में / विरुद्ध /
  2. तर्क (एस) ... ले लो

(बी)

  1. और कुछ उदाहरण तर्क क्या हैं
  2. तर्क (एस) ... पर / में / विरुद्ध / के साथ प्रयोग किया जाता है

ओवरलैप नहीं

जैसा कि आप कल्पना कर सकते हैं, उत्तर देने के बाद: बोली जाने वाली भाषा में, ये शब्द कभी-कभी समान प्रतिक्रियाएं उत्पन्न करेंगे!

तो, एक नियम के रूप में:

  • आम तौर पर यदि कोई पैरामीटर जानकारी चाहता है, तो वे प्रकार, परिवर्तनीय नाम इत्यादि के बारे में अधिक जानना चाहते हैं। यदि आप केवल उदाहरण तर्क देते हैं तो वे भ्रमित हो सकते हैं।

    • आम तौर पर यदि कोई तर्क जानकारी चाहता है, तो वे जानना चाहते हैं कि आप किसी फ़ंक्शन या उसके पैरामीटर में किस मूल्य को पारित करते हैं।

हमेशा याद रखें कि: - पैरामीटर प्राप्त होने पर तर्क पारित किए जाते हैं।


हाँ! पैरामीटर्स और तर्कों के अलग-अलग अर्थ होते हैं, जिन्हें आसानी से समझाया जा सकता है:

फ़ंक्शन पैरामीटर फ़ंक्शन परिभाषा में सूचीबद्ध नाम हैं।

फ़ंक्शन तर्क वास्तविक मान हैं जो फ़ंक्शन को पास (और प्राप्त) होते हैं।


पैरामीटर वेरिएबल्स हैं जिनका उपयोग फ़ंक्शन के लिए फ़ंक्शन में पारित डेटा को संग्रहीत करने के लिए किया जाता है। तर्क वास्तविक डेटा होते हैं जो इसे लागू होने पर फ़ंक्शन में पास किया जाता है:

// x and y are parameters in this function declaration
function add(x, y) {
  // function body
  var sum = x + y;
  return sum; // return statement
}

// 1 and 2 are passed into the function as arguments
var sum = add(1, 2);

पैरामीटर समारोह की घोषणा में परिवर्तनीय है।

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