Arduino Ders 11.3 Fonksiyonlar 4 || Fonksiyon içine Değer Alan Geriye Değer Gönderen Fonksiyon

Arduino Ders 11.3: Fonksiyonlar 4

Arduino Ders 11.3: Fonksiyonlar 4

Fonksiyon İçine Değer Alan ve Geriye Değer Gönderen Fonksiyon

1. Giriş

Fonksiyonlar, programları daha modüler ve okunabilir hale getirmek için kullanılan araçlardır. Fonksiyon içine değer alan ve geriye değer döndüren fonksiyonlar, girdileri alıp işlem yaptıktan sonra sonuçları geri döndürür.

2. Temel Kavramlar

  • Parametre (Girdi): Fonksiyona gönderilen veriler.
  • Dönüş Değeri (Çıktı): Fonksiyonun işlem sonucunda geri döndürdüğü değer.
  • return Anahtar Kelimesi: Fonksiyonun sonucunu döndürmek için kullanılır.

3. Fonksiyon Tanımı

geri_donus_tipi fonksiyon_adi(parametre_tipi parametre_adi) {
    // Fonksiyon işlemleri
    return geri_donus_degeri;
}

4. Örnek: İki Sayının Toplamını Döndüren Fonksiyon

Kod Örneği

// Fonksiyonun tanımı
int topla(int sayi1, int sayi2) {
    int toplam = sayi1 + sayi2; // Sayıları topla
    return toplam; // Sonucu döndür
}

void setup() {
    Serial.begin(9600); // Seri haberleşmeyi başlat

    // İki sayının toplamını hesapla
    int sonuc = topla(5, 10);

    // Sonucu yazdır
    Serial.print("Sonuç: ");
    Serial.println(sonuc);
}

void loop() {
    // Döngü içinde bir işlem yapılmıyor
}

Kod Açıklaması

  • topla: İki tam sayıyı alıp toplamını döndüren bir fonksiyon.
  • setup(): Fonksiyonu çağırır ve sonucu seri monitöre yazar.
  • loop(): Bu örnekte kullanılmaz.

5. Örnek: Çemberin Alanını ve Çevresini Hesaplayan Fonksiyon

Kod Örneği

// Çemberin alanını ve çevresini hesaplayan fonksiyon
float cemberHesapla(float yaricap, bool alanMi) {
    if (alanMi) {
        return 3.14 * yaricap * yaricap; // Alan = π * r²
    } else {
        return 2 * 3.14 * yaricap; // Çevre = 2πr
    }
}

void setup() {
    Serial.begin(9600); // Seri haberleşmeyi başlat

    float yaricap = 5.0; // Yarıçap

    // Çemberin alanını hesapla
    float alan = cemberHesapla(yaricap, true);
    Serial.print("Çemberin Alanı: ");
    Serial.println(alan);

    // Çemberin çevresini hesapla
    float cevre = cemberHesapla(yaricap, false);
    Serial.print("Çemberin Çevresi: ");
    Serial.println(cevre);
}

void loop() {
    // Döngü içinde bir işlem yapılmıyor
}

Kod Açıklaması

  • cemberHesapla: Çemberin alanını veya çevresini hesaplar.
  • setup(): Alan ve çevre hesaplanır ve seri monitöre yazdırılır.

6. Birden Fazla Değer Döndürmek

Örnek: Çember Alanı ve Çevresi Birlikte Döndürme

// Yapı tanımı
struct Cember {
    float alan;
    float cevre;
};

// Çember alanı ve çevresi hesaplayan fonksiyon
Cember cemberHesapla(float yaricap) {
    Cember c;
    c.alan = 3.14 * yaricap * yaricap;
    c.cevre = 2 * 3.14 * yaricap;
    return c;
}

void setup() {
    Serial.begin(9600); // Seri haberleşmeyi başlat

    float yaricap = 5.0; // Yarıçap
    Cember sonuc = cemberHesapla(yaricap); // Alan ve çevreyi hesapla

    Serial.print("Çemberin Alanı: ");
    Serial.println(sonuc.alan);
    Serial.print("Çemberin Çevresi: ");
    Serial.println(sonuc.cevre);
}

void loop() {
    // Döngü içinde bir işlem yapılmıyor
}

Kod Açıklaması

  • Struct: Birden fazla değeri bir yapıda döndürmek için kullanılır.
  • cemberHesapla: Alan ve çevreyi bir yapı içinde döndürür.

7. Sonuç

Fonksiyon içine değer alan ve geriye değer döndüren fonksiyonlar, Arduino projelerinde hesaplamalar, kontrol işlemleri ve veri işleme için kritik öneme sahiptir. Yukarıdaki örnekler, bu tür fonksiyonların nasıl yazılacağını ve kullanılacağını açıklar.

Yorum Gönder

0 Yorumlar