Tehtävät robotin kanssa Unified State Examination -tietotekniikassa. Esiintyjä robotti

Kotiin / Selaimet

Opimme pyytämään sitä jatkotyötä varten. Siirrytään nyt suoraan robotin algoritmien kokoamiseen yksinkertaisilla komennoilla.

Jos haluat tietoa video-opetusohjelmamuodossa, sivustolla on video-opetusohjelma

Jokaisella esiintyjällä on oltava komentojärjestelmä ( HIIHTÄÄtoteuttajan komentojärjestelmä). Executor komentojärjestelmä- kaikki komennot, jotka esiintyjä voi suorittaa. Harkitse esimerkiksi koulutettua koiraa. Hän osaa suorittaa joitain komentoja - "Istu", "Makaa", "Lähellä" jne. Tämä on hänen komentojärjestelmänsä.

Yksinkertaiset robottikomennot

Robotissamme on myös komentojärjestelmä. Tänään katsomme yksinkertaiset komennot Robotti. Niitä on yhteensä 5:

  • ylös
  • vasemmalle
  • oikein
  • maalata päälle

Näiden komentojen suorittamisen tulos on selvä niiden nimistä:

  1. ylös- Siirrä robottia yhden solun ylöspäin
  2. alas- Siirrä robottia yhden solun alaspäin
  3. vasemmalle— Siirrä robottia yhden solun vasemmalle
  4. oikein— Siirrä robottia yksi solu oikealle
  5. maalata päälle— maalaa nykyisen solun päälle (solu, jossa robotti sijaitsee).

Nämä komennot voidaan kirjoittaa näppäimistöltä tai voit käyttää pikanäppäimiä (näppäimiä painamalla komennot lisätään automaattisesti):

  • ylös - Escape, ylös (nuoli ylös)
  • alas - paeta, alas (alasnuoli)
  • vasen - Esc, Vasen (vasen nuoli)
  • oikea - Escape, oikea (oikea nuoli)
  • maalaa päälle – pako, avaruus (avaruus)

Huomaa, että sinun on syötettävä haluamasi pikanäppäinyhdistelmä ei tavalla, johon olemme tottuneet! Olemme tottuneet painamaan näppäimiä samanaikaisesti, mutta täällä niitä tarvitaan paina peräkkäin. Jos haluat esimerkiksi kirjoittaa ylös-komennon, paina Esc-näppäintä, vapauta se ja paina sitten ylänuolta. Tämä on muistettava.

Nyt olemme valmiita kirjoittamaan ensimmäisen algoritmin robotille. Suosittelen aloittamaan yksinkertaisella - piirrä neliö, jonka sivu on 3 solua. Mennään!

Käynnistetään Idol, hän. Voinko aloittaa ohjelman kirjoittamisen? Ei tietenkään! Emme ole! Tehdään se. Suosittelen käyttämään tätä:

Nyt kaikki on valmista. Aloitetaan ohjelman kirjoittaminen. Kun hän näyttää tältä

"|"-symbolin poistaminen ja kutsumme algoritmiamme "nelioksi"

Suosittelen piirtämään neliön, liikuttamalla myötäpäivään. Ensin maalataan nykyinen solu antamalla komento maalata päälle. Sitten otamme askeleen oikealle ja maalaamme solun uudelleen. Ja vielä kerran astu oikealle ja maalaa päälle.

Yritetään ajaa ohjelma ja katsotaan mitä tapahtuu. Aloita painamalla F9 tai työkalurivin painike

Tämän seurauksena meidän pitäisi nähdä tällainen kuva

Jos tällainen robotti-ikkuna ei näy sinulle, napsauta työkalupalkissa " Näytä robottiikkuna"tai valitse robottivalikosta" Näytä robottiikkuna". Jatketaan edelleen.

Nyt siirrytään alas ja maalataan oikea puoli neliö:

alas

maalata päälle

alas

maalata päälle

Sitten mennään vasemmalle maalaamalla neliön alareuna

vasemmalle

maalata päälle

vasemmalle

maalata päälle

Meillä on yksi maalaamaton solu jäljellä. Maalataan se päälle

ylös

maalata päälle

Kaikki on valmista! Tämän seurauksena ohjelmamme näyttää tältä:

käytä robottia

alg Neliö

alku

maalata päälle

oikein

maalata päälle

oikein

maalata päälle

alas

maalata päälle

alas

maalata päälle

Esittäjä Robotti on suorakaiteen muotoisessa kentässä, joka on jaettu soluihin, joiden välissä voi olla seiniä ja se sopii kokonaan yhteen soluun.

Robotti voi liikkua kentällä, maalata soluja, mitata lämpötilaa ja säteilyä. Robotti ei voi kävellä seinien läpi, mutta se voi tarkistaa, onko sen vieressä seinä.

  • "Robotin" esiintyjän komentojärjestelmä sisältää:
  • 5 komentoa, jotka käynnistävät robotin toiminnot (vasen, oikea, ylös, alas, maali)
  • 10 kunnontarkistuskomentoa:
  • 8 komentoa muodossa [vasen/oikea/ala/ylä] [seinä/vapaa]
  • 2 komentoa solutyypistä [täytetty/tyhjä]

2 mittauskäskyä (lämpötila, säteily)

Toimintakomennot

Tarkista komennot Joukkue
Kuvaus vasemmanpuoleinen kirjaus on ilmainen
Palauttaa kyllä, jos robotti voi liikkua vasemmalle, muuten ei. oikealla oleva kirjautuminen on ilmainen
Palauttaa kyllä, jos robotti voi liikkua oikealle, muuten ei. kirjaudu ylhäältä ilmaiseksi
Palauttaa kyllä, jos robotti voi liikkua ylöspäin, muuten ei. kirjaudu alla ilmaiseksi
Palauttaa kyllä, jos robotti voi liikkua alaspäin, muuten ei. hirsi vasen seinä
Palauttaa kyllä, jos robotin vasemmalla puolella on seinä, muuten ei. hirsi oikea seinä
Palauttaa kyllä, jos robotin oikealla puolella on seinä, muuten ei. hirsi yläseinään
Palauttaa kyllä, jos robotin yläpuolella on seinä, muuten ei. hirsi seinän alla
Palauttaa kyllä, jos robotin alla on seinä, muuten ei. lokisolu on täytetty
Palauttaa kyllä, jos solu on täytetty, ja ei, jos solua ei ole täytetty. loki solu puhdas

Palauttaa ei, jos solu on täytetty, ja kyllä, jos solua ei ole täytetty.

Mittauskomennot

Olkoon tarpeen siirtää seinän vasemmalla puolella olevasta solusta seinän oikealle puolelle:

Algoritmi saattaa näyttää tältä:
käytä robottia
alg esimerkki 1
alku
. alas
. oikein
. ylös

con


Jos yrität ohjata robottia seinän läpi, tapahtuu vika. Robotti törmää seinään eikä pysty enää seuraamaan komentoja.

Algoritmi saattaa näyttää tältä:
Kirjoitetaan algoritmi robotille, joka ohittaa sokkelon pisteestä A paikkaan B:
alg esimerkki 1
. alas

Alg paikasta A paikkaan B
. ylös ; ylös ; oikea ;
. ylös

alas ; alas ; oikein




Kunkin osan läpimenokomennot voidaan ryhmitellä yhdelle riville - tämä lyhentää algoritmin tallennusta ja tekee siitä ymmärrettävämmän. Jotta komentoja voidaan kirjoittaa yhdelle riville, ne on erotettava puolipisteellä. Executor Robot Komentojärjestelmä esiintyjälle Robotille Siirtokomennot: ylös, alas, vasemmalle, oikealle Robotti liikkuu yhden solun ylös, alas, vasemmalle, oikealle. Paint-komento maalaa solun, jossa robotti seisoo. Ehdon totuuden tarkistaminen: vapaa ylhäältä, vapaa alhaalta, vapaa vasemmalta, vapaa oikealta Robotti tarkistaa ehdon totuuden, että solussa, jossa robotti sijaitsee, ei ole seinää. Voit käyttää muodostettujen yhdisteehtojen merkintää loogisia operaatioita




JA, TAI, EI.


Performer Robot Ympäristön suora muokkaus Kaikki ympäristön muokkauskomennot suoritetaan hiirellä: aseta/poista seinä - klikkaa solujen välistä rajaa, maalaa/tyhjennä solu - klikkaa solua, liikuta robottia - vedä hiirtä haluttuun soluun. Executor Robot -valikon komennot Robot Show Robot -kenttä Tekee Robotin havainnointiikkunan näkyväksi. Tulostusasetus Luo tiedoston sisään PDF-muodossa , joka kuvaa nykyistä tilannetta värillisenä tai mustavalkoisena. Tallenna ympäristö tiedostoon Creates tekstitiedosto


tilannekuvauksen kanssa sisäisessä *.fil-muodossa. Tämä tiedosto voidaan ladata myöhemmin aloitusympäristöksi (Muuta aloitusympäristöä -komento) tai aloitusympäristöä muokattaessa (Avaa aloitusympäristön muokkaaminen windows -komento). Muuta aloitusympäristöksi Asettaa uuden aloitusympäristön tiedostonimen (vakiovalintaikkunan avulla) ja lataa uuden aloitusympäristön. Palaa aloitusympäristöön Tekee aloitusympäristöstä ajantasaisen.


Esiintyjärobotti Kuva nykytilanteesta havaintoikkunassa Nykyisen ympäristön kuva on aina kokonaan sijoitettu Robotin havaintoikkunan työkenttään. Työkentän tausta on vihreä. Täytetyt solut ovat harmaita. Solujen välissä on ohuita mustia viivoja. Seinät näkyvät paksuina keltaisina viivoina. Havaintoikkunan työkentän solussa Robotti on kuvattu timanttina.











Johdatus Idol-ohjelmaan ja ohjelmoinnin perusteiden hallinta.

Siinä opiskelijat voivat hankkia käytännön taitoja algoritmin luomisessa ja virheenkorjauksessa työskennellessään sellaisten esiintyjien kanssa kuin Robot, Draftsman, Aquarius, Grasshopper, Turtle.

Kun opiskelet yhtä tietojenkäsittelytieteen vaikeimmista osista, "algoritmointia ja ohjelmointia".

Kehittämisen tarkoitus :

Lataa:


Esikatselu:

Tietojenkäsittelytieteen metodologinen kehitys.

Aihe: “Robotisoittaja KuMir-ohjelmassa tietojenkäsittelyn tunneilla”

tekniikan opettaja "Informatiikka ja ICT"

Selittävä huomautus

Kehitystavoite: opiskella ohjelmointimahdollisuuksia tietyn Robotin esittäjän esimerkillä KUMIR-ympäristössä; antaa käytännön taitoja esiintyjän kanssa työskentelyyn.

Metodologinen kehityskoottu tietojenkäsittelyn tunneilleHarjoittele tietokoneella: työskennellä opetusalgoritmien toteuttajan kanssa; lineaaristen, haarautuvien ja syklisten algoritmien laatiminen suorittimen ohjaukseen; monimutkaisen rakenteen omaavien algoritmien laatiminen; apualgoritmien käyttö (proseduurit, aliohjelmat).

Opiskelijoiden tulisi tietää:

  • mikä on esiintyjä; SKI Robot, Robotin esiintyjän ympäristö;
  • mikä on algoritmi;mitkä ovat algoritmin pääominaisuudet;
  • tapoja kirjoittaa algoritmeja: vuokaaviot, opetusalgoritminen kieli;perusalgoritmiset rakenteet: seuraaminen, haarautuminen, silmukka; rakenteet
  • algoritmit; ⇒ apualgoritmien osoittaminen; teknologiat monimutkaisten algoritmien rakentamiseen:

Opiskelijoiden tulee kyetä:

  • ymmärtää algoritmien kuvaukset opetusalgoritmisella kielellä;
  • suorittaa algoritmijäljitys tunnetulle esiintyjälle;
  • luoda lineaarisia, haarautuvia ja syklisiä ohjausalgoritmeja robottisuorittajalle; korosta alitehtävät; määritellä ja käyttää apualgoritmeja.

Oppitunti 1 (2 tuntia) Oppitunti 1.

Esiintyjä robotti.Executor komentojärjestelmä.

Tuntisuunnitelma.

  1. Kuvaus esiintyjän SKI:stä, esiintyjän ympäristöstä.

2. Tyypillisten robottialgoritmien analyysi.

Oppitunnin edistyminen.

Katsotaanpa taiteilijan kuvausta.

Taiteilijaympäristö: Esiintyjä Robotti voi navigoida labyrintin läpi, joka on piirretty soluihin jaettuun tasoon.

SKI-robotti : yksinkertaiset komennot: ylös, alas, vasemmalle, oikealle, maali.

Loogiset komennot: (kuntotarkistukset)

yläosa vapaa pohja vapaa

vasen vapaa oikea vapaa.

Loogiset liitännät: JA, EI, TAI:

Esimerkki: (Ei jätetty vapaaksi) tai (Ei oikea vapaa)

Haarakomento: loop komento:

Jos ehto sitten ei ole vielä ehtoa

Sarja komentoja sarja komentoja

siinä kaikki kts

(2009 CMM:issä robotin komennot poikkesivat lapsille tutuista komennoista, mikä johti hämmennystä :)

Haarakomento: loop komento:

Jos ehto sitten nts toistaiseksi ehto tehdä

Sarja komentoja sarja komentoja

loppu loppu

Yleisnäkymä Idol-ohjelmaikkunasta. Robotin graafinen ympäristö:

KIM:issä demo versio Vuoden 2010 joukkuemuoto muutettu muotoon tavanomaista

Menettely algoritmin luomiseksi:

1. Joukkueet Työkalut - Muokkaa aloitusympäristöäpiirrä seinät robottikenttään ja aseta robotti alkuperäiseen asentoonsa.

2. Joukkueet Robotti - Muuta aloitusympäristöäylläpitää uutta ympäristöä.

3. Joukkueet Lisää - Käytä robottiailmoittaa taiteilija.

4. Kirjoita asiakirja-ikkunaan algoritmi valikon avulla Lisää.

5. Suorituskomentojen käyttäminen – suorita algoritmi jatkuvasti (tai askel askeleelta).

6. Harkitse algoritmin suorittamisen tulosta ja tee tarvittaessa virheenkorjaus.

Oppitunti 1 (2 tuntia) Oppitunti 2.

Käytännön työ"Lineaaristen algoritmien kokoaminen".

Tehtävät: 1. Robotointi mielivaltaisessa kentän kohdassa. Maalaa solu alkuperäisen sijainnin ylä-, ala- ja oikealle puolelle.

  1. Robotti mielivaltaisessa kentän kohdassa. Siirrä robottia 4 ruutua oikealle värittäen ne.
  2. Luo uusi aloitusympäristö piirtämällä kenttään neliö, jonka sivu on 4 ruutua. Tallenna asetus aloitusasetukseksi.
  3. Luo uusi aloitusympäristö piirtämällä kentälle käytävä, jonka seiniin on käytävät. Tallenna ympäristö nimellä obst2.fil. Vaihda aloitusympäristö äskettäin luotuun.

Oppitunti 2 (2 tuntia) Oppitunti 1.

Aihe : Algoritmin haarautuminen ja peräkkäinen tarkentaminen.

CMM-tehtävien analysointi robottisuorittimella.

Algoritmi saattaa näyttää tältä:

alg kim 2009

alg esimerkki 1

jos ei ole vapaa alhaalta

sitten oikealle

Kaikki

jos ei ole vapaa alhaalta

sitten oikealle

Kaikki

jos ei ole vapaa alhaalta

sitten oikealle

Kaikki

. ylös

Algoritmi saattaa näyttää tältä:

alg kim 2010

alg esimerkki 1

jos ei ole vapaa alhaalta

sitten oikealle

Kaikki

jos ei ole vapaa alhaalta

sitten oikealle

Kaikki

jos ei ole vapaa alhaalta

sitten oikealle

Kaikki

. ylös

Ave. orja. Nro 14. Haaroitusalgoritmien kokoaminen ja virheenkorjaus

Tehtävät. Katso liite.

Oppitunti 3. Sykliset algoritmit. Oppitunti 1-2

Kohde: paljastaa syklin käsitteen olemuksen algoritmeissa, näyttää tallennussyklien muodot algoritmeissa, antaa taitoja luoda ja tallentaa syklisiä algoritmeja.

Ave. orja. Nro 15. Syklisten algoritmien kokoaminen ja virheenkorjaus

1.Luo algoritmi, joka maalaa kaikki seinän vieressä olevat sisäiset solut.

Algoritmi saattaa näyttää tältä:

alg

alg esimerkki 1

nts-oikeus on toistaiseksi ilmainen

maalata päälle; oikein

kts

nts pohja on toistaiseksi ilmainen

maalata päälle; alas

kts

nts ei ole vielä vapaa alhaalta

maalata päälle; vasemmalle

kts

. ylös

2.Luo algoritmi, joka maalaa kaikki solut robotin ja seinän välillä. Etäisyys seinään ei ole tiedossa.

Algoritmi saattaa näyttää tältä:

alg

alg esimerkki 1

nts-oikeus on toistaiseksi ilmainen

oikea; maalata päälle

kts

. ylös

3.Luo algoritmi, joka maalaa kaikki kahden seinän välissä olevat solut.

Algoritmi saattaa näyttää tältä:

alg uch3

alg esimerkki 1

nts vielä (ei vapaa ylhäältä) tai (ei vapaa alhaalta)

oikein

jos (ei vapaa ylhäältä) ja (ei vapaa alhaalta)

Että

maalata päälle

Kaikki

kts

. ylös

4.Luo algoritmi, joka maalaa kaikki solut suorakaiteen muotoisen seinän ympärille.

alg uch4

alg esimerkki 1

maalata päälle; ylös

nts ei ole vielä vapaa oikealla

maali päälle;ylös;

kts

maalata oikealle

nts ei ole vielä vapaa alhaalta

maalata päälle;oikealle;

kts

maalata päälle; alas

nts ei ole vielä vapaana vasemmalla

maalata päälle;alas;

kts

maalata päälle;

nts ei ole päällä vielä ilmainen

maalata päälle; vasemmalle;

kts

. ylös

Algoritmi saattaa näyttää tältä:

alg uch5

alg esimerkki 1

oikein

nts ei ole vielä vapaa alhaalta

maalata päälle; oikein

kts

maalata päälle; alas

nts vasen on toistaiseksi ilmainen

maalata päälle; vasemmalle

kts

nts ei ole vielä vapaana vasemmalla

maalata päälle; alas

kts

maalata päälle;vasen;maalaa päälle; ylös;

nts ilmaiseksi päällä toistaiseksi

maalata päälle; ylös

kts

nts ei ole päällä vielä ilmainen

maalata päälle; vasemmalle

kts

. ylös

Oppitunti 4 Oppitunti 1

Apualgoritmit.

Kohde: esitellä pää- ja apualgoritmien käsite; selittää apualgoritmin käytön säännöt; analysoida esimerkkejä algoritmeista käyttämällä apuohjelmia.

Oppituntisuunnitelma

1. Uusien termien esittely (pää- ja apualgoritmit, kutsut) ja uusien käsitteiden selittäminen.

2. Esimerkkejä ongelmien ratkaisusta apualgoritmilla.

Joitakin tehtäviä ratkaistaessa on kätevää jakaa ne pienempiin osatehtäviin, joista jokainen voidaan muotoilla itsenäiseksi algoritmiksi. Tällöin ensin käännetään ns. pääalgoritmi, jossa alitehtävien ratkaisemiseen käytetään kutsuja apualgoritmeille, jotka lisätään myöhemmin. Tätä ratkaisua kutsutaanperäkkäisen jalostuksen menetelmä.Sen avulla ryhmä ohjelmoijia voi työskennellä projektin parissa, ja jokainen ratkaisee oman alatehtävänsä.

Ongelman ratkaisuprosessissa jokainen apualgoritmi voidaan tarvittaessa jakaa pienempiin apualgoritmeihin.

Kutsutaan komento apualgoritmin suorittamiseksi haaste ja se on kirjoitettu pääalgoritmin rungossa.

Samaa algoritmia voidaan pitää pää- ja apualgoritmina suhteessa muihin algoritmeihin. Algoritmisessä kielessä pääalgoritmi kirjoitetaan ensin ja apualgoritmit kirjoitetaan peräkkäin.

Tehtävä 1:

Robotti on kentän vasemmassa yläkulmassa. Ei seiniä tai maalattuja soluja. Luo apualgoritmi, joka piirtää neljä ristiä yhdelle vaakaviivalle. Robotin lopullinen sijainti voi olla mielivaltainen.

Ratkaisu

Analyysi taululla:

Tehtävä 2. Robotti on kentän vasemmassa yläkulmassa. Ei seiniä tai maalattuja soluja. Luo algoritmi, joka maalaa 8 x 8 neliön shakkilaudan kuvioon. Robotin lopullinen sijainti voi olla mielivaltainen.

Oppitunti 4 Oppitunti 2

Käytännön työ PC:llä ”Ongelman ratkaiseminen apualgoritmeilla”.

Kohde : juurruttaa käytännön taitoja algoritmien rakentamiseen peräkkäisen tarkennusmenetelmän avulla.

Oppituntisuunnitelma

1. Tehtävä tapahtuu kokonaan PC:llä. Oppilaat saavat tehtäviä ja suorittavat ne Idol-ohjelmistoympäristössä. Työn tulokset tallennetaan tiedostoina myöhempää tarkistusta varten.

Ongelma 1 . Robotti on kentän vasemmassa alakulmassa. Ei seiniä tai maalattuja soluja. Luo algoritmi, joka maalaa 6 yhtä pitkää pystysuoraa raitaa 6 soluun. Robotin lopullinen sijainti voi olla mielivaltainen.

Ongelma 2 .Luo apuvälineillä algoritmi luvun 1212 muodostavien solujen maalaamiseen.

Kotitehtävät: Keksi algoritmi, joka piirtää seuraavan kuvan: Ratkaise ongelma käyttämällä kahta apualgoritmia.

Oppitunti 5 Oppitunti 1-2

Testata

"Algoritmin laatiminen Robot executor -ympäristössä."

Kohde: testaa hankittua tietoa algoritmien luomisesta ja analysoinnista Idol-ohjelmistoympäristössä.

Tehtäviä varten koetyötä on jaettu vaikeustasoittain ja sisältää 3 tehtävää esiintyjärobotin kanssa (tehtävät 1 ja 2 - haaroituksesta ja silmukoista, tehtävä 3 - apualgoritmista.) Tehtävien tekstit on esitetty liitteessä.

Alku- ja lopputilanteet sekä luodut algoritmit tallennetaan tiedostoksi.

Arvosana annetaan tehtävän vaikeusasteen mukaan. Opiskelijalla on oikeus valita tehtävän tyyppi.

Ja tänään puhumme sykleistä. Selvitetään, mikä sykli on ja kuinka opettaa robottimme suorittamaan syklisiä algoritmeja.

Niin, mikä on sykli? Kuvittele, että olemme luokassa fyysistä kulttuuria ja meillä on tehtävä edessämme tee 7 kyykkyä. Tämä tehtävä voidaan kirjoittaa lineaarisena algoritmina, jolloin se näyttää suunnilleen tältä:

tee kyykky

tee kyykky

tee kyykky

tee kyykky

tee kyykky

tee kyykky

tee kyykky

Eli toistimme komennon "tee kyykky" 7 kertaa. Onko järkevää kirjoittaa 7 identtistä komentoa? Voi olla helpompi antaa käsky tee 7 kyykkyä? Tietysti se on yksinkertaisempaa ja oikeampaa. Tämä on sykli. Voit itse muistaa esimerkkejä syklistä elämästä - niitä on melko paljon.

Siten lineaarinen algoritmi, jossa samat komennot toistuvat, voimme järjestää syklisenä algoritmina- jotain tällaista:

toista 7 kertaa

tee kyykky

syklin loppu

Näin suunnittelimme syklin keksimällämme kielellä. Robot-esittäjällä on myös kyky tallentaa jaksoja. Lisäksi, syklit ovat erilaisia. Vaihtoehtoa, jota juuri tarkastelimme, kutsutaan lenkki laskurilla tai silmukka parametrin kanssa.

Syklityypit.

Silmukka laskurilla.

Lenkki laskurilla käytetään, kun tiedetään etukäteen kuinka monta toistoa on tehtävä. Yllä olevassa kyykkyjä koskevassa esimerkissä asia on juuri näin.

Jotta voit kirjoittaa silmukan, jossa on laskuri suorittajalle, sinun on tiedettävä sen syntaksi. Ja hän on tällainen:

nc<toistojen määrä> kertaa

<команда 1>

<команда 2>

<команда n>

Tässä meidän on määritettävä toistojen määrä (numero) ja toistettavat komennot. Komennot, jotka toistetaan silmukassa, kutsutaan silmukan runko.

Katsotaanpa tätä esimerkin avulla.

Aluksi robotti oli ylävasemmassa solussa.

Ratkaistaan ​​ensin ongelma lineaarisesti. Tässä tapauksessa maalaamme nykyisen solun päälle ja siirrämme 1 solun oikealle ja ohjelma näyttää tältä:
Algoritmi saattaa näyttää tältä:
alg
alku

maalata päälle

oikein

maalata päälle

oikein

maalata päälle

oikein

maalata päälle

oikein

maalata päälle

oikein

maalata päälle

oikein

maalata päälle

oikein

Kuten näet, komennot maalata ja oikealle toistetaan 7 kertaa. Kirjoitetaan nyt ohjelma uudelleen silmukan avulla. Muuten, voit lisätä syklin ohjelmaan siirtymällä valikkoon Lisää valitse kohde tsk-tsk-tsk tai paina jotakin näppäinyhdistelmästä Esc, P(venäläinen R-kirjain) tai Esc, H(Latinalainen kirjain H). Lisäksi näppäimiä on painettava peräkkäin- ensin Esc, vapauta se ja vasta sitten P tai H.

Tässä siis meidän silmukkaohjelma näyttää tältä:

Algoritmi saattaa näyttää tältä:

nts 7 kertaa

maalata päälle

oikein

Jos suoritamme sen, näemme, että tulos on sama - 7 täytettyä solua. Ohjelmasta on kuitenkin tullut lyhyempi ja paljon älykkäämpi algoritmin näkökulmasta!

Lämmittelynä ja vahvistuksena ehdotan, että kirjoitat itse Robotille ohjelman, joka piirtää neliön, jonka sivu on 7 solua. Luonnollisesti silmukan avulla. Odotan ratkaisua kommenteissa.

Ehdollinen silmukka.

Ratkaistaessa Valtion akateemisen tietotekniikan tehtävää 19 robotilla, silmukan käyttö laskurin kanssa ei toimi. Koska kenttä siellä on pääsääntöisesti loputon ja seinillä ei ole tiettyä pituutta. Siksi emme pysty määrittämään laskurin toistojen määrää silmukalle. Mutta sillä ei ole väliä - se auttaa meitä silmukka ehdon kanssa.

Palataanpa liikuntakasvatukseen ja muutetaan ongelmaa. Loppujen lopuksi joku ei pysty tekemään 7 kyykkyä, kun taas toinen pystyy tekemään 27. Onko mahdollista ottaa tämä huomioon sykliä luotaessa? Varmasti. Vain nyt emme käytä laskuria (toistojen lukumäärää), vaan ehtoa. Tee esimerkiksi kyykkyjä ennen kuin väsyt. Tässä tapauksessa henkilö ei tee tiettyä määrää kyykkyjä, vaan kyykkyä, kunnes hän väsyy. Ja syklimme abstraktilla kielellä on seuraavanlainen:

Heippa ei väsynyt

tee kyykky

syklin loppu

Sanat eivät ole väsyneet meidän tapauksessamme - tämä on ehto. Kun tosi, silmukka suoritetaan. Jos se on epätosi (väsynyt), silmukan runkoa ei suoriteta. Robotin esiintyjällä on useita ehtoja

ilmainen päälle

vapaa alhaalta

jätetty vapaaksi

vapaa oikealla

seinä yläpuolella

seinä alle

vasen seinä

seinä oikealla

Mutta GIA:n tehtävän 19 olosuhteissa on ilmoitettu vain ensimmäiset 4, joten käytämme vain niitä.

Nyt ratkaistaan ​​seuraava tehtävä Robotille - piirretään pystysuora viiva kentän vasemmalta oikealle reunalle käyttämällä ehdollista silmukkaa. Aluksi robotti sijaitsee vasemmassa yläkulmassa.

Muotoillaan ensin sanallinen algoritmi - eli kuvataan sanoin, mitä robotin tulee tehdä. Tämä algoritmi kuulostaa tältä:

« Kun oikealla on vapaata tilaa, ota askel oikealle ja maalaa solu »

Tämän seurauksena robotti juoksee kaikkien solujen läpi oikealle ja maalaa niitä, kunnes oikealla on seinä.

Robotin ohjelmamme lähdekoodi on suunnilleen tällainen:

Algoritmi saattaa näyttää tältä:

nts-oikeus on toistaiseksi ilmainen

oikein

maalata päälle

Tämän ohjelman suorittamisen seurauksena näemme seuraavan kuvan:

© 2024 ermake.ru - Tietoja PC-korjauksesta - Tietoportaali