VEXcode Pro V5 में फ़ंक्शन बनाने के लिए सिंटैक्स को समझना

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

फ़ंक्शन परिभाषा

अब जबकि हमने कुछ नमूने देख लिए हैं, आइए फ़ंक्शन परिभाषा के सामान्य रूप पर नज़र डालें:

शून्य फ़ंक्शन-नाम() {

	चरों की घोषणाएँ, आदि।
	अभिव्यक्तियाँ...
	//स्पष्ट रूप से रिटर्न करने की आवश्यकता नहीं है।
}

कोई फ़ंक्शन कोई विशेष मान नहीं लौटाता, न ही कोई आने वाला पैरामीटर लौटाता है।

शून्य फ़ंक्शन-नाम(डेटा-प्रकार चर) {

	चरों की घोषणाएँ, आदि।
	अभिव्यक्तियाँ...
	//स्पष्ट रूप से रिटर्न करने की आवश्यकता नहीं है।
}

यदि आप एकाधिक चर चाहते हैं, तो आप बस "," को विभाजक के रूप में उपयोग करते हैं:

एक फ़ंक्शन कोई विशेष मान नहीं लौटाता है, लेकिन एक पैरामीटर के साथ लौटाता है।

शून्य फ़ंक्शन-नाम (डेटा-प्रकार चर, डेटा-प्रकार चर, आदि) {

	चरों आदि की घोषणाएँ।
	अभिव्यक्तियाँ...
	//स्पष्ट रूप से रिटर्न करने की आवश्यकता नहीं है।
}

एक फ़ंक्शन कोई विशेष मान नहीं लौटाता है, लेकिन एक से अधिक पैरामीटर के साथ लौटाता है।

शून्य फ़ंक्शन-नाम (डेटा-प्रकार चर, डेटा-प्रकार चर, आदि) {

	चरों आदि की घोषणाएँ।
	अभिव्यक्तियाँ...
	रिटर्न मान
}

एक फ़ंक्शन एक विशिष्ट डेटाटाइप का मान लौटाता है, तथा एक से अधिक इनपुट पैरामीटर के साथ।

किसी फ़ंक्शन कारिटर्नप्रकार उस फ़ंक्शन द्वारा लौटाए गए रिटर्न-वैल्यू के डेटा प्रकार के समान होना चाहिए। का रिटर्न-वैल्यूएक स्थिर मान या एक चर हो सकता है। इसके पहले कीवर्ड “return.” होना चाहिए

निम्नलिखित नियम रिटर्न प्रकार को नियंत्रित करते हैं:

  • सरणी को छोड़कर, रिटर्न प्रकार पर लगभग कोई प्रतिबंध नहीं है। (ऐरे (Array)) डेटा बनाने के संबंध में एक और अधिक उन्नत विषय है। यह इस लेख के दायरे से बाहर है और इसे यहां शामिल नहीं किया जाएगा।
  • रिटर्न प्रकार “void” निर्दिष्ट करने का अर्थ है कि कोई रिटर्न मान आवश्यक नहीं है। “वापसी” खंड अंतर्निहित है। इसका मतलब है कि आपको “void” फ़ंक्शन के अंत में स्पष्ट रूप से “return” बताना होगा।

main() फ़ंक्शन से पहले या बाद में फ़ंक्शन बनाना?

कंपाइलर आपकी फ़ाइल को ऊपर से नीचे तक पढ़ता है। इस प्रकार, क्रम मायने रखता है।

आइए सरल महत्तम सामान्य विभाजक (GCD) फ़ंक्शन को उदाहरण के रूप में लें। आपको यह त्रुटि मिलेगी: अघोषित पहचानकर्ता 'getGCD' काउपयोग

 VEXcode Pro V5 कोड एडिटर में मुख्य फ़ंक्शन को उसकी परिभाषा से पहले getGCD को कॉल करते हुए दिखाया गया है, जिसमें getGCD को एक अघोषित पहचानकर्ता त्रुटि के रूप में हाइलाइट किया गया है।

वास्तव में यह सत्य है चाहे वह main() या अन्य कॉलिंग फ़ंक्शन ब्लॉक से हो, अर्थात “कॉल किए गए फ़ंक्शन ब्लॉक” को “कॉलिंग फ़ंक्शन ब्लॉक” से पहले होना चाहिए।

दो संभावित समाधान:

int getGCD(int a, int b) {
  int शेषफल = 1;
  while (शेषफल > 0) {
    शेषफल = a % b;
    a = b;
    b = शेषफल;
  }
  a लौटाएँ;
}


int main() {
	Brain.Screen.printAt(5,60, “GCD ( %d, %d ) = %d”, getGCD(60, 100) );
}
	

उदाहरण "main()" में "कॉल किए गए फ़ंक्शन" को "कॉलिंग फ़ंक्शन ब्लॉक" के ऊपर ले जाएं।

int getGCD(int, int);

int main() { 
	Brain.Screen.printAt(5,60, "GCD ( %d, %d ) = %d", getGCD(60, 100) );
}

int getGCD(int a, int b) {
  int remainder = 1;
  while (remainder > 0) {
    remainder = a % b;
    a = b;
    b = remainder;
  }
  return a;
}
	

फ़ंक्शन के प्रोटोटाइप (जिसे हस्ताक्षर भी कहा जाता है) को “कॉलिंग फ़ंक्शन ब्लॉक” से पहले रखें।


यदि आप अलग-अलग फाइलों में मौजूद फंक्शन्स को मॉड्यूलर रूप में व्यवस्थित करना चाहें तो क्या होगा?

चरण 1: एक हेडर फ़ाइल बनाएं और फ़ंक्शन का प्रोटोटाइप इस फ़ाइल में डालें।

उदाहरण के लिए “myFuncs.h” नामक फ़ाइल बनाएँ

आपको अपना कोड संकलित करने से पहले इस हेडर फ़ाइल को अपने प्रोजेक्ट में “जोड़ना” होगा। इससे VEXcode Pro V5 IDE को आपके प्रोजेक्ट का निर्माण शुरू करने से पहले इस नई हेडर फ़ाइल के समावेश के बारे में पता चल जाता है।

यहां कैसे:

VEXcode Pro V5 इंटरफेस में इंक्लूड फोल्डर कॉन्टेक्स्ट मेनू खुला हुआ है और हेडर फाइल बनाने के लिए न्यू फाइल विकल्प का चयन किया गया है।

'क्रिएट न्यू फाइल' विंडो में C++ हेडर फाइल विकल्प चयनित दिखाई दे रहा है और फाइल का नाम common.h दर्ज किया गया है।

VEXcode Pro V5 कोड एडिटर में एक अलग common.cpp फ़ाइल में परिभाषित getGCD फ़ंक्शन दिखाया गया है।

इस हेडर फ़ाइल में “common.h” (आप जो चाहें नाम दे सकते हैं, बशर्ते वह अक्षरांकीय हो और उसमें कोई स्थान न हो।)

चरण 2: एक अलग cpp फ़ाइल बनाएँ, उदाहरण के लिए, common.cpp नाम से।

'क्रिएट न्यू फाइल' विंडो में C++ सोर्स फाइल विकल्प चयनित दिखाई दे रहा है और फाइल का नाम common.cpp दर्ज किया गया है।

//यह common.cpp फ़ाइल है

int getGCD(int a, int b) {
  int remainder = 1;
  while (remainder > 0) {
    remainder = a % b;
    a = b;
    b = remainder;
  }
  return a;
}

फ़ंक्शन getGCD(...) को इस फ़ाइल में ले जाएँ

#include "vex.h"
#include "common.h"
using namespace vex;

int main() { 
  vexcodeInit();
	Brain.Screen.printAt(5,60, "GCD ( %d, %d ) = %d", getGCD(60, 100) );
}

अब, आपकी मुख्य cpp फ़ाइल में निम्नलिखित चीज़ें होंगी

संदर्भ:https://api.vexcode.cloud/v5/html/namespacevex.html

भविष्य में VEX लाइब्रेरी के अधिक उन्नत अनुभागों में भविष्य के विषयों को शामिल किया जाएगा:

  • मान द्वारा पास बनाम संदर्भ द्वारा पास
  • एक सरणी में पास करें
  • एक संरचना में पास

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: