30. Hafta: Algoritmayı Test Etme ve Hata Ayıklama

Bir algoritmayı yazdıktan sonra, yazdığımız adımların gerçekten işe yarayıp yaramadığını kontrol etmemiz gerekir. Buna algoritmayı test etmek diyoruz.

📌Kazanım: BTY.5.6.2. Algoritma oluşturmada hata ayıklayabilme
Süre: 2 Ders Saati

🎯 Bu Konuda Neler Öğreneceğiz?

  • Geliştirdiğimiz algoritmayı nasıl test ederiz.
  • Algoritmadaki hataları nasıl buluruz ve düzeltiriz.
  • Algoritmayı kullanıma hazır hâle nasıl getiririz.

1. Algoritmayı Hatırlayalım

Bir işi yaparken izlediğimiz adım adım yol tarifi, yani belirli bir amaca ulaşmak için izlenen sıralı adımlar bütününe algoritma diyoruz. Sabahleyin okula hazırlanmak, yemek pişirmek ya da bilgisayarda bir işlem yapmak — bunların hepsinin bir algoritması vardır.

📘 Hatırlatma: İyi Bir Algoritmanın Özellikleri

  • Her adım net ve anlaşılır olmalıdır.
  • Adımlar doğru sırayla yazılmalıdır.
  • Herhangi bir adım eksik olmamalıdır.
  • Adımlar gereksiz tekrar içermemelidir.
  • Algoritma mutlaka bir başlangıç ve bitiş adımı içermelidir.

2. Algoritmayı Test Etmek Ne Demektir?

Bir algoritmayı yazdıktan sonra, yazdığımız adımların gerçekten işe yarayıp yaramadığını kontrol etmemiz gerekir. Buna algoritmayı test etmek diyoruz.

Test etmek için şunu yaparız: Algoritmadaki adımları sırayla okuyarak veya uygulayarak, sonucun beklediğimiz gibi çıkıp çıkmadığını kontrol ederiz. Sanki algoritmayı bir robot olarak uyguluyoruz ve adımları körü körüne takip ediyoruz.

⚠️ Dikkat!

Algoritmayı test ederken kendi aklımızla tamamlamayız. Sadece yazılan adımları uygularız. Eğer bir adım yanlış yazılmışsa biz de yanlış yaparız — ve böylece hatayı fark ederiz!

3. Algoritmada Hangi Hatalar Olabilir?

Bir algoritmada üç temel hata türü bulunabilir:

Hata TürüAçıklamaÖrnek
Sıra HatasıAdımlar yanlış sırada yazılmış.Ayranı bardağa koymadan önce yoğurt eklenmemiş.
Eksik Adım HatasıGerekli bir adım unutulmuş.Tarifi yazan kişi bir malzemeyi hiç eklememis.
Yanlış/Hatalı AdımAdımın içeriği yanlış bilgi içeriyor.“Ehliyet alabilirsin” yerine “Ehliyet alamazsın” yazılmış.

4. Örneklerle Hata Bulma

Şimdi gerçek örnekler üzerinde algoritmadaki hataları birlikte bulalım. Her örnekte önce algoritmayı okuyacağız, sonra beklenen sonuçla karşılaştırıp hataları tespit edeceğiz.

🥛 Örnek 1 — Ayran Yapma Algoritması
Görev: Ayran yapılacak. Bunun için bir kap çıkarıyoruz. Sonra yoğurt, su ve tuz kaba koyuluyor. Karıştırılıyor. Ayran bardağa koyuluyor.
Bize verilen (hatalı) algoritma:
Adım 1 : Başla
Adım 2 : Bardağa koy.
Adım 3 : Suyu ekle.
Adım 4 : Tuz ekle.
Adım 5 : Karıştır.
Adım 6 : Yoğurdu koy.
Adım 7 : Kabı çıkar.
Adım 8 : Bitir.
🔴 Tespit Edilen Hatalar:
Sıra Hatası: Önce bardağa koy deniyor, ancak bardağa koymadan önce kap çıkarılmalı, malzemeler kaba eklenmeli ve karıştırılmalıdır.
Sıra Hatası: Yoğurt, su ve tuzdan sonra eklenmeli; ancak algoritmada yoğurt en sona bırakılmış.
Sıra Hatası: Kabı çıkarmak en son adımda yazılmış; oysa bu en başta yapılması gereken işlemdir.
✅ Düzeltilmiş Algoritma:
Adım 1 : Başla
Adım 2 : Kabı çıkar.
Adım 3 : Yoğurdu koy.
Adım 4 : Suyu ekle.
Adım 5 : Tuz ekle.
Adım 6 : Karıştır.
Adım 7 : Bardağa koy.
Adım 8 : Bitir.

🪪 Örnek 2 — Ehliyet Alma Algoritması
Görev: Uygulamaya doğum tarihi girilecek. Yaş hesaplanacak. Yaş 18 ve 18’den büyük ise ekrana “Ehliyet Alabilir” yazacak. Değilse “Ehliyet Alamaz” yazacak.
Bize verilen (hatalı) algoritma:
Adım 1 : Başla
Adım 2 : Doğum tarihini gir.
Adım 3 : Yaşı hesapla.
Adım 4 : Yaş 18 ve 18’den büyük mü?
Adım 5 : Evet ise “Ehliyet alamazsın” yaz. Adım 7’ye git.
Adım 6 : Hayır ise “Ehliyet alabilirsin” yaz.
Adım 7 : Bitir.
🔴 Tespit Edilen Hata:
Yanlış İçerik Hatası: Adım 5’te ve Adım 6’da mesajlar birbirine karıştırılmış. Koşul “Evet” (yaş 18+) olduğunda “Ehliyet alabilirsin” yazılmalıydı; ancak “Ehliyet alamazsın” yazılmış. Benzer şekilde “Hayır” durumunda da mesajlar yer değiştirmiş.
✅ Düzeltilmiş Algoritma:
Adım 1 : Başla
Adım 2 : Doğum tarihini gir.
Adım 3 : Yaşı hesapla.
Adım 4 : Yaş 18 ve 18’den büyük mü?
Adım 5 : Evet ise “Ehliyet alabilirsin” yaz. Adım 7’ye git.
Adım 6 : Hayır ise “Ehliyet alamazsın” yaz.
Adım 7 : Bitir.
💡 İpucu: Koşullu Algoritmalarda Dikkat!
“Evet ise…”, “Hayır ise…” gibi koşul içeren adımlarda her koşulun sonucunu ayrı ayrı kontrol edin. Mesajlar yer değiştirebilir; bu en sık yapılan hatalardan biridir.

🐑 Örnek 3 — Kuzuyu Otaya Götürme Algoritması
Görev: Bir ızgara (grid) üzerinde kuzuyu başlangıç noktasından ota götürmek istiyoruz. Yön bilgisi: Kuzey = Yukarı, Güney = Aşağı, Batı = Sol, Doğu = Sağ.
Bize verilen algoritma:
Adım 1 : Başla
Adım 2 : 3 kutu kuzeye git.
Adım 3 : 2 kutu batıya git.
Adım 4 : 1 kutu güneye git.
Adım 5 : 3 kutu doğuya git.
Adım 6 : 2 kutu kuzeye git.
Adım 7 : Bitir.
🔴 Hataları Nasıl Buluruz?
Algoritmayı uyguladığımızda kuzunun otanın olduğu konuma değil, başka bir konuma gittiğini görürüz. Bu durumda yön ve adım sayılarını kontrol etmemiz gerekir.
Yanlış yön veya adım sayısı: Verilen adımları ızgarada takip ederek hangi adımda rotanın bozulduğunu tespit edeceğiz.
Test yöntemi: Algoritmayı kâğıt üzerinde bir parmağımızla adım adım takip ederiz. Her adımda “şu an neredeyim?” diye sorarız.
📘 Izgara Algoritmalarında Test Etme Yöntemi
1. Başlangıç noktanızı belirleyin ve işaretleyin.
2. Her adımı sırayla uygulayın ve yeni konumunuzu çizin.
3. Son konumunuzun hedefle örtüşüp örtüşmediğine bakın.
4. Örtüşmüyorsa hangi adımda yanlışın başladığını bulun.

5. Hata Ayıklama Süreci — Adım Adım

Bir algoritmadaki hatayı bulup düzelttikten sonra algoritmayı kullanıma hazır hale getirmiş oluruz. Bu işlemin tamamına hata ayıklama (debugging) diyoruz. Profesyonel yazılımcılar da her gün bu işlemi yapar!

🔧 Hata Ayıklama Adımları

  1. Algoritmayı baştan sonra oku. Genel bir izlenim edin.
  2. Algoritmayı adım adım uygula. Her adımı gerçekten yapıyormuşsun gibi takip et.
  3. Beklenen sonuçla karşılaştır. Sonuç beklediğin gibi mi?
  4. Hatalı adımı tespit et. Hangi adımda yanlışa düştüğünü bul.
  5. Hatayı düzelt. Adımı doğru şekilde yeniden yaz.
  6. Algoritmayı tekrar test et. Düzeltme sonrası yeniden dene.

6. Kendimiz Deneyelim — Alıştırmalar

Aşağıdaki alıştırmaları önce kendi kendinize çözmeye çalışın, sonra cevap anahtarına bakın.

✏️ Alıştırma 1 — Kahve Yapma Algoritması (Adımları Sırala)

Aşağıdaki adımların sırası karışmış. Bu adımları doğru şekilde numaralandırın:

( …. ) Başla.

( …. ) Bitir.

( …. ) Fincana koy.

( …. ) Suyu koy.

( …. ) Pişir.

( …. ) Karıştır.

( …. ) Kahveyi ve şekeri koy.

🤔 Düşün: Kahve yaparken hangi adım kesinlikle en başta, hangisi kesinlikle en sonda gelmelidir? Bunu bilince diğer adımları sıraya koymak kolaylaşır.

✅ Cevaplar

( 1 ) Başla.

( 2 ) Suyu koy.

( 3 ) Kahveyi ve şekeri koy.

( 4 ) Karıştır.

( 5 ) Pişir.

( 6 ) Fincana koy.

( 7 ) Bitir.


✏️ Alıştırma 2 — Hesap Makinesiyle Çarpma (Adımları Sırala)

Hesap makinesiyle iki sayıyı çarpmak istiyorsunuz. Aşağıdaki karışık adımları doğru sıraya koyun:

( …. ) Bitir.

( …. ) 2. sayıyı tuşla.

( …. ) 1. sayıyı tuşla.

( …. ) Başla.

( …. ) Çarpı işaretini tuşla.

( …. ) Eşittir işaretini tuşla.

( …. ) Sonucu gör.

✅ Cevaplar

( 1 ) Başla.

( 2 ) 1. sayıyı tuşla.

( 3 ) Çarpı işaretini tuşla.

( 4 ) 2. sayıyı tuşla.

( 5 ) Eşittir işaretini tuşla.

( 6 ) Sonucu gör.

( 7 ) Bitir.


✏️ Alıştırma 3 — Üçgenin Alanı Hesaplama (Adımları Sırala)

Bilgisayarda üçgenin alanını hesaplayan program yazılacak. Kullanıcı taban ve yüksekliği girecek, bilgisayar sonucu ekrana yazacak. (Not: Üçgenin alanı = (taban × yükseklik) ÷ 2)

( …. ) Başla.

( …. ) Bitir.

( …. ) Taban ve yüksekliği çarp.

( …. ) Sonucu gör.

( …. ) Çıkan sonucu 2’ye böl.

( …. ) Taban ve yüksekliği gir.

✅ Cevaplar

( 1 ) Başla.

( 2 ) Taban ve yüksekliği gir.

( 3 ) Taban ve yüksekliği çarp.

( 4 ) Çıkan sonucu 2’ye böl.

( 5 ) Sonucu gör.

( 6 ) Bitir.

7. Algoritmayı Uygula, Sonucu Bul!

Bu bölümde bir algoritmayı adım adım uygulayarak nerede bittiğimizi veya hangi şekli oluşturduğumuzu bulacağız. Bu egzersizler dikkat ve konsantrasyon geliştirir!

🗺️ Uygulama 1 — Izgarada Hareket

Aşağıdaki algoritmayı ızgarada uygulayın ve hangi harfi bulduğunuzu yazın:

Adım 1 : Başla

Adım 2 : 2 Birim Güneye Git.

Adım 3 : 6 Birim Batıya Git.

Adım 4 : 3 Birim Kuzeye Git.

Adım 5 : 5 Birim Doğuya Git.

Adım 6 : 4 Birim Kuzeye Git.

Adım 7 : 3 Birim Batıya Git.

Adım 8 : 1 Birim Kuzeye Git.

Adım 9 : Bitir.

📘 Nasıl Çözeceğiz?

  1. Başlangıç noktanızı belirleyin (genellikle ızgarada bir karakter var).
  2. Her adımı sırayla uygulayın. Güney = aşağı, Kuzey = yukarı, Batı = sol, Doğu = sağ.
  3. Son konumunuzdaki harfi veya nesneyi not edin.

🏁 Sonuç: Algoritmayı uyguladığınızda hangi harfin/nesnenin üzerine geldiniz? Öğretmeninizle birlikte kontrol edin!


⚽ Uygulama 2 — Topları Sırala

Başlangıçta A kutusunda 1, B kutusunda 3, C kutusunda 1 top var. Aşağıdaki algoritmayı uygulayın:

Adım 1 : Başla

Adım 2 : A’dan 1 topu C’ye koy.

Adım 3 : B’den 2 topu A’ya koy.

Adım 4 : C’den 1 topu B’ye koy.

Adım 5 : A’dan 2 topu B’ye koy.

Adım 6 : C’den 1 topu A’ya koy.

Adım 7 : B’den 1 topu A’ya koy.

Adım 8 : Bitir.

📘 Nasıl Takip Ederiz?

Her adımdan sonra A, B ve C kutularındaki top sayısını not edin. Tablo yaparak takip etmek çok işe yarar:

AdımABC
Başlangıç131
Adım 2 (A→C 1 top)032
Adım 3 (B→A 2 top)212
Adım 4 (C→B 1 top)221
Adım 5 (A→B 2 top)041
Adım 6 (C→A 1 top)140
Adım 7 (B→A 1 top)230

Sonuç: A = 2, B = 3, C = 0 top.

💡 Öğretmen Notu

Bu egzersiz öğrencilerin algoritmaları adım adım izleme becerisini ve sonucu tahmin etmeden doğrudan uygulama alışkanlığını geliştirmeye yönelik harika bir aktivitedir.

📝 Konuyu Özetleyelim

  • Algoritmayı yazdıktan sonra mutlaka test etmeliyiz.
  • Test ederken adımları sırayla ve olduğu gibi uygularız — boşlukları kendimiz doldurmayız.
  • Algoritmada üç tür hata olabilir: sıra hatasıeksik adım ve yanlış içerik.
  • Hataları bulduktan sonra düzelterek algoritmayı kullanıma hazır hale getiririz.
  • Bu sürece hata ayıklama (debugging) denir; gerçek yazılımcıların da her gün yaptığı bir iştir!

8. Önemli Kavramlar

KavramAnlamı
AlgoritmaBir problemi çözmek için izlenen, sıralı ve belirli adımlar bütünü.
Test etmeAlgoritmanın doğru çalışıp çalışmadığını adım adım uygulayarak kontrol etme.
Hata (Bug)Algoritmada veya programda istenen sonucu vermeyen yanlış adım ya da bilgi.
Hata Ayıklama (Debugging)Algoritmadaki veya programdaki hataları bulma ve düzeltme süreci.
Sıra HatasıAdımların yanlış sırada yazılması.
Eksik AdımGerekli bir adımın algoritmaya hiç eklenmemiş olması.

[notebook_slider url=”https://bilisimdost.com/wp-content/uploads/2026/04/30-5-bilgikarti.csv”]

[notebook_quiz url=”https://bilisimdost.com/wp-content/uploads/2026/04/30-5-sinav.csv”]

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir