Izobraževalni program izbirnega predmeta "Razvoj algoritemskega mišljenja z reševanjem problemov" (za učence 5.-6. razreda). Obdobje izvajanja: 4 mesece. Avtor programa: I.G. Shupletsov Recenzenti: metodološki svet srednje šole MBOU št. 13, 2012. Pojasnilo A. P. Ershov je opisal operativni stil razmišljanja - sposobnost načrtovanja strukture dejanj, potrebnih za dosego cilja z uporabo fiksnega nabora sredstev. Algoritemsko razmišljanje vključuje razumevanje bistva osnovnih algoritemskih struktur: sledenje, razvejanje, zankanje, klicanje, pa tudi sposobnost učinkovite uporabe teh struktur pri sestavljanju enostavnih algoritmov in gradnji kompleksnih algoritmov na osnovi preprostih. Strukturne komponente algoritemskega stila razmišljanja vključujejo: sposobnost formalizacije problema, razumevanje in sposobnost izvajanja elementarnih algoritemskih operacij, izbiro optimalnega načina za dosego cilja. Sposobnost gradnje algoritmov je z vidika predmetne dejavnosti pomembna na številnih področjih znanja in dejavnosti učencev. Izbira reševanja problemov v okolju KuMir je posledica dejstva, da vam omogočajo jasno demonstracijo algoritmov, kar razvija algoritemske sposobnosti in algoritemsko razmišljanje na podlagi vizualnih dejanj izvajalcev. Učence od 5. do 6. razreda motiviramo za uporabo izvajalcev okolja KuMir. Zanje so enostavni za uporabo in ukazni sistem teh izvajalcev je zanje jasen in enostaven za uporabo. Učenci z navdušenjem ustvarjajo preproste algoritme in jih demonstrirajo učitelju in drug drugemu. Vidnost dejanj izvajalcev omogoča enostavno spremljanje izvajanja algoritma in po potrebi prilagajanje le-tega. Predmet “Razvoj algoritemskega mišljenja z reševanjem problemov” je praktično naravnan. Študenti samostojno osvojijo okolje KuMir in tehnike reševanja problemov na podlagi predlaganih tehnologij in analiziranih primerov. Učitelj individualno pomaga ob težavah in beleži rešene probleme ter ponudi optimalne možnosti reševanja problemov. Tečaj je na voljo za študij v šolah, ki imajo potrebno izobraževalno, metodološko in tehnično opremo. Namenjen je učencem od 5. do 6. razreda, ki imajo osnovna znanja o delu z operacijskim sistemom WINDOWS. Ta tečaj se lahko nadaljuje s tečajem osnov programiranja in tečajem na daljavo o reševanju olimpijadnih problemov na spletni strani http://www.acmu.ru za zainteresirane študente 78 razredov. Tema "Algoritmizacija" se preučuje v 4. četrtini 6. razreda. Tako bodo študentje do tega časa že obvladali uporabo okolja KuMir in intuitivnih algoritemskih zasnov, kar jim bo omogočilo uspešno učenje teorije algoritmizacije in njeno enostavno uporabo v praksi. Predmet “Razvoj algoritemskega mišljenja z reševanjem problemov” je zasnovan za 17 ur, v okviru katerih bodo študenti sposobni intuitivno, pri reševanju problemov na računalniku, osvojiti osnovne algoritemske strukture: sledenje, razvejanje, zankanje, klicanje pomožnega algoritma, za učinkovito sestavljanje algoritmov. 1 Predmet je lahko prvi korak za nadaljnji študij programiranja in izbiro študijske smeri, povezane z informacijsko tehnologijo. Cilji in cilji predmeta Namen predmeta: razširiti znanje študentov pri predmetu Informatika in IKT; razvijati algoritemsko mišljenje učencev s sestavljanjem algoritmov za reševanje problemov. Cilji predmeta: študente v praksi seznaniti z okoljem KuMir; razmislite o glavnih zmožnostih najbolj priljubljenih izvajalcev "Robot" in "Risar"; se naučijo uporabljati osnovne algoritemske strukture: sledenje, razvejanje, zankanje, klicanje. Tehnologija treningov. Kontrolni razredi potekajo v obliki praktičnega dela. Na začetku ure (5 minut) učitelj učencem postavi cilj te ure in opozori na rezultate vsakega učenca, ki jih je do tega časa dosegel in katere naloge mora rešiti pri tej uri. Dijaki sestavljajo algoritme na računalniku, jih izvajajo, spremljajo vmesne rezultate in poročajo učitelju o rešitvi nalog. Učenci si lahko pomagajo pri reševanju problemov. Tiste naloge, ki niso bile rešene pri pouku, lahko rešimo kot domačo nalogo in preverimo v naslednjih urah. Učitelj preveri rešeno nalogo in njeno rešitev zapiše v dnevnik. Na koncu pouka (5 minut) se ugotovijo tisti učenci, ki imajo največ rešenih nalog, ugotovijo se težave, s katerimi se srečujejo učenci, ki težav niso rešili, ter se predlagajo in razpravljajo o načinih za njihovo premagovanje. Na začetku in koncu lekcije se pregledajo ocene vseh učencev, kar vam omogoča, da organizirate tekmovanje med učenci. Koledarsko-tematski načrt Učne ure Tema učne ure 1 2 3 4 5 Uvod v sistem KuMir. Reševanje problema. Performer Robot. Reševanje problema. Sestavljanje linearnih algoritmov. Reševanje problema. Sestavljanje linearnih algoritmov. Reševanje problema. Primeri pomožnih algoritmov. Sestavljanje pomožnih algoritmov. Reševanje problema. Sestavljanje pomožnih algoritmov. Reševanje problema. Primer cikličnega algoritma. Sestavljanje cikličnih algoritmov. Reševanje problema. 6 7 Število ur 1 1 1 1 1 1 1 2 8 9 10 11 12 13 14 15 16 17 Primer razvejanega algoritma. Sestavljanje razvejanih algoritmov. Reševanje problema. Izvajalec risar. Reševanje problema. Ukaz za pomik na točko. Sestavljanje linearnih algoritmov. Reševanje problema. Ukaz za vektorski premik. Sestavljanje linearnih algoritmov. Reševanje problema. Ukaz za vektorski premik. Sestavljanje linearnih algoritmov. Reševanje problema. Sestavljanje pomožnih algoritmov. Reševanje problema. Sestavljanje pomožnih algoritmov. Reševanje problema. Sestavljanje cikličnih algoritmov. Reševanje problema. Sestavljanje cikličnih algoritmov. Reševanje problema. Povzemanje. Študentska ocena. Reševanje problema. Skupaj 1 1 1 1 1 2 1 1 1 17 Vsebina učnega gradiva Uvod v sistem KuMir. Nalaganje sistema KuMir. Imenovanje izvršitelja Robota. Sistem ukazov izvajalca robota. Vrstni red pisanja algoritma. Postopek za ustvarjanje robotskega polja. Izvedba algoritma. Sledenje rezultatom robotovega izvajanja algoritma. Pisanje prvega algoritma. Sestavljanje linearnih algoritmov. Reševanje problema. Pomožni algoritem. Dva primera pomožnih algoritmov. Ukaz za klic pomožnega algoritma. Snemanje pomožnega algoritma. Dva primera, v katerih se uporabljajo pomožni algoritmi. Sestavljanje pomožnih algoritmov. Reševanje problema. Ciklični algoritem. Primer cikličnega algoritma. Zanka z določenim številom ponovitev, ukaz Loop N-krat. Sestavljanje cikličnih algoritmov. Reševanje problema. Algoritem razvejanja. Dva primera razvejanega algoritma. Ukaz Če. Polna in nepopolna oblika ukaza if. Pogoji v razvejanem algoritmu. Sestavljanje razvejanih algoritmov. Reševanje problema. Izvajalec risar. Sistem ukazov za risarja. Pisanje algoritma za risarja. Namen ukaza je premik na točko. Primer algoritma z ukazom za premik na točko. Postopek za izdelavo risbe in pisanje algoritma za izvajalca Draftsman. Sestavljanje linearnih algoritmov. Reševanje problema. Izvajalec risar. Primer algoritma z ukazom premik za vektor. Postopek za ustvarjanje risbe in pisanje algoritma z ukazom za premik v vektor za izvajalca Draftsman. Sestavljanje linearnih algoritmov. Reševanje problema. Primer pomožnega algoritma. Sestavljanje pomožnih algoritmov. Reševanje problema. Primer cikličnega algoritma. Sestavljanje cikličnih algoritmov. Reševanje problema. Pričakovani rezultati obvladovanja predmeta Predmet omogoča študentu, da se seznani z: Nalagalnimi in vmesnikskimi elementi programa KuMir. Z vrstnim redom izvajanja nekaterih dejanj v programu KuMir. Z imenovanjem izvršitelja Robota. Z imenovanjem izvajalca Pripravljavca. 3 Z osnovnimi algoritemskimi strukturami: sledenje, razvejanje, zankanje, klicanje. Z vrstnim redom ustvarjanja in izvajanja algoritmov. Z izračunom vrednosti vektorjev po celicah z uporabo projekcij na koordinatne osi. Med učnim procesom šolarji pridobijo veščine: Ustvarjanja in izvajanja algoritmov. Shranjevanje in nalaganje algoritmov. Uporaba različnih algoritemskih zasnov za učinkovito reševanje problemov. Konstruiranje risb na koordinatni ravnini. Pogoji za izvedbo predmeta 1. 2. 3. 4. 5. 6. 7. Računalniški razred 12 računalniki. Lokalno omrežje. Demo zaslon. Tiskalnik. Papir za tiskalnik A4. Okolje KuMir je prosto distribuirana programska oprema. Didaktična gradiva. Reference Leonov A.G. Obvladajte KuMir v 6 urah. - Moskva: Informatika, priloga k časopisu 1. september, št. 24, 2010, št. 2, 2011, Kushnirenko A.G. Osnove informatike in računalništva: Prob. učbenik za srednje učbenik ustanove A.G. Kušnirenko, G.V. Lebedev, R.A. Svoren - 2. izd. – M.: Izobraževanje, 1991. – 224 str.: ilustr. Dodatek 1 Izvajalec »Robot« Linearni algoritmi Izvajalec »Robot« se premika v karirastem polju 15 x 10 celic in barva celice. Robot lahko izvaja naslednje ukaze SKI: gor, dol, levo, desno, barva. Prenesite program KuMir za izvajalca “Robot” 1. Metoda - odprite bližnjico na namizju. 2. Metoda – Računalniški pogon C: mapa Šolska mapa KumirWin datoteka kumir.exe (aplikacija). 4 Primer 1 1. V KuMir s tipkovnice vtipkamo program Primer1. 2. V meniju Orodja pokličite ukaz Uredi zagonsko okolje robota. 3. Pokličite meni Pomoč za nastavitve, preberite dejanja, izvedena pri urejanju nastavitve, in si jih zapomnite. 4. Počistite okolje in postavite robota na sredino polja. Zaprite nastavitev brez shranjevanja. 5. Pokličite meni Izvedba in ukaz STEP (F8 je bližnjična tipka). 6. Pokličemo polje Robot, meni Robot, ukaz Prikaži okno Robot. 7. Pritisnite tipko F8 do konca programa (dokler zelena vrstica ne izgine). Morali bi dobiti naslednji rezultat. 1. naloga Ustvarite program, po katerem bo robot pobarval celice, razporejene v šahovnici s stranico dolžine 3 celic. 5 Naloga 2 Ustvarite program, po katerem bo robot pobarval celice, razporejene v obliki romba s stranico dolžine 4 celic. 3. naloga Ustvarite program, po izvedbi katerega bo robot pobarval celice, razporejene v obliki piramide visoke 4 celice in se vrnil v prvotni položaj. Naloga 4 Ustvarite program, po izvedbi katerega bo robot prebarval celice tako, da bo nastala zanimiva risba (na primer smeško). 6 Naloga 5 Robot je na začetku vodoravnega hodnika (celica A). Premaknite robota na konec hodnika (celica B). Črki A in B nista postavljeni v nastavitvi robota. Naloga 6 Robot se nahaja pred vhodom v navpični hodnik. Robot mora hoditi po hodniku in zapustiti eno celico. Robot mora barvati celice, skozi katere gre. Naloga 7 V nastavitvi Robot ustvarite labirint z enim izhodom. Robota postavite v kletko, iz katere bo zapustil labirint. Napišite program, ki bo robota popeljal iz labirinta. 8. naloga Robot se mora premakniti iz celice A v celico B in pobarvati s pikami označene celice. 7 Pomembno: vsi algoritmi, ki ste jih sestavili, so linearni, ker ukazi v njih si sledijo drug za drugim od začetka do konca algoritma. 8
Performer Robot. Pomožni algoritmi(2h)
Cilj: uvesti pojem glavnega in pomožnega algoritma; razložiti pravila za uporabo pomožnega algoritma; analizirati primere algoritmov z uporabo pomožnih. Razviti praktične spretnosti pri konstruiranju algoritmov z uporabo metode zaporednega izboljšanja.
Učni načrt
1. Uvedba novih pojmov (glavni in pomožni algoritmi, klici) in razlaga novih pojmov.
2. Analiza primerov reševanja problemov s pomočjo pomožnega algoritma.
3. Praktično delo
Pri reševanju nekaterih problemov je primerno, da jih razdelimo na manjše podnaloge, od katerih je vsako mogoče oblikovati kot neodvisen algoritem. V tem primeru se najprej prevede tako imenovani glavni algoritem, v katerem se za reševanje podnalog uporabijo klici pomožnih algoritmov, ki se dodajo kasneje. Ta rešitev se imenuje metoda zaporednega izpopolnjevanja. Omogoča skupini programerjev, da delajo na projektu, pri čemer vsak rešuje svojo podnalogo.
V procesu reševanja problema lahko vsak pomožni algoritem po potrebi razdelimo na manjše pomožne algoritme.
Pokliče se ukaz za izvedbo pomožnega algoritma izziv in je zapisan v telesu glavnega algoritma.
Isti algoritem lahko štejemo za glavnega in pomožnega glede na druge algoritme. V algoritemskem jeziku najprej napišemo glavni algoritem, po vrsti pa zapišemo pomožne.
Naloga 1:
Robot je v zgornjem levem kotu polja. Ni sten in poslikanih celic. Ustvarite algoritem s pomočjo pomožnega, ki na eno vodoravno črto nariše štiri križce. Končni položaj robota je lahko poljuben.
rešitev
Analiza na tabli:
Naloga 2. Robot je v zgornjem levem kotu polja. Ni sten in poslikanih celic. Ustvarite algoritem, ki v šahovnici pobarva kvadrat 8 x 8. Končni položaj robota je lahko poljuben.
Praktično delo na osebnem računalniku "Reševanje problema s pomočjo pomožnih algoritmov"
Problem 1 . Robot je v spodnjem levem kotu polja. Ni sten in poslikanih celic. Ustvarite algoritem, ki pobarva 6 navpičnih črt enake dolžine v 6 celic. Končni položaj robota je lahko poljuben.
Problem 2 . S pomočjo pomožnih sestavite algoritem za barvanje celic, ki tvorijo število 1212.
Domača naloga
: Izmislite si algoritem, ki nariše naslednjo sliko: Za rešitev težave uporabite dva pomožna algoritma.
In danes bomo govorili o ciklih. Ugotovimo, kaj je cikel in kako našega robota naučiti izvajati ciklične algoritme.
Torej, kaj je cikel? Predstavljajte si, da smo pri pouku športne vzgoje in se soočimo z nalogo naredite 7 počepov. To nalogo lahko zapišemo kot linearni algoritem in potem bo videti nekako takole:
naredi počep
naredi počep
naredi počep
naredi počep
naredi počep
naredi počep
naredi počep
To pomeni, da smo ukaz "naredi počep" ponovili 7-krat. Ali je smiselno napisati 7 enakih ukazov? Morda bi bilo lažje dati ukaz naredite 7 počepov? Seveda je bolj preprosto in pravilno. To je cikel. Sami se lahko spomnite primerov ciklov iz življenja - teh je kar nekaj.
torej linearni algoritem, kjer se isti ukazi ponavljajo lahko uredimo kot ciklični algoritem- kot to:
ponovite 7-krat
naredi počep
konec cikla
Tako smo oblikovali cikel v jeziku, ki smo ga izumili. Robot performer ima tudi možnost snemanja ciklov. Še več, cikli so različni. Možnost, ki smo si jo pravkar ogledali, se imenuje zanka s števcem oz zanka s parametrom.
Zanka s števcem uporablja se, ko je vnaprej znano, koliko ponovitev je treba narediti. V zgornjem primeru s počepi je točno tako.
Če želite napisati zanko s števcem za izvajalca, morate poznati njeno sintakso. In tak je:
nc<število ponovitev> krat
<команда 1>
<команда 2>
…
<команда n>
Tu moramo določiti število ponovitev (number) in ukaze, ki se bodo ponavljali. Pokličejo se ukazi, ki se ponavljajo v zanki telo zanke.
Poglejmo si to s primerom.
Sprva je bil robot v zgornji levi celici.
Najprej rešimo nalogo linearno. V tem primeru bomo prebarvali trenutno celico in premaknili 1 celico v desno in program bo izgledal takole:
uporabite robota
alg
začetek
prebarvati
prav
prebarvati
prav
prebarvati
prav
prebarvati
prav
prebarvati
prav
prebarvati
prav
prebarvati
prav
Kot lahko vidite, se ukaza za barvanje in desno ponovita 7-krat. Zdaj pa na novo napišimo program z uporabo zanke. Mimogrede, če želite vstaviti cikel v svoj program, lahko greste v meni Vstavi izberite predmet ck-ck-ck ali pritisnite eno od kombinacij tipk Esc, P(ruska črka R) oz Esc, H(latinska črka H). Poleg tega tipke je treba pritisniti zaporedno- najprej Esc, spustite in šele nato P ali H.
Torej, tukaj je naš program zanke bo videti takole:
uporabite robota
nts 7-krat
prebarvati
prav
Če ga poženemo, bomo videli, da bo rezultat enak - 7 zapolnjenih celic. Je pa program postal krajši in z algoritemskega vidika veliko bolj inteligenten!
Za ogrevanje in utrjevanje predlagam, da sami napišete program za robota, ki bo narisal kvadrat s stranico 7 celic. Seveda z uporabo zanke. Čakam na rešitev v komentarjih.
Pri reševanju naloge 19 Državne akademske informatike iz računalništva z robotom uporaba zanke s števcem ne bo delovala. Ker je polje tam praviloma neskončno in stene nimajo določene dolžine. Zato ne bomo mogli določiti števila ponovitev zanke s števcem. Ampak ni pomembno - pomagalo nam bo zanka s pogojem.
Vrnimo se k športni vzgoji in spremenimo problem. Navsezadnje nekdo morda ne zmore narediti 7 počepov, drugi pa 27. Ali je to mogoče upoštevati pri ustvarjanju cikla? Vsekakor. Samo zdaj ne bomo uporabili števca (število ponovitev), ampak pogoj. Na primer, preden se naveličate, naredite počepe. V tem primeru oseba ne bo naredila točno določenega števila počepov, ampak bo počepala, dokler se ne utrudi. In naš cikel v abstraktnem jeziku bo imel naslednjo obliko:
adijo ne utrujen
naredi počep
konec cikla
Besede v našem primeru niso utrujene - to je pogoj. Ko je res, se zanka izvede. Če je false (utrujen), telo zanke ne bo izvedeno. Robot izvajalec ima več pogojev
brezplačno na vrhu
prosto od spodaj
ostal svoboden
prosto na desni
stena zgoraj
stena spodaj
levo steno
stena na desni
Toda v pogojih naloge 19 GIA so navedene le prve 4. Zato jih bomo uporabili samo.
Zdaj pa rešimo naslednjo nalogo za robota - narišite navpično črto od leve proti desni meji polja s pomočjo zanke s pogojem. Na začetku se robot nahaja v zgornjem levem kotu.
Najprej oblikujmo verbalni algoritem – to pomeni, da z besedami opišemo, kaj mora robot narediti. Ta algoritem bo zvenel nekako takole:
« Medtem ko je na desni še prosti prostor, naredite korak v desno in pobarvajte celico »
Posledično bo robot tekel skozi vse celice na desni in jih barval, dokler na desni ni stena.
Izvorna koda našega programa za robota bo približno takšna:
uporabite robota
nts pravica je za zdaj brezplačna
prav
prebarvati
Kot rezultat izvajanja tega programa bomo videli naslednjo sliko:
Metodični priročnik za učitelje računalništva. Evgrafova Olga Vladimirovna, gimnazija št. 8 Kolomna, 2013 V procesu študija predmeta "Informatika in IKT" se študenti ne učijo le informacijske kulture (kulture kompetentnega komuniciranja z računalnikom, priprave dokumentov, elektronske komunikacije), ampak obvladajo tudi osnove programiranja. Eden najuspešnejših domačih razvojev na tem področju je programski sistem Kumir. V njej lahko študentje pridobijo praktične veščine pri ustvarjanju in odpravljanju napak v algoritmu, pri delu z izvajalcema Robot in Draftsman. Prednosti tega sistema so možnost pisanja ukazov v ruskem jeziku v šolskem algoritmičnem jeziku in jasnost nastalega rezultata izvajanja algoritma. Sistem KuMir je bil razvit na podlagi potreb ruskega izobraževalnega sistema. Njegove značilnosti: prosto distribuiran; večplatformski; ničelne zahteve po virih; podpira Ruska akademija znanosti; Med razvijalci so avtorji številnih učbenikov in učnih pripomočkov s področja računalništva; brezplačno programsko lupino Idol lahko najdete na spletni strani http://www.niisi.ru/kumir/. Žal se avtorji novih učbenikov računalništva tem izvajalcem posvečajo premalo ali jih celo ignorirajo. Hkrati so razvijalci GIA in -1-Robot obstaja v določenem okolju (pravokotno karirasto polje). Med nekaterimi celicami polja so lahko stene. Nekatere celice so lahko prebarvane (slika 3.11).
Robot zaseda točno eno celico polja.
Z ukazi gor, dol, levo in desno se robot premakne v sosednjo celico v označeni smeri. Če je na poti zid, pride do napake - prikaže se sporočilo, da naslednjega ukaza ni mogoče izvesti.
Na ukaz za slikanje robot pobarva celico, v kateri stoji. Če je bila celica že prebarvana, jo bomo ponovno prebarvali, vendar ne bo vidnih sprememb.
Robot lahko izvaja samo pravilno zapisane ukaze. Če namesto ukaza navzdol zapišete navzdol, robot tega vnosa ne bo razumel in bo takoj javil napako.
O
napake: 1 skladenjska; 2. logično
Opisi situacij so shranjeni v tekstovnih datotekah v posebnem formatu (.fil format).
Trenutno- okolje, v katerem se robot trenutno nahaja (vključno s podatki o položaju robota).
Začetek- okolje, v katerega je robot prisiljen biti postavljen na začetku izvajanja programa z uporabo robota.
Postopek delovanja:
2. Določite izvajalca:
Meni Vstavi →Uporabi robota
3. Napiši algoritem za rešitev problema.
4. Izvedite algoritem (Meni Izvedba → Zaženi neprekinjeno /F9)
Sistem ukazov izvajalca robota v sistemu KUMIR
Ekipa |
Akcija |
gor |
Robot se premakne za 1 polje navzgor |
navzdol |
Robot se premakne za 1 polje navzdol |
levo |
Robot se premakne za 1 polje v levo |
prav |
Robot se premakne za 1 polje v desno |
prebarvati |
Robot pobarva celico, v kateri je |
prosto na desni |
Robot preveri izvajanje ustreznih preprosto pogoji |
ostal svoboden |
↓ |
brezplačno na vrhu |
↓ |
prosto od spodaj |
↓ |
celica je prebarvana |
↓ |
kletka je čista |
↓ |
Cikel– organizacija ponavljanja dejanj, medtem ko je določen pogoj resničen .
Telo zanke je nabor ponovljivih dejanj.
Pogoj - logični izraz (preprost ali zapleten (sestavljen))
Vrste ciklov:
1.Zanka "Ponovi n-krat" 2. Zanka "Dokler"
nts n-krat nts za zdaj
. . Telo zanke. . Telo zanke
kts kts
primer: nts za zdaj prosto na desni
Splošni pogled na cikel "Ponovi n-krat":
PONOVI n-KRAT
KONEC
kts
Splošni pogled na cikel "medtem":
NAREDI TO ADIJO
KONEC
Sestavljeni pogoji sestavljen iz enega ali več preprostih pogojev in funkcijskih besed IN, ALI, NE.
Naj A - brezplačno na vrhu, IN - prosto na desni, potem sestavljeni pogoj A IN B- prosto zgoraj in prosto desno.
primer: Naj bo A obarvana celica (preprost pogoj).
p Preverjanje sestavljenega pogoja NE A:
a) A - izpolnjeno, NE A (NI osenčeno) - ni izpolnjeno.
b) A - ni dokončano, NE A (NI osenčeno) - dokončano.
Razvejanje - oblika organizacije dejanj, pri kateri se glede na izpolnjevanje ali neizpolnjevanje nekega pogoja izvaja eno ali drugo zaporedje dejanj.
Splošni pogled na ukaz IF:
ČE TO DRUGAČE
KONEC
V jeziku ICON:
Popolna razvejanost: Nepopolna razvejanost:
če to
če to
drugače
vse vse
Pomožni algoritem- algoritem, ki rešuje neko podnalogo glavnega problema.
V sistemu KUMIR so pomožni algoritmi zapisani na koncu glavnega programa (za servisno besedo con), so klicane za izvedbo v glavnem programu po imenu.
IN ankete in naloge
1. Podajte vse algoritme iz treh ukazov, ki bodo premaknili robota iz prvotnega položaja v celico B.
Ali obstaja algoritem za to nalogo, pri katerem robot naredi:
a) dva koraka; b) štiri korake; c) pet korakov; d) sedem korakov?
7. Znana sta dva algoritma pomožnega robota
Narišite, kaj se bo zgodilo, ko bo robot izvedel naslednje osnovne algoritme:
A) nts 5-krat vzorec_1 prav; prav; |
b) nts 7-krat vzorec_2 prav; prav |
V) prav; prav; prav gor; gor prav; prav; prav navzdol; navzdol |
G) prav; prav prav; prav |
8. Ustvarite algoritme, pod nadzorom katerih bo robot prebarval označene celice:
10. Znano je, da je nekje desno od robota zapolnjena celica.
Z prepustite algoritmu, pod nadzorom katerega bo robot pobarval število celic do pobarvane celice in se vrnil v prvotni položaj.
11. Znano je, da se Robot nahaja poleg levega vhoda v vodoravni hodnik.
12. Znano je, da je robot nekje v vodoravnem hodniku. Nobena celica hodnika ni prebarvana.
Ustvarite algoritem, pod nadzorom katerega bo robot pobarval vse celice tega koridorja in se vrnil v prvotni položaj.
Z pusti algoritem, ki barva celice:
a) pod vsako osenčeno celico;
b) nad in pod vsako osenčeno celico.
nts za zdaj celica je prebarvana
ČE prosto na desni TO
prav; prebarvati
Za
ts
15. Napišite program, s katerim lahko robot pride do celice B v vseh treh labirintih.
Z
Dosežki GIA
dano
koridor2. Robot se nahaja v zgornji celici ozkega navpičnega hodnika. Širina koridorja je ena celica, dolžina hodnika je lahko poljubna.
Napišite algoritem za robota, ki pobarva vse celice znotraj hodnika in robota vrne v prvotni položaj. Na primer, za zgornjo sliko mora robot prebarvati naslednje celice (glej sliko):
dano
Napišite algoritem za robota, ki pobarva vse celice, ki se nahajajo nad steno in ob njej, ne glede na velikost stene in začetni položaj robota. Na primer, za zgornjo sliko mora robot prebarvati naslednje celice:
Končni položaj robota je lahko poljuben. Pri izvajanju algoritma se robot ne sme uničiti.
Napišite algoritem za robota, ki pobarva vse celice, ki se nahajajo levo od navpične stene in nad vodoravno steno ter ob njih. Robot mora barvati le celice, ki izpolnjujejo ta pogoj. Na primer, za zgornjo sliko mora robot pobarvati naslednje celice (glej sliko).
n Napišite algoritem za robota, ki barva celice ob steni, zgoraj in spodaj, začenši z leve in vsako drugo. Robot mora barvati le celice, ki izpolnjujejo ta pogoj. Na primer, za dano sliko a) Robot mora prebarvati naslednje celice (glej sliko b).
Končni položaj robota je lahko poljuben. Algoritem mora rešiti problem za poljubno velikost stene in kateri koli sprejemljiv začetni položaj robota.
R | |||||
B
1102_GIA2011
Neskončno polje ima dve vodoravni steni. Dolžina sten ni znana. Razdalja med stenama ni znana. Robot se nahaja nad spodnjo steno v kletki na njenem levem robu. Napišite algoritem za robota, ki pobarva vse celice, ki se nahajajo nad spodnjo steno in pod zgornjo steno ter mejijo nanje. Robot mora barvati le celice, ki izpolnjujejo ta pogoj. Na primer, za zgornjo sliko mora robot pobarvati naslednje celice (glej sliko):
Končna lokacija robota je lahko poljubna. Algoritem mora rešiti problem za poljubno velikost polja in poljubno dopustno razporeditev sten znotraj pravokotnega polja. Pri izvajanju algoritma se robot ne sme uničiti.
IN
1103_GIA_2011
Napišite algoritem za robota, ki pobarva vse celice nad vodoravno steno in desno od navpične stene ter ob njih. Robot mora barvati le celice, ki izpolnjujejo ta pogoj. Na primer, za zgornjo sliko mora robot pobarvati naslednje celice (glej sliko).