Professional Documents
Culture Documents
DÖNGÜLER (1-2)
Osman Bülent Baykal
1
Bilgisayar Programcılığı (UE)
2
DÖNGÜLER (1-2)
6 ve 7 HAFTA KONULARI
DÖNGÜ YAPILARI
DÖNGÜ YAPILARI İLE İLGİLİ BİLİNMESİ GEREKEN ÖZELLİKLER
ÖRNEKLER
ÇOK SEÇİMLİ YAPI
WHILE
DO-WHILE
FOR
İÇ İÇE DÖNGÜ YAPISI
İKİ AKIŞ DİYAGRAMI SONUCUNU BULALIM
ue.aydin.edu.tr 3
DÖNGÜ YAPILARI
Programın belirli bir kesiminin birden fazla tekrarlanması işlemine döngü denir.
Bir değişken belirli bir değerden başlayıp, son değeri alıncaya kadar belirtilen
işlemler tekrarlatılır. Tüm program dillerinde bu işlemi gerçekleştiren bir komut
bulunur.
ue.aydin.edu.tr 4
DÖNGÜ YAPILARI
ue.aydin.edu.tr 5
BİLGİ
ue.aydin.edu.tr 6
ÖRNEKLER
ue.aydin.edu.tr 7
ÖRNEKLER
ue.aydin.edu.tr 8
DÖNGÜ İŞLEMLERİYLE İLGİLİ BİLİNMESİ GEREKEN
ÖZELLİKLER
Başlangıç değeri, son değerden küçük ise bu döngüye artan döngü adı
verilir.
Başlangıç değeri, son değerden küçük ise bu döngüye artan döngü adı
verilir.
Başlangıç değeri, son değerden büyük ise bu döngüye azalan döngü
adı verilir.
Azalan döngülerde artım değeri mutlaka (-) değerini almalıdır.
Döngünün içerisine dışarıdan girilemez, döngü içerisinden dışarı
çıkılabilir.
Döngünün başlangıç ve son değeri eşit ise bir kez tekrarlanır.
ue.aydin.edu.tr 9
ÖRNEKLER
ue.aydin.edu.tr 10
HATIRLATMA
DEYİMLER (Döngü, Denetim)
11
HATIRLATMA
DÖNGÜ DEYİMLERİ
12
HATIRLATMA
WHILE DEYİMİ
13
HATIRLATMA
WHILE deyimine ÖRNEK
Bankaya yatırılan 1000 TL nin yıllık %8 faizle kaç yıl sonra 5000 TL
olacağını belirleyen program tasarlayınız. İpucu: Faiz sonucu
hesaplanan para tam olarak 5000 TL olmayabilir. 5000 i geçince çevrim
hemen durmalıdır.
ue.aydin.edu.tr 14
HATIRLATMA
ue.aydin.edu.tr 15
HATIRLATMA
DO-WHILE DEYİMİ
Bu döngü deyiminde , çevrim en az bir kere gerçeklenir. Çünkü koşul sınaması
işlemlerin sonunda yapılmaktadır.
ue.aydin.edu.tr 16
HATIRLATMA
FOR DEYİMİ
FOR koşul satırında ayrık üç parametre vardır birisi ‘’döngü sayacına başlangıç değeri
verilmesi’’ ikincisi ‘’koşul’’ ve üçüncüsü de ‘’sayacın her çevrimde nasıl arttırılacağı
eksiltileceği’’ ifadesidir. Görüldüğü gibi döngüye girmeden önce sayaç değişkene başlangıç
değeri atılmakta ve daha sonra koşula bakılmaktadır. Döngü içerisindekiler de yapıldıktan
sonra sayaç değişkeni değiştirilmektedir. ÖRNEK: 1 ile 100 arasındaki tek sayıların karesini
hesaplayıp ekrana yazan bir program tasarlayın
FOR (K=1; K<100; K+=2)
KARE=K*K
ue.aydin.edu.tr 17
HATIRLATMA
FOR örneğinin açıklanması
Verilen programda döngü sayacı K adlı değişkendir. Başlangıç olarak 1
değeri atanmıştır. Döngü koşulu ise K sayacının 100 den küçük olmasıdır.
Bu olduğu sürece çevrim yinelenir. Döngü sayacının çevrim sonlarında ne
kadar artacağı K+=2 ifadesi ile verilmiştir. Bu her çevrimde sayaç 2 artacak
anlamındadır.
ue.aydin.edu.tr 18
ÖRNEKLER
Örnek4 : Bir ilin 1970 yılında nüfusu 30000 dir . Her 4 yılda nüfus artışı %3.8
dir . Buna göre 2004 yılında bu ilin nüfusunun ne kadar olacağını bulduran
akış diyagramı.
ue.aydin.edu.tr 19
ÖRNEKLER
Örnek5 : Bir kuruluşta çalışan 175 kişiye ikramiye verilecektir. Çalışan kişinin
hizmet yılı 5 yıl ve üstünde ise 500 TL , 5byıldan az ise 300 TL ikramiye
verilmesi planlanmıştır. Çalışan personele ödenecek ikramiye bedelini bulan ve
görüntüleyen bir akış diyagramı.
ue.aydin.edu.tr 20
İÇ İÇE DÖNGÜ YAPISI
ue.aydin.edu.tr 21
İÇ İÇE DÖNGÜ YAPISI
İç içe döngü yapıları, bir döngü içerisinde başka bir döngü ya da döngülerin
kullanıldığı yapılardır. İç içe döngülere verebileceğimiz en güzel örneklerden
biri zaman sistemimizdir. Bir gün, 24 saatten, 1 saat 60 dakikadan, 1 dakika
60 saniyeden ibarettir ve hepsi iç içedir. Zaman sistemindeki en içteki
döngüyü saniye temsil etmektedir. Saniye en son değerine ulaştığında yani
60 değerini aldığında dıştaki döngü bir artar yani dakikada bir artar. Dakika
en son değerine ulaştığında dıştaki döngü yani saat bir artar. Saat son
değerine ulaştığında yani 24 olduğunda bir gün tamamlanmış olur.
ue.aydin.edu.tr 22
ÖRNEK
Örnek 1: Bir ilde 7 tane ilçe , her ilçede 12 tane köy, her köyde 3 tane okul
bulunuyor. Klavyeden her okulda bulunan öğrenci sayıları giriliyor. Her ilçedeki
ve köydeki öğrenci toplamını tüm ilçe, köy, ve okuldaki öğrenci toplamını bulan
akış diyagramı.
ue.aydin.edu.tr 23
Örnekler
ue.aydin.edu.tr 24
Örnekler
Örnek 2-3: 10’dan 0’a geriye doğru sayan ve sayıları
ekrana yazdıran programı yazdırınız. int i; for (i=10;i>=0;i--)
Console.WriteLine(i);
ue.aydin.edu.tr 25
BUNDAN SONRAKİ SAYFADA İKİ AKIŞ
DİYAGRAMINI İCELEYİP SONUÇLARINI
BULALIM
ue.aydin.edu.tr 26
27
28
29
30
KISA BİR
TEKRAR
YAPALIM
ue.aydin.edu.tr 31
FOR DÖNGÜSÜ
ue.aydin.edu.tr 32
AKIŞ DİYAGRAMI İLE FOR DÖNGÜSÜNÜN GÖSTERİLMESİ
ue.aydin.edu.tr 33
FOR için ÖRNEK
for(i=1;i<=10;i++) { Console.WriteLine(i); }
Yukarıdaki kodu incelediğimizde; Döngü kontrol değişkenimiz olan i’ye
1 değerini atayarak başlangıç değerimizi, Döngümüzün ne zamana kadar
döneceğini belirlediğimiz koşulumuzu i<=10 ifadesini, i++ ile de i
değerimizi döngümüzün her dönüşünde 1 arttıracağımızı belirliyoruz.
ue.aydin.edu.tr 34
FOR için ÖRNEK
ue.aydin.edu.tr 35
WHILE için ÖRNEK
ue.aydin.edu.tr 36
WHILE için ÖRNEK
ue.aydin.edu.tr 37
DO…WHILE Döngüsü
ue.aydin.edu.tr 38
DO-WHILE için ÖRNEK
ue.aydin.edu.tr 39
ÖRNEK
ue.aydin.edu.tr 40
ue.aydin.edu.tr 41
Kaynaklar
1. …Algoritmayı Anlamak – Mustafa Eker
2. …Algoritma Tasarlama ve Programlamaya Giriş- Selami Eryılmaz
3. …C ile Programlamaya Giriş – Dr. Hasan H.Balık
4. …Pascal 7.0 ile Programlama A.Oral
ue.aydin.edu.tr 42