BİLİŞİM - BİLGİSAYAR - EĞİTİM
  C++ Fonksiyonlar
 

Fonksiyonlar

Genel Olarak Fonksiyonlar

Fonksiyonlarda Geri Değer Döndürülmesi

Fonksiyon Prototiplerinin Kullanımı

Fonksiyonlarda Scope Kuralları

Değer İle Çağırma

Referans İle Çağırma

Elipssis Operatörü İle Değişken Sayıda Parametre Geçilmesi

main() Fonksiyonun Kullanımı Ve Parametreleri

 

Genel Olarak Fonksiyonlar

   Fonksiyonlar denilince hemen hemen hepimiz aklına y =f(x) şeklinde ifade edilen matematiksel fonksiyon tanımı gelir. Aslında bu ifade bilgisayar progamlarında fonksiyon olarak adlandırdığımız yapılar ile aynıdır. Matematiksel fonksiyonlar parametre olarak aldıkları değer üzerinde bir işlem gerçekleştirip bir sonuç değeri döndürürler.

Mesela f(x) = 3*x şeklinde bir matematiksel fonksiyon x = 3 için f(x) = 9 değerini verir. Burada x fonksiyonun parametresi, 9 ise fonsiyonun geri döndürdüğü değer olmaktadır.

Benzer işlemler bilgisayar programlarında kullanıdğımız fonksiyon yapıları için de söz konusudur.

Bilgisayar programlarında kullanılan fonksiyon yapısının genel ifadesi

 

Döndürdüğü_değer_tipi fonksiyonun_ismi (parametre_listesi)

{

tanımlamalar ve komutlar

}

şeklindedir. Bu genel ifadede bulunan bileşenleri incelersek

 

Döndürdüğü_değer_tipi Genelde fonksiyonlar yapmaları gereken işi gerçekleştirdikten sonra kendilerini çağıran program koduna bir değer döndürürler. Fonksiyon her hangi bir tipte değer döndürebilir. Bu bileşen fonksiyonun döndüreceği değerin tipini ifade eder.

Fonksiyonun_ismi Tanımladığımız fonksiyona verdiğimiz isimdir. Program içerisinde fonksiyonumuza bu isimle ulaşacağız. Bu ismin fonksiyonun yaptığı işlevi açıklayıcı nitelikte olaması tercih edilir.

Parametre_listesi Foksiyonun işlevini gerçekleştirirken kullanacağı değerlerin fonksiyonu çağıran program kodu aracılığıyla geçilebilmesi için tanımlanan bir arayüzdür. Bu arayüzde fonksiyona geçilecek parametreler tipleri ile sıralanır.

 

***Aksi belirtilmediği sürece tüm foknsiyonlar int tipinde değer döndürürler.

   Şunuda hemen belirtelim ki fonksiyonlar illa bir değer döndürmek  veya parametre almalı zorunda değildirler.

Fonksiyon kullanımına niçin gereklilik vardır? Foksiyon yazmadan da program yazılamaz mı?

Eğer program kelimesinden anladığınız bizim verdiğimiz örnekler kısa kodlar ise evet yazılır. Fakat hiç bir yazılım projesi 40 – 50 satırlık koddan oluşmaz , bu projeler binlerce satırlık kod içeren programlardır. Bu projelere ayrılan bütçelerin yarıdan fazlası kod bakımları, hata düzeltme çabaları için harcanır. Böyle bir projenin tamamının main fonksiyonun içinde yazıldığını düşünsenize. Böyle bir projede hata aramak istemezdim.

 

   Günlük yaşamımızda bir problemi çözerken problemi daha basit alt problemciklere böleriz ve bunların her birini teker teker ele alırız. Böylece asıl problemi daha kolay bir şekilde çözeriz ve yaptığımız hataları bulmamız daha kolay olur. Yazılım projelerinde de aynı yaklaşım söz konusudur. Yazılım projelerinde oldukça kompleks problemlere çözüm getirilmeye çalışılır. Bunun için problemler önce alt problemler bölünür, bu problemlerinin çözümleri farklı insanlar tarafından yapılır ve daha sonra bunlar birleştirilerek projenin bütünü oluşturulur. Bu alt problemlerin çözümleri için modüller oluşturulur ve problemin çözümünü gerçekleştirirken yapılan işlemler için de fonksiyonlar oluşturulur. Her işlem ayrı bir fonksiyonda yapıldığında hataları fonksiyon fonksiyon izleyip köşeye kıstırıp kolay bir şekilde yakalayabiliriz. Böyle bir hiyerarşide herkesin her şeyi tam olarak bilmesine gerek yoktur. Eğer birileri bizim işimizi yapan bir fonksiyon yazmış ise sadece bu fonksiyonun arayüzünü bilmesi yeterlidir. Fonksiyonun iç yapısının bizim açımızdan önemi yoktur.

Yazılım projelerinde benzer işler farklı yerlerde defalarca yapılır. Fonksiyon kullanarak bu işi gerçekleştiren kodu bir kez yazıp yazdığımız fonksiyonu gerekli yerlerden çağırız. Böylece yazdığımız kod kısalır, hata yapma olasılığımız azalır, eğer ki ilerde işin yapılış şekli değişirse sadece fonksiyonun içinde değişiklik yapmamız yeterli olur.

 

 

 

 

Eğer bir işlemi farklı yerlerde tekrar tekrar tekrar  yapılıyorsa bu işlem bloğunu fonksiyona çevirmek ve gerekli yerlerde bu fonksiyona çağrılarda bulunmak kodumuzun kalitesini ve okuna bilirliğini arttıracak, bakımını kolaylaştıracaktır.

 
 
  Bugün 130 ziyaretçi (200 klik) www.bilisim-egitim.tr.gg  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol