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 tieša atgriešanās.
}

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 tieša atgriešanās.
Ja vēlaties vairākus mainīgos,

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 tieša atgriešanās.
}

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...
	atgriezties atgriešanas vērtība
}

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

Funkcijasatgriešanastipam ir jābūt tādam pašam kā funkcijas atgriežamās vērtības datu tipam. Atgriešanas vērtība, betvar būt konstante 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 vai pēc main()?

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ņemsiet kļūdu:tiek izmantots nedeklarēts identifikators 'getGCD'

 VEXcode Pro V5 koda redaktorā redzama galvenā funkcija, kas izsauc getGCD pirms tās definīcijas, un getGCD ir iezīmēts kā nedeklarēta identifikatora kļūda.

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 (atlikums > 0) {
    atlikums = a % b;
    a = b;
    b = atlikums;
  }
  return 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 (atlikums > 0) {
    atlikums = a % b;
    a = b;
    b = atlikums;
  }
  return 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 šajā failā funkcijas prototipu.

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ā:

VEXcode Pro V5 saskarne ar atvērtu mapes iekļaušanas konteksta izvēlni un atlasītu opciju Jauns fails, lai izveidotu galvenes failu.

Logā “Izveidot jaunu failu” tiek parādīta atlasītā C++ galvenes faila opcija ar ievadīto faila nosaukumu common.h.

VEXcode Pro V5 koda redaktors, kurā redzama getGCD funkcija, kas definēta atsevišķā common.cpp failā.

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

2. solis: Izveidojiet atsevišķu cpp failu, piemēram, ar nosaukumu common.cpp

Logā “Izveidot jaunu failu” tiek parādīta atlasītā C++ avota faila opcija ar ievadīto faila nosaukumu common.cpp.

//šis ir common.cpp fails

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

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

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