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 perlu pernyataan return eksplisit.
}

Suatu fungsi tidak mengembalikan nilai khusus, ataupun parameter masuk.

void function-name(data-type variable) {

	Deklarasi variabel, dll.
	Ekspresi...
	//tidak perlu pernyataan return 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 perlu pernyataan return 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 kembalian
}

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

Tipe pengembalianreturndari suatu fungsi harus sama dengan tipe data dari nilai kembalian yang dikembalikan oleh fungsi tersebut. Nilai kembalianbisanilai 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”.

Apakah sebaiknya membuat fungsi sebelum main() atau setelahnya?

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 pengidentifikasi yang belum dideklarasikan 'getGCD'

 Editor kode VEXcode Pro V5 menunjukkan fungsi utama memanggil getGCD sebelum definisinya, dengan getGCD disorot sebagai kesalahan pengidentifikasi yang belum dideklarasikan.

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 getGCD(int a, int b) {
  int remainder = 1;
  while (remainder > 0) {
    remainder = a % b;
    a = b;
    b = remainder;
  }
  return a;
}


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

Pindahkan “fungsi yang dipanggil” ke atas “blok fungsi pemanggil”, dalam contoh "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 remainder = 1;
  while (remainder > 0) {
    remainder = a % b;
    a = b;
    b = remainder;
  }
  return a;
}
	

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


Bagaimana jika Anda ingin memodularisasi fungsi-fungsi dalam file yang berbeda?

Langkah 1: Buat file header, dan masukkan 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:

Antarmuka VEXcode Pro V5 dengan menu konteks folder include terbuka dan opsi File Baru dipilih untuk membuat file header.

Jendela Buat File Baru menunjukkan opsi file header C++ yang dipilih dengan nama file common.h yang dimasukkan.

Editor kode VEXcode Pro V5 menunjukkan fungsi getGCD yang didefinisikan dalam file common.cpp terpisah.

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, bernama common.cpp

Jendela Buat File Baru menunjukkan opsi file sumber C++ yang dipilih dengan nama file common.cpp yang dimasukkan.

//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"
using namespace vex;

int main() { 
  vexcodeInit();
	Brain.Screen.printAt(5,60, "GCD ( %d, %d ) = %d", getGCD(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: