1.2 Başka Bir Program: İki Sayıyı Toplamak . . . . . . . . . . . . . . . 18
1.3 Tipler, İşlemciler ve İfadeler . . . . . . . . . . . . . . . . . . . . . . 19
1.3.1 Değişken Tanımlama . . . . . . . . . . . . . . . . . . . . . . 19
1.3.2 Temel Değişken Tipleri . . . . . . . . . . . . . . . . . . . . 20
1.3.3 Sabitler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Özel Karakterler . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3.4 İşlemciler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Aritmetik İşlemciler . . . . . . . . . . . . . . . . . . . . . . 21
Karşılaştırma ve Mantıksal İşlemciler . . . . . . . . . . . . . 23
Atama İşlemcileri . . . . . . . . . . . . . . . . . . . . . . . . 23
İşlem Önceliği . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4 Çözümlü Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.5 Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1 If–Else Yapısı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.1 Basit Koşullar . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.2 Karmaşık Koşullar . . . . . . . . . . . . . . . . . . . . . . . 36
2.2 Elif Yapısı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3 Çözümlü Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4 Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1 Sayaç Kontrollü Döngüler . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.1 For Döngüsü . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.2 Koşul Kontrollü Döngüler . . . . . . . . . . . . . . . . . . . . . . . 61
3.3 Break ve Continue . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4 Çözümlü Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.5 Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.6 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.1 Bağımsız İç İçe Döngüler . . . . . . . . . . . . . . . . . . . . . . . 81
4.1.1 Basit Tekrarlı İç İçe Döngüler . . . . . . . . . . . . . . . . . 82
4.1.2 Birlikte Çalışan İç İçe Döngüler . . . . . . . . . . . . . . . . 84
4.2 Bağımlı İç İçe Döngüler . . . . . . . . . . . . . . . . . . . . . . . . 85
4.3 İç İçe Döngülerden Çıkmak . . . . . . . . . . . . . . . . . . . . . . 89
4.4 Çözümlü Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.5 Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.6 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.1 Fonksiyon Tanımlama . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.2 Fonksiyon Kullanımı . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.2.1 Böl ve Çöz Yöntemi Olarak Fonksiyon Kullanımı . . . . . . 105
5.2.2 Yazılım Tekrar Kullanılabilirliği . . . . . . . . . . . . . . . . 108
5.3 Çözümlü Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.4 Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.5 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6 Özyinelemeli Fonksiyonlar 121
6.1 Özyinelemeli Fonksiyonların Çalışma Prensibi . . . . . . . . . . . . 122
6.2 Özyinelemeli Fonksiyon Yazmak . . . . . . . . . . . . . . . . . . . 124
6.2.1 Temel Kısmı Yazmak . . . . . . . . . . . . . . . . . . . . . 125
6.2.2 Özyinelemeli Kısmı Yazmak . . . . . . . . . . . . . . . . . . 126
Özyinelemeli Matematiksel İfade Çıkarmak . . . . . . . . . 126
Hazır Özyinelemeli Matematiksel İfadeler . . . . . . . . . . 127
Koşullu Özyinelemeli Matematiksel İfadeler . . . . . . . . . 127
6.3 Çözümlü Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.4 Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.1 Dizi Tanımlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.2 Diziye İlk Değer Atama . . . . . . . . . . . . . . . . . . . . . . . . 137
7.3 Dizileri Fonksiyona Parametre Olarak Gönderme . . . . . . . . . . 138
7.4 Dizinin Elemanlarını Gezme . . . . . . . . . . . . . . . . . . . . . . 139
7.5 Diziden Eleman Silme . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.6 Diziye Eleman Ekleme . . . . . . . . . . . . . . . . . . . . . . . . . 141
7.7 Dizileri Sıralama . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
7.7.1 Eklemeli Sıralama . . . . . . . . . . . . . . . . . . . . . . . 141
7.7.2 Seçmeli Sıralama . . . . . . . . . . . . . . . . . . . . . . . . 143
7.7.3 Kabarcık Sıralama . . . . . . . . . . . . . . . . . . . . . . . 143
7.8 Çözümlü Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.9 Alıştırmalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.10 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
F Özyinelemeli Fonksiyonlar 193