1 - Endüstri Mühendisliği Bölümü | Anadolu Üniversitesi

Download Report

Transcript 1 - Endüstri Mühendisliği Bölümü | Anadolu Üniversitesi

1
Anadolu Üniversitesi
Endüstri Mühendisliği Bölümü
Program Kontrol ve Döngü Deyimleri, Operatörler
Visual Basic 6.0
Ders Notları
Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,
2
Program Kontrol Deyimleri
• VB’de kullanılan kontrol deyimleri :
–
–
–
–
–
If … Then …
Select Case …
IFF
Choose
Switch
• Kontrol deyimleri ile belirli şartlar aranarak
programın bir kısmının çalıştırılması sağlanır.
3
If Yapısı
• Bazı şartların gerçekleşmesi durumunda kodların
çalıştırılmasına imkan veren bir yapıdır.
If Şart Then
Komutlar
Else
Komutlar
End If
• Şartın gerçekleşmesi halinde Then deyiminden
sonraki, aksi halde Else deyiminden sonraki satırlar
işletilir.
• Else bloğu istenirse verilmeyebilir.
• Ayrıca tek satırda şart yazılıyorsa End if deyimi
kullanılmaz.
4
Örnek
5
Örnek
6
Örnek
7
Select Case Yapısı
• Bir değişkenin aldığı bir çok değere göre ayrı
komutların çalıştırılması gereken durumlar için Case
yapısı kullanılır.
Select Case
Case
Case
Case
Case
Case
…
Case
Case
End Select
Değişken
Durum1 :Komutlar
Durum2, Durum3 :Komutlar
Durum4 to Durum7 :Komutlar
is < Durum8 :Komutlar
is > Durum9 :Komutlar
Durum N :Komutlar
Else: Komutlar
8
Örnek
9
IIF
• Bir değişkenin değeri iki durumdan birine göre değer
alıyorsa if yapısı yerine IIF kullanılabilir.
IFF(şart;doğru ise; yanlış ise)
10
Choose Yapısı
• Bir değişkenin aldığı değer bir sayıya bağlı ise Choose
yapısı kullanılır
Sonuç= Choose(Sayı,
deger1, deger2, … , deger N)
gun= Choose(GunNo,”Pa”, “Pt”,”Sa”,”Çar”, “Per”, “Cum”, “Ctesi”)
1
5
11
Switch
• Switch fonksiyonunda birden fazla şartı aynı satırda
kontrol etmek mümkündür.
Sonuç= Switch(şart1,deger1, şart2, deger2, … ,şartN, deger N)
Dim n
n=Val(InputBox(“Notunuz”))
Print Switch(n>0 and n<40,”kotu”, n>=40 and n<60, “orta”, n>=60 “iyi”)
12
Döngü Deyimleri
• Belirli bir komut parçasını belirli şartlar
gerçekleşinceye kadar defalarca çalışmasını sağlayan
yapılardır.
Çalışma Sayısı Belirli ise
- For … Next,
Diğer Durumda
- While… Wend,
- Do… Loop,
Döngüleri kullanılır.
13
For … Next
For sayaç= BaşangıçDeğeri to BitişDeğeri [Step Artım]
Komutlar
Next
• For döngüsü sayacın “BaşlangıçDeğeri”nden başlayarak
“BitişDeğeri”ne kadar birer artarak Next’e kadar olan
komutları çalıştırır.
• Eğer sayacın birer birer değil de belirleyeceğimiz aralıklarla
artıp azalmasını istiyorsanız step parametresinden sonra
“Artım” miktarını yazmanız gerekir.
• Başlangıç değeri bitiş değerinden küçük ise döngüye hiç
girilmeyecektir.
• Sayacın azalarak çalışması isteniyorsa, BaşlangıçDeğeri
BitişDeğerinden büyük ve step’ten sonraki Artım değeri
negatif sayı olmalıdır.
14
For …. Next Örneği
15
For …. Next Örneği
16
For …. Next Örneği
17
For Döngüsü Örneği
18
While-Wend ve Do-Loop Döngüleri
• Bir döngünün kaç defa çalışacağı önceden bilinmiyor
ancak belirli şartlar sağlandığı sürece işlemleri tekrar
etmesi isteniyor ise while döngüleri kullanılır.
While şart
Komutlar
Wend
Do While şart
Komutlar
loop
Do
Do Until şart
Komutlar
loop
Do
Şart sağlanırsa komutlar çalışır
Komutlar
loop While şart
Komutlar
loop Until şart
Komutlar en az bir kez çalışır
19
While-Wend ve Do-Loop Döngüleri- Örnekler
20
Exit Do & Exit For İfadeleri
• Exit Do komutu Do-Loop, While Wend döngülerinde
bazı şartlar sağlandığında döngüden çıkmak için
kullanılır.
• Exit For For next döngüsünden çıkmak için kullanılır
21
Exit Sub, Exit Function, End
• Exit Sub ve Exit Function Alt programları
sonlandırmak için kullanılır.
• End, Programı sonlandırmak için kullanılır.
22
With… End with
• Bir kontrole ait bir özellik değiştirilmek istendiğinde
veya bir metod çağrıldığı durumlarda kontrol adının
verilmesi gerekir,
– Örneğin: Text1.left =0
• Herhangi bir kontrol elemanının birden fazla
özelliğini değiştirmek ya da metodlarına ulaşmak için
with … End with bloğu kolaylık sağlar
With kontrol_adı
.özellik1= deger1
.özellik2= deger2
…
End With
With text1
.clear
.text = “eskisehir”
.height= 300
.width = 1500
End With
23
Operatörler
=
Atama
x=5
+
Toplama
Print 20+5
25
-
Çıkarma
Print 10-5
5
*
Çarpma
Print 3*5
15
/
Bölme
Print 9/2
4.5
\
Tam Bölme
Print 9\2
4
&
String toplama
Print "Bayram" & "paşa"
^
Üst
Print 4^2
16
Mod
Bölmeden Kalan
Print 5 Mod 2
1
And
Ve
Print 5 And 17
1 : 00101 And 10001= 00001
Or
Veya
Print 7 Or 17
23 (00111 Or 10001 = 10111)
Xor
Xor
Print 7 Xor 17
22 (00111 Xor 10001 = 10110)
Not
Değil
Print Not &H1
&HFFFE
Bayrampaşa
Not 0000 0000 0000 0001 =
1111 1111 1111 1110
24
Üst ve Mod İşlemleri
Üst işlemlerinin özelliğinden dolayı ^operatörü yüksek
dereceden kökleri bulmak için de kullanılır.
Print 81^(1/3)
3
81
Mod işlemi bir sayının bir başka sayıya bölümünden kalanı verir.
Bir sayı başka bir sayının tam katı ise o sayıya bölümünden kalan
sıfır olacaktır.
Dim i, top As integer
For i=1 to 100
top=top+i
If (i Mod 10) = 0 Then Print top
Next
Print “sonuç :” & top
25
Lojik İşlemler
• And, Or, Xor ve Not operatörleri Lojik operatörlerdir ve bit
seviyesinde işlem yaparlar. Bu operatörlerin bit seviyesinde
yaptıkları işlem tabloları şöyledir.
0
And
0
0
0
Or
0
0
0
XOr
0
0
0
1
1
And
1
0
1
0
0
1
0
1
1
Or
1
0
1
1
1
1
0
1
1
XOr
1
0
1
1
1
0
Not
0
1
Not
1
0
And
And
Or
Or
XOr
XOr
26
Karşılaştırma İşlemleri
=
<>
Eşit
Eşit Değil
If x=5 Then Print “5” Else “5 degil”
If x<>5 Then Print “ 5 degil” Else “5”
<
Küçük
If x<5 Then Print “5 den küçük” Else “5 veya büyük”
>
Büyük
If x>5 Then Print “5 den büyük ” Else “5 veya küçük”
<=
Küçük veya Eşit
If x<=5 Then Print “5 veya küçük” Else “5 den büyük”
>=
Büyük veya Eşit
If x>=5 Then Print “5 veya büyük” Else “5 ten küçük”
27
Karşılaştırma İşlemleri
• Like operatörü ile stringler üzerinde daha detaylı
karşılaştırma işlemleri yapılabilmektedir.
?
Herhangi bir karakter
#
Herhangi bir rakam
*
Bir veya daha fazla
karakter
[aralık]
Verilen aralıkta bir
karakter
Verilen aralık dışında
[!aralık]
bir karakter
If x Like “?abc”
If x Like “#abc”
If x Like “*abc”
Then
vabc,
xabc,
Zabc
Then
1abc,
5abc,
9abc
Then
araabc,
deneabc,
a13abc
If x Like “[a-f]abc”
If x Like “[!a-f]abc”
Then
Then
aabc,
eabc,
Fabc
gabc
Habc
28
İşlem Önceliği
• VB’de İşlem önceliği, her zaman
parantez içi önce olmak üzere
aşağıdaki gibidir.
Aritmetik >> Karşılaştırma>>Lojik
• Tabloda verilen Aritmetik,
Karşılaştırma ve Lojik operatörlerin
öncelikleri yukarıdan aşağıya doğru
azalan şekildedir.
• Aynı önceliğe sahip operatörlerden
öncelik soldan sağa doğru azalı
Aritmetik
Karşılaştırma
Lojik
^
=
Not
Negatiflik (-)
<>
And
*,/
<
Or
\
>
Xor
Mod
<=
Eqv
+, -
>=
Imp
&
Like
is
Print 4+7*2-2/2^3*20 or (8+2)*4
4+7*2-2/8
*20 or 10*4
4+14 -.25
*20 or 40
4+14 - 5
or 40
13
or 40