while ve do while Döngüleri ve Kullanımları

while ve do while Döngüleri ve Kullanımları

Bu yazıda, programlama dillerinde en sık kullanılan döngülerden while ve do-while döngüleri hakkında bilgi verilmektedir Bu döngüler, bir koşulun doğru olduğu sürece tekrarlı işlemler yapmak için kullanılır while döngüsü, koşulun doğru olduğu sürece devam ederken, do-while döngüsünde en az bir kez işlem yapılır ve sonrasında koşul kontrol edilir Bu döngülerin doğru kullanımı, programlama becerileri için de oldukça önemlidir

while ve do while Döngüleri ve Kullanımları

Programlama dillerinde döngüler, belirli bir şartın sağlandığı sürece tekrarlı işlemler yapmak için kullanılan temel yapılar arasında yer alır. Bu döngülerden en sık kullanılanlarından biri de while ve do-while döngüleridir.

Bu döngüler, bir koşulun doğru olduğu sürece tekrar eder ve işlemlerin yapılmasını sağlar. while döngüsünde koşulun doğru olduğu sürece döngü devam ederken, do-while döngüsünde en az bir kez işlem yapılır ve sonrasında koşul kontrol edilir.

while Döngüsü do-while Döngüsü
1. Koşul kontrolü döngünün başında yapılır. 1. En az bir kez işlem yapılır, sonrasında koşul kontrolü yapılır.
2. Koşul sağlandığı sürece döngü devam eder. 2. Koşul sağlandığı sürece döngü devam eder.
3. İşlem yapılır, sonrasında koşul kontrol edilir. 3. İşlem yapılır, sonrasında koşul kontrol edilir.
  • while ve do-while döngüleri, birbirlerine benzer yapıda olsalar da farklı şekillerde kullanılmaları gerekebilir.
  • while döngüsü, özellikle başlangıç koşulunun kontrol edilmesi gerektiği durumlarda kullanılabilir. Örneğin, bir sayacın sıfırdan büyük olması durumunda tekrarlanacak işlemler için while döngüsü tercih edilebilir.
  • do-while döngüsü ise en az bir kez işlem yapılması gerektiği durumlarda kullanılabilir. Örneğin, kullanıcının girdiği değerin geçerli olup olmadığını kontrol eden bir uygulamada, do-while döngüsü tercih edilebilir.

Bir diğer fark da, while döngüsünün koşulunun başta kontrol edilmesiyle birlikte döngünün hiç çalışmama ihtimalinin bulunmasıdır. Do-while döngüsünde ise en az bir işlem yapılacağı için hiç çalışmama ihtimali yoktur.

while ve do-while döngülerinin kullanılması, programların daha verimli ve hızlı çalışmasını sağlar. Bu döngülerin doğru kullanımı, programlama becerileri için de oldukça önemlidir. Bu nedenle, döngülerin kullanımı konusunda programlama dilinde yeterli düzeyde bilgi sahibi olmak gerekmektedir.


while Döngüsü

While döngüsü belli bir koşul doğru olduğu sürece devam eden bir döngü yapısıdır. Yapısı gereği, koşul başlangıçta yanlışsa hiçbir kez döngüye girmez. Koşul doğruysa döngü devam eder. Koşul her adımda kontrol edilir ve doğru olduğu sürece döngü çalışmaya devam eder. Koşul yanlış olduğunda ise döngü sona erer ve program kontrolü bir sonraki satıra aktarır.

While döngüsü, programlamada sıklıkla kullanılan bir döngü yapısıdır. Özellikle liste, dizi veya veritabanı gibi yapıları dolaşmak, kontrol etmek veya işlemek için tercih edilir. While döngüsü için genel gösterim aşağıdaki gibidir:

```while(koşul){ // işlemler}```

Burada koşul doğru olduğu sürece işlemler tekrar edilir. Koşul yanlış olduğunda işlemler durur. Bir while döngüsü kullanarak 1'den 10'a kadar olan sayıları ekrana yazdırmak için aşağıdaki kod örneği kullanılabilir:

```let sayi = 1;while(sayi <= 10){ console.log(sayi); sayi++;}```

Bu örnekte, sayi değişkeni 1 ile başlatılır. Ardından, while döngüsü ile koşul kontrol edilir. Eğer sayi değişkeni 10'dan küçük veya eşitse, console.log() metodu ile sayı ekrana yazdırılır ve sayi değişkeni bir arttırılır. Bu işlem, sayi değişkeni 10 olduğunda koşul sağlanmadığından döngü sona erer.

Örneğin:

Sayılar
1
2
3
4
5
6
7
8
9
10

Yukarıda gösterilen örnekte, ekrana 1'den 10'a kadar olan sayılar yazdırılır. while döngüsü, sayı değişkeni 10 olduğunda koşul doğru olmadığından sona erer.

While döngüsü, kodunuzda bir koşulun doğru olması durumunda tekrar eden işlemleri gerçekleştirmenize olanak tanır. Bu sayede, kodunuz daha dinamik hale getirilebilir ve belirli durumlar için otomatik işlemler üretebilirsiniz.


do-while Döngüsü

Do-while döngüsü, while döngüsüne benzer. Koşulunu döngü bloğunun sonunda kontrol eder. Eğer koşul doğruysa tekrar döngü bloğunu çalıştırır. Koşul yanlış olsa bile do-while döngüsü blok en az bir kez çalıştırılır.

Do-while döngüsü aşağıdaki gibi çalışır:

do {  // döngü bloğu} while (koşul);

Yukarıdaki kod bloğunda ilk olarak do anahtar kelimesi ile döngü bloğu başlatılır. Sonra while anahtar kelimesi ile döngü bloğunun sonunda koşul tanımlanır. Döngü bloğu en az bir kez çalıştırılır.

Aşağıda birkaç do-while örneği verilmiştir:

int i = 0;do {  cout << i << "\n";  i++;} while (i < 5);

Yukarıdaki kodda, ilk olarak i değişkeni 0 değerine atanır. Sonra do-while döngüsü içinde i değişkeni ekrana yazdırılır ve 1 arttırılır. Koşul olan i < 5 doğru olduğu sürece döngü bloğu tekrar edilir.

Bu örnekte, ekrana 0'dan 4'e kadar sayılar yazdırılır.

int x = 7;do {  cout << "x is " << x << "\n";  x++;} while (x < 5);

Yukarıdaki örnekte, x değişkeni 7 değerine atanır. Sonra do-while döngüsü içinde ekrana x değişkeninin değeri yazdırılır ve 1 arttırılır. Koşul olan x < 5 yanlış olduğundan döngü bloğu hiç çalıştırılmaz.

Do-while döngüsü, özellikle belirli bir blok en az bir kez çalıştırılmak istendiğinde kullanışlıdır.


while vs do-while Döngüleri

Döngüler, modern programlama dillerinde temel yapı taşlarından biridir ve işlem tekrarlamak için kullanılır. İki popüler döngü türü "while" ve "do-while" döngüleridir. While döngüsü, koşulun doğru olması durumunda tekrarlanan ve her tekrarda koşulun tekrar kontrol edildiği bir döngüdür. Do-while döngüsü ise koşulun doğru olup olmadığını kontrol etmek için en az bir kez çalıştırılır ve daha sonra koşul doğru olduğu sürece tekrar tekrar çalışır.

While döngüsü, koşul karşılandığı sürece tekrar eder. Bu, koşulun döngü başlamadan önce doğru olmadığı takdirde döngünün hiç çalışmayacağı anlamına gelir. Do-while döngüsü ise, en az bir kez çalıştırılır ve koşulun doğru olup olmadığı kontrol edilir. Bu, koşul doğru olmazsa bile döngünün bir kez çalışacağı anlamına gelir.

While döngüsü, programın ilk çalıştırmasında verilerin test edilmesi gerektiğinde kullanışlıdır. Ancak, kullanıcı verilerine dayalı bir simülasyon çalışması yaparken veya kullanıcının belirlenen bir hedefi ulaşana kadar bir işlem yaparken do-while döngüsü daha kullanışlıdır.

While döngüsü, koşulun doğru olmasa bile hiç çalışmayabilir. Bu, döngüdeki işlemin yalnızca koşulun doğru olması durumunda çalışacağı anlamına gelir. Do-while döngüsü ise, döngünün en az bir kere çalışacağı ve koşulun test edilmesinden önceki işlemin çalışacağı anlamına gelir.

Do-while döngüsü while döngüsüne göre daha az yaygın olarak kullanılır. Bunun nedeni, bir kez çalıştırılması için koşulun doğru olması gerektiğinden kodun daha karmaşık olmasıdır. Ancak, kullanıcının belirlenen bir amaç için belirli bir adım grubunu tekrarlaması gerektiğinde, do-while döngüsü kullanılabilir.

Nihai olarak, while döngüsü ve do-while döngüsü arasındaki fark, programın gereksinimlerine ve tasarıma bağlıdır. Programcı, amaca uygun döngü yapısını seçerek kod oluşturabilir.


while Döngüsü Kullanımı ve Örnekleri

while döngüsü, koşul doğru olduğu sürece çalışır. Bu döngü yapısı, bir işlemi belirli bir koşul kapsamında birden fazla kez yapmak için kullanılır. while döngüsünün kullanımı oldukça basittir ve birçok programlama dilinde yer almaktadır.İşte bir örnek:

Sayılar Toplam
1 1
2 3
3 6
4 10
5 15

Yukarıdaki örnekte, while döngüsü kullanarak sayıların toplamını hesapladık. Çalışma prensibi şu şekildedir: ```javascriptvar i = 1; // başlangıç değerivar toplam = 0; // toplama başlangıç değeriwhile(i <= 5) { // koşul sağlandığı sürece döngü devam eder toplam += i; // her döngüde toplam değişkenine i değeri eklenir i++; // i değeri 1 artırılır}document.write("Toplam = " + toplam); // sonuç ekrana yazdırılır```Yukarıdaki kod örneğinde, while döngüsü ile 1'den 5'e kadar olan sayıların toplamı hesaplanmaktadır. Döngü her seferinde toplam değişkenine i değerini ekleyerek çalışır. Bu örnek, while döngüsünün basit ama etkili bir kullanım örneği olarak gösterilebilir.while döngüsünün avantajı, önceden belirlenmiş bir sayıda tekrar yapmak zorunda olmamanızdır. Koşul sağlandığı sürece döngü devam eder. Bu nedenle, kaynakları daha etkili bir şekilde kullanmanızı sağlar.Sonuç olarak, while döngüsü, belirli bir koşul kapsamında birden fazla işlem yapmak için oldukça kullanışlı bir döngü yapısıdır. Hızlı, basit ve etkili bir döngüdür. Başlangıç değeri, koşul ve artırım işlemi dikkatli bir şekilde ayarlandığında, while döngüsü çok fonksiyonel bir yapı olabilir.

do-while Döngüsü Kullanımı ve Örnekleri

do-while döngüsü, koşul doğru olduğu sürece en az bir kez çalışır. Yani while döngüsü gibi, koşulu kontrol etmek yerine döngünün vücut kısmını bir kez çalıştırır ve ardından koşulu kontrol eder. Daha sonra koşul doğruysa, tekrar bir kez çalıştırılır ve bu işlem, koşul yanlış olduğu zamana kadar devam eder.

Bir örnek olarak, kullanıcının bir sayı seçip seçmeyeceğini kontrol eden bir program düşünelim. Eğer kullanıcı hayır derse, tekrar sormamız gerekiyor. Bu durumda do-while döngüsü, koşulla çalışır ve kullanıcının hayır demesine rağmen bir kez daha çalışır.

do-while Döngüsü Yerinde Kullanım Örnekleri
Aşağıdaki örnekte, 1'den 10'a kadar olan sayılar yazdırılıyor:
int i = 1;do {    System.out.print(i + " ");    i++;} while (i <= 10);
Aşağıdaki örnekte, kullanıcıdan sayı seçene kadar bir dizi sayı isteniyor:
Scanner input = new Scanner(System.in);int number;do {    System.out.print("Enter a number: ");    number = input.nextInt();} while (number != 0);

Do-while döngüsünün en büyük avantajı, döngü gövdesinin en az bir kez çalışacağından emin olmaktır. Yani, koşulun false olabileceği bir durumda bile döngü en az bir kez çalışacağından, işlemlerinizde güvenilirlik sağlar.

Ayrıca do-while döngüsü, kullanıcı girdisine dayalı döngüler için idealdir. Bu durumda, döngü gövdesi en az bir kez çalışır, böylece girdi tokene dönüştürülerek sorgulanabilir. Aksi takdirde, kullanıcının yanlış bir giriş yapması halinde, diğer döngüler sonsuz bir döngü oluştururlar.


while ve do-while Döngülerinin Farkları

while ve do-while döngüleri arasında bazı temel farklılıklar bulunmaktadır. Öncelikle, while döngüsünde koşul, döngünün başında kontrol edilirken, do-while döngüsünde koşul, döngünün sonunda kontrol edilir. Bu nedenle, do-while döngüsü en az bir kez çalışırken, while döngüsü çalışmayabilir.

Bir diğer fark da, while döngüsünde koşul sağlanmadığında hiçbir kod bloğu çalıştırılmazken, do-while döngüsünde en az bir kez kod bloğu çalıştırılır, koşul sağlanmadığında bile.

While ve do-while döngüleri, uygun şekilde kullanılmadığında hatalara neden olabilir. Hatalı bir şekilde kullanıldığında, while döngüsü tamamen göz ardı edilebilir, sonuçta kod çalışmayabilir. Bu tür durumların önüne geçmek için, döngünün koşulu doğru bir şekilde belirtilmelidir.

Aşağıda bir örnek ile while ve do-while döngüleri arasındaki farkı daha iyi anlayabilirsiniz.

while Döngüsü do-while Döngüsü
while(kosul) { // Kod bloğu } do { // Kod bloğu } while(kosul);

Yukarıdaki tabloda, while ve do-while döngüleri arasındaki semantik farklar daha net bir şekilde görülebilir. Ancak, hangi döngü yapısının kullanılması gerektiği, döngünün amacına ve koşullarına bağlıdır.

Genel olarak, while döngüsü, döngünün koşuluna daha önce erişebilecek bir durumda kullanılırken, do-while döngüsü, döngü bloğundan en az bir kez geçmek gerektiğinde tercih edilir. Bu nedenle, kullanımları dikkatlice değerlendirilmeli ve doğru bir şekilde uygulanmalıdır.


Örnek Uygulamalar

while ve do-while döngülerinin kullanımı, pek çok yerde karşımıza çıkmaktadır. Özellikle döngülerin uygulandığı örnekler, algoritmaların anlaşılması ve tasarımı konusunda oldukça faydalıdır. Aşağıda, while ve do-while döngüleri ile yapılmış iki örnek uygulamayı inceleyebilirsiniz:

Bir dizi içinde yer alan sayıların toplamını bulmak istediğinizi düşünelim. Bunun için bir while döngüsü kullanabiliriz. İlk olarak dizi elemanlarını tanımlayalım ve toplamı tutacak değişkeni başlangıç değeri atayalım. Sonrasında while döngüsü içinde, dizi elemanları toplam değişkenine eklenerek toplam değeri oluşturalım. Döngü koşulu, toplam değişkeninin dizinin boyutundan küçük olması şeklinde belirlenir. Kod örneği aşağıdaki gibidir:

    int dizi[] = { 2, 4, 6, 8, 10 };    int boyut = sizeof(dizi) / sizeof(dizi[0]);    int toplam = 0;    int i = 0;    while (i < boyut) {        toplam += dizi[i];        i++;    }    printf("Dizi elemanlarının toplamı: %d", toplam);

Bu örnekte while döngüsü sayesinde, dizi elemanları toplanarak toplam değişkeninde tutulur. Döngü sonlandığında, toplam değişkeni yazdırılarak dizi elemanlarının toplamı hesaplanmış olur.

Bir sayının faktöriyelini hesaplamak için do-while döngüsü kullanabiliriz. İlk olarak kullanıcıdan sayı değeri isteyelim ve faktöriyel değişkeni başlangıç değeri olarak 1 atayalım. Sonrasında do-while döngüsü içinde, sayı değeri faktöriyel değişkenine çarpılarak faktöriyel değerinin hesaplanması sağlanır. Döngü koşulu, sayı değerinin 1'den büyük olduğu sürece tekrarlanır. Kod örneği aşağıdaki gibidir:

    int sayi;    printf("Faktöriyel hesaplamak için bir sayı giriniz: ");    scanf("%d", &sayi);    int faktoriyel = 1;    do {        faktoriyel *= sayi;        sayi--;    } while (sayi > 0);    printf("Sonuç: %d", faktoriyel);

Bu örnekte do-while döngüsü sayesinde, sayı değeri faktöriyel değişkenine çarpılarak faktöriyel değeri hesaplanır. Döngü sonlandığında da faktöriyel değeri yazdırılır.


Örnek Uygulama 1

While ve do-while döngüleri, programlama dilinde oldukça önemli yer tutan yapılardır. Bu yapılardan biri olan while döngüsü, belirli bir koşul sağlandığı sürece tekrar eden bir döngüdür. Do-while döngüsü ise, koşulun kontrolü sırasında döngünün en az bir kere çalışmasını sağlar. Bu iki döngü yapısının kullanım alanları ve farklarına bakarsak;

Örnek uygulama 1: Başlangıç değeri olarak 1 verdiğimiz bir sayının 10'a kadar olan çarpım tablosunu ekrana yazdıran bir kod yazalım:

Kod Açıklama
    int i=1;    while(i<=10) {        int j=1;        while(j<=10) {            System.out.print(i*j+" ");            j++;        }        System.out.println();        i++;    }    
  • i değişkenine başlangıç değeri olarak 1 verilir.
  • i 10'dan küçük veya eşit olduğu sürece, i değişkeni arttırılır ve içteki döngü çalıştırılır.
  • İçteki döngüde j değişkenine başlangıç değeri olarak 1 verilir.
  • j 10'dan küçük veya eşit olduğu sürece, i*j değeri ekrana yazdırılır ve j arttırılır.
  • Alt satıra geçmek için System.out.println() kullanılır.
  • Inner döngüün bitmesiyle outer döngü tekrarlanır.

Bu örnekte while döngüsü kullanarak koşulu sağlayıp sağlamadığımızı kontrol ediyoruz. Eğer koşul sağlanırsa, döngü içindeki işlemler yapılır ve döngü tekrar başlatılır. Bu işlem, i değişkeninin 10'dan küçük veya eşit olana kadar tekrarlanır. İçteki döngüde ise, belirli işlemler yapıldıktan sonra j değişkeni arttırılır ve döngü tekrar başlatılır.

While döngüsü, özellikle koşulun kontrol edilmesi gerektiği zamanlarda sıkça kullanılan bir döngü yapısıdır. Ancak bazı durumlarda do-while döngüsü daha avantajlıdır. Ne zaman kullanılması gerektiği hakkında bilgi sahibi olmak, yazdığımız kodların daha etkili ve verimli bir şekilde çalışmasını sağlar.


Örnek Uygulama 2

Bu uygulamada while döngüsü kullanarak birkaç choptop yıldızı yazdıralım. Her seferinde kullanıcıya 'Kaç yıldız yazdırmak istersiniz?' diye sorup, kullanıcının girdiği sayı kadar yıldız çizdirelim.

Kod Açıklama
import java.util.Scanner;public class WhileExampleTwo {  public static void main(String[] args) {    int count = 0;    Scanner input = new Scanner(System.in);    System.out.print("Kaç yıldız yazdırmak istersiniz? ");    int num = input.nextInt();    while (count < num) {      System.out.print("* ");      count++;    }  }}
Bu kod bloğunda, kullanıcı kaç yıldız yazdırmak istediğini söylüyor ve while döngüsü bu sayıya kadar yıldız yazdırmaya devam ediyor.

Bir sonraki örnek uygulamamızda ise do-while döngüsünü kullanarak kullanıcıya bir sayı seçtirip, kullanıcının 12345 sayılarını doğru bir şekilde girdiğinden emin olalım. Eğer kullanıcı yanlış bir sayı girdiğinde, program doğru sayıyı girene kadar tekrar tekrar sorsun.

Kod Açıklama
import java.util.Scanner;public class DoWhileExampleTwo {  public static void main(String[] args) {    Scanner input = new Scanner(System.in);    int num;    do {      System.out.print("Doğru sırayla 1, 2, 3, 4, 5 sayılarını giriniz: ");      int digit1 = input.nextInt();      int digit2 = input.nextInt();      int digit3 = input.nextInt();      int digit4 = input.nextInt();      int digit5 = input.nextInt();      num = digit1 * 10000 + digit2 * 1000 + digit3 * 100 + digit4 * 10 + digit5;    } while (num != 12345);    System.out.println("Doğru sırayla sayılar girildi!");  }}
Bu kod bloğunda, kullanıcıdan doğru sırada 1,2,3,4 ve 5 sayılarının girilmesi isteniyor. Eğer yanlış bir sayı girerlerse sormaya devam ediyoruz. Kullanıcı doğru olan 12345 sayısını girdiğinde, program çalışmayı bırakıyor ve mesaj yazdırıyor.

Bu örnek uygulamalar, while ve do-while döngülerinin ne zaman nasıl kullanılabileceğine dair bir fikir veriyor. Hem örnek uygulamaları çalıştırmalı, hem de kendi uygulamalarınızda bu döngüleri kullandığınızda farkı görebilirsiniz.