Çalışıyor Visual Basic' de While Ve Do Döngüleri


Visual Basic ve .NET Framework    Visual Basic ve .NET Framework İle İlgili Paylaşım Kategorisi

Yazar: Exorcism    0 Yorum    283 Görüntüleme
  • 0 Oy - 0 Yüzde

Paylaşım Tarihi: 24.05.2016, 18:44:56 #1
Exorcism Who İs The Beast
Ultra Üye
Status: Çevrimdışı Yorum Sayısı:840 Konu Sayısı:378 Üyelik Tarihi:06.02.2016 Rep Puanı: 1,228

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 (ImportsMicrosoft.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.

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!

 UMARIM SİZİNDE İŞİNİZE YARAR ARKADAŞLAR. BANA GÖRE YARARLI BİR KONU. İŞİNİZE YARARYIP YARAMADIĞINI LÜTFEN MESAJ OLARAK ATIN.

                          MemoryHackers.Com Farkıyla !!

Kullanıcı İmzası
                                                                     İmage
Söz sizin ağzınızda olduğu sürece, sizin esirinizdir. 
                                   Söz ağızdan çıktıktan sonra, siz onun eseri olursunuz









Aradığınızı Bulamadınız Mı ?

Konuyu görüntüleyenler:
1 Misafir