ForumAlem
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Yetkinforum.com | ©phpBB | Bedava yardımlaşma forumu | Suistimalı göstermek | Son tartışmalar
ForumAlem

ForumAlem
 
AnasayfaAnasayfa  Latest imagesLatest images  AramaArama  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 Pascal If...Then...Else

Aşağa gitmek 
YazarMesaj
ToPrAk
Admin
Admin
ToPrAk


Mesaj Sayısı : 457
Kayıt tarihi : 05/08/08
Yaş : 35
Nerden : KONYA

Pascal If...Then...Else Empty
MesajKonu: Pascal If...Then...Else   Pascal If...Then...Else Icon_minitimeCuma Ağus. 08, 2008 6:07 pm

If...Then...Else Eğer…ise…değilse (If..then..else) Karar yapısı : Program yazarken en çok yapılan işlerin başında elinizdeki verilere bakarak bir karar vermek ve programın akışını bu karara göre yönlendirmek gelir. İyi programda gerekli yerlerde doğru ve etkili karar yapıları oluşturmak çok önemlidir. Çünkü bir programda en yavaş işleyen komutlardan birisi karşılaştırma komutlarıdır. Pascalda en çok kullanılan karşılaştırma ve kontrol komutu If..then..else dir.

If deyiminden sonra yapılacak karşılaştırmanın sonucu doğru(True) ise then deyiminden sonraki blok işler. Eğer karşılaştırmanın sonucu yanlış(False) ise bu sefer de else deyiminden sonraki blok işler.Else deyimi seçimlik bir deyimdir. Yani isterseniz, ya da gerekmezse bu kısmı kullanmayabilirsiniz. Bu durumda eğer karşılaştırma sonucu yanlış ise program bir sonraki komutla akışına devam eder.


Eğer else kullanacaksanız else den önceki satırda noktalı virgül kullanmamalısınız.

...
If then
begin
...
komutlar
...
end;
[ else
begin
...
komutlar
...
end;]
...

Karşılaştırma için kullanabileceğiniz operatörler için buraya tıklayın.

ÖRNEK:
Girilen bir sayının pozitif veya negatif olduğunu söyleyen program.

Var
Sayi : integer;
begin
write(‘Bir sayı girin : ‘);
readln(Sayi);
if Sayi < 0 then
writeln(‘Sayi negatiftir’)
else
writeln(‘Sayi Poszitiftir’);
end.

Eğer isterseniz iç içe if kullanmaya devam edebilirsiniz. Bu oldukça karmaşık bir yapı oluşturabilir ancak bazı durumlarda böylesi uygulamalar zaruri olur.

Örneğin, yazdığımız bir programda eğer girilmiş olan sayı 0’dan büyükse ve 128’den küçükse I değişkenine 1 eklesin, 128..256 arasında ise I’ya 10 eklesin, 256’dan büyükse I’ya 100 eklesin. Aynı zamanda eğer bu sayı 0’dan küçükse ve –127’den büyükse 1 eksiltsin, -127..-255 arasındaysa 10 eksiltsin ve –255’den de küçükse 100 I’dan 100 eksiltsin. Bir okuyuşta anlaması bile zor olan böyle bir işlem için karşılaştırma işlemlerini ayrı ayrı yapmak veya iç içe if kullanmak durumunda kalırız ve tabii sonuç genellikle yanlış çıkar. Fakat biraz dikkat ve biraz da pratik yapmakla bu işi halletmek mümkündür. Şimdi size 2 çalışır program örnegi vereceğim. İkisi de doğru çalışıyor fakat birisi daha profesyonelce hazırlanmış. Örnekleri incelerseniz karşılaştırma komutlarından ilki olan if..then..else deyimi ile hiçbir probleminiz kalmaz.

Const
I : integer = 500;
Var
Sayi : integer;
Begin
Write('Bir sayı girin : ');
Readln(Sayi);
If (sayi > 0) and (sayi < 128) then
I := I+1;
If (sayi >= 128) and (sayi < 256) then
I := I+10;
If (sayi >= 256) then
I := I+100;
If (sayi < 0) and (sayi > -127) then
I := I-1;
If (sayi <= -127) and (sayi > -255) then
I := I-10;
If (sayi =< -255) then
I := I-100;
Writeln('İşlem sonucu I da kalan= ',I);
End.Const
I : integer = 500;
Var
Sayi : integer;
Begin
Write(‘Bir sayı girin : ‘);
Readln(Sayi);
If sayı > 0 then
If sayı > 128 then
If sayı > 256 then
I := I + 100
Else
I := I +10
Else
I:= I+1
Else
If sayi < -127 then
If sayi < -256 then
I := I – 100
Else
I := I – 10
Else
I := I – 1;
Writeln(‘İşlem sonucu I da kalan=‘ , I);
End.
Sayfa başına dön Aşağa gitmek
 
Pascal If...Then...Else
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» GNU-PascaL
» PASCAL DERSLERI 9
» PASCAL DERSLERI10
» PASCAL DERSLERI11
» PASCAL DERSLERI12

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
ForumAlem :: Programlama Dilleri :: PascaL-
Buraya geçin: