Kontrol Deyimleri

İf deyimi: genel biçimi şöyledir;

if deyiminin doğruysa ve yanlıssa kısmında birer deyim bulunmaktadır. Eğer programcı birden fazla deyim bulundurmak istiyorsa kırlangıç içerisine almak zorunda.
Semantic açıklama: derleyici ilk parantezin içerisindeki ifadenin sayısal degerini hesaplar. Bu deger true ise doğruysa kısmındaki deyimi calstırır, yanlssa kısmındaki deyimi atlar ve if deyiminin calsması bitmiştir. Eğer if parantezi içerisindeki ifadenin değeri false ise bu durumda else kısmından sonraki deyim çalıştırılır.

Bir if deyiminin else kısmı bulunmak zorunda değildir. Eger if deyiminin iç kısmından sonra else anahtar szcüğü gelmez ise bu else kısmı olmayan bir if deyimidir.

Bazen if deyiminin yanlışlıkla boş deyim ile kapatılmasıyla karşılasılmaktadır.
Örneğin;

Burada if parantezinden sonraki noktalı virgül bir deyim olarak if deyiminin doğruysa kısmını olusturur. Bu noktalı virgülden sonra else anahtar sözcüğü gelmediğinden dolayı if deyimi bitmiştir dolayısıyla else kısmı yoktur…

Örneğin:

Burada bloklama yapılmamasından dolayı derleyici if deyiminin bittigini düşünür. Dolayısıyla else kısmı olmayan bir if söz konusu olur.

İf deyimine dısarıdan baktıgımızda tamamı tek bir deyimdir.


İki if deyimi için tek bir else deyimi bulunuyorsa, else kısmının, içerideki if deyiminin oldugunu kabul ediyoruz.

Örneğin:

eğer else kısmı dısarıdaki if’ in else ksımı olsun isteniyorsa o zaman bilinçli bloklama yapılmalıdır.

Bir karşılaştırma doğruyken diğer karşılaştırmanın doğru olma olsılığı yoksa buna ayrık karşılaştırma denir.

Oysa a>10 a>0 karşılaştırmaları ayrık değildir. Ayrık karşılaştırmaları ayrık if deyimleriyle karşılaştırmak iyi bir teknik değildir.

ayrık karşılaştırmaları else-if biçiminde ifade edilmesi iyi bir tekniktir.
Ör:

Burada artık x 1 e eşitse boşuna diğer karşılaştırma yapılmayacaktır.
birden fazla karşılaştırma söz konusu olduğunda eğer bunlardan biri doğruyken diğerinin doğru olma olsılığı yoksa bunlar karşılıklı ayrıktır ve else-if merdivenleriyle ifade edilirler.

Birbirleriyle ilişkili fakat ayrık olmayan if deyimleri söz konusu olabilir. Bu durumda ortak paralel öğeler anlamlı bir biçimde toplanabilir.
Ör : biz x>0 iken bir şey yapmak isteyelim fakat özel olarak x>10 ikende baska birsey yapmak isteyelim

Şimdi her iki karşılaştırmada da ortak yapılcak bieşeyler varsa bu yapı bunu için uygundur.

Karmaşık if deyimlerinde tekrarlanan kısımlara dikkat edilmesi ve bunlar mümkün olduğunca sadeleştirerek birleştirilmelidir. Örneğin:

Burada ifade4 tekrarlanmaktadır. Acaba bu if deyiminin daha basit bir eşdeğeri yok mudur?
Bu işlem şöyle kısaltılabilir.

1 comments On Kontrol Deyimleri

  • Burada & ( ve) , | ( veya ) kullanımı iki şekildedir…
    1.durum = if ( şart1 && şart2)
    2.durum = if ( şart1 & şart2 )

    1. durumda ilk önce şart1 kontrol edilir. Eğer şart1 true dönerse şart2 kontrol edilir..

    2. durumda ise her durumda da 2 şartta kontrol edilir..

    Sonuç aynı döner ancak çalışma prensipleri farklıdır..

Leave a Reply

Site Footer