Program AkıĢ Kontrol Yapıları



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

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.

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

Program Akış Kontrol Yapıları

Program akıģı sırasında belirtilen satır numaralı yere gitmek için kullanılır. Genel formu: [<satır numarası>] GOTO <satır numarası 1> GOTO n

Bölüm 4 C de Program Kontrolü

Akış Kontrol Mekanizmaları

BİL-142 Bilgisayar Programlama II

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

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

ALGORİTMA VE PROGRAMLAMA I

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

YUVARLAMA FONKSİYONLARI

HSancak Nesne Tabanlı Programlama I Ders Notları

PROGRAMLAMA DİLLERİ I

ALGORİTMA VE PROGRAMLAMA I

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

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir:

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

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

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

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

Hafta 4 Döngü Yapıları

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

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

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

KONTROL YAPILARI (CONTROL STRUCTURES)

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

BĠLĠġĠM TEKNOLOJĠLERĠ

İç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

BMT 101 Algoritma ve Programlama I 8. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BİLGİSAYAR PROGRAMLAMA

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

Java da Program Denetimi ve Operatörler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

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

Bölüm 3 Yapısal Programlama

ALGORİTMA VE PROGRAMLAMA I

Internet Programming II

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

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

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

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

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

Nesne Yönelimli Programlama

Algoritmalar ve Programlama. Algoritma

Hansel zeki bir çocukmuģ. Sabah ormana doğru yürürlerken, akģam yemeğinde cebine sakladığı kuru ekmeğin kırıntılarını (yere iz bırakıp kaybolmamak ve

YZM 2105 Nesneye Yönelik Programlama

MAT213 Bilgisayar Programlama I

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

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

BĠLĠġĠM TEKNOLOJĠLERĠ

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

BLM 111 ALGORİTMA VE PROGRAMLAMA I

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

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

PROGRAMLAMA ALGORĠTMA

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

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

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

BİLGİSAYAR PROGRAMLAMA DERSİ

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

Programlama Dilleri 3

ALGORĠTMALAR VE PROG. GĠRĠġ

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

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

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

Nesne Tabanlı Programlama

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

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

Algoritma ve Akış Şemaları

Programlama Dili Prensipleri. Lab Notları 4

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

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

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

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

M.ilkucar MAKU MYO 1

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

BİLGİSAYAR PROGRAMLAMA

5- AKIŞ DİYAGRAMLARI (FLOW- CHART) M.İLKUÇAR - 1

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

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.

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

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

Döngü ve Koşul Deyimleri

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Döngüler. 1.1 while döngüsü

Akış Konrol Mekanizmaları

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

Transkript:

C PROGRAMLAMA

Program AkıĢ Kontrol Yapıları Normal Ģartlarda C dilinde bir programın çalıģması, komutların yukarıdan aģağıya doğru ve sırasıyla iģletilmesiyle gerçekleģtirilir. Ancak bazen problemin çözümü, bir yada birden fazla koģula bağlı olarak, yapılacak iģ yada iģlem adımlarına karar vermek suretiyle gerçekleģtirilebilir. C dilinde bu amaçla kullanılan üç farklı koģul (ġart) komutu bulunmaktadır. if deyimi?: üçlü Ģart operatörü (ternary conditional) switch çoklu seçim deyimi (multiply selection stetement)

if Deyimi Verilen durum yada koģula göre istenilen iģlem yada iģlemleri gerçekleģtirmek için kullanılır. DeğiĢik kullanım biçimleri vardır. Tek alternatifli if; Bu durumda koģulun sonucu DOĞRU (true), baģka bir deyiģle EVET ise; koģuldan hemen sonra gelen komut1 satırı veya satırları çalıģır. KoĢulun sonucu YANLIġ (false), yani HAYIR ise; IF komutundan sonra gelen komut2 satırı çalıģtırılır. KoĢul doğru olduğunda birden fazla komut satırı çalıģacaksa bu komutlar blok { - } içinde yazılmalıdır.

if Deyimi İki alternatifli if; Bu durumda koģul doğru ise komut1 satırı veya satırları yanlıģ ise komut2 satırı veya satırları çalıģacaktır. Birden fazla komut satırları için blok iģareti { - } kullanılmalıdır.

if Deyimi - Örnek

?: Üçlü Ģart operatörü Bu operatör üç adet operand alır. C diline özgü bir operatördür. Genel kullanım biçimi Ģu Ģekildedir: operand1? operand2 : operand3 operand1 ifadesinin sonucu doğru (true) ise operand2, yanlıģ (false) ise operand3 çalıģtırılır. ortalama >= 60? printf( Geçti ) : printf( Kaldı );

Önemli bir nokta mantıksal iģlemleri gerçekleģtirirken dikkat edilemsi gereken önemli bir nokta vardır. Buda, mantıksal iģlemlerde 0 (sıfır) yanlıģı (false) ifade eder, sıfırdan farklı herhangi bir değer doğruyu (true) ifade etmesidir. Bu durumda aģağıdaki kodun çıktısı ne olur?

switch çoklu seçim deyimi Bu deyim verilen ifadenin değerine göre verilen komut yada komut satırlarını çalıģtırır. Verilen ifadenin değerinin sıralı giden (ordinal) olması gerekir. Bu ifade için kullanılacak değiģken tipleri int ve char olabilir, float yada double gibi ondalık değerler olamaz. switch sözcüğünün yanındaki Ġfadenin değeri, blok içindeki case sözcüklerinin yanında verilen değerlerden hangisine uyuyorsa o satırdaki komut yada komutlar çalıģtırılır.

Switch örnek program Görüldüğü üzere bu kodda bir problem var?

Switch örnek program Bir önceki kodda break sözcüğü yazılmadığı için program, uygun case sözcüğündeki komutu çalıştırdıktan sonra, sırayla geri kalan tüm komutları da çalıştırmıştı. Burda ise her bir case sözcüğüne break ifadesini ekledik. Bu sayede program uygun case sözcüğündeki komutu çalıştırdı ve switc bloğu sonlandı.

Döngüler (Loops) Algoritma içerisinde gerçekleģtirilen belli adımların tekrarlanması sonucu problem çözümüne gidilebilir. Döngüler sayesinde geliģtirilen program içerisinde gereksiz kod satırlarının giderilmesi sağlanır. Ġyi bir algoritma problemi olabilecek en kısa adımda ve en etkili biçimde çözebilendir. Örneğin programcının adını ekrana 10 kere yazan bir program düģünelim. ġimdiye kadar öğrendiğimiz verilerle bu iģlemi yandaki gibi gerçekleģtirebiliriz. Fakat böyle bir iģlemin 100 kere yada daha fazla tekrarla yapılması istendiğinde ne olacak? Bu durumda döngüler bize yardımcı olacak

Sayaç kontrollü döngüler Yapılacak tekrar miktarının bilindiği durumlarda döngü bir sayaç kullanılarak tasarlanabilir. Sayaç aslında tekrar edilme iģleminin ne kadar yapıldığını tutan bir değiģkendir. Böyle sayaç kontrollü bir döngüde olması gereken temel öğeler Ģunlardır. Döngüde bir sayaç değiģkeni olmalıdır. Bu değiģken döngü sayacı olarak bilinir. Döngü sayacına bir atama ifadesiyle ilk değer verilir. Döngü sayacının değerinin sınır değere gelip gelmediği kontrol edilir Döngünün gövdesinin her çalıģmasından sonra, sayacın değeri bir artırma yada eksiltme iģlemi ile değiģtirilir.

Sayaç kontrollü döngüler ġimdi programcının adını ekrana 10 kere yazdıran programı döngülerle tekrar gerçekleģtirelim. Görüldüğü gibi döngüler sayesinde printf() fonksiyonunu bir sefer kullanarak programcının ismini ekrana 10 kere yazdırabildik. Artık bu iģlemi 100 kerede tekrarlasak 1000 kerede tekrarlasak mevcut kod satırı sayısında bir değiģiklik olmayacak. goto komutu programın yapısallığını ve okunabilirliğini azalttığı için programlamada pek tavsiye edilmez.

While döngüsü Döngü oluģturmanın C dilinde bir çok yolu vardır. Bunlardan en basiti while döngüsüdür.

Gözcü kontrollü döngüler (sentinel controlled loops) ÇalıĢtırılması gereken adımların tekrar sayısının bilinmediği problemlerde program, kullanıcının dıģarıdan belli bir değer veya değer gurubundan birini girdi olarak vermesiyle ya da program içerisinde üretilen belli bir değere göre sonlandırılır. Bu değer yada değerlere gözcü değeri (sentinel value) adı verilir.

Gözcü kontrollü döngüler Burada kaç adet not girileceği belirtilmemiģtir. Kullanıcı isterse 4 nottan sonra -1, isterse de 100 nottan sonra -1 girebilir. Bu amaçla girilen not değeri, gözcü değeri ile kontrol edilir. Bu çözümde sınav notu olamayacak bir değer olan -1, kontrol değeri olarak seçilmiģtir.

for döngüsü for döngüsü özellikle tekrar edilen iģlemlerin sayısı belli olduğunda kullanılan baģka bir döngü yapısıdır. Bu tür durumlarda while deyiminden daha uygundur. Genel kullanım yapısı aģağıdaki gibidir. Döngü içerisinde birden fazla komut tekrar edilecekse komutlar blok içerisine alınmalıdır. Programcının ismini ekrana 10 kez yazan programın for döngüsü ile yapılan versiyonu

do while döngüsü while döngüsü yapısına benzer. while döngüsünde koģul en baģta kontrol edilir ve koģul sağlanmazsa döngü içine hiç girilmez. do-while döngüsünde ise koģul en sonda kontrol edilir ve koģul sağlanmazsa bile en az bir kez döngü içine girilir. Genel kullanım Ģekli aģağıdaki gibidir.

Ġç-içe Döngüler (Nested Loops) Bir döngü içerisinde baģka bir döngü bulunuyorsa, bu tür yapılara iç-içe döngüler denir. Bu durumda içteki döngü dıģtaki döngünün her adımında yeniden çalıģtırılacaktır. DıĢtaki döngü 4 kere tekrarlanacaktır. Ġçteki döngü de dıģtaki döngünün her tekrar ediliģinde 3 kere tekrar edilecektir. Böylece içteki döngünün gövdesini oluģturan atama ifadesi 12 kere tekrar edilmiģ olacaktır. DıĢtaki for döngüsünden çıkıldığında, n değiģkeni içerisindeki değer 12 olacaktır.

break break Deyimi Bu komut daha önce switch case yapısında kullanılmıģtı. Döngü içinde kullanılan break komutunun amacı, çalıģtığı anda döngüyü sonlandırarak döngü dıģına çıkılmasını sağlamaktır. Programın iģleyiģi döngünün dıģındaki ilk komuttan devam eder.

continue continue Deyimi Döngü içinde kullanılan bu komutun amacı çalıģtığı anda döngü içindeki geri kalan komutları iģletmeden döngü baģı yapılmasını sağlamaktır. Programın iģleyiģi döngü içindeki bu komuttan sonra verilen tüm ifadeler atlanarak döngü baģına yönlendirilir.