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 function-name(ഡാറ്റ-ടൈപ്പ് വേരിയബിൾ) {

	വേരിയബിളുകളുടെ ഡിക്ലറേഷനുകൾ മുതലായവ.
	എക്സ്പ്രഷനുകൾ...
	//വ്യക്തമായ റിട്ടേൺ ആവശ്യമില്ല.
}

നിങ്ങൾക്ക് ഒന്നിലധികം വേരിയബിളുകൾ വേണമെങ്കിൽ, നിങ്ങൾ ഒരു ഡിലിമിറ്ററായി "," ഉപയോഗിച്ചാൽ മതി:

ഒരു ഫംഗ്ഷൻ പ്രത്യേക മൂല്യമൊന്നും നൽകുന്നില്ല, പക്ഷേ ഒരു പാരാമീറ്റർ മാത്രമേ നൽകുന്നുള്ളൂ.

void function-name(ഡാറ്റ-ടൈപ്പ് വേരിയബിൾ, ഡാറ്റ-ടൈപ്പ് വേരിയബിൾ, മുതലായവ) {

	വേരിയബിളുകളുടെ പ്രഖ്യാപനങ്ങൾ മുതലായവ.
	എക്സ്പ്രഷനുകൾ...
	//വ്യക്തമായ റിട്ടേൺ ആവശ്യമില്ല.
}

ഒരു ഫംഗ്ഷൻ പ്രത്യേക മൂല്യമൊന്നും നൽകുന്നില്ല, പക്ഷേ ഒന്നിലധികം പാരാമീറ്ററുകൾ ഉപയോഗിച്ച്.

void function-name(ഡാറ്റ-ടൈപ്പ് വേരിയബിൾ, ഡാറ്റ-ടൈപ്പ് വേരിയബിൾ, മുതലായവ) {

	വേരിയബിളുകളുടെ പ്രഖ്യാപനങ്ങൾ മുതലായവ.
	എക്സ്പ്രഷനുകൾ...
	റിട്ടേൺ റിട്ടേൺ-മൂല്യം
}

ഒരു ഫംഗ്ഷൻ ഒരു നിർദ്ദിഷ്ട ഡാറ്റാ ടൈപ്പിന്റെ മൂല്യം നൽകുന്നു, കൂടാതെ ഒന്നിലധികം പാരാമീറ്ററുകൾ ഇൻപുട്ട് ചെയ്യുന്നു.

ഒരു ഫംഗ്ഷന്റെറിട്ടേൺതരം, ഫംഗ്ഷൻ നൽകുന്ന റിട്ടേൺ-മൂല്യത്തിന്റെ ഡാറ്റാ തരത്തിന് തുല്യമായിരിക്കണം. റിട്ടേൺ-വാല്യൂഒരു സ്ഥിരമായ മൂല്യമോ വേരിയബിളോ ആകാം. അതിന് മുമ്പ് “return.” എന്ന കീവേഡ് ഉണ്ടായിരിക്കണം.

റിട്ടേൺ തരത്തെ നിയന്ത്രിക്കുന്ന നിയമങ്ങൾ ഇവയാണ്:

  • റിട്ടേൺ തരത്തിന് അറേ ഒഴികെ, ഏതാണ്ട് നിയന്ത്രണങ്ങളൊന്നുമില്ല. (നിങ്ങളുടെ ഡാറ്റ എങ്ങനെ സൃഷ്ടിക്കാം എന്നതിനെക്കുറിച്ചുള്ള മറ്റൊരു കൂടുതൽ വിപുലമായ വിഷയമാണ് അറേ.) അത് ഈ ലേഖനത്തിന്റെ പരിധിക്കു പുറത്താണ്, ഇവിടെ പരാമർശിക്കുന്നില്ല.
  • റിട്ടേൺ തരം “void” എന്നാൽ റിട്ടേൺ മൂല്യം ആവശ്യമില്ല എന്ന് വ്യക്തമാക്കുക. "റിട്ടേൺ" എന്ന ഉപവാക്യം അവ്യക്തമാണ്. അതായത് ഒരു "ശൂന്യ" ഫംഗ്ഷന്റെ അവസാനം നിങ്ങൾ "മടങ്ങുക" എന്ന് വ്യക്തമായി പ്രസ്താവിക്കണം.

main() ന് മുമ്പോ ശേഷമോ ഒരു ഫംഗ്ഷൻ സൃഷ്ടിക്കണോ?

കംപൈലർ നിങ്ങളുടെ ഫയൽ മുകളിൽ നിന്ന് താഴേക്ക് വായിക്കുന്നു. അതിനാൽ, ഓർഡർ പ്രാധാന്യമർഹിക്കുന്നു.

ഒരു ഉദാഹരണമായി, ലളിതമായ ഏറ്റവും വലിയ പൊതു ഡിനോമിനേറ്റർ (GCD) ഫംഗ്ഷൻ എടുക്കാം. നിങ്ങൾക്ക് ഒരു പിശക് ലഭിക്കും:അൺഡിക്ലേേർഡ് ഐഡന്റിഫയറിന്റെ ഉപയോഗം 'getGCD'

 VEXcode V5 പ്രോഗ്രാമിംഗ് ഇന്റർഫേസിന്റെ സ്ക്രീൻഷോട്ട്, VEX റോബോട്ടിക്സ് സിസ്റ്റങ്ങൾ പ്രോഗ്രാമിംഗ് ചെയ്യുന്നതിനുള്ള വിവിധ കോഡിംഗ് ബ്ലോക്കുകളും ഓപ്ഷനുകളും കാണിക്കുന്നു, പ്രോഗ്രാമിംഗ് വിഭാഗത്തിൽ ഉപയോക്താക്കൾക്ക് ലഭ്യമായ സവിശേഷതകൾ ചിത്രീകരിക്കുന്നു.

വാസ്തവത്തിൽ ഇത് main( ) ൽ നിന്നായാലും മറ്റ് കോളിംഗ് ഫംഗ്ഷൻ ബ്ലോക്കിൽ നിന്നായാലും ശരിയാണ്, അതായത് “called function block” “calling function block” ന് മുമ്പായിരിക്കണം.

രണ്ട് സാധ്യമായ പരിഹാരങ്ങൾ:

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


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

"main()" എന്ന ഉദാഹരണത്തിൽ, "calling function" ബ്ലോക്കിന് മുകളിലേക്ക് "called function" നീക്കുക.

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 remainer = 1;
  while (remainder > 0) {
    remainer = a % b;
    a = b;
    b = remainer;
  }
  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 remainder = 1;
  while (remainder > 0) {
    remainder = a % b;
    a = b;
    b = remainder;
  }
  return a;
}

getGCD(...) ഫംഗ്ഷൻ ഈ ഫയലിലേക്ക് നീക്കുക.

#include "vex.h"
#include "common.h"
നെയിംസ്പേസ് 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 ലൈബ്രറിയുടെ കൂടുതൽ വിപുലമായ വിഭാഗങ്ങളിൽ ഉൾപ്പെടുത്തും:

  • പാസ് ബൈ വാല്യു vs. പാസ് ബൈ റഫറൻസ്
  • ഒരു അറേയിൽ കടന്നുപോകുക
  • ഒരു ഘടനയിൽ കടന്നുപോകുക

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

Last Updated: