10 Ekim 2016 Pazartesi

C++ Fonksiyonlar

Eğer gelişmiş yapıda programlar yapılıyorsa fonksiyon kullanmak gereklidir. Bu sayede program kodları içerisindeki karışıklık önlenmiş olur. Fonksiyonlar sayesinde program kodlarını küçük parçalar ayırıp daha kolay bir şekilde yönetebiliriz. Bu parçaların birleşimi ise bütün bir programı ortaya çıkartır. Fonksiyonların bir diğer avantajı ise tekrar etme durumunu ortadan kaldırmasıdır. Örneğin program içerisinde 3 tane daire alanı hesaplayan kısım var. Tek tek hepsine aynı kodları yazmak yerine bir fonksiyon yapısı içerisine yazıp oradan sonucu çağırarak tekrar tekrar yazılması önlenmiş olur.

Fonksiyon Tanımlama

Değer döndüren ve değer döndürmeyen olarak iki çeşit fonksiyon yapısı vardır.

Değer döndüren fonksiyon yapısı aşağıdaki gibidir.
int carpİki(int a){
    int carp = a * 2;
    return carp;
}
Fonksiyon içerisindeki kodların yaptığı işlem sonucu olarak kullanıcıya dönecek olan değerin türü int yani tamsayıdır. int carpİki kısmındaki int değerin döneceği türdür. carpİki ise fonksiyon ismidir. int a ise fonksiyonun parametresidir. Aynı şekilde char, long gibi diğer değer türlerinde de değer döndürebiliriz.

Değer döndürmeyen fonksiyon yapısı ise aşağıdaki gibidir.
void yaz(){
    cout << "merhaba";
}
Değer döndürmeyen fonksiyonlarda değer türü yerine void ifadesi yazılır. Farkettiyseniz eğer değer döndürenlerde return komutu kullanıldı ancak döndürmeyenlerde return kullanılmıyor.

Fonksiyon Prototipi

Fonksiyonları oluştururken dikkat edilmesi gereken bir konudur fonksiyon prototipi. Fonksiyonu main metotunun üstüne yazdıysak prototip kullanımı gerekli değildir ancak fonkiyonu main metotunun altına yazdıysak o fonksiyonun prototipi yazılmalıdır. Eğer prototip yazılmazsa main metotu içerisinde çağırılan fonksiyon çalışmayacaktır. Bunun nedeni ilk önce main metotunu derlenmesidir. Bu yüzden içerisinde tanımlı olan fonksiyon tanımsız durumda kalıyor. Bu durumu önlemek için önceden fonksiyonun bildirimi olarak prototip kullanılır.

Prototip tanımlama aşağıdaki örnek yapılar gibi olabilir.
int carpİki(int);
int carpİki(int a);
Fonksiyon prototipleri çağırılan kütüphanelerin altına yazılır. Aşağıdaki örneği inceleyelim.
#include <iostream>
using namespace std;

int fact(int);

int main(){
    int sayi;
    cout << "Faktoriyeli alınacak sayıyı giriniz..:";
    cin >> sayi;
    cout << "sonuç...:" << fact(sayi);
    cin.get();
    return 0;
}

int fact(int a){
    int carpim = 1;
    for(int i=1;i<=a;i++){
      carpim = carpim * i;
    }
    return carpim;
}
İlk önce faktoriyel fonksiyonu prototipi yazıldı. Daha sonra main metotu içerisinde kullanıcıdan faktoriyeli alıncak olan sayı istenildi. Girilen sayı fonksiyon çağırılarak hesaplandı ve sonuç int türünde geri geldi, yazdırıldı.

Fonksiyon Çağırma

Oluşturulan fonksiyonlar main metotu içerisinde kullanılacağı kısımlar içinde çağırılmalıdır. Fonksiyonu çağırırken fonksiyon adını ve varsa parametresi yazılır. örnek : carpİki(sayi);

Fonksiyon Değer Döndürme

Değer döndüren fonksiyonlarda değer döndürmeyi sağlayan ifade return ifadesidir. return ifadesi fonksiyon içerisinde kullanılmazsa derleme hatası olmaz ancak fonksiyon döndürülecek değer için rastgele değer üretir. 

Fonksiyon Parametreleri

Fonksiyon parametreleri, fonksiyon içerisinde kullanılan değişkenlerdir. Main metotu içerisinden fonksiyon içerisinde gelen değerler bu parametrelere atanır. Bir ya da birden fazla parametre kullanılabilir. Örnek olarak aşağıdaki yapıyı inceleyiniz.
#include <iostream>
using namespace std;

int usAl(int,int);

int main(){
    int sayi, us;
    cout << "Sayı değeri..:";
    cin >> sayi;
    cout << "üs değeri..:";
    cin >> us;
    cout << "sonuc..:" << usAl(sayi,us);
    return 0;
}

int usAl(int a, int b){
    int sonuc = 1;
    for(int i=1;i<=b;i++){
        sonuc=sonuc*a;
    }
    return sonuc;
}

1 yorum:

  1. Fonksiyonlar – Konu Anlatımı ve Soru Çözümü
    Lise hayatınızdan itibaren matematik dersini zorlaştıran, özellikle çok fazla çalışmayan öğrenciler için bela olan ve neredeyse her türlü alanda karşımıza çıkan fonksiyonlar konusunu işleyeceğiz. TYT Matematik fonksiyonlar konu anlatımı içeriğine baktığımızda ayt kısmına nazaran daha az, daha basit ve daha anlaşılabilir içerikler ile karşılaşacağız. Fakat ilkokulda öğrendiğiniz sayısal konularından sonra böyle bir olgu sizi biraz...
    fonksiyonlar konu anlatımı

    YanıtlaSil