22. HAFTA: ALGORİTMA TESTİ VE HIZ
Bir problemi çözmek için izlenen adım adım yola Algoritma denir.
"Yarış arabasının bitiş çizgisine gitmesi için izlemesi gereken harita gibidir."
Piste çıkmadan önce arabayı kontrol etmezsek ne olur?
Programımız çökebilir veya yanlış çalışabilir.
Programımız gereksiz yere uzun sürebilir.
Bilgisayarın hafızasını gereksiz yere doldurabiliriz.
Yazılımdaki hatalara Böcek (Bug) denir.
Bu hataları bulup düzeltme işlemine Hata Ayıklama (Debugging) denir.
"Pit ekibinin arızalı lastiği değiştirmesi gibidir."
Aynı işi yapan iki algoritmadan daha kısa ve hızlı olanı daha iyidir.
4 Satır Kod
2 Satır Kod (Daha Verimli!)
Zikzaklı Yol (Yavaş)
Düz Yol (Hızlı)
En iyi algoritma, bizi hedefe en kısa yoldan götüren algoritmadır.
Yarış arabaları pistte aynı yolu defalarca dönerler.
Kodlamada da tekrar eden işlemler için DÖNGÜ (LOOP) kullanırız.
Pistteki duruma göre karar vermemiz gerekir (EĞER - DEĞİLSE).
EĞER yol temizse -> Tam Gaz Git.
EĞER kaza varsa -> Yavaşla.
EĞER tehlike büyükse -> Dur.
Robotun labirentten çıkması gerekiyor.
Kural: Önü boşsa ilerle, duvara çarparsan sağa dön.
Bu bir "Karar Yapısı" örneğidir.
Bu basit algoritma ile robot yolunu bulabilir.
Yarış arabasının yakıtı azalıyor. Pit stop'a girmeli mi?
Değişken: Yakıt = 15 Litre
Karar: Yakıt < 20 ise Pit'e Gir.
Pit ekibi 4 lastiği değiştirecek.
1. Lastiği sök/tak
2. Lastiği sök/tak
...
Süre: 20 Saniye
Herkes aynı anda bir lastiği değiştirir.
Süre: 5 Saniye!
İşleri paralel yapmak hızı artırır.
Elips
Paralelkenar
KARAR (Eşkenar Dörtgen)
Vergi, devletin hizmet yapabilmesi için vatandaşlardan topladığı paradır.
"Yollar, okullar, hastaneler... Hepsi vergilerimizle yapılır."
Vergi vermek vatandaşlık görevidir.
(1-7 Mart)
İyi bir yarışçı olmak için vücuduna iyi bakmalısın.
Zararlı alışkanlıklardan uzak dur, spor yap, sağlıklı beslen.
Teknoloji Bağımlılığı da bir sorundur. Ekran süreni kontrol et!
Bir problemi çözmek için oluşturulan adım adım yönergeye ne denir?
Aynı işlemi daha az kod satırı ile yapmak neyin göstergesidir?
Yazılımdaki hataları bulup düzeltme işlemine ne ad verilir?
Algoritmada bir koşula göre (Evet/Hayır) farklı işlemler yapılmasını sağlayan yapı hangisidir?
Defterine bir yarış pisti çiz.
Arabayı Başlangıç'tan Bitiş'e götüren algoritmayı yaz.
Hataları bul (Debug).
En kısa yolu bul.
Verimli kod yaz.
Blok Tabanlı Programlama (Scratch/mBlock) arayüzünü tanıyacağız.
Yarışı başarıyla tamamladın.