C++ Fonksiyonlar
1. Fonksiyonlara Giris:
Fonksiyonlarin programlama hayatina girmesi ile daha büyük
boyutta sistemlerin tasarimi mümkün hale gelmistir. Fonksiyonlar ile
alakali derslerimizde, fonksiyonlarin tanimlanmasi ve kullanimi
hakkinda bilgi edineceksiniz. Fonksiyonlar konusu size her ne kadar
ilk bakista "Fonksiyon" adi altinda bir konu gibi gelse de, aslinda
bir alt programdir. Hatta programimizin içine, kodlamamizin daha
kolay ve gelistirilebilir hale gelmesini saglayan programciklar da
diyebiliriz.
Daha önce baska bir programlama dili gördüyseniz (yüksek seviyeli
diller), bu konuda fazla zorlanmayacaksinizdir. Diger yüksek
seviyeli dillerdeki fonksiyon kullanimina çok benzemektedir. Hiç
bilmediginizi farz ederek konuya giris yapalim.
Fonksiyon Nedir?
Örnegin, y=F(x) fonksiyonu; Bu matematiksel fonksiyon parametre
olarak aldinan deger üzerinde bir islem gerçeklestirip, bir sonuç
degerini döndürür. Mesela F(x)=x^3+5 seklinde bir fonksiyonumuz
olsun, x=2 için F(x)=13 olur. Burada x fonksiyonun parametresi, 13
ise fonksiyonun geri döndürdügü degerdir. Simdi de bu matematiksel
ifadeyi kodlarimizla yorumlayalim.
Int x;
x=F(2,5)
//buradan da " int f(2,5) " gibi görebiliriz...
Dikkat edersek ikinci satirda, daha önce islemedigimiz bir kod var.
Int x, F(2,5) degerine esitlenmistir. Simdi bir fonksiyonun nasil
yazildiginin kalibini çikartabiliriz.
<Döndürdügü deger> <Fonksiyonun adi> ( <parametre listesi> ) {
<ifadeler>
}
Buradaki parantezlere ve küme isaretlerine dikkat ediniz. Simdi
yukarda yazdigimiz kalibi biraz açalim.
<Döndürdügü deger> : Fonksiyon her hangi bir tipte deger
döndürebilir. Bu bilesen fonksiyonun döndürecegi degerin tipini
ifade eder. (örnegin, int, dounle, float v.s v.s )
<Fonksiyonun adi> : Yapmak istedigimiz islemin adidir. Örnegin bir
asal sayi fonksiyonu yazacagiz. Burada yazacagimiz fonksiyonun adini
belirtiyoruz. Benim size tavsiyem AsalSayi veya asal_sayi seklinde
kullanmanizdir. Okunabilirlik açisindan size avantaj saglayacaktir.
<parametre listesi> : Fonksiyonun kullanacaga parametrelerin tipleri
ile siralanir. Örnegin, FonksiyonAdi(int x, double y) gibi.
<ifadeler> : Fonksiyonun kullanacagi tanimlamalar ve kodlardan
olusan kisimdir. Nasil biz main() { kodlar } seklinde kullaniyorsak.
Bunu da ona benzetebiliriz. Ama main() i bunlarla karistirmayiniz.
Simdi bu fonksiyon kalibina uygun bir kod yazalim. Örnegin,
Faktoriyel bulma islemini ele alalim. Biz bir sayinin Faktörüyelini
nasil bulurduk?
n!=n(n-1)(n-2)...1 Yani, 1 den n e kadar olan
sayilarin çarpimidir.
long Faktoriyel(int n) {
return n*Faktoriyel(n-1);
}
Evet, burada fonksiyonumuzu tanimladik. Sanirim yukaridaki blokla
karsilastirinca, ne kadar kolay oldugunu sizde görmüssünüzdür. Simdi
bu Faktoriyel fonksiyonumuzu nasil bir programda kullanacagiz? Hemen
devamini yazayim.
long Faktoriyel(int n) {
return n*Faktoriyel(n-1);
}
void main() {
cout<<"5! (Bes Faktoriyel)= "<<Faktoriyel(5);
}
Iste gördügünüz gibi ne kadar basit degil mi? J Fonksiyonumuzu
tanimladik. Sonra programimizda n`e 5 degerini verdik. Faktoriyel
fonksiyonu hesaplayip bize söyledi.
Biraz da yaygin yapilan hatalardan ve dikkat etmemiz gereken
noktalardan bahsedelim. Kodlama yaparken fonksiyon adini belirttigim
sekilde yazarsaniz 30-40 sayfalik kodlarda hata bulmaniz ve de
fonksiyonlarin yerini belirlemeniz açisindan büyük kolaylik
olucaktir. Yukarida verdigimiz x=F(2,5) fonksiyonununu göz önünde
tutalim. Görüldügü gibi F(2,5) degeri x e atanmistir. Hiç bir zaman
Fonksiyonun aldigi deger sola yazilmaz. Ayrica bir Fonksiyon çagrisi,
baska bir fonksiyonun çagrisi olabilir. Örnegin, x=F(a,F(a,5) gibi.
Burada F Fonksiyonun iki parametresi vardir a ve F(a,5) dir. Bu
durumda öncelikle parametreler hesaplananacagi için F(a,5) in degeri
ile a nin degeri F te parametreler olarak kullanilir.
Anket
Son Konular
2012-03-22 19:47 - Geliştirdiğin kodları satmak ister misin
2012-02-12 23:21 - SMF forumu vbulletin foruma aktarmak
2011-12-14 21:50 - Motorlu araçlar otomobil vergisi sorgulama
2011-12-14 21:47 - Sorgulamalar
2011-12-11 14:33 - Ben az önce ne arayacaktım
2011-09-10 22:51 - DSLR Fotograf Makinası sınıflandırması
2011-09-09 17:33 - ‘Crop Factor’ Nedir, hakkında bilgi
2011-09-09 17:30 - Fotograf Rehberi
2011-08-20 21:30 - Samsung LEDTV'lerde .SRF ve XFS süprizi
2011-08-19 00:45 - 2011 yılının web tasarım trendleri
2011-04-09 20:18 - Alan adları gerçek isim sahiplerine verilecek!
2011-01-13 01:43 - SEO İçin Dikkat Edilmesi Gereken Hususlar
2011-01-13 01:42 - Meta tag SEO Optimization
2011-01-13 01:41 - Google Adsense Hakkında Detaylı Bilgi
2011-01-13 01:40 - Soru Ve Cevaplar ile Google Adsense
2011-01-13 01:39 - Arama motoru Google ve Pagerank
2011-01-13 01:38 - Seo Sözlüğü
2011-01-13 01:37 - Google Arama Özellikleri
2011-01-13 01:36 - Adsense Reklam Yerleşimi
2011-01-13 01:35 - Robots.txt Dosyası Kullanım Robotları Yölendirme Kontrol
2011-01-13 01:34 - Sitenizin Google ve Web deki Yeri
2011-01-13 01:33 - Arama Motoru Bilgi ve İpuçları
2011-01-13 01:31 - Arama Motorları Teknikleri
2011-01-13 01:29 - Google Pagerank Detaylı Anlatım
2011-01-13 01:27 - Sitenize Ziyaretçiler En Çok Hangi Kelimeler İle Gelmiş
2011-01-13 01:25 - Pagerank Nedir?
2011-01-13 01:19 - Fireworks Shadow and Glow
2011-01-13 01:18 - Fireworks Sharpen
2011-01-13 01:16 - Fireworks Other
2011-01-13 01:13 - Fireworks Blur
2011-01-13 01:09 - Fireworks Bevel and Emboss
2011-01-13 01:05 - Fireworks Adjust Color
2011-01-13 01:03 - Fireworks Save as Style
2011-01-13 00:58 - Fireworks Text Menüsü
2011-01-13 00:54 - Fireworks Select Menüsü
2011-01-13 00:54 - Fireworks Modify Menüsü
2011-01-13 00:51 - Fireworks View Menüsü
2011-01-13 00:18 - Fireworks Edit Menüsü
2011-01-13 00:16 - Fireworks File Menüsü
2011-01-13 00:05 - İnternet - Web Tarayıcılar (Browser)
2011-01-13 00:04 - İnternet - Web Server Yazılımları
2011-01-13 00:03 - İnternet ve Web İlişkisi
2011-01-13 00:02 - İnternette Kullanılan Protokoller
2011-01-13 00:01 - İnternet - World Wide Web (WWW) Nedir?
2011-01-13 00:00 - İnternet - URL nedir?
2011-01-12 23:43 - İnternet Backorder Nedir?
2011-01-12 23:34 - İnternet - Virüs Nedir?
2011-01-12 23:32 - İnternet Paypal nedir? Nasıl Kullanılır?
2011-01-12 23:31 - İnternet - DNS Nedir?
Günün Konuları
c# . javascript . C . xmlhttprequest . xml . xmlhttprequest nedir . c# ile yazma . c# kod çalıştırma . while . c# kodları . integer . c# string . c# tipler . value . type . reference type . console . const . decimal . boolean . writelene . printf . include . scanf . ajax nedir . http . http istemleri . ajax örneği . ajax tarayıcı desteği . activexobject . ajax ile sunucuya istek göndermek . null . showhint . getxmlhttpobject . statechanged . ajax php örneği . ajax asp örneği . ajax html sayfası . c# doğuşu . c# programlama sanatı . c# atama işlemleri . c# kuralları . c# türlerin tanımlanması . int . programlama . c# program kodları . c# döngü . c# ile ekrana yazı yazdırmak . c# aritmetik . c# operatörler . c# int . casting . byte . c# console . c# konsoldan veri girişi . static void main . c# decimal veri tipi . c# kayar nokta verileri . IEEE . c# yazı biçimlendirme . currency . general . c# char . compareTo . equals . c# while döngüsü . c# for döngüsü . c# foreach döngüsü . döngüler . hata yakalama . catch . pperatörler . .net framework . delphi . c++ builder . write . c# deki string dönüşümler . C nedir . C fonkisyonlar . getch .














Yeni yorum gönder