7. DİZİLER Diziler birçok değişkene aynı adla ulaşmayı sağlayan bir grup veri yapısıdır. Bir dizi aynı tipte ve aynı adı paylaşan bir grup değişken demektir. Program içerisinde aynı anda aynı tür bilgiden çok sayıda mevcut olması ve bu bilgiler üzerinde toplu işlem yapılmasının gerekmesi durumunda diziler kullanılır. Dizilerde indeks numarası sıfırdan başlar. Bir indeks numarası ile dizi içindeki elemanlara ulaşılır. Örnek : 100 adet isim ve telefon bilgisini saklamak için, İsim : 100 adet Telefon : 100 adet Toplam 200 adet değişken kullanılmalıdır. Diziler kullanılarak; İsim(i) 100 elemanlı dizi Telefon(j) 100 elemanlı dizi
Dizi Tanımlama Visual Basic’de iki tür dizi vardır. Sabit eleman sayılı (Statik) diziler Dinamik diziler Tanımlama kapsama göre yapılabilir. Global seviye (Public) Modül seviye (Dim) Yerel seviye (Dim) Sabit Eleman Sayılı Diziler: Eleman sayıları sabittir. Dizinin eleman sayısı önceden belirlenir, daha sonra eleman sayıları değiştirilemez. Tanımlama : Dim dizideğişkeni (eleman sayısı) As veritipi Public Dim gunler(6) As String Dim aylar(11) As String Dim x(100) As Integer Dim y(150) As Single 7 elemanlı dizi 12 elamanlı dizi 101 elamanlı dizi 151 elamanlı dizi Örnek :
Örnek : Haftanın günlerini dizileri kullanarak yazdırınız. Not: Dizilerin eleman sayıları sıfırdan başladığı için 6 elemanlı bir dizi tanımlandığında eleman sayısı 7 olur.
Dinamik Diziler Bazen bir diziyi yaratırken eleman sayısını tam olarak kestirilemez. Eleman sayısı sonradan değiştirebilme özelliğine sahip dizilere dinamik dizi denir. Dinamik dizinin boyutları istenildiği zaman değiştirilebilir. Tanımlama : Dim dinamikdizi () As veritipi şeklinde tanımlandıktan sonra, program akışı içinde ReDim dinamikdizi (n) As veritipi n : Sayı ReDim deyiminin her kullanılışında dizideki bütün değerler silinir. Bu değerleri korumak için Preserve deyimi kullanılır. ReDim Preserve dinamikdizi (n) As veritipi
Örnek :
Diziler, çok boyutlu olarakta kullanılabilir. Çok Boyutlu Diziler Diziler, çok boyutlu olarakta kullanılabilir. Örnek : Bir sınıfta okuyan 40 öğrencinin isim ve her öğrencinin 5’er farklı dersi ve bu derslerden aldıkları 3 farklı not bilgisini aynı anda bellekte tutmak için, İsim : 40 adet Dersler : 40 öğrenci x 5 ders = 200 adet Notlar : 40 öğrenci x 5 ders x 3 not = 600 adet Toplam 840 adet değişken kullanılmalıdır. Bu durum imkansızdır. Diziler kullanılarak; Dim İsim(39) As String Dim Dersler(39,4) As String Notlar(39,4,2) As Single Örnek : Dim aylar_satışlar (11,4) As String Dim aylar_satışlar (5 to 12) as String Dim Matris(9,9) As Double Dim Matris(1 To 10, 1 To 10) As Double
Dizilerde Option Base Deyimi Kullanımı Bir dizinin indeksinin alt sınırı varsayım olarak 0 dır. Eğer bu değer değiştirilecekse Option Base (0 veya 1 değerini alabilir) deyimi kullanılır. General Declarations kısmında tanımlanır. Yapısı : Option Base 1 Örnek :
UBound, LBound Fonksiyonları Bir dizinin boyutlarının alt ve üst sınırlarının öğrenilmesi için kullanılır. Örnek :