Valid XHTML 1.0! Valid CSS!

While Döngüsü

Artık koşulları biliyorsunuz, sıra bir diğer tip döngüye bakmaya geldi: while döngüsü.

Bu tip döngü şimdiye kadar gördükleriniz içerisindeki en güçlü olanıdır. Fakat bu döngü koşulları anlamış olmanızı gerektirir. En temel kullanımı şu şekildedir:

while cond
   ...
end

Burada  cond son bölümde gördüğümüz bir koşuldur.

Sayma

Burada basit bir örnek var:

Bu programa bir göz atalım:

  1. count değişkeni 0 olarak belirleniyor.
  2. count değişkeni < 10 olduğu sürece döngü içerisinde kalınıyor.
  3. Döngü içerisinde ekrana bir mesaj yazıyoruz ve count değişkenine 1 ekliyoruz. Artık count değişken değeri  1 oldu.
  4. count değişkeni < 10 olduğu sürece aynı işlemler tekrarlanıyor.

Bu count değişken değeri 10 oluncaya kadar tekrar ettirilir. Böylece döngümüzün çıkışı şu şekilde olur:

Diğer bir değişle while döngüsü koşul doğru olduğu sürece döngüyü tekrar ettirir.ue. Bu sebepten dolayı ismi while'dır.

2'nin Kuvvetleri

'n.defa'. yineleme ile çok zor olan bazı uygulamalar  while döngüsü ile çok basit bir şekilde gerçeklenebilir.

1000'den küçük olan 2'nin en büyük kuvvetini bilmek istediğimizi düşünün. Bu while döngüsü ile çok kolay bir şekilde yapılabilir:

'n.defa'. yineleme ile ne kadar zor olduğunu düşünün.

Alıştırmalar

  1. Son programı tekrardan yazın, bu defa program en yüksek sayıyı sordun ve buna bağlı olarak da 2'nin kuvvetini hesaplasın.

  2. Aşağıdaki programı çalıştırın ve girdi olarak  1e10 yazın. Ne olur?

    EğerString#to_i yöntemini kullanırsanız, "1e10"  1 olarak dönüştürülür. irb 'yi açıp bunu deneyiniz.

    1e10 sayısının ondalıksayı olduğunuz görürsünüz. Bu yüzden     String#to_f yöntemini kullanmalısınız.