PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler

Slides:



Advertisements
Benzer bir sunumlar
DİZİLER – I. Kısım YRD.DOÇ.DR. CİHAD DEMİRLİ
Advertisements

STRİNG FONKSİYONLARI.
Diziler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
String Diziler(Katarlar)
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Diziler.
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Diziler(Arrays).
Bölüm 10 Yapılar ve Birleşimler
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.
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
DÖNGÜ İFADELERİ.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Diziler.
DİZİLER.
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesneye Yönelik Programlama
Görsel C# Programlama Güz 2009 (6. Hafta).
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Chapter 6: Using Arrays.
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
NESNEYE YÖNELİK PROGRAMLAMA
Kalıtım , Sınıf Asli Ergün.
MATLAB’te Döngüler.
Diziler (Arrays).
JAVA’DA DİZİLER Dr.Galip AYDIN.
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
DİZİLER Arrays.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
Random... Rastgele Sayı Atamak...
Nesne Yönelimli Programlama
Algoritmalar ve Programlama I Ders 8:DİZİ (VEKTÖR) KAVRAMI
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
BİLGİSAYAR PROGRAMLAMA DERSİ 6. DERS NOTU Konu: Matlab’ de Diziler ve Matrisler.
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Sharp 9. hafta - dIZILER.
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
İleri Algoritma Analizi
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
7. DİZİLER Bir dizi, aynı tipteki elemanların yan yana sıralanışı ile elde edilen bir bilgi kümesidir. Matematikte kullanılan doğal sayılar (1,2,3,..),
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
Diziler(Arrays).
Sunum transkripti:

PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler FUAT YALMAN ANTALYA TEKNİK VE ENDÜSTRİ MESLEK LİSESİ

Dizi (Array) Birbiri ile ilişkili verilerin bir sıra halinde kaydedilmesi ve işlenmesi gerektiği durumlarda diziler kullanılır. Dizi içindeki elemanların hepsi aynı veri tipindedir ve bellekte artarda saklanırlar. Diziye eleman ekleme ve dizideki elamanları okuma işlemleri genellikle döngüler kullanılarak yapılır.

Dizi Tanımlama Bir dizi tanımı yapmak için veri türünden sonra [] kullanılır: int[] sayilar; Dizinin eleman sayısını belirlemek veya değiştirmek için new komutu kullanılır: sayilar = new int[10]; Eleman sayısı dizi tanımlandığı anda da new komutu kullanılarak belirlenebilir: char[] isim = new char[15]; C dilinde eleman sayısı dizi tanımlanırken verilmek zorunda idi (int sayilar[10]; şeklinde) ve sonradan değiştirilemiyordu.

Dizilerde İndis Kullanımı Dizilerin ilk elemanının indisi sıfırdır: Önceki slaytta tanımladığımız sayılar dizisinin son elemanı sayilar[9] olacağı için, eğer sayilar[10]’a değer atanırsa derleme sırasında hata vermez, fakat program çalışırken «IndexOutOfRangeException: Dizin, dizi sınırlarının dışındaydı» yazılı bir hata mesajı görüntülenir ve program sonlandırılır. Dizinin hangi elemanına değer atanacak ise köşeli parantez içinde o elemanın indis değeri yazılmalıdır: sayilar[5] = 1500; isim[3] = 'K'; sayilar dizisinin 6. elemanına 1500, isim dizisinin 4. elemanına da ‘K’ değerleri atanıyor.

1-10 arasındaki sayıların karesini bir diziye kopyalayan ve ekranda gösteren program static void Main(string[] args) { int i; int[] a = new int[10]; for (i = 1; i <= 10; i++) a[i-1] = i * i; Console.WriteLine(a[i-1]); } a dizisi daha küçük boyutta tanımlansa idi yada a[i-1] yerine a[i] kullanılsa idi program hatasız derlenir ama doğru çalışmazdı. Bu program dizi kullanmadan yapılabilir miydi? EVET

Girilen 10 tane tamsayıdan en büyüğünü bularak ekranda gösteren program static void Main(string[] args) { int[] sayilar = new int[10]; int i, enBuyuk; for (i = 0; i < 10; i++) { Console.Write((i + 1) + ". sayıyı giriniz : "); sayilar[i] = Convert.ToInt32(Console.ReadLine()); } enBuyuk = sayilar[0]; for (i = 1; i < 10; i++) if (sayilar[i] > enBuyuk) enBuyuk = sayilar[i]; Console.WriteLine("En büyük sayı = " + enBuyuk); Tek döngü ile yapılabilir miydi? EVET Dizi kullanmadan yapılabilir miydi? EVET (önceki derste yapmıştık) 1 <= i-1 i

Girilen 10 tane tamsayıyı girilme sırasının tersinde ekranda gösteren program static void Main(string[] args) { int[] sayilar = new int[10]; for (int i = 0; i < 10; i++) Console.Write((i + 1) + ". sayıyı giriniz : "); sayilar[i] = Convert.ToInt32(Console.ReadLine()); } for (int i = 9; i >= 0; i--) Console.WriteLine(sayilar[i]); Tek döngü ile yapılabilir miydi? HAYIR Dizi kullanmadan yapılabilir miydi?

toplam=toplam+dizi(i) 15 elemanlı bir sayı dizisine bilgi girişi yapılarak elemanların toplamını bulan program static void Main(string[] args) { int[] dizi = new int[15]; int toplam = 0; for (int i = 0; i < 15; i++) Console.Write((i + 1) + ". eleman: "); dizi[i] = Int32.Parse(Console.ReadLine()); toplam += dizi[i]; } Console.WriteLine("Toplam = " + toplam); AKIŞ ŞEMASI: Başla toplam Dur dizi(i) i,1,15,1 i toplam=toplam+dizi(i)

10 elemanlı iki dizinin eş indisli elemanlarının toplamını gösteren program static void Main(string[] args) { int[] dizi1 = new int[10], dizi2 = new int[10]; for (int i = 0; i < 10; i++) { Console.Write("İlk dizinin " + (i + 1) + ". elemanı : "); dizi1[i] = Convert.ToInt32(Console.ReadLine()); } Console.Write("İkinci dizinin " + (i + 1) + ". elemanı : "); dizi2[i] = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("İki dizinin elemanlarının toplamı : "); for (int i = 0; i < 10; i++) Console.WriteLine(dizi1[i] + dizi2[i]);

Dizilere ilk değer atama Dizi tanımlandığı anda ilk değerler atanabilir: int[] a = { 10, 25, 15, 40, 30 }; char[] b = { 'A', 'l', 't', 'a', 'n' }; Bu şekilde bir tanımlama yapıldığında dizinin boyutu verilen eleman sayısına eşit olacak şekilde belirlenir. Eğer dizi tanımlandıktan sonra elemanlar tek tek girilseydi (a[0] = 10; a[1] = 25; ...), öncesinde new ile boyut vermek gerekecekti.

10 elemanlı iki dizinin eş indisli elemanlarının toplamını gösteren program Daha önce yazdığımız programda kullanıcının 20 tane değer girmesi gerekiyordu. Bu programda ise değerler programcı tarafından veriliyor: static void Main(string[] args) { int[] dizi1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int[] dizi2 = { 2, 7, 9, 2, 3, -1, 5, 7, 4, 1 }; Console.WriteLine("İki dizinin elemanlarının toplamı : "); for (int i = 0; i < 10; i++) Console.WriteLine(dizi1[i] + dizi2[i]); }

Çok Boyutlu Diziler [ ile ] arasında 1 virgül ile 2 boyutlu dizi, 2 virgül ile 3 boyutlu dizi, ... tanımlanabilir: int[,] matris = new int[3,3]; char[,] isimler = new char[2,5]; string[,] isimler2 = new string[2,2]; char[,,] isimler2 = new char[2,2,5]; 7 2 1 4 0 -1 5 9 -4 { {7, 2, 1}, {4, 0, -1}, {5, 9, -4} } { {'A', 'l', 't', 'a', 'n'}, {'A', 'l', 'i', ' ', ' '} } { { "Altan", "Ali" }, { "Ahmet", "Veli" } }; {{{'A', 'l', 't', 'a', 'n'}, {'A', 'l', 'i', ' ', ' '}}, {{'A', 'h', 'm', 'e', 't'}, {'V', 'e', 'l', 'i', ' '}}}

3x3 Kare Matris Toplama Programı static void Main(string[] args){ int[,] matris1 = new int[3, 3], matris2 = new int[3, 3]; for (int i = 1; i <= 3; i++) for (int j = 1; j <= 3; j++) { Console.Write("İlk matris " + i + ". satır " + j + ". sütun: "); matris1[i - 1, j - 1] = Convert.ToInt32(Console.ReadLine()); } Console.Write("İkinci matris " + i + ". satır " + j + ". sütun: "); matris2[i - 1, j - 1] = Convert.ToInt32(Console.ReadLine()); for (int i = 0; i <= 2; i++) { for (int j = 0; j <= 2; j++) Console.Write("{0,5}", matris1[i, j] + matris2[i, j]); Console.WriteLine(); Ekrana formatlı yazdırma hakkında bilgi için: hafta3-ödev2-AsalMükemmel.cs

Dizileri kapsayan dizi C dilinde iki boyutlu dizi [][] şeklinde tanımlanır. C# dilinde ise bu kullanım dizilerin dizisi (Jagged Array) anlamına gelir. İçerdiği her dizi aynı sayıda elemana sahip olmayabilir. int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };

Notlar C# dilinde new kullanımının faydası: int[] sayilar; Dizinin henüz sadece türü belli büyüklüğü belli değil sayilar = new int[10]; Şu anda 10 elemanlı olduğunu belirledik sayilar = new int[20]; Şimdi de 20 elemanlı olarak yeniden tanımladık foreach (C: for each, VB: For Each) döngüsü ile dizinin eleman sayısı kadar döngü adımı sağlanabilir: int[] sayilar = {4, 5, 6, 1, 2, 3, -2, -1, 0}; foreach (int i in sayilar) Console.WriteLine(i);