Programlamada Döngü Nedir? Temel Döngü Türleri
Döngüler, aynı ya da benzer işlemleri tekrar tekrar yazmadan çalıştırmayı sağlar. Başlangıç, koşul, gövde ve güncelleme adımlarının nasıl işlediğini; for, while ve do-while döngülerinin farklarını temel örneklerle öğrenebilirsiniz.
Bu yazıda (6)
Programlamada döngü, bir işlem grubunun belirli bir koşul sağlandığı sürece veya belirli sayıda tekrarlanmasını sağlayan yapıdır. Aynı kodu defalarca yazmak yerine, tekrarın nasıl yapılacağını döngüye tanımlamak programı daha kısa, düzenli ve yönetilebilir hâle getirir.
Döngünün tanımı ve kullanım amacı
Döngü, bir programdaki komutların tekrar tekrar çalıştırılmasını sağlayan kontrol yapısıdır. Tekrarlanacak komutlara döngünün gövdesi denir. Döngü, türüne göre gövdeyi çalıştırmadan önce ya da çalıştırdıktan sonra bir koşulu kontrol eder; koşul uygun olduğu sürece tekrar devam eder veya belirlenen tekrar sayısına ulaşılınca durur.
Döngülerin temel amacı, aynı işlemi farklı veriler ya da değişen değerler üzerinde yeniden uygulamaktır. Örneğin 1’den 5’e kadar olan sayıları ekrana yazdırmak için yazdırma komutunu beş kez ayrı ayrı yazmak yerine, bir döngüyle sayıyı her turda değiştirip aynı komutu çalıştırabiliriz. Böylece kod tekrarı azalır ve tekrar sayısı değiştiğinde yalnızca döngünün ilgili bölümü düzenlenir.
Basit bir sayaç örneğinde sayaç 1 değerinden başlar, sayaç 5’ten küçük veya eşit olduğu sürece ekrana yazdırma işlemi yapılır ve her turdan sonra sayaç bir artırılır. Bu yapı; başlangıç değeri, devam koşulu, yapılacak işlem ve sonraki tur için değişiklik arasındaki ilişkiyi gösterir.
Döngünün çalışma akışı
Basit bir döngünün çalışma akışı dört temel adımdan oluşur: başlangıç, koşul kontrolü, gövdenin çalıştırılması ve güncelleme. Başlangıç adımında sayaç veya döngüyü yöneten değişken ilk değerini alır. Ardından koşul kontrol edilir. Koşul doğruysa döngü gövdesindeki komutlar yürütülür; yanlışsa gövdeye girilmeden döngü sona erer.
Gövde çalıştıktan sonra güncelleme adımı gelir. Bu adımda sayaç artırılabilir, azaltılabilir veya bir sonraki denemeyi belirleyen başka bir değer değiştirilebilir. Güncellemeden sonra program yeniden koşul kontrolüne döner. Bu nedenle tipik akış başlangıç → koşul → gövde → güncelleme → koşul şeklindedir.
Örneğin 3’ten başlayıp 1’e kadar geriye sayan bir döngüde başlangıç değeri 3’tür. Koşul, sayacın 1’den büyük veya eşit olmasıdır. Gövdede sayaç ekrana yazdırılır; güncellemede sayaç bir azaltılır. Sayaç 0 olduğunda koşul yanlış olur ve döngü durur. Başlangıç, koşul, gövde veya güncelleme adımlarından biri eksik ya da yanlış kurulursa beklenenden fazla tekrar, hiç tekrar etmeme veya sonsuz döngü ortaya çıkabilir.
For döngüsü
For döngüsü, tekrar sayısının veya sayaç düzeninin baştan bilindiği durumlarda kullanılan döngü türüdür. Başlangıç değeri, devam koşulu ve güncelleme çoğu programlama dilinde aynı yapı içinde belirtilir. Program önce başlangıç işlemini bir kez yapar; koşulu kontrol eder, koşul doğruysa gövdeyi çalıştırır ve ardından güncelleme adımına geçer. Bu sıra, koşul yanlış olana kadar sürer.
Örneğin 1’den 10’a kadar sayıları yazdırmak için sayaç 1’den başlatılabilir, sayaç 10’dan küçük veya eşit olduğu sürece yazdırma yapılabilir ve her turda sayaç 1 artırılabilir. Belirli sayıda tekrar gerektiğinde for döngüsü okunması kolay ve düzenli bir seçimdir. Döngünün başlangıç, koşul ve güncelleme bilgileri bir arada görüldüğü için tekrarın nasıl ilerlediği kolayca anlaşılır.
While döngüsü
While döngüsü, bir koşul doğru olduğu sürece gövdesini çalıştırır. Koşul, her turdan önce kontrol edilir; bu nedenle koşul daha ilk kontrolde yanlışsa döngü gövdesi hiç çalışmayabilir. Tekrar sayısının önceden bilinmediği ve devamın bir duruma bağlı olduğu senaryolarda kullanışlıdır.
Örneğin bir sayının değeri 100’den küçük olduğu sürece sayıyı artıran bir while döngüsü kurulabilir. Her turda sayı güncellenir ve sonraki turda koşul yeniden değerlendirilir. Kullanıcıdan beklenen bir değer gelene kadar işlem sürdürmek veya bir durum değişene kadar kontrol yapmak da bu yapıya uygundur. While kullanırken gövde içinde koşulu etkileyen bir değişiklik bulunmalıdır; aksi hâlde döngü durmayabilir.
Do-while döngüsü
Do-while döngüsünde döngü gövdesi önce çalıştırılır, koşul daha sonra kontrol edilir. Bu nedenle koşul başlangıçta yanlış olsa bile gövde en az bir kez yürütülür. Kullanıcının bir giriş yapmasının veya bir işlemin ilk kez denenmesinin zorunlu olduğu durumlarda bu özellik önemlidir.
Örneğin kullanıcıdan bir seçenek isteyen menüde önce menü gösterilebilir ve seçim alınabilir. Daha sonra seçimin geçerli olup olmadığı kontrol edilir; geçersizse menü yeniden gösterilir. Böylece ilk gösterim için koşulu önceden kontrol etmeye gerek kalmaz. Do-while yapısında gövdenin en az bir kez çalışması, onu while döngüsünden ayıran temel özelliktir.
Döngünün sonlanması ve sonsuz döngü riski
Bir döngü, olağan akışta devam koşulu yanlış olduğunda sonlanır. Bunun gerçekleşmesi için döngünün yönettiği değerlerin her turda koşuldan uzaklaşması gerekir. Artan bir sayaç için koşulun belirli bir üst sınıra bağlanması, azalan bir sayaç için de alt sınırın belirlenmesi buna örnektir.
Sonsuz döngü, koşulun hiçbir zaman yanlış hâle gelmediği durumdur. Örneğin sayaç 1’den başlatılmış, koşul sayacın 5’ten küçük olması şeklinde kurulmuş fakat gövde içinde sayaç hiç artırılmamışsa her turda aynı koşul yeniden doğru kalır. Benzer biçimde, yanlış yönde güncelleme yapmak da döngünün bitiş değerine ulaşmasını engelleyebilir. Bu yüzden döngüyü yazarken hangi değişkenin değiştiği, hangi yönde ilerlediği ve hangi değerde duracağı açıkça kontrol edilmelidir.
Döngü içinde break komutu çalıştırılırsa döngü koşula bakılmadan hemen sona erdirilebilir; continue ise mevcut turun kalanını atlayıp sonraki turun koşul kontrolüne geçilmesini sağlar. Bu komutlar kısa müdahaleler için kullanılabilir, ancak döngünün ana koşulunu ve güncellemesini anlaşılır bırakmak önemlidir. Basit sayaç ve koşullu tekrar örnekleri, bu sonlanma mantığını kavramak için en temel uygulamalardır.
Dizilerde ve koleksiyonlarda dolaşma, iç içe döngüler ve döngülerle algoritma geliştirme daha geniş uygulama konularıdır.
Bir alışveriş sepetindeki ürünlerin toplamını hesaplayan program, her ürünü sırayla ele almak için döngü kullanabilir. Benzer şekilde bir menünün kullanıcı geçerli bir seçim yapana kadar yeniden gösterilmesi koşula bağlı tekrar örneğidir.
For döngüsünde koşul, gövde çalışmadan önce kontrol edilir; do-while döngüsünde ise gövde koşuldan önce çalıştığı için en az bir kez yürütülür. Bu ayrım, iki döngü türünü ayırt eden temel noktadır.
Sık sorulan sorular
Döngü neden kullanılır?
Tekrarlanan işlemleri aynı kodu tekrar tekrar yazmadan gerçekleştirmek için kullanılır. Böylece kod kısalır ve tekrar sayısı daha kolay değiştirilebilir.
For ve while döngüsü arasındaki temel fark nedir?
For döngüsü genellikle başlangıç, koşul ve güncellemenin birlikte açıkça tanımlandığı, tekrar sayısının bilindiği durumlarda kullanılır. While döngüsü ise bir koşul doğru kaldığı sürece çalışır ve tekrar sayısı önceden bilinmeyebilir.
Do-while döngüsü kaç kez çalışır?
Koşul yanlış olsa bile gövdesi ilk olarak çalıştırıldığı için en az bir kez çalışır.
Sonsuz döngü nasıl oluşur?
Döngünün devam koşulunu yanlış hâle getirecek güncelleme yapılmadığında veya değişken yanlış yönde güncellendiğinde sonsuz döngü oluşabilir.
Break ve continue ne yapar?
Break döngüyü tamamen sonlandırır. Continue ise o turun kalanını atlayarak bir sonraki turun koşul kontrolüne geçer.
- •Döngü Nedir?vektorelbilisim.com
- •Döngü Nedir? Ne İşe Yarar?techcareer.net
- •Döngü Nedir? Tekrar Yapıları ile Kodlama Mantığıaykutakman.com