Memahami Sintaks untuk Membuat Fungsi di 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.

Definisi fungsi

Sekarang setelah kita membahas beberapa contoh, mari kita lihat bentuk umum definisi fungsi:

void function-name() {

	Deklarasi variabel, dll.
	Ekspresi...
	//tidak diperlukan pengembalian eksplisit.
}

Suatu fungsi tidak mengembalikan nilai khusus, ataupun parameter masuk.

void nama-fungsi(tipe-data variabel) {

	Deklarasi variabel, dll.
	Ekspresi...
	//tidak diperlukan pengembalian eksplisit.
}

Jika Anda menginginkan beberapa variabel, Anda cukup menggunakan "," sebagai pembatas:

Suatu fungsi tidak mengembalikan nilai khusus, tetapi dengan satu parameter.

void nama-fungsi(variabel tipe-data, variabel tipe-data, dll.) {

	Deklarasi variabel, dll.
	Ekspresi...
	//tidak diperlukan pengembalian eksplisit.
}

Suatu fungsi tidak mengembalikan nilai khusus, tetapi dengan lebih dari satu parameter.

void nama-fungsi(variabel tipe-data, variabel tipe-data, dll.) {

	Deklarasi variabel, dll.
	Ekspresi...
	kembalikan nilai-kembali
}

Suatu fungsi mengembalikan nilai tipe data tertentu, dan dengan input lebih dari satu parameter.

Tipeyang dikembalikandari suatu fungsi harus sama dengan tipe data nilai kembali yang dikembalikan oleh fungsi tersebut. Nilai pengembaliandapat berupa nilai konstan atau variabel. Harus diawali dengan kata kunci “return.

Aturan berikut mengatur jenis pengembalian:

  • Hampir tidak ada batasan pada tipe pengembalian, kecuali array. (Array adalah topik lain yang lebih maju mengenai cara membuat data Anda. Hal itu di luar cakupan artikel ini dan tidak akan dibahas di sini.
  • Menentukan bahwa tipe pengembalian “void” berarti tidak diperlukan nilai pengembalian. Klausa “kembali” tersirat. Artinya Anda harus secara eksplisit menyatakan “return” di akhir fungsi “void”.

Membuat fungsi sebelum main() atau sesudahnya?

Kompiler membaca berkas Anda dari atas ke bawah. Jadi, urutannya penting.

Mari kita ambil fungsi Penyebut Umum Terbesar (FPB) yang sederhana sebagai contoh. Anda akan mendapatkan kesalahan:penggunaan pengenal yang tidak dideklarasikan 'getGCD'

 Tangkapan layar antarmuka pemrograman VEXcode V5 yang menunjukkan berbagai blok pengkodean dan opsi untuk pemrograman sistem VEX Robotics, mengilustrasikan fitur yang tersedia bagi pengguna di bagian pemrograman.

Sebenarnya hal ini berlaku baik dari main() maupun blok fungsi pemanggil lainnya, yaitu “blok fungsi yang dipanggil” harus mendahului “blok fungsi pemanggil.”

Dua kemungkinan solusi:

int getFPB(int a, int b) {
  int sisa = 1;
  sementara (sisa > 0) {
    sisa = a % b;
    a = b;
    b = sisa;
  }
  kembalikan a;
}


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

Pindahkan “fungsi yang dipanggil” ke atas “blok fungsi pemanggil”, dalam contoh "main()."

int getFPB(int, int);

int main() { 
	Brain.Screen.printAt(5,60, "FPB ( %d, %d ) = %d", getFPB(60, 100) );
}

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

Letakkan prototipe (juga disebut tanda tangan) fungsi sebelum “blok fungsi pemanggil.”


Bagaimana jika Anda ingin memodulasi fungsi dalam file yang berbeda?

Langkah 1: Buat file header, dan letakkan prototipe fungsi ke dalam file ini.

misalnya membuat file bernama “myFuncs.h”

Anda perlu “menambahkan” file header ini ke dalam proyek Anda sebelum mengompilasi kode Anda. Hal ini memungkinkan IDE VEXcode Pro V5 “untuk mengetahui” penyertaan file header baru ini sebelum mulai membangun proyek Anda.

Begini caranya:

Tangkapan layar antarmuka pemrograman yang memamerkan fitur kategori V5, termasuk potongan kode dan alat untuk pengembang, yang mengilustrasikan fungsionalitas yang tersedia di bagian pemrograman.

Tangkapan layar konten terkait pemrograman dalam Deskripsi Kategori V5, yang memamerkan fitur dan fungsi utama bagi pengembang.

Tangkapan layar deskripsi kategori Pemrograman V5, yang memamerkan fitur dan fungsi utama yang terkait dengan pemrograman di platform V5.

Dalam file header ini “common.h” (Anda dapat memberi nama apa pun yang Anda inginkan, asalkan berupa alfanumerik tanpa spasi.)

Langkah 2: Buat file cpp terpisah, misalnya, disebut common.cpp

Tangkapan layar antarmuka pemrograman yang menampilkan berbagai opsi dan fitur pengkodean, yang mengilustrasikan fungsionalitas dan tata letak deskripsi kategori V5 di bagian pemrograman.

//ini adalah file common.cpp

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

Pindahkan fungsi getGCD(...) ke dalam file ini

#include "vex.h"
#include "common.h"
menggunakan namespace vex;

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

Sekarang, semua yang Anda miliki di file cpp utama akan terdiri dari yang berikut ini

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

Topik-topik mendatang akan dibahas di bagian-bagian lanjutan dari Perpustakaan VEX di masa mendatang:

  • Lewati nilai vs. lewati referensi
  • Melewati array
  • Lulus dalam suatu struktur

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

Last Updated: