html5-img
1 / 18

BPR151 ALGORİTMA VE PROGRAMLAMA - I

BPR151 ALGORİTMA VE PROGRAMLAMA - I. Öğr . Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul. Bu Günkü Konular. Koşul İfadeleri Koşullu atama o perat ö r ü  ? : s witch - case ifadesi. a = (b >= 0) ? b : -b;. a’nın değeri b’nin mutlak değeri olur.

anneke
Download Presentation

BPR151 ALGORİTMA VE PROGRAMLAMA - I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BPR151 ALGORİTMA VE PROGRAMLAMA - I Öğr. Gör. Bayram AKGÜL bayramakgul@bartin.edu.tr http://bmyo.bartin.edu.tr/akgul

  2. Bu Günkü Konular • Koşul İfadeleri • Koşulluatama operatörü  ? : • switch-caseifadesi

  3. a = (b >= 0) ? b : -b; a’nındeğeri b’nin mutlak değeri olur. min = (a < b) ? a : b; min’in değeri a ve b den minimum olanı olur Koşullu atama operatörü • Program yazarken bir çok yerde aşağıdaki kodu bulabilirsiniz: if (koşul) ifade1; else ifade2; • Bu ifadeyi daha kısa yazabilecek bir operatör var • koşul?ifade1 :ifade2 • Örnekler:

  4. İki sayıdan küçük ve büyük olanını bulma usingSystem; classProgram { staticvoid Main(string[] args) { int sayı1, sayı2, küçük, büyük; Console.Write("1. sayı:"); int.TryParse(Console.ReadLine(), out sayı1); Console.Write("2. sayı:"); int.TryParse(Console.ReadLine(), out sayı2); küçük = sayı1 < sayı2 ? sayı1 : sayı2; büyük = sayı1 > sayı2 ? sayı1 : sayı2; Console.WriteLine("Büyük Sayı:"+ büyük); Console.WriteLine("küçük Sayı:"+ küçük); Console.ReadLine(); } }

  5. switchdeyimi • Bazen bir karşılaştırmada bir çok değerden hangisi olduğunu seçmek isteye biliriz. • Bu durumda kademeli ifyapısını aşağıdaki gibi kullanabiliriz. if (not == 5) Console.Write("Mükemmel"); elseif (not == 4) Console.Write("iyi"); elseif (not == 3) Console.Write("geçer"); elseif (not == 2) Console.Write("zayıf"); elseif (not == 1) Console.Write("kalır"); elseConsole.Write("geçersiz not"); • Buna alternatif olarak: • kademeli if deyimlerinin yerine switch yapısını kullanabiliriz.

  6. switchdeyimi- örnek • Önceki kodun kademeli if yerine switchile yeniden yazımı şekildeki gibi olacaktır: switch(not){ case 5: Console.Write("Mükemmel"); break; case 4: Console.Write("iyi"); break; case 3: Console.Write("geçer"); break; case 2: Console.Write("zayıf"); break; case 1: Console.Write("kalır"); break; default: Console.Write("geçersiz not"); break; }

  7. Switch • switchdeyimi bazı if-elsedeyimlerinin yaptığı işi daha az kodla yapar. • Genellikle karmaşık if-elsebloklarını kullanmaktansa switch yapısını kullanmak programın anlaşılırlığını artırır.

  8. switchdeyimininyazım kuralı • switch yapısı ifadedeki duruma göre seçeneklerden sadece bir tanesini çalıştırır. switch(ifade) { casedeğer1: ifade1; … break; casedeğer2: ifade2; … break; default: ifadeN; … break; }

  9. Switch ile ilgili bilinmesi gerekenler • switch ifadesindeki değer hangi case değerine karşılık gelir ise sadece o kısım çalışacaktır. not : 4 switch(not){ case 5: Console.Write("Mükemmel"); break; case 4: Console.Write("iyi"); break; case 3: Console.Write("geçer"); break; case 2: Console.Write("zayıf"); break; case 1: Console.Write("kalır"); break; default: Console.Write("geçersiz not"); break; } Eğer not 4 ise sadece case 4: kısmı çalışacaktır.

  10. Switch ile ilgili bilinmesi gerekenler • switch ifadesinde aynı case tekrardan yazılamaz. switch(not) { case 5: Console.Write("Mükemmel"); break; case5: Console.Write("Harika"); break; ... default: Console.Write("geçersiz not"); break; } case tekrarlayamaz!

  11. Switch ile ilgili bilinmesi gerekenler • switchifadesindeki değer herhangi bir case ifadesinde yoksa default kısmı çalışacaktır. not : 8 switch(not) { case 5: Console.Write("Mükemmel"); break; case 4: Console.Write("iyi"); break; case 3: Console.Write("geçer"); break; case 2: Console.Write("zayıf"); break; case 1: Console.Write("kalır"); break; default: Console.Write("geçersiz not"); break; } Eğer not 1,2,3,4,5 haricinde bir değer olursa default kısmı çalışacaktır.

  12. Switch ile ilgili bilinmesi gerekenler • Switch ifadesi; sonucu hesaplanabilir bir ifade olabilir, • Fakat her bir case ifadesi kesinlikle sabit değer veya sabitlerden oluşmuş bir ifade olmak zorundadır. switch(sayı %3) { case0: Console.WriteLine("sayı 3n şeklinde ifade edilebilir"); break; case1: Console.WriteLine("sayı 3n+1 şeklinde ifade edilebilir."); break; case2: Console.WriteLine("sayı 3n+2 şeklinde ifade edilebilir."); break; }

  13. Switch ile ilgili bilinmesi gerekenler • case ifadeleri gruplandırılabilir. • Her case kısmından sonra veya grubundan sonra kesinlikle break komutu kullanılmak zorundadır.

  14. switch-case örnek-1 switch(rakam) { case0: Console.WriteLine("0'ın ne değeri var ki:)"); break; case2: case6: case8: Console.WriteLine("Bu bir çift sayı"); break; case1: case4: case9: Console.WriteLine("Bu başka bir sayının karesi"); break; case3: case5: case7: Console.WriteLine("Bu bir asal sayı."); break; default: Console.WriteLine("Sadece rakam girilebilir!"); break; }

  15. switch– örnek-2 charislem; intsonuc; intdeger; … switch(islem) { case'+': sonuc+=deger; break; case'-': sonuc-=deger; break; case'*': sonuc*=deger; break; case'/': if(deger==0) { Console.WriteLine("Error: sıfıra bölme hatası "); Console.WriteLine(" işlem iptal edildi "); } else sonuc/=deger; break; default: Console.WriteLine("Geçersiz işlem!"); break; } /* end-switch */

  16. Switch ile ilgili bilinmesi gerekenler • Eğer bir case ifadesinden başka bir case ifadesine gitmek istiyorsak goto anahtar sözcüğünü kullanabiliriz. int a ; ... switch (a) { case4: Console.Write("case 4'e geldi."); string b =Console.ReadLine(); Console.Write(b); break; case5: Console.Write("case 5'ten case 4'e git"); gotocase4; default: Console.Write("default kısmı"); break; } goto varken break kullanmaya gerek yoktur.

  17. Switch üzerine notlar • case anahtar sözcüğünün yanındaki ifade mutlaka ya sabit ya da sabitlerden oluşan bir ifade olmalıdır. • default: kısmı case ifadelerinin arasına veya başa yazılabilir fakat tipik olarak sona yazılır. • case'lerinsırası önemli değildir. • Bir switch bloğunda default durumu bulunmak zorunda değildir. • switch'inparantezi içindeki ifade bir değişken, bir sabit ya da bir ifade olabilir.

  18. Dinlediğiniz için teşekkürler… Öğr. Gör. Bayram AKGÜL

More Related