Fonksiyon Blokları - Bir Kez Tanımla, Defalarca Çağır
Fonksiyon Blokları, dördüncü ve beşinci sınıf öğrencilerinin tekrar eden adım dizilerini bir yordam olarak tanımlayıp çağırmasını çalıştıran bir kodlama oyunudur. Robot, yıldız izini takip ederek ızgaranın sonuna ulaşmalıdır; ama kullanılabilecek blok sayısı sınırlıdır. Yolu tek tek yazmak bütçeye sığmaz, tekrar bloklarıyla sıkıştırmak da sığmaz. Sığan tek çözüm, tekrar eden diziyi Tanımla şeridine bir kez yazıp Program şeridinde üç kez çağırmaktır.
Öğrenme Hedefleri
Bilişim Teknolojileri ve Yazılım dersi kapsamında problemi alt problemlere ayırmayı, tekrar eden bir adım dizisini yordam olarak tanımlamayı ve bu yordamı çağırarak programı kısaltmayı hedefler. Sitedeki kodlama oyunları bir kazanım zinciri oluşturur: Yön Bulmaca sıralamayı, Blok Kodlama döngüyü, Koşul Blokları koşulu, bu oyun ise fonksiyonu öğretir.
Nasıl Oynanır?
Ekranda bir ızgara, bir robot ve takip edilecek bir yıldız izi vardır. Altta iki şerit bulunur: Tanımla ve Program. Şerit başlığına dokunarak hangisine blok ekleyeceğinizi seçersiniz. Yön blokları her iki şeride, Çağır ve Tekrar yalnız Program şeridine eklenir. Üstteki sayaç kaç blok kullandığınızı ve bütçenin ne olduğunu gösterir; bütçe aşılırken Çalıştır düğmesi kapalı kalır. Çalıştır dendiğinde robot programı adım adım uygular. Üç bulmaca çözüldüğünde tur biter. İpucu düğmesi üç kademelidir ve çözümü ancak son kademede verir.
Bu Oyun Neden Faydalı?
Fonksiyon, kodlamada bir kolaylık değil bir düşünme biçimidir: aynı işi ikinci kez yazmak yerine ona bir ad verip çağırmak. Ama çocuk bunu, gerekmediği sürece yapmaz — döngüyü zaten biliyorsa tekrar eden her şeyi döngüye sokmayı dener. Bu oyun tam olarak o dener ve tutmaz: bulmacalar, tekrar eden dizinin yolda BİTİŞİK OLMADIĞI biçimde kurulur, dolayısıyla Tekrar bloğu onu sıkıştıramaz. Blok bütçesi de düz yazmaya yetmez. Geriye tek yol kalır. Bu, oyunun kendi kendine dayattığı bir kural değil; üreteç her bulmaca için hem düz çözümün hem de en iyi döngülü çözümün maliyetini hesaplar ve bütçeden ucuz olan bir çözüm varsa o bulmacayı hiç göstermez.
Müfredat Uyumu
Problemi alt problemlere ayırma, tekrar eden adımları belirleme, yordam tanımlama ve çağırma, program uzunluğunu kısaltma, algoritmayı sınırlı kaynakla kurma. Bilişim Teknolojileri ve Yazılım dersi ile ortaokul beşinci sınıf düzeyindeki blok tabanlı programlama kazanımlarıyla uyumludur.
Öğretmenler İçin İpuçları
Oyuna geçmeden önce tahtaya yıldız izini çizdirip sınıfa "bu yolda tekrar eden bir parça var mı?" diye sorun; fonksiyon fikri o cevabın içinde. İlk bulmacada öğrencilerin çoğu yolu tek tek yazmayı dener ve bütçeyi aşar — bu beklenen bir adımdır, hemen düzeltmeyin. Bütçe sayacının kırmızıya dönmesi, konuşmayı kendiliğinden "nasıl kısaltırız" sorusuna taşır. Blok Kodlama oyununu daha önce oynamış bir sınıf önce Tekrar bloğunu deneyecektir; denemesine izin verin, çünkü neden yetmediğini görmek fonksiyonun ne işe yaradığını anlatmanın en kısa yolu.
Sıkça Sorulan Sorular
Tekrar bloğu neden yetmiyor?
Tekrar bloğu yalnız yan yana duran aynı adımları sıkıştırabilir. Bu oyundaki yollarda tekrar eden dizi araya başka adımlar girecek biçimde dağıtılmıştır, dolayısıyla bitişik değildir. Fonksiyon ise diziyi nerede olursa olsun çağırabilir.
Blok bütçesi nasıl belirleniyor?
Bütçe, beklenen fonksiyonlu çözümün tam maliyetine eşittir. Üreteç ayrıca düz çözümün ve en iyi döngülü çözümün maliyetini hesaplar; ikisinden biri bütçeye sığıyorsa o bulmaca yayınlanmaz.
Yıldızlar neden yolun her karesinde?
Robotun tam olarak o yolu izlemesi gerektiğini garanti etmek için. Yıldızlar seyrek olsaydı aynı kareye farklı sıralarla varmak mümkün olur, bazı sıralamalar daha kolay sıkıştırılabilir hâle gelir ve bütçe kuralı anlamını yitirirdi.
Hangi kodlama oyunundan sonra oynanmalı?
Blok Kodlama ve Koşul Blokları oyunlarından sonra. Bu oyun döngüyü bildiğini varsayar; öğrenci Tekrar bloğunu denemeden fonksiyonun neden gerekli olduğunu göremez.
Ders: Kodlama | Seviye: 4. - 5. Sınıf | Ücretsiz eğitici oyun
Dersin diğer oyunları: Kodlama Oyunları (4 oyun)
Hangi Sınıflar İçin?
Benzer Kodlama Oyunları
- Yön Bulmaca — Karakteri oklarla hedefe götür!
- Blok Kodlama Oyunu — Tekrar bloğuyla robotu yıldızlara götür, bloklar sayılı!
- Koşul Blokları — Tek program, birden çok koridor! "Eğer … ise" ile robotu yönet.