Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Döngüler "II"

Yazar: Fikret AKIN

Kategori: C#.NET & VB.NET

Eklenme Tarihi: 18.08.2007 23:06:15

Döngüler Bir programın olmazsa olmaz yapılarındandır ve özellikle mantıksal ve sürekli işlem yapmada bize kolaylıklar sağlar. Ele alınan döngü " While ve Do Loop Döngüleri "

While

While döngüsü bir koşul gerçekleştiği sürece çalışan döngüdür. For döngüsüne göre avantajı, sayı dışında herhangi bir veri tipi üzerinde karşılaştırma yapılabilir olmasıdır. Ancak For döngüsünde otomatik yapılan sayaçların artırılması ve kontrol edilmesi işlemleri bu döngüde yapılmaz. Bunun için kod yazmamız gerekir.

While Koşullar

End While

While döngüsünde koşul kontrolleri döngünün içinde yapılır ve gerektiğinde

Exit While ifadesi ile döngüden çıkılır.

Birden ona kadar olan sayıların toplamını hesaplamak için, bir ve on arasındaki

sayılar tek tek yazılıp toplanabilir. Bu, iyi bir yöntem olmasa da sonuç verir. Ancak

kullanıcının girdiği bir sayıya kadar toplam almak için bir döngü gerekir.

Dim toplam As Integer = 0

Dim sayac As Short = InputBox("Bir sayı girin")

While sayac > 0

toplam += sayac

sayac -= 1

End While

Burada kullanıcının girdiği sayıdan itibaren sıfıra kadar giden bir döngü kurulur.

Döngü sayacın sıfırdan büyük olduğu her durum için çalışır. Sayaç sıfırlandığında

ise döngüden çıkılır.

While koşul1 and koşul2 or koşul3

End while

Do Loop

Do ifadesi ile başlayan döngülerin söz dizimi Loop ifadesi ile sonlanacak şekilde yazılır. Loop anahtar kelimesinin görevi, Do ifadesine geri dönmektir.

Dolayısıyla koşul kontrolü yapılmayan bir Do Loop döngüsü sonsuza kadar çalışır.

Do

Label1.Text = "Bu döngüden çıkılamaz."

Loop

Do Loop döngüsünde koşul kontrolleri döngünün içinde yapılır ve gerektiğinde Exit Do ifadesi ile döngüden çıkılır.

Do

Dim kullanici, parola As String

kullanici = InputBox("Kullanıcı Adı: ")

parola = InputBox("Parola: ")

If LCase(kullanici) = "ogrenci" And parola = "123456"

Then

Exit Do

End If

MsgBox("Hatalı giriş!", MsgBoxStyle.Exclamation)

Loop

Label1.Text = "Giriş başarılı." & vbCrLf

Exit Do ifadesi ile karşılaşıldığı zaman döngüden çıkılacağı için, If içinde kontrol edilen koşul doğru ise mesaj kutusunun gösterildiği kod bölümüne geçilmez.

Do While

Koşullar, Do Loop döngüsünün içinde kontrol edilebildiği gibi, döngüye girmeden de kontrol edilebilir.

Dim i As Integer = 0

Do While i < 10

i += 1

Loop

Döngünün bu şekilde kullanımının While - End While döngüsünden farkı yoktur. Ancak Do While döngüsünün yapısı daha esnektir ve kontrol Loop ifadesinde de yapılabilir.

Dim yanit As String

Do

MsgBox("İşlem yapılıyor...")

yanit = InputBox("Devam etmek istiyor musunuz?")

Loop While (yanit = "e" Or yanit = "E")

Buradaki fark, döngü içinde tanımlanan işlem bir defa yapıldıktan sonra koşulun kontrol edilmesidir. Yani en az bir defa yapılması istenen bir işlem Do -Loop While yapısı içersinde kullanılabilir.

Do Until

Do Loop döngüsünün, kontrol edilen koşul gerçekleşene kadar devam etmesi isteniyorsa, Do Until yapısı kullanılır. Do While döngüsü, koşul True olduğu sürece devam ederken; Do Until döngüsü, koşul True olduğu zaman sonlanır.

Dim dizi(9) As Integer

Dim i As Integer = 0

Do Until i = 10

dizi(i) = i * i

i += 1

Loop

Do While ile yazılan bir döngüyü Do Until ifadesine çevirmek için, While kontrolündeki koşulun tersinin alınması gerekir.

Dim yanit As String

Do

MsgBox("İşlem yapılıyor...")

yanit = InputBox("Devam etmek istiyor musunuz?")

Loop Until Not (yanit = "e" Or yanit = "E")

Do

MsgBox("İşlem yapılıyor...")

yanit = InputBox("Devam etmek istiyor musunuz?")

Loop Until (yanit <> "e" And yanit <> "E")

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.