C/C++ ve Java Dilleri ile Algoritma ve Programlama

advertisement
C/C++ ve Java Dilleri ile Algoritma ve Programlama
İÇİNDEKİLER
1. Bilgisayarın Yapısı Ve Programlama Dilleri
Giriş
1
Bilgisayar ve Programlamanın Kısa Bir Tarihçesi
2
Donanım ve Yazılım Kavramları
3
Bilgisayarın Donanımsal yapısı
4
Giriş Birimi (Input Unit)
4
Çıkış Birimi (Output Unit)
4
Mikroişlemci / Merkezi İşlem Birimi (CPU
5
Hafıza Birimleri (RAM / ROM Bellek)
5
Depolama Birimleri ( Sabit disk, CDROM, DVDROM)
5
Yazılım ve donanım arasındaki ilişki
6
Yazılım (Software)
6
Derleyici ve Yorumlayıcı
8
Derleyici (Compiler)
9
Yorumlayıcı (Interpreter)
9
Derleyici İle Yorumlayıcının Farkı
10
Kaynak Program (Source Program)
10
Java ve C++ için kod derleme aşamaları
10
Amaç Program (Object Program)
11
Bağlayıcı (Linker)
11
Bazı Programlama Dilleri Ve Özellikleri
12
Çoktan Seçmeli Değerlendirme Soruları
22
2. Algoritma
Giriş
25
Bilgisayar Ortamında Problem Çözüm Basamakları
28
Algoritmayı İfade Şekilleri
31
Metinsel Olarak Düz İfade
31
Sözde-Kod (Pseudo-Code)
31
Akış Şemaları (Flow Charts)
32
UML Diyagramları
34
Aktivite Diyagramı (Activity Diagram)
35
C/C++ ve Java Dilleri ile Algoritma ve Programlama
Çoktan Seçmeli Değerlendirme Soruları
37
3. Akış Şemaları İle Algoritma Geliştirme Örnekleri
Giriş
39
1.Gündelik Hayattan Algoritma Örnekleri
39
2.Sayısal Hesaplamalarla ilgili Algoritma Örnekleri
45
Başlangıçta Değişkenlere Değer Aktarmanın Mantığı
49
İki Değişkenin İçeriğini Birbirine Aktarma (Yer değiştirme İşlemi)
51
Tekrarlı İşlemler – Sayaç Kontrollü Döngüler)
52
Döngüsel Akış Şeması
53
Program Takibi ve Akış Şeması Takip Örnekleri
62
Çoktan Seçmeli Değerlendirme Soruları
65
4. Sayı Sistemleri
Giriş
67
Onlu (Decimal) Sayı Sistemi
68
İkili (Binary) Sayı Sistemi
69
Sekizli (Octal) Sayı Sistemi
69
Onaltılı (Hexadecimal) Sayı Sistemi
69
Onlu Sayı Sistemini İkili Sayı Sistemine Dönüştürme
70
Sekizli Sayı Sistemini Diğer Sayı Sistemlerine Dönüştürme
70
Onaltılı Sayı Sistemini Diğer Sayı Sistemlerine Dönüştürme
71
Kesirli Sayıları Dönüştürme
72
Sayı Sistemlerini Birbirine Dönüştüren Algoritma Örnekleri
73
Bit ve Byte Kavramları
77
Çoktan Seçmeli Değerlendirme Soruları
78
5. C/C++ ve Java Program Yapısı
Giriş
80
C/C++ Programı ve Yapısı
81
C/C++ Kütüphane (Başlık-Header) Dosya Tanımlaması (#include deyimi)
81
Program Sonlandırma Komutları
82
Açıklama / Yorum Satırları
82
Bazı C Derleyicilerinin Türkçe Karakter Sorununun Çözümü
83
C/C++ ve Java Dilleri ile Algoritma ve Programlama
Code::Bloks C/C++ Editörü ile Program Yazımı
84
Java Programı ve Yapısı
86
Java Kütüphane Dosya Tanımlaması (import deyimi)
86
Eclipse Editörünün Kurulumu ve Program Yazımı
89
C/C++ Programlama Dilleri için Eclipse Kurulumu
95
Çoktan Seçmeli Değerlendirme Soruları
98
6. Veri Tipleri ve Değişken Kavramı
Giriş
102
Komutlar
103
Mesajlar
104
Değişkenler
104
Değişkenlerin Tanımlanması
105
Değişkenlere Değer Aktarma Operatörü { = }
106
Değişkenlere İsim Verme Kuralları
107
Değişkenlerin Faaliyet Alanları Ve Ömürleri
108
Yerel (Local) Değişken Faaliyet Alanı
109
Genel (Global) Değişken Faaliyet Alanı
109
Veri Tipleri
110
Unicode ve ASCII Kod
110
Java Dili Temel Veri Tipleri ve Değer Aralıkları
111
C/C++ Dili Temel Veri Tipleri ve Değer Aralıkları
112
Mantıksal Veri Tipinde Java – C/C++ Farkı
114
Metinsel (String) Veri Tipleri
115
Veri Tipi Dönüşümü
116
Büyük Veri Tipinden Küçük Veri Tipine Dönüşüm
117
Sabitler
117
Enum Sabiti (Enumeration constant)
118
Çoktan Seçmeli Değerlendirme Soruları
120
7. Operatörler ve Matematiksel İfadelerin Bilgisayar Ortamında Gösterimi
Operatörler
123
Aritmetiksel Operatörler
123
Artırma ve Azaltma Operatörleri
129
C/C++ ve Java Dilleri ile Algoritma ve Programlama
Şüpheli Kodlar: Java ve C/C++ Farkı
129
Aritmetiksel Atama Operatörleri
130
Karşılaştırma Operatörleri
132
Mantıksal Operatörler
134
Bit İşlem Operatörleri
136
Genel Olarak Operatörlerin Öncelik Sıraları
140
Çoktan Seçmeli Değerlendirme Soruları
141
8. Algoritmadan Kodlamaya Geçiş
Giriş
146
Veri girişi ve ekran çıktısı işlemleri
147
Ekrana Yazdırma (Çıktı işlemi) Komutları
147
printf komutu
149
Çıkış (Escape) Karakterleri
150
Java dilinde printf komutu ile kullanılan Tarih-Saat Fonksiyonları
152
Veri Girişi (Girdi işlemi) komutları
153
C/C++ dili veri giriş komutları
153
Java dili veri giriş komutları
154
Giriş-Çıkış İşlemleri ile İlgili Program Örnekleri
156
Çoktan Seçmeli Değerlendirme Soruları
164
9. Karar Yapıları (if-else, switch case)
Giriş
168
Seçimli - Karar Yapıları (Selectıon Structures)
168
Tek Seçimli Yapı ( If Deyimi)
169
Çift Seçimli Yapı ( If / Else Deyimi )
173
Koşul Operatörü (?:)
173
Çok Seçimli Yapı ( İç İçe If ya da Switch Case Yapısı )
178
İç içe if / else yapısı
178
switch case deyimi
179
break deyimi
180
Çoktan Seçmeli Değerlendirme Soruları
194
10. Döngüler (Tekrarlı Yapılar)
C/C++ ve Java Dilleri ile Algoritma ve Programlama
Giriş
200
Sayaç ve Döngü Mantığı
200
Tekrar Sayısı Belli Olan Döngüler(for Döngüleri)
202
for döngüsü kullanım örnekleri
214
Tekrar Sayısı Koşula Bağlı Döngüler(while / do-while Döngüleri)
215
Döngü kontrolünün başta ya da sonda yapılmasının farkı
216
Eşdeğer döngüler
216
break ve continue komutları
222
Fibonacci Serisi ve Altın Oran (Phi Sayısı)
225
Çoktan Seçmeli Değerlendirme Soruları
228
11. İç İçe Döngüler
Giriş
234
Asal Sayı Programı
243
Armstrong Sayıları Programı
244
Çoktan Seçmeli Değerlendirme Soruları
246
12. C/C++’da Fonksiyonlar Java’da Metotlar
Giriş
248
Fonksiyon/Metot Tanımlama
249
Geri Dönüş Değeri Olmayan (void tipli) Fonksiyon Örneği
250
Geri Dönüş Değeri Olan Fonksiyon Örneği
252
return komutu
253
Fonksiyon Prototipi Tanımlama
254
Fonksiyon/Metotlara Değer/Parametre Aktarımı
255
static Belirteci
257
Özyinelemeli Fonksiyonlar (Recursive Functıon)
261
Ackermann fonksiyonu
263
Rasgele Sayı Üretimi
264
Sayı Tahmin Oyunu
267
Matematiksel Fonksiyonlar
269
Çoktan Seçmeli Değerlendirme Soruları
271
13. Diziler (Arrays)
C/C++ ve Java Dilleri ile Algoritma ve Programlama
Giriş
274
Tek Boyutlu Diziler (Vektörler)
275
İndis (Index)
276
Dizi elemanlarına değer aktarımı
277
Dizi elemanlarının dışarıdan (klavyeden/konsoldan) girilmesi
281
Fonksiyonlara parametre olarak dizi aktarımı
285
Dizi Elemanlarını Başka Bir Diziye Kopyalamak
286
Dizi Elemanlarını Sıralama
288
Dizilerde Arama
293
Luhn Algoritması
296
Histogram Programı
298
Lucas ve Fibonacci Dizileri
299
Çoktan Seçmeli Değerlendirme Soruları
300
14. İki Boyutlu Diziler (Matrisler)
Giriş
304
Matris Oluşturma Örnekleri
305
Matrislere Otomatik İlk Değer Verme İşlemi
309
Matris Toplamı
309
Matris Çarpımı
310
Matrislerin Fonksiyonlara İletilmesi
321
Çok Boyutlu Diziler
322
Çoktan Seçmeli Değerlendirme Soruları
324
15. Karakter Dizileri ve String İşlemleri
Giriş
331
Bir karakter dizisinin elemanlarına (tek bir stringin ifadenin karakterlerine) erişmek
332
String/Karakter dizilerini ekrana yazdırmak
333
Programlama Dillerine Göre String İşlem Fonksiyonları
335
C/C++ string işlem fonksiyonları
335
C/C++ String/Sayısal Dönüşümleri
336
C++ diline özgü string işlem fonksiyonları
336
Java string işlem metotları
336
Java StringBuilder Sınıfı
338
C/C++ ve Java Dilleri ile Algoritma ve Programlama
Java String/Sayısal Dönüşümleri
338
Thue-Morse dizisi
341
Türkçe-İngilizce Sözlük
342
Şifre/password sorgulaması
343
Programlama Dillerine Göre Karakter İşlem Fonksiyonları
344
C/C++ karakter işlem fonksiyonları
344
Java karakter işlem fonksiyonları
345
Palindrom Uygulaması
346
Fibonacci Karakter Dizisi
348
Takvim Uygulaması
350
Çoktan Seçmeli Değerlendirme Soruları
353
16. Bölüm Dosyalama
Dosya Kavramına Giriş
356
Klasik Dosya Giriş- Çıkış İşlemleri
357
Stream Kavramı
358
Java Stream Kavramı
359
C++ Stream Kavramı
362
C/C++ Klasik Dosya İşlemleri
363
Metin Dosyasına Veri Yazmak
365
Metin Dosyasından Veri Okumak
366
Metin Dosyasına Veri Eklemek
369
Rastgele Erişimli Dosyalar (Random Access Files)
371
Rasgele Erişimli ve Sıralı Erişimli Dosya Farkı
372
Java Dili Rasgele Erişimli Dosya İşlemleri
373
C/C+ Dili Rasgele Erişimli Dosya İşlemleri
375
Yapılar ve Kayıt Deseni Oluşturma
376
İkili Dosyalar (Binary Files)
382
Çoktan Seçmeli Değerlendirme Soruları
383
17. Bölüm Nesne Yönelimli Programlama
Giriş
385
Nesne Yönelimli Programlama Temel Kavramları
385
Sınıf (Class)
385
C/C++ ve Java Dilleri ile Algoritma ve Programlama
Nesne(Object)
386
Bir Sınıftan Nesne Türetme
387
Nesne Üyelerine Erişim Belirteçleri
387
Kalıtım (Inheritance)
389
Sarmalama (Encapsulation)
391
Çok biçimlilik (Polymorphism)
392
Çoktan Seçmeli Değerlendirme Soruları
394
Download