Valid XHTML 1.0! Valid CSS!

Döngüler

Şimdi bilgisayar programlamanın etkileyici bir yönü olan döngüler ile tanışacaksınız.

Favori metin editörünüzü kullanarak, şunları yazınız:

Bu kod parçalarının ne yapacağını tahmin edebilir misiniz?Dosyayı loops.rb olarak kaydedip çalıştırın.

Gördüğünüz gibi döngü içeriği 4 defa çalıştırıldı.As you can see, the contents of the loop have been executed 4 times. Bu Ruby'nin sunduğu en temel ileri döngüdür.

Sayma

Burada başka bir örnek var. Şimdi değişken bilgilerimizi kullanarak 1'den 5'e kadar olan sayıları ekrana yazalım.

Integer#to_s yönteminin tamsayıları dizgeye çevirdiğini hatırlayalım, böylece bunu "count = " dizgesine ekleyebiliriz.

Bunu çalıştırdığınızda aşağıdaki gibi bir çıktı alırsınız:

Sayıların Toplamı

1'den 11'e kadar olan tüm sayıların toplamını bilmek istediğimi düşünün. 1'den 11'e kadar olan sayıları elde etmeyi yeni örenmiştik,tek ihtiyacımız olan bu sayıları birbirleri ile toplamak.

Buna benzer bir çıktı alırsınız:

Çoklu-Satır Durumları

Son örnekteki puts komutu bir dereceye kadar uzun ifadeleri destekler. Peki ya çok uzun bir satır yazarmak isterseniz ne olur?

Tersslash -\- kullanrak satırları parçalayabilirsiniz.irb'deki şu örneği inceleyiniz:

Buradaki  '=> nil' ifadefi basit olaral puts komutunun birşey döndürmediğini anlatır. Diğer bir deyişle eğer siz şunu yazsaydınız:

variable = puts "hello"

Böylece variable hiçbirşey ile son bulacaktı. Ve Ruby'nin hiçbirşey için olan nesnesi nil'dir.

puts komutunu ikiden daha fazla sayıda satır üzerinde parçalama yapılırsa neler olabileceğine dikkat ediniz. Öğrendiğimiz bilgileri kullanarak programımızdaki bu satırları tekrardan yazalım:

Aslında bu çıktıyı istediğiniz gibi kullanabilirsiniz:

İkaz. Programınızın satırlarını yukarıdaki gibi yapmanıza gerek yok. Ben yukarıdaki gibi yaptım çünkü bu şekilde daha güzel görünüyor. Bu programı çalıştırdığınızda şunları göreceksiniz:

Uyarı: Tersslash '\' hersatırdaki son karakter olmalıdır. Eğer bir boşluktan sonra koyarsanız hata uyarısı alırsınız.

Daha Fazla Örnek

Geriye doğru saymayı deneyin.

Bazı noktaları açıklayalım. Burada bazı örnekler var.

Geriye Doğru Sayma

Bu programı yazın:

Program bunu üretir:

Değişken Sayı Yinelemeli Sayma Counting a variable number of times

Bu döngüler değişkenler ile birlikte çalışır.

Bu örnekte bir sayının faktöriyel'ini hesaplayacağız. Bir sayının faktöriyeli olan n sayısı şunların çarpımıdır:

1 x 2 x 3 x ... x n

Bunun sembolü n!'dir.  Bu örnekte faktöriyeli hesapladık.

6! = 6 x 5 x 4 x 3 x 2 x 1 = 720

Aşağıdaki uygulamayı yazıp programı çalıştırın:

Alıştırmalar

  1. 1'den 1000'e kadar olan tamsayıların toplamı kaçtır?

  2. 10'dan 100'e kadar olan tam sayıların toplamı kaçtır?

  3. Buradda daha zor bir soru var.

    Şu şekilde devam eden bir şarkı var:

    On the first day of Christmas, my true love sent to me a partridge in a pear tree.
    On the second day of Christmas, my true love sent to me two turtle doves and a partridge in a pear tree.
    ...
    Eğer bu Noel'in 12 günü içinde devam edecek olursa, gerçek aşkınız  Noel boyunca kaç adet hediye yollar?
    (İpucu: Birbirlerinin içerisinde döngülere ihtiyacınız var).