Izpratne par sintaksi, lai izveidotu funkcijas 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.

Funkcijas definīcija

Tagad, kad esam izpētījuši dažus paraugus, apskatīsim funkcijas definīcijas vispārējo formu:

void function-name() {

	Mainīgo deklarācijas utt.
	Izteiksmes...
	// nav nepieciešama skaidra atgriešana.
}

Funkcija neatgriež ne īpašu vērtību, ne ienākošos parametrus.

void function-name(datu tipa mainīgais) {

	Mainīgo deklarācijas utt.
	Izteiksmes...
	// nav nepieciešama skaidra atgriešana.
}

Ja vēlaties vairākus mainīgos, vienkārši izmantojiet "," kā atdalītāju:

Funkcija neatgriež īpašu vērtību, bet ar vienu parametru.

Void function-name (datu tipa mainīgais, datu tipa mainīgais utt.) {

	Mainīgo deklarācijas utt.
	Izteiksmes...
	// nav nepieciešama skaidra atgriešana.
}

Funkcija neatgriež īpašu vērtību, bet ar vairāk nekā vienu parametru.

Void function-name (datu tipa mainīgais, datu tipa mainīgais utt.) {

	Mainīgo deklarācijas utt.
	Izteiksmes...
	atgriezt atgriešanās vērtību
}

Funkcija atgriež noteikta datu tipa vērtību un ar vairāk nekā vienu parametru.

Funkcijas veidamatgriežir jābūt tādam pašam kā atgriešanas vērtības datu tipam, kuru funkcija atgriež. atgriešanas vērtībavar būt nemainīga vērtība vai mainīgais. Pirms tā jāieraksta atslēgvārds “return.

Atgriešanas veidu regulē šādi noteikumi:

  • Atgriešanas veidam gandrīz nav ierobežojumu, izņemot masīvu. (Masīvs ir vēl viena detalizētāka tēma par datu izveidi. Tas ir ārpus šī raksta darbības jomas, un tas šeit nav aplūkots.
  • Norādot, ka atgriešanas veids “void” nozīmē, ka atgriešanas vērtība nav nepieciešama. Klauzula “atgriešanās” ir netieša. Tas nozīmē, ka funkcijas “neesošā” beigās ir skaidri jānorāda “atgriešanās”.

Vai izveidot funkciju pirms galvenā() vai pēc?

Kompilators nolasa jūsu failu no augšas uz leju. Tādējādi secībai ir nozīme.

Ņemsim kā piemēru vienkāršo lielāko kopsaucēja (GCD) funkciju. Jūs saņemsit kļūdu:nedeklarēta identifikatora getGCD izmantošana

 VEXcode V5 programmēšanas interfeisa ekrānuzņēmums, kurā redzami dažādi kodēšanas bloki un iespējas VEX Robotics sistēmu programmēšanai, ilustrējot programmēšanas sadaļā lietotājiem pieejamās funkcijas.

Faktiski tā ir taisnība neatkarīgi no tā, vai tas ir no galvenā ( ) vai cita izsaucošā funkciju bloka, ti, “izsauktajam funkciju blokam” ir jābūt pirms “izsaukšanas funkciju bloka”.

Divi iespējamie risinājumi:

int getGCD(int a, int b) {
  int atlikums = 1;
  while (atlikušais > 0) {
    atlikums = a % b;
    a = b;
    b = atlikums;
  }
  atgriešanās a;
}


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

Pārvietojiet “izsaukto funkciju” virs “izsaukšanas funkciju bloka”, piemērā “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 atlikums = 1;
  while (atlikušais > 0) {
    atlikums = a % b;
    a = b;
    b = atlikums;
  }
  atgriešanās a;
}
	

Ievietojiet funkcijas prototipu (sauktu arī par parakstu) pirms “izsaukšanas funkciju bloka”.


Ko darīt, ja vēlaties modularizēt funkcijas dažādos failos?

1. darbība. Izveidojiet galvenes failu un ievietojiet funkcijas prototipu šajā failā.

piemēram, izveidojiet failu ar nosaukumu “myFuncs.h”

Pirms koda apkopošanas šis galvenes fails ir “jāpievieno” savam projektam. Tas ļauj VEXcode Pro V5 IDE “apzināties” par šī jaunā galvenes faila iekļaušanu, pirms tas sāk veidot jūsu projektu.

Lūk, kā:

Programmēšanas interfeisa ekrānuzņēmums, kurā parādītas V5 kategorijas funkcijas, tostarp koda fragmenti un izstrādātājiem paredzēti rīki, ilustrējot programmēšanas sadaļā pieejamās funkcijas.

Ekrānuzņēmums ar programmēšanu saistītajam saturam V5 kategorijas aprakstā, kurā parādītas galvenās funkcijas un funkcionalitātes izstrādātājiem.

Ekrānuzņēmums ar V5 programmēšanas kategorijas aprakstu, kurā parādītas galvenās funkcijas un funkcionalitātes, kas saistītas ar programmēšanu V5 platformā.

Šajā galvenes failā “common.h” (varat nosaukt visu, ko vēlaties, ja vien tas ir burtciparu un bez atstarpes).

2. darbība. Izveidojiet atsevišķu cpp failu, piemēram, common.cpp

Programmēšanas interfeisa ekrānuzņēmums, kas parāda dažādas kodēšanas iespējas un funkcijas, ilustrē V5 kategorijas apraksta funkcionalitāti un izkārtojumu programmēšanas sadaļā.

//šis ir common.cpp fails

int getGCD(int a, int b) {
  int atlikums = 1;
  while (atlikušais > 0) {
    atlikums = a % b;
    a = b;
    b = atlikums;
  }
  atgriešanās a;
}

Pārvietojiet funkciju getGCD(...) šajā failā

#include "vex.h"
#include "common.h"
, izmantojot nosaukumvietu vex;

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

Tagad viss, kas jums ir galvenajā cpp failā, sastāvēs no tālāk norādītā

Atsauce:https://api.vexcode.cloud/v5/html/namespacevex.html

Nākotnes tēmas turpmāk tiks apskatītas progresīvākās VEX bibliotēkas sadaļās:

  • Izlaist pēc vērtības un nokārtot pēc atsauces
  • Iet masīvā
  • Iet konstrukcijā

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

Last Updated: