Ana Sayfa · Akademi · Robotik ve Kodlama · Scratch ile Programlama · Koşullar ve Algılama

Koşullar ve Algılama

Eğer/değilse ve algılama bloklarıyla çevreye göre karar veren kuklalar yap.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Bu derste Scratch'te Kontrol bloklarındaki "eğer" yapısını ve Algılama bloklarını kullanarak, ekranda olup bitene göre karar veren kuklalar yapmayı öğreniyorum.

Üretilecek kanıt

Bir "sıcak zemin" oyunu yap. Kedi ok tuşlarıyla hareket etsin. Zeminde kırmızı bir bölge çiz. Kedi kırmızıya değerse "Ah!" desin ve başlangıç noktasına geri dönsün. Şu adımları dene: Olaylar 'dan yeşil bayrağa tıklandığında bloğunu al. Altına sürekli tekrarla (Kontrol) bloğunu koy. İçine ok tuşları için dört tane eğer <... tuşu basılı mı?> ise bloğu ekle ve…

Kontrol tuzağı

"eğer" bloğunu sürekli tekrarla içine koymamak eğer bloğu yalnızca bir kez kontrol yapar. Kukla sürekli çevresine baksın istiyorsan, "eğer" bloğunu bir sürekli tekrarla (Kontrol) döngüsünün içine koymalısın. Aksi hâlde program koşulu bir kez kontrol eder ve unutur. Altıgen boşluğu boş bırakmak eğer ... ise bloğunun…

Sonraki bağlantı

Döngüler

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre30–45 dk
Ön koşulGörünüm, Ses ve Olaylar
İçerikStandart ders · 1.407 kelime
Son güncelleme

Bir cümlelik özet

Bu derste Scratch'te Kontrol bloklarındaki "eğer" yapısını ve Algılama bloklarını kullanarak, ekranda olup bitene göre karar veren kuklalar yapmayı öğreniyorum.

Neden önemli?

Bir önceki derste kuklaya "yeşil bayrağa tıklandığında şunu yap" demeyi öğrendik. Ama gerçek oyunlar bundan daha akıllıdır. Bir topun kenara çarpınca geri sekmesini, bir karakterin engele değince durmasını isteriz.

Bunun için programın karar vermesi gerekir. Karar, "eğer şu doğruysa şunu yap" biçiminde bir cümledir. Scratch'te bu cümleyi Kontrol kategorisindeki turuncu bloklarla kurarız.

Peki program "şu doğru mu?" sorusunun cevabını nereden bilir? İşte burada Algılama kategorisindeki açık mavi bloklar devreye girer. Onlar kuklanın gözü ve kulağı gibidir: bir şeye değiyor muyuz, fareye tıklandı mı, bir tuşa basıldı mı diye bakarlar.

Koşul ve algılamayı birlikte kullanınca kuklalar çevrelerine tepki vermeye başlar. Oyun yapmanın kalbi tam olarak budur.

Koşul nedir? "eğer ... ise" bloğu

Koşul, yalnızca belirli bir durum doğru olduğunda çalışan bir adımdır. Türkçesi basit: "eğer şu olursa, şunu yap."

Scratch'te bunu Kontrol kategorisindeki "eğer ... ise" bloğuyla yaparız. Bu blok C harfi gibi açılır; içine koyduğun bloklar yalnızca koşul doğruysa çalışır.

Bloğun altıgen boşluğuna bir Algılama bloğu yerleştiririz. Altıgen boşluk her zaman "evet" ya da "hayır" (doğru/yanlış) cevabı bekler.

Örnek 1: Kenara değince renk değiştir

Bir balık ekranda yüzsün. Kenara her değdiğinde rengini değiştirsin.

yeşil bayrağa tıklandığında
sürekli tekrarla
  10 adım git
  eğer <kenara değiyor mu?> ise
    rengi 25 değiştir
    kenara gelince sek

Burada kenara değiyor mu? bir Algılama bloğudur ve altıgen şeklindedir. rengi 25 değiştir ise Görünüm bloğudur. Balık kenara değmediği sürece "eğer" içindeki adımlar hiç çalışmaz.

Örnek 2: Tuşa basınca zıpla

Bir kediyi boşluk tuşuyla zıplatalım.

yeşil bayrağa tıklandığında
sürekli tekrarla
  eğer <boşluk tuşu basılı mı?> ise
    y konumunu 50 değiştir
    0.3 saniye bekle
    y konumunu -50 değiştir

boşluk tuşu basılı mı? yine bir Algılama bloğudur. y konumunu değiştir blokları Hareket kategorisindedir ve kuklayı yukarı-aşağı taşır.

İki yol: "eğer ... ise ... değilse" bloğu

Bazen sadece "koşul doğruysa şunu yap" yetmez. "Doğruysa şunu, değilse başka bir şeyi yap" demek isteriz. Bunun için "eğer ... ise ... değilse" bloğunu kullanırız. Bu bloğun iki ağzı vardır: üst bölüm koşul doğruyken, alt bölüm koşul yanlışken çalışır.

Örnek 1: Fareyle takip et ya da dur

yeşil bayrağa tıklandığında
sürekli tekrarla
  eğer <fare tıklandı mı?> ise
    fare imlecine doğru dön
    5 adım git
  değilse
    "Beni tıkla!" de

Fareye basılıysa kukla imleci takip eder; basılı değilse ekranda "Beni tıkla!" yazar. fare tıklandı mı? ve fare imlecine doğru dön blokları farenin nerede olduğunu algılar.

Örnek 2: Renge değince kazandın, değilse devam

Bir labirentte hedef çizgisi yeşil olsun.

yeşil bayrağa tıklandığında
sürekli tekrarla
  eğer <renge [yeşil] değiyor mu?> ise
    "Kazandın!" de
    dur [bu kuklada]
  değilse
    ok tuşlarıyla hareket et

renge [yeşil] değiyor mu? bloğu, kuklanın seçtiğin renge dokunup dokunmadığına bakar. Rengi bloğun üzerindeki küçük kareye tıklayıp ekrandan seçebilirsin. Değiyorsa oyun biter; değmiyorsa oyuncu hareket etmeye devam eder.

Algılama bloklarını tanıyalım

Algılama kategorisi (açık mavi) programın "duyu organlarıdır". En çok kullandıklarımız:

Bunların hepsi altıgen şeklindedir. Altıgen bloklar bir soru sorar ve cevabı "doğru" ya da "yanlış" olur. Bu yüzden tam olarak "eğer" bloğunun altıgen boşluğuna otururlar.

İpucu: Bir Algılama bloğuna tek başına tıklarsan Scratch sana o an "doğru" mu "yanlış" mı olduğunu küçük bir baloncukla gösterir. Bu, blokları denemek için çok pratiktir.

Mini uygulama

Bir "sıcak zemin" oyunu yap. Kedi ok tuşlarıyla hareket etsin. Zeminde kırmızı bir bölge çiz. Kedi kırmızıya değerse "Ah!" desin ve başlangıç noktasına geri dönsün.

Şu adımları dene:

  1. Olaylar'dan yeşil bayrağa tıklandığında bloğunu al.
  2. Altına sürekli tekrarla (Kontrol) bloğunu koy.
  3. İçine ok tuşları için dört tane eğer <... tuşu basılı mı?> ise bloğu ekle ve her birine bir yön hareketi ver.
  4. Bir tane daha eğer ... ise ... değilse ekle: eğer <renge [kırmızı] değiyor mu?> ise içine "Ah!" de ve x: 0 y: 0 konumuna git.
  5. Yeşil bayrağa bas ve kediyi kırmızının üstüne sürerek dene.

İpucu: Önce sadece tek bir ok tuşuyla başla. Çalıştığını gördükten sonra diğerlerini ekle. Küçük parçalar hâlinde ilerlemek hatayı bulmayı kolaylaştırır.

Uygulama laboratuvarı: Koşullar ve Algılama

Koşullar ve Algılama konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Koşul nedir? "eğer ... ise" bloğu ile Örnek 2: Tuşa basınca zıpla arasındaki ilişkiyi kullanarak çalışan bir Scratch sahnesi, blok düzeni ve test listesi hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.

Görev senaryosu

Şu senaryoyu ele al: basketbol atışlarını sayan ve seviye yükselten sahne. Dersin ana hedefi “Eğer/değilse ve algılama bloklarıyla çevreye göre karar veren kuklalar yap” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.

  1. Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
  2. En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
  3. Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
  4. Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
  5. Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.

Başarı ölçütleri

“Koşullar ve Algılama” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın basketbol atışlarını sayan ve seviye yükselten sahne senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Koşul nedir? "eğer ... ise" bloğu ve Örnek 2: Tuşa basınca zıpla ilişkisini daha küçük adımlara bölerek düzelt.

Sık yapılan hatalar

"eğer" bloğunu sürekli tekrarla içine koymamak

eğer bloğu yalnızca bir kez kontrol yapar. Kukla sürekli çevresine baksın istiyorsan, "eğer" bloğunu bir sürekli tekrarla (Kontrol) döngüsünün içine koymalısın. Aksi hâlde program koşulu bir kez kontrol eder ve unutur.

Altıgen boşluğu boş bırakmak

eğer ... ise bloğunun altıgen boşluğuna bir Algılama bloğu koymazsan koşul tanımsız kalır. Blok, cevabı "evet/hayır" olan bir soru bekler.

Yanlış rengi seçmek

renge ... değiyor mu? bloğunda rengi bloğun üzerindeki kareden ekranı damlalıkla seçerek almalısın. Gözünle benzer gördüğün bir rengi elle ayarlarsan, ekrandaki gerçek renkle birebir uymayabilir ve blok hiç "doğru" olmayabilir.

"değilse" bölümünü unutmak

"Eğer kapıya değiyorsa dur" dedik, peki değmiyorsa? Karakterin durması gereken tek durumu düşünüp diğer durumu boş bırakırsan oyun beklediğin gibi akmayabilir. Gerektiğinde değilse yolunu da doldur.

Güvenlik notu

Scratch tamamen ekran üzerinde çalışır, fiziksel bir tehlike yoktur. Yine de iki şeye dikkat et: ekran başında uzun süre kalınca 20 dakikada bir kalkıp gözlerini dinlendir. Ayrıca Scratch sitesinde proje paylaşırken ad, soyad, okul veya adres gibi kişisel bilgileri yazma; paylaşımlarını herkes görebilir. Emin değilsen bir yetişkine sor.

Ders özeti

Kontrol soruları

  1. Scratch'te bir kuklanın karar vermesini sağlayan blok hangi kategoridedir?
  2. "eğer ... ise" bloğundaki altıgen boşluğa ne tür bir blok koyarız?
  3. renge ... değiyor mu? bloğunda rengi doğru seçmenin yolu nedir?
  4. "eğer ... ise" ile "eğer ... ise ... değilse" arasındaki fark nedir?
  5. Bir kuklanın kenara her değdiğinde tepki vermesini istiyoruz. "eğer" bloğunu hangi bloğun içine koymalıyız ki kontrol sürekli tekrarlansın?

Cevaplar

  1. Kontrol kategorisinde (turuncu bloklar). "eğer ... ise" ve "eğer ... ise ... değilse" burada bulunur.
  2. Bir Algılama bloğu, yani cevabı doğru/yanlış olan altıgen bir blok (örneğin kenara değiyor mu?).
  3. Bloğun üzerindeki küçük renk karesine tıklayıp damlalıkla ekrandan tam o rengi seçerek. Renk elle ayarlanırsa ekrandaki renge birebir uymayabilir.
  4. "eğer ... ise" yalnızca koşul doğruysa çalışır; koşul yanlışsa hiçbir şey yapmaz. "eğer ... ise ... değilse" ise koşul yanlış olduğunda da ayrı bir adım çalıştırır.
  5. Bir "sürekli tekrarla" (Kontrol) döngüsünün içine. Böylece program koşulu her karede yeniden kontrol eder.

Kaynak ve doğrulama notu

“Koşullar ve Algılama” dersi için doğrulama odağı Koşul nedir? "eğer ... ise" bloğu ile Örnek 2: Tuşa basınca zıpla arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Blok adları Scratch’in güncel temel kategorileriyle uyumlu tutulmuştur. Proje davranışı; başlangıç, normal oyun, hata ve yeniden başlatma durumlarında ayrı ayrı denenmelidir.

Sonraki ders

Döngüler

Quiz’i BaşlatScratch ile Programlama bölümüne dön
SORU HAVUZU

Bu dersi 10 soruyla pekiştir

Bu ders için 20 soruluk bir havuz hazırlandı. Her başlangıçta 10 soru ve seçenekler yeniden karıştırılır.