if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Benzer belgeler
KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

Akış Kontrol Mekanizmaları

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

ALGORİTMA VE PROGRAMLAMA I

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları

Programlama Dili Prensipleri. Lab Notları 4

Java da Program Denetimi ve Operatörler

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde )

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

Programlama Dilleri 3

Internet Programming II

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

BİL-142 Bilgisayar Programlama II

Nesne Yönelimli Programlama

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

MAT213 Bilgisayar Programlama I

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Nesne Tabanlı Programlama

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

Döngü yapıları, (for, do while, while),

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Karşılaştırma İşlemleri ve Koşullu İfadeler

Program AkıĢ Kontrol Yapıları

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

Python Programlama Dili

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Nesne Tabanlı Programlama

ALGORİTMA VE PROGRAMLAMA I

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Akış Konrol Mekanizmaları

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

PROGRAMLAMA DİLLERİ I

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Lambda İfadeleri (Lambda Expressions)

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Bölüm 3 Yapısal Programlama

Aritmetik Operatörler, Math Sınıfı ve Program Akış Komutları

BÖLÜM 4 KONTROL DEYİMLERİ

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Bölüm 4 C de Program Kontrolü

Algoritma ve Programlama: Karar Yapıları ve Döngüler

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Program Akış Kontrol Yapıları

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

ALGORİTMA VE PROGRAMLAMA I

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER KARAR KONTROL DEYİMLERİ

Algoritma ve Programlamaya Giriş

C# Çalışma Örnekleri

C Dersleri Bölüm 3 : Program akışı

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Java da İşleçler, Ders #3 (4 Kasım 2009)

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ

/*int sayi1, sayi2,toplam=0;

Main() Fonksiyonu. Main () Fonksiyonu. int main() İfadeler. Return ;

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Döngü Problemleri. 1. Aşağıdaki programın çıktısı nedir? continue yerine break yazılırsa çıktı ne olur? Neden? Program 1.1.

Algoritmalar ve Programlama. Algoritma

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

M.ilkucar MAKU MYO 1

HSancak Nesne Tabanlı Programlama I Ders Notları

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

BİLGİSAYAR PROGRAMLAMA DERSİ

1. PL/SQL de kontrol yapıları

Transkript:

Koşul İfadeleri ve Akış Kontrolü Koşul ifadeleri ve akış kontrolleri programlama dillerinde her zaman en önemli yeri tutmaktadır. Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir akış kontrolü oluşturabilmek için koşul ifadelerini iyi bilmemiz gerekir. Tüm programlama dillerinde olduğu gibi en temel koşul ifadesi if bloklarıdır. if Bloğu if yapısı uygulamalarımızda sık sık kullandığımız ve kullanmak zorunda olduğumuz bir yapıdır. Programlamayı if blokları olmadan düşünmek imkansızdır. Koşul ifadeleri uygulamalarımızda bir karar verme mekanizması gibi davranır. if(bool bir ifade) Doğru ise Yanlış ise if ifadesinin yapısı yukarıdaki gibidir. Bir durum if içerisinde karşılaştırılır eğer koşul doğru ise if altına yazdığımız blok kod veya tek bir satır kod çalışır, koşul yanlış ise bloğuna tanımladığımız kod kısmı çalışır. Else kısmını yazmak zorunda değiliz. Eğer yazmaksak ve koşulda yanlış ise if bloğu içine giremeyeceği için herhangi bir işlem yapılmadan bir sonraki kısma geçerek kodumuz akmaya devam eder. Yukarıda göründüğü gibi yazmadan da karşılaştırma yapabiliriz. Eğer ad Sabri ise if içindeki kod çalışır değilse bir sonraki aşamaya geçerek kodumuz çalışmaya devam eder. Yukarıdaki kodun ile kullanımı ise aşağıdaki gibidir. Console.WriteLine("Sende Kimsin..."); Eğer if ve blokları içinde birden fazla satır kod yazmak istiyorsanız ifadelerini kullanmanız gerekir. gelenkisi = ad; gelenkisi = "İzinsiz"; Her zaman parantezlerini kullanmanızı tavsiye ederim. Kodunuzun okunurluluğunu arttırdığı gibi hata yapmanızı da engeller. if ifadesini isterseniz bloklarında da kullanabilirsiniz. Böylece karşılaştırma kriterinizi genişletmiş olursunuz. gelenkisi = ad;

if (ad == "Metin") gelenkisi = ad; Console.WriteLine("Vaaaay Sen Ha..."); gelenkisi = "İzinsiz"; Console.WriteLine("Sende Kimsin..."); if bloklarını iç içe de kullanabilirsiniz. if (yas > 25) if (yas == 26) Console.WriteLine("Sınırda Geziyosun..."); Console.WriteLine("Yaş Kemale Ermiş Gibi..."); Console.WriteLine("Daha Gençsin Ya..."); if içerisine C/C++ dan farklı olarak sadece koşul ifadesi olarak boolean ifadeler yazılabilir. Aşağıdaki gibi bir ifade yanlıştır. Eğer j eşit midir 4 demek istiyorsanız iki eşittir kullanarak yazmanız gerekir. Bir önceki dersimizdeki operatörlere bakmanızı tavsiye ederim. if (j = 4) // Hata Verir. j=4 ifadesi j değişkenine 4 sayısını atamak demektir. // yani boolean bir ifade değildir. j==4 ise j 4 eşitmi demektir. switch case İfadesi Karşılaştırma yapacağınız ifadenin alabileceği değerler fazla ise çok fazla if if ifadesi yazmak yerine karşılaştırmamızı swtich case yapısını kullanarak oluşturmamız hem kodumuzun okunurluluğu arttırır hem de daha hızlı kod yazmamızı sağlar. switch (değişken) case sabit değer : kod bloğu; case sabit değer : kod bloğu; default: kod bloğu; swich case kullanımı ard arda yazılacak if.. bloklarını kullanmaktan daha kolaydır. Basit bir örnekle daha iyi anlayabiliriz. Console.WriteLine("Lütfen Yaşınızı Giriniz"); int yas; yas = Convert.ToInt32(Console.ReadLine()); switch (yas)

case 20: Console.WriteLine("Genç Adam Merhaba"); case 25: Console.WriteLine("Merhaba Deli Kanlı"); case 35: Console.WriteLine("Merhaba Dayı"); default: Console.WriteLine("Merhaba"); Yukarıdaki kodu inceleyecek olursak; switch() içerisine karşılaştırma yapacağımız değişkeni koyuyoruz. Kontrol edeceğimiz tüm değerleri için farklı bir case bloğu yazıyoruz. Her case bloğunun break le bittiğine dikkat edin. C# break kullanmadan swtch case yazmanıza izin vermez. çalıştığı zaman bulunduğu kod bloğundan çıkış yapılmasını sağlar. Case bloklarından hiç birisi çalışmazsa örneğin örnekte yaş 20,25 veya 35 den hiç biri değilse default satırına yazdığımız kod çalışır. C# da Döngülerin Kullanımı Bir kod bloğunun belirli şartlara bağlı veya bağımsız olarak ardışık olarak çalıştırılması için döngüler kullanılır. for Döngüsü En temel döngü yapısı for döngüsüdür. C# da for döngüsü kullanımı C/C++ ve Javada ki gibidir. Basit bir for döngüsünün yapısı aşağıdaki gibidir. for (başlangıç; koşul; artım / azalım) //kod bloğu Sıfırdan dokuza kadar olan sayıları konsol ekranına yazan basit bir for döngüsü yapalım. for (int i = 0; i < 10; i++) Console.WriteLine("Döngüde i değeri şuan : 0",i); Yukarıdaki for döngüsü sonucu ekran çıktısı aşağıdaki gibi olur. Döngüde i değeri şuan : 0 Döngüde i değeri şuan : 1 Döngüde i değeri şuan : 2 Döngüde i değeri şuan : 3 Döngüde i değeri şuan : 4 Döngüde i değeri şuan : 5 Döngüde i değeri şuan : 6 Döngüde i değeri şuan : 7 Döngüde i değeri şuan : 8 Döngüde i değeri şuan : 9 Örnekte i değeri ilk olarak 0 dan başlar ve i++ ifadesine göre her döngüde bir değer

artar. i<10 ifadesi i değerinin 10 dan küçük olup olmadığını kontrol eder. Eğer 10 dan küçük ise döngü içine yazılan Console.WriteLine("Döngüde i değeri şuan : 0",i); kısmı çalışır. i değeri 10 olduğu zaman i<10 koşulu false değer üreterek döngümüzün sonlanmasına sebep olur. for Döngüsü Hakkında Önemli Noktalar for döngüsünde başlangıç, koşul ve artım/azalım olarak isimlendirdiğimiz kısımların üçü de opsiyoneldir. İstersek kullanmaya biliriz. Başlangıç değerini for döngüsünden önce setleyerek döngü içinde belirli kontrolleri yapabilir, istediğimiz zamanda break komutu ile döngüyü sonlandırabiliriz. Bu kontrolleri döngü içinde de yapmazsak sonsuz bir döngümüz olur. For döngüsü aşağıdaki gibi kullanılabilir. for (; ; ) for (; i < 10; i++) for (int i = 3; ; i--) for (; i < 5; ) for döngüsünü süslü parantez ler ile kullanmazsak for ifadesinden sonraki ilk satır döngü içinde çalıştırılır. Eğer döngü içinde birden fazla satır kod çalıştırmak istiyorsan parantezlerini kullanmak zorundayız. Döngü içinde tek bir satır kod bile çalıştıracak olsanız süslü parantezleri kullanmanızı tavsiye ederim. Döngümüzü belli bir koşul altında sonlandırmak istiyorsak break komutunu kullanırız. for (int i = 0; i < 10; i++) if (i > 5) Console.WriteLine("Döngüde i değeri şuan : 0", i); Yukarıdaki kodda i değeri 5 den büyük olduğunda break komutu çalışarak döngünün sonlanmasına sebep olur. Ekran çıktısı aşağıdaki gibi olur. Döngüde i değeri şuan : 0 Döngüde i değeri şuan : 1 Döngüde i değeri şuan : 2 Döngüde i değeri şuan : 3 Döngüde i değeri şuan : 4 Döngüde i değeri şuan : 5 Belli bir koşul altında döngü içine yazdığımız kodların çalışmayarak bir sonraki döngü adımına geçmek istiyorsak continue komutunu kullanırız. for (int i = 0; i < 10; i++) if (i == 5) continue; Console.WriteLine("Döngüde i değeri şuan : 0", i);

i değeri 5 olduğu zaman continue komutu çalışarak döngüyü bir sonraki adıma taşır, bunun sonucu aşağıdaki ekran çıktısı oluşur. Döngüde i değeri şuan : 0 Döngüde i değeri şuan : 1 Döngüde i değeri şuan : 2 Döngüde i değeri şuan : 3 Döngüde i değeri şuan : 4 Döngüde i değeri şuan : 6 Döngüde i değeri şuan : 7 Döngüde i değeri şuan : 8 Döngüde i değeri şuan : 9 do while Döngüsü do while döngüsünün temel yapısı aşağıdaki gibidir. do // çalışacak kod while(koşul); Döngü içine yazılan kod ilk olarak çalışır daha sonra while kısmındaki koşul kontrol edilir, burada bulunan koşul true değer döndürdüğü sürece döngü tekrar tekrar çalışır. int i = 0; do Console.WriteLine("do while döngüsü içinde i değeri şuan: 0", i); i++; while (i<10); Ekran görüntüsü; do while döngüsü içinde i değeri şuan: 0 do while döngüsü içinde i değeri şuan: 1 do while döngüsü içinde i değeri şuan: 2 do while döngüsü içinde i değeri şuan: 3 do while döngüsü içinde i değeri şuan: 4 do while döngüsü içinde i değeri şuan: 5 do while döngüsü içinde i değeri şuan: 6 do while döngüsü içinde i değeri şuan: 7 do while döngüsü içinde i değeri şuan: 8 do while döngüsü içinde i değeri şuan: 9 do while döngüsü içine yazılan kod bloğu her zaman ilk seferde çalışır. while ifadesinden sonra noktalı virgül kullanılır. while Döngüsü

Hemen hemen do while döngüsü ile aynı özellikleri taşır. Sadece ilk çalışma mantıkları farklıdır. do while döngüsü ilk olarak kod bloğuna girer daha sonra koşul kontrol edilir, böylece koşul doğru olsada olmasada kod bloğu bir kez çalışır. while döngüsü ise kod bloğuna girmeden önce koşul durumunu kontrol eder, eğer koşul doğru değilse kod bloğu asla çalışmaz. Bu küçük ama çok önemli bir farktır. while döngüsünün yapısı while (koşul) //kod bloğu Koşul ifadesi doğru ise while içinde yazılan kod bloğu çalışır. koşul yanlış olduğu anda döngü sona erer. int sayac = 0; while (sayac<10) Console.WriteLine("Sayac Değeri: 0",sayac); sayac++; Döngüleri kullanarak basit bir örnek yapalım. Örneğin Ekrandan kullanıcı adını alalım. Kullanıcı adı bizim istediğimiz değer olana kadar kullanıcı adını istemeye devam edelim. Bizim istediğimiz kullanıcı adı yazıldığı zaman bir mesaj vererek döngüden çıkalım. Bu örneğimizi do while veya while döngüsü ile yapabiliriz. Biz örneğimize while döngüsü ile nasıl yapılacağını anlatacağız. string kullaniciadi = ""; while (kullaniciadi!= "Sabri") Console.WriteLine("Lütfen Kullanici Adını Yazınız."); kullaniciadi = Console.ReadLine(); Console.WriteLine("Hoşgeldin Sabri."); while içindeki koşul şartı kullaniciadi Sabri olmadığı sürece doğru değeri döndürür. Bu yüzdende Sabri ismi girilene kadar döngü sonlanmaz. Aynı işlemi aşağıdaki gibide yapabiliriz. string kullaniciadi = ""; while (true) Console.WriteLine("Lütfen Kullanici Adını Yazınız."); kullaniciadi = Console.ReadLine(); if (kullaniciadi == "Sabri") Console.WriteLine("Hoşgeldin Sabri."); Yukarıdaki kod örneğinde while içine direk olarak true değeri yazdık, böylece döngünün asla sonlanmamasını sağladık fakat döngü içinde if koşulu ile kullaniciadi kontrol ediliyor ve eğer Sabri olarak girilmişse break komutu ile döngüyü sonlandırıyoruz.