Visual Basic.NET For, While ve do döngüleri:

Makaleden ögreneceklerimiz:

1-) For döngüsünü nasil  kullanacagiz,

2-) While döngüsünü nasil  kullanacagiz,

3-) do – while döngüsünü  nasil  kullanacagiz,

4-) do – Until döngüsünü nasil  kullanacagiz,

5-) do – Loop while döngüsünü nasil  kullanacagiz,

6-) do – Loop Until döngüsünü nasil  kullanacagiz.

 

 

For döngüsü:

For komutu programlama dillerinde verilen bir emri belirlenen bir miktar kadar yapmak için kullanilir.

Örnegin, For komutu yardimi ile 1’den 10’a kadar sayilari ekrana yazdiralim:

 

        Dim sayi As Integer

 

        For sayi = 1 To 10

            TextBox1.AppendText(CStr(sayi) & NewLine)

        Next

    End Sub

 

 .

Not1: NewLine komutu için (Imports Microsoft.VisualBasic.ControlChars)import etmemiz gerekir.

Not2: AppendText metodu TextBox’a bir sayi eklememizi sagliyor.

 

Integer olarak tanimladigimiz ‘sayi’ degiskenimiz 1’den baslayip teker teker 10’a kadar deger aliyor.

Peki biz bunu teker teker degil de ikiser ikiser artsin istiyorsak?

Bu durumda yapmamiz gereken sey çok basit: ‘Step’ komutu imdadimiza yetisiyor;

 

        For sayi = 1 To 10 Step 2

            TextBox1.AppendText(CStr(sayi) & NewLine)

        Next

 

For sayi = 1 To 10 Step 2 yerine For sayi = 10 To 1 Step -1  de diyebilirdik. O zaman programimizin çiktisi su sekilde olur:

 

10

9

8

7

6

5

4

3

2

1

 

Yani ilk yaptigi sayma isleminin tam tersi.

 

 

While döngüsü:             

 

Vb.net’te While  döngüsü For döngülerinden  daha esnektir. Fakat bu esneklik beraberinde risk de getirmekte. Gördük ki eger tekrarin kaç kere yapilmasi gerektigini önceden biliyorsak For komutunu rahatlikla kullanabiliriz. Peki ya ne kadar tekrar olacagini önceden bilemiyorsak?

 

        Dim sayi As Integer = 0

 

        While sayi < 10

            sayi += 1

            TextBox1.AppendText(CStr(sayi) & NewLine)

        End While

 

Programdan istenen sey su; ‘sayi’ degiskeni eger 10’dan küçük ise döngü içerisinde verilen emirleri yerine getir.  Eger ‘sayi’ 10 veya daha büyükse döngüden çikar.

 

Simdi eglenceli birseyler yapalim. Seviye: Amonra_ has much to be proud ofAmonra_ has much to be proud ofAmonra_ has much to be proud ofAmonra_ has much to be proud ofAmonra_ has much to be proud ofAmonra_ has much to be proud ofAmonra_ has much to be proud ofAmonra_ has much to be proud of

                                              

Satranç oyununu bulan bilge kisinin öyküsü

Satranç oyununu bulan bilge kisinin öyküsü Satranç oyununu bulan bilge kisinin öyküsünü biliyor musunuz ?

Ödül olarak kraldan satranç tahtasinin ilk karesinin üzerine bir, ikinci karenin üzerine iki,

üçüncü karenin üzerine dört pirinç koymasini ve bu biçimde sayilari her seferinde ikiye katlayarak satranç tahtasinin tüm karelerini pirinçle doldurmasini istemis bu bilge.

Bizim kiral da meger pek kafasi calisan biri degilmis, önce bu istegi çok alçakgönüllü bulmus ve içinden bilge kisiye gülmüs ama son gülen iyi gülermis! Bir sayiyi on kez ikiye katlarsak o sayiyi 1024 ile çarpmis oluruz; bunu yirmi kez yaparsak bir milyonun üstünde bir sayiyla çarpmis oluruz ve bu böylece sürüp gider.

Hadi simdi bunu While yardimi ile hesaplayalim:

 

        Dim kare, pirinc, toplam As Double

        kare = 1

        pirinc = 1

        toplam = 1

        TextBox1.AppendText(CStr(kare) & ". karede " & pirinc & " pirinç var" & NewLine)

 

        While kare < 32

            kare = kare + 1

            pirinc = pirinc * 2

 

            TextBox1.AppendText(CStr(kare) & ". karede " & pirinc & " pirinç var" & NewLine)

            toplam = toplam + pirinc

        End While

 

        TextBox1.AppendText("toplam: " & CStr(toplam))

Ben 64 yerine 10 aldim ki programin çiktisi abartili olmasin. Iste sonuç:

 

1. karede 1 pirinç var

2. karede 2 pirinç var

3. karede 4 pirinç var

4. karede 8 pirinç var

5. karede 16 pirinç var

6. karede 32 pirinç var

7. karede 64 pirinç var

8. karede 128 pirinç var

9. karede 256 pirinç var

10. karede 512 pirinç var

toplam: 1023

 J

 .

While döngüsünü özetleyecek olursak:

 

1-) Eger aranan sart mevcutsa döngü devam eder

2-) Eger aranan sart yok ise döngü End While komutu ile son bulur.

 

While döngüsü içerisinde kullanilan karsilastirma operatörleri için http://www.yazilimmutfagi.com/MakaleOku.aspx?Makale=Visual+Basic+If+Else+YapIsI&MakaleKey=7f10a8e9-a954-48e7-8dfb-d372fd5c9dcb makalemize bakabilirsiniz.

 

 

Buraya kadar Visual Basic.NET’te döngülerin nasil yapildigini ve çalisma mantigini anlatmaya çalistim.

Simdi biraz ayrintiya girip, degisik durumlar için kullanilan diger döngülere bakalim. Mantik ayni oldugu icin kisa örneklerle yetinecegim.

 

Amaç, sayilari 1’den 10’a kadar TextBox’a yazdirmak olsun:

 

Do – While ile:

 

        Dim sayi As Integer

 

        Do While sayi < 10

            sayi = sayi + 1

            TextBox1.AppendText(CStr(sayi) & ", ")

        Loop

 

 

Do – Until ile:

 

        Do Until sayi >= 10

            sayi = sayi + 1

            TextBox1.AppendText(CStr(sayi) & ", ")

        Loop

 

Do – Loop While ile:

 

        Do

            sayi = sayi + 1

            TextBox1.AppendText(CStr(sayi) & ", ")

        Loop While sayi < 10

 

Do – Loop Until ile:

 

        Do

            sayi = sayi + 1

            TextBox1.AppendText(CStr(sayi) & ", ")

        Loop Until sayi >= 10

 

Programlarin çiktisi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

 

Not: Karsilastirma operatörlerine (<, >, =, <=, >=,<>) dikkat ediniz!

 .

14 thoughts on “Visual Basic.NET For, While ve do döngüleri:

  1. asp.net değil bu yalnız vb.net asp.net ile farklıdır. 

    vb.net ile soryorsanız basit bir for döngüsü ile 1-10 arası sayıları toplatabilirsiniz
            Dim toplam As Integer = 0
            Dim i As Integer
            For i = 1 To 10
                toplam = toplam + i
            Next
            Console.WriteLine(toplam)
            Console.ReadLine()
  2. yazynyn puntosunu azaltma

    1 <script language=”VB” runat=”server”>

    2 dim i as integer

    3 sub Page_Load(sender as object, e as eventargs)

    4 for i = 7 to 1 step -1

    5 response.write(“<font size=” & i & “>” & “Türkiye” &

    “</font>” & “<br>”)

    6 next

    7 end sub

    8 </script>

  3. 1 ile 10 arasynraki sayylary for ile nasyl toplatyryz asp.net vb dilinde yardymcy olursanyz sevinirim

  4. Do while: 

            Dim i As Integer = 1
            Dim kareler As Integer

            Do While i <= 10
                kareler = i * i
                i = i + 1
                TextBox1.AppendText((kareler) & vbCrLf)
            Loop

    Do until:

            Dim i As Integer = 1
            Dim kareler As Integer

            Do Until i > 10
                kareler = i * i
                i = i + 1  
               TextBox1.AppendText((kareler) & vbCrLf)
           &n

  5. C# da do while ile su sekilde yapabilirsin.

    string kareler = "";
    int i = 1;
    do
    {
        int kare = i * i;
        kareler += String.Format("{0} in karesi = {1}\r\n", i, kare);
        i++;
    }
    while (i <= 10);
    MessageBox.Show(kareler);

    artik vb sinide sen yazarsin

  6. arkadaslen sunlari istiyorum.

    1 den 10 a kadar olan sayilarin karelerini alma

    while

    do while ve do until ile yaparmisiniz ????

  7. Csharp kodu su sekilde, vb halinide sen yazarsin 

    int sayi1 = 5;

    int sayi2 = 10;

    do

    {

        Console.WriteLine("{0} Sayisinin; Karesi = {1} ,Küpü = {2}", sayi1,sayi1 * sayi1, sayi1 * sayi1 * sayi1);

        sayi1++;

    } while (sayi1 <= sayi2);

  8. 2 sayi arasindaki sayilarin karesini ve küpünü alan do while döngüsü nasil ???

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir