D Programlama Dili – Programlama dersleri ve D referansı
Ali Çehreli

döngü: [loop], tekrarlanan program yapısı
... bütün sözlük



İngilizce Kaynaklar


Diğer




do-while Döngüsü

for döngüsü bölümünde while'ın işleyiş adımlarını da görmüştük:

hazırlık

koşul denetimi
asıl işlemler
ilerletilmesi

koşul denetimi
asıl işlemler
ilerletilmesi

...

do-while'ın while'dan farkı, koşul denetiminin sonda olması ve bu sayede işlemlerin en az bir kere işletilmeleridir:

hazırlık (while'dan daha az durumda gerekir)

asıl işlemler
ilerletilmesi
koşul denetimi    ← koşul denetimi sonda

asıl işlemler
ilerletilmesi
koşul denetimi    ← koşul denetimi sonda

...

Örneğin, tuttuğu sayının tahmin edilmesini bekleyen bir programda do-while döngüsü daha doğal gelebilir:

import std.stdio;
import std.random;

void main() {
    int sayı = uniform(1, 101);

    writeln("1'den 100'e kadar bir sayı tuttum.");

    int tahmin;

    do {
        write("Tahmininiz nedir? ");

        readf(" %s", &tahmin);

        if (sayı < tahmin) {
            write("tuttuğum sayı daha küçük; ");

        } else if (sayı > tahmin) {
            write("tuttuğum sayı daha büyük; ");
        }

    } while (tahmin != sayı);

    writeln("Doğru!");
}

uniform, std.random modülünde bulunan bir işlevdir. Belirtilen aralıkta eşit dağılımlı rasgele sayılar üretir. Yukarıdaki kullanımında; aralığı belirleyen ikinci değer, çıkacak sayılar arasında değildir. Diğer kullanımlarını öğrenmek için std.random modülünün belgesine bakabilirsiniz.

Problem

Aynı oyunu bilgisayara oynatın; tuttuğunuz sayıyı en fazla 7 tahminde bulacaktır.