5. Sınıflar 2. Dönem 13. Hafta Labirentte Kayboldum
Merhabalar,
5. Sınıflar Bilişim Teknolojileri ve Yazılım Dersinin 2. Dönem 13. haftasında aşağıdaki kazanımları hedef alacağız:
5.5.2.4. Doğrusal mantık yapısını açıklar.
5.5.2.5. Doğrusal mantık yapısını kullanan algoritmalar geliştirir.
5.5.2.8. Döngü yapısını ve işlevlerini açıklar.
5.5.2.6. Karar yapısını ve işlevlerini açıklar.
Bu dersimizde algoritmik süreçlere programlama boyutuyla bakmaya başlayacağız. Şimdi programlama açısından çok önemli olan “Algoritma” kavramının tanımını tekrar hatırlayalım:
Algoritma Nedir?
Algoritma: “Bir işi başarmak için takip edilen adımlar ya da yönergelerdir.”
Önceki haftalarda aşağıdaki haritadan bir adres tarifini algoritma için örnek vermiştik.

Örnek Algoritma:
- Otelden çık.
- Sola dön.
- Sağ tarafında Kestane Sokak’ı görene kadar yol boyunca ilerle.
- Sağa dön.
- Kestane Sokak boyunca ilerle.
- Heykeli karşında göreceksin.
Şimdi benzer yönergeleri kullanarak algoritmalar tasarlayacağımız Blockly Oyunlar üzerinde Blockly Labirent programlama bölümünde çalışmaya başlayalım.
Blockly Oyunları Labirent Programlama Bölümü

Blockly Oyunlar Labirent 1. Sahne

Örnek adres tarifinde olduğu gibi labirent oyunlarında da “ileri git” şeklinde talimatlar vererek labirent oyunlarını çözmeye çalışacağız.

Talimat taşlarını kod alanına taşıdıktan sonra kodlarımızı “Programı Çalıştır” butonu ile çalıştırabiliriz.

Görüldüğü üzere çalışan programın bizi hedefe götürmesi sonucu çıkan tebrikler ekranında yazdığımız talimatların aslında gerçek bir programlama dili olan “JavaScript” dilinde yazıldığını görebiliriz.
Blockly Oyunlar Labirent 2. Sahne

Labirent oyunlarının 2. sahnesinde “sola dön” ve “sağa dön” komutları ile sonuca gidebiliriz.

Yazdığımız kodların JavaScript dilindeki karşılığında dönüş komutlarının turnLeft(); ve turnRight(); şeklinde farklı olduğunu görmekteyiz.
Blockly Oyunlar Labirent 3. Sahne

Labirent oyunlarında 3. oyun seviyesinden itibaren yeni bir kod bloğu olan “Döngü” bloğu sürece dâhil edilmekte
ve oyuna belirli bir blok sayısı ile tamamlama şartı eklenmektedir. Bu noktada, yukarıdaki görselde gösterildiği biçimde
“Döngü” bloklarını, yapılan işlemleri daha kısa kodlarla ifade etmek ve işlemin yazımını kolaylaştırmak için
kullandığımızı bilmekte fayda vardır.

3. sahnenin çözümünde kullanılan döngünün JavaScript karşılığının “while” döngüsü olduğu görülecektir.
Blockly Oyunlar Labirent 4. Sahne

“Döngü” komutlarının içinde birden fazla komut birlikte kullanılabilir.

4. sahnede görüldüğü üzere hedefe ulaşana dek “ileri”, “sol”, “ileri”, “sağ” komutları ardı sıra kullanılmıştır.
Blockly Oyunlar Labirent 5. Sahne


Blockly Oyunlar Labirent 6. Sahne

Labirent oyunlarında 6. sahne itibariyle karar yapıları ile karşılaşmaktayız. “Bir ‘eğer’ bloğu sadece koşul doğru olduğunda bir şeyler yapar. Sola dönmeyi eğer sola bir yol varsa deneyin” şeklindeki blok kod açıklamasından hareketle sahne aşağıdaki gibi çözülmelidir.
“Şart” ifadesi sürece dâhil edilmektedir. Bu seviye için, şart ifadelerinin var olan koşulları kontrol edip tercihler doğrultusunda karakteri ilerletmek için kullanıldığını bilmemiz gerekmektedir.


Görüldüğü üzere koşul/şart ifadeleri JavaScript de dahil olmak üzere birçok programlama dilinde “if” / “eğer” karar yapısı ile kullanılmaktadır.
Labirent oyunları 7. sahneden itibaren çözümler aşağıdaki gibi olacaktır.
Blockly Oyunlar Labirent 7. Sahne



Blockly Oyunlar Labirent 8. Sahne



Blockly Oyunlar Labirent 9. Sahne



Blockly Oyunlar Labirent 10. Sahne





Bir sonraki dersimiz “Kuş Gibi Uçuyorum” başlığı ile ilgili olacaktır.
Görüşmek üzere…