Kanca
Bir robota aynı gidiş-gelişi yirmi kez yaptırman gerekiyor. Aşağıdaki editörde kırk bloğu alt alta dizebilirsin — ya da iki blok koyup yanına "yirmi kez" yazabilirsin. İkisi de aynı işi yapar, ama biri ekrana sığar.
Görev: Bir Eğer/Değilse bloğu kur; Engel var anahtarı kapalı ve açıkken iki dalı da çalıştır.
İki farklı dal çıktısı gerekiyor: Engel yok ○ · Engel var ○
Bağlantı yalnız bu sahnenin durumunu taşır; hesap veya ad içermez.
Ne oldu
"Tekrarla" bloğu, içine koyduğun blokları senin belirlediğin sayı kadar art arda çalıştırır. On hareket bloğu eklemek yerine, iki hareket bloğunu bir "Tekrarla 5 kez" bloğunun içine koyabilirsin — sonuç aynıdır, ama liste çok daha kısadır.
Burada bir ayrıntı var: bir hareket bloğu eklemi belirli bir açıya götürür, "biraz daha döndür" demez. Bu yüzden tek bir hareket bloğunu tekrarlarsan robot ilk seferde o açıya gider, sonraki tekrarlarda zaten orada olduğu için yerinde durur. Tekrarın gözle görülmesi için içeride en az iki farklı hareket olmalı — örneğin git ve geri dön.
"Eğer" bloğu farklı bir şey yapar: simüle edilen robot, "Engel var" anahtarına bakarak İKİ ayrı blok grubundan birini seçer. Anahtar açıksa üstteki grup, kapalıysa alttaki ("Değilse") grup çalışır — aynı anda ikisi birden değil.
Gerçek dünyada
Metin tabanlı diller de tekrar ve koşul yapıları kullanır. Blokların görünüşü
değişse de içteki program ağacı; bir statement bloğunu, içindeki statement
bloklarını ve sıradaki bloğu ayrı tutar. Bu yüzden aynı düşünceyi daha sonra
Python'daki for ve if/else yapısına aktarabilirsin.
Dene
Bir "Tekrarla" bloğu ekle, içine İKİ hareket bloğu koy (biri Eklem 1'i 30°'ye, diğeri 0°'ye götürsün), tekrar sayısını 3 yap ve çalıştır — robotun aynı gidiş-gelişi üç kez yaptığını izle. Merak edersen içeride tek blok bırakıp tekrar dene: hareket bir kez olur, sonra durur. Sonra bir "Eğer" bloğu ekle, üst gruba bir hareket, alt gruba ("Değilse") farklı bir hareket koy. "Engel var" anahtarını önce kapalı, sonra açık bırakarak iki kez çalıştır. Görev ancak iki dal da çalışma izinde görüldüğünde tamamlanır.
Sonraki
Bu hattın lise seviyesinde artık blok yerine gerçek Python kodu yazarak aynı fikirleri (sıralı komut, tekrar, koşul) ifade edeceksin.