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

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Advertisements

OPERATÖRLER.
PHP ile Lab Örnekleri Lab Çalışması.
Değişken , Veri Türleri ve Operatörler
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
mantIKSAL OPERATÖRLER
Değişkenler ve bellek Değişkenler
JavaScript Birinci Hafta.
OPERATÖRLER Programlama dillerinde tanımlanmış sabit ve değişkenler üzerinde işlemler yapmayı sağlayan karakter ya da karakter topluluklarına operatör.
Yrd.Doç.Dr.Levent Malgaca,2010
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Seçme Komutları: if if (koşul1) { <koşul1 komutları> }
Bölüm 4 – Kontrol İfadeleri:1.kısım
4 Kontrol Yapıları: 1.Bölüm.
Bölüm 2: Program Denetimi
EDUTIME Java Day 4 Serdar TÜRKEL.
KOŞUL İFADELERİ GMGNKJG.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Karar ifadeleri ve Döngüler
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Operatörler.
Bölüm 3 – Yapısal Programlama
T-SQL-2.Konu Akış Kontrolleri.
Yapısal Program Geliştirme – if, if-else
OPERATÖRLER.
 2006 Pearson Education, Inc. All rights reserved. Görsel C# ile Windows Programlama Güz 2009 (5. Hafta)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
MANTIKSAL OPERATÖRLER
Operatörler ve Denetim Yapıları
Formüller Mustafa AÇIKKAR.
ŞART İFADELERİ.
C ile Programlamaya Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Bölüm 2 – Kontrol Yapıları
Koşul İfadeleri ve Akış Kontrolü Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini.
Akış Kontrol Mekanizmaları
Kontrol Yapıları ve Döngüler
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
DEĞİŞKENLER VE VERİ TİPLERİ
 2006 Pearson Education, Inc. All rights reserved Kontrol İfadeleri: 2. Bölüm.
Chapter 4: Making Decisions
Çoklu dallanma seçimi: switch
~KOŞUL İFADELERİ~.
BİL 102 BİLGİSAYAR PROGRAMLAMA
C# Veri Tipleri ve Değişkenler
DEYİMLER DEYİM NEDİR? Kaç guruba ayrılır? İf deyimi nasıl çalışır?
PROGRAM DENETİM DEYİMLERİ
String class String karakterler dizisidir
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Görsel C# ile Windows Programlama
TEMEL php Dersleri - Ders 1 Değişgenler
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
2. HAFTA 2. Hafta.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
Adım Adım Algoritma.
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
BÖLÜM 3 AKIŞ DİYAGRAMI.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
İnternet Programlama - 2
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
METHODLAR VE KOŞULLAR.
ACTIONSCRIPT TEMELLER İ SAVAŞ TUNÇER
Excel’de VBA Programlama (Visual Basic Application)
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Bilgisayar Programlamasına ve Veri Analizine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Java İle Programlamaya GİRİş
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

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. mantıksal ifadeler doğru veya yanlış değerini alan mantıksal "formüllerdir". “bool” anahtar kelimesi ile tanımlanır. bool bVal = true;

Örnek

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  <, >, <=, >=

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

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

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

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

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

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

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

Örnek

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.

Denetim Yapıları

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.

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. if ve else'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/else yapısı, birden fazla durumu kontrol eder.

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

Örnek

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!!!!

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) else

Ç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 ) else

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 ) else

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

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.

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) Console.WriteLine("soguk ve orta nemli."); Console.WriteLine("0'dan büyük, orta nem oranı."); ?

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) { Console.WriteLine("soguk ve orta nemli."); else Console.WriteLine("0'dan büyük, orta nem oranı.");

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

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.

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

switch - case switch kelimesi, 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.

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ü"

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.

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.

while, do-while, for döngüleri

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.

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-while dö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.

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 ; }

Örnek

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

Örnek

for Döngüsü for( başlatma deyimleri;mantıksal deyim;düzeltmeler) { } 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 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.

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.

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. deyim1 ve deyim2'de kullanılan değişkenlerle ilgisi olmayabilir.

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

Ö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; }

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.

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

Ö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++ ; }

Örnek static void main ( ) { int k, n ; for( k = 1, n = 12 ; k<9 && n>6 ; k++, n--) Console.WriteLine ("k= “ + k + “ n= “ + n) ; } Birbirinden virgülle ayrılmış ifadeler, her bölümde yer alabilir. Birbirinden virgülle ayrılmış ifadeler, her bölümde yer alabilir.

Alıştırma 0'dan 100'e kadar rassal sayı tutan ve bu sayıyı kullanıcının tahmin edeceği bir program yazınız. Kullanıcı, bir sayı girdikten sonra, bu sayının, tutulan sayıdan küçük yada büyük olduğunu söyleyecektir. Eğer girilen ve tutulan sayı eşitse, program tebrikler diyerek döngüden çıkacaktır.

Algoritma tutulan = 0 ve 100 arası rassal bir sayı tut while(true) { yaz "Tahmininizi, yazınız" oku tahmin if (tahmin eşittir tutulan) döngüden çık else if(tahmin küçüktür tutulan) yaz "küçük" else yaz "büyük" }

Çözüm

Döngüden Çıkış break anahtar kelimesi döngü yapısından çıkış için kullanılabilir. break iç taraftaki döngüden çıkış için kullanılabilir. continue, bulunulan yerden döngünün sonuna gitmek için kullanılır. Her iki anahtar kelime, algoritmaların uygulanmasında çokça kullanılır.

break: döngüden çıkış Aşağıdaki programda, x'in değeri 5 olduğunda döngüden çıkılmaktadır. int x = 0; for( ; ; ) { /* sonsuz döngü */ if(x == 5) break; Console.WriteLine(x.ToString()); x++; }

continue: döngüye devam Aşağıdaki program, 5 dışında 0'dan 9'a kadar olan bütün sayıları yazmaktadır. int x; for( x = 0; x < 10 ; x++) { if(x == 5) continue; Console.WriteLine(“X = “+ x); }

continue for( x = 0; x < 10 ; x++) { if(x == 5) continue; Console.WriteLine(x.ToString()); } Her iki program da aynı şekilde çalışmaktadır. for( x = 0; x < 10 ; x++) { if(x != 5) { Console.WriteLine(x.ToString()); }

Örnek: İç İçe For Döngüleri