Oyuncu Robotu. Döngüler. Eğitim portalı

Öğretmenin görevi bu yolda öğrenciyle birlikte yürümek, başarısızlıklara karşı güvence sağlamak değil, başarısızlıklardan kaynaklanan hayal kırıklıklarını önlemektir. olası zorluklar. Çocukların kendileri için anlamlı olan etkinlikler aracılığıyla yeni şeyler keşfetmelerini sağlayacak şekilde sınıfların düzenlenmesi çok önemlidir.
Bir robot bilgisayar bilimi çalışmalarına nasıl yardımcı olur? Robotiğin dayandığı yalnızca birkaç bilgisayar bilimi konusunu belirteceğim.
Konu "Dosyalar ve dosya sistemi".
Öğrencinin elinde LEGO Mindstorms NXT Education eğitim setinden bir LEGO®NXT mikro bilgisayarı vardı. Onu kontrol et dosya sistemi standart komutlar kullanılarak gerçekleşir, ancak bellek hacmi büyük olmadığından neyin gerekli olup neyin gerekli olmadığının kontrolü sürekli olarak yapılmalıdır. Robotun hareketlerini seslendirmek, bir resim görüntülemek veya çalışma programları kütüphanesine eklemek için robotun çalıştırılması gerekir. temel konseptler bilgisayar bilimi: dosya, dosya türü, dosya yolu, menü, klasör.
Konu: “Bilgi süreçleri”, “Bilgi kodlama”.
Robotik kit, ses, dokunsal ve video bilgilerini kaydeden sensörlerle donatılmıştır. Bilgiler sayısallaştırıldıktan sonra bir görüntü ekranında görüntülenebilir. Mikrobilgisayarın özel bir işlevi, çalışmaya hazır programlar kullanarak sensörler ve motorlarla denemeler yapılmasını mümkün kılar. Sensörlerle bir dizi deney yaptıktan sonra bir anlayış ortaya çıkıyor: ultrasonik mesafe sensörünün neden kızılötesi ışık sensöründen daha yavaş çalıştığı, sesin nasıl dijital kod ve benzeri. Çalışmak bilgi süreçleri ve bilgi kodlamanın ilkeleri, bilgi teknolojisinin özüne ilişkin daha derin bir anlayış sağlar.

Tema: İletişim Teknolojileri.
LEGO®NXT mikrobilgisayar teknolojiyi destekler kablosuz iletişim. Bluetooth işlevini kullanarak şunları ayarlayabilirsiniz: kablosuz bağlantı NXT mikro bilgisayarı ile diğer cihazlar arasında Bluetooth cihazıörneğin diğer NXT'lerle, cep telefonları veya bilgisayarlarla. Bluetooth bağlantısı kurarak şunları yapmak mümkündür: programları bilgisayardan uzaktan indirmek; NXT dahil olmak üzere diğer cihazlardan (bilgisayardan değil) programlar gönderin; programları hem bireysel NXT'lere hem de gruplarına gönderin. Bu teknoloji, robotu cep telefonu kullanarak kontrol etmeyi mümkün kılıyor.

Konular “Algoritmalar. Algoritma Yürütücüsü”, “Programlama Ortamı”.
Robotla ilk tanışma için NXT ünitesini bilgisayara erişmeden doğrudan programlayabilirsiniz. Doğrudan görüntü ekranında, beş komuttan oluşan bir şablon kullanarak oluşturabilirsiniz. basit bir program ve döngüye alın. Ancak temel algoritmik yapılar hakkında bilgi sahibi olmadan ve programlama ortamına hakim olmadan bunu yapmak imkansızdır. Robotu evrensel bir performans sergileyen, çeşitli sorunları çözebilen, programlayabilme yeteneğidir. Görsel programlama ortamlarıyla programlama teknolojisinde uzmanlaşmaya başlamalı, ardından daha güçlü ve modern, olay odaklı ortamlara geçmelisiniz.
Bu nedenle robotik gerektirir temel bilgi bilgisayar bilimi ve öğrencinin robotunu "en iyisi" yapma konusundaki tükenmez arzusu, onu yeni bilgilere hakim olmaya itiyor.
Bir robot neden ideal bir öğretim aracı olarak adlandırılabilir? Çünkü bu araç, çocuğun doğal oyun oynama, yaratma ve akranlarıyla iletişim kurma arzularından yararlanacak bir öğrenme ortamı yaratmayı mümkün kılar. Dolayısıyla robotiğin bir öğretim aracı olarak avantajlarını şöyle sıralayabiliriz:
. Bilgi edinimi oyun sırasında gerçekleşir.
. Robot yapmak yaratıcı özgürlük sunar.
. Çoğu öğrencinin çalışmalarını geliştirme arzusu vardır.

Örnek olarak 6. sınıf öğrencisi bir öğrencinin “Robot Programlama” dersi kapsamında ders dışı etkinlikler sırasında oluşturduğu “Ücretsiz ikram dağıtan robot” modelini örnek vermek istiyorum. Robot, standart Alpharex 1.0 modeline göre LEGO MINDSTORMS NXT Education 9797 setinden monte edilmiştir ve robotun durumunu gösteren bir renk sensörü ve ikramlar için bir tepsi ile tamamlanmaktadır.
Çalışmanın amacı, mevcut kaynaklarla mümkün olduğu kadar insan yürüyüş modelinin hayata geçirilmesidir. Her bir bacağın hareketi bir motor ve dişliler ve kaldıraçlardan oluşan mekanik bir düzenek tarafından kontrol edilir. Bir kol bacağı yukarı ve aşağı hareket ettirirken diğeri ileri doğru hareket ettirir. Bu durumda vücut, robotun dengeyi koruması nedeniyle destek ayağına doğru sapar. Bu yürüyüşe "karıştırma" denir
Ayrı bir motor, mesafe sensörünü ve dokunmatik sensör ile renk sensörünü tutan kaldıraç kollarını kontrol eder. Tedavi tepsisi sabittir.
Robot, aşağıdaki davranış algoritmasına göre, örneğin ücretsiz ikramlar gibi bir dağıtıcı olarak hareket edecek şekilde programlanmıştır. Robot, hareketine doğrudan bir ifadeyle eşlik ediyor: "Ben Alpharex robotuyum, bedava bir ikram sunuyorum!" Robotla temas kurmak isteyen kişi bir jestle robotu durdurabiliyor. Robot durduktan sonra şu cümleyi söylüyor: "Kendine yardım et ve düğmeye bas!" Şekeri alan kişinin minnettarlık göstergesi olarak düğmeye bir kez basması gerekir. Durduktan üç saniye sonra robot hareket etmeye devam edecektir. İkramlar bittiğinde (robot, tepside belirli sayıda şeker olacak şekilde programlanmıştır), robot veda edecek, kırmızı gösterge yanacak ve robot duracaktır.

Robotu kontrol etme programı NXT Programming 2.0 ortamında yazılmıştır.




Yürütücü Robot Komut sistemi, icracı için Robot Hareketi komutları: yukarı, aşağı, sola, sağa Robot bir hücreyi yukarı, aşağı, sola, sağa hareket ettirir. Boya komutu Robotun bulunduğu hücreyi boyar. Durumun doğruluğunun kontrol edilmesi: Üstte serbest, altta serbest, solda serbest, sağda serbest Robot, bulunduğu hücrede duvar olmaması koşulunun doğruluğunu kontrol eder. AND, OR, NOT mantıksal işlemlerinin oluşturduğu bileşik koşulların gösterimini kullanabilirsiniz.




Performer Robot Ortamın doğrudan düzenlenmesi Ortamı düzenlemeye yönelik tüm komutlar fare kullanılarak gerçekleştirilir: bir duvarı yerleştirin/kaldırın - hücreler arasındaki kenarlığa tıklayın, bir hücreyi boyayın/temizleyin - hücreye tıklayın, Robotu hareket ettirin - fareyi sürükleyin istenilen hücreye


Yürütücü Robot Menüsü komutları Robot Show Robot alanı Robot gözlem penceresini görünür hale getirir. Yazdırma Ayarı Bir dosya oluşturur. PDF formatı Mevcut durumu renkli veya siyah beyaz olarak tasvir eden. Ortamı dosyaya kaydet Metin dosyası dahili *.fil formatında durumun açıklamasıyla birlikte. Bu dosya daha sonra bir başlangıç ​​ortamı olarak (Başlangıç ​​ortamını değiştir komutu) veya başlangıç ​​ortamı düzenlenirken (Başlangıç ​​ortamı düzenleme penceresini aç komutu) yüklenebilir. Başlangıç ​​ortamı olarak değiştir Yeni bir başlangıç ​​ortamı dosya adı belirler (standart iletişim kutusunu kullanarak) ve yeni bir başlangıç ​​ortamı yükler. Başlangıç ​​Ortamına Dönüş Başlangıç ​​ortamını güncel hale getirir.


Gerçekleştirici Robot Gözlem penceresindeki mevcut durumun görüntüsü Mevcut ortamın görüntüsü her zaman tamamen Robot gözlem penceresinin çalışma alanına yerleştirilir. Çalışma alanının arka planı yeşildir. Dolu hücreler gridir. Hücreler arasında ince siyah çizgiler bulunur. Duvarlar kalın sarı çizgilerle gösterilmiştir. Gözlem penceresinin çalışma alanı hücresinde Robot bir elmas şeklinde tasvir edilmiştir.


Performans Robotu Örneği 1. Robotun A noktasından B noktasına gidebilmesi için “Şövalye hareketi” adında bir algoritma oluşturalım (Şekil 3). Algoritma şuna benziyor (Şekil 4.). Yürütülmesinin ardından Robot istenilen noktaya hareket edecektir (Şekil 5). Sanatçının dilinde yazılmış bir algoritmaya program denir. Şekil 3 Şekil 4 Şekil 5











Tüm süreç iki aşamadan oluşur: montaj ve programlama. İyi bir robot oluşturmak için mekanik bilgisine ihtiyacınız var. Bir robotu belirli eylemleri gerçekleştirecek şekilde programlamak için onun anlayacağı bir dil bilmeniz gerekir. anakart veya yazılım bloğu. Okuldaki bilgisayar bilimi bilgisi burada yeterli değil.

Malzemeyi nereden alabilirim?

Öncelikle robotu nasıl monte etmek istediğinize karar vermelisiniz: hazır kitlerden veya malzemeleri kendiniz seçerek. Kitin avantajı parçaları ayrı ayrı aramak zorunda kalmamanızdır. Çoğu zaman, bir setten birkaç cihaz monte edilebilir.

Hazır bir kitten birleştirilmeyen yapıya denir sistemi aç. Ayrıca avantajları da var: Robotunuzun kendine has bir kişiliği olacak ve siz de tasarımı geliştirebileceksiniz. Ancak kesinlikle daha fazla zaman ve çaba harcayacaksınız.

Bir robot nelerden oluşur?

Muhafaza – metal veya plastik "vücut" kalan parçaların bağlandığı yer. Her robotun bir enerji kaynağı vardır; piller veya akümülatör. Robotun hangi görevi yerine getireceğine bağlı olarak sensörler seçilir: rengi ve ışığı algılayabilir ve dokunmaya yanıt verebilirler.

Robotu hareket ettirmek için motorlara ihtiyacınız olacak. "KAFA" tüm mekanizma - sistem kartı veya yazılım birimi. Robot, onların yardımıyla bir bilgisayara bağlanır ve bir dizi görevi alır.

Ona bir şey yapmasını nasıl sağlayabilirim?

Robotun bazı eylemleri gerçekleştirmesi için oluşturmanız gerekir. bilgisayar programı. Bu adımın zorluğu montaja bağlıdır. Robot bir Lego Mindstorms veya mBot setinden monte edilmişse, çocuklar bile yazılımlarını kullanabilir.

Robotu kendiniz yapıyorsanız, programlamanın temellerini ve programı yazacağınız dili (C++ gibi) öğrenmeniz gerekir.

Bir robot neden bir programı yürütemeyebilir?

Yeni bir yere gittiğinde kafası karışabilir ve programı yanlış çalıştırabilir. Robotun her şeyi doğru yapabilmesi için sensörlerin ayarlanması gerekir. Örneğin çok parlak bir aydınlatma, renkleri yeterince tanımanıza engel olabilir. Robotun hareket ettiği yüzeye bağlı olarak motorların gücü ayarlanır.

Okulda montaj ve programlamayı öğrenebilir misiniz?

Robotiğin okul müfredatında yer almamasına rağmen fizik ve bilgisayar bilimleri öğretmenleri bir çocuğa nasıl montaj yapılacağını ve programlanacağını öğretebilir. Belgorod'da bazı okullarda robotların yapıldığı kulüpler var.

“Fizik ve bilgisayar bilimleri öğretmenleriyle derslerden sonra programlamayı öğreniyoruz. LegoMindstorms ve Robolab'da nasıl çalışılacağını zaten biliyoruz ( yazılım robotlar için - yakl. Oto). Ayrıca bazen parçaların 3 boyutlu çizimlerini yapmayı da öğreniyoruz” dedi Belgorod Mühendislik Yatılı Gençlik Lisesi öğrencileri ve RoboFest 2018 katılımcıları. Anton Pershin Ve Dmitry Çernov.

Okul dışında nerede robot bilimci olabilirsiniz?

BelSU mühendislik okulunda robotların nasıl monte edileceğini ve programlanacağını öğreten bir sınıf var. 2017 yılında Belgorod'da dokuz yaşından itibaren okul çocuklarına robot biliminin öğretildiği Quantorium açıldı.

Gerçek bir robotist olmak için robotik bölümüne kayıt olabilirsiniz. Belgorod'da henüz böyle insanlar yok ama BSTU'da. Shukhov'un teknik sibernetik departmanı var. Öğrencileri tüm Rusya'nın robotik yarışmalarında ödüller alıyor.

Kendi başınıza öğrenmek mümkün mü?

Evet. İnternette ne inşa edeceğinizi ve bir robotu nasıl programlayacağınızı öğrenebileceğiniz birçok kaynak var.

Robot faydalı olacak mı?

Günlük görevlere uyarlanabilir ve evdeki bir asistana dönüştürülebilir. İnternette ev mucitlerinin krep pişirmek veya bir daireyi temizlemek için nasıl robotlar yarattığına dair birçok örnek var.

Robot yaratmadaki başarınızı nasıl kanıtlayabilirsiniz?

RoboFest gibi yarışmalara katılın. Yaşa ve yöne bağlı olarak farklı adaylıklar vardır. Temel olarak, her robot türünün görevleri yerine getirdiği bir yolu vardır: bir küpü yakalayın veya bir çizgi çizin. Jürilerin projenin sunumunu ve mekanizmaların işleyişini değerlendirdiği statik sistemler de bulunmaktadır.

Kural olarak, katılımcılar yarışmalara monte edilmiş robotlarla gelirler ve hazırlık sırasında yalnızca sensörleri kalibre etmek ve programı ayarlamak için zaman harcarlar.

Editörler, materyalin oluşturulmasındaki yardımlarından dolayı RoboFest 2018 katılımcılarına teşekkür eder. Dmitry Agafonov, Dmitry Çernov, Anton Pershina Ve Danila Migrina.

Natalia Malykhina

Ve bugün döngüler hakkında konuşacağız. Döngünün ne olduğunu ve Robotumuza döngüsel algoritmaları gerçekleştirmeyi nasıl öğreteceğimizi bulalım.

Bu yüzden, döngü nedir? Sınıfta olduğumuzu hayal edin fiziksel Kültür ve önümüzde bir görev var 7 squat yap. Bu görev doğrusal bir algoritma olarak yazılabilir ve aşağıdaki gibi görünecektir:

çömelme yap

çömelme yap

çömelme yap

çömelme yap

çömelme yap

çömelme yap

çömelme yap

Yani “Çömelme yap” komutunu 7 kez tekrarladık. Birbirinin aynı olan 7 komutu yazmak mantıklı mı? Komut vermek daha kolay olabilir 7 squat yap? Tabii ki daha basit ve daha doğru. Bu döngü. Yaşamdaki döngü örneklerini kendiniz hatırlayabilirsiniz - oldukça fazla var.

Böylece doğrusal algoritma aynı komutların tekrarlandığı yerde düzenleyebiliriz döngüsel bir algoritma olarak- bunun gibi:

7 kez tekrarla

çömelme yap

döngünün sonu

Kendi icat ettiğimiz dilde döngüyü bu şekilde tasarladık. Robot sanatçısı aynı zamanda döngüleri kaydetme yeteneğine de sahiptir. Dahası, döngüler farklıdır. Az önce baktığımız seçeneğin adı sayaçlı döngü veya parametreli döngü.

Döngü türleri.

Bir sayaçla döngü yapın.

Sayaçlı döngü Kaç tekrar yapılması gerektiği önceden bilindiğinde kullanılır. Yukarıdaki squat örneğinde durum tam olarak böyledir.

Yürütücü için sayaç içeren bir döngü yazmak için sözdizimini bilmeniz gerekir. O da şöyle:

nc<tekrar sayısı> kez

<команда 1>

<команда 2>

<команда n>

Burada tekrar sayısını (sayısını) ve tekrarlanacak komutları belirtmemiz gerekiyor. Döngü içerisinde tekrarlanan komutlara denir döngünün gövdesi.

Buna bir örnekle bakalım.

Başlangıçta Robot sol üst hücredeydi.

Önce problemi doğrusal olarak çözelim. Bu durumda mevcut hücrenin üzerini boyayıp 1 hücre sağa taşıyacağız ve program şu şekilde görünecektir:
Robotu kullan
alg
başlangıç

Üzerine boyamak

Sağ

Üzerine boyamak

Sağ

Üzerine boyamak

Sağ

Üzerine boyamak

Sağ

Üzerine boyamak

Sağ

Üzerine boyamak

Sağ

Üzerine boyamak

Sağ

Gördüğünüz gibi boyama ve sağa gitme komutları 7 kez tekrarlanıyor. Şimdi programı bir döngü kullanarak yeniden yazalım. Bu arada programınıza bir döngü eklemek için menüye gidebilirsiniz. SokmakÖğeyi seçin tsk-tsk-tsk veya tuş kombinasyonlarından birine basın Esc, P(Rusça R harfi) veya Esc, H(Latince H harfi). Dahası tuşlara sırayla basılmalıdır- önce Esc, bırakın ve ancak ondan sonra P veya H.

İşte bizim döngü programışöyle görünecek:

Robotu kullan

7 kez

Üzerine boyamak

Sağ

Çalıştırırsak sonucun aynı olacağını göreceğiz - 7 dolu hücre. Ancak program algoritmik açıdan daha kısa ve çok daha akıllı hale geldi!

Isınma ve pekiştirme olarak Robot için, kenarı 7 hücreli bir kare çizecek bir program yazmanızı öneririm. Doğal olarak bir döngü kullanarak. Yorumlarda çözüm bekliyorum.

Koşullu döngü.

Bilgisayar Bilimleri Devlet Akademik Bilişiminin 19. Sorununu Robotla çözerken, sayaçlı bir döngü kullanmak işe yaramayacaktır. Oradaki alan kural olarak sonsuz olduğundan ve duvarların belirli bir uzunluğu yoktur. Bu nedenle sayaçlı bir döngünün tekrar sayısını belirleyemeyeceğiz. Ama önemli değil - bize yardımcı olacak koşullu döngü.

Beden eğitimine geri dönelim ve sorunu değiştirelim. Sonuçta biri 7 squat yapamıyorken diğeri 27 squat yapabiliyor olabilir. Döngü oluştururken bunu hesaba katmak mümkün mü? Kesinlikle. Ancak şimdi bir sayaç (tekrar sayısı) değil, bir koşul kullanacağız. Mesela yorulmadan önce squat yapın. Bu durumda kişi belirli sayıda squat yapmayacaktır, yoruluncaya kadar squat yapacaktır. Ve soyut dildeki döngümüz şu şekilde olacaktır:

Hoşçakal yorgun değil

çömelme yap

döngünün sonu

Bizim durumumuzda kelimeler yorgun değil - bu bir durumdur. Doğru olduğunda döngü yürütülür. Eğer yanlış (yorgun) ise döngünün gövdesi çalıştırılmayacaktır. Robot sanatçısının çeşitli koşulları vardır

üstte ücretsiz

aşağıdan ücretsiz

serbest bırakıldı

sağdaki serbest

yukarıdaki duvar

aşağıdaki duvar

sol duvar

sağdaki duvar

Ancak GIA'nın 19. görevinin koşullarında yalnızca ilk 4'ü belirtilir, bu yüzden onları yalnızca kullanacağız.

Şimdi Robot için bir sonraki görevi çözelim - çizim dikey çizgi Alanın sol kenarından sağa doğru koşullu bir döngü kullanıyorum. Başlangıçta Robot sol üst köşede bulunur.

Önce sözlü bir algoritma formüle edelim - yani Robotun ne yapması gerektiğini kelimelerle açıklayalım. Bu algoritma şöyle bir ses çıkaracaktır:

« Sağda boş alan varken sağa bir adım atın ve hücreyi boyayın »

Sonuç olarak, Robot sağdaki tüm hücrelerin içinden geçecek ve sağda bir duvar oluşana kadar onları boyayacaktır.

Robot programımızın kaynak kodu şöyle olacaktır:

Robotu kullan

bu hak şimdilik bedava

Sağ

Üzerine boyamak

Bu programın yürütülmesi sonucunda aşağıdaki resmi göreceğiz:

idol programı

Sanatçı Robot


Robot sanatçısı kimdir?

  • Üzerinde Robot diyeceğimiz belirli bir nesnenin bulunduğu damalı bir alan (damalı desenli bir defter sayfası gibi) hayal edin. Özel komutlar kullanarak bu Robotu kontrol edebiliriz - onu hücrelerin etrafında hareket ettirin, hücrelerin üzerini boyayın. Ve çoğu durumda görevimiz Robot için belirli hücreleri boyayacağı bir program yazmak olacaktır.

Sanatçı Robot için ortam idolünün kurulması

  • Başlatılan Idol programı şuna benziyor.

Robot başlangıç ​​ortamı

  • Programın yürütülmesine başlamadan önce Robot yürütücüsü için başlangıç ​​ortamının ayarlanması gerekir. Bu, Robotun istenilen konuma yerleştirilmesi, duvarların yerleştirilmesi, gerekli hücrelerin boyanması vb. anlamına gelir. Bu adım çok önemlidir. Bunu görmezden gelirseniz program düzgün çalışmayabilir, hatta çökebilir.

Basmak Ortamı düzenle



Oyuncu Robotu. Basit komutlar.

  • yukarı
  • aşağı
  • sol
  • Sağ
  • Üzerine boyamak

Bu komutları yürütmenin sonucu, adlarından açıkça anlaşılmaktadır:

  • yukarı - Robotu bir hücre yukarı taşı
  • aşağı - Robotu bir hücre aşağı taşıyın
  • sola - Robotu bir hücre sola taşı
  • sağ - Robotu bir hücre sağa taşıyın
  • üzerini boya - mevcut hücrenin (Robotun bulunduğu hücre) üzerini boyayın.

Algoritma örneği

  • İlk önce şu ifadeyi yazmanız gerekir:
  • kullanmak Robot

Kaç hücrenin boyanması gerektiğini biliyorsanız çözüm algoritması aşağıdaki gibi olacaktır!


Görev No.1

  • Kaç hücrenin gölgelenmesi gerektiğini biliyorsanız aşağıdaki problemi çözecek bir program yazın

Döngüler

  • 1. Sayaçlı döngü Kaç tekrar yapılması gerektiği önceden bilindiğinde kullanılır.

nc kere

kts

Burada tekrar sayısını (sayısını) ve tekrarlanacak komutları belirtmemiz gerekiyor. Döngü içerisinde tekrarlanan komutlara denir döngünün gövdesi.



Görev No.2

  • Aşağıdaki problemi sayaçlı bir döngü kullanarak çözen bir program yazınız.

  • 2. Koşullu döngü - Koşul doğruysa döngü sağlanır, yanlışsa döngü sağlanmaz
  • Robot sanatçısının çeşitli koşulları vardır

üstte ücretsiz

aşağıdan ücretsiz

serbest bırakıldı

sağdaki serbest

yukarıdaki duvar

aşağıdaki duvar

sol duvar

sağdaki duvar

  • Kullanabileceğiniz parçacıklar: DEĞİL, VE, VEYA

Koşullu döngü yapısı

şimdilik sağdaki serbest

Sağ

Üzerine boyamak

kts



Görev No.3

  • Aşağıdaki problemi koşullu döngü kullanarak çözen bir program yazın:

Görev No.4

  • Aşağıdaki problemi koşullu döngüler kullanarak çözecek bir program yazın:



Problem çözme:

  • 2. Robot, duvarları boyayarak başlangıç ​​pozisyonundan son pozisyona hareket ettirilmelidir.


Görev No.5

  • Sonsuz bir alanın üzerinde yatay bir duvar var. Duvarın uzunluğu bilinmiyor. Robot duvarın sol ucunda yer alır. Şekilde robotun duvara göre konumu gösterilmektedir (robot “P” harfiyle gösterilmiştir):

5 numaralı göreve cevap

  • nc henüz değil (alt kısım serbest)

Üzerine boyamak

Döngünün başlangıcı (nc) ve durum (henüz değil (aşağıdan bağımsız)) tek satıra yazılır.



Tasarım Eğer

  • üst serbest alt serbest sol serbest sağ serbest
  • Bu komutlar bir koşulla birlikte kullanılabilir. "Eğer", aşağıdaki forma sahiptir:
  • Eğer durum O
  • komut dizisi
  • Örneğin sağda duvar yoksa bir hücreyi sağa taşımak ve hücreyi boyamak için aşağıdaki algoritmayı kullanabilirsiniz:
  • eğer hak özgürse o zaman
  • Sağ
  • Üzerine boyamak

Görev No.7

Duvarların uzunlukları bilinmiyor.


7 numaralı göreve cevap

üst kısım serbest kalana kadar

Üzerine boyamak

Sağ

üst kısım serbestken

Sağ

hak özgürken

Üzerine boyamak

Sağ

sağda henüz özgür değil

Üzerine boyamak

aşağı

hak özgürken

aşağı

sağda henüz özgür değil

Üzerine boyamak

aşağı


Görev No.8

Duvarların uzunlukları bilinmiyor.

Her duvarın tam olarak bir geçişi vardır, geçidin tam yeri ve genişliği bilinmemektedir.


8 numaralı göreve cevap

üst kısım serbestken

üst kısım serbest kalana kadar

Üzerine boyamak

üst kısım serbestken

üst kısım serbest kalana kadar

Üzerine boyamak

alt kısmı serbest kalana kadar

Üzerine boyamak

alt kısım serbestken

alt kısmı serbest kalana kadar

Üzerine boyamak


Görev No. 9

Duvarların uzunlukları bilinmiyor.

Her duvarın tam olarak bir geçişi vardır, geçidin tam yeri ve genişliği bilinmemektedir.


9 numaralı göreve cevap

alt kısım serbestken

alt kısmı serbest kalana kadar

Üzerine boyamak

alt kısım serbestken

alt kısmı serbest kalana kadar

Üzerine boyamak

üst kısım serbest kalana kadar

Üzerine boyamak

üst kısım serbestken

üst kısım serbest kalana kadar

Üzerine boyamak


Görev No. 10

Duvarların uzunlukları bilinmiyor.

Her duvarın tam olarak bir geçişi vardır, geçidin tam yeri ve genişliği bilinmemektedir.


10 numaralı göreve cevap

sol serbestken

sol serbest kalana kadar

Üzerine boyamak

sol serbestken

sol serbest kalana kadar

Üzerine boyamak

sağda henüz özgür değil

Üzerine boyamak

hak özgürken

sağda henüz özgür değil

Üzerine boyamak


Görev No. 11

Duvarların uzunlukları bilinmiyor.

Her duvarın tam olarak bir geçişi vardır, geçidin tam yeri ve genişliği bilinmemektedir.


11 numaralı göreve cevap

üst kısım serbest kalana kadar

üst kısım serbest kalana kadar

Üzerine boyamak

alt kısım serbestken

üst kısım serbest kalana kadar

Üzerine boyamak


Görev No. 12

Sonsuz alanda bir merdiven var. Merdiven önce sağdan sola, sonra soldan sağa iniyor. Her adımın yüksekliği bir kare, genişliği ise iki karedir. Robot merdivenlerin en üst basamağının sağındadır. Sola giden adım sayısı ve sağa giden adım sayısı bilinmiyor. Şekilde merdiveni ve Robotu konumlandırmanın olası yollarından biri gösterilmektedir (Robot “P” harfiyle gösterilmiştir).


12 numaralı göreve cevap

Merdiven kavşağına ulaşana kadar merdivenlerin altından sağdan sola doğru ilerliyoruz:

alt kısım şimdilik ücretsiz

aşağı

sol

sol

Yol boyunca gerekli hücreleri boyayarak inen merdivenin sonuna doğru ilerliyoruz:

sol tarafta henüz özgür değil

Üzerine boyamak

Sağ

Üzerine boyamak

Sağ

aşağı



13 numaralı göreve cevap

evet sol şimdilik serbest

Üzerine boyamak

sol

yukarı

sol tarafta henüz özgür değil

Üzerine boyamak

yukarı


Görev No. 14

Sonsuz bir alanda duvarlarla çevrelenmiş bir dikdörtgen vardır. Dikdörtgenin kenar uzunlukları bilinmiyor. Robot bir dikdörtgenin içindedir. Şekil duvarları ve Robotu yerleştirmenin olası yollarından birini göstermektedir (Robot “P” harfiyle gösterilmiştir).


14 numaralı göreve cevap

hak özgürken

Sağ

üst kısım serbestken

yukarı

Üzerine boyamak

evet sol şimdilik serbest

sol

Üzerine boyamak



15 numaralı göreve cevap

hak özgürken

Üzerine boyamak

Sağ

alt kısım serbestken

Üzerine boyamak

aşağı

Üzerine boyamak

henüz değil (alt kısım serbest)

sol

aşağı

henüz değil (sağda ücretsiz)

Üzerine boyamak

aşağı

Üzerine boyamak

Sağ

henüz değil (üstte ücretsiz)

Üzerine boyamak

Sağ



16 numaralı göreve cevap

sağda henüz özgür değil

Üzerine boyamak

aşağı

Üzerine boyamak

Sağ

üst kısım serbest kalana kadar

Üzerine boyamak

Sağ

üst kısım serbestken

yukarı

hak özgürken

Üzerine boyamak

Sağ

sağda henüz özgür değil

Üzerine boyamak

aşağı