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(data-type variable) {

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

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

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

void function-name(деректер типті айнымалы, деректер типті айнымалы және т.б.) {

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

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

void function-name(деректер типті айнымалы, деректер типті айнымалы және т.б.) {

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

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

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

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

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

main() функциясынан бұрын немесе кейін функция жасау керек пе?

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

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

 VEXcode Pro V5 код редакторы getGCD функциясын анықтамас бұрын көрсетеді, ал getGCD жарияланбаған идентификатор қатесі ретінде ерекшеленеді.

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

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

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));
}
	

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

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 = қалдық;
  }
  қайтару a;
}
	

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


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

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

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

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

Міне, қалай:

VEXcode Pro V5 интерфейсі, қалта контекстік мәзірін қосады және тақырып файлын жасау үшін Жаңа файл опциясын таңдайды.

common.h файл атауы енгізілген C++ тақырып файлының параметрі таңдалғанын көрсететін жаңа файл жасау терезесі.

VEXcode Pro V5 код редакторы бөлек common.cpp файлында анықталған getGCD функциясын көрсетеді.

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

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

common.cpp файл атауы енгізілген C++ бастапқы файл параметрі таңдалғанын көрсететін жаңа файл жасау терезесі.

//бұл common.cpp файлы

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

getGCD(...) функциясын осы файлға жылжытыңыз

#include "vex.h"
#include "common.h"
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: