Cum să faci o buclă într-un idol. Robot interpret. Cicluri. Bucla cu postcondiție
Algoritm pentru desenarea unei spirale:
folosește Draftsman
alg
început
. trece la un punct(3,3)
. coborâți stiloul
. întoarce (1); întoarce (3); întoarce (5); întoarce (7); întoarce (9)
. ridică stiloul
con
alg turn(arg lucru)
început
. deplasare prin vector(a, 0)
. deplasare prin vector(0, -a)
. deplasare prin vector(-a-1,0)
. deplasare prin vector(0, a+1)
con
Acordați atenție blocului de comandă:
Bobina (1); întoarce (3); întoarce (5); întoarce (7); întoarce (9)
Algoritmul auxiliar „turn(arg thing a)” este numit de 5 ori, dar nu poate fi apelat în buclă „N ori”, deoarece de fiecare dată este apelat cu valori diferite ale argumentului.
Dar puteți observa că valorile argumentului se schimbă de la 1 la 9, crescând de fiecare dată cu 2. Aceasta înseamnă că ne poate ajuta buclă cu contor. Acest tip de buclă se mai numește și buclă „for”.
Bucla cu contor- o buclă în care o anumită variabilă își schimbă valoarea de la o valoare inițială dată la valoarea finală cu un anumit pas, iar pentru fiecare valoare a acestei variabile corpul buclei este executat o dată.
De obicei, această buclă este utilizată atunci când trebuie să iterați unele valori și să efectuați unele acțiuni pentru fiecare dintre ele.
Vedere generală a unui ciclu cu contor:
nc pentru<счетчик>din<нач. знач.>inainte de<кон. знач.>[Etapa<знач.>]
<тело цикла (последовательность команд)>
kts
Nu este necesar să se precizeze pasul dacă nu este specificat, se consideră egal cu unul.
Acum putem rescrie algoritmul „spiral” astfel:
folosește Draftsman
alg
început
. trece la un punct(3,3)
. coborâți stiloul
. dimensiune intreaga
. nts pentru dimensiunea de la 1 la 9 pasul 2
. . bobină (dimensiune)
. kts
. ridică stiloul
con
alg turn(arg lucru)
început
. deplasare prin vector(a, 0)
. deplasare prin vector(0, -a)
. deplasare prin vector(-a-1,0)
. deplasare prin vector(0, a+1)
con
În acest exemplu, variabila contor „dimensiune” va primi valorile: 1, 3, 5, 7, 9. I.e. Bucla va fi executată de 5 ori. Pentru fiecare valoare a variabilei „size”, corpul buclei va fi executat o dată în exemplul nostru, acesta este un apel la algoritmul auxiliar „turn(arg thing)”.
Înainte de a utiliza o variabilă pentru prima dată, trebuie să o descrieți, adică să indicați ce tip este. Acest lucru se face în programul nostru în linia „dimensiune întreg”, adică indicăm că vom folosi variabila „dimensiune” pentru a stoca numere întregi și, prin urmare, trebuie să alocam memorie pentru aceasta. Vom vorbi mai multe despre variabile puțin mai târziu.
Diagrama bloc a unui astfel de algoritm arată astfel:
Să ne uităm la un alt exemplu:
Să ne amintim mai întâi și să scriem un algoritm auxiliar care va desena un pătrat în punctul (x, y). Pentru varietate, vom folosi comanda pentru desen deplasare prin vector(în exemplele anterioare au fost mutate la un punct).
Algoritmul ar putea fi astfel:
alg pătrat (arg lucruri x, y, latura)
început
. trece la un punct(X y)
. deplasare prin vector(-lateral/2, lateral/2)
. coborâți stiloul
. deplasare prin vector(partea, 0)
. deplasare prin vector(0, -partea)
. deplasare prin vector(-partea, 0)
. deplasare prin vector(0, lateral)
. ridică stiloul
con
Folosind acest algoritm auxiliar, vom desena următoarea imagine:
Pentru a face acest lucru, vom folosi bucla „for”. Studiați programul exemplu:
folosește Draftsman
alg figura 1
început
. întreg z
. nc pentru z de la 2 la 10 pasul 2
. . pătrat(0, 0, z)
. kts
con
alg pătrat (arg lucruri x, y, latura)
început
. trece la un punct(X y)
. deplasare prin vector(-lateral/2, lateral/2)
. coborâți stiloul
. deplasare prin vector(partea, 0)
. deplasare prin vector(0, -partea)
. deplasare prin vector(-partea, 0)
. deplasare prin vector(0, lateral)
. ridică stiloul
con
În acest exemplu, variabila „z” va primi valorile: 2, 4, 6, 8, 10. I.e. Bucla va fi executată de 5 ori. Pentru fiecare valoare a lui „z” corpul buclei va fi executat o dată, în exemplul nostru acesta este un apel la pătratul algoritmului auxiliar.
Înainte de a utiliza o variabilă pentru prima dată, trebuie să o descrieți, adică să indicați ce tip este. Acest lucru se face în programul nostru în linia „int z”, adică indicăm că vom folosi variabila „z” pentru a stoca numere întregi și, prin urmare, trebuie să alocam memorie pentru aceasta. Vom vorbi mai multe despre variabile puțin mai târziu.
După cum ați observat, algoritmul a folosit nu numai numere, ci și expresii algebrice, formule precum „-side/2”. În informatică aceste expresii se numesc aritmetic. Regulile limbajului permit, atunci când scrieți algoritmi, oriunde puteți scrie un număr, puteți scrie și o expresie aritmetică arbitrară.
Bucle și ramuri imbricate în sistemul KUMIR
Unul dintre conceptele fundamentale în informatică este conceptul de algoritm. Originea termenului „algoritm” în sine este legată de matematică. Acest cuvânt provine de la Algorithmi - ortografia latină a numelui lui Muhammad al-Khwarizmi (787 - 850), un matematician remarcabil al Orientului medieval. În cartea sa „Despre numărarea indiană”, el a formulat regulile de scriere a numerelor naturale folosind cifre arabe și regulile de operare asupra lor într-o coloană.
Ulterior, un algoritm a început să fie numit prescripție precisă care definește o succesiune de acțiuni care asigură obținerea rezultatului cerut din datele inițiale.
Algoritmul poate fi proiectat pentru a fi executat de un om sau de un dispozitiv automat. Crearea unui algoritm, chiar și a celui mai simplu, este un proces creativ. Este disponibil exclusiv ființelor vii și multă vreme s-a crezut că numai oamenilor. În secolul al XII-lea A fost realizată o traducere în latină a tratatului său de matematică, din care europenii au aflat despre sistemul de numere poziționale zecimale și regulile de aritmetică pentru numerele cu mai multe cifre. Aceste reguli se numeau algoritmi la acea vreme.
Definiția unui algoritm dată mai sus nu poate fi considerată strictă - nu este complet clar ce este o „rețetă exactă” sau „o succesiune de acțiuni care asigură rezultatul cerut”. Prin urmare, mai multe proprietăți generale ale algoritmilor sunt de obicei formulate pentru a distinge algoritmii de alte instrucțiuni.
Aceste proprietăți sunt:
Discretenie (discontinuitate, separație) – algoritmul trebuie să reprezinte procesul de rezolvare a unei probleme ca o execuție secvențială a pașilor simpli (sau definiți anterior). Fiecare acțiune furnizată de algoritm este executată numai după ce cea anterioară a finalizat execuția.
Certitudine – fiecare regulă a algoritmului trebuie să fie clară, lipsită de ambiguitate și să nu lase loc arbitrarului. Datorită acestei proprietăți, execuția algoritmului este de natură mecanică și nu necesită instrucțiuni sau informații suplimentare despre problema rezolvată.
Eficienţă (finititudine) – algoritmul trebuie să conducă la rezolvarea problemei într-un număr finit de pași.
Caracter de masă – un algoritm de rezolvare a unei probleme este dezvoltat într-o formă generală, adică ar trebui să fie aplicabil pentru o anumită clasă de probleme care diferă doar în datele inițiale. În acest caz, datele inițiale pot fi selectate dintr-o anumită zonă, care se numește zona de aplicabilitate a algoritmului.
Modalități de a scrie algoritmi
O mare varietate de mijloace sunt folosite pentru a scrie algoritmi. Alegerea instrumentului este determinată de tipul de algoritm care se execută.
Se disting următoarele moduri principale de scriere a algoritmilor:
- verbal , când algoritmul este descris în limbaj uman (natural). Limbile naturale sunt limbi naționale (rusă, engleză, germană etc.);
- simbolic când algoritmul este descris folosind un set de simboluri și este un program (programele sunt scrise folosind limbaje de programare);
- grafic , când algoritmul este descris folosind un set de imagini grafice (organigrama).
Metodele de înregistrare frecvent acceptate suntînregistrare grafică folosind diagrame bloc șinotație simbolică folosind un limbaj algoritmic – un program.
Cu metoda de înregistrare grafică, sunt întocmite diagrame de flux, pe care sunt desemnate diferite părți ale algoritmului cu ajutorul simbolurilor (figuri geometrice). Elementele diagramelor bloc sunt prezentate în figură.
Sistem de programare KUMIR
Când stăpânim subiectul algoritmilor, vom folosi sistemul de programare KUMIR.
KuMir (Set of Educational WORLDS) este un sistem de programare conceput pentru a sprijini cursurile inițiale de informatică și programare din licee și licee.
Sistemul KuMir folosește un limbaj algoritmic școlar cu vocabular rusesc și executori încorporați Robot și Draftsman etc.
La intrarea într-un program, KuMir efectuează un control complet constant asupra corectitudinii acestuia, raportând în câmpurile programului toate erorile detectate.
Când executați un program în modul pas cu pas, KuMir afișează rezultatele operațiunilor de atribuire și valorile expresiilor logice din câmpuri. Acest lucru vă permite să accelerați procesul de stăpânire a elementelor de bază ale programării.
Robot de artist grafic
Robotul executor grafic vă permite să stăpâniți elementele de bază ale programării și să înțelegeți funcționarea structurilor algoritmice de bază.
Artist graficeste un obiect de control. A sustu și cu mine îi vom călăuzi.
Artistul robot este în unelemediu de pornire - un câmp dreptunghiular, împărțit în celule, între care pot exista pereți.
Robotul se poate mișca pe câmp, ocolind pereții și pictând celule. Robotul nu poate trece printr-un perete, dar poate verifica dacă există un perete lângă el. Robotul nu poate depăși dreptunghiul care definește câmpul.
R
botul poate executa comenzi
: sus, jos, dreapta, stânga, pictează.
Robotul poate verifica condițiile : liber deasupra, liber pe jos, liber pe dreapta, liber pe stânga, adăugarea unei particule Nu inversează starea. Nu liber de sus, nu liber de jos, nu liber de dreapta, nu liber de stânga.
Structuri algoritmice de bază
Există trei structuri algoritmice de bază (construcții)-liniar (urmează), ramificat Și ciclu, din care se poate construi orice algoritm.Fiecare structură algoritmică are un punct de intrare și un punct de ieșire.
Vom scrie algoritmii atât în limba engleză școlară, cât și sub formă de diagrame bloc.
Structura liniară
Structura liniară este cea mai simplă organizare a algoritmilor - comenzile sunt executate secvenţial una după alta
Exemplu:
Structura ciclică (ciclu)
Structura ciclică (ciclu) asigură executarea repetată a acelorași comenzi. Există mai multe tipuri de structuri ciclice.
Orice structură ciclică constă din două părți -antetȘi corpul ciclului.
Se apelează setul de comenzi repetate în timpul executării unei buclecorpul ciclului.
Titlu determină numărul de repetări ale corpului buclei.
Ciclu pentru numărul de repetări (ori)
nc N o singura data
<команда>
kts
P exemplu:
utilizare
Robot
alg
coloană
început
.
nc
5
o singura data
. . vopsea peste
. . sus
.
kts
con
Buclă cu precondiție (deocamdată)
(notație în limbaj algoritmic)
nc Pa <условие>
<команда>
La ts
Exemplu:
utilizare
Robot
alg
Linia
început
nc
Pa
liber pe deasupra
vopsea peste
sus
kts
con
Buclă cu postcondiție (la)
(notație în limbaj algoritmic)
n ts
<команда>
kts_pri <условие>
Exemplu:
utilizare
Robot
alg
Linia
început
nc
vopsea peste; sus
kts_pri lăsat liber
con
Structura de ramificație.
Structura de ramificație. Rezolvarea unor probleme necesită acțiuni diferite în funcție de îndeplinirea anumitor condiții. În astfel de cazuri, vorbim despre ramificarea algoritmului.
Pentru a implementa structura „ramificație”, sunt utilizate două comenzi structurate ale școlii SL - dacă și alegere, fiecare dintre acestea putând fi completă și incompletă.
În organigrame și școală SL<условие>este o expresie logică al cărei rezultat poate fi una dintre cele două valori posibile -Adevărat sau minciună. În școala SL aceste valori sunt scrise ca da și nu. Limbajele de programare folosesc adesea valoriAdevăratȘi Fals. Computerul stochează aceste valori ca 1 și 0.
Ramificare completă
(notație în limbaj algoritmic)
e dacă
<условие>
. .
Acea
<команда1>
. .
in caz contrar
<команда2>
Toate
Exemplu:
utilizare
Robot
alg
ramură_plină
început
.
Dacă
liber deasupra
. .
Acea
sus
. .
in caz contrar
jos
.
Toate
con
Ramificare incompletă
(notație în limbaj algoritmic)
e dacă
<условие>
. .
Acea
<команда1>
Toate
Exemplu:
utilizare
Robot
alg
ramură_incompletă
început
.
Dacă
liber deasupra
. .
Acea
sus
.
Toate
con
Algoritm auxiliar (procedură)
Un algoritm care rezolvă o sarcină secundară din sarcina principală și care, de regulă, este efectuat de mai multe ori, se numește algoritm auxiliar.
Un algoritm auxiliar scris într-un limbaj de programare se numește subrutină sau procedură.
Algoritmul auxiliar este apelat din programul principal prin numele său. Algoritmul auxiliar este scris după algoritmul principal. Algoritmul auxiliar trebuie să aibă un nume.
utilizare
Robot
alg
început
jos
pătrat
jos
jos
con
alg pătrat
început
vopsea peste
dreapta
vopsea peste
jos
vopsea peste
stânga
vopsea peste
con
Bucle și ramuri imbricate
Când rezolvați unele probleme cu un robot, este necesar să folosiți bucle sau ramuri imbricate.
C Se spune că o buclă este imbricată dacă este plasată în interiorul unei alte bucle.
Să ne uităm la o buclă imbricată folosind bucla exemplu pentru moment.
Știm că o buclă constă dintr-un antet de buclă, care specifică de câte ori va fi repetat corpul buclei.
Corpul buclei este partea din bucla care se repetă atunci când bucla este executată.
Corpul unei bucle poate fi o comandă, mai multe comenzi sau o altă buclă sau ramură.
Când corpul unei bucle este o altă buclă sau ramură, acestea se numesc imbricate.
Buclă imbricată
La prima trecere, bucla exterioară o apelează pe cea interioară, care se execută până se termină, după care controlul este transferat corpului buclei exterioare. La a doua trecere, bucla exterioară apelează din nou bucla interioară. Și așa mai departe până când bucla exterioară este finalizată.
Ramura imbricata
Să luăm în considerare rezolvarea unei probleme cu ramuri și bucle imbricate:
Problema 1 Robotul se află pe un perete care are găuri în el. Mișcându-se de-a lungul peretelui spre dreapta, robotul trebuie să picteze peste toate celulele unde există găuri.
utilizare Robot alg început. nc Pa pe dreapta Cu liber
nc Pa liber de jos
.vopsea peste;dreapta
. . kts
. . dreapta
. kts con CU
Să lăsăm algoritmul pentru rezolvarea problemei cu o buclă exterioară pentru moment și o buclă imbricată pentru moment. R Să rezolvăm aceeași problemă folosind o buclă while exterioară și o ramificare imbricată.
Să rezolvăm aceeași problemă folosind o buclă exterioară at și o buclă imbricată while.
Introducere în programul Idol și stăpânirea elementelor de bază ale programării.
În cadrul acestuia, studenții pot dobândi abilități practice în crearea și depanarea unui algoritm, lucrând cu interpreți precum Robot, Draftsman, Aquarius, Grasshopper, Turtle.
Când studiezi una dintre cele mai dificile secțiuni ale informaticii, „algoritmizarea și programarea”.
Scopul dezvoltării :
Descarca:
Previzualizare:
Dezvoltarea metodologică în informatică.
Subiect: „Performant robot în programul KuMir în lecțiile de informatică”
profesor de tehnologie „Informatică și TIC”
Notă explicativă
Scop de dezvoltare: studiați posibilitățile de programare folosind exemplul unui anumit robot performer folosind mediul KUMIR; oferi abilități practice în lucrul cu un interpret.
Dezvoltare metodologicăcompilat pentru lecțiile de informaticăExersează pe computer: lucrul cu executor de algoritm educațional; elaborarea algoritmilor liniari, ramificati si ciclici pentru controlul executorului; elaborarea de algoritmi cu o structură complexă; utilizarea algoritmilor auxiliari (proceduri, subrutine).
Elevii ar trebui să știe:
- ce este un interpret; SKI Robot, mediul interpretului Robot;
- ce este un algoritm;care sunt principalele proprietăți ale algoritmului;
- modalități de scriere a algoritmilor: organigrame, limbaj algoritmic educațional;construcții algoritmice de bază: urmărire, ramificare, buclă; structurilor
- algoritmi; ⇒ atribuirea algoritmilor auxiliari; tehnologii pentru construirea de algoritmi complecși:
Elevii ar trebui să fie capabili să:
- să înțeleagă descrierile algoritmilor în limbajul algoritmic educațional;
- efectuați o urmărire a algoritmului pentru un interpret cunoscut;
- creați algoritmi de control liniar, ramificat și ciclic pentru performerul robotului; evidențiați subsarcinile; definiți și utilizați algoritmi auxiliari.
Lecția 1 (2 ore) Lecția 1.
Robot interpret.Sistem de comandă a executorului.
Planul lecției.
- Descrierea SKI-ului interpretului, a mediului interpretului.
2. Analiza algoritmilor tipici Robot.
În timpul orelor.
Să ne uităm la descrierea artistului.
Mediul artistului: Performer Robotul poate naviga printr-un labirint desenat pe un plan împărțit în celule.
Robot de schi : comenzi simple: sus, jos, stânga, dreapta, pictură.
Comenzi logice: (verificări condiții)
sus liber jos liber
stânga liberă dreapta liberă.
Conective logice: AND, NOT, SAU:
Exemplu: (Nu este lăsat liber) sau (Nu este liber)
Comanda de filială: comanda bucla:
Dacă condiția atunci nicio condiție încă
O serie de comenzi o serie de comenzi
asta e tot kts
(În CMM-urile din 2009, comenzile robotului erau diferite de cele familiare copiilor, ceea ce a dus la confuzie :)
Comanda de filială: comanda bucla:
Dacă condiția atunci nts deocamdata conditia de facut
O serie de comenzi o serie de comenzi
sfârşitul sfârşitului
Vedere generală a ferestrei programului Idol. Mediul grafic al robotului:
În CMM-urile versiunii demo 2010, formatul de comandă a fost schimbat în obișnuit
Procedura pentru crearea unui algoritm:
1.Echipe Instrumente - Editați mediul de porniretrageți pereți pe câmpul Robot și setați robotul în poziția inițială.
2.Echipe Robot - Schimbați mediul de porniremenține noul mediu.
3.Echipe Inserare - Utilizați robotindica artistul.
4. În fereastra documentului, notați algoritmul folosind meniul Introduce.
5. Utilizarea comenzilor de execuție – rulați algoritmul continuu (sau pas cu pas).
6. Luați în considerare rezultatul executării algoritmului și, dacă este necesar, depanați-l.
Lecția 1 (2 ore) Lecția 2.
Munca practica "Compilarea algoritmilor liniari”.
Sarcini: 1. Robot într-un punct arbitrar al câmpului. Pictați celula deasupra, dedesubt și în dreapta poziției inițiale.
- Robot într-un punct arbitrar al câmpului. Mutați Robotul cu 4 pătrate spre dreapta, colorându-le.
- Creați un nou mediu de pornire desenând pe teren un pătrat cu o latură de 4 pătrate. Salvați setarea ca cea de pornire.
- Creați un nou mediu de pornire desenând un coridor pe teren cu pasaje în pereți. Salvați mediul ca obst2.fil. Schimbați mediul de pornire în cel nou creat.
Lecția 2 (2 ore) Lecția 1.
Subiect : Ramificarea si rafinarea secventiala a algoritmului.
Analiza sarcinilor CMM folosind performerul Robot.
utilizați robotul
alg Kim 2009
început
dacă nu liber de jos
apoi la dreapta
Toate
dacă nu liber de jos
apoi la dreapta
Toate
dacă nu liber de jos
apoi la dreapta
Toate
con
utilizați robotul
alg Kim 2010
început
dacă nu liber de jos
apoi la dreapta
Toate
dacă nu liber de jos
apoi la dreapta
Toate
dacă nu liber de jos
apoi la dreapta
Toate
con
etc. sclav. nr. 14. Compilarea și depanarea algoritmilor de ramificare
Sarcini. Vezi atașament.
Lecția 3. Algoritmi ciclici. Lecția 1-2
Ţintă: dezvăluie esența conceptului de ciclu în algoritmi, arată formele de înregistrare a ciclurilor în algoritmi, oferă abilități în crearea și scrierea algoritmilor ciclici.
etc. sclav. nr. 15. Compilarea și depanarea algoritmilor ciclici
1.Creați un algoritm care pictează toate celulele interne adiacente peretelui.
utilizați robotul
alg
început
nts dreptul este gratuit pentru moment
vopsea peste; dreapta
kts
nts partea de jos este gratuită pentru moment
vopsea peste; jos
kts
nts nu sunt încă liberi de jos
vopsea peste; stânga
kts
con
2.Creează un algoritm care pictează toate celulele dintre Robot și perete. Distanța până la zid este necunoscută.
utilizați robotul
alg
început
nts dreptul este gratuit pentru moment
dreapta; vopsea peste
kts
con
3.Creează un algoritm care pictează toate celulele situate între doi pereți.
utilizați robotul
alg uch3
început
nts încă (nu este liber de sus) sau (nu este liber de jos)
dreapta
dacă (nu este liber de sus) și (nu este liber de jos)
Acea
vopsea peste
Toate
kts
con
4.Creați un algoritm care pictează toate celulele din jurul unui perete dreptunghiular.
alg uch4
început
vopsea peste; sus
nts nu este încă liber pe dreapta
vopsea peste; sus;
kts
vopsea peste;
nts nu sunt încă liberi de jos
vopsea peste;dreapta;
kts
vopsea peste;jos
nts nu este încă liber în stânga
vopsea peste;jos;
kts
vopsea peste;stânga
nts nu este în top încă gratuit
vopsea peste; stânga;
kts
con
utilizați robotul
alg uch5
început
dreapta
nts nu sunt încă liberi de jos
vopsea peste; dreapta
kts
vopsea peste; jos
nts stânga este liberă deocamdată
vopsea peste; stânga
kts
nts nu este încă liber în stânga
vopsea peste; jos
kts
vopsea peste;stanga;vopseste peste; sus;
nts gratuit pe partea de sus pentru moment
vopsea peste; sus
kts
nts nu este în top încă gratuit
vopsea peste; stânga
kts
con
Lecția 4 Lecția 1
Algoritmi auxiliari.
Ţintă: introducerea conceptului de algoritmi principali și auxiliari; explicați regulile de utilizare a algoritmului auxiliar; analiza exemple de algoritmi folosind cei auxiliari.
Planul lecției
1. Introducerea de noi termeni (algoritmi principali și auxiliari, apeluri) și explicarea noilor concepte.
2. Analiza exemplelor de rezolvare a problemelor folosind un algoritm auxiliar.
Când rezolvați unele probleme, este convenabil să le împărțiți în subsarcini mai mici, fiecare dintre acestea putând fi formulată ca un algoritm independent. În acest caz, este mai întâi compilat așa-numitul algoritm principal, în care apelurile la algoritmi auxiliari sunt folosite pentru a rezolva subsarcinile, care sunt adăugate ulterior. Această soluție se numeștemetoda de rafinare secventiala.Permite unui grup de programatori să lucreze la un proiect, fiecare rezolvându-și propria sarcină secundară.
În procesul de rezolvare a unei probleme, fiecare algoritm auxiliar poate fi, dacă este necesar, împărțit în algoritmi auxiliari mai mici.
Este apelată comanda de executare a algoritmului auxiliar provocare și este scris în corpul algoritmului principal.
Același algoritm poate fi considerat principal și auxiliar în raport cu alți algoritmi. Într-un limbaj algoritmic, algoritmul principal este scris primul, iar algoritmii auxiliari sunt notați pe rând.
Sarcina 1:
Robotul se află în colțul din stânga sus al câmpului. Nu există pereți sau celule pictate. Creați un algoritm, folosind unul auxiliar, care desenează patru cruci pe o linie orizontală. Poziția finală a robotului poate fi arbitrară.
Soluţie
Analiza la tabla:
Sarcina 2. Robotul se află în colțul din stânga sus al câmpului. Nu există pereți sau celule pictate. Creați un algoritm care pictează un pătrat de 8 x 8 într-un model de șah Poziția finală a robotului poate fi arbitrară.
Lecția 4 Lecția 2
Lucrare practică pe un computer „Rezolvarea unei probleme folosind algoritmi auxiliari”.
Ţintă : pentru a insufla abilități practice în construirea algoritmilor folosind metoda rafinamentului secvenţial.
Planul lecției
1. Sarcina are loc în întregime pe un PC. Elevii primesc teme și le finalizează în mediul software Idol. Rezultatele lucrării sunt salvate ca fișiere pentru verificare ulterioară.
Problema 1 . Robotul se află în colțul din stânga jos al câmpului. Nu există pereți sau celule pictate. Creați un algoritm care pictează 6 dungi verticale de lungime egală în 6 celule. Poziția finală a robotului poate fi arbitrară.
Problema 2 .Folosind cele auxiliare, creați un algoritm pentru pictarea celulelor care formează numărul 1212.
Teme pentru acasă: Vino cu un algoritm care desenează următoarea imagine: Pentru a rezolva problema, utilizați doi algoritmi auxiliari.
Lecția 5 Lecția 1-2
Test
„Elaborarea unui algoritm în mediul de executare robot.”
Ţintă: testați cunoștințele dobândite privind crearea și capacitatea de a analiza algoritmi în mediul software Idol.
Sarcinile pentru test sunt împărțite pe nivel de dificultate și includ 3 sarcini cu Robotul executant (sarcina 1 și 2 - despre ramificare și bucle, sarcina 3 - despre utilizarea unui algoritm auxiliar.) Textele sarcinilor sunt date în apendice.
Situațiile inițiale și finale și algoritmii creați sunt înregistrate ca fișier.
Nota se acordă în funcție de nivelul de dificultate al sarcinii. Studentul are dreptul de a alege tipul de temă.
Hirianov Timofei Fedorovich
dacă-altfel-toate
Vedere generală a comenzii:Episodul 2împreună cu cuvântul funcţie in caz contrar poate lipsi. În acest caz, comanda arată astfel:dacă starea
apoi episodul 1
altfel episodul 2
Toate
La executarea comenzii Dacă KuMir verifică mai întâi condiție, scris între DacăȘi Acea. Dacă această condiție este îndeplinită, atunci episodul 1, in caz contrar - episodul 2(dacă există), după care KuMir procedează la executarea comenzilor scrise după cuvânt Toate.dacă starea
apoi episodul 1
Toate
Dacă condiția nu este îndeplinită și lipsește seria 2 împreună cu altfel, atunci KuMir trece imediat la executarea comenzilor scrise după cuvântul all.
Exemplul 1
în cazul în care o Acea
b:=b-a
p:=p+q
in caz contrar
a:=a-b
q:=q+p
Toate
Exemplul 2
dacă x > m
Acea
m:= x
n:=n+1
Toate
Exemplul 3 (robot interpret)
dacă există spațiu liber în dreapta
Acea
dreapta
Toate
alegere-dacă-altfel-toate
Vedere generală a comenzii:Cuvânt cheie in caz contrarîmpreună cu seria corespunzătoare de comenzi poate lipsi:alegere
în condiția 1: episodul 1
în condiția 2: episodul 2
…
în condiția n: seria n
în caz contrar seria n+1
Toate
KuMir verifică mai întâi starea 1. Dacă se observă, atunci KuMir execută comenzi de la episodul 1, după care procedează la executarea comenzilor scrise după cuvânt Toate. În caz contrar, KuMir face același lucru cu starea 2 si echipe din seria 2 etc.alegere
în condiția 1: episodul 1
în condiția 2: episodul 2
…
în condiția n: seria n
Toate
Comenzi scrise după cuvânt in caz contrar, se execută atunci când nu este îndeplinită nici una dintre condiții.
Într-o comandă select, nu se execută vreodată mai mult de o serie de comenzi, chiar dacă mai multe condiții sunt adevărate. Executarea comenzii select se încheie după ce se găsește prima condiție (în ordine) cu valoarea yes (și se execută seria corespunzătoare de comenzi).
Exemplul 1
alegere
pentru a > 1: i:= i + 1
la o< 0: j:= j - 1
altfel t:= i; i:= j; j:=t
Toate