1 / 59

Mantıksal Operatörler ve Denetim Yapıları

Mantıksal Operatörler ve Denetim Yapıları. Boolean. Boolean, doğru ya da yanlış sonuçlarını alabilen bir değişken türüdür. Durumları belirlemek için kullanılır. Özellikle, duruma göre kod çalıştırma ve döngülerde kullanılır.

enid
Download Presentation

Mantıksal Operatörler ve Denetim Yapıları

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. Mantıksal Operatörler ve Denetim Yapıları

  2. Boolean • Boolean, doğru ya da yanlış sonuçlarını alabilen bir değişken türüdür. • Durumları belirlemek için kullanılır. • Özellikle, duruma göre kod çalıştırma ve döngülerde kullanılır. • mantıksal ifadeler doğru veya yanlış değerini alan mantıksal "formüllerdir". • “bool” anahtar kelimesi ile tanımlanır. • bool bVal = true;

  3. Örnek

  4. Boolean İşleçler • Boolean ifadeler kurmak için kullanılır. • Diğer isimleri de mantıksal işleçlerdir. • Ve  && • Veya  || • Değil  ! • Eşitlik  == • Eşitsizlik  != • Karşılaştırma  <, >, <=, >=

  5. Ve (&&) Bütün değerlerin, “true” olmasını gerektirir. • true && true = true • false && true = false • true && false = false • false && false = false

  6. Veya (||) En az bir değerin, “true” olmasını gerektirir. • true || true = true • false || true = true • true || false = true • false || false = false

  7. Değil (!) Değeri tersine çevirir. • !true = false • ! false = true

  8. Eşitlik (==) Her iki tarafın değeri, birbirine eşitse doğru değerini döndürür. • 1 == 2 • 1 == 0 • 42 == 42 • degisken1 == digeri

  9. Eşitsizlik Her iki tarafın değeri, birbirinden farklıysa doğru değerini döndürür. • 1 != 2 • 1 != 0 • 42 != 42 • a != degisken

  10. Karşılaştırma (>,<,>=,<=) Eşitsizliğin tutması durumunda doğru döndürür. • 1 < 2 • 0 > 1 • 42 <= 42 • yas >= 18

  11. İşleç Önceliği • Parantezler • Değil (!) • Karşılaştırma (<, >, <=, >=) • Eşitlik (==) • Eşitsizlik (!=) • Ve (&&) • Veya (||) En Yüksek En Düşük

  12. Örnek

  13. Yaygın Hatalar • Mantıksal işlemlerde en önemli hatalardan biri, öncelik sıralarına dikkat edilmeden mantıksal ifadelerin yazılmasıdır. • Diğer bir sıkıntı, = = (eşittir – eşittir ) yazılması yerine tek bir eşittir yazılmadır.

  14. Denetim Yapıları

  15. if – else • Seçme yapısı, mantıksal ifadelerin sonucuna göre alternatif komutların çalışmasını sağlar. • Mantıksal ifadeler doğru veya yanlış döndürür. İfade doğru değeri döndürdüğünde, if bölümü içindeki komutlar çalışırken, yanlışken else bölümü çalışır.

  16. if – else • Basit if yapısına, tekli seçme yapısı adı verilir, çünkü, doğru değer geldiğinde seçilen komutu çalıştırır ya da göz önüne almaz. • ifveelse'den oluşan yapıya, çiftli seçme yapısı adı verilir, çünkü, iki farklı duruma göre iki değişik komut grubunu çalıştırır. • İç içe geçmiş if/elseyapısı, birden fazla durumu kontrol eder.

  17. Tekli Seçim Yapısı • Tekli seçme yapısının formu şöyledir: if ( ifade ) { komutlar; } • veya if ( ifade ) komut;

  18. Örnek

  19. if – else if – else • if genellikle şöyle yazılır: • if – else yapısı da söyle yazılabilir: noktalı virgül gelmeyecek!!!! if ( ifade ) deyim; noktalı virgül gelmeyecek!!!! if ( ifade ) deyim1; else deyim2; noktalı virgül gelmeyecek!!!!

  20. if – else if – else • if yapısının genel formu şöyledir: if ( mantıksal ifade doğruysa ) deyim ; else if (mantıksal ifade doğruysa) deyim ; else deyim ;

  21. Çoklu if – else if – else • Birden fazla else – if yapısı, tek satırlık komutlar olduğunda şöyle kurulabilir: if ( bu mantıksal ifade doğruysa ) deyim ; else if (bu mantıksal ifade doğruysa) deyim ; else if (bu mantıksal ifade doğruysa) deyim ; else deyim ;

  22. Bloklu if – else if – else if (bu mantıksal ifade doğruysa ) { bu bloktaki komutları çalıştır; } else if (bu mantıksal ifade doğruysa ) { bu bloktaki komutları çalıştır; } else { bu bloktaki komutları çalıştır; }

  23. Örnek: Sayı Karşılaştırma

  24. Sınıf Çalışması • Meteoroloji Müdürlüğü, hava durumu raporlarının daha anlaşılabilir olması için, nem oranı değerlerinin insanların anlayabileceği hale getirmek için bir program istemektedir. • Kullanıcın girdiği 0 ve 100 arasındaki tamsayı nem oranı değerleri için ekrana şunları yazacaktır. • %20 veya aşağısı "Çok Kuru" • %21 - %40: "Kuru" • %41 - %60: "Biraz Kuru" • %61 - %80: "Biraz Nemli" • %81 veya fazla: "Nemli“ • Kullanıcıya nem derecesi soran ve if/else yapısı içeren programı yazınız.

  25. Birleşik if deyimleri • C# derleyicisi else deyimini en yakın if deyimiyle eşler. Bu nedenle, program mantığını doğru kurmak ve {} parantezlerini kullanmak daha doğru olur. if (nem < 20) if (sicaklik <= 0) Console.WriteLine("Soğuk ve kuru bir gün.") if (ruzgar < 10) Console.WriteLine("Ne güzel, rüzgar yok"); else Console.WriteLine("nem düşük ve 0 dereceden yüksek"); else if (nem < 60) if (sicaklik <= 0) Console.WriteLine("soguk ve orta nemli."); else Console.WriteLine("0'dan büyük, orta nem oranı."); ?

  26. Birleşik if Deyimleri if (nem < 20) { if (sicaklik <= 0) { Console.WriteLine("Soğuk ve kuru bir gün.") if (ruzgar < 10) { Console.WriteLine("Ne güzel ki rüzgar yok"); } } else { Console.WriteLine("nem düşük ve 0 dan yüksek"); } } else if (nem < 60) { if (sicaklik <= 0) { Console.WriteLine("soguk ve orta nemli."); } else Console.WriteLine("0'dan büyük, orta nem oranı."); }

  27. switch – case yapısı Çok durumlu seçme yapısı

  28. switch - case • Bir algoritmada bir dizi işlem, bir değişkenin farklı değerlerine göre yapılacaksa, çoklu seçme yapısı kullanışlıdır. • Algoritmada, değişkenin alabileceği her farklı değer için farklı komut dizileri çalıştırılabilir. • C#dili, switch-case yapısı adı altında böyle bir yapı sunar.

  29. Yazım switch (sınama değeri ) { casesabit_değer1 : işlemler ; break; casesabit_değer2 : işlemler ; break; case sabit_değer3 : işlemler ; break; default : işlemler ; break; }

  30. switch - case • switchkelimesi, yapının başlangıcını belirler. • switch bölümünden sonra bir değişken yazılmalıdır. • Değişkenin tipi karakter veya numerik olabilir. • case bölümünde, sabit değerler olmalıdır. Burada ifade bulunmaz. • case bölümleri break ifadesi ile bitirilmelidir. • case'den sonra { } işaretlerine gerek yoktur.

  31. Sınıf Alıştırması • Ekrandan, öğrencinin aldığı harf notunu (tek harf) okuyan bir program yazınız. Eğer • A: "Çok güzel" • B: "Güzel" • C: "Fena Değil" • D: "İyi değil" • F: "Çok kötü"

  32. Alıştırma • Meteoroloji Müdürlüğü, hava durumu raporlarının daha anlaşılabilir olması için, nem oranı değerlerinin insanların anlayabileceği hale getirmek için bir program istemektedir. • Kullanıcın girdiği 0 ve 100 arasındaki tamsayı nem oranı değerleri için ekrana şunları yazacaktır. • %20 veya aşağısı "Çok Kuru" • %21 - %40: "Kuru" • %41 - %60: "Biraz Kuru" • %61 - %80: "Biraz Nemli" • %81 veya fazla: "Nemli“ • Kullanıcıya nem derecesi soran ve switch / case yapısı içeren programı yazınız.

  33. Switch – Case Hakkında Notlar • switch parantezleri içinde double,decimal tipinde değişken kullanılmaz. • case etiketinden sonra istenen sayıda deyim satırı bulunabilir. • Her zaman default: bölümünü kullanmanız program yazarken hataları bulabilmenizi sağlar. • En çok rastlanan hata break; deyiminin unutulmasıdır. Switch yapısı kurulduktan sonra break'lerin doğru yerlerde olup olmadığını kontrol ediniz.

  34. Döngüler while, do-while, for döngüleri

  35. Tekrar Yapıları • Tekrar yapıları, kod bloklarının tekrar işletilmesini sağlar. • Tekrar yapısı içindeki kod bloğunun tekrar edilip edilmeyeceği mantıksal bir ifadenin sonucuna göre karar verilir. Eğer yanlışsa, kod bloğu tekrar edilmez. • Kodun belirli bir sayıda tekrar edilmesini sağlayan for döngüsü gibi, belirsiz sayıda tekrar edilmesini sağlayan while veya do-while döngüleri de bulunur.

  36. Tekrar Yapıları • for ve while döngüleri, mantıksal ifadenin en başta sınandığı yapılardır. Mantıksal ifade doğruysa, döngüye girilir yoksa döngüden çıkılır. • do-whiledöngüsü, tekrar bloğunun en sonunda sınamanın yapıldığı yapılardır. Kod bloğunu bir kez işletir ve bir kez daha tekrarlanabileceği konusunda mantıksal ifadenin sonucuna bakılır.

  37. while döngüsü • Kullanımı iki türlüdür: while ( mantıksal ifade doğru ) ifade ; while (mantıksal ifade doğru) { ifade ; ifade ; }

  38. Örnek

  39. do-while döngüsü do statement; while ( mantıksal ifade doğru ); do { ifade ; ifade ; } while ( mantıksal ifade doğru) ;

  40. Örnek

  41. for Döngüsü • başlatma deyimleri döngü başlamadan önce çalışan komutlardır. Birden fazla sayıda olabilir. Bu durumda, her deyim arasına "," (virgül) konulur. • düzeltmeler, döngünün sonunda çalıştırılan işlemlerdir. Birden fazla olabilir ve aralarına "," (virgül) konulur. İşletim sırası soldan sağadır. • Döngünün sonunda düzeltmeler yapıldıktan sonra, mantıksal deyim true değerini verirse, döngüye devam edilir. Yoksa döngüden çıkılır. for( başlatma deyimleri;mantıksal deyim;düzeltmeler) { deyim; }

  42. for Döngüsü • for (deyim1; deyim2 ; deyim3) • { • ifadeler ; • } • deyim1, for döngüsünün en başındaki ilk durumu belirler. Matematiksel bir işlem olabildiği gibi birbirinden virgüllerle ayrılmış pek çok işlem de olabilir. Döngü • işletilmeden önce bir kez çalıştırılır.

  43. for Döngüsü • for (deyim1 ;deyim2; deyim3) • { • ifadeler ; • } • deyim2, doğru yada yanlış değerini döndüren mantıksal bir işlemdir. deyim1 içinde değişen değişkenlerden biri olmasına gerek yoktur.

  44. for Döngüsü • for (deyim1 ; deyim2 ;deyim3) • { • ifadeler ; • } • deyim3, durumdaki değişikliği sağlayan işlemdir. Birden fazla işlem birbirinden virgülle ayrılabilir.deyim1vedeyim2'de kullanılan değişkenlerle ilgisi olmayabilir.

  45. Örnekler for (int sayac = 1 ; sayac <= 10; sayac++) { Console.WriteLine(sayac.ToString()); }

  46. Örnekler int sayac = 1; for (; sayac <= 10;) { Console.WriteLine(sayac.ToString()); sayac++; } int sayac = 1; for (;;) { Console.WriteLine(sayac.ToString()); sayac++; if (sayac>10) break; }

  47. Notlar • for yapısı içindeki deyim1, deyim2, ve deyim3 boş bırakılabilir. Ama noktalı virgüllerin tutulması gereklidir. • deyim1'in ve deyim3'ün yazılmaması for döngüsünün while döngüsü olarak davranmasını sağlar. • deyim2'yi yazmadan, döngünün ne zaman biteceği bulunamaz. Bu durumda, break komutuyla döngünün dışına çıkılabilir. • Döngüde deyim1 ve deyim3 birden fazla ifade içerebilir. Bunlar kullanılarak program basitleştirilebilir.

  48. for while deyim1 ; while ( deyim2 ) { ifadeler ; deyim3 ; } Her iki örnek de birbirinin aynısı şekilde çalışır. for ( deyim1 ; deyim2; deyim3 ) { ifadeler ; }

  49. Örnek int sayac ; for(sayac = 0 ; sayac <= 10 ; sayac++) { Console.WriteLine(“Sayaç değeri:”+sayac.ToString()); } int sayac ; sayac = 1 ; while ( sayac <= 10 ) { Console.WriteLine(“Sayaç değeri:”+sayac.ToString()); sayac++ ; }

More Related