Nesne Tabanlı Programlama

Benzer belgeler
Nesne Tabanlı Programlama

HSancak Nesne Tabanlı Programlama I Ders Notları

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BİL-142 Bilgisayar Programlama II

Akış Kontrol Mekanizmaları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

YZM 2105 Nesneye Yönelik Programlama

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Programlama Dilleri 3

Programlama Dilleri 3

ALGORİTMA VE PROGRAMLAMA I

Internet Programming II

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

Akış Konrol Mekanizmaları

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Nesne Yönelimli Programlama

ALGORİTMA VE PROGRAMLAMA I

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

ALGORİTMA VE PROGRAMLAMA I

Özyineleme (Recursion)

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Dr. Fatih AY Tel: fatihay@fatihay.net

Lambda İfadeleri (Lambda Expressions)

Bölüm 4 C de Program Kontrolü

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

İnternet Programcılığı Dersi 2.Dönem Ders Notu

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Nesne Tabanlı Programlama

Karşılaştırma İşlemleri ve Koşullu İfadeler

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

PROGRAMLAMA DİLLERİ I

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

Program AkıĢ Kontrol Yapıları

BİL1001 Bilgisayar Bilimlerine Giriş 1

HSancak Nesne Tabanlı Programlama I Ders Notları

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

JAVADA DİZİ İŞLEMLERİ

C Dersleri Bölüm 3 : Program akışı

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Program Akış Kontrol Yapıları

Java da İşleçler, Ders #3 (4 Kasım 2009)

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Sunum İçeriği. Programlamaya Giriş

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

HSancak Nesne Tabanlı Programlama I Ders Notları

D İ Z İ L E R A R R A Y S

Diziler İndisli Değişkenler

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

BÖLÜM 4 KONTROL DEYİMLERİ

MAT213 Bilgisayar Programlama I

Programlama Dilleri 1. Ders 4: Diziler

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

Java String İşlemleri

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

Sınav tarihi : Süre : 60 dak.

C# Çalışma Örnekleri

Giriş. ENF102 Jeoloji

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

Java da Program Denetimi ve Operatörler

Diziler (Arrays) Çok Boyutlu Diziler

M.ilkucar MAKU MYO 1

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Nesne Tabanlı Programlama

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Görsel Programlama 1

YZM 2105 Nesneye Yönelik Programlama

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Transkript:

Nesne Tabanlı Programlama Ders Notu - 2 (Denetim Yapıları, Diziler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Denetim Yapıları 1

if else Seçme yapısı, mantıksal ifadelerin sonucuna göre alternatif komutların çalışmasını sağlar. Mantıksal ifadeler doğru veya yanlış döndürür. İfade doğru değeri döndürdüğünde, if bölümü içindeki komutlar çalışırken, yanlışken else bölümü çalışır. if else Basit if yapısına, tekli seçme yapısı adı verilir, çünkü, doğru değer geldiğinde seçilen komutu çalıştırır ya da göz önüne almaz. if ve else'den oluşan yapıya, çiftli seçme yapısı adı verilir, çünkü, iki farklı duruma göre iki değişik komut grubunu çalıştırır. İç içe geçmiş if/else yapısı, birden fazla durumu kontrol eder. 2

Tekli Seçim Yapısı Tekli seçme yapısının formu şöyledir: veya if ( ifade ) komutlar; if ( ifade ) komut; Örnek 3

if else if else if genellikle şöyle yazılır: if ( ifade ) deyim; if else yapısı da söyle yazılabilir: if ( ifade ) deyim1; else deyim2; noktalı virgül gelmeyecek!!!! noktalı virgül gelmeyecek!!!! noktalı virgül gelmeyecek!!!! if else if else if yapısının genel formu şöyledir: if ( mantıksal ifade doğruysa ) deyim ; else if (mantıksal ifade doğruysa) deyim ; else deyim ; 4

Çoklu if else if else Birden fazla else if yapısı, tek satırlık komutlar olduğunda şöyle kurulabilir: if ( bu mantıksal ifade doğruysa ) deyim ; else if (bu mantıksal ifade doğruysa ) deyim ; else if (bu mantıksal ifade doğruysa ) deyim ; else deyim ; Bloklu if else if else if ( bu mantıksal ifade doğruysa ) bu bloktaki komutları çalıştır; else if (bu mantıksal ifade doğruysa ) bu bloktaki komutları çalıştır; else bu bloktaki komutları çalıştır; 5

Örnek: Sayı Karşılaştırma Sınıf Çalışması Meteoroloji Müdürlüğü, hava durumu raporlarının daha anlaşılabilir olması için, nem oranı değerlerinin insanların anlayabileceği hale getirmek için bir program istemektedir. Kullanıcın girdiği 0 ve 100 arasındaki tamsayı nem oranı değerleri için ekrana şunları yazacaktır. %20 veya aşağısı "Çok Kuru" %21 - %40: "Kuru" %41 - %60: "Biraz Kuru" %61 - %80: "Biraz Nemli" %81 veya fazla: "Nemli Kullanıcıya nem derecesi soran ve if/else yapısı içeren programı yazınız. 6

Birleşik if deyimleri C# derleyicisi else deyimini en yakın if deyimiyle eşler. Bu nedenle, program mantığını doğru kurmak ve parantezlerini kullanmak daha doğru olur. if (nem < 20) if (sicaklik <= 0) Console.WriteLine("Soğuk ve kuru bir gün.") if (ruzgar < 10) Console.WriteLine("Ne güzel, rüzgar yok");? else Console.WriteLine("nem düşük ve 0 dereceden yüksek"); else if (nem < 60) if (sicaklik <= 0) Console.WriteLine("soguk ve orta nemli."); else Console.WriteLine("0'dan büyük, orta nem oranı."); Birleşik if Deyimleri if (nem < 20) if (sicaklik <= 0) Console.WriteLine("Soğuk ve kuru bir gün.") if (ruzgar < 10) Console.WriteLine("Ne güzel ki rüzgar yok"); else Console.WriteLine("nem düşük ve 0 dan yüksek"); else if (nem < 60) if (sicaklik <= 0) Console.WriteLine("soguk ve orta nemli."); else Console.WriteLine("0'dan büyük, orta nem oranı."); 7

switch case yapısı Çok durumlu seçme yapısı switch - case Bir algoritmada bir dizi işlem, bir değişkenin farklı değerlerine göre yapılacaksa, çoklu seçme yapısı kullanışlıdır. Algoritmada, değişkenin alabileceği her farklı değer için farklı komut dizileri çalıştırılabilir. C# dili, switch-case yapısı adı altında böyle bir yapı sunar. 8

Yazım switch (sınama değeri ) case sabit_değer1 : işlemler ; break; case sabit_değer2 : işlemler ; break; case sabit_değer3 : işlemler ; break; default : işlemler ; break; switch - case switch kelimesi, yapının başlangıcını belirler. switch bölümünden sonra bir değişken yazılmalıdır. Değişkenin tipi karakter veya numerik olabilir. case bölümünde, sabit değerler olmalıdır. Burada ifade bulunmaz. case bölümleri break ifadesi ile bitirilmelidir. case'den sonra işaretlerine gerek yoktur. 9

Sınıf Alıştırması Ekrandan, öğrencinin aldığı harf notunu (tek harf) okuyan bir program yazınız. Eğer A: "Çok güzel" B: "Güzel" C: "Fena Değil" D: "İyi değil" F: "Çok kötü" 10

Alıştırma Meteoroloji Müdürlüğü, hava durumu raporlarının daha anlaşılabilir olması için, nem oranı değerlerinin insanların anlayabileceği hale getirmek için bir program istemektedir. Kullanıcın girdiği 0 ve 100 arasındaki tamsayı nem oranı değerleri için ekrana şunları yazacaktır. %20 veya aşağısı "Çok Kuru" %21 - %40: "Kuru" %41 - %60: "Biraz Kuru" %61 - %80: "Biraz Nemli" %81 veya fazla: "Nemli Kullanıcıya nem derecesi soran ve switch / case yapısı içeren programı yazınız. Switch Case Hakkında Notlar switch parantezleri içinde double,decimal tipinde değişken kullanılmaz. case etiketinden sonra istenen sayıda deyim satırı bulunabilir. Her zaman default: bölümünü kullanmanız program yazarken hataları bulabilmenizi sağlar. En çok rastlanan hata break; deyiminin unutulmasıdır. Switch yapısı kurulduktan sonra break'lerin doğru yerlerde olup olmadığını kontrol ediniz. 11

Döngüler while, do-while, for döngüleri Tekrar Yapıları Tekrar yapıları, kod bloklarının tekrar işletilmesini sağlar. Tekrar yapısı içindeki kod bloğunun tekrar edilip edilmeyeceği mantıksal bir ifadenin sonucuna göre karar verilir. Eğer yanlışsa, kod bloğu tekrar edilmez. Kodun belirli bir sayıda tekrar edilmesini sağlayan for döngüsü gibi, belirsiz sayıda tekrar edilmesini sağlayan while veya do-while döngüleri de bulunur. 12

Tekrar Yapıları for ve while döngüleri, mantıksal ifadenin en başta sınandığı yapılardır. Mantıksal ifade doğruysa, döngüye girilir yoksa döngüden çıkılır. do-while döngüsü, tekrar bloğunun en sonunda sınamanın yapıldığı yapılardır. Kod bloğunu bir kez işletir ve bir kez daha tekrarlanabileceği konusunda mantıksal ifadenin sonucuna bakılır. while döngüsü Kullanımı iki türlüdür: while ( mantıksal ifade doğru ) ifade ; while (mantıksal ifade doğru) ifade ; ifade ; 13

Örnek do-while döngüsü do statement; while ( mantıksal ifade doğru ); do ifade ; ifade ; while ( mantıksal ifade doğru) ; 14

Örnek for Döngüsü for( başlatma deyimleri;mantıksal deyim;düzeltmeler) deyim; başlatma deyimleri döngü başlamadan önce çalışan komutlardır. Birden fazla sayıda olabilir. Bu durumda, her deyim arasına "," (virgül) konulur. düzeltmeler, döngünün sonunda çalıştırılan işlemlerdir. Birden fazla olabilir ve aralarına "," (virgül) konulur. İşletim sırası soldan sağadır. Döngünün sonunda düzeltmeler yapıldıktan sonra, mantıksal deyim true değerini verirse, döngüye devam edilir. Yoksa döngüden çıkılır. 15

for Döngüsü for (deyim1 ; deyim2 ; deyim3) ifadeler ; deyim1, for döngüsünün en başındaki ilk durumu belirler. Matematiksel bir işlem olabildiği gibi birbirinden virgüllerle ayrılmış pek çok işlem de olabilir. Döngü işletilmeden önce bir kez çalıştırılır. for Döngüsü for (deyim1 ; deyim2 ; deyim3) ifadeler ; deyim2, doğru yada yanlış değerini döndüren mantıksal bir işlemdir. deyim1 içinde değişen değişkenlerden biri olmasına gerek yoktur. 16

for Döngüsü for (deyim1 ; deyim2 ; deyim3) ifadeler ; deyim3, durumdaki değişikliği sağlayan işlemdir. Birden fazla işlem birbirinden virgülle ayrılabilir. deyim1 ve deyim2'de kullanılan değişkenlerle ilgisi olmayabilir. Örnekler for (int sayac = 1 ; sayac <= 10; sayac++) Console.WriteLine(sayac.ToString()); 17

Örnekler int sayac = 1; for ( ; sayac <= 10; ) Console.WriteLine(sayac.ToString()); sayac++; int sayac = 1; for ( ; ; ) Console.WriteLine(sayac.ToString()); sayac++; if (sayac >10) break; Notlar for yapısı içindeki deyim1, deyim2, ve deyim3 boş bırakılabilir. Ama noktalı virgüllerin tutulması gereklidir. deyim1'in ve deyim3'ün yazılmaması for döngüsünün while döngüsü olarak davranmasını sağlar. deyim2'yi yazmadan, döngünün ne zaman biteceği bulunamaz. Bu durumda, break komutuyla döngünün dışına çıkılabilir. Döngüde deyim1 ve deyim3 birden fazla ifade içerebilir. Bunlar kullanılarak program basitleştirilebilir. 18

for while deyim1 ; while ( deyim2 ) ifadeler ; deyim3 ; for ( deyim1 ; deyim2; deyim3 ) ifadeler ; Her iki örnek de birbirinin aynısı şekilde çalışır. Örnek int sayac ; for(sayac = 0 ; sayac <= 10 ; sayac++) Console.WriteLine( Sayaç değeri: +sayac.tostring()); int sayac ; sayac = 1 ; while ( sayac <= 10 ) Console.WriteLine( Sayaç değeri: +sayac.tostring()); sayac++ ; 19

Örnek static void main ( ) int k, n ; for( k = 1, n = 12 ; k<9 && n>6 ; k++, n--) Console.WriteLine ("k= + k + n= + n) ; Birbirinden virgülle ayrılmış ifadeler, her bölümde yer alabilir. Birbirinden virgülle ayrılmış ifadeler, her bölümde yer alabilir. Alıştırma 0'dan 100'e kadar rassal sayı tutan ve bu sayıyı kullanıcının tahmin edeceği bir program yazınız. Kullanıcı, bir sayı girdikten sonra, bu sayının, tutulan sayıdan küçük yada büyük olduğunu söyleyecektir. Eğer girilen ve tutulan sayı eşitse, program tebrikler diyerek döngüden çıkacaktır. 20

Algoritma tutulan = 0 ve 100 arası rassal bir sayı tut while(true) yaz "Tahmininizi, yazınız" oku tahmin if (tahmin eşittir tutulan) döngüden çık else if(tahmin küçüktür tutulan) yaz "küçük" else yaz "büyük" Çözüm 21

Döngüden Çıkış break anahtar kelimesi döngü yapısından çıkış için kullanılabilir. break iç taraftaki döngüden çıkış için kullanılabilir. continue, bulunulan yerden döngünün sonuna gitmek için kullanılır. Her iki anahtar kelime, algoritmaların uygulanmasında çokça kullanılır. break: döngüden çıkış Aşağıdaki programda, x'in değeri 5 olduğunda döngüden çıkılmaktadır. int x = 0; for( ; ; ) /* sonsuz döngü */ if(x == 5) break; Console.WriteLine(x.ToString()); x++; 22

continue: döngüye devam Aşağıdaki program, 5 dışında 0'dan 9'a kadar olan bütün sayıları yazmaktadır. int x; for( x = 0; x < 10 ; x++) if(x == 5) continue; Console.WriteLine( X = + x); continue for( x = 0; x < 10 ; x++) if(x == 5) continue; Console.WriteLine(x.ToString()); for( x = 0; x < 10 ; x++) Her iki program da aynı şekilde çalışmaktadır. if(x!= 5) Console.WriteLine(x.ToString()); 23

Örnek: İç İçe For Döngüleri Diziler 24

Diziler Aynı tipten bir grup verinin aynı değişken isminde bulunmasıdır. Grup içerisindeki verilerin hafızada sıralı olarak bulunduğu farz edilir. C# dilinde dilinde bütün diziler System.Array tipindedir. Yani System.Array sınıfının bütün fonksiyonlarını kullanabilirler. Diziler Bir örnek olarak, haftanın günlerini bir boyutlu dizi olarak düşünebiliriz. İlk eleman, Pazartesi, son eleman da Pazar günü olacaktır. Diğer bir örnek olarak, bir ayda bulunan günleri, iki boyutlu bir dizi olarak düşünebiliriz. Yatayda haftanın günleri bulunurken, düşeyde hafta sayısı vardır. Bir yıldaki günleri de üç boyutlu bir dizi olarak düşünebiliriz. Haftanın günleri, ilk boyutu oluştururken, ikinci boyut haftaların numarasıdır. Üçüncü boyut da aylardır. 25

Diziler Tek boyutlu bir dizi, bir değişken ismi ve tip ve köşeli parantez içinde boyutu olarak tanımlanabilir. Örneğin, int[] gun = new int[ 7 ]; gun isminde yedi elemanlı bir boyutlu dizi tanımlar. Dizini tipi int olduğu için elemanları başlangıçta sıfır değerini alacaklardır. Dizinin Kullanımı Dizi tanımlanınca, dizideki elemanlara dizinin ismi ve köşeli parantez içinde eleman numarasıyla erişilir. Örn. dizi_adi[index] C# dilinde, dizideki ilk eleman 0'ıncı (sıfırıncı) sıradaki elemandır. Örneğin, gun dizisinin en az 0 ve en fazla 6'ıncı elemanlarına erişilebilir. Köşeli parantez içindeki sayılara indeks numarası adı verilir. 26

İndeks Numarası İnt[] gun = new int[7]; gun[0] gun[1] gun[2] gun[3] gun[4] gun[5] gun[6] 2 6 6 4 12 54-10 Örnekler: gun[5] = 1; if( gun[5] == 4 ) break; gun[5] = gun[6] - 1; Örnek for döngüsü içinde i değişkeninin değeri 0'dan 6'ya kadar gider 27

Dizilere İlk Değer Atama Değişkenler tanımlanırken, ilk değerlerinin verildiğinden bahsetmiştik. Benzer şekilde, dizilere de tanımlandıkları anda değer atanabilir. static void Main(string[] args) int[] gun = 0,2,4,6,8,10,11 ;... Dizilere İlk Değer Atama static void Main(string[] args) int[] gun = 0,2,4,6,8,10,11 ; Derleyici, buradaki sayıları sayar ve [] içindeki değerin 7 olması gerektiğini bulur ve programı int[] gun = new int[7] olarak derler. 28

Dizilere İlk Değer Atama Eğer, tanımladığımız dizinin elemanlarına başlangıç değeri yüklemiyorsak, o zaman dizinin elemanları tiplerine göre başlangıç değerleri alırlar. Örneğin sayısal ifadeler sıfır değerini alırken, string ve diğer sınıf tipleri null eğeri alırlar. Uyarı : string tipindeki bir değişkeninin null değeri içermesinin boş satır anlamına gelmediğini unutmayınız. null ifadesi değişkenin için hafızada henüz herhangi bir yer ayrılmadığını ve bu sebeple bir işlem içerisinde değer olarak kullanılamayacağı anlamına gelir. Örnek 10 tane double tipinde değer alabilen bir dizi tanımlayın ve içine 1.0 ile 10.0 arasında değerler koyun. Ve 9. ve 0. elemanların değerlerini birbiriyle değiştirin. static void Main(string[] args) double[] dizi = 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0; double gecici; gecici = dizi[9]; dizi[9] = dizi[0]; dizi[0] = gecici; 29

Alıştırma 100 tane sayıyı rastsal olarak üreterek bir diziye koyan bir programı yazınız. Programınız, bu dizi içindeki değerlerin en yüksek ve en düşük değerlerini bularak ekrana yazacaktır. Ayrıca, ortalama değerini de hesaplayarak ekranda gösterecektir. Alıştırma - Çözüm Program en küçük ve en büyük değerleri bulmaktadır. Ortalama bulmayı programa ekleyiniz. 30

Array.Length() Dizinin uzunluğunu bulmak için kullanılır. Doğrudan dizini adından sonra nokta. işaretinden sonra çağrılır. int[] myarray = new int[5]; int len = myarray.length(); Console.WriteLine(len); Output : 5 foreach Dizi içerisindeki her bir eleman için tek tek ilerleyen döngüdür. for döngüsüne benzemektedir. 31

foreach foreach ve for döngüleri birbirlerine dönüştürülebilir. Çok Boyutlu Diziler Birden fazla boyutu olan dizilere çok boyutlu diziler denir. Örneğin iki boyutlu bir dizi satranç tahtasını modellemekte kullanılabilir. İki tip çok boyutlu dizi vardır. Standart diziler Çentikli diziler 32

Standart Çok Boyutlu Diziler Çok boyutlu dizilerin oluşturulması tek boyutlu dizilere benzer ve onlar kadar kolaydır. Fark köşeli parantezler arasında virgül bulunmasıdır. int [,] sayılar; string [,,] satırlar; Örneğin ikiye üç boyutunda ve string tipinde bir dizi oluşturmak için string[,] dizi = new string[2,3]; yazmak yeterlidir. Standart Çok Boyutlu Diziler Standart dizilerde her bir boyut için satır ve sütun sayıları eşit olur. Bu sebeple standart diziler matrislere benzetilebilir. dizi 1 2 3 9 20 5 2 4 0 6 7 0 4 2 11 33

Standart Çok Boyutlu Diziler İki boyutlu bir dizi oluşturup bir döngü içersinde dizinin elemanlarına değerler atayalım. Dizi İşlemleri Dizide arama, sıralama 34

Dizi İşlemleri Dizi işlemleri, programlarda çok sık kullanılan programlama öğelerindendir. IndexOf() LastIndexOf() Sort() Reverse() Array sınıfı yardımıyla kullanılırlar. IndexOf() - LastIndexOf() IndexOf() : Aramayı baştan başlatarak aranan elemanın kaçıncı sırada olduğunu döndürür. LastIndexOf() : Aramayı sondan başlatarak aranan elemanın kaçıncı sırada olduğunu döndürür. Eğer aranan eleman bulunamazsa -1 döndürür. 35

Array.IndexOf(), Array.LastIndexOf() Sonuç : 1 Sonuç : 4 Array.Sort() Dizinin elemanlarını küçükten büyüğe sıralar. Sonuç : Ali Mehmet Pınar Zeynep 36

Array.Reverse() Dizinin eleman sırasını terse çevirir. Sonuç : 45 32 9 5 3 2 1 Not : Array.Sort ve Array.Reverse birlikte kullanılmak zorunda değildir. 37