VEXcode Pro V5'te İşlev Oluşturmak için Sözdizimini Anlamak

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.

Fonksiyon tanımı

Şimdi birkaç örneği inceledikten sonra fonksiyon tanımının genel biçimine bakalım:

void function-name() {

	Değişkenlerin bildirimleri, vb.
	İfadeler...
	//açık bir geri dönüşe gerek yok.
}

Bir işlev özel bir değer veya gelen parametre döndürmez.

void function-name(veri tipi değişken) {

	Değişkenlerin bildirimleri, vb.
	İfadeler...
	//açık bir geri dönüşe gerek yok.
}

Birden fazla değişken istiyorsanız sınırlayıcı olarak `` karakterini kullanmanız yeterlidir:

Bir fonksiyon özel bir değer döndürmez, ancak tek bir parametreyle döner.

void işlev adı (veri türü değişkeni, veri türü değişkeni, vb.) {

	Değişkenlerin bildirimleri, vb.
	İfadeler...
	//açık bir geri dönüşe gerek yok.
}

Bir işlev özel bir değer döndürmez, ancak birden fazla parametreyle döner.

void işlev adı (veri türü değişkeni, veri türü değişkeni, vb.) {

	Değişkenlerin bildirimleri, vb.
	İfadeler...
	dönüş değeri
döndürün }

Bir işlev, belirli bir veri türünün değerini ve birden fazla giriş parametresiyle döndürür.

Bir işlevindönüştürü, işlevin döndürdüğü dönüş değerinin veri türüyle aynı olmalıdır. dönüş değerisabit bir değer veya değişken olabilir. Başında “return” anahtar kelimesi bulunmalıdır.

Aşağıdaki kurallar dönüş türünü yönetir:

  • Dönüş türünde dizi dışında neredeyse hiçbir kısıtlama yoktur. (Dizi, verilerinizin nasıl oluşturulacağıyla ilgili daha ileri düzey bir konudur. Bu makalenin kapsamı dışındadır ve burada ele alınmayacaktır.
  • Dönüş tipinin "void" olduğunu belirtmek, dönüş değerinin gerekli olmadığı anlamına gelir. "Geri dönmek" ifadesi örtülüdür. Bu, bir "void" fonksiyonunun sonunda açıkça "return" ifadesini belirtmeniz gerektiği anlamına gelir.

Main()'dan önce mi yoksa sonra mı bir fonksiyon oluşturuyorsunuz?

Derleyici dosyanızı yukarıdan aşağıya doğru okur. Bu nedenle sıra önemlidir.

Örnek olarak basit En Büyük Ortak Payda (GCD) fonksiyonunu ele alalım. Bir hata alırsınız:bildirilmemiş tanımlayıcı 'getGCD' kullanımı

 VEX Robotics sistemlerini programlamak için çeşitli kodlama bloklarını ve seçenekleri gösteren, programlama bölümünde kullanıcılara sunulan özellikleri gösteren VEXcode V5 programlama arayüzünün ekran görüntüsü.

Aslında bu, ister main()'dan ister başka çağıran fonksiyon bloğundan olsun doğrudur, yani "çağrılan fonksiyon bloğu", "çağrıyan fonksiyon bloğundan" önce gelmelidir.

İki olası çözüm:

int getGCD(int a, int b) {
  int kalan = 1;
  while (kalan > 0) {
    kalan = a % b;
    a = b;
    b = kalan;
  }
  dönüş a;
}


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

"Main()" örneğinde "çağrılan işlevi" "çağıran işlev bloğunun" üzerine taşıyın.

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 kalan = 1;
  while (kalan > 0) {
    kalan = a % b;
    a = b;
    = kalan;
  }
  dönüş a;
}
	

Fonksiyonun prototipini (imza olarak da bilinir) "çağıran fonksiyon bloğunun" önüne koyun.


Farklı dosyalardaki işlevleri modülerleştirmek isterseniz ne olur?

Adım 1: Bir başlık dosyası oluşturun ve fonksiyonun prototipini bu dosyaya yerleştirin.

örneğin “myFuncs.h” adında bir dosya oluşturun

Kodunuzu derlemeden önce bu başlık dosyasını projenize "eklemeniz" gerekir. Bu, VEXcode Pro V5 IDE'nin projenizi oluşturmaya başlamadan önce bu yeni başlık dosyasının dahil edildiğinden "farkında olmasını" sağlar.

İşte nasıl:

Geliştiriciler için kod parçacıkları ve araçlar da dahil olmak üzere V5 kategorisi özelliklerini sergileyen ve programlama bölümünde mevcut işlevleri gösteren bir programlama arayüzünün ekran görüntüsü.

Geliştiriciler için temel özellikleri ve işlevleri sergileyen V5 Kategori Açıklamasındaki programlamayla ilgili içeriğin ekran görüntüsü.

V5 platformunda programlamayla ilgili temel özellikleri ve işlevleri gösteren V5 Programlama kategorisi açıklamasının ekran görüntüsü.

Bu başlık dosyasında “common.h” (boşluksuz alfanümerik olduğu sürece istediğiniz ismi verebilirsiniz.)

Adım 2: Common.cpp adında ayrı bir cpp dosyası oluşturun

Programlama bölümünde V5 kategorisi açıklamasının işlevselliğini ve düzenini gösteren, çeşitli kodlama seçeneklerini ve özelliklerini gösteren bir programlama arayüzünün ekran görüntüsü.

//bu common.cpp dosyasıdır

int getGCD(int a, int b) {
  int kalan = 1;
  while (kalan > 0) {
    kalan = a % b;
    a = b;
    b = kalan;
  }
  dönüş a;
}

getGCD(...) fonksiyonunu bu dosyaya taşıyın

#include "vex.h"
#include "common.h"
vex ad alanını kullanarak;

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

Artık ana cpp dosyasında sahip olduğunuz tek şey aşağıdakilerden oluşacaktır:

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

Gelecekteki konular VEX Kütüphanesinin daha ileri düzey bölümlerinde ele alınacaktır:

  • Değere göre geçiş ve referansa göre geçiş
  • Bir diziye geçiş
  • Bir yapıya geçmek

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

Last Updated: