Bilgi işlemsel düşünme (ayrıştırma, örüntü tanıma, soyutlama, algoritma tasarımı); problem çözme süreci; algoritmanın özellikleri; sözde kod; akış şeması sembolleri; sıralı, karar ve döngü yapıları; iz tablosu ile algoritma izleme; doğrusal ve ikili arama, basit sıralama algoritmaları ve verimlilik.
Bilgi işlemsel düşünme
Bilgi işlemsel düşünme: Bir problemi bilgisayarın da çözebileceği biçimde ifade etme yaklaşımı.
| Beceri | Açıklama | Örnek |
|---|---|---|
| Ayrıştırma | Problemi küçük parçalara bölmek | Okul gezisi: ulaşım, bütçe, program, izinler |
| Örüntü tanıma | Benzerlikleri, tekrarları fark etmek | Her hafta aynı saatte yapılan işler |
| Soyutlama | Önemli bilgiyi seçip gereksizi atmak | Metro haritasında yalnızca durak ve hatların gösterilmesi |
| Algoritma tasarımı | Adım adım çözüm yolu yazmak | Tarif, yol tarifi |
Problem çözme süreci: problemi anla → girdi/çıktıları belirle → algoritma tasarla → kodla → test et ve hata ayıkla → değerlendir
Algoritma, sözde kod ve akış şeması
İyi bir algoritma: açık ve kesin, sıralı, sonlu, girdi ve çıktısı belli, genel (benzer tüm problemleri çözen)
Sözde kod – sınav notu sonucu:
- BAŞLA
- not değerini OKU
- EĞER not ≥ 50 İSE “Geçti” YAZ
- DEĞİLSE “Kaldı” YAZ
- BİTİR
| Sembol | Anlamı |
|---|---|
| Oval | Başla / Bitir |
| Paralelkenar | Girdi / Çıktı |
| Dikdörtgen | İşlem |
| Eşkenar dörtgen | Karar |
| Ok | Akış yönü |
Arama, sıralama ve verimlilik
Doğrusal arama: Listeyi baştan sona tek tek kontrol etme → n elemanda en kötü n adım
İkili (binary) arama: Sıralı listede ortadaki elemana bakıp aramayı her adımda yarıya indirme → 1000 elemanda en fazla ≈ 10 adım (2¹⁰ = 1024)
Kabarcık (bubble) sıralama: Yan yana elemanları karşılaştırıp yanlış sıradaysa yer değiştirme; her turda en büyük sona “kabarcık gibi” çıkar.
Örnek: [5, 2, 4] → 1. tur: [2, 5, 4] → [2, 4, 5] ✓
Verimlilik: Aynı problemi daha az adımla ve daha az bellekle çözen algoritma daha iyidir. Sözlükte bir kelimeyi baştan sona okuyarak değil, ortadan açarak (ikili arama mantığı) ararız.
Kavramlar
- soyutlama
- gereksiz ayrıntıyı atma
- sözde kod
- algoritmanın kod öncesi yazımı
- ikili arama
- yarıya bölerek arama
- hata ayıklama
- kodu düzeltme (debugging)
- verimlilik
- az kaynakla çözüm
- Ayrıştırma, örüntü tanıma, soyutlama, algoritma tasarımı
- Algoritma: açık, sıralı, sonlu, girdi-çıktılı
- Sözde kod: algoritmanın günlük dile yakın yazımı
- Eşkenar dörtgen karar, paralelkenar girdi/çıktı
- İkili arama yalnızca sıralı listede; her adımda yarıya iner
- Verimli algoritma daha az adım ve bellek kullanır
Örnek soru ve çözümü
1’den 100’e kadar sıralı sayılar içinde 73’ü ikili aramayla bulurken ilk iki adımda hangi sayılara bakılır?
- adım: ortadaki 50 → 73 > 50, sağ yarı (51–100). 2. adım: ortadaki 75 → 73 < 75, sol yarı (51–74). Böyle devam eder.
Çözümlü örnekler
1. Metro haritasında sokakların gösterilmemesi hangi beceriye örnektir? Kolay
ÇözümSoyutlama.
2. [4, 1, 3] listesine kabarcık sıralamanın ilk turunu uygulayınız. Orta
Çözüm4 ile 1 yer değiştirir → [1, 4, 3]; 4 ile 3 yer değiştirir → [1, 3, 4].
3. Sırasız bir listede ikili arama neden kullanılamaz? Zor
Çözümİkili arama, ortadaki elemana göre aranan değerin sağda mı solda mı olduğuna karar verir; bu ancak liste sıralıysa doğru sonuç verir.
Sık yapılan hatalar
- İkili aramayı sırasız listede kullanmak.
- Sonsuz döngü içeren adımlarla “algoritma” yazmak.
- Karar sembolüyle işlem sembolünü karıştırmak.
Biliyor muydun?
Dünyadaki yaklaşık 8 milyar kişinin sıralı bir listesinde ikili aramayla birini bulmak en fazla 33 adım sürer!