04.10.2013
4.41 / 29 oy

Programlamada Döngü Mantığı

Döngü Nedir?

Döngüler, tekrar eden işlemleri gerçekleştirmek için tasarlanmış yapılardır. Şu ana kadar işlemleri tekrar etmek için sayaç kullandık. DÖNGÜ otomatik bir sayaç gibi düşünülebilir. Sayaç yapısını hatırlayalım: Sayaç için bir değişken kullanıyorduk ve sayaç sürekli artıyordu. Sayacın bir çalışma (tekrar) sayısı vardı. Biz sayacın tekrar sayısını bir sorgu kullanarak kontrol ediyorduk. Tekrar sayısı tamamlanmamışsa akışı Git komutu kullanarak etikete ya da satır numarasına gönderiyorduk.

Döngü bu aynntılann hepsini ortadan kaldınyor. Bir döngünün bir değişkeni, bir başlangıç sayısı, bir bitiş sayısı bir de artış sayısı vardır. Bunları tanımladığımızda kendisi otomatik çalışır ve işlemleri otomatik olarak tekrar eder. Sayaç ve DÖNGÜ arasındaki farkı önce akış şeması üzerinde görelim:

DÖNGÜ yapısını inceleyecek olursak S değişkeninin bazı parametreleri olduğunu görüyoruz.

S=1, N, 1

satmnın açılımı "S değişkeninin değerini 1'den N'e kadar artır" demektir. Öyleyse bu döngü 1'den N'e kadar birer birer artarak işlemleri otomatik olarak tekrar edecektir.

Problem: 1'den 10'a kadar olan sayılann toplamını ekrana yazan algoritmayı tasarlayın.

Sol tarafta sayacı biz artırıyor ve kontrol ediyoruz. Toplamı alırken sayaç değişkeni olan S'yi topluyoruz. Sağ tarafta ise döngüyü 1'den 10'a kadar l'er artacak şekilde kuruyoruz. Toplamı alırken döngü değişkeni olan S'yi topluyoruz. Sol tarafta S=S+1 olan işlem sağ tarafta yok çünkü döngülerde artış otomatik olarak yapılıyor.

Sayaç çözümünü satır algoritması üzerinde görelim:

BAŞLA

GİRÎŞ:

S=S+1

T=T+S

EĞER S=10 İSE YAZ T DEĞİLSE GtT BAŞLA DUR

Döngü çözümünü satır algoritması üzerinde inceleyelim:

BAŞLA

DÖNGÜ S=1, 10,1

T=T+S

DÖNGÜ SONU

YAZ T

DUR

Nasıl Çözeriz? Döngü kavramının iyi anlaşılması için bu soruyu hem sayaç hem de DÖNGÜ kullanarak yapalım.

Satır algoritmasını incelediğinizde döngünün bir başlangıç bir de bitiş satın (İç-içe EĞER yapısına benzer şekilde) olduğunu görüyoruz. Döngünün bitiş satın, tekrar edecek işlemleri normal program satırlannda ayırmak için

kullanılıyor. DÖNGÜ ile DÖNGÜ SONU satırları arasındaki her işlem döngü çalıştığı sürece tekrar edilecek işlemlerdir. Sayaç mantığını iyi anlamışsanız döngü yapısını kolaylıkla anlaya bilir ve kullanabilirsiniz.

Bilgisayar programlama kitaplarının neredeyse tamamında döngü konusu işlenirken döngü değişkeni olarak I, J, K gibi harfler kullandır. Biz de geleneği bozmayalım ve biz de bundan sonraki örneklerimizde döngü değişkenlerine I, J, K gibi adlar verelim.

Döngü örneklerimize devam edelim.

Problem: Klavyeden okunan N tane sayının toplamını bulan algoritmayı tasarlayın.

BAŞLA

OKU N

DÖNGÜ I=1, N, 1

OKU A

TOP=TOP+A

DÖNGÜ SONU

YAZ TOP

DUR

Problem: l'den 100'e kadar olan çift sayılan ekrana sırayla yazan algoritmayı tasarlayın.

Nasıl Çözeriz? Bu soruda dikkat edilecek tek nokta döngünün başlangıç, bitiş ve artış değerleridir. Döngü çift sayı üretebilmek için ikiden başlamalı ve artış değeri 2 olmalıdır.

BAŞLA

DÖNGÜ I=2,100, 2

YAZ I

DÖNGÜ SONU

DUR

 

Programlamada Döngü Mantığı
Bu makalenin telif hakkı ve tüm sorumlulukları yazara ait olup, şikayetler için lütfen bizimle iletişime geçiniz.
URL:
Etiketler:

Bu makale 19864 kez okundu

04.10.2013 tarihinde yazıldı
Reitix

Yorumlar

  • vedat
    21.03.2019

    insanlara programlamayı öğretebilmek için bu kadar yaygın kaynak ve çaba olmasına rağmen insanların da gittikçe öğrenmek istememesi çok ilginç bir durum, internette algoritma araması yaptığınızda bile size akış diyagramlarını öğretmek isteyen binlerce uygulama çıkıyor karşınıza, benim anlamadığım bu kadar indirme sayısı ve reklama rağmen neden insanlar halen programlama konusunda bu kadar yabancılar?

  • chung
    10.03.2019

    dependency injection kurgusu ile hazırlanmış bir yazılımda zaten goto ifadesi kullanmanın bir mantığı olmayacaktır, bugünün modüler programlama mantığı da birbirinden bağımsız ve eklenip çıkarılabilir kod mimarilerinin kullanılmasını gerektireceği için halen fortran kullanan kaldıysa mağaradan çıkmalarını tavsiye ediyorum

  • adk
    18.10.2018

    goto yapıları çok titizlikle kullanılmadığında sonsuz döngülere sebebiyet verdiği için ve fonksiyon mantığının da spagetti kod içinde benzer işlevlerde çözüm üretebildiği için artık gereksiz kalmışlardır

  • ilker
    18.10.2018

    eski programlama dillerinde goto yapıları da varmış, bana hiç kullanmak nasip olmadı, artık tercih edilmediğine göre güncel faydasının tartışılır olduğu da açık, ama sanırım hep bu goto'ya özenip devam ediyor olucam ben

  • nidax
    16.07.2018

    döngüleri sadece sayısal olarak düşünmemek gerek, örneğin bir vektör içerisindeki elemanlar da döngüye sokulabilir, ya da nesneler içerisindeki alanlar da döngülerde kullanılabilir

  • hamburg
    16.05.2018

    flag mantığı ile önceden belirlenmiş bir üst ya da alt sınıra ulaşıncaya kadar belirli bir iterasyon ile artarak ya da azalarak yine önceden belirlenmiş bir işlemi her defasında yapacaksak döngü kullanmalıyız

  • tititan666
    23.01.2016

    yok şevval de herkese hitap etmez şimdi. tayyar desek sempatik olmaz mı ki?

  • frangy
    23.01.2016

    önyargı oluyo diyosun :) şevval falan diyelim olmazsa insanı soğutmasın. for şevvali ya da while şevvali. bak fena olmadı

  • tatatataam
    23.01.2016

    döngü değil de başka bi isim bulmak lazım bu mevzuya. döngü olunca insanın başını döndürecekmiş gibi korkutuyor

  • efes
    15.06.2015

    program içerisinde tekrar edilmesi gereken işlemler için döngü kullanılmasına ek olarak simülasyon gibi iterasyon gerektiren işlemlerde de benzer şekilde simüle edilecek parametrenin, ilgili değerlerinin döngüye sokulması ile benzetim işlemleri de gerçekleştirilmiş olur

  • misafir007
    03.12.2014

    programda en güzel döngüyü if döngüleri verir kurması da çok keyiflidir

  • merve_dogan
    13.10.2014

    sayaçtı bayraktı döngüydü, birisi şunun ne işe yaradığını salağa anlatır gibi anlatabilirmi bana

Bu yazıya siz de yorum yapabilirsiniz

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.