Bazen yazdığımız programda belirli
bir koşulun sağlanması veya sağlanmaması durumlarına göre farklı kodların
çalıştırılması gerekir ve bu durum programlamada dallanma olarak isimlendirilir.
Örneğin bir web form doldurulurken kullanıcının cinsiyetine göre değişik
sorular sorulması gerekebilir veya kullanıcının girdiği değere göre farklı
işlemler uygulanması gerekebilir. İf Türkçe eğer anlamına gelmektedir ve günlük
hayatta kullanım amacına benzer yani eğer şartlar şöyle ise şunu yapalım böyle
ise bunu yapalım şeklinde bir kullanımı vardır.
İf deyimi kullanılırken else
(değilse) bloğu her zaman yazılmak zorunda değildir. Genelde koşulun sağlanması
durumunda if bloğuna yazılan komutlar çalıştırılır.
İf deyiminde önemli olan şudur yazdığınız
koşul doğru ise true (olumlu/doğru) sonucu üretilir ve if’ten sonra yazdığınız kod bloğu çalıştırılır, eğer koşul
sağlanmazsa false (yanlış/olumsuz)
sonucu üretilir ve else’den sonra
yazdığınız komutlar işletilir.
İf kontrolü neredeyse tüm dillerde
benzer kullanımları olan bir kontrol yapısıdır.
Genel Kullanımı;
if (Koşul) {
// Koşul’un
sağlanması durumunda çalıştırılacak işlem kodları
} else {
// Koşul’un
sağlanmaması durumunda çalıştırılacak işlem kodları
// else (değilse anlamına gelir) bloğu
yazılmak zorunda değildir!
}
Şeklindedir.
Örnek:
Bir değişkenin değerinin tek veya çift olduğunu bulup görüntüleyelim.
Bir sayının tek veya çift olup
olmadığını anlamak için o sayıyı 2 ye tam böleriz, eğer bölümden kalan 0 ise
sayı çifttir, eğer bölümden kalan 1 veya -1 ise tek sayıdır.
% operatörü php de mod alma
yani tam bölme yaparak bölümden sonra kalanı bulmak için kullanılır.
$sayi % 2 == 0 koşulunda $sayi
değişkeninin değerinin 2 ye bölümünden kalanın 0 olup olmadığını kontrol
ediyoruz. Php ve çoğu dilde =
operatörü değişkene değer atama işleminde kullanıldığı için eşitlik kontrolü için == operatörü
kullanılmaktadır.
Örneğimizde bölümden kalan 0 ise
ilk kod bloğu, diğer durumlarda ikinci kod bloğu çalıştırılmaktadır.
Örnek: Bir öğrencinin derse ait dört notunun ortalamasını
hesaplayıp ortalamasını ve başarı durumunu görüntüleyelim.
Öğrencinin dört notunun aritmetik
ortalamasını alarak ortalamayı buluyoruz, parantez kullanımına dikkat
etmelisiniz. Eğer ortalama hesaplanırken parantez kullanmaz iseniz
$ortalama=$sinav1+$sinav2+$performans1+$performans2/4;
gibi bir durum oluşur ve bu kodun yaptığı şey $sinav1,$sinav2,$performans1
değişkenleri ile $performans2 değişkeninin 4’te 1’ini toplamaktır! Dikkat
edelim!
$durum değişkenini tanımlıyoruz
daha sonra kullanacağız.
İf yapısını incelediğimizde ise
önceki örnekteki if.. else den farklı bir yapı kullanılmakta.
İf .. else if … daha farklı bir
kullanım şeklidir. Eğer koşul sağlanmaz ise ikinci if o da sağlanmazsa sonra if
şeklinde her seferinden kontrol edilir. Belirtilen koşulların hiçbirisinin
sağlanmaması durumunda ise en alttaki else bölümüne yazılan kod işletilir. Bu
kullanımı örnek olması açısından verdim yoksa bu yazımdansa bir diğer dallanma yapımız
olan switch deyimi kullanılır.
Gelelim örnekteki if yapımızı
açıklamaya…
Öğrencinin ortalaması 0 – 49,99
puan aralığında ise başarısız olmuştur. Tabi biz herhangi bir programlama
dilinde günlük kullanımda olduğu gibi bir sayı aralığı belirtmek için –
operatörünü kullanamıyoruz. Programlama dillerinde sayı aralığı belirtmek için >(büyüktür)
<(küçüktür) >=(büyük veya eşittir) <=(küçük veya eşittir) gibi
operatörleri kullanırız.
Ortalama değişkeninin belirli bir
aralıkta olup olmadığını $ortalama>=0 && $ortalama < 50 şeklinde kontrol ederiz. Burada iki koşul
yazılmış ve bu koşullar && (and - ve)
bağlacı ile bağlanmıştır. Böylece iki koşulunda sağlanması beklenmektedir.
Örneğin 40 değeri 0’dan büyük ve 50’den küçüktür yani koşulumuz true (olumlu) sonuç üretir. Bu kontrol
ile 0 ile 49,99 aralığındaki tüm sayılar bu aralık kapsamına alınır. Sayı
aralığı kontrollerinde sınır değerlere ve operatör kullanımına dikkat
edilmelidir çünkü > ile >= arasında ciddi bir fark vardır!
Örneğin ortalamamız 50’den büyük
ise ilk if koşulu sağlanmaz bu durumda ikinci if koşulumuz kontrol edilir. Bu
kontrol herhangi bir if koşulu sağlanana kadar sürer eğer herhangi bir if
koşulu true sonucunu üretmezse en sondaki else bloğu işletilir.
Örneğimizde ortalama 0’dan küçük
veya 100’den büyük olması durumunda “Geçersiz
puan!” sonucu üretilecektir.
Hiç yorum yok:
Yorum Gönder