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 функция-аты(деректер типі айнымалы) {

	Айнымалылар туралы мәлімдемелер, т.б.
	Өрнектер...
	// нақты қайтару қажет емес.
}

Бірнеше айнымалылар қажет болса, бөлгіш ретінде жай ғана "," қолданасыз:

Функция арнайы мәнді қайтармайды, бірақ бір параметрі бар.

void функция атауы (деректер түріндегі айнымалылар, деректер түріндегі айнымалылар және т.б.) {

	Айнымалылар туралы мәлімдемелер, т.б.
	Өрнектер...
	// нақты қайтару қажет емес.
}

Функция арнайы мәнді қайтармайды, бірақ бірнеше параметрі бар.

void функция атауы (деректер түріндегі айнымалылар, деректер түріндегі айнымалылар және т.б.) {

	Айнымалылар туралы мәлімдемелер, т.б.
	Өрнектер...
	қайтару мәні
}

Функция белгілі бір деректер түрінің мәнін және бір параметрден көп кірісті қайтарады.

Функцияныңқайтаратынтүрі функция қайтаратын қайтару мәнінің деректер түрімен бірдей болуы керек. қайтару мәнітұрақты мән немесе айнымалы болуы мүмкін. Оның алдында «return кілт сөзі болуы керек.

Қайтару түрін келесі ережелер реттейді:

  • Массивтен басқа қайтару түріне дерлік шектеулер жоқ. (Массив - деректеріңізді жасау жолына қатысты тағы бір жетілдірілген тақырып. Бұл мақаланың аясынан тыс және мұнда қарастырылмайды.
  • Қайтару түрі «жарамсыз» екенін көрсету қайтару мәні қажет емес дегенді білдіреді. «Қайтару» тармағы жасырын болып табылады. Бұл «жарамсыз» функцияның соңында «қайтару» сөзін нақты көрсету керек дегенді білдіреді.

Функцияны негізгі() алдында немесе кейін жасау керек пе?

Компилятор файлыңызды жоғарыдан төмен қарай оқиды. Осылайша, тәртіп маңызды.

Мысал ретінде қарапайым ең үлкен ортақ бөлгіш (GCD) функциясын алайық. Сіз қатені аласыз:жарияланбаған 'getGCD' идентификаторын пайдалану

 Әртүрлі кодтау блоктарын және VEX Robotics жүйелерін бағдарламалау опцияларын көрсететін VEXcode V5 бағдарламалау интерфейсінің скриншоты, бағдарламалау бөліміндегі пайдаланушылар үшін қолжетімді мүмкіндіктерді суреттейді.

Іс жүзінде бұл негізгі( ) немесе басқа шақырушы функция блогынан болсын, дұрыс, яғни «шақырылатын функция блогы» «шақыру функциясы блогының» алдында тұруы керек.

Екі ықтимал шешім:

int getGCD(int a, int b) {
  int қалдық = 1;
  әзірше (қалған > 0) {
    қалдық = a % b;
    a = b;
    b = қалдық;
  }
  қайтару a;
}


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

«Негізгі()» мысалындағы «шақырылатын функция блогының» үстіне «шақырылған функцияны» жылжытыңыз.

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;
  ал (қалған > 0) {
    қалдық = a % b;
    a = b;
    b = қалдық;
  }
  қайтару a;
}
	

Функцияның прототипін (қолтаңба деп те аталады) «шақыру функциясы блогының» алдына қойыңыз.


Әртүрлі файлдардағы функцияларды модульдендіргіңіз келсе ше?

1-қадам: Тақырып файлын жасаңыз және функцияның прототипін осы файлға салыңыз.

мысалы, «myFuncs.h» атты файлды жасаңыз

Кодты құрастырмас бұрын осы тақырып файлын жобаңызға «қосу» керек. Бұл VEXcode Pro V5 IDE-ге жобаңызды құруды бастамас бұрын осы жаңа тақырып файлының қосылғаны туралы «хабардар болуға» мүмкіндік береді.

Міне, қалай:

Бағдарламалау бөлімінде қолжетімді функцияларды суреттейтін, әзірлеушілерге арналған код үзінділері мен құралдарды қоса алғанда, V5 санаты мүмкіндіктерін көрсететін бағдарламалау интерфейсінің скриншоты.

V5 санаты сипаттамасында әзірлеушілерге арналған негізгі мүмкіндіктер мен функцияларды көрсететін бағдарламалауға қатысты мазмұнның скриншоты.

V5 платформасындағы бағдарламалауға қатысты негізгі мүмкіндіктер мен функцияларды көрсететін V5 Бағдарламалау санатының сипаттамасының скриншоты.

Бұл тақырып файлында «common.h» (сіз бос орынсыз әріптік-сандық болса, қалағаныңызды атай аласыз.)

2-қадам: Бөлек cpp файлын жасаңыз, мысалы, common.cpp деп аталады

Әртүрлі кодтау опциялары мен мүмкіндіктерін көрсететін бағдарламалау интерфейсінің скриншоты, бағдарламалау бөліміндегі V5 санаты сипаттамасының функционалдығы мен орналасуын суреттейді.

//бұл ортақ.cpp файлы

int getGCD(int a, int b) {
  int қалдық = 1;
  ал (қалған > 0) {
    қалдық = a % b;
    a = b;
    b = қалдық;
  }
  қайтару 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 кітапханасының жетілдірілген бөлімдерінде қарастырылады:

  • Мән бойынша өту және сілтеме бойынша өту
  • Массивте өту
  • Құрылымда өту

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

Last Updated: