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.

  1. 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.

  1. Robot într-un punct arbitrar al câmpului. Mutați Robotul cu 4 pătrate spre dreapta, colorându-le.
  2. 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.
  3. 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:

dacă starea
apoi episodul 1
altfel episodul 2
Toate

Episodul 2împreună cu cuvântul funcţie in caz contrar poate lipsi. În acest caz, comanda arată astfel:

dacă starea
apoi episodul 1
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ă 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:

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

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
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.
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