TeknoTR  

Geri Dön   TeknoTR > Webmasterler için > Programlama
Üye Ol SSS Sxe indir Sosyal Gruplar Takvim Resim Galerisi Etiketler Bütün Forumları okunmuş kabul et


Dizi (Array) Nedir? Nasıl tanımlanır? Nasıl Kullanılır?

Programlama bölümünde Dizi (Array) Nedir? Nasıl tanımlanır? Nasıl Kullanılır? konusu , Dizi (Array) Dizi, bellekte aynı isim altında toplamış değişkenler kümesine verilen isimdir. Dizinin kullanım alanlarına gelince ise, aynı türe ait bilgileri bellekte tutmak istediğimizde örneğin bir veri gurubunu sıralamak istediğimizde ya da verilere ait bazı istatiksel bilgilerin hesaplanmasında bize yardımcı ...

Cevapla
 
LinkBack Konu Seçenekleri
Eski 07-07-2007, 12:35   #1 (permalink)
Executive Officer
 
Conrad - ait Avatar
 
Giriş: 02-11-2006
Mesajlar: 4.105
Blog Konuları: 2
Rep Puanı: 3906
Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9Conrad Rütbe Artı +9
Rep Gücü: 500
E-Güven: (4/100)

Dizi (Array) Nedir? Nasıl tanımlanır? Nasıl Kullanılır?


Dizi (Array)
Dizi, bellekte aynı isim altında toplamış değişkenler kümesine verilen isimdir. Dizinin kullanım alanlarına gelince ise, aynı türe ait bilgileri bellekte tutmak istediğimizde örneğin bir veri gurubunu sıralamak istediğimizde ya da verilere ait bazı istatiksel bilgilerin hesaplanmasında bize yardımcı olur. VB'de diziler;
DiziAdi(ElemanSayisi)
Şeklinde gösterilir. Bir örnek verecek olursak
Sayilar(20)
Ucgen(2)
Kare(3)
Yukardaki örneklerde Sayilar isminde 0 dan 20 ye kadar toplam 21 elemanlı bir dizi tanımlanmıştır.
VB'de iki farklı dizi türü vardır bunlar;
1.) Statik Diziler:
Bu tip dizilerde dizinin eleman sayısı önceden belirlenir ve eleman sayısı sabittir. Örneğin programımızda Dim Sayilar(20) as Integer diye bir kod yazarsanız projenizde toplam 21 elamanlı ve sayısal bir veri türünü tutacak bir dizi tanımlamış olursunuz. Eğer dizimizin 20 elamanlı yani Sayilar(1) 'den başlamasını istiyorsak Form 'un veya Modülün General/Declarations kısmına Option Base 1 deyimini kullanmamız gerekecekti Option Base 0 ise dizinin ilk elemanının 0 'dan başlayacağını bildirir ki zaten bu da standart(default) biçimidir dolaysıyla kullanmaya gerek yoktur. Bu arada küçük birde not vermek gerekirse Option Base deyimi VB 6.0 sonrasında bulunmayacak yani bütün diziler 0 'dan başlayacak onun için bu deyimi kullanıp alışkanlık yaratmaya hiç gerek yok.
2.) Dinamik Diziler:
Bu tip dizilerde ise dizinin eleman sayısını program akışı içerisinde kontrol edebiliyoruz bunu ise diziyi Dim Sayilar() as Integer şeklinde dizinin eleman sayısı hakkında herhangi bir değer vermeden belirttikten sonra ReDim Sayilar(10) as Integer şeklinde dizinin eleman sayısını program akışı esnasında tanımlıyoruz. Ancak diziyi yeniden boyutlandırırken unutulmaması gereken nokta dizinin içindeki verilerin silineceğidir. Eğer verilerin silinmemesini istiyorsak diziyi yeninden boyutlandırırken ReDim Preserve Sayilar(10) As Integer şeklinde belirtmemiz gerekir.Şimdi buraya kadar öğrendiklerimizi bir örnekle pekiştirelim.
Örnek 1:Girilen 10 tane sayının toplamını ve ortalamasını veren örnek program

Yukarda ki örnekte bilmediğimiz hiç bir komut olmadığı için programın satır satır açıklamasını yapmayacağım onun yerine sadece ekran görüntülerini vereceğim
Yukardaki resimlerden de anlaşılacağı üzere 10 adet sayıyı teker teker girdiğimizde programımız bize bu sayıların toplamını ve ortalamasını verecektir.
Örnek 2 : Şimdi de yukarda ki örneğimizi aktif bir dizi ile daha etkileşimli hale çevirelim
Bu örneğin uygulamasını da sizlere bırakıyorum.
Birden Fazla Boyutlu Diziler :
VB 'de istenirse birden fazla boyutta dizilerde tanımlanabilir. Örneğin;
Dim Tablo(4,3) As Integer
Dim DersSonuçları(3,3,1) As Integer
Yukarda ki tanımlama ile çok boyutlu diziler yaratmış olduk Dikkat ettiyseniz her boyuta ait index numarası birbirinden virgülle ayrılarak diziler boyutlandırılabiliyor. Bu konuyu her zaman yaptığımız gibi bir örnekle açıklayalım
Etiketlerin (Label) ve Düğmelerin başlıklarını VB 'nin sol tarafındaki "Properties" Penceresinde ki "Caption" değerine yeni başlığı yazarak değiştirebiliriz.
Bileşenleri formumuza yukarda ki gibi yerleştirdikten sonra Matematik dersi için koyduğumuz 3 tane "Text Box" 'ın adını VB 'nin sol tarafındaki "Properties" Penceresinde ki "(Name)" değerini değiştirerek sırası ile "Matematik1", "Matematik2" ve "Matematik3" yapalım bu işlemi diğer dersler içinde tekrarlayalım daha sonra "Ortalaması" başlıklı Labellerimizin hepsinede "Ortalama" adını verelim bu sırada VB bize "You have already a control named 'Ortalama'. Do you want to create a control array?" diyerek bir kontrol dizisi oluşmak isteyip istemediğimizi soracak bu soruyu "Evet" diye cevaplandırarak bir kontrol dizisi oluşturalım(*) "Ortalama" başlıklı düğmemize çift tıklayarak aşağıda ki kodları yazalım
Yukarda ki örneğimizde derslere ait notlar dizimize aktarılıyor daha sonra ise dizimizde ki notları "[Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ]" döngüsü ile kod tekrarı yapmadan ortalamasını alıp bunu Ortalama isimli kontrol dizimizde ki Etiketlerimiz de (Label) görüntülüyoruz. Bu örneğe ilişkin VB kaynak kodlarını [Bu Linki Görüntüleyebilmeniz İçin Üye Olmanız Gerekiyor. ] indirebilirsiniz
Dizi İçin Sınırlar :
VB'de dizi için alt ve üst sınırlar belirleyebiliriz bu sınır 0 ve pozitif sayılar olabileceği gibi negatif sayılarda olabilir. Örneğin
Dim Dizi1(1 To 20) As Integer
Dim Dizi2(0 To 5) As String
Dim Dizi2(-10 To 10) As Byte
style='font-size:8.0pt;font-family:Tahoma; color:black'>LBOUND ve UBOUND Fonksiyonları :
İstenilen bir dizinin belirtilen boyutunun alt ve üst sınırlarının ne olduğunu öğrenmemize yarar örneğin;
Private Sub Command1_Click()
Dim Dizi(-5 To 15, -10 To 20) AsInteger
Print "Dizinin ;"
Print "-------------------------------------------"
Print "1. Boyutunun Alt Sınırı : " & LBound(Dizi, 1)
Print "1. Boyutunun Üst Sınırı : " & UBound(Dizi, 1)
Print "-------------------------------------------"
Print "2. Boyutunun Alt Sınırı : " & LBound(Dizi, 2)
Print "2. Boyutunun Üst Sınırı : " & UBound(Dizi, 2)
End Sub

__________________
Alıntı:
03-) Foruma mesaj gönderirken, ardı arda birden fazla mesaj göndermek (flood yapmak), boş mesaj göndermek, konuyla alakası olmayan mesaj göndermek, "+1, bence de, güzel" gibi belli bir amacı, paylaşımı olmayan mesaj göndermek yasaktır.
Conrad isimli üye çevrimiçidir (Online)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla

Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz klasörü seçiniz


Şu an saat 16:16 .
Tarih 09-05-2008


Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
Türkçe Çeviri : ach

eXTReMe Tracker


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192