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.

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

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

void function-name() {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 VEXcode V5 प्रोग्रामिंग इंटरफ़ेस का स्क्रीनशॉट, जिसमें VEX रोबोटिक्स सिस्टम की प्रोग्रामिंग के लिए विभिन्न कोडिंग ब्लॉक और विकल्प दिखाए गए हैं, तथा प्रोग्रामिंग अनुभाग में उपयोगकर्ताओं के लिए उपलब्ध सुविधाओं को दर्शाया गया है।

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

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

int getGCD(int a, int b) {
  int शेष = 1;
  while (शेष > 0) {
    शेष = a % b;
    a = b;
    b = शेष;
  }
  return 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 शेष = 1;
  while (शेष > 0) {
    शेष = a % b;
    a = b;
    b = शेष;
  }
  return a;
}
	

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


यदि आप विभिन्न फाइलों में फ़ंक्शनों को मॉड्यूलर बनाना चाहते हैं तो क्या होगा?

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

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

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

यहां कैसे:

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

V5 श्रेणी विवरण में प्रोग्रामिंग से संबंधित सामग्री का स्क्रीनशॉट, डेवलपर्स के लिए प्रमुख विशेषताओं और कार्यात्मकताओं को प्रदर्शित करता है।

V5 प्रोग्रामिंग श्रेणी विवरण का स्क्रीनशॉट, जिसमें V5 प्लेटफॉर्म में प्रोग्रामिंग से संबंधित प्रमुख विशेषताएं और कार्यात्मकताएं प्रदर्शित की गई हैं।

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

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

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

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

int getGCD(int a, int b) {
  int शेष = 1;
  while (शेष > 0) {
    शेष = a % b;
    a = b;
    b = शेष;
  }
  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: