Bileşenleri Tanıma: Tekrarlı İşlemler (Döngü)

Döngü mantığı, sürekli tekrarla ve belirli sayıda tekrar blokları, robotikte void loop yapısı. Maarif Modeli RK1.2.2 ders notu.

Robotik Kodlama10. HaftaRK1.2.2
Bu konuyla ilgili test çöz PDF yakında
KAZANIM • RK1.2.2 (b-2)

Robotik sistemlerde çevrim içi yazılım geliştirme sürecinde kullanılan bileşenlerden yararlanabilme.

  1. Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini tanımlar.
  2. Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini kullanır (Tekrarlı İşlemler - Döngüler).
  3. Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini değerlendirir.
🔄 Aynı Şeyi 100 Kez Yazmak Zorunda Değilsiniz! Kodlamanın en büyük süper gücü, bilgisayarlara ve robotlara aynı eylemi hiç yorulmadan, bıkmadan ve sıfır hatayla binlerce kez yaptırabilmesidir. 100 adım yürümek için 100 tane blok alt alta dizilmez; tek bir Döngü (Loop) bloğu kullanılır. Bu hafta projelerimizi hafifleten ve robotlarımıza canlılık katan döngü bloklarını inceliyoruz!
Anahtar Kavramlar: Döngü (Loop) Tekrarlı İşlem Sürekli Tekrarla Belirli Sayıda Tekrar Sonsuz Döngü Arduino void loop() Kod Optimizasyonu

1) Döngü (Loop) Nedir ve Neden Kullanılır?

Döngü: Belirli bir komut veya komut grubunun, önceden belirlenmiş bir kurala ya da sayıya göre tekrar tekrar çalıştırılmasını sağlayan kontrol yapılarına denir.

Döngü kullanmanın 3 hayati faydası vardır:

  • 1. Kod Kalabalığını Önler (Temiz Kod): 10 kez kare çizmek için 40 blok dizmek yerine, iç içe 2 döngüyle toplam 4 blokta aynı şekli çizebilirsiniz.
  • 2. Bellek Tasarrufu Sağlar: Mikrodenetleyicilerin (örneğin Arduino Uno) hafızası çok kısıtlıdır. Döngüler program dosya boyutunu küçülterek robotun hafızasını korur.
  • 3. Hızlı Düzenleme Kolaylığı: 50 yerde geçen bir bekleme süresini değiştirmek istediğinizde 50 satırı tek tek aramak yerine, döngü içindeki tek bir sayıyı değiştirmek yeterlidir.

2) Dizge'de Temel Döngü Blokları

Dizge ve blok tabanlı kodlama ortamlarında Kontrol (Turuncu) kategorisinde iki temel döngü yer alır:

Blok Adı ve ŞekliÇalışma MantığıKullanım Alanı
[... defa tekrarla]
(Sayacı Belirli Döngü)
İçine yerleştirilen blokları belirtilen sayı kadar (örneğin 10 kez) çalıştırır ve süre dolunca döngüden çıkarak alttaki bloklara geçer.Kare çizme (4 defa tekrarla), 10 basamak çıkma, 5 kez bip sesi çıkarma.
[sürekli tekrarla]
(Sonsuz Döngü)
Kırmızı durdur butonuna basılana veya robotun gücü kesilene kadar içindeki komutları durmaksızın başa sarıp tekrar eder. Altına blok takılamaz (ağzı kapalıdır).Robotik sistemlerin ana gövdesi, çevre kontrolü, sensör tarama, animasyon yürütme.

3) Robotik Dünyasındaki Karşılığı: void loop()

Blok ortamında kullandığınız [sürekli tekrarla] bloğu, metin tabanlı robotik dillerde (C/C++ ve Arduino IDE) doğrudan void loop() fonksiyonudur.

🤖 Robotların Kalp Atışı:
Bir çizgi izleyen robot veya akıllı süpürge düşünün. Robot 5 saniye sonra durup kapanmaz; sürekli önündeki sensörleri kontrol etmek, engelleri taramak ve motorları ayarlamak zorundadır. İşte bu yüzden robotik yazılımların %99'u bir sonsuz döngü içerisinde nefes alır!

4) Kod Karşılaştırması: Döngüsüz vs Döngülü

Kare çizen bir robot kukla hazırlayalım:

Yöntem 1: İlkel (Döngüsüz)Yöntem 2: Profesyonel (Döngülü)
1. [100 adım git]
2. [90 derece dön]
3. [100 adım git]
4. [90 derece dön]
5. [100 adım git]
6. [90 derece dön]
7. [100 adım git]
8. [90 derece dön]
(Toplam 8 blok — uzun, yorucu ve hata yapmaya açık!)
1. [4 defa tekrarla]
    ➔ [100 adım git]
    ➔ [90 derece dön]

(Toplam sadece 3 blok — şık, esnek ve hafıza dostu!)

5) Sınav Tarzı Örnek Sorular ve Çözümleri

⚠️ Örnek Soru 1: Bir acil durum ambulans maketinde yer alan mavi tepe lambasının elektrik kesilene kadar durmaksızın 1 saniye yanıp 1 saniye sönmesi istenmektedir. Bu davranış için hangi kontrol bloğu seçilmelidir?
A) [10 defa tekrarla]
B) [sürekli tekrarla]
C) [1 saniye bekle]
D) [eğer ... ise]
Cevap: B) [sürekli tekrarla].
İşlemin elektrik kesilene kadar durmaksızın devam etmesi istendiği için sonsuz döngü sağlayan [sürekli tekrarla] bloğu kullanılmalıdır.
➕ Örnek Soru 2: Dizge ortamında [sürekli tekrarla] bloğunun alt ucunda neden diğer blokları takmak için bir çıkıntı (tırnak) bulunmaz?
Cevap: Çünkü sürekli tekrarla sonsuz bir döngüdür; komutlar bittiğinde en başa döner ve döngünün dışına asla çıkılmaz. Altına blok takılsa bile o bloklar asla çalışamayacağı için mimari olarak alt bağlantı ucu kapatılmıştır.

6) 10. Hafta Özeti ve Altın İlkeler

  • Tekrar varsa döngü vardır: Aynı kodu arka arkaya kopyalamak yerine her zaman uygun döngü bloğu tercih edilmelidir.
  • Defa tekrarla: Adım sayısı baştan bilinen geometrik çizimler veya sayaçlı işler için idealdir.
  • Sürekli tekrarla: Robotların kesintisiz çevre algılama ve karar verme mekanizmasının ana omurgasıdır.

Dersi BlocKodlama ile işleyin.

Kazanım bazlı interaktif içerikler, Türkçe blok kodlama editörü Dizge ve sınav merkezi tek platformda.