C# Programlama – Fonksiyonlar

Fonksiyon nedir?

 ”Aritmetiksel değerleri hesaplayıp geri döndüren programlara fonksiyon denir. En çok kullanılan alt program çeşididir. Fonksiyonların kullanım amacı – mantığı sürekli tekrarlanan kodları, yaptığımız işlemlerde tekrar tekrar yazmak yerine işlem gerektirdikçe belirli bir yerden çağırmaktır.”

c_sharp_programlama

Fonksiyonlar gelişmiş programlar yazarken programızın daha hızlı çalışmasını ve daha nesnel olmasını sağlayacaktır. Lafı fazla uzatmadan Fonksiyonun mantığını anladığınızı düşünerek C# Programlamada nasıl fonksiyon tanımlanır sorusuna ve Fonksiyon Tanımlama kuralları nelerdir sorularının cevabına geçelim..

Gönderilen iki sayıyı toplayıp geri döndüren C# Fonksiyon örneği;

Private int Topla(int x, int y)
{
İnt toplam;
toplam= x+y;
return toplam;
}

Fonksiyon tanımlama kuralları (Liste)

  1. Fonksiyonun ilk önce mutlaka bir ismi olmalıdır. Fonksiyonun yaptığı işi açıklayan ve düzgün bir isim vermek en mantıklı olanıdır.
  2. Bir tipi olmalıdır. Tamsayı mı? Ondalık sayı mı? Eğer bir değer göndermeyecekse void kullanılır.
  3. Parametreler karar veriyoruz. Topla (int x, double y, string z)
  4. Tür dönüşüm kurallarına uygun olmalı.

Açıklama:

Her fonksiyonun belirli bir tipi olmalıdır. Yine yukarıdaki örneğimizdeki gibi eğer iki tamsayıyı toplayıp geri döndürecekse yine fonksiyonunda tamsayı olması gerekir. Fonksiyonun hangi tipte olduğunu gönderilen ‘return’ değerine bağlıdır. Eğer ki fonksiyon bir float yani ondalılı sayı bir tipi gönderecekse Private float topla() demeliydik. Eğer ki return komutunu kullanmayacaksanız Private void Topla() demeliyiz. Bu void tipi fonksiyonlar – alt programların ise include mantığına dayanmaktadır. Yalnızca fonksiyonu kod kalabalığı olmaması amacıyla çağırır.

Fonksiyon nerede tanımlanır?

Fonksiyonlar programlamada genel olarak ana program kısmının bir üst kod bloğunda tanımlanırlar (Örnek: Fonksiyon kullanarak sayının tek mi çift mi olduğunu ekrana yazdıran C# Konsol Programı).

C# Programlamada iç içe fonksiyon tanımlanabilir mi?

C# Programlamada iç içe fonksiyon tanımlanamaz yalnız; iç içe fonksiyon çağrılabilir.

Fonksiyon erişim seviyeleri (Kapsülleme – Encapsulation)

C# Programlamada dışdan gelen çeşitli değişiklere karşı koruma – kalkan oluşturmak için erişim seviyeleri belirlenmiştir. Public, Private ve Protected olarak 3 adettir.

Public: Bu tip erişim seviyesinde fonksiyona program içerisinde her yerden ulaşılabilir. Global değişken mantığında çalışır.

Private: Bu tip erişim seviyesinde fonksiyona program içerisinde sadece aynı sınıf içerisinden ulaşılabilir.

Protected: Bu tip erişim seviyesinde fonksiyona yalnızca aynı paket içerisinden erişilebilir.

Fonksiyon örnekleri:

  1. Fonksiyon kullanarak sayının tek mi çift mi olduğunu ekrana yazdıran C# Konsol Uygulaması
  2. Fonksiyon kullanarak dört işlem yaptıran C# Konsol Uygulaması

C’de üstlü sayı hesaplama programı (Videolu)

FONKSİYON NEDİR?

Konuyu daha iyi bir şekilde anlamak için fonksiyon konusunu inceleyiniz.

C programlama

Üstlü sayıyı hesaplayabilen C programının Algoritmaları

ANA PROGRAM

  1. BAŞLA
  2. “Taban: ” yaz
  3. Girilen değeri taban değişkenine eşitle
  4. “Ust: ” yaz
  5. Girilen değeri ust değişkenine eşitle
  6. ustalma(taban,ust) fonksiyonunu ekranda göster
  7. DUR

ALT PROGRAM

  1. BAŞLA
  2. sonuc=1
  3. Döngüye gir ( x=1;x<=ust;x=x+1)
  4. sonuc=sonuc*taban;
  5. Döngüden çık
  6. Sonuc değişkenini geri döndür
  7. DUR

Algoritma Açıklaması

Fonksiyon konumuza geçtiğimiz(Fonksiyon nedir?) için artık uzun algoritma ve akış şemaları yerine parçalara ayrılmış algoritma ve akış şemaları göreceğiz.

Ana programımızda her algoritmada olduğu gibi 1. aşamamız BAŞLA olacaktır.  Hemen sonraki aşamalara geçtiğimizde    Taban ve Üst değerlerini aldık. Bu değerleri ustalma() fonksiyonu ile alt programımıza gönderdik gönderdik.

Alt programda ise sonuc adlı değişkinin başlangıç değeri olarak “1” değerini verdik. 1 değerini vermemizin nedeni “sonuc=sonuc*taban;” bu işlemde döngü değeri 1 iken sonuc*taban işleminin gerçekleşip son olarak sol taraftaki sonuc değişkenine eşitlenecektir. Eğer ki biz sonuc değişkenine değer vermeseydik sonuc*taban işleminde sonuc değişkeninin değeri bilinemeyeceği (bilgisayar çok büyük bir değer atar) işlemimizi gerçekleşemeyecekti. Daha sonra döngüye girdik(Döngü nedir?). Döngü içerisinde sonuc=sonuc*taban işlemini gerçekleştiriyoruz. Bu işlemin anlamı döngü her seferinde döndüğünde – üst değerine 3 verildiğini ve bu nedenle 3 kez döndüğünü varsayalım – kendisiyle çarpılmasıdır. C programlamada yeni değer kazanacak sayı sol tarafta yeni değerin kaç olacağını belirleyecek sayılar ise sağ tarafa yazılır. Yani bir sayıyı sürekli olarak +1 eklemek için sayi=sayi+1 yazmalısınız.

Üstlü sayı hesaplama programının Akış Diyagramı

Akış Diyagramının Açıklaması

Akış diyagramı ve açıklamalarını ulaşmak için tıklayın.

C Programlamanın Açıklaması:

C kodları nasıl çalıştırılır (derlenir) öğrenmek için tıklayın.

C Programının Temel Yapısı(Değişken Tipleri) Programlama hakkındaki açıklamalar için tıklayın.

C Programlamada kullanıcının bilgi girişi – çıkışı yapması için gerekli  açıklamar için tıklayın.

C’de üstlü sayı hesaplama programı – C programı

// C'de üst alma
#include
#include
int ustalma(int taban,int ust)
{

int x,sonuc=1;
for(x=1;x<=ust;x=x+1) { sonuc=sonuc*taban; } return(sonuc); } main() { int taban,ust; printf("Taban: "); scanf("%d",&taban); printf("Ust: "); scanf("%d",&ust); printf("Sonuc: %d",ustalma(taban,ust)); getch(); }

C programının açıklaması

Belirli tanımlamaları kullanacağımız için bize gerekli olan stdio.h kütüphanesini ilk olarak çağırdık. Daha sonra ise getch() fonksiyonunu kullanacağımız için conio.h kütüphanesini dosyamızı çağırdık. Bir tip belirterek (bu tip tamsayı formatında olacağı için int kullandık)  C programında fonksiyon yarattık. Bu fonksiyonda taban ve ust adresinden kendisine gelen değeri for döngüsüne sokacağız. For döngüsü nedir? For döngüsünde taban değeri yine aynı isimli taban değişkenine, ust adresi ise ust değişkenine aktardık.  "X" ve "sonuc" değişkenini yarattık. "Sonuc" değişkenini niçin 1'e eşitlediğimizi  algoritma açıklamasında anlattım. For döngüsünü kurduk. Döngü metodunu ise x değişkeni 1'den başlayarak üst değişkenine eşit olana dek sürekli +1 eklenmesi şeklinde oluşturduk. Son olarak return(sonuc) diyerek ana programda fonksiyon istendiğinde gönderilecek değeri belirledik.

Ana program başlatmak için main() i yazıp süslü parantezlerimizi ( {… } ) koyduk. Süslü parantezlerden ilki C programı uygulamasına göre "başla" ikinci süslü parantez ise "dur" anlamına gelmektedir.

Ana program içerisindeyse taban,ust değişken değerlerini almak için printf() fonksiyonunu ve kullanıcı tarafından girilen değeri bilgisayar hafızasında tutan scanf() fonksiyonumuzu kullandık. Daha sonra yine printf() fonksiyonuyla ustalma fonksiyonunu ekrana yazdırdık. İstersek fonksiyonumuzu ayrı bir değişkine aktararak da yapabilirdik. Örneğin:

int sonuc; sonuc=ustalma(taban,ust);

printf("Sonuc : %d",sonuc);  

Kodun devam etmesi için klavyeden herhangi bir tuşa basılmasını istedik ve programın bittiği için herhangi bir tuşa tıkladığımızda program kapandı. Bunun için Getch Fonksiyonunu kullandık.

Önizleme:

C uygulamasının proje hali ve yazılımı

Proje halindeki dosyayı indir.

Uygulama halindaki dosyayı indir.