Visual Basic 6.0
Değişkenlere İsim Verme Kuralları
Visual Basic'de daha etkin bir programlama yapabilmek
için kullanılan veri tiplerini ve veri yapılarını iyi bir şekilde
bilmeliyiz. Burada önemli olan nerede hangi veri tipini kullanacak
oluşumuzdur. Veri tiplerini anlatmadan önce kullanacagımız degişkenleri
nasıl isimlendirecegimizi görelim.
Degişkenleri isimlendirirken daha sonra bakdıgınızda akılda kalabilecek
ve anlamlı bir isim veriniz
Aşagıda verilen kurallar doğrultusunda degişkenler tanımlıyabilmemiz
mümkün olmaktadır. Tanımlanacak degişkenlerin ilk karakteri mutlaka
bir harf ile başlamalıdır. Geri kalan karakterler ; harflerden
, rakamlardan, alt çizgi karakterinden oluşabilir. Degişken isimlerinde
noktalama işaretlerini ,matematiksel ve mantıksal ve karşılaştırma
operatörleri kullanamayız. Degişken isimleri 255 karaktere kadar
uzunlukta olabilir. Aşagıda degişken tanımlamaları ile ilgili
örnekler verilmiştir.
Örnek :
Adı , soyadı , yası , Maas98 , Dogum_Yeri , SANAT_DALI
Yukarıda geçerli degişken isimlerine örnek verilmiştir
Örnek :
2ADI , ad soyad , Mal+Bildirimi
Burada da geçersiz degişken isimlerine örnekler verilmiştir.
2ADI : Çünki ilk karakter bir sayı ile başlamış.
Ad soyad : Degişken isminde boşluk kullanılmış
Mal+Bildirimi : Degişken isminde geçersiz bir karakter kullanılmış.
Zaten bu degişkenleri tanımlarken Visual Basic bizi hata mesajı
ile uyaracaktır.
Visual Basic'de Degişken Tanımlama
Degişken tanımlarken Visual Basic'te Dim bildiri deyimini kullanabiliriz.
Değişkenin tanımlanması hafızada ayrılacak hafıza miktarının belirli
olmasını sağlar. Eger degişkenlerin tipini belirtmeden bir kullanım
yaparsak bu değişkenlerin Variant tipinde olduğu kabul edilir.Bu
da hafızada gereksiz yer kaybına sebep olur.Eger tanımlanan bütün
degişkenlerin tiplerinin belli olmasını isterseniz kod penceresinin
General,Declarations kısmına
Option Explicit yazılır.
Ayrıca değişken tanımlarken kullanılabilecek bir başka bildiri
deyimide Def- bildiri deyimidir.Bu bildiri deyimi daha genel tanımlamalar
yapmak için kullanılır..Def bildiri deyimleri aşagıda verilmiştir.
Def bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır
DefBool : Boolean tipinde degişken tanımlamak için
kullanırız.
DefByte : Byte tipinde degişken tanımlamak için kullanırız.
DefInt : Integer tipinde degişken tanımlamak için kullanırız.
DefLng : Long tipinde degişken tanımlamak için kullanırız.
DefCur : Currency tipinde degişken tanımlamak için kullanırız.
DefSng : Single tipinde degişken tanımlamak için kullanırız.
DefDbl : Double tipinde degişken tanımlamak için kullanırız.
DefDate : Date tipinde degişken tanımlamak için kullanırız.
DefStr : String tipinde degişken tanımlamak için kullanırız.
DefVar : Variant tipinde degişken tanımlamak için kullanırız.
Örnek :
Private Sub Form_Load()
Dim Ad As String
Dim Maas As Currency
Dim D_tarihi As Date
Dim Adres As String
Dim Sira As Integer
End Sub
Burada görmüş olduğunuz gibi 5 adet degişken tanımlanmaktadır.Ad
değişkeni string tipinde bir değişkendir.Maaş değişkeni Currency
tipinde bir değişkendir.D_tarihi değişkeni Date tipinde bir değişkendir.Adres
değişkeni string tipinde bir değişkendir.Sira değişkeni integer
tipinde bir değişkendir.
Aşagıdaki satırları formun general,declarations
bölümüne yazalım.
Örnek :
DefInt A-C
DefStr S
DefVar K
DefDate D
DefSng V
Bu örnekte
A , B, C ile başlayan bütün karakterler Integer türünde olmak
zorundadır.
D ile başlayan bütün karakterler Date türünde olmak zorundadır.
V ile başlayan bütün karakterler Single türünde olmak zorundadır.
K ile başlayan bütün karakterler Variant türünde olmak zorundadır.
S ile başlayan bütün karakterler String türünde olmak zorundadır.
Def deyimi dim deyiminden farklıdır. Def ile sadece bir harf yada
harf aralıgı belirtilebilir.Burada belirtilen harf ile başlayan
bütün değişkenler artık o bildiri deyimindeki tipdedir
Örnek :
Private Sub Form_Load()
Dim ad As String , soyad As String
Dim maas As Currency
End Sub
Bu örnektede ad ve soyad isimli iki degişken string
türünde ve maas degişkeni ise Currency tipindedir.
Veri Tipleri
Integer :
Visual Basic'te tam sayı degişkenleri tanımlamak için kullanılır.
Hafızada 2 byte yer kaplarlar. Alabilecegi değer aralıgı -32768
ile +32767 arasındadır.DefInt bildiri deyimi ile tanımlanabilirler.
Ayrıca bir degişkenin sonunda % karakteri bulunuyorsa bu degişken
integer tipindedir.
Örnek :
Private Sub Form_Load()
Dim Maas As Integer
DefInt A-C
Oran% = 100
A_sayı = 100
B_sayı = Oran*A_sayı
C_sayı = B_sayı + A_sayı - 1000
Maas= 32767
End Sub
Eger burada tanımlanan degişkenlere daha büyük sayılar
atanırsa overflow oluşur.
Long :
Daha büyük bir aralıkta integer yani tamsayı tanımlamak için kullanabilecegimiz
bir veri tipidir. Hafızada 4 byte yer kaplar. Kullanılabilecek
uç degerler +2,147,483,647 ile -2,147,483,648 dir. Long tipinde
bir degişken tanımlamak için DefLng bildirimini veya degişken
sonunda & karakterini kullanabiliriz.
Örnek :
Private Sub Form_Load()
DefLng A-B
Bölüm=50000
cıkan&=600000
Kalan& = (cıkan / Bölüm ) * 10000
End Sub
Single :
Tam sayı olmayan küsüratlı sayılar için kullanabilecegimiz bir
veri tipidir. Kayan-noktalı sayı olarak isimlendirilir. Single
tipindeki veriler bellekte 4 byte yer kaplarlar. Nekatif sayılar
için alabilecegi aralık -3.402823E38 ile -1.401298E-45 ,pozitif
sayılar için alabilecegi aralık 1.401298E-45 ile 3.402823E38 arasındadır.Single
tipinde veri tanımlamak için DefSgn bildirimi veya degişken sonuna
! karakteri konur. 7 haneye kadar hassastır.Daha sonrası yuvarlatılır.
Örnek :
Private Sub Form_Load()
DefSgn A-B
Bölüm=50000
Cıkan!=600000
End Sub
Double :
Visual Basic'te kullanılabilecek en büyük sayısal degerlerin veri
tipidir. Hafızada 8 byte yer kaplarlar. 16 haneye kadar hassastırlar.
Maximum alabilecegi degerler pozitif sayılar için 4.94065645841247E-324
ile 1.797693134862232E308 , nekatif sayılar için de -1.797693134862232E308
ile -4.94065645841247E-324 arasındadır. DefDbl bildirimi veya
# sembölü ile double tipinde degişkenler tanımlanabilir
Örnek :
Private Sub Form_Load()
DefDbl A-K
Darı=50000
Bugday=600000
Arpa=340.56
End Sub
Veri Tipleri
Currency :
Sayısal tipdeki veriler için tanımlanmış özel bir veri tipidir.Hafızada
8 byte yer kaplarlar. 4 hane ondalık kısmı olmak üzere toplam
19 haneden oluşur.(nokta hariç) Alabilecegi maximum degerler -922,337,203,685,477.5808
ile 922,337,203,685,477.5807 arasındadır. @ sembolü veya DefCur
bildirimi ile Currency tipinde degişken'ler tanımlanabilirler.
Örnek :
Private Sub Form_Load()
Dim Maas As Currency , Borc As Currency
Maas = 500000000
Borc = 68000000
Zayi@ = 340000.56
End Sub
Date :
Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri
tipidir. Hafızada 8 byte yer kaplarlar. 1 Ocak ile 31 Aralık 9999
arasındaki tarihleri kullanabilirsiniz. DefDate bildirisi ile
tarih türünde degişkenler tanımlayabiliriz.
Örnek :
Private Sub Form_Load()
Dim Dogum_tarihi As Date , Evlenme_Tarihi As Date
Dogum_tarihi =#Dec,9,1977#
Evlenme_Tarihi=#May,15,1998#
End Sub
Boolean :
Mantıksal veri tipleri için kullanılır. İki seçenekten birisini
alabilir.Bunlar True veya False degerleridir. Bellekte 2 byte
yer işgal ederler.Boolean tipindeki bir degişkeni tanımlamak için
DefBool sözcügü kullanılır.
Örnek :
Private Sub Form_Load()
Dim Durum As Boolean , Duyum As Boolean
Durum = True
Duyum = False
End Sub
Byte :
O ile 255 arasındaki tamsayıları ifade etmek için kullanılabilecek
veri tipidir.DefByte deyimi ile byte tipinde degişkenler tanımlanabilir.
Örnek :
Private Sub Form_Load()
Dim Durum As Byte , Duyum As Byte
Durum =23
Duyum = 143
End Sub
String :
Metin türü bilgileri saklamak için kullanılabilecek veri türüdür.
16 bitlik versiyonda 0 ile 65538 arasında , 32 bitlik versiyonda
ise 0 ile 2,000,000,000 arasında karakter alabilir. String türünde
degişken tanımlamak için Defstr veya $ sembolü kullanılır.
Örnek :
Private Sub Form_Load()
Dim Adi As String , Soyadi As String
Adı ="Kemal"
Soyadı = "Tas"
No$="1323970067"
End Sub
Variant :
Bu tipte tanımlanmış bir degişkene herhangi bir tip'te veri yüklenebilir.Yani
ne tür bir veri girecegimizi bilmedigimiz degişkenleri Variant
tipinde tanımlamalıyız. Bu tür degişkenler hafızada 16 byte tan
fazla yer kaplarlar. DefVar bildiri sözcügü ile Variant türünde
degişkenler tanımlıyabiliriz.
Variant türünde degişkenler tanımlamak fazla kullanışlı degildir.Çünki
hafızada fazla yer kaplarlar.
Örnek :
Private Sub Form_Load()
Dim Ad As Variant , Maas As Variant , Tel As Variant
Dim Dogum_tarihi As Variant
Ad="Aydın Kale"
Maas=200000
Tel="500-45-00"
Dogum_tarihi=#Apr,3,1970#
End Sub
Veri Yapıları
Const :
Bunlar program içinde degeri degiştirilemeyen sabitlerdir. Public
ve Private tipinde sabitler tanımlanabiliilir. Public sabitlere
tüm modüller içinden ulaşılabilir.Private türündeki sabitler ise
sadece tanımlandıkları modül içersinde geçerlidirler.Ayrıca Visual
Basic içinde tanımlanmış çok sayıda sabit vardır. Bunlara CONSTANT.TXT
dosyasını açarak inceleyebiliriz.
Örnek :
Const sehır="Istanbul"
Const Ulke="Turkey"
Const posta_kodu=34650
Const tek_kod=212
Type - End Type Yapısı :
Type yapısını kullanarak programıcı farklı veri tiplerini kullanarak
kendi veri yapısını oluşturabilir. Bu C deki Struct yapısına benzetilebilir.
Bu yeni veri tipine record adı verilir. Herhangi bir modülün Declarations
kısmında aşagıdaki gibi bir tanımlama yapabiliriz.
Örnek :
Type Ogrencı
Ad As String *10
Soyad As String *12
Not As Byte
Kredi As Integer
End Type
'Ogrencı veri tipi toplam hafızada 25 byte yer kaplamaktadır.
Bu veri tipini kullanmak için 'Ogrencı tıpınde degişkenler tanımlamak
gerekmektedir.
Private Sub Form_Load()
Dim A As Ogrencı
Dım B As Ogrencı
'Bu degıskenlere bilgi atamak aşagıdaki şekildeki gibidir.
A.Ad="Ali"
A.Soyad ="Armer"
End Sub
String türü degişkenlere sabit bir uzunlukta yer
ayırmak istersek aşagıdaki şekilde bir tanımlama yapmalıyız.
Dim Name As String *12
Dim Address As String *50
Diziler
Aynı tür bilgileri bellekte tutmak için kullanabilecegimiz listelere
dizi adı verilir. Dizi kullamanın avantajı aynı tür bilgiler bir
listede tutularak daha hızlı işlem yapılabilmesi saglanmış olacaktır.Visual
Basic'de dizi şu şekildedir
Dizi_adı(İndis)
olacaktır.
Örnek:
Private Sub Form_Load()
Dim ad(2) As String
Dim no(2) As Integer
ad(0) = "ali"
ad(1) = "ahmet"
ad(2) = "ebru"
no(0) = 133
no(1) = 56
no(2) = 67
End Sub
Bu örnek'te ad ve no olmak üzere iki adet dizi tanımlanmaktadır.
ad dizisi string türünde bilgileri tutacak ve no dizisi ise integer
türündeki bilgileri saklayacaktır. Görmüş olgunuz gibi dizilere
bilgi atama şekli
dizi_adı(indis_sırası)=atanacak_bilgi
şeklindedir.
Eger diziyi sıfırdan degilde bir den itibaren başlatmak
istersek diziyi tanımlamadan önce Option Base 1 satırını eklemeliyiz.
Burada dizi indisleri sıfırdan başlayarak tanımlama
yaparken bizim belirtigimiz degere kadardır. Yani bizim bu dizilere
atayabilecegim veri sayısı diziyi tanımlarken belirtdigimiz indis
degerinden bir fazla olacaktır.
Eger deger atama yaparken belirttigimiz sınırların
dışına çıkarsak hata oluşur. Dizilere deger atarken dizi sınırlarını
kontrol etmekle olası bir hatayı önlemiş oluruz.
Statik Diziler
Bu tip dizilerde kullanılacak yer sayısı sabittir. Bu tip diziler
sadece tanımlandıkları modül içersinde kullanılabilirler. Statik
dizi şu şekilde tanımlanabilir
Dim dizi_adı(sayi) As Veri_Tipi
Tüm proje içinde kullanılacak bir dizi tanımlanmak isterse standart
modülün General,Declarations bölümünde yukarıdaki şekildeki gibi
tanımlanmalıdır
Örnek :
Option Base 1
Dim a(5) As Integer
Private Sub Command1_Click()
Text1.Text = a(1) + a(2)
End Sub
Private Sub Form_Load()
a(1) = 10
a(2) = 20
End Sub
Bu örnekte görüldügü gibi projenin general,declarations
kısmında a() dizisi tanımlanıyor.Bu dzi tanımlanmadan önce dizi
indislerinin 1 den itibaren başlıyacagını belirten Option Base1
satırı koda dahil edilmiştir. Form1 yüklendiginde bu dizinin ilk
elemanınna 10 sayısı ikinci elemanına 20 sayısı atanıyor. Eger
kullanıcı Command1 isimli butona tıklarsa dizinin ilk ce ikinci
elemanları toplanarak Form üzerinde Text1 adlı nesnenin Text özelligine
atanıyor. Yani TextBox'ın bu sayıların toplamını göstermesi sağlanıyor.
Dinamik Diziler
Bu tip dizilerde kullanılacak yer sayısında bir sınırlama yoktur.
Bu tip diziler ilk başta şagıdaki şekildeki gibi bir tanımlamaya
ihtiyaç duyarlar.
Dim dizi_adı( ) As Veri_Tipi
Daha sonra bu dizi kullanılacak iken botunu belirtmek gerekir
bunun içinde aşagıdaki gibi bir tanımlama yapılmalıdır.
ReDim dizi_adı(boyut ) As Veri_Tipi
Artık bu veri dizisini projemiz içinde kullanabiliriz.
Örnek :
Option Base 1
Private Sub Form_Load()
Dim s() As String
End Sub
Private Sub Command1_Click()
ReDim s(10) As String
s(1) = "Selam "
s(2) = "Ayşe"
Text1.Text = s(1) + s(2)
End Sub
Bu dizi tanımlanmadan önce dizi indislerinin 1 den
itibaren başlıyacagını belirten Option Base1 satırı koda dahil
edilmiştir. Form1 yüklendiginde s adlı bir dinamik dizi tanımlanmaktadır.
Kullanıcı Command1 isimli butuna tıkladıgında s dizisinin boyutu
belirtilerek yeniden tanımlanmıştır. Bu dizinin ilk elemanınna
"Selam " degeri ikinci elemanına "Ayşe" degeri
atanıyor. Dizinin ilk ve ikinci elemanları toplanarak Form üzerinde
Text1 adlı nesnenin Text özelligine atanıyor. Yani TextBox'ın
bu degerlerin toplamını göstermesi sağlanıyor.
Örnek :
Option Base 1
Private Sub Form_Load()
Dim s() As String
End Sub
Private Sub Command1_Click()
ReDim s(10) As String
s(1) = "selam"
s(2) = "fatih"
Text1.Text = s(1) + s(2)
End Sub
Private Sub Command2_Click()
ReDim s(5) As String
s(2) = "fatih"
Text1.Text = s(1) + s(2)
End Sub
Bu örnekte yukarıdaki örnekten tek farklı yan olarak bir Command
butonun arkasına yazılmış kod bulunuyor. Eger kullanıcı Command1
adlı butondan sonra bu butona tıklarsa ne olacak ona bakalım.
Command2 butonuna tıklanıldıgında s() dizisi tekrardan boyutu
5 olrak tanımlanıyor. s() dizisine daha önce atamış bütün degerler
siliniyor. Yani s() dizisi bir nevi boşaltılıyor ve yeniden boyutlandırılıyor.
Eger s() dizisine daha önce atanmış degerler korunmak istenirse
aşagıdaki şekildeki gibi bir tanımlama yapılmak zorundadır.
ReDim Preserve s(boyut) As Veri_tipi
Tip Döşümleri
Visual Basic'de kullandıgımız sayısal değişkenleri
diger veri tiplerine dönüştürebiliriz. Bu işlemi yapan fonksiyonlara
tip dönüşüm fonksiyonları adı verilir. Tip dönüşüm fonksiyonları
aşagıda verilmiştir.
Fonksiyon Geri Dönen Deger Yaptıgı İşlem
CBool(ifade) Boolean Matemetiksel ifadeyi Boolean
türüne dönüştürür.
CByte(ifade) Byte Matemetiksel ifadeyi Byte türüne dönüştürür.
CCur(ifade) Currency Matemetiksel ifade Currency türüne dönüştürür.
CDate(ifade) Date Matemetiksel ifade Date türüne dönüştürür.
CDbl(ifade) Double Matemetiksel ifade Double türüne dönüştürür.
CDec(ifade) Decimal Matemetiksel ifadeDecimal sayıya dönüştürür.
CInt(ifade) Integer Matemetiksel ifade tam sayıya dönüştürür.
CLng(ifade) Long Matemetiksel ifade Long türüne dönüştürür.
CSng(ifade) Single Matemetiksel ifade Single türüne dönüştürür.
CVar(ifade) Variant Matemetiksel ifade Variant türüne dönüştürür.
CStr(ifade) String Matemetiksel ifade String türüne dönüştürür.
Aşagıda çeşitli örneklerle tip dönüşümleri açıklanmaya çalışılmıştır.
Örnek1:
A=10 , B=5 , C=10 , D=0
check = CBool(A < B) 'check=False
check = CBool(A > B) 'check=True
check = CBool(A = C) 'check=True
check = CBool(D) 'check=False
check = CBool(B) 'check=True
Örnek2 :
A=10 , B=5 , C=0
check = CBytel(A < B) 'check=0
check = CByte(A > B) 'check=1
check = CByte(A = C) 'check=0
Örnek3 :
A=1 , B=2 , C=36000 , D=36001
check = CDate(A) 'check=12/31/1899
check = CDate(B) 'check=1/1/1900
check = CDate(C) 'check=7/24/98
check = CDate(D) 'check=7/26/98
Örnek4 :
A=2.4 , B=2.5 , C=2.6 , D=3.5
check = CInt(AB) 'check=2
check = CInt(B) 'check=2
check = CInt(C) 'check=3
check = CInt(D) 'check=4
Aritmetiksel Operatorler :
+ , - , * , / , \ , ^ ,Mod , &
Genel olarak matematiksel işlemlerde kullanılan
operatörlerdir. Bunlara kaynaştırma "&" operatörünü
de ilave edebiliriz. Şimdi bu operatörleri açıklayalım.
+ Operatörü :
Bu operatör ile verilen iki veya daha fazla ifade toplanabilir.Genel
yazılışı aşagıdaki şekilde gibidir.
Sonuc = Ifade1 + Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.(Eger kaynaştırma yapılmamış
ise)
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Eger Ifade1 ve Ifade2 strıng türünde veriler ise + operatörü kaynaştırma
yapar. Yani Ifade2 yi Ifade1'ın sonuna ekler.
Aşagıda Çeşitli örnekler verilmiştir.
Örnek :
Sonuc=13+45 'Sonuc=58
Sonuc=1378+56.78+435.908 'Sonuc=1870.688
A=89,B=3456
Deger=A+B ' Deger=3545
Ad="Ebru"
Soyad=" Kayacı"
Dim Name As String
Name=Ad+Soyad 'Name="Ebru Kayacı"
Operatörler :
Matematik'de kullanılan çıkartma opratörüdür. Birinci
ifadede verilen degerden ikinci ifadeyi çıkarır.
Genel yazılışı aşagıdaki şekildeki gibidir.
Sonuc=Ifade1 - Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle - (çıkarma )operatörü açıklanmaya çalışılmıştır
Örnek :
Sonuc=3475.45-3445.90 'Sonuc = 29.55
Deger=45-788-23 'Deger = - 766
Son=190,Ara=47
Son1=Son-Ara ' Son = 143
* Operatörü :
Matematikdeki çarpma operatörüdür. Verilen iki sayıyı çarpar.
Genel yazım şekli aşagıdaki şekilideki gibidir
Sonuc=Sayı1 * Sayı2
Burda Sonuc mutlaka sayısal bir degerdir.
Sayı1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Sayı2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle çarpma operatörü açıklanmıştır.
Örnek :
Sonuc=34 * 9 'Sonuc = 306
Deger = 87 * 12 'Deger = 1044
A=5,B= 56
C=A * B 'C = 280
/ Operatörü :
Matematikdeki bölme operatörüdür. Verilen ilk sayıyı ikinci sayıya
böler. Genel yazım şekli aşagıdaki şekilideki gibidir.
Sonuc=Ifade11 /Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.Ifade2
sıfırdan farklı bir deger olmalıdır. Yoksa sıfıra bölme hatası
oluşur.
Aşagıda çeşitli örneklerle bölme operatörü açıklanmıştır.
Örnek :
Sonuc=34 / 9 'Sonuc = 3.777778
Deger = 60 / 12 'Deger = 5
A=5,B= 56
C=B / A 'C = 11.2
Operatörler :
\ Operatörü :
Matematikdeki bölme operatörüdür. Verilen ilk sayıyı ikinci sayıya
böler. Ancak sonuc mutlaka bir tam sayı degeridir. Bölüm küsüratlı
ise sayının kusuratını atar.Genel yazım şekli aşagıdaki şekildeki
gibidir.
Sonuc=Ifade1 \ Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.Ifade2
sıfırdan farklı bir deger olmalıdır. Yoksa sıfıra bölme hatası
oluşur.
Aşagıda çeşitli örneklerle tam bölme operatörü açıklanmıştır
Örnek :
Sonuc=34 \ 9 'Sonuc = 3
Deger = 60 \ 12 'Deger = 5
A=5,B= 56
C=B \ A 'C = 11
^ Operatörü :
Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı
kadar kuvvetini (üssünü) alır. Genel yazım şekli aşagıdaki şekilideki
gibidir.
Sonuc=Ifade1 ^ Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle bölme operatörü açıklanmıştır.
Örnek :
Sonuc=34 ^ 9 'Sonuc = 6.071699276646e+13
Deger = 60 ^ 2 'Deger = 3600
A=5,B= 5
C=B ^ A 'C = 3125
Mod Operatörü :
Matematikdeki mod alma operatörüdür. Verilen ilk sayının modunu
ikinci sayı göre alır. Genel yazım şekli aşagıdaki şekilideki
gibidir.
Sonuc=Ifade1 Mod Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle Mod operatörü açıklanmıştır.
Örnek :
Sonuc=34 Mod 9 'Sonuc = 7
Deger = 60 Mod 2 'Deger = 0
A=5.4,B= 57
C=B Mod A 'C = 2
D= 57 Mod 5.5 'D = 3
E=90.5 Mod 6 'E = 0
E=90.2 Mod 6 'E = 0
E=90.7 Mod 6 'E = 1
& Operatörü :
Bu operatör kaynaştırma operatörüdür. String türü ifadelerle matematiksel
ifadeleri kaynaştırmada kullanılabilir. Genel yazım şekli aşagıdaki
şekilideki gibidir.
Sonuc=Ifade1 & Ifade2 Burda Sonuc string veya variant türünde
bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayı veya
bir metindir.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayı veya
bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=34 & 9 'Sonuc = 349
Deger = 60 & 2 'Deger = 602
A=5.4,B= 57
C=B&A 'C = 575.4
D= 57 & 5.5 'D = 575.5
E=90.5 & 6 'E = 90.56
E=9.2 &6 'E = 9.26
E=90.7 & 6.6 'Hata oluşur
E="Hakan"&" Ayşe" 'E = "Hakan Ayşe"
Karşılaştırma Operatörleri :
Bu operatörler ile verilen ifadeler arasında karşılaştırmalar
yapılır. Genel karşılaştırma operatörleri aşagıda verilmiştir.
= operatörü :
Bu operatör verilen iki ifadenin eşit olup olmadıgını anlamak
için kullanılır.Genel yazım şekli aşagıdaki şekildeki gibidir.
Sonuc=(Ifade11 = Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır
Örnek :
Sonuc=(100=345) 'Sonuc=False
Sonuc=(100=100) 'Sonuc=True
A=12,B=45
Sonuc=(A=B) 'Sonuc=False
C=23,D=23
Sonuc=(A=D) 'Sonuc=True
<> operatörü :
Bu operatör verilen iki ifadenin farklı olup olmadıgını anlamak
için kullanılır.Genel yazım şekli aşagıdaki şekildeki gibidir.
Sonuc=(Ifade11 <>Ifade2)
Burada Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(100<>345) 'Sonuc=True
Sonuc=(100<>100) 'Sonuc=False
A=12,B=45
Sonuc=(A<>B) 'Sonuc=True
C=23,D=23
Sonuc=(A<>D) 'Sonuc=False
< operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden küçük olup
olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki
şekildeki gibidir.
Sonuc=(Ifade11 < Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(100<345) 'Sonuc=True
Sonuc=(100<100) 'Sonuc=False
Sonuc=(100<130) 'Sonuc=False
A=12,B=45
Sonuc=(A<B) 'Sonuc=True
C=23,D=23
Sonuc=(A<D) 'Sonuc=False
> operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden büyük olup
olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki
şekildeki gibidir.
Sonuc=(Ifade11 > Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(800>345) 'Sonuc=True
Sonuc=(100>100) 'Sonuc=False
Sonuc=(100>130) 'Sonuc=False
A=90,B=45
Sonuc=(A>B) 'Sonuc=True
C=23,D=23
Sonuc=(A>D) 'Sonuc=False
=> operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden büyük veya
eşit olup olmadıgını anlamak için kullanılır.Genel yazım şekli
aşagıdaki şekildeki gibidir
Sonuac=(Ifade11 => Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(800=>345) 'Sonuc=True
Sonuc=(100=>100) 'Sonuc=True
Sonuc=(100=>130) 'Sonuc=False
A=90,B=45
Sonuc=(A=>B) 'Sonuc=True
C=23,D=23
Sonuc=(A=>D) 'Sonuc=True
<= operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden büyük olup
olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki
şekildeki gibidir.
Sonuc=(Ifade11 <= Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(800<=345) 'Sonuc=False
Sonuc=(100<=100) 'Sonuc=True
Sonuc=(100<=130) 'Sonuc=True
A=90,B=45
Sonuc=(A<=B) 'Sonuc=False
C=23,D=23
Sonuc=(A<=D) 'Sonuc=True
And Operatörü :
Lojik iki ifadenin karsilastirilmasi için kullanilir. Iki ifadenin'de
dogru olmasi gereklidir. Genel yazim sekli asagidaki gibidir ;
Sonuc=Kosul1 And Kosul2
Burada Sonuc herhangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
And operatörünün dogruluk tablosu asagidaki sekildeki gibidir.
İfade1
İfade2 Sonuc=İfade1 And İfade2
False False False
False True False
True False False
True True True
True Null Null
Null True Null
False Null False
Null False False
Null Null Null
And operatörü ayni zamanda bitwise comparison islemide yapilabilir.
İfade1 İfade2 İfade1 And İfade2
0 0 0
0 1 0
1 0 0
1 1 1
Örnek :
Sonuc = (False And False ) 'Sonuc=False
Sonuc = (Null And False ) 'Sonuc=False
A=True , B=True
Sonuc = (A And B ) ' Sonuc=True
A=1 ,B=0
Sonuc = (A And B ) ' Sonuc=0
A=1 ,B=1
Sonuc = (A And B ) ' Sonuc=1
A=1,B=4
Sonuc = (A And B ) ' Sonuc=0
A=1,B=3
Sonuc = (A And B ) ' Sonuc=1
A=1,B=5
Sonuc = (A And B ) ' Sonuc=1
A=1,B=8
Sonuc = (A And B ) ' Sonuc=0
Or Operatörü :
Lojik iki ifadenin karsilastirilmasi için kullanilir. Iki ifadeden
yalnizca birinin dogru olmasi yeterlidir. Genel yazim sekli asagidaki
gibidir :
Sonuc=Kosul1 Or Kosul2
Burada Sonuc hehangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
Or operatörünün dogruluk tablosu asagidaki sekildeki gibidir ;
İfade1
İfade2 Sonuç=İfade Or İfade2
False False False
False True True
True False True
True True True
True Null True
Null True True
False Null Null
Null False Null
Null Null Null
Or operatörü ayni zamanda bitwise comparison islemide yapilabilir.
İfade1
İfade2 Sonuç=İfade Or İfade2
0 0 0
0 1 1
1 0 1
1 1 1
Örnek :
Sonuc = (False Or False ) ' Sonuc=False
Sonuc = (Null Or False ) 'Sonuc=Null
A=True , B=True
Sonuc = (A Or B ) 'Sonuc=True
A=1 ,B=0
Sonuc = (A Or B ) 'Sonuc=1
A=1 ,B=1
Sonuc = (A Or B ) 'Sonuc=1
A=1,B=4
Sonuc = (A Or B ) 'Sonuc=5
A=1,B=3
Sonuc = (A Or B ) 'Sonuc=3
A=1,B=5
Sonuc = (A Or B ) 'Sonuc=5
A=1,B=8
Sonuc = (A Or B ) 'Sonuc=9
A=10,B=8
Sonuc = (A Or B ) 'Sonuc=10
Xor Operatörü :
Lojik iki ifadenin karsilastirilmasi için kullanilir. Iki ifadeden
yalnizca birinin dogru olmasi gereklidir. Eger ikiside dogru olursa
sonuc yanlis olur. Genel yazim sekli asagidaki gibidir :
Sonuc=Kosul1 Xor Kosul2
Burada Sonuc hehangi bir sayisal tipde degiskendir.
Kosul1 herhengi bir ifadedir.
Kosul2 herhengi bir ifadedir.
Xor operatörünün dogruluk tablosu asagidaki sekildeki gibidir;
İfade1
İfade2 Sonuç=İfade Xor İfade2
False False False
False True True
True False True
True True False
Xor operatörü ayni zamanda bitwise comparison islemide yapilabilir.
İfade1
İfade2 Sonuç=İfade Xor İfade2
0 0 0
0 1 1
1 0 1
1 1 0
Örnek :
Sonuc = (False Xor False ) ' Sonuc=False
Sonuc = (True Xor False ) 'Sonuc=True
A=True , B=True
Sonuc = (A Xor B ) 'Sonuc=False
A=1 ,B=0
Sonuc = (A Xor B ) 'Sonuc=1
A=1 ,B=1
Sonuc = (A Xor B ) 'Sonuc=0
A=1,B=4
Sonuc = (A Xor B ) 'Sonuc=5
A=1,B=3
Sonuc = (A Xor B ) 'Sonuc=2
A=1,B=5
Sonuc = (A Xor B ) 'Sonuc=4
A=1,B=8
Sonuc = (A Xor B ) 'Sonuc=9
A=10,B=8
Sonuc = (A Xor B ) 'Sonuc=2
Eqv Operatörü :
Lojik iki ifadenin karsilastirilmasi için kullanilir. Iki ifadenin
ikisininde dogru veya ikisininde yanlis olmasi durumunda dogru
sonuc alir. Genel yazim sekli asagidaki gibidir
Sonuc=Kosul1 Eqv Kosul2
Burada Sonuc herhangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
Eqv operatörünün dogruluk tablosu asagidaki sekildeki gibidir;
İfade1
İfade2 Sonuç=İfade Eqv İfade2
False False True
False True False
True False False
True True True
Eqv operatörü ayni zamanda bitwise comparison islemide yapilabilir.
İfade1
İfade2 Sonuç=İfade Eqv İfade2
0 0 1
0 1 0
1 0 0
1 1 1
Örnek :
Sonuc = (False Eqv False ) ' Sonuc=True
Sonuc = (True Eqv False ) 'Sonuc=False
A=True , B=True
Sonuc = (A Eqv B ) 'Sonuc=True
A=1 ,B=0
Sonuc = (A Eqv B ) 'Sonuc=0
A=1 ,B=1
Sonuc = (A Eqv B ) 'Sonuc=1
A=1,B=4
Sonuc = (A Eqv B ) 'Sonuc=-6
A=1,B=3
Sonuc = (A Eqv B ) 'Sonuc=-3
A=1,B=5
Sonuc = (A Eqv B ) 'Sonuc=-5
A=1,B=8
Sonuc = (A Eqv B ) 'Sonuc=-10
A=10,B=8
Sonuc = (A Eqv B ) 'Sonuc=-3
Imp Operatörü :
Lojik iki ifadenin karsilastirilmasi için kullanilir. Birincinin
degili veya ikincidir. Genel yazim sekli asagidaki gibidir :
Sonuc=Kosul1 Imp Kosul2
Burada Sonuc hehangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
Imp operatörünün dogruluk tablosu asagidaki sekildeki gibidir.
İfade1
İfade2 Sonuç=İfade Imp İfade2
False False True
False True True
True False False
True True True
True Null True
Null True True
False Null True
Null False Null
Null Null Null
Imp operatörü ayni zamanda bitwise comparison islemide
yapilabilir.
İfade1
İfade2 Sonuç=İfade Imp İfade2
0 0 1
0 1 1
1 0 0
1 1 0
Örnek :
Sonuc = (False Imp False ) 'Sonuc=True
Sonuc = (Null Imp False ) 'Sonuc=True
A=True , B=True
Sonuc = (A Imp B ) 'Sonuc=True
A=1 ,B=0
Sonuc = (A Imp B ) 'Sonuc=0
A=1 ,B=1
Sonuc = (A Imp B ) 'Sonuc=1
A=1,B=4
Sonuc = (A Imp B ) 'Sonuc=-2
A=1,B=3
Sonuc = (A Imp B ) 'Sonuc=-1
A=1,B=5
Sonuc = (A Imp B ) 'Sonuc=-1
A=1,B=8
Sonuc = (A Imp B ) 'Sonuc=-2
A=10,B=8
Sonuc = (A Imp B ) 'Sonuc=-3
Not Operatörü :
Lojik bir ifadenin degilinin alinmasi için kullanilir. Genel yazim
sekli asagidaki gibidir :
Sonuc=Not Kosul
Burada Sonuc herhangi bir sayisal tipde degiskendir.
Kosul herhangi bir ifadedir.
Not operatörünün dogruluk tablosu asagidaki sekildeki gibidir
;
İfade
Not İfade
True False
False True
Not operatörü ayni zamanda bitwise comparison islemide
yapilabilir.
İfade
Not İfade
0 1
1 0
Örnek :
Sonuc=(Not True) 'Sonuc=False
Sonuc=(Not 1) 'Sonuc=False
A=4
Sonuc=(Not A) 'Sonuc=-5
A=45
Sonuc=(Not A) 'Sonuc=-46
Sonuc=(Not 10) 'Sonuc=-11
Visual Basic'de Kontrol Komutları
Kontrol komutları programcılar tarafından sıkca kullanılan belirli
ifadeleri kontrol etmek veya bazı şartların gerçekleşip gerçekleşmedigini
kontrol etmek amacıyla kullanılan komutlardır. Biz burada en çok
kullanılan komutların üzerinde duracagız.
If Kontrol Yapısı :
Genel olarak bu komut yapısı şu şekilde yazılır.
If Kosul Then
Kosul dogru ise yapılması istenen işlemler.
Endif
Kullandıgımız her If kontrolu için mutlaka bir Endif kullanmalıyız.
Bu kontrol yapısının sonlandıgını belirtir.
Örnek:
If ad="FATIH" Then
Maas=10000000
Endif
Eger koşul gerçekleşmemiş ise yapılması istenen
bazı işlemler varsa o zaman şu şekilde bir kontrol yapısını kullanabiliriz.
If Kosul Then
Kosul dogru ise yapılması istenen işlemler.
Else
Kosul yanlış ise yapılması istenen işlemler.
Endif
Aynı anda bir kaç koşul için karşılaştırma yapılmak
isternirse;
If Kosul Then
Kosul dogru ise yapılması istenen işlemler.
Elseif Kosul1 Then
Kosul1 dogru ise yapılması istenen işlemler.
Elseif Kosul2 Then
Kosul2 dogru ise yapılması istenen işlemler.
Else
Bütün kosullar yanlış ise yapılması istenen işlemler.
Endif
yapısı kullanılır. Bu yapıda mutlaka Else blogunun bulunmasına
gerek yoktur. Burada eger Kosul dogru ise ilk Then'den sonraki
satırlar çalıştırılarak Elseif ifadesine kadar icra edilirler.
Daha sonra Endif ifadesinden sonraki satır icra edilir.Eger Kosul
yanlış ise Kosul1 ifadesi kontrol edilir.Dogru ise buradaki then
den sonraki satırlar çalıştırılır. Yanlış ise Kosul2'ye bakılır.
Eger bu kosulda yanlıs ise Else ifadesinden sonraki satırlar çalıştırılır.
Örnek :
If Isım="Ali" Then
Maas=Maas * 1.2
Elseif Isım="Murat" Then
Maas=Maas * 1.4
Elseif Isım="Kemal" Then
Maas=Maas * 1.1
Endif
Örnek :
If Bolen=0 Then
Msg.Text=" Bolen sayı sıfır olamaz."
Else
Sonuc= Sayı / Bolen
Msg.Text = Sonuc
Endif
Ornek :
If name="Ali" AND no="1301920035"
Not=4
ElseIf name="Ahmet" AND no="1301940023" Then
Not=3
ElseIf name="Hakan" AND no="1301930045" Then
Not=2
ElseIf name="Hatice" AND no="1301940005" Then
Not=7
Endif
Select Case:
Bu kontrol yapısında sadece bir degişkenin durum kontrolü yaılır.Kontrolü
yapılacak degişkenin genel olarak alabilecegi degerler belirli
ise bu yapının kukllanılması If yapısına göre daha avantajlıdır.
Yazılış biçimi genel olarak aşagıdaki şekildeki gibidir
Select Case Degisken
Case Deger1
Degisken=Deger1 oldugu durumda yapılması istenen işlemler
Case Deger2
Degisken=Deger2 oldugu durumda yapılması istenen işlemler
Case Else
Degisken yukarıdaki degerler den hicbirine eşit degil ise yapılacak
işlemler
End Select
Kullandıgımız her Select ifadesi için bir End Select
kullanmalıyız.
Örnek :
Select Case No
Case 1304
Name="Murat Tuna"
Case 1306
Name="Ayse Sinem"
Case 1307
Name="Hakan Kaya"
Case 1312
Name="Abdullah Kahyalı"
Case 1324
Name="Hatice Uygun"
End Select
Örnek :
Select Case Ay
Case 1
Max_date=31
Case 2
Dim Artık as Integer
Artık = Yıl Mod 4
If Artık=0 Then
Max_date=29
Else
Max_date=28
Endif
Case 3
Max_date=31
Case 12
Max_date=31
Case Else
Mesaj="Error : Bir yılda 12 ay vardır."
End Select
Visual Basic'te Döngü Komutları
Bu komutlar belirli işlemleri belirli sayıda veya herhangi bir
şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Bu komutlar
aşagıda verilmiştir.
For ….. Next Döngüsü
Do While …. Loop Döngüsü
Do Until ……Loop Döngüsü
Do …… Loop While Döngüsü
Do …… Loop Until Döngüsü
Aşagıdada bu döngülerin nasıl kullanıldıkları açıklanmış
ve örneklerle pekiştirilmiştir.
For Next Döngüsü :
Bütün dillerde bulunan döngü yapısıdır. Genel yazım şekli aşagıdaki
şekildeki gibidir.
For sayac=başlangıç To bitiş Step artım
Arada işletilecek komutlar
Next sayac
Bu döngü sayac baslangıc degerınden bitiş degerine
kadar çalıştırılır. Sayaç başlangıc degerinde iken döngü içindeki
komutlar işletilir. Next ifadesine gelindiginde tekrar For satırına
gelinir. Sayac degeri artım kadar artırılır. Eger Sayac degeri
Bitis degerini geçmiş ise Next adımından sonraki adım işletilir.
Burada step degerine pozitif veya nekatif bir deger verşilebilir.
Eger nekatif deger verilirse sayac her seferinde 1 azaltılır.Step
adımını vermezsek bu pozıtif 1 (+1) anlamındadır ve her adımda
sayac bir artırılacaktır.Biz içiçe For Next döngüleride kurabiliriz.
Ancak burada şuda dikkat edilmelidir. En son başlatılan For döngüsü
ilk önce bitirilmelidir.
For sayac1=basla1 To son1
Komutlar
For sayac2=basla2 To son2
Komutlar
Next sayac2
Next sayac1
Biz buradaki sayıyı daha da artırabiliriz.
Aşagıdaki şekideki gibi bir kullanım hatalıdır
For sayac1=basla1 To son1
Komutlar
For sayac2=basla2 To son2
Komutlar
Next sayac1
Next sayac2 Burada For döngüsü işletilirken hata oluşacaktır
Örnek :
Factöriyel=1
For I=1 To Sayi
Factöriyel= Factöriyel * I
Next I
Bu örnekte girmiş oldugunuz pozitif sayının faktoriyeli
hesaplanmaktadır.
Do While Döngüsü :
Bu dögünün genel yazim sekli asagidaki sekildeki gibidir.
Do While Kosul
Komutlar
Loop
Burada önce Kosula bakilir. Eger kosul dogru ise aradaki satirlar
çalistirilir taki Loop satirina kadar. Loop satirinda tekrar While
satirina dönülür. Kosul tekrar kontrol edilir. Eger dogru ise
ara satirlar tekrar çalistirilir. Kosul yanlis ise Loop 'tan sonraki
ilk satirdan program çalismaya devam eder. Içiçe Do While döngüleride
kurabiliriz.
Do While Kosul1
….
Do While Kosul2
…
Komutlar
Loop
…..
Loop
Her Do While için mutlaka bir Loop yerlestirmeliyiz.
Örnek :
Fact=1 I=2
Do While I<=Sayi
Fact=Fact * I
I=I+1
Loop
Buradaki örnekte te faktöriyel hesabini Do While döngüsü ile yapiyoruz.
Burada sayac olarak I degeri kullaniliyor. Eger faktöriyeli hesaplanacak
deger 2 den kücükse (1 veya 0 ise) döngü içine girilmemektedir.
Döngü içinde sayac artimini kendimiz veriyoruz. Sayac sayi degerine
esit iken döngü son kez çalitiriliyor.
Do ….. Loop While Döngüsü :
Bu döngü yapisinin genels yazim sekli asagida verilmistir.
Do
…..
Komutlar
…..
Loop While Kosul
Bu ifade de döngü içinde komutlar mutlaka bir defe
icra edilir. Daha sonra Kosul kontrol edilir. Eger kosul dogru
ise tekrar Do satirina dallanilir ve aradaki komutlar tekrar icra
edilir. Yanlis ise döngüden çikilir.Bu yapiyida içiçe kullanmamiz
mümkündür.
Örnek :
Fact =1 I=1
Do
Fact=Fact *I
I=I+1
Loop While I<=Sayi
Faktöriyel hesapini yapan bir baska örnek verilmistir.
Do Until Döngüsü:
Bu döngünün genel yazım şekli aşagıdaki şekildeki gibidir.
Do Until Koşul
Komutlar
Loop
Burada önce Koşula bakılır. Eger koşul yanlış ise aradaki satırlar
çalıştırılır'taki Loop satırına kadar. Loop satırında tekrar While
satırına dönülür. Koşul tekrar kontrol edilir. Eger yanlış ise
ara satırlar tekrar çalıştırılır. Koşul doğru ise Loop'tan sonraki
ilk satırdan program çalışmaya devam eder. İçiçe Do Until döngüleride
kurabiliriz. Do While döngüsünden tek farkı kosul yanlış iken
çalıştırılır.
Do Until Kosul1
…
Do Until Kosul2
…
Komutlar
Loop
…..
Loop
Her Do Until için mutlaka bir Loop yerleştirmeliyiz.
Örnek :
Fact=1 I=Sayi
Do Until I<=1
Fact=Fact * I
I=I-1
Loop
Buradaki örnekte'de faktöriyel hesabını Do Until döngüsü ile yapıyoruz.
Burada sayac olarak I degeri kullanılıyor. Eger faktöriyeli hesaplanacak
deger 2 den küçükse (1 veya 0 ise) döngü içine girilmemektedir.Döngü
içinde sayac azaltımını kendimiz veriyoruz. Sayac 2 degerine eşit
iken döngü son kez çalıştırılıyor
Do … Loop Until Döngüsü :
Bu döngü yapısının genel yazım şekli aşağıda verilmiştir.
Do
…
Komutlar
…
Loop Until Kosul
Bu ifade de döngü içinde komutlar mutlaka bir defa
icra edilir. Daha sonra Koşul kontrol edilir. Eger koşul yanlış
ise tekrar Do satırına dallanılır ve aradaki komutlar tekrar icra
edilir. Koşul dogru ise döngüden çıkılır.Bu yapıyıda içiçe kullanmamız
mümkündür
Örnek :
Fact =1 I=1
Do
Fact=Fact *I
I=I+1
Loop While I>Sayi
Faktöriyel hesapını yapan bir başka örnek verilmiştir
|