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' идентификаторын пайдалану
Іс жүзінде бұл негізгі( ) немесе басқа шақырушы функция блогынан болсын, дұрыс, яғни «шақырылатын функция блогы» «шақыру функциясы блогының» алдында тұруы керек.
Екі ықтимал шешім:
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-ге жобаңызды құруды бастамас бұрын осы жаңа тақырып файлының қосылғаны туралы «хабардар болуға» мүмкіндік береді.
Міне, қалай:



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

//бұл ортақ.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 кітапханасының жетілдірілген бөлімдерінде қарастырылады:
- Мән бойынша өту және сілтеме бойынша өту
- Массивте өту
- Құрылымда өту