|
Fonksiyonlar
|
tarix | 03.11.2017 | ölçüsü | 770 b. | | #29599 |
|
Fonksiyonlar Fonksiyonlar - Programı modüler hale getirir
- Yerel değişkenler, fonksiyonların içerisinde tanımlanır.
- Sadece tanımlandığı fonksiyon tarafından bilinir
- Parametreler
- Fonksiyonlar arasındaki bilgi alışverişi
- Yerel değişkenler
Fonksiyonların yararları - Bölme ve Zaptetme
- Yönetilebilir program geliştirme
- Yazılımı yeniden kullanabilme
- Varolan fonksiyonları yeni programlar için blok olarak inşa etme
- Soyutlama – içsel detayları gizleme (kütüphane fonksiyonları)
- Kodları tekrar yazmayı engelleme
Fonksiyon Tanımlama biçimleri Fonksiyon Tanımlama biçimleri - return-değer-tipi function-name( parametere-listesi ) { bildirimler ve ifadeler }
- Fonksiyon adı: herhangi geçerli tanımlayıcı
- Veri tipi döndürme: sonucun veri tipi (varsayılan int)
- void – fonksiyonlar geriye değer döndürmez
- Parametre-listesi: parametreleri belirtilmiş, virgülle ayrılmış listedir
- A type must be listed explicitly for each parameter unless, the parameter is of type int
- Her parametre için parametre tipleri ayrı ayrı belirtilmelidir (eğer tipleri int değilse)
Fonksiyon Tanımlama biçimleri (devam) Fonksiyon Tanımlama biçimleri (devam) - return-değer-tipi function-name( parametere-listesi ) { bildirimler ve ifadeler }
- Bildirimler ve ifadeler: fonksiyonun gövdesi
- Değişkenler blokların içinde tanımlanabilir (kısıtlanabilir)
- Fonksiyonlar diğer fonksiyonların içinde tanımlanamaz.
- Geri dönüş kontrolu
- Eğer boş değer geri dönüyorsa (hiç bir değer dönmüyorsa)
- return;
- veya, sağ paranteze ulaşıncaya kadar
- Eğer bir değer geri dönüyorsa
- return ifade(geri dönecek değer);
Fonksiyon prototipi - Fonksiyon adı
- Parametreler – fonksiyonun içinde tuttuğu şeyler
- Return type – fonksiyonun veri dönüşü tipi (varsayılan int)
- Fonksiyonları onaylamakta kullanılır
- Eğer fonksiyon prototipi programın içerisinde yer almazsa, prototipe ihtiyaç duyulur
- Prototip ile fonksiyonlar
- int maksimum( int x, int y, int z );
- 3 ints içerir
- int değeri döndürür
Geçiş kuralları ve dönüşümler - Kendinden küçük tiplere dönüşümler hata oluşturabilir
Öncü Dosyalar - Kütüphane fonksiyonları için fonksiyon prototipleri içerir
- , , vs...
- Yükleme... #include
Öncü dosya düzenleme - Fonksiyonlarla dosya oluşturma
- filename.h olarak kayıt etme.
- #include "filename.h“ ile başka dosyalara yükleme
- Fonksiyonları tekrar kullanma.
Değere göre - Argümanın kopyası fonksiyona gönderir.
- Kopyayı değiştirmek, orijinal değişkenin değerini etkilemez
- Fonksiyonun argüman’ı değiştirmeye ihtiyaç duymadığı zaman kullanılmalıdır.
- Önemli sorunların oluşmasını engeller
Referansa göre - Orijinal argümanı gönderir.
- Argümanı değiştirmek, orijinal değişkenin değerini etkiler
- Sadece güvenilir fonksiyonlar ile kullanılmalı
Şimdi, değere göre çağırmaya bakalım
rand fonksiyonu rand fonksiyonu - yükle
- 0 ve RAND_MAX (en az 32767) arasında sayı “random” geri döndürme.
- Pseudorandom
- “random” sayıların önceden ayarlanmış dizisi
- Her fonksiyon çağrılmasında aynı dizi tekrar eder.
Derecelendirme (Scaling) - 1 ile n arasında random sayı alma
- rand() % n 0 ile n–1 arasında bir sayı döndürür
- 1 ile n arasında random sayıya 1 ekleme yapar.
- 1 + ( rand() % 6)
- 1 and 6 arasında sayı
srand fonksiyonu (rassallaştırma) srand fonksiyonu (rassallaştırma) - Farklı bir dizide rasgele sayılar oluşturulmasını sağlar
- Unsigned(işaretsiz) tipte bir tamsayıyı argüman olarak kullanır
- srand( time( NULL ) );/*yükle */
- time( NULL )
- Program çalıştırıldığı esnadaki saniye cinsinde oluşturur
- “(Randomizes) rasgele seçmeler" çekirdek
Barbut(craps) similasyonu Barbut(craps) similasyonu Kurallar - İki zar atılır
- İlk atışta 7 veya 11 (top.), oyuncu kazanır.
- İlk atışta 2, 3, veya 12 (top.), oyuncu kaybeder.
- İlk atışta 4, 5, 6, 8, 9, 10 – oyuncunun puanı
- Kazanmak için kendi puanını 7 gelmeden önce tekrar atması gerekir.
Dostları ilə paylaş: |
|
|