Root > Documents > Web Güvenlik Açıkları > V.B. Lesson 4Program Controlling
Cyber-Warrior.Org \ Doküman \ Web Güvenlik Açıkları > V.B. Lesson 4Program Controlling
Madde
  Yazar : SpY
  Date : 21.07.2005 10:26:02
 
# V.B. Lesson 4Program Controlling
 

Ders sonunda yapabilecekleriniz:

-Program içindeki akis kontrolünü açiklamak.

I. PROGRAM KONTROLÜ
Program içinde tanimlama deyimleri, atama deyimleri yer alir. Ancak programin isleyisinde bu deyimler sirasiyla degil de belli bir mantikla isletilmesi gerekir. Iste program deyimlerinin isleyis sirasinin kontrolüne program kontrolü denir.

Program kontrolü karar yapilari ve döngülerle saglanir:

Karar yapilari:
-If...Then..Else
-Select Case

Karar yapilarinin yani sira yaygin olarak kullanilan bir diger yapi da döngü (loop) tur. Döngüler özellikle programin etkinligi bakimindan önemli bir programlama teknigidir.

Döngü Yapilari:
-Do...Loop
-For...Next

A. DÖNGÜLER
Döngüler islemlerin belli bir sayida ya da kosulla ilgili olarak yinelenmesi (tekrari) anlamina gelir.

Döngü yapilari:

Do...Loop: Bir kosula göre döngü.
For...Next: Belli bir sayida döngü (sayaçli).

Bir sayaçli döngü For...Next döngüsü olarak bilinir. For deyimi ile döngünün sayacini tanimlanir. Next deyimi ile yinelecek blok sona erer. Döngünün her dönüsünde sayaç degiskeni bir sayi artirilir. Böylece bir sayidan digerine kadar islemler sürüdürülür.

Do...Loop Deyimi:
Bir blok deyimi verilen kosul dogru (True) oldugu sürece isletir.

Yapisi:

Do
[ifade blogu]
[Exit Do]
[ifade blogu]
Loop [{While | Until} kosul]

Do döngülerinin temelinde kosul (condition) yatar. Bir kosul True ya da False olabilen bir ifadedir.

Tablo: Iliski operatörleri
Operatör Anlami
< Küçüktür
<= Küçük esittir
> Büyüktür
>= Büyük esittir
<> Esit degildir
= Esittir
And Ve
Or Veya - Ya da
Not Degil

Örnek: Bir döngü kurma

Do While Ücret < 100000 ’ Ücret 100000 den küçük oldugunda
Toplam = Toplam + Ücret
Loop

For...Next Deyimi:

Bir grup deyimi belli sayida çalistirarak (tekrar ederek) bir döngü olusturur. Örnegin birden ona kadar (on kere) su islemi yap seklinde. Özellikle bir döngü denetim degiskenin kullanildigi (sayaç) bu döngü yapisi iç içe döngülerin de yapilmasini saglar. For.Next döngüleri özellikle dizilerin islenmesinde de yaygin olarak kullanilir.

Yapisi:

For sayaç = baslangiç To bitis [ Step artirim ]
[ifade blogu]
[Exit For]
[ifade blogu]
Next [sayaç]

Örnek: Birden ona kadar sayilarin toplamini alir:

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 sayilarin toplami: " & Toplam
End sub

B. KARAR YAPILARI
Karar yapilari If...Then...Else ve Select...Case deyimleriyle gerçeklestirilir. If...Then...Else deyimi belli bir deyimi ya da bir blok deyimi bir kosula bagli olarak isletmeyi saglar. Kosulun dogru olmasi True, yanlis olmasi False anlamina gelir. Select Case deyiminde ise özellikle bir karar degiskeninin aldigi degerlere göre degisik islemlerin yapilmasi saglanir.

Karar yapilarinin temelinde degerler arasindaki iliskiler yatar. Iliskiler degerler arasindaki operatörlerle kurulur.

Tablo: Iliski operatörleri
Operatör Anlami
< Küçüktür
<= Küçük esittir
> Büyüktür
>= Büyük esittir
<> Esit degildir
= Esittir
And Ve
Or Veya - Ya da
Not Degil

If...Then...Else Deyimi:

Klasik olarak kullanilan karar mekanizmasidir. Eger kosul saglaniyorsa (if) bunu yap; yoksa sunu yap (else) gibi:

If kosul Then
[islem1]
Else
[islem2]
End If

If-Then-Else yapisinin birinci kullanim biçiminde genellikle basit ifadelere karsilik gelen ifadeler çözülür. Kosul dogruysa (True) Then’den sonraki deyim isletilir, degilse bu deyimler atlanir. Ikinci kullanim biçiminde ise; daha karmasik hesaplamalara ve kararlara karsilik gelen ifadeler çözülür. Bu yapida kosul dogruysa islem1 yerine getirilir, degilse Else’den sonra belirtilen islemler yerine getirilir.

[kSelect Case Deyimi:[/f

Bir degerin test edilmesini saglayan ve yaygin kullanilan bir yapidir. Select Case yapisi bir kosul ya da degisken için olasi degerlerin degerlendirilmesini saglar. Diger bir deyisle bir ifadenin degerine göre bir ya da daha çok deyim grubunun (ifade blogunun) isletilmesini saglar.

Yapisi:

Select Case test degeri
Case deger1
deyim blok 1
Case deger2
deyim blok 2
End Select

Select Case yapisi içindeki ilk deyim Select Case’dir. Ardindan bir degeri olan test degiskeni yer alir. Bu deger bir sayi, string ya da fonksiyon olabilir. Ardindan kosullarin belirtildigi Case deyimleri yer alir.

Örnek: Ücret hesabi

Ü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

II. UYGULAMA
Önceki derslerde ekrandan alinan tarih bilgilerini kontrol etmek için IF’li bir yapi olusturabilirsiniz. Örnegin kayit tarihi olarak girilen bilginin günün tarihinden daha küçük olmasi gerekir.

III. GÖZGEN GEÇIRME
1. Karar yapilarini açiklayin.
2. IF ve Select yapilarini birbiriyle karsilastirin. Hangi durumlarda tercih edilebilir?
3. Döngüleri yarida kesip çikmak mümkün mü? Evet ise nasil?

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©