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.
0 Yorumlar