
Merbalar bu dersimizde program if – else akışlarından bahsedeceğiz . Daha önce yaptığımız uygulamalarda kullanıcıdan bilgileri alarak gelen bilgilerin bizi yönlendireceği herhangi bir yol bulunmuyordu . Sadece adı soyadı ile ilgili kullanıcının merhaba ile birlikte yazdık .
İf Else Akışları Nedir ?
Kurallar dahilinde veriler aldığınızda kullanıcıdan alınan bilgileri değerlendiren bir program akışını düzenlemek isterseniz ve çoklu verilerle uğraşıyorsanız if else sizin yazdığınız programın kullarını oluşturmakta birebirdir . Mesela bir text girişinde programınızın eksi değerler girilmemesini istiyorsanız bunu kullanırsınız .
Diğer bir şekilde bazı veri aralıklarında bu akışı kullanmanız mümkündür . Programın düzenini sağlayan bu komut akışı verilen verileri inceler eğer istenen koşul sağlanmışsa başka bir yolda ilerleme sağlanır . Yanlış ise başka bir yolda akışa devam eder.
Blok diyagramı şeklinde göstermek gerekirse “if-else” yapısı sıradan diğer programlarda olduğu gibi bir işleyişe sahiptir . Aşağıdaki diyagramı incelemeniz akışı anlamanıza yardımcı olabilir .
Bu blok diyagramında gösterilen tüm önergeler yandaki kod gösterimin gerçek davranış biçimidir .
Örneğin okul puan sisteminde 0-100 arasında puanlama olduğu için siz 100’ün üstünde bir değer girdiğinizde program bunu kabul etmeyecektir . Ama siz 0-100 arasında bir değer girdiğinizde program sizin verdiğiniz değerin kural mekanizmasına uyduğunu tespit eder ve değeri kabul edecektir .
Anlatımın pekişmesi açısında size anlatmak gerekirse aşağıdaki uygulamayı Visual Studio’da gerçekleştirebilirsiniz .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
//Not Örneği class Program { static void Main(string[] args) { Console.Write("Aldığınız notu giriniz: "); // not girdisinin istenmesi int not = int.Parse(Console.ReadLine()); // not girdisinin okunup int değişkenine çevrilme işlemi Console.Write("Adınızı giriniz: "); // Ad bilgisinin istenmesi string isim = Console.ReadLine(); // Normalde okunan her değer string değişkenidir // Bu sebeple string değerine dönüştürmek gereksizdir if (not<0) // Burada not koşulunu giriyoruz { Console.WriteLine("Notunuz negatif olamaz!"); // burada da koşul dahilinde girilen nota göre değerlendirme } else if (not>100) // diğer koşulumuz { Console.WriteLine("Notunuz 100 üzerinde olamaz"); // koşula göre değerlendirme } else // Koşullar dışında kalan tüm değerler { if (not > 0 && not < 50) // Koşul içinde oluşturulan koşul { Console.WriteLine("Düşük bir not aldınız"); // Burada nota göre kısa bir değerlendirme yazdık . } Console.WriteLine("Merhabalar {0} \n Notunuz: {1}",isim,not); // Sonuç } Console.WriteLine("Çıkmak için bir tuşa basın!"); Console.Read(); } } |
Örneğimizde if else akışının değerlendirmeleri ve koşulları ile anlatıldı .
Daha detaylı bir uygulama yaparsak akılda kalma açısında size yardımcı olabilir . Bunun için alt kısımda verilen uygulamayı birebir yapmanızı öneririm .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
//if-else Akışları static void Main(string[] args) { Console.Write("1. Yazılı notu giriniz: "); // Girlmesini istediğimiz değerin istenmesi int not1 = int.Parse(Console.ReadLine()); // Değer okuma ve sayısal değere çevirme if (not1<0 || not1>100) // Şartımız { Console.WriteLine("Yanlış bir değer girdiniz!"); // Şart gerçekleşmesi durumunda bunu yapar return; // Programı kapatır } Console.WriteLine("2.Yazılı notu giriniz: "); // Girilmesini istedğimiz değer int not2 = int.Parse(Console.ReadLine()); // Değerin okunup sayısal değer çevrilmesi if (not2 < 0 || not2 > 100) // Şart { Console.WriteLine("Yanlış bir değer girdiniz!"); // Şart gerçekleşmesi durumunda bunu yaz return; // programı kapat } double ort = ((not1 * 0.4) + (not2 * 0.6)) / 2; // bu işlem sonucunda oluşan değer double değeridir . if (ort>0 && 50>ort) // Şart { Console.WriteLine("Başarısız!"); // Şart gerçekleşmesi durumunda bunu yaz } else if (ort>50 && ort<70 ) //"else if" başka bir if demek yani başka şart { Console.WriteLine("Başarılı!"); // Şartın olması durumunda bunu yaz } else { Console.WriteLine("Çok Başarılı"); // kapanış kısımı } Console.WriteLine("Çıkmak için bir tuşa basın!"); // kapanış kısmı Console.Read(); } |
Yukarıda verilen iki not girişinin değerinin negatif olması durumunda karşı çıkan ve “return” deyip bırakan ve aynı zamanda ortalamaya göre muhasebe yapan bir program yaptık . Burada kullanılan minik operatörler daha önce de bahsettiğimiz lojik operatörlere benzerdir .
|| : Veya demektir .
&& : Ve demektir .
Bu iki operatör kullanarak haddinden fazla koşul ile uğraşmak zorunda kalmazsınız . İstediğiniz kadar kullanabilirsiniz bu tür operatörleri .
İf else program geliştiricileri tarafından kullanılan işlek bir akış sistemidir . Bunu öğrenmek ileride sizin iş veya hobi deneyimlerinizde kolaylık sağlayacaktır .
İf else için örnekler çoğaltıp kendinizi deneyebilirsiniz . İşin kolaylaştığını göreceksiniz . İf else için buraya kadar :). Aklınıza takılan herhangi bir soru olması durumunda yorum kısmında sorularınızı iletebilirsiniz .
Bunun yanında dersle alakalı değerlendirmeleriniz ve eleştirilerinizi de yapabilirsiniz . Bir dahaki derste switch- case akışlarını inceleyeceğiz . Sizi bekliyorum bir dahaki derste görüşmek üzere . Sağlıcakla kalın .
Başlangıç seviyesindeki kişiler için güzel bir anlatım ve kaynak olmuş. Ellerinize sağlık.
Teşekkürler . Zamanla daha karmaşık algoritmalara geçmeyi düşünüyorum .
Lt ve gt …. Gibi kısaltmaları daha açabilirmisin?
Web sitesinde bulunan kod yayınlama eklentisinde güncelleme olduğunda bazen bu hatalar ile karşılaşabiliyoruz.
Gerekli düzenlemeler yapıldı .
İlginiz için teşekkürler .