D.ershane D Programlama Dili Dersleri

do-while: [do-while], işlemleri en az bir kere işleten döngü
for: [for], while'ın birimlerinin hepsini aynı yerde tanımlayan deyim
while: [while], ifadeleri başka bir mantıksal ifade doğru olduğu sürece işleten kapsam
... bütün sözlük

Bölümler
İngilizce Kaynaklar
Diğer



do-while Döngüsü

for döngüsü dersinde 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

asıl işlemler
ilerletilmesi
koşul denetimi

...

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

import std.cstream;
import std.random;

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

    dout.writefln("1'den 100'e kadar bir sayı tuttum!...");

    int tahmin;

    do
    {
        dout.writef("Tahmin? ");

        din.readf(&tahmin);

        if (sayı < tahmin) {
            dout.writef(" in; ");

        } else if (sayı > tahmin) {
            dout.writef("çık; ");
        }
        
    } while (tahmin != sayı);

    dout.writefln("Evet!");
}

Daha doğal gelmeyebilir de... :o) Seçim sizin...

uniform, std.random modülünde bulunan bir işlevdir. Belirtilen aralıkta eşit dağılımlı rastgele 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.
... çözüm