Plazma sayı 6, sayfa 36

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 36

En Önemli Komut: if

Bütün programlama dillerinde karar mekanizmaları yaratabilmenin ilk yolu koşullu dallanmadır. Bu işe yarayan komut da if komutudur. Bu komutu kullanarak programımızın çeşitli bölümlerinde, içinde bulunulan duruma göre farklı davranabilme imkanımız olur. Hemen aşağıdaki örneğe bir bakın.

#include <iostream>

komut;

)

else

komut; komut;

Bu formda kullanıldığında ise iki kod bloğundan yalnızca biri çalıştırılıyor. Koşul doğru ise birinci kod bloğu çalışırken, yanlış ise ikinci kod bloğu çalışıyor. Bunun yanında if komutunu bazen de şu şekilde kullanabiliyoruz

if ( kosull int main() 1 komut; std::cout << “Issiz bir magarada ilerliyorsun. ” komut; << “Ileride bir citirti duydun. Ne yapacaksin?” << ) << “1- Kilicimi cekecegim” << std::endl else if ( kosul2 ) << “2- Aydinlatma buyusunu yapacagim” ex std:şendi; komut; komut;

int komut; Std::cin >> komut; if

( komut 1. )

// kilici cekti

std::cout << “Cok guclu bir canavar sana dogru â

Böyle kullandığımızda iki farklı koşulu test etmiş oluyoruz. Koşul1 ve koşul2'nin doğruluk durumlarına göre bu kod bloklar-

<< “ve sen birsey yapamadan seni oldurdu” Eğer koşul1 doğru ise, birinci blok çal-

) else if ( komut // buyu yapti std::cout << “Cok guclu bir canavar gordun.

-- 2 )

"m

<< “Fakat canavar aydinliktan korktu ve kact

€<€ std: tendi; )

else 1 // taninmayan komut stdı:cout << “Komut anlasilamadi” << )

return O;

Tamam kabul ediyorum biraz küçük ama yine de ilk text adventure oyununuz için fena sayılmaz :)

if komutunun en basit formunu anlatarak başlayalım

komut; komut;

( kosul )

Burada koşul doğru ise if komutunun hemen sonrasından gelen kod bloğu çalıştırılıyor (kod bloklarından geçen bölümde bahsetmiştik). Eğer koşul yanlış ise bu kod bloğu çalıştırılmadan atlanıyor. if komutunun bir başka formu ise şöyle

if

komut;

( kosul )

ışıyor ve diğer else if bölümlerine bakılmadan direkt if bloğunun sonuna atlanıyor. Yani bu şekilde bir adet if ve n adet else if satırı içeren bir if bloğunda en fazla bir kod bloğu çalışabilir. Koşullar sıra ile taranırken bir tanesi doğru olduğu anda, ona karşılık gelen kod bloğu çalıştırılır ve son else if'e karşılık gelen kod bloğundan bir sonra gelen komut ile devam edilir. Eğer koşulların hepsi yanlış ise kod bloklarından hiçbiri çalıştırılmaz.

Son olarak if komutunu görebileceğimiz bir format da şu:

( komut; komut;

( kosul1 )

) else if ( komut; komut;

( kosul2 )

)

else

( komut; komut;

Bu daha önce bahsettiğimiz iki formun birleşimi. Burada tahmin edebileceğiniz gibi önce koşul1 ardından koşul2 kontrol ediliyor. Bu ikisinden biri doğru ise ona karşılık gelen kod bloğu çalıştırılıyor. Eğer iki koşul da yanlış ise else bloğu çalıştırılıyor. Dikkat ederseniz if komutu bu şekilde kullanıldığı zaman içerdiği kod bloklarından biri mutlaka ama mutlaka çalışıyor.

Nitekim, yukarıdaki text adventure örneğimizde if komutunu bu şekilde kullandık. Şimdi if komutunun çalışmasında bu kadar kritik rol oynayan koşulların nasıl ifade edildiğine bir bakalım.

Klavyeyle gezinmek için ← ve → tuşları.