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

Benzer belgeler
Hafta 4 Döngü Yapıları

Hafta 5 Algoritma Örnekleri ve Analizi

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

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

Algoritma ve Programlamaya Giriş

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Yrd. Doç. Dr. Caner ÖZCAN

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Program AkıĢ Kontrol Yapıları

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

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

BİL-142 Bilgisayar Programlama II

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

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

BLG 1306 Temel Bilgisayar Programlama

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

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

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

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

Algoritmalar ve Programlama. Algoritma

Yrd. Doç. Dr. Caner ÖZCAN

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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.

Bölüm 3 Yapısal Programlama

BÖLÜM 2: ALGORİTMALAR

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Yrd. Doç. Dr. Caner ÖZCAN

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

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

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Yrd. Doç. Dr. Caner ÖZCAN

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü)

Algoritmanın Hazırlanması

ALGORİTMA VE PROGRAMLAMA I

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BİLGİSAYAR PROGRAMLAMA DERSİ

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

Hafta 11 Çok Boyutlu Diziler

Hafta 13 Fonksiyonlar


Hafta 12 Karakter Tutan Diziler

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

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

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA (ALGORITHM) M.İLKUÇAR -

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

ALGORİTMA VE PROGRAMLAMA I

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

Yrd. Doç. Dr. Caner ÖZCAN

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Akış Diyagramı)

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

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

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Bilgisayar Programlama. 1.Hafta

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

BÖLÜM 3: AKIŞ DİYAGRAMLARI

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

4- ALGORİTMA (ALGORITHM)

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

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

Fortran da kullanılan giriş çıkış komutları PRINT, WRITE ve READ dir.

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

Her zaman izlediğimiz yöntem örneklerle açıklamak olduğuna göre ne duruyoruz hemen örneklere geçelim

İŞLEM SAYISI BELLİ OLAN DÖNGÜLER

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) Şimdi başka bir problem üzerinde çalışalım.

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

Yrd. Doç. Dr. Caner ÖZCAN

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

BİLGİSAYAR PROGRAMLAMA

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMA DERSİ

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

YUVARLAMA FONKSİYONLARI

Transkript:

BLM-111 PROGRAMLAMA DİLLERİ I Ders-4 Döngü Yapıları Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/

Döngü Yapıları Döngü (Tekrarlama) yapıları, belli bir şart sağlandığı sürece bir veya daha fazla eylemin tekrarlanmasını sağlar. Örneğin elinizdeki bir alışveriş listesinde alınmamış ürün olduğu sürece alışverişe devam edersiniz. Alınmamış ürün kalmadığı anda alışverişiniz sonlanır. karşılaştırma true false ifade1 ifade2... 2

Döngü Yapıları Örnek-1 Örneğin sonuç değerini 2'den başlatacak ve 1000'den küçük olduğu sürece 2 ile çarparak değiştirecek bir program düşünelim. Pseudo kod: 1.Başla 2.sonuc = 2 3.sonuc < 1000 olduğu sürece tekrarla sonuç = sonuç * 2 4.Bitir 3

Döngü Yapıları Örnek-1 Burada karar sembolünde belirtilen şart sağlandığı sürece eylem gerçekleştirilmekte ve tekrardan kontrol yapısına dönülmektedir. Şart sağlanmadığı anda döngü sonlanır ve program akışı sıradaki ifadeyle devam eder. Burada en son sonuç değeri 1024 olur. true sonuc< 1000 sonuc = sonuc * 2 false 4

Döngü Yapıları İki tür tekrarlama ifadesi vardır : Sayaç kontrollü tekrarlama Sentinel-kontrollü tekrarlama 5

Sayaç Kontrollü Döngü Yapısı Sayaç kontrollü tekrarlama kesin tekrarlama olarak ta bilinir çünkü döngünün kaç adım tekrarlanacağını önceden biliyoruz. Sayaç kontrollü tekrarlamada kontrol değişkeni tekrar sayısını saymak için kullanılır. Kontrol değişkeni döngünün her adımında artırılır (genelde 1 artırılır) Kontrol değişkenin değeri istenen tekrarlamanın gerçekleştirildiğini gösterdiği anda döngü sona erer ve bilgisayar döngüden sonraki komutları işlemeye devam eder. 6

Sayaç Kontrollü Döngü Yapısı Sayaç kontrollü tekrarlamada ihtiyaç duyulanlar: Kontrol değişkeni (döngü sayacı) Kontrol değişkeninin başlangıç değeri Kontrol değişkeninin döngünün her adımında artırılması (veya azaltılması) Kontrol değişkeninin nihai değerini test eden bir şart ifadesi 7

Sayaç Kontrollü Döngü Yapısı Örnek-2 Notları klavyeden girilecek 10 öğrencinin not ortalamasını hesaplamak istersek. Ortalama hesaplayabilmek için öğrencilerin notlarının toplamını bulmalı ve 10'a bölmeliyiz. Her adımda bir öğrenciye ait not girdirilecek ve öğrenci sayısı da belli olduğuna göre, not girme işlemi 10 defa tekrarlanacak. 8

Sayaç Kontrollü Döngü Yapısı Örnek-2 Bu problemde tekrar sayısı belli olduğundan Sayaç Kontrollü döngü yapısı kullanılabilir. Bu tür döngülerde tekrar sayısını takip edebilmek için bir sayaç değeri her adımda 1 artırılarak kontrol edilir. Her adımda girilen not değeri bir toplama eklenmek suretiyle toplam not bulunur. Toplam ve sayaç değerlerine başlangıç değeri atanmalıdır. Toplam değerinin hesap doğruluğu açısından sıfır olması gerekir. Sayaçlar ise genelde kullanıma göre 1 veya 0'dan başlar. 9

Genelden Özele Problem Çözümü Örnek-2 Genelden Özele çözümleme En genel ifadenin sahte kodu ile başlayalım: Sınıfın ortalama sınav notunu hesapla Genel ifadeyi daha küçük görevlere böl ve sırala: Değişkenlerin başlangıç değerlerini ata. Sınav notlarını gir, topla ve say Sınıf ortalamasını hesapla ve yazdır 10

Genelden Özele Problem Çözümü Örnek-2 Başlangıç değeri atama adımını daha küçük adımlara bölelim: Toplam değişkeninin değerini sıfırla Sayaç değişkeninin değerini sıfırla Sınav notlarını gir, topla ve say adımını çözümleyelim: Sayaç değeri 10'dan küçük olduğu sürece tekrarla Not gir Girilen notu total değişkenine ekle Sayaç değişkenini bir artır. 11

Genelden Özele Problem Çözümü Örnek-2 Sınıf ortalamasını hesapla ve yazdır adımını çözümleyelim Toplam değişkenini sayaç değişkenine bölerek ortalamayı hesapla Ortalamayı yazdır 12

Genelden Özele Problem Çözümü Örnek-2 Toplam değişkeninin değerini sıfırla Sayaç değişkeninin değerini sıfırla Sayaç değeri 10'dan küçük olduğu sürece tekrarla Not gir Girilen notu toplam değişkenine ekle Sayaç değişkenini bir artır. Toplam değişkenini sayaç değişkenine bölerek ortalamayı hesapla Ortalamayı yazdır 13

Sayaç Kontrollü Döngü Yapısı Örnek-2 1. Başla 2. toplam = 0, sayaç = 0 3. sayaç < 10 ise tekrarla Öğrenci notu gir, not toplam = toplam + not sayaç = sayaç + 1 4. Ortalama = toplam / sayaç 5. Yaz, ortalama 6. Bitir 14

Sentinel Değeri ile Kontrol Edilen Döngü Yapısı Sentinel-kontrollü tekrarlamaya kesin olmayan tekrarlama da denir çünkü döngünün kaç adım devam edeceği önceden bilinmez. Sentinel değeri veri girişinin sonlandığını ifade eder. Bayrak değeri veya sinyal değeri olarak ta bilinir. Sentinel değeri gerekli tüm girişler programa verildikten sonra girilir. Sentinel değeri programa girilen veriler ile karışmayacak nitelikte olmalıdır. Sentinel değeri ile tekrarlama kontrolü şu durumlarda kullanılır: Kesin adım sayısının önceden bilinmediği durumlarda Döngünün her adımında dışarıdan bir veri girişi yapılıyorsa. 15

Sentinel Kontrollü Döngü Yapısı Örnek-3 Klavyeden -1 değeri girilene kadar girilmiş tüm öğrenci notlarının ortalaması hesaplanmak isteniyor. Burada kaç öğrenci olduğu önceden bilinmediğinden sayaç kontrollü döngü kullanılamaz. Not değeri 0-100 arası olabildiğinden sentinel değeri olan -1 normal girişlerden kolayca ayırt edilebilir. 16

Genelden Özele Problem Çözümü Örnek-3 Genelden Özele çözümleme En genel ifadenin sahte kodu ile başlayalım: Sınıfın ortalama sınav notunu hesapla Genel ifadeyi daha küçük görevlere böl ve sırala: Değişkenlerin başlangıç değerlerini ata. Sınav notlarını gir, topla ve say Sınıf ortalamasını hesapla ve yazdır 17

Genelden Özele Problem Çözümü Örnek-3 Başlangıç değeri atama adımını daha küçük adımlara bölelim: Toplam değişkeninin değerini sıfırla Sayaç değişkeninin değerini sıfırla Sınav notlarını gir, topla ve say adımını çözümleyelim: Not gir (ilk adımda -1 girilebilir) Klavyeden -1 girilmediği sürece tekrarla Girilen notu total değişkenine ekle Counter sayaç değişkenini bir artır. Yeni not gir 18

Genelden Özele Problem Çözümü Örnek-3 Sınıf ortalamasını hesapla ve yazdır adımını çözümleyelim eğer sayac değeri sıfır değilse Toplam değişkenini sayac değişkenine bölerek ortalamayı hesapla Ortalamayı yazdır değilse yazdır Hiçbir not değeri girilmedi 19

Genelden Özele Problem Çözümü Örnek-3 Toplam değişkeninin değerini sıfırla Sayaç değişkeninin değerini sıfırla Not gir (ilk adımda -1 girilebilir) Klavyeden -1 girilmediği sürece tekrarla Girilen notu total değişkenine ekle Counter sayaç değişkenini bir artır. Yeni not gir Eğer sayaç değeri sıfır değilse Toplam değişkenini sayaç değişkenine bölerek ortalamayı hesapla Ortalamayı yazdır Değilse yazdır Hiçbir not değeri girilmedi 20

Sentinel Kontrollü Döngü Yapısı Örnek-3 1. Başla 2. toplam = 0, sayaç = 0 3. Klavyeden not gir, not 4. not!= -1 ise tekrarla toplam = toplam + not sayaç = sayaç + 1 Öğrenci notu gir, not 5. ortalama = toplam / sayaç 6. Yaz, ortalama 7. Bitir 21

Döngü Yapıları Örnek-4 Klavyeden girilen bir sayının tüm tam bölenlerini ekrana yazdıran algoritmayı geliştirin. 1.Başla 2.N sayısını klavyeden oku 3.X=1 4. X<=N olduğu sürece tekrarla eğer N%X== 0 ise yazdır X X i 1 artır 5.Bitir 22

Kaynak Kaan Aslan, A dan Z ye C Klavuzu 8. Basım, Pusula Yayıncılık, 2002 Bayram AKGÜL, C Programlama Ders notları "C How to Program", Paul J. Deitel, Harvey Deitel. Fahri Vatansever, "Algoritma Geliştirme ve Programlamaya Giriş" 23