Ders sonunda yapabilecekleriniz:
-Program içindeki akış kontrolünü açıklamak.
Program içinde tanımlama deyimleri, atama deyimleri yer alır. Ancak programın işleyişinde bu deyimler sırasıyla değil de belli bir mantıkla işletilmesi gerekir. İşte program deyimlerinin işleyiş sırasının kontrolüne program kontrolü denir.
Program kontrolü karar yapıları ve döngülerle sağlanır:
Karar yapıları:
-If...Then..Else
-Select Case
Karar yapılarının yanı sıra yaygın olarak kullanılan bir diğer yapı da döngü (loop) tur. Döngüler özellikle programın etkinliği bakımından önemli bir programlama tekniğidir.
Döngü Yapıları:
-Do...Loop
-For...Next
Döngüler işlemlerin belli bir sayıda ya da koşulla ilgili olarak yinelenmesi (tekrarı) anlamına gelir.
Döngü yapıları:
Do...Loop: Bir koşula göre döngü.
For...Next: Belli bir sayıda döngü (sayaçlı).
Bir sayaçlı döngü For...Next döngüsü olarak bilinir. For deyimi ile döngünün sayacını tanımlanır. Next deyimi ile yinelecek blok sona erer. Döngünün her dönüşünde sayaç değişkeni bir sayı artırılır. Böylece bir sayıdan diğerine kadar işlemler sürüdürülür.
Do...Loop Deyimi:
Bir blok deyimi verilen koşul doğru (True) olduğu sürece işletir.
Yapısı:
Do
[ifade bloğu]
[Exit Do]
[ifade bloğu]
Loop [{While | Until} koşul]
Do döngülerinin temelinde koşul (condition) yatar. Bir koşul True ya da False olabilen bir ifadedir.
Tablo: İlişki operatörleri
Operatör Anlamı
< Küçüktür
<= Küçük eşittir
> Büyüktür
>= Büyük eşittir
<> Eşit değildir
= Eşittir
And Ve
Or Veya - Ya da
Not Değil
Örnek: Bir döngü kurma
Do While Ücret < 100000 ' Ücret 100000 den küçük olduğunda
Toplam = Toplam + Ücret
Loop
For...Next Deyimi:
Bir grup deyimi belli sayıda çalıştırarak (tekrar ederek) bir döngü oluşturur. Örneğin birden ona kadar (on kere) şu işlemi yap şeklinde. Özellikle bir döngü denetim değişkenin kullanıldığı (sayaç) bu döngü yapısı iç içe döngülerin de yapılmasını sağlar. For.Next döngüleri özellikle dizilerin işlenmesinde de yaygın olarak kullanılır.
Yapısı:
For sayaç = başlangıç To bitiş [ Step artırım ]
[ifade bloğu]
[Exit For]
[ifade bloğu]
Next [sayaç]
Örnek: Birden ona kadar sayıların toplamını alır:
Sub Button1_Click ()
Dim Toplam As Double
Toplam = 0
For I = 1 To 10
Toplam = Toplam + I
Next I
MsgBox "1'den 10'a kadar sayıların toplamı: " & Toplam
End sub
NOT: Bu dokümanlar Faruk Çubukçu tarafından hazırlanmıştır. Burada adı geçen ticari ünvanlar ve markalar bilgi amaçlı kullanılmışlardır ve kendi imtiyazlarına sahiptirler. Bu dokümanlar ticari amaçlı olarak kullanılmaz. Daha fazla bilgi için www.farukcubukcu.com adresine bakınız.
Karar yapıları If...Then...Else ve Select...Case deyimleriyle gerçekleştirilir. If...Then...Else deyimi belli bir deyimi ya da bir blok deyimi bir koşula bağlı olarak işletmeyi sağlar. Koşulun doğru olması True, yanlış olması False anlamına gelir. Select Case deyiminde ise özellikle bir karar değişkeninin aldığı değerlere göre değişik işlemlerin yapılması sağlanır.
Karar yapılarının temelinde değerler arasındaki ilişkiler yatar. İlişkiler değerler arasındaki operatörlerle kurulur.
Tablo: İlişki operatörleri
Operatör Anlamı
< Küçüktür
<= Küçük eşittir
> Büyüktür
>= Büyük eşittir
<> Eşit değildir
= Eşittir
And Ve
Or Veya - Ya da
Not Değil
If...Then...Else Deyimi:
Klasik olarak kullanılan karar mekanizmasıdır. Eğer koşul sağlanıyorsa (if) bunu yap; yoksa şunu yap (else) gibi:
If koşul Then
[işlem1]
Else
[işlem2]
End If
If-Then-Else yapısının birinci kullanım biçiminde genellikle basit ifadelere karşılık gelen ifadeler çözülür. Koşul doğruysa (True) Then'den sonraki deyim işletilir, değilse bu deyimler atlanır. İkinci kullanım biçiminde ise; daha karmaşık hesaplamalara ve kararlara karşılık gelen ifadeler çözülür. Bu yapıda koşul doğruysa işlem1 yerine getirilir, değilse Else'den sonra belirtilen işlemler yerine getirilir.
Select Case Deyimi:
Bir değerin test edilmesini sağlayan ve yaygın kullanılan bir yapıdır. Select Case yapısı bir koşul ya da değişken için olası değerlerin değerlendirilmesini sağlar. Diğer bir deyişle bir ifadenin değerine göre bir ya da daha çok deyim grubunun (ifade bloğunun) işletilmesini sağlar.
Yapısı:
Select Case test değeri
Case değer1
deyim blok 1
Case değer2
deyim blok 2
End Select
Select Case yapısı içindeki ilk deyim Select Case'dir. Ardından bir değeri olan test değişkeni yer alır. Bu değer bir sayı, string ya da fonksiyon olabilir. Ardından koşulların belirtildiği Case deyimleri yer alır.
Örnek: Ücret hesabı
Ücret= Val(Text1.Text)
Select Case Ücret
Case 1000 to 1100
Vergi = Ücret * 0.20
Case 1101 to 1200
Vergi = Ücret * 0.25
Case 1201 to 1300
Vergi = Ücret * 0.30
Case Else
Vergi = Ücret * 0.40
End Select
Önceki derslerde ekrandan alınan tarih bilgilerini kontrol etmek için IF'li bir yapı oluşturabilirsiniz. Örneğin kayıt tarihi olarak girilen bilginin günün tarihinden daha küçük olması gerekir.
1. Karar yapılarını açıklayın.
2. IF ve Select yapılarını birbiriyle karşılaştırın. Hangi durumlarda tercih edilebilir?
3. Döngüleri yarıda kesip çıkmak mümkün mü? Evet ise nasıl?