26 Şubat 2014 Çarşamba

PHP - KARAR YAPILARI ve DÖNGÜLER

* 11.10.2009 tarhiinde İstanbul'da bir bilgisayar dershanesinde verdiğim PHP ve Web Programlama ders notlarıdır. 

KARAR YAPILARI ve DÖNGÜLER



Bir bütün olarak programlar yahut işlem blokları yapısal olarak üç ayrı kategoride gruplanabilir.

1) Doğrusal
2) Mantıksal
3) Döngüsel


Yaptıkları işlem ya da alınmak istenen sonuçlara göre bu üç gruptan birine dahil edilen programımız, yazıldığı amaç gerçekleştikten sonra sonlanır.

1) Doğrusal Program : Bu tipte, kodlar yukarıdan aşağıya doğru yorumlanır veya çalıştırılır. Herhangi bir geri dönüş, ileri sıçayıp ya da blokların tekrarı söz konusu değildir
2) Mantıksal Program: Bu tip programlarda ise, belirli şartlar programın yönünü tayin eder. Program, gerçekleşen şartta devam etmesi planlanan kısımdan devam eder.
3) Döngüsel Program : Bu tipte program, X şartının gerçekleşmesi halinde, Y kez tekrarlanır.

Bir program, bunlardan biri olabilir. Ya da, bir program bu gruplardan yalnızca 2. ve 3. madde için söylenirse, ikisine birden dahil edileblir.

Bu dersimizde, sırası ile, karar ifadelerini ve döngü yapılarını göreceğiz.

if-else

____________________

Günlük yaşantımızda çoklukla, belirli anlarda belirli durumlara göre karar vermek ve bu karar sonucunda belirli işlemler yapmak ve diğer seçenekleri dıştalamak zorunda kalırız. Programlarımız da, varlıkların iş yapma yetisinin soyutlanmış hali ile belirli durumlarda belirli kararlar vermekte ve işleme karar için tayin edilen yönde devam etmektedir.
if-else yapısı programlama en çok tanınan ve PHP'nin diğer programlama dilleri ile paylaştığı bir karar-kontrol mekanizmasıdır

if ( koşullar ) {
koşullar doğru ise yapılacak işlere ilişkin komutlar
}

else {
diğer her durumda yapılacak işlere ilişkin komutlar
}













Hayatta, ne hesap edilen olasılıklar ne bu olasılıklara tayin edecek yön tek değildir. Programlarımızda da birden çok durumu/değeri sınamak zorunda kalabiliriz. Bu tür durumlarda
if-elseif-else blokları kullanılmaktadır.









İf ( koşullar ) {
koşullar doğru ise yapılacak işlere ilişkin komutlar
}
elseif (diğer koşullar) {
diğer koşullar doğru ise yapılacak işlere ilişkin komutlar
}
else {
diğer her durumda yapılacak işlere ilişkin komutlar
}


Switch-Case
____________________

Programımızın akış kontrolünde, bazen daha spesifik değerleri sınamak durumunda olabiliriz. Bu tür hallerde switch-case kullanılabilir:



switch ( değişken ) {
case KOŞUL-1 ;
Koşul-1 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-2 ;
Koşul-2 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-3 ;
Koşul-3 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-4 ;
Koşul-4 doğru ise yapılacak işlere ilişkin komutlar





Yukarıda bahsedilen karar yapısı, çok önemli bir özellik olarak PROGRAMIN İLERİ DOĞRU AKIŞINI BOZMAYAN, YALNIZCA PROGAMIN İLERİYE DOĞRU HAREKETİNDE, İLERİDE DEVAM EDECEĞİ NOKTAYI KESTİRECEĞİZ YAPISAL FONKSİYONLAR SUNAN ÖZELLİKLER idi.

Şimdi göreceğiz döngüler ise, programın ileriye doğru akışını vereceği bir karar ile etkileyebilen, bazı kod bloklarının tekrarlı şekilde işlenmesini sağlayan yapılardır.


while Döngüsü

While döngüsü kendisine verilen koşul doğru ise, beraberindeki kod bloğunu, doğruluk durumu süresince tekrar eder.



while (koşul) {
Koşul doğru ise yapılacak işlere ilişkin komutlar
}


do...while
_____________

While döngüsünün, kendisine verilen koşul doğru iken, beraberindeki kod satırını icra ettiğini gördük. Böyle olsa bile, bazen, kod bloğunda belirttiğimiz işlemin hiç değilse 1 defalığa mahsus işletilmesini isteyebiliriz. Bu tür durumlarda do--while döngüsü kullanılmaktadır.

Yazılışı:
do
{

}
while(koşul) ;



for Döngüsü
_____________

Yukarıda andığımız döngülerin tamamı, belirsiz bir sayısa, kendisine verilen koşulun doğruluğunda devam eder. Oysa biz, programımızda, belirlediğimiz bir işlemin, belirlediğimiz kerede tekrar etmesine de ihtiyaç duyuyor olabiliriz. Bu tür durumlarda for Döngüsü kullanılmaktadır.

for ( $yeni_degisken atama ; koşul ; artış basaması ) {
Koşul doğru ise yapılacak işlere ilişkin komutlar
}


foreach Döngüsü
__________________

Şimdiye kadar gördüğümüz döngüleri iki gruba ayırabiliriz
1) Kendisine verilen koşul doğruluğunda tekrar eden döngüler
2) Belirli bir adede ulaşılıncaya kadar tekrar edilen döngüler

Bu iki tipe bir üçüncü tip olarak da, kendisine verilen koleksiyon uzunluğunda tekrar eden döngüleri ekleyebiliriz. Bu döngümüzün adı foreach'tir

foreach(kaynak as hedef)
{

}





continue ve break komutları

break : okunduğu an kod bloğu kesilerek çalışma durdurulur
continue : kod blogunu en başa döndürerek çalışmayı devam ettirir.




Hiç yorum yok:

Yorum Gönder