Döngülerin programlamada önemli bir yeri olduğunu ve farklı tiplerinin bulunduğunu belirttikten sonra, while döngüsü ile belirli bir koşul sağlandığı sürece işlemlerin tekrar edildiğini örneklerle açıkladık For döngüsü ise belirli sayıda işlemin sırasıyla yapılması için kullanılan bir döngü türüdür ve range fonksiyonu ile belirli aralıklarla sayılar belirlenebilir For döngüsü içinde aynı zamanda continue ve break anahtar kelimeleri de kullanılarak döngünün devam etmesi veya belirli koşullarda tamamlanması sağlanabilir Ayrıca, nested döngüler ile daha karmaşık işlemler gerçekleştirilebilir Range fonksiyonu ise for döngüsünde sıklıkla kullanılır ve belirli aralıklarla sayılar belirlenmesini sağlar İleri düzey döngü kullanımları da mevcuttur, ancak bu konu daha gelişmiş programlama sevi

Döngüler programlamada yaygın olarak kullanılan yapılardandır ve belirli işlemlerin tekrarlanmasını sağlarlar. Ancak, döngülerin kullanımı sadece basit işlemler için değil, daha karmaşık işlemler için de gereklidir. Bu nedenle, döngülerin daha gelişmiş kullanım teknikleri de mevcuttur.
While döngüsü, belirli bir koşul sağlandığı sürece bir kod bloğunu tekrar etmek için kullanılır. For döngüsü ise belirli sayıda tekrar edilecek işlemlerde kullanılır ve range() fonksiyonu ile belirli aralıklarla sayılar belirlenir. Ayrıca, continue anahtar kelimesi döngünün devam etmesi gereken noktaları, break anahtar kelimesi ise döngünün belirli koşullarda tamamlanmasını sağlar ve program akışını değiştirir.
Nested döngüler ise döngülerin iç içe kullanımı ile daha karmaşık işlemlerin gerçekleştirilmesini sağlar. Do-while döngüsü ise koşul sağlanmasa bile en az bir kez döngünün çalışmasını sağlar. Python dilinde standart olarak sunulmasa da benzeri bir yapı oluşturulabilmektedir.
Son olarak, fonksiyonlar içinde tekrar eden işlemlerin gerçekleştirilmesinde recursive döngülerin kullanımı yaygındır. Bu durumda base case'lerin belirlenmesi önemlidir.
While Döngüsü
Programlama dillerinde en sık kullanılan döngülerden biri olan while döngüsü, belirli bir koşulun sağlandığı sürece bir kod bloğunu tekrar etmek için kullanılır. Bu koşul sağlanana kadar döngü devam eder ve koşul sağlandığında döngü sonlanır.
While döngüsü, özellikle belirli sayıda işlem yapılması gerekmeyen durumlarda oldukça kullanışlıdır. Örneğin, bir kullanıcının girdiği bir sayının belirli bir koşulu sağlayıp sağlamadığını kontrol etmek için while döngüsü kullanılabilir. Eğer koşul sağlanmazsa döngü devam eder ve kullanıcının tekrar bir sayı girmesi istenir.
Aşağıdaki örnekte, while döngüsü ile kullanıcının girdiği sayının 20'den büyük olup olmadığı kontrol edilmektedir:
Kod | Çıktı |
---|---|
num = int(input("Lütfen bir sayı giriniz: ")) while num <= 20: print("Sayınız 20'den küçük veya eşit.") num = int(input("Lütfen başka bir sayı giriniz: ")) print("Girdiğiniz sayı 20'den büyüktür.") | Lütfen bir sayı giriniz: 15 Sayınız 20'den küçük veya eşit. Lütfen başka bir sayı giriniz: 23 Girdiğiniz sayı 20'den büyüktür. |
Bu örnekte, while döngüsü sayı 20'den küçük veya eşit olduğu sürece devam eder. Eğer kullanıcının girdiği sayı 20'den büyükse döngü sonlanır ve program devam eder.
For Döngüsü
For döngüsü, belirli sayıda tekrar edilecek işlemler yapmak için sıklıkla kullanılan bir döngü türüdür. Döngü değişkeni tanımlanarak belirli bir değerden başlanır ve her adımda değişkenin değeri artırılır veya azaltılır. Bu sayede belirli şartlara kadar işlem tekrarlanır.
For döngüsü içinde range() fonksiyonu kullanılarak belirli aralıklarda sayılar tanımlanabilir. Bu sayede işlemler belirlenen aralıklarda tekrar edilir. For döngüsü içinde kullanılan continue anahtar kelimesi ile döngünün devam etmesi gereken noktalar belirlenebilir. Aynı şekilde break anahtar kelimesi kullanılarak döngü belirli şartlarda tamamlanabilir.
For döngüsü içinde aynı zamanda nested döngüler de kullanılabilir. Bu şekilde daha karmaşık işlemler gerçekleştirilebilir. Örneğin bir liste içindeki elemanları tek tek kontrol edebilmek için for döngüsü içinde bir başka for döngüsü kullanılabilir.
Bazı durumlarda for döngüsü, belirli bir koşulu sağlayana kadar işlem yapması gerektiği için while döngüsü ile de beraber kullanılabilir. Bu sayede istenilen şarta kadar işlemler tekrar edilir. Ancak while döngüsü ile beraber kullanımı, doğru bir şekilde yapılmadığında sonsuz döngülere neden olabilir, bu nedenle dikkatli kullanılması gerekmektedir.
i | range(i) |
---|---|
3 | 0, 1, 2 |
5 | 0, 1, 2, 3, 4 |
10 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
- For döngüsü, belirli sayıda tekrar edilecek işlemler için kullanılır.
- For döngüsü içinde range() fonksiyonu kullanılarak belirli aralıklarda sayılar tanımlanabilir.
- For döngüsü içinde continue anahtar kelimesi kullanılarak işleme devam edilecek noktalar belirlenebilir.
- Aynı şekilde break anahtar kelimesi kullanılarak döngü belirli şartlarda tamamlanabilir.
- For döngüsü içinde nested döngüler de kullanılabilir.
- For döngüsü ile beraber while döngüsü de kullanılabilir, ancak dikkatli olunması gerekmektedir.
Range() Fonksiyonu
For döngüsü ile sıklıkla birlikte kullanılan bir başka fonksiyon da range() fonksiyonudur. Bu fonksiyon sayesinde for döngüsü içinde belirli aralıklarla sayılar belirlemek mümkündür.
range() fonksiyonu, genellikle for döngüsünde kullanılır ve içerisine parametre olarak verilen sayı aralığına göre bir dizi oluşturur. Bu dizi sayesinde döngünün her bir adımında belirli bir sayıya ulaşılır.
range() fonksiyonu, genellikle üç parametre ile kullanılır. İlk parametre, başlangıç sayısını belirler. İkinci parametre, dizi boyutunu belirler. Üçüncü parametre ise dizi elemanları arasındaki farkı belirler.
Parametre | Açıklama |
---|---|
start | Belirtilen sayı ile dizinin oluşturulmasına başlanır. Öntanımlı değeri 0'dır. |
stop | Belirtilen sayıya kadar olan sayılar dizisi oluşturulur. Bu sayı dahil değildir ve fonksiyon parametresi olarak verilmelidir. |
step | Birbirinden farklı elemanların arasındaki farkı belirler. Öntanımlı değeri 1'dir. |
Örneğin, range(0,10,2) fonksiyonu kullanıldığında 0'dan başlayarak 2'şer artan bir dizi oluşur ve bu dizi, 0, 2, 4, 6, 8 elemanlarından oluşur.
Yukarıdaki örnek for döngüsü içerisinde kullanılarak, dizideki elemanların üzerinde gezinilir ve işlemler gerçekleştirilir. range() fonksiyonu, özellikle büyük veri işlemlerinde for döngülerinin daha verimli kullanılmasını sağlar.
Continue Anahtar Kelimesi
Programlama dünyasında efektif kod yazımı oldukça önemlidir. Döngüler de bu noktada oldukça önemli bir yere sahiptir. Döngülerin daha efektif kullanımı için continue anahtar kelimesi kullanılabilir.
Continue anahtar kelimesi döngünün belirli bir yerinde koşul sağlandığında o noktadan sonrasını atlayarak döngünün devam etmesini sağlar. Bu sayede gereksiz işlemler yapılmadan hedefe daha kısa sürede ulaşılabilir.
Örneğin, bir dizi içinde belirli koşulları sağlayan elemanları bulmak istiyorsanız for döngüsü kullanarak her elemanı tek tek kontrol etmeniz gerekir. Fakat belirli koşullar sağlanan elemanları bulduğunuzda, işlemi devam ettirmeden bir sonraki elemana geçmek daha verimli olacaktır. Bu noktada continue anahtar kelimesi kullanılabilir.
Aşağıdaki örnek kodda bir dizi içindeki çift sayıları bulmak istiyoruz. Bu işlemi continue anahtar kelimesi kullanarak daha kısa bir şekilde gerçekleştirebiliriz.
Kod | Çıktı |
---|---|
|
|
Görüldüğü gibi, continue anahtar kelimesi sayesinde sadece çift sayılar ekrana yazdırılmıştır. Bu sayede gereksiz işlemler yapılmamış ve kod daha efektif hale getirilmiştir.
Break Anahtar Kelimesi
Break anahtar kelimesi döngülerin en önemli yapısal elemanlarından biridir. Belirli bir koşul sağlandığında döngüyü sonlandırmak ve program akışını değiştirmek için kullanılır. Break anahtar kelimesi, for ve while döngülerinde sıklıkla kullanılan bir yapıdır.
Örneğin, bir döngü içinde bir liste elemanlarını kontrol ederken, belirli bir şart sağlandığında döngünün sonlanmasını istersek, bu durumda break anahtar kelimesini kullanabiliriz. Kod bloğunda, koşul sağlandığı zaman break ifadesi kullanarak döngüyü sonlandırabiliriz. Bu sayede, programımızın çalışması sırasında belirli koşullarda döngüyü sonlandırarak program akışını değiştirebiliriz.
Aşağıdaki örnekte, for döngüsü kullanılarak 1'den 10'a kadar olan sayılar listelenmektedir. Ancak, sayı 5'e geldiğinde break ifadesi kullanılarak döngü sonlandırılmıştır.
Kod Blogu | Çıktı |
---|---|
|
|
Bu örnekte break anahtar kelimesi kullanılarak 1'den 5'e kadar olan sayılar listelendikten sonra döngü sonlandırılmıştır.
- Break anahtar kelimesinin doğru kullanımı, programcının kod yapısını daha verimli hale getirmesine yardımcı olur.
- Belirli koşullara göre döngüyü sonlandırmak ve program akışını değiştirmek için break anahtar kelimesi sıklıkla kullanılır.
- For ve while döngülerinde kullanılabilen break anahtar kelimesi, doğru bir şekilde kullanıldığında programcının kod yazımının daha efektif hale getirilmesine yardımcı olabilir.
Nested Döngüler
Döngüler, tek başlarına bir işlemi tekrar etmek için kullanılırlar. Ancak bazı durumlarda, birden fazla işlemi tekrar etmek gerekebilir. Bunun için de döngüler iç içe kullanılabilir. Bu durumda, içteki döngü tamamlandıktan sonra, dıştaki döngü devam eder ve bu şekilde karmaşık işlemler gerçekleştirilir.
Bu yöntem özellikle matematiksel işlemlerde sıklıkla kullanılır. Örneğin, bir çarpım tablosu oluşturmak istendiğinde, dıştaki döngü ile çarpımın yapılacağı sayı belirlenir. İçteki döngü ile de çarpım işleminin yapılacağı sayı belirlenir ve sonuç hesaplanır. Bu şekilde, tüm çarpım işlemleri gerçekleştirilir ve çarpım tablosu oluşturulur.
Çarpım Tablosu | ||
---|---|---|
1x1=1 | 1x2=2 | 1x3=3 |
2x1=2 | 2x2=4 | 2x3=6 |
3x1=3 | 3x2=6 | 3x3=9 |
Bir örnek daha vermek gerekirse, bir matrisin tüm elemanlarının toplamını hesaplamak istendiğinde de iç içe döngüler kullanılabilir. Dıştaki döngü ile matrisin satırlarını gezilir. İçteki döngü ile de her satırın sütunları gezilir ve elemanların toplamı hesaplanır. Bu işlem tüm satırlar için tekrar edilir ve matrisin toplamı hesaplanmış olur.
- Matris:
- Toplam: 28
2 | 3 | 4 |
1 | 5 | 2 |
7 | 3 | 1 |
Görüldüğü gibi, döngüler iç içe kullanılarak daha karmaşık işlemler gerçekleştirilebilir. Ancak bu durumda da, kodun okunaklılığını ve anlaşılırlığını etkilememek adına, uygun şekilde formatlanması önemlidir.
Do-While Döngüsü
Bazı durumlarda, bir döngünün en az bir kez çalışması gerekmektedir. Bu durumlar için kullanılan döngü türü ise do-while döngüsüdür. Bu döngü, önce işlemi yapar ve ardından koşulu kontrol eder. Eğer koşul sağlanmıyorsa, işlem tekrarlanmaya devam eder.
Do-while döngüsü, sürekli bir kullanıcı girdisi almak gibi durumlarda kullanılır. Kullanıcı her zaman girdi vermek zorunda değildir, ancak döngü en az bir kez çalışarak girdi alır. Eğer koşul sağlanırsa, döngü tekrar eder ve işlem tekrar yapılır.
Do-while döngüsü, diğer döngü türlerine göre az kullanılmasına rağmen, bazı durumlarda oldukça kullanışlı olabilmektedir.
Python'da Do-While Döngüsü
Python dilinde do-while döngüsü standart olarak sunulmamaktadır. Ancak, benzer bir yapı oluşturarak do-while döngüsünü oluşturmak mümkündür. Bunun için while döngüsü kullanılacak ve döngü ilk seferinde bile koşulu sağlamayacak şekilde oluşturulacaktır. Daha sonra döngünün sonunda gerçekleştirilecek işlemi, koşulu kontrol etmeden önce yapmak istediğimizde do-while döngüsünün işleyişini yakalamış olacağız.
Bir örnek vermek gerekirse, aşağıdaki kod bloğu ile benzer bir yapı oluşturulabilir:
Kod | Açıklama |
---|---|
while True: #döngü işlemleri if not koşul: break | Sonsuz bir while döngüsü oluşturuluyor ve döngü içinde yer alan işlemler gerçekleştiriliyor. Eğer belirlenen koşul sağlanmazsa döngü break anahtar kelimesi ile sonlandırılıyor. |
Yukarıdaki örnekte while döngüsü sonsuz bir döngü olarak tanımlanmış ve döngü içinde yer alan işlemler gerçekleştiriliyor. Eğer belirlenen koşul sağlanmazsa, yani while döngüsünün sorgulandığı koşul yanlış döndürülürse, döngü break anahtar kelimesi ile sonlandırılır. Bu şekilde, do-while döngüsü mantığına benzer bir yapı oluşturmuş oluruz.
Recursive Döngüler
Fonksiyonlar programlama dillerinde tekrar eden işlemlerin gerçekleştirilmesinde oldukça önemlidir. Recursive döngüler ise fonksiyonlar içinde kendini çağıran bir yapıdır. Bu yapı sayesinde tekrar eden işlemler yeniden kullanılır ve kodun daha efektif olmasını sağlar. Recursive döngüler, programlama yapısında birçok alanda kullanılır ve özellikle ağaç ve grafik yapılarında sıklıkla tercih edilir.
Recursive döngüler, döngü deyimleriyle benzer yapıda çalışır ancak kendini tekrar eden bir yapıya sahiptir. Fonksiyonlar içinde kullanılan recursive döngülerde, belirli bir noktada tekrar eden işlemlerin sonlanması sağlanır. Bu sayede, hafızanın ve işlem gücünün daha az kullanılması ile daha efektif bir kodlamaya imkan tanınır.
Base Case
Fonksiyonlar içinde tekrar eden işlemleri gerçekleştirmek için kullanılan recursive döngüler, özellikle karmaşık yapıya sahip programlarda oldukça etkilidir. Ancak bu döngüler, hatalı bir şekilde yazıldığında programın sonsuz tekrara girmesine neden olabilir. Bu sorunu önlemek için ise base case'ler kullanılır.
Base case'ler, recursive döngülerin sonlandırılacağı durumları belirlemek için kullanılır. Yani recursive fonksiyon, belirli bir şart sağlandığında kendini tekrar etmeyi durdurur ve sonuç döndürür. Örneğin, bir sayıyı faktöriyel hesaplama işlemi için recursive bir fonksiyon yazdığımızda, 1'in faktöriyeli 1 olduğundan base case olarak belirleyebiliriz. Yani, recursive fonksiyonun çıktısı 1 olduğunda işlem sonlandırılır.
Base case'lerin belirlenmesi, programın doğru bir şekilde çalışmasını sağlar ve sonsuz tekrarlamalara engel olur. Ayrıca, recursive döngülerin daha verimli bir şekilde kullanılması için base case'lerin ilgili işleme göre belirlenmesi önemlidir.
Bununla birlikte, recursive döngülerin doğru bir şekilde kullanılması oldukça önemlidir. Hatalı kullanımı programın hata vermesine veya çökmesine neden olabilir. Bu nedenle, recursive döngülerin ve base case'lerin doğru bir şekilde anlaşılması ve kullanımının öğrenilmesi gereklidir.