[PASCAL] 6-Karşılaştırma Komutları

Yazan: türker | Tarih 24 Aralık 2007 | Yorum  1 Yorum
BerbatKötüOrtaGüzelHarika Henüz puan verilmemiş
Loading ... Loading ...

Program akışında, belirli şartlara göre, farklı işlemler yapabilmek için kullanılır. Yani, hangi durumda hangi işlemlerin gerçekleştirileceğini belirleyebilmemizi sağlayan komutlardır.

A) IF - THEN - ELSE:

IF koşul1,koşul2.... THEN komutlar
[ ELSE komutlar ]

Program akışının IF ile THEN arasındaki koşula göre yönlendirilmesini sağlar. Eğer bu koşul sağlanırsa THEN ‘den sonraki kısım işlenir. Aksi halde THEN ‘den sonraki kısım atlanıp ELSE ‘den sonraki bölüm işlenir. Ancak ELSE bloğunu kullanmak zorunda değilsiniz. Daha doğrusu, denetlenen her koşul için ELSE bloğu gerekmeyebilir.

:
  1. IF sayac=0 THEN sayac:=sayac+1;
  2. { Eğer sayac değişkeninin değeri sıfırsa bu değişkenin değerini bir attır }

IF - THEN – ELSE kullanırken dikkat etmeniz gereken birkaç nokta var. İlki, eğer THEN ‘den sonra birden fazla komut kullanacaksanız bu komutları Begin – End bloğu içinde kullanmalısınız. Aksi halde sadece THEN ‘den sonra gelen ilk komut koşulla birlikte işlenecek, diğer komutlar koşula bağlı olmayacaktır. Aşağıdaki iki örnekteki kodlar aynı olmasına rağmen aynı işi yapmıyor. İlk örnekte, eğer koşul sağlanırsa (sayac değeri sıfıra eşitse) sayac değeri bir attırılıyor ve sira değeri sıfıra eşitleniyor. İkinci örnekte, eğer koşul sağlanırsa sayac değeri bir attırılıyor. Koşul sağlansa da sağlanmasa da sira değeri sıfıra eşitleniyor.

:
  1. IF sayac=0 THEN
  2. Begin
  3. sayac:=sayac+1;
  4. sira:=0;
  5. end;
  6.  
  7. IF sayac=0 THEN
  8. sayac:=sayac+1;
  9. sira:=0;

İkincisi, eğer ELSE bloğunu da kullanacaksanız THEN ile ELSE arasında kalan son komuttan sonra (bu komuta End de dahildir) noktalı virgül işareti koymamanız gerekli.

:
  1. IF sayac=0 THEN
  2. Begin
  3. sayac:=sayac+1;
  4. sira:=0;
  5. end { Noktalı virgül kullanmadık }
  6. ELSE
  7. Begin
  8. Sayac:=1;
  9. Sira:=1;
  10. End;
  11.  
  12.  
  13. IF sayac=0 THEN sayac:=sayac+1 { buraya dikkat }
  14. ELSE sayac:=1;

Koşul olarak tek değişken kullanılacağı gibi birden fazla değişken de kullanılabilir. Denetlenecek değişkenler mantıksal operatörler (and,or,…) yardımıyla sıralanır.

:
  1. IF (sayac=0) AND (sira=0) THEN
  2. Begin
  3.  sayac:=sayac+1;
  4.  sira:=sira+1;
  5. end;
  6. { sayac ve sira değişkenlerinin değeri sıfıra  eşitse sayac değişkeninin değerini ve sira değişkeninin değerini bir attır. }

Birkaç örnek verelim;

:
  1. { Aynı değişken için birden fazla IF kullanabilirsiniz }
  2. IF sayi0 THEN tanim:=’Pozitif Sayı’;
  3.  
  4.  
  5. { İç içe birden fazla IF kullanabilirsiniz }
  6. IF sayi<0 THEN tanim:=’Negatif Sayı’
  7. ELSE
  8.   IF sayi=0 THEN tanim:=’Sıfır’;
  9.   ELSE tanim:= ’Pozitif Sayı’;
  10.  
  11. { Koşul denetlemesinde birden fazla değişken kullanabilirsiniz }
  12. { Bu değişkenleri farklı mantıksal operatörlerle bağlayabilirsiniz }
  13. IF (A<B OR A=B) AND (sayi=1) THEN ………………

B) CASE OF:

CASE koşul OF
Değer1:komutlar
Değer2:komutlar
……
……
DeğerN:komular
[ ELSE komutlar ]
END

Koşul araştırılan değişkenin değerlerine göre program akışının değiştirilmesini sağlar. Değişkenin değeri ilk olarak hangi ifadeye uyarsa yalnızca o ifadenin karşısındaki komut veya komutlar işleme alınacak diğerleri işlenmeyecektir. Eğer değişkenin değeri tanımlı olan ifadelerin hiç birisine uymuyorsa ELSE ifadesini karşısındaki komutlar işleme alınır. ELSE bloğunu kullanmak zorunlu değildir.

:
  1. CASE secenek OF
  2. { secenek adındaki değişken değerlendiriliyor }
  3. 1:secim:=1;
  4. { eğer secenek değişkeninin değeri 1 ise secim değişkeninin değeri de 1 oluyor }
  5. 2:secim:=2;
  6. { eğer secenek değişkeninin değeri 2 ise bir üsteki  satır değerlendirilmiyor ve secimin değeri 2 oluyor }
  7. ELSE writeln(‘Hatalı Secenek’);
  8. { eğer secenek değişkenin değeri 1 ve 2 den farklı  ise ekrana mesaj yazdırıyoruz }
  9. End;{ case of komut bloğunu end ile bitiriyoruz }

Benzer Yazılar


Yorum Yap


(gerekli)

(gerekli,yayınlanmaz)




XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>