प्रोग्रामिंग में एक समारोह क्या है?

क्या आप अक्सर अपने प्रोग्राम में विभिन्न वर्गों में पुन: उपयोग करने के लिए अपने कोड को कॉपी और पेस्ट करते हैं?

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

क्या एक समारोह है?

एक फ़ंक्शन कोड का एक ब्लॉक है जो एक कार्य करता है। इसे कई बार कॉल और पुन: उपयोग किया जा सकता है। आप किसी फ़ंक्शन को जानकारी पास कर सकते हैं और यह जानकारी वापस भेज सकता है। कई प्रोग्रामिंग भाषाओं में अंतर्निहित कार्य होते हैं जिन्हें आप उनकी लाइब्रेरी में एक्सेस कर सकते हैं, लेकिन आप अपने स्वयं के फ़ंक्शन भी बना सकते हैं।

जब आप किसी फ़ंक्शन को कॉल करते हैं, तो प्रोग्राम वर्तमान प्रोग्राम को रोक देगा और फ़ंक्शन को निष्पादित करेगा। समारोह को ऊपर से नीचे तक पढ़ा जाएगा। एक बार कार्य पूरा हो जाने के बाद, यह कार्यक्रम चलता रहता है जहाँ इसे रोका गया था। यदि फ़ंक्शन एक मान लौटाता है, तो उस मान का उपयोग किया जाएगा जहां फ़ंक्शन को बुलाया गया था।

आप एक समारोह कैसे लिखते हैं?

फ़ंक्शन लिखने के कई अलग-अलग तरीके हैं। सटीक सिंटैक्स उस भाषा पर निर्भर करेगा जिसे आप प्रोग्रामिंग कर रहे हैं। हम प्रोग्रामिंग सिंटैक्स की एक श्रृंखला प्रदर्शित करने के लिए पायथन, जावास्क्रिप्ट और C ++ में उदाहरण दिखाएंगे।

संबंधित: क्यों प्रोग्रामिंग भाषा कार्य के बिना अस्तित्व में नहीं आ सकती

शून्य कार्य

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

TIP: फ़ंक्शंस नाम दें जो बताते हैं कि वे क्या करते हैं। फ़ंक्शन को प्रबंधित करना और कोड पढ़ना आसान होगा क्योंकि आपका प्रोग्राम अधिक जटिल हो जाता है।

अजगर

 def helloFunction():
print("Hello World")
helloFunction()

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

आपकी उत्सुक आँखों ने देखा होगा कि प्रिंट () भी एक फ़ंक्शन है, लेकिन इसे हमारे फ़ंक्शन से अलग तरीके से कहा जाता है। अभी उस विचार को पकड़ें, हम बाद में फंक्शंस पैरामीटर का पता लगाएंगे।

जावास्क्रिप्ट

 function helloFunction(){
alert("Hello World!");
}
helloFunction();

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

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

नोट: पहले के उदाहरण में बहुत कुछ प्रिंट () , अलर्ट () भी एक फ़ंक्शन है।

सी ++

 #include <iostream>
using namespace std;
void helloFunction(){
cout << "Hello World!";
}
int main(){
helloFunction();
return 0;
}

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

क्या आपने C ++ कोड में एक और फंक्शन डाला? हाँ, मुख्य () एक फ़ंक्शन है। जब आप C ++ प्रोग्राम निष्पादित करते हैं, तो आप स्वचालित रूप से मुख्य फ़ंक्शन को कॉल करते हैं। जब मुख्य फ़ंक्शन सफलतापूर्वक पूरा हो जाता है, तो यह 0 पर वापस लौटता है क्योंकि यह प्रोग्राम को संकेत देने के लिए बाहर निकलता है कि प्रोग्राम को चलाने में कोई त्रुटि नहीं थी।

ऐसे कार्य जिनके लिए मूल्यों की आवश्यकता होती है

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

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

अजगर

 def helloFunction(newPhrase):
print(newPhrase)
helloFunction("Our new phrase")

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

जावास्क्रिप्ट

 function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction("Our new phrase");

सी ++

 #include <iostream>
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction("Our new Phrase");
return 0;
}

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

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

संबंधित: 5 कार्यात्मक प्रोग्रामिंग भाषाएँ आपको पता होनी चाहिए

कार्य जो एक मान लौटाते हैं

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

अजगर

 def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

इस उदाहरण में, हमारे फ़ंक्शन को एक के बजाय दो चर की आवश्यकता होती है। हम संकेत देते हैं कि हमारे परिवर्तनशील नामों को अल्पविराम से अलग करके। कीवर्ड रिटर्न फ़ंक्शन को निम्नलिखित डेटा को वापस करने के लिए कहता है, इस मामले में, 2 + 4, या 6. हम फ़ंक्शन को प्रिंट () फ़ंक्शन के अंदर कहते हैं।

एक बार जब हमारा कार्यक्रम उस रेखा पर पहुंच गया, तो यह रुक गया होगा, हमारे समारोह को चलाया जाएगा, और फिर जारी रहेगा जैसे कि AddFunction (2, 4) वास्तव में केवल लौटाया गया मान 6 था।

जावास्क्रिप्ट

जावास्क्रिप्ट कोड पायथन कोड के समान है। प्राथमिक अंतर यह है कि फ़ंक्शन को अलर्ट में कहा जाता है।

 function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

सी ++

 #include <iostream>
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

C ++ कोड समान रूप से चलता है, लेकिन हमेशा की तरह, थोड़ी अधिक जानकारी की आवश्यकता होती है। सबसे पहले, हमें यह कहना होगा कि हमारा फ़ंक्शन किस प्रकार का डेटा लौटाएगा। आप देखेंगे कि शून्य को इंट में बदल दिया गया है। इसका मतलब यह है कि कोई डेटा वापस करने के बजाय, हमारा फ़ंक्शन पूर्णांक लौटाएगा। इसके अलावा, कोड उस कोड के समान है जिसे हमने पहले ही खोजा है।

अपने कार्यों को प्रबंधित करें

कार्यों के बारे में एक मजेदार बात यह है कि फ़ंक्शन अन्य कार्यों को कॉल कर सकते हैं। वे खुद भी बुला सकते हैं! लेकिन बड़ी ताकत के साथ बड़ी जिम्मेदारी आती है। अन्य कार्यों को कॉल करने वाले फ़ंक्शन के साथ पागल बनाने वाले कोड न जाएं जो अभी तक अधिक फ़ंक्शन कॉल करते हैं।

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