Bir problemi çözmek veya bir görevi yerine getirmek için tasarlanan adım adım yol haritasına Algoritma denir.
"Robotlar akıllı değildir, sadece verdiğimiz emirleri (algoritmaları) çok hızlı uygularlar."
Algoritmaların şekillerle ve oklarla gösterilmesidir.
Yazı okumaktan daha kolay anlaşılır.
Dili bilmesen bile şekillerden anlarsın.
Mantık hatalarını görmemizi sağlar.
Şekil: Elips (Oval)
Her akış şeması mutlaka bir "Başla" ile başlar ve "Bitir" ile biter.
Bu, robotun gücünü açmak ve kapatmak gibidir.
Şekil: Paralelkenar
Bilgisayara dışarıdan veri girmesi (Klavye, Sensör) veya bilgisayarın bize sonuç göstermesi (Ekran, Yazıcı) durumunda kullanılır.
Şekil: Dikdörtgen
Hesaplama yapma, değer atama veya bir eylemi gerçekleştirme adımıdır.
"Robotun kolunu hareket ettirmesi bir işlemdir."
Şekil: Eşkenar Dörtgen (Baklava Dilimi)
Bir soru sorulur. Cevap "Evet" ise bir yola, "Hayır" ise başka bir yola gidilir.
Yol ayrımıdır!
Şekilleri birbirine bağlayan oklardır. Algoritmanın hangi sırayla çalışacağını gösterir.
Genellikle Yukarıdan Aşağıya doğru akar.
Görev: Mars gezgini (Rover) 10 metre ileri gidip duracak.
Algoritma:
Görev: Kolonideki oksijen seviyesini kontrol et.
Eğer seviye %20'nin altındaysa "Alarm Çal", değilse "Normal" yaz.
Burada bir EĞER (IF) yapısı vardır.
EVET
HAYIR
Bir işlemin belirli bir şart sağlanana kadar tekrar tekrar yapılmasıdır.
Hiç durmadan çalışır. (Örn: Güneş panellerinin Güneş'i takip etmesi).
Belirli sayıda tekrar eder. (Örn: 5 kez bip sesi çıkar).
Bir şey olana kadar devam eder. (Örn: Pil dolana kadar şarj et).
Görev: Robotun 4 adet güneş paneli var. Hepsini sırayla temizleyecek.
Döngü: "Panel temizle" komutunu 4 kez tekrarla.
Tek tek yazmak yerine döngü kullanmak kodu kısaltır!
Yazdığımız algoritmanın doğru çalışıp çalışmadığını kontrol etmeliyiz. Hatalara "Böcek" (Bug), temizlemeye "Debug" denir.
Yazım yanlışıdır. (Örn: "Başa" yerine "Bşala" yazmak). Bilgisayar bunu hiç anlamaz.
Kod çalışır ama sonuç yanlıştır. (Örn: Sağa dönmesi gerekirken sola dönmesi).
Bilgisayarda çalıştırmadan önce, kağıt üzerinde adım adım kendimiz çalıştırarak değerleri kontrol etmektir.
| Adım | Değişken (Sayı) | İşlem |
|---|---|---|
| 1 | 5 | Başlangıç |
| 2 | 5 | Ekrana Yaz |
| 3 | 6 | Sayıyı 1 Artır (5+1) |
| 4 | 6 | Bitir |
Arkadaşın bir robot olsun. Ona "Reçelli Ekmek Yap" algoritmasını sözlü olarak anlat.
Robotlar her detayı bilmek ister!
Akış şemalarında "Başla" ve "Bitir" komutları için hangi şekil kullanılır?
Bir sorunun cevabına göre (Evet/Hayır) farklı yollara gitmek için hangi yapı kullanılır?
Aynı işlemi 10 kez tekrar etmek istiyorsak algoritmada ne kullanmalıyız?
Algoritmadaki hataları bulup düzeltme işlemine ne denir?
Her şeklin bir anlamı vardır. Yanlış şekil, yanlış komut demektir.
Oklar yönü gösterir. Genelde yukarıdan aşağıya gider.
Kodlamaya geçmeden önce algoritmayı kağıtta test et.
Artık şekillerden gerçek kodlara (Blok Tabanlı) geçiyoruz!
Konu: "Blok Tabanlı Programlama Aracı (Scratch/mBlock)"
Koloni sistemi aktif. İyi iş çıkardın mühendis.