Robot zorlu görevler. Robotu tanımak

Tüm süreç iki aşamadan oluşur: montaj ve programlama. İyi bir robot monte etmek için mekanik bilgisine ihtiyacınız var. Robotu belirli eylemler için programlamak için anakartın veya program bloğunun anlayacağı dili bilmeniz gerekir. Bilgisayar bilimlerinde okul bilgisi burada yeterli değildir.

Malzeme nereden alınır?

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

Hazır bir setten bir araya getirilmeyen bir tasarıma açık sistem denir. Ayrıca avantajları da var: robotunuz bir birey olacak ve tasarımı kendiniz geliştirebileceksiniz. Ama kesinlikle daha fazla zaman ve çaba harcayacaksınız.

Robot neyden yapılmıştır?

Muhafaza - metal veya plastik "gövde", parçaların geri kalanının bağlı olduğu. 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: renk ve ışığı algılayabilir ve dokunmaya yanıt verebilirler.

Robotu hareket ettirmek için motorlara ihtiyacınız var. "Kafa" tüm mekanizmanın - anakart veya program bloğu. Onların yardımıyla robot bilgisayara bağlanır ve bir dizi görev alır.

Ona bir şey yapmak nasıl?

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

Kendiniz bir robot yapıyorsanız, programlamanın temellerini ve programı yazacağınız dili C++ gibi öğrenmeniz gerekir.

Robot neden programı yürütemiyor?

Yeni bir yere giderken yoldan sapabilir ve programı yanlış yürütebilir. Robotun her şeyi doğru yapması için sensörleri ayarlamak gerekiyor. Örneğin, çok parlak aydınlatma, yeterli renk tanımayı engelleyebilir. Robotun hareket ettiği yüzeye bağlı olarak motorların gücü düzenlenir.

Montaj ve programlamayı okulda öğrenebilir miyim?

Robotik okul müfredatına dahil edilmemesine rağmen, fizik ve bilgisayar bilimi öğretmenleri bir çocuğa birleştirme ve programlama öğretebilir. Belgorod'da bazı okulların robot yaptıkları çevreler var.

“Fizik ve bilgisayar bilimleri öğretmenleri ile derslerden sonra programlamayı öğreniyoruz. LegoMindstorms ve Robolab'da nasıl çalışılacağını zaten biliyoruz ( robotlar için yazılım - yakl. ed.). Belgorod Engineering Youth Boarding Lyceum öğrencileri ve RoboFest-2018 katılımcıları, bazen parçaların 3 boyutlu çizimlerini yapmayı da öğreniyoruz” dedi. Anton Perşin ve Dmitry Chernov.

Okul dışında nerede robotist olunabilir?

BelSU mühendislik okulunda robotların nasıl monte edileceğini ve programlanacağını öğrettikleri bir sınıf var. 2017 yılında Belgorod'da açıldı "Kuantoryum" Okul çocuklarına dokuz yaşından itibaren robotik öğretiliyor.

Gerçek bir robotist olmak için Robotik Fakültesine girebilirsiniz. Belgorod'da henüz böyle insanlar yok, ancak BSTU im'de. Shukhov'un teknik sibernetik bölümü var. Öğrencileri, robotik alanında tüm Rusya yarışmalarında ödüller kazanıyor.

Kendi başına öğrenebilir misin?

Evet. İnternette ne yapacağınızı ve bir robotu nasıl programlayacağınızı öğrenebileceğiniz birçok kaynak var.

Robot faydalı olacak mı?

Günlük işler için uyarlanabilir ve evde asistan yapılabilir. İnternette ev mucitlerinin krep pişirmek veya bir daireyi temizlemek için robotları nasıl yarattığına dair birçok örnek var.

Robot yaratmadaki başarınızı nasıl teyit edebilirsiniz?

RoboFest gibi yarışmalara katılın. Yaşa ve yöne bağlı olarak farklı adaylıklar vardır. Temel olarak, her robot tipinin üzerinde görevleri gerçekleştirdiği bir yolu vardır: bir küp yakalayın veya bir çizgi çizin. Yargıçların projenin sunumunu ve mekanizmaların işleyişini değerlendirdiği statik sistemler de vardır.

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

Editörler, RoboFest-2018 katılımcılarının materyalini oluşturmadaki yardımları için minnettardır. Dmitry Agafonov, Dmitry Chernov, Anton Perşin ve Danila Migrina.

Natalia Malyihina

Öğretmenin görevi bu yolu öğrenciyle birlikte yürümek, başarısızlıklara karşı sigortalamak değil, olası zorluklardan dolayı hayal kırıklığını önlemektir. Çocukların anlamlı etkinliklerle kendileri için yeni şeyler keşfedecekleri şekilde sınıfları düzenlemek çok önemlidir.
Bir robot bilgisayar bilimini öğrenmeye nasıl yardımcı olur? Ben sadece robotiğin temel aldığı birkaç bilişim konusuna değineceğim.
Konu "Dosyalar ve dosya sistemi".
Öğrencinin emrinde LEGO Mindstorms NXT Education eğitim setinden bir LEGO®NXT mikrobilgisayar vardı. Dosya sistemi standart komutlarla yönetilir, ancak bellek miktarı büyük olmadığı için gerekli ve gereksizleri sürekli olarak izlemek gerekir. Robotun eylemlerini seslendirmek, bir resim görüntülemek, çalışan programların kitaplığını yenilemek için bilgisayar biliminin temel kavramlarıyla çalışmak gerekir: dosya, dosya türü, dosya yolu, menü, klasör.
Konu "Bilgi süreçleri", "Bilgi kodlaması".
Robotik kit, ses, dokunsal ve video bilgilerini kaydeden sensörlerle donatılmıştır. Sayısallaştırmadan sonra bilgiler ekranda görüntülenebilir. Mikrobilgisayarın özel bir işlevi, çalışmaya hazır programları kullanarak sensörler, motorlar ile deney yapmayı mümkün kılar. Sensörlerle yapılan bir dizi deneyden sonra, bir anlayış ortaya çıkıyor: bir ultrasonik mesafe sensörünün neden bir kızılötesi ışık sensöründen daha yavaş olduğu, sesin nasıl dijital bir koda dönüştürüldüğü vb. Bilgi süreçleri ve bilgi kodlama ilkelerinin incelenmesi, bilgi teknolojisinin özü hakkında daha derin bir anlayış sağlar.

Tema "İletişim teknolojileri".
LEGO®NXT Mikrobilgisayar kablosuz teknolojiyi destekler. Bluetooth işlevini kullanarak, NXT mikrobilgisayar ile Bluetooth aygıtı olan diğer NXT'ler, cep telefonları veya bilgisayarlar gibi diğer aygıtlar arasında kablosuz bağlantı kurabilirsiniz. Bluetooth bağlantısı kurarak şunları yapmak mümkündür: programları bir 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 bir cep telefonu kullanarak kontrol etmeyi mümkün kılar.

Konular “Algoritmalar. Algoritma yürütücüsü”, “Programlama ortamı”.
Robota ilk giriş için, bir bilgisayara erişmeden NXT ünitesini doğrudan programlayabilirsiniz. Beş komuttan oluşan bir düzeni izleyerek doğrudan ekran üzerinde basit bir program oluşturabilir ve onu döngüye alabilirsiniz. Ancak, programlama ortamının temel algoritmik yapıları ve gelişimi hakkında bilgi sahibi olmadan yapılamaz. Robotu çeşitli görevleri çözebilen evrensel bir oyuncu yapan programlama yeteneğidir. Programlama teknolojisini görsel programlama ortamlarından öğrenmeye başlamalı, ardından daha güçlü ve modern olay odaklı ortamlara geçmelisiniz.
Bu nedenle robotik, temel bilgisayar bilimi bilgisini gerektirir ve öğrencinin robotunu “en iyi” yapma konusundaki bitmez tükenmez arzusu onu yeni bilgilere hakim olmaya iter.
Bir robot neden ideal bir öğrenme aracı olarak adlandırılabilir? Çünkü bu araç, çocuğun oyun oynama, yaratma ve akranlarıyla iletişim kurma konusundaki doğal isteklerini geri alan bir öğrenme ortamı yaratmayı mümkün kılar. Bu nedenle, bir eğitim aracı olarak robotiğin avantajlarını vurgulayabiliriz:
. Bilginin özümsenmesi oyun sırasında gerçekleşir.
. Robot yapımı yaratıcı özgürlük sunar.
. Çalışmalarını geliştirme arzusu öğrencilerin çoğunluğudur.

Örnek olarak 6. sınıf öğrencisinin “Robotla Programlama” dersi kapsamında ders dışı etkinliklerde yaptığı “Ücretsiz Yemek Dağıtım Robotu” modelini vermek istiyorum. Robot, standart Alfarex 1.0 modeli kullanılarak LEGO MINDSTORMS NXT Education 9797 setinden yapılmıştır ve robotun durumunu gösteren bir renk sensörü ve bir tedavi tepsisi ile tamamlanmıştır.
Çalışmanın amacı, mevcut kaynaklarla mümkün olduğunca insan yürüyüş modelini uygulamaktır. Her bacağın hareketi bir motor ve mekanik bir dişli ve kol grubu tarafından kontrol edilir. Bir kol bacağı yukarı ve aşağı hareket ettirir, diğeri ise ileriye doğru hareket ettirir. Bu durumda, vücut, robotun dengesini koruduğu için destek ayağına doğru sapar. Bu yürüyüşe "karıştırma" denir.
Ayrı bir motor, mesafe sensörünü ve dokunma sensörünü ve renk sensörünü tutan manivela kollarını çalıştırır. İkramlar için tepsi hareketsiz sabittir.
Robot, aşağıdaki davranış algoritmasına göre, örneğin ücretsiz ikramlar gibi bir seyyar satıcı rolünü yerine getirmek üzere programlanmıştır. Robot, hareketine düz bir çizgide “Ben bir Alpharex robotum, size bedava tedavi ediyorum!” cümlesi ile eşlik ediyor. Robotla temas kurmak isteyen bir kişi bir jest ile onu durdurabilir. Durduktan sonra robot, "Kendinize yardım edin ve düğmeye basın!" ifadesini söyler. Şekeri alan kişi, şükran ifadesi olarak düğmeye bir kez basmalıdır. Durduktan üç saniye sonra robot hareketine devam edecektir. İkramlar bittiğinde (robot tepside belirli miktarda şekerlemeye programlanmıştır), robot veda edecek, kırmızı gösterge yanacak, robot duracaktır.

Robotu kontrol etmek için kullanılan program NXT Programming 2.0 ortamında yazılmıştır.

Yürütücü Kontrol Robotu KUMIR sisteminde

Robot belirli bir ortamda bulunur (dikdörtgen kareli alan). Alanın bazı hücreleri arasına duvarlar yerleştirilebilir. Bazı hücreler gölgeli olabilir (Şekil 3.11).

Robot, alanın tam olarak bir hücresini kaplar.

Yukarı, aşağı, sol ve sağ komutlarında, Robot belirtilen yönde bir sonraki hücreye hareket eder. Yolda bir duvar varsa, bir arıza meydana gelir - bir sonraki komutun yürütülmesinin imkansızlığı hakkında bir mesaj görüntülenir.

Üzerini boyama komutu verildiğinde, Robot bulunduğu hücrenin üzerini boyar. Hücrenin üzeri boyanmışsa, gözle görülür bir değişiklik olmamasına rağmen yeniden boyanacaktır.

Robot yalnızca doğru yazılmış komutları yürütebilir. Komut yerine not yazarsanız, Robot bu girişi anlamaz ve hemen bir hata bildirir.

Ö
hatalar: 1 sözdizimi; 2. mantıksal

Ortamların açıklamaları, özel bir formattaki (.fil formatı) metin dosyalarında saklanır.

Akım- Robotun şu anda bulunduğu ortam (Robotun konumuyla ilgili bilgiler dahil).

Ev- Robotu kullanarak programın yürütülmesinin başlangıcında Robotun zorla yerleştirildiği ortam.

Çalıştırma prosedürü:


  1. Sor başlangıç ​​ortamı göreve göre:
Menü Araçları → Robotun başlangıç ​​ortamını değiştirin (çevreyi görev durumuna göre çizin, bir isim verin, Kişisel klasörüne kaydedin)

2. Yükleniciyi Belirtin:

Menü Ekle → Robot Kullan

3. Problemi çözmek için bir algoritma yazın.

4. Algoritmayı çalıştırın (Menü Çalıştır → Sürekli çalıştır / F9)

KUMIR sistemindeki yürütücü Robotun komut sistemi


Takım

Eylem

yukarı

Robot 1 hücre yukarı hareket eder

aşağı

Robot 1 hücre aşağı hareket eder

Sola

Robot 1 hücre sola hareket eder

sağ

Robot 1 hücre sağa hareket eder

Üzerine boyamak

Robot, içinde bulunduğu hücreyi boyar.

sağ ücretsiz

Robot, ilgili işlemin yürütülmesini kontrol eder. basit koşullar

serbest kaldı



üst gevşek



alt gevşek



hücre gölgeli



kafes temiz



döngüsel algoritmalar

Döngü Belirli bir koşul gerçekleşene kadar tekrarlanan eylemlerin organizasyonu .

Döngü gövdesi - bir dizi tekrarlanabilir eylem.

Şart - boole ifadesi (basit veya karmaşık (bileşik))
Döngü türleri:

1."N kez tekrarla" döngüsü 2. "Güle güle" döngüsü
nc n kez hoşçakal
. . Döngü gövdesi. . Döngü gövdesi
kts kts

Örnek: hoşçakal sağ ücretsiz


Döngünün genel görünümü "n kez tekrarlayın:

n KEZ TEKRARLAMA

SON
kts

while döngüsünün genel görünümü:

NE ZAMAN YAPILACAK

SON
bileşik koşullar bir veya daha fazla basit koşul ve hizmet kelimesinden oluşur VE, VEYA, DEĞİL.


Bileşik Durum A ve B(A, B basit koşullardır), içerdiği iki basit koşuldan her biri yerine getirildiğinde sağlanır.

A olsun - üstte ücretsiz V - sağda ücretsiz o zaman bileşik koşul A ve B- üstte ücretsiz VE sağda ücretsiz.


Bileşik Durum A VEYA B içerdiği iki basit koşuldan en az biri sağlandığında sağlanır: üst ücretsiz VEYA sağ ücretsiz
Bileşik Durum BİR DEĞİL- A koşulu karşılanmadığında karşılanır.

Örnek: A gölgeli bir hücre olsun (basit koşul).

P A DEĞİL bileşik koşulunun kontrol edilmesi:

a) A - yapıldı, A DEĞİL (gölgeli DEĞİL) - yapılmadı.

b) A - yapılmadı, A DEĞİL (gölgeli DEĞİL) - yapıldı.


Şube komutu

dallanma - belirli bir koşulun yerine getirilmesine veya yerine getirilmemesine bağlı olarak, bir veya daha fazla eylem dizisinin gerçekleştirildiği bir eylem organizasyonu biçimi.

IF komutunun genel görünümü:

EĞER SONRA AKSİ HALDE

SON

KUMIR dilinde:

Tam dallanma: Kısmi dallanma:
Eğer sonra Eğer sonra

aksi halde

hepsi hepsi

Yardımcı Algoritma- ana problemin bazı alt problemlerini çözen bir algoritma.

KUMIR sisteminde ana programın sonuna (servis word'ünden sonra) yardımcı algoritmalar yazılır. con) adı ile ana programda yürütülmek üzere çağrılır.

V anketler ve ödevler

1. Robotu orijinal konumundan B hücresine hareket ettirecek üç komutun tüm algoritmalarını verin.

Bu görev için Robotun aşağıdakileri yaptığı bir algoritma var mı:

a) iki adım b) dört adım; c) beş adım; d) yedi adım?


  1. Petya, Robotu A hücresinden B hücresine, bazı hücrelerin üzeri boyanmış olarak aktaran bir algoritma yaptı. Robotu B'den A'ya götüren ve aynı hücreleri dolduran bir algoritma elde etmek için Kolya bu algoritma ile ne yapmalıdır?


7. İki yardımcı robot algoritması biliniyor

Robot aşağıdaki temel algoritmaları uyguladığında ne olacağını çizin:


a)

5 kez


desen_1

sağ; sağ;


B)

7 kez


desen_2

sağ; sağ


v)
sağ; sağ; sağ

yukarı; yukarı

sağ; sağ; sağ

aşağı; aşağı


G)
sağ; sağ
sağ; sağ

8. Robotun belirtilen hücreleri boyayacağı algoritmalar oluşturun:



9. Robotun sağında bir yerde duvar olduğu biliniyor. Robotun kontrolü altında duvara kadar bir dizi hücreyi boyayacağı ve orijinal konumuna geri döneceği bir algoritma oluşturun.

10. Robotun sağında bir yerde gölgeli bir hücre olduğu bilinmektedir.

İLE Robotun gölgeli hücreye kadar bir dizi hücreyi kontrol edeceği ve orijinal konumuna geri döneceği algoritmayı bırakın.

11. Robotun yatay koridorun sol girişinin yakınında bulunduğu bilinmektedir.

12. Robotun yatay koridorda bir yerde olduğu biliniyor. Koridorun hiçbir hücresinin üzeri boyanmamıştır.

Robotun kontrolü altında bu koridorun tüm hücrelerini boyayacağı ve orijinal konumuna geri döneceği bir algoritma oluşturun.


13. Robotun sağındaki on hücrelik bir sırada bazı hücreler gölgeli.

İLE hücreleri boyayan algoritmayı bırakın:

a) her gölgeli hücrenin altında;

b) her gölgeli hücrenin üstünde ve altında.


14. Algoritmanın aşağıdaki parçasının doğruluğu hakkında ne söylenebilir?

hoşçakal hücre gölgeli

EĞER sağ ücretsiz SONRA

sağ; Üzerine boyamak

İle
C

15. Robotun üç labirentte de B hücresine ulaşabileceği bir program yazın.


16. Robotun sahanın sol alt köşesinden sağ üst köşesine koridor boyunca gidebileceği bir program yazınız. Koridor tek hücre genişliğinde olup sol-aşağı-sağ-yukarı istikamette uzanmaktadır. Olası bir koridor örneği şekilde gösterilmiştir.

Z

adaçi GIA


  1. Koridor1. Robot dikey koridorda bir yerde. Koridorun hiçbir hücresinin üzeri boyanmamıştır. Robotun bu koridorun tüm hücrelerini boyayacağı ve orijinal konumuna geri döneceği bir algoritma oluşturun.

  1. İLE
    Gerekli

    verilen
    koridor2. Robot, dar bir dikey koridorun üst hücresine yerleştirilmiştir. Koridorun genişliği bir hücredir, koridorun uzunluğu isteğe bağlı olabilir.

Robotun başlangıç ​​konumunun olası bir varyantı şekilde gösterilmiştir (Robot "P" harfi ile belirtilmiştir)

Koridordaki tüm hücreleri dolduran ve Robotu orijinal konumuna döndüren Robot için bir algoritma yazın. Örneğin, yukarıdaki resim için Robot aşağıdaki hücreleri boyamalıdır (resme bakın):


  1. Uçsuz bucaksız sahada uzun yatay bir duvar var. Duvarın uzunluğu bilinmiyor. Robot, duvarın hemen üzerindeki kafeslerden birinde. Robotun ilk konumu da bilinmiyor. Olası pozisyonlardan biri:
H


Gerekli

verilen
Robot için, duvarın boyutuna ve Robotun ilk konumuna bakılmaksızın duvarın üstündeki ve yanındaki tüm hücreleri boyayan bir algoritma yazın. Örneğin, verilen çizim için Robot aşağıdaki hücrelerin üzerini boyamalıdır:

Robotun son konumu keyfi olabilir. Algoritma yürütülürken Robot yok edilmemelidir.



  1. Uçsuz bucaksız sahada uzun dikey bir duvar var. Duvarın uzunluğu bilinmiyor. Robot, doğrudan duvarın sağında bulunan kafeslerden birinde. Robotun ilk konumu da bilinmiyor. Robotun olası konumlarından biri şekilde gösterilmiştir (robot “P” harfi ile işaretlenmiştir): Duvara bitişik tüm hücreleri boyayan bir çalışma algoritması yazın: solda, üstten başlayarak boyasız ve birinden; sağda, alttan başlayarak gölgeli ve bir. Robot, yalnızca bu koşulu karşılayan hücreleri boyamak zorundadır. Örneğin, yukarıdaki şekil için robot aşağıdaki hücreleri doldurmalıdır (şekle bakın): Robotun son konumu isteğe bağlı olabilir. Algoritma, sorunu rastgele bir duvar boyutu ve robotun herhangi bir geçerli başlangıç ​​konumu için çözmelidir. Algoritmayı yürütürken Robot çökmemelidir.


Dikey duvarın solunda ve yatay duvarın üzerinde ve bitişiğindeki tüm hücreleri boyayan Robot için bir algoritma yazın. Robot, yalnızca bu koşulu karşılayan hücreleri boyamak zorundadır. Örneğin, yukarıdaki resim için Robot aşağıdaki hücreleri boyamalıdır (resme bakın).


H Duvara bitişik hücreleri soldan başlayarak yukarıdan ve aşağıdan boyayan Robot için bir algoritma yazın. Robot, yalnızca bu koşulu karşılayan hücreleri boyamak zorundadır. Örneğin, verilen şekil a) için Robot aşağıdaki hücreleri boyamalıdır (bkz. Şekil b).

Robotun son konumu keyfi olabilir. Algoritma, sorunu rastgele bir duvar boyutu ve Robotun herhangi bir geçerli başlangıç ​​konumu için çözmelidir.



r

  1. Uçsuz bucaksız sahada uzun dikey bir duvar var. Duvarın uzunluğu bilinmiyor. Robot, duvarın hemen solunda bulunan kafeslerden birinde. Robotun ilk konumu da bilinmiyor. Robotun olası konumlarından biri şekilde gösterilmiştir (robot "P" harfi ile işaretlenmiştir):
Duvara bitişik tüm hücreleri boyayan bir algoritma yazın:

  • hepsi solda;

  • sağda, üstten boyasız ve birinden başlayarak.
Robot, yalnızca bu koşulu karşılayan hücreleri boyamak zorundadır.

B
1102_GIA2011

Sonsuz alan üzerinde iki yatay duvar vardır. Duvarların uzunluğu bilinmiyor. Duvarlar arasındaki mesafe bilinmiyor. Robot, alt duvarın üzerinde, sol kenarında bulunan bir kafeste bulunur. Alt duvarın üstünde ve üst duvarın altında ve onlara bitişik olan tüm hücreleri boyayan Robot için bir algoritma yazın. Robot, yalnızca bu koşulu karşılayan hücreleri boyamak zorundadır. Örneğin, yukarıdaki çizim için robot aşağıdaki hücreleri doldurmalıdır (şekle bakın):

Robotun son konumu keyfi olabilir. Algoritma, sorunu keyfi bir alan boyutu ve dikdörtgen bir alan içindeki duvarların herhangi bir kabul edilebilir konumu için çözmelidir. Algoritmayı yürütürken Robot çökmemelidir.


V
1103_GIA_2011


Sonsuz alan üzerinde yatay bir duvar vardır. Duvarın uzunluğu bilinmiyor. Duvarın sağ ucundan aşağıya doğru, uzunluğu bilinmeyen dikey bir duvar uzanır. Robot, sol kenarında bulunan bir kafeste yatay bir duvarın üzerindedir. Şekil, duvarları ve Robotu düzenlemenin olası yollarından birini göstermektedir (Robot "P" harfi ile belirtilmiştir).

Yatay duvarın üstünde ve dikey duvarın sağında ve yanlarında bulunan tüm hücreleri boyayan Robot için bir algoritma yazın. Robot, yalnızca bu koşulu karşılayan hücreleri boyamak zorundadır. Örneğin, yukarıdaki resim için Robot aşağıdaki hücreleri boyamalıdır (resme bakın).

Programla tanışma Kumir, programlamanın temellerine hakim olur.

İçinde, öğrenciler Robot, Draftsman, Aquarius, Grasshopper, Turtle gibi sanatçılarla çalışarak bir algoritma oluşturma ve hata ayıklama konusunda pratik beceriler kazanabilirler.

Bilgisayar biliminin en zor bölümlerinden birini okurken "algoritma ve programlama".

Geliştirmenin amacı :

İndirmek:


Ön izleme:

Bilişimde metodik gelişim.

Konu: "Bilişim derslerinde KuMir programında robot icracı"

teknoloji öğretmeni "Bilişim ve BİT"

Açıklayıcı not

Kalkınma hedefi: KUMIR ortamını kullanarak belirli bir yürütücü Robot örneğinde programlama olanaklarını incelemek; icracı ile çalışmak için pratik beceriler kazandırmak.

Metodik geliştirmebilişim dersleri için derlenmişBilgisayarda pratik yap: algoritmaların eğitici uygulayıcısı ile birlikte çalışın; yürütücüyü yönetmek için doğrusal, dallanma ve döngüsel algoritmalar hazırlamak; karmaşık bir yapıya sahip algoritmalar hazırlamak; yardımcı algoritmaların kullanımı (prosedürler, alt programlar).

Öğrenciler şunları bilmelidir:

  • icracı nedir; SKI Robot, Çarşamba oyuncusu Robot;
  • algoritma nedir;algoritmanın temel özellikleri nelerdir;
  • algoritma yazma yolları: akış şemaları, eğitsel algoritmik dil;temel algoritmik yapılar: takip, dallanma, döngü; yapılar
  • algoritmalar; ⇒ yardımcı algoritmaların atanması; karmaşık algoritmalar oluşturmak için teknolojiler:

Öğrenciler şunları yapabilmelidir:

  • algoritmik bir dil öğrenen algoritmaların açıklamalarını anlamak;
  • bilinen bir sanatçı için bir algoritma izi gerçekleştirin;
  • Robot yürütücüsü için doğrusal, dallanma ve döngüsel kontrol algoritmaları oluşturmak; alt görevler tahsis edin; yardımcı algoritmaları tanımlar ve kullanır.

1. Oturum (2 saat) Ders 1.

Oyuncu Robotu.Yürütücü komut sistemi.

Ders planı.

  1. Yürütücünün UCS'sinin, yürütücünün ortamının açıklaması.

2. Tipik robot algoritmalarının analizi.

Dersler sırasında.

Sanatçının açıklamasını düşünün.

Yürütücü ortamı: Gerçekleştiren Robot, hücrelere bölünmüş bir düzlemde çizilen labirentte hareket edebilir.

KAYAK Robotu : basit komutlar: yukarı, aşağı, sol, sağ, renk.

Mantık komutları: (durum kontrolleri)

üst ücretsiz alt ücretsiz

sol serbest sağ serbest.

Mantıksal bağlaçlar: AND, NOT, OR:

Örnek: (Serbest bırakılmamış) veya (Serbest bırakılmamış)

Şube komutu: döngü komutu:

eğer koşul sonra nts while koşulu

komut dizisi komut dizisi

tüm kts

(2009'un CIM'lerinde, Robot'un komutları çocuklara tanıdık gelenlerden farklıydı ve bu da bilinç bulanıklığı, konfüzyon :)

Şube komutu: döngü komutu:

eğer koşul sonra koşul yaparken nts

komut dizisi komut dizisi

son son

Kumir program penceresinin genel görünümü. Robotun grafik ortamı:

2010 demo CIM'lerinde komut formatı şu şekilde değiştirilmiştir: alışılmış

Algoritma oluşturma sırası:

1. Takımlar Araçlar -Başlangıç ​​ortamını düzenleRobot alanına duvarlar çizin ve Robotu başlangıç ​​konumuna ayarlayın.

2.Komutlar Robot - Başlangıç ​​ortamını değiştiryeni ortamı kaydedin.

3. Komutlar Yapıştır-Kullan Robotusanatçıyı belirtin.

4. Belge penceresinde, menüyü kullanarak algoritmayı yazın Sokmak.

5. Yürütme Komutları - algoritmayı sürekli (veya adım adım) yürütün.

6. Algoritma yürütmesinin sonucunu göz önünde bulundurun ve gerekirse hata ayıklayın.

Ders 1 (2 saat) Ders 2.

Pratik iş "Doğrusal algoritmaların derlenmesi.

Görevler: 1. Robot, sahada keyfi bir noktada. Başlangıç ​​pozisyonunun üstündeki, altındaki ve sağındaki hücreyi renklendirin.

  1. Robot, sahada keyfi bir noktada. Robotu 4 boşluk sağa hareket ettirerek üzerlerini boyayın.
  2. Tahtaya 4 hücreli bir kare çizerek yeni bir başlangıç ​​ortamı oluşturun. Başlangıç ​​olarak çevreyi kaydedin.
  3. Sahada duvarlarda pasajları olan bir koridor çizerek yeni bir başlangıç ​​ortamı yaratın. Ortamı obst2.fil olarak kaydedin. Başlangıç ​​ortamını yeni oluşturulan ortamla değiştirin.

2. Oturum (2 saat) Ders 1.

Başlık : Algoritmanın dallara ayrılması ve sıralı iyileştirilmesi.

Robot yürütücüsünü kullanarak CIM görevlerinin analizi.

robot kullan

alg kim 2009

erken

alt gevşek değilse

sonra sağa

Tümü

alt gevşek değilse

sonra sağa

Tümü

alt gevşek değilse

sonra sağa

Tümü

con

robot kullan

alg kim 2010

erken

alt gevşek değilse

sonra sağa

Tümü

alt gevşek değilse

sonra sağa

Tümü

alt gevşek değilse

sonra sağa

Tümü

con

Vb. köle. 14. Dallanma algoritmalarının derlenmesi ve hatalarının ayıklanması

Görevler. Eki görmek.

Ders 3. Döngüsel algoritmalar. Ders 1-2

Hedef: algoritmalarda döngü kavramının özünü ortaya çıkarmak, algoritmalarda döngü yazma biçimlerini göstermek, döngüsel algoritmalar oluşturma ve yazma becerisi kazandırmak.

Vb. köle. 15. Döngüsel algoritmaların derlenmesi ve hatalarının ayıklanması

1. Duvara bitişik tüm iç hücreleri boyayan bir algoritma yapın.

robot kullan

alg

erken

nc iken sağ ücretsiz

Üzerine boyamak; sağ

kts

nc alt serbest iken

Üzerine boyamak; aşağı

kts

alt gevşek kadar nc

Üzerine boyamak; Sola

kts

con

2. Robot ile duvar arasındaki tüm hücreleri dolduran bir algoritma oluşturun. Duvara uzaklığı bilinmiyor.

robot kullan

alg

erken

nc iken sağ ücretsiz

sağ; Üzerine boyamak

kts

con

3. İki duvar arasındaki tüm hücreleri boyayan bir algoritma oluşturun.

robot kullan

alg uch3

erken

nc henüz (üst gevşek değil) veya (alt gevşek değil)

sağ

if (üst boş değil) ve (alt boş değil)

sonra

Üzerine boyamak

Tümü

kts

con

4. Dikdörtgen bir duvarın etrafındaki tüm hücreleri dolduran bir algoritma oluşturun.

alg uch4

erken

boya; yukarı

sağ gevşek kadar nc

boya; yukarı;

kts

boya; sağ

alt gevşek kadar nc

boya; sağ;

kts

üzerini boya; aşağı

nc serbest kalana kadar

boya; aşağı;

kts

boya; sol

üst gevşek kadar nc

Üzerine boyamak; ayrıldı;

kts

con

robot kullan

alg uch5

erken

sağ

alt gevşek kadar nc

Üzerine boyamak; sağ

kts

Üzerine boyamak; aşağı

nc serbest bırakılırken

Üzerine boyamak; Sola

kts

nc serbest kalana kadar

Üzerine boyamak; aşağı

kts

boya;sol;boya; yukarı;

nc top ücretsiz iken

Üzerine boyamak; yukarı

kts

üst gevşek kadar nc

Üzerine boyamak; Sola

kts

con

Etkinlik 4 Ders 1

Yardımcı Algoritmalar.

Hedef: ana ve yardımcı algoritma kavramını tanıtmak; yardımcı algoritmayı kullanma kurallarını açıklar; bir yardımcı kullanarak algoritma örneklerini ayrıştırın.

Ders planı

1.Yeni terimlerin tanıtılması (ana ve yardımcı algoritma, çağrı) ve yeni kavramların açıklanması.

2. Yardımcı bir algoritma kullanarak problem çözme örneklerinin analizi.

Bazı problemleri çözerken, onları her biri bağımsız bir algoritma olarak tasarlanabilen daha küçük alt görevlere bölmek uygundur. Bu durumda, daha sonra eklenen alt görevleri çözmek için yardımcı algoritmalara yapılan çağrıların kullanıldığı sözde ana algoritma ilk önce derlenir. Bu tür bir çözüm denirsıralı arıtma yöntemi.Her biri kendi alt görevini çözerken bir grup programcının bir proje üzerinde çalışmasına izin verir.

Problem çözme sürecinde her bir yardımcı algoritma, gerekirse daha küçük yardımcı algoritmalara bölünebilir.

Yardımcı algoritmayı yürütmek için komut denir meydan okumak ve ana algoritmanın gövdesine yazılır.

Bir ve aynı algoritma, diğer algoritmalara göre ana ve yardımcı olarak kabul edilebilir. Algoritmik bir dilde, önce ana algoritma yazılır ve alt sıralarda yardımcı algoritmalar yazılır.

Görev 1:

Robot, alanın sol üst köşesindedir. Duvarlar veya gölgeli hücreler yoktur. Bir yatay çizgi üzerinde dört haç çizerek yardımcı bir algoritma kullanarak bir algoritma oluşturun. Robotun son konumu keyfi olabilir.

Çözüm

Tahtadaki analiz:

Görev2. Robot, alanın sol üst köşesindedir. Duvarlar veya gölgeli hücreler yoktur. Bir dama tahtası deseninde 8 x 8 kare boyayan bir algoritma yazın.Robotun son konumu keyfi olabilir.

Etkinlik 4 Ders 2

Bir PC'de pratik çalışma "Yardımcı algoritmalar kullanarak problem çözme".

Hedef : sıralı iyileştirme yöntemiyle algoritmalar oluşturmada pratik becerileri aşılamak.

Ders planı

1. Görev tamamen bilgisayar tarafından tamamlanır. Öğrenciler Kumir yazılım ortamında görevleri alır ve tamamlar. Çalışmanın sonuçları, daha sonra doğrulama için dosyalar olarak kaydedilir.

Görev 1 . Robot, alanın sol alt köşesindedir. Duvarlar veya gölgeli hücreler yoktur. 6 hücrede aynı uzunlukta 6 dikey çizgi çizen bir algoritma yazın. Robotun son konumu keyfi olabilir.

Görev2 .Yardımcı kullanarak, 1212 sayısını oluşturan hücrelerin üzerini boyamak için bir algoritma yapın.

Ev ödevi: Aşağıdaki resmi çizen bir algoritma bulunuz: Problemi çözmek için iki yardımcı algoritma uygulayınız.

Etkinlik 5 Ders 1-2

Ölçek

"Uygulayıcı Robot ortamında algoritmanın derlenmesi".

Hedef: Kumir yazılım ortamında algoritma oluşturma ve analiz etme becerisi hakkında edindiği bilgileri test etmek.

Kontrol çalışması için görevler zorluk seviyelerine göre bölünmüştür ve yürütücü Robot ile 3 görev içerir (görev 1 ve 2 - dallanma ve döngüler için, görev 3 - yardımcı bir algoritma kullanmak için.) Görevlerin metinleri ekte verilmiştir.

Başlangıç ​​ve son koşullar ve oluşturulan algoritmalar bir dosya olarak kaydedilir.

Derece, görevin zorluk derecesine göre belirlenir. Öğrenci, görev türünü seçme hakkına sahiptir.