Lucrări practice "Contractor de raportare. Algoritmi auxiliari." Sertarul învață sau utilizarea algoritmilor auxiliari algoritmi auxiliari idol

Luați în considerare sarcina: trebuie să desenezi câteva, de exemplu trei, pătrat.

Algoritmul poate arăta astfel (a se vedea mai jos). Dar se dovedește prea multe din aceleași linii, le selectează galben. Și dacă vrem să tragem zece pătrate identice? O sută?

utilizați sertarul
pătratele Alg 1.
nach.
. duș în punctul(-4,1)
. Coborâți pene
. duș pe vector.(0,2)
. duș pe vector.(2,0)
. duș pe vector.(0,-2)
. duș pe vector.(-2,0)
. Ridicați Pen.

. duș în punctul(-1,1)
. Coborâți pene
. duș pe vector.(0,2)
. duș pe vector.(2,0)
. duș pe vector.(0,-2)
. duș pe vector.(-2,0)
. Ridicați Pen.

. duș în punctul(2,1)
. Coborâți pene
. duș pe vector.(0,2)
. duș pe vector.(2,0)
. duș pe vector.(0,-2)
. duș pe vector.(-2,0)
. Ridicați Pen.

. duș în punctul(0,0)
kon.

Atunci când se creează programe de dimensiuni medii, se utilizează o programare structurală, ideea că aceasta constă în faptul că structura programului ar trebui să reflecte structura problemei care este rezolvată astfel încât algoritmul de soluție să fie clar vizibil din textul sursă. Programul este împărțit într-o multitudine de subrutine (algoritmi auxiliari), fiecare efectuează o anumită acțiune furnizată de sarcina inițială.

Combinând algoritmii auxiliari, este posibil să se formeze un algoritm final utilizând blocuri de cod (subrutine) având o sarcină semantică. Puteți să le contactați după numele lor. O caracteristică foarte importantă a algoritmilor auxiliari este posibilitatea reutilizării lor.

Blocurile de cod evidențiate în galben cu un algoritm separat. Să o numim pătrat. Deci, vom învăța sertarul cu o nouă piață de echipă.

utilizați sertarul
pătrate Alg.
nach.
. duș în punctul(-4,1)
. pătrat
. duș în punctul(-1,1)
. pătrat
. duș în punctul(2,1)
. pătrat
. duș în punctul(0,0)
kon.
piața Alg.
nach.
. Coborâți pene
. duș pe vector.(0,2)
. duș pe vector.(2,0)
. duș pe vector.(0,-2)
. duș pe vector.(-2,0)
. Ridicați Pen.
kon.

A primit un algoritm mai compact și mai ușor de înțeles. În cazul în care unele părți ale programului sunt repetate (utilizate) de mai multe ori, este convenabil să se utilizeze algoritmi auxiliari.

Vă rugăm să rețineți - dacă trebuie să schimbăm algoritmul astfel încât pătratele să fie vopsite cu partea nu sunt două, dar trei, atunci când se utilizează algoritm auxiliar, numărul de editări scade semnificativ.

Notă: Toți algoritmii din program de pe idol sunt scrise împreună unul pentru celălalt, pentru comoditate pot fi separați de un șir gol, principalul lucru este considerat ca algoritmul înregistrat în primul rând, începe să curgă după lansarea programului.

Metoda de detalii consecvente

Am folosit abordarea facilitează programarea sarcinilor complexe. Sarcina este împărțită în subcaderi mai simple. Soluția este realizată sub forma unui algoritm auxiliar, iar algoritmul principal organizează o grămadă între ele.

Metoda de programare la care este scris primul program, este scris că este scrisă la subrotinele încă compilate, iar apoi aceste subprograme sunt descrise, numite metoda detaliilor secvențiale (pas-cu-pas). Mai mult, numărul de etape de detaliu poate fi mult mai mult decât în \u200b\u200bexemplul nostru, deoarece subprogramele în sine pot conține în sine accesul la alte subprogramuri.

Metoda de asamblare

O altă abordare a programelor complexe este posibilă: o varietate de subrutine sunt inițial compilate, ceea ce poate fi necesar la rezolvarea problemei, iar apoi este scris programul principal care conține apeluri. Subprogramele pot fi combinate în Libertatea Liberă și sunt salvate în memoria pe termen lung a computerului. O astfel de bibliotecă poate fi reluată treptat cu noi subrutine.

De exemplu, dacă creați o bibliotecă de proceduri de desen pentru toate literele și numerele pentru a gestiona un executor grafic, atunci programul de primire a oricărui text va fi alcătuit din comenzi pentru contactarea procedurilor de bibliotecă.

Metoda descrisă se numește programare de asamblare.

Adesea, o astfel de terminologie este utilizată în literatura de programare: metoda detaliilor coerente se numește programare de sus în jos și metoda de asamblare - programarea de jos în sus.

Sarcina 1. Schimbați algoritmul rezultat, astfel încât să apară 5, 7 sau 10 pătrate.

Sarcina 2. Faceți un program forestier folosind algoritmul de arbori auxiliar și o stradă care utilizează algoritm auxiliar.


Sarcină 3. Cifrele din indexul poștal scrise după cum urmează:

Faceți algoritmi auxiliar de desen pentru aceste numere. Puteți să o faceți cu colegii de clasă - toată lumea în funcție de figură și apoi să le combineți împreună.
Efectuați un program de desene de desenare a orașelor UNECHO (243300), Elemente (399770), Taganrog (347900), Torzhok (172011), Fleas (155555). În program, utilizați algoritmi auxiliari.

Controlul de către robotul interpret În sistemul de idol

Robotul există într-o anumită setare (câmp de celule dreptunghiulare). Între unele celule de câmp pot fi localizate pereți. Unele celule pot fi vopsite (figura 3.11).

Robotul ocupă exact o celulă de câmp.

Potrivit echipelor în sus, în jos, la stânga și la dreapta, robotul se deplasează în celula adiacentă în direcția specificată. Dacă peretele se dovedește a fi un perete, atunci există un refuz - un mesaj de imposibilitate este emis pentru a executa următoarea comandă.

La echipă, vopsea vopselele robot cusca în care merită. Dacă celula a fost deja vopsită, se va întoarce din nou, deși nu apar schimbări vizibile.

Robotul poate executa numai comenzi înregistrate corect. Dacă scrieți această înregistrare în loc de o echipă, atunci robotul nu va înțelege această intrare și va raporta imediat o eroare.

DESPRE
sIBS: 1 sintaxă; 2. LOGIC.

Descrierile setărilor sunt stocate în fișiere text. Format special (format.fil).

Actual - situația în care este robotul acest moment (inclusiv informații despre poziția robotului).

start- Situația în care robotul este aplicat la începutul programului folosind un robot.

Procedura de operare:


  1. A stabilit atmosfera de pornire Sub condiția problemei:
Instrumente de meniu → Schimbați atmosfera de pornire a robotului (Desenați o provocare în condiția sarcinii, dați un nume, salvați în dosarul dvs. personal)

2. Specificați artistul:

Introduceți meniul → Utilizați un robot

3. Scrieți un algoritm pentru rezolvarea problemei.

4. Rulați algoritmul (meniul de execuție → Rulați continuu / F9)

Sistemul de comenzi ale robotului de artist în sistemul idolului


Echipă

act

sus

Robot se deplasează la 1 cușcă în sus

jos

Robot se deplasează la 1 cușcă în jos

stânga

Robot se deplasează la 1 celulă spre stânga

dreapta

Robot se deplasează la 1 celulă dreapta

a picta

Robotul vopsește cușca în care

dreapta gratuit

Robot verifică executarea corespunzătoare simplu Condiții

stânga gratuit



pe partea de sus gratuit



de la mai jos gratuit



vopsea vopsită



cell curat



Algoritmi ciclici.

Ciclu- organizarea repetiției acțiunilor, în timp ce este sigur că este o anumită condiție .

Corpul ciclului -un set de acțiuni repetitive.

Condiție -expresie logică (simplă sau complexă (compozit))
Tipuri de cicluri:

1.Ciclul "Repetați n ori" 2. Ciclul "până acum"
nc n timp nC.
. . Corpul ciclului. . Ciclul corpului
kc. kc.

Exemplu: nC. Dreapta gratuit


Vedere generală a ciclului "Repetați n ori:

Repetați n ori

SFÂRȘIT
kc.

Vedere generală a ciclului "în timp ce":

În timp ce faceți acest lucru

SFÂRȘIT
Componente sunt formate din una sau mai multe condiții simple și cuvinte de serviciu Și sau nu.


Starea compusului A și B. (Unde și, în - condiții simple), se completează atunci când fiecare dintre cele două condiții simple incluse în el.

Lasati a. - Pe lângă gratuit,ÎN - În mod liber,apoi condiție compusă A și B. - În mod liber și liber liber.


Starea compusului A sau B. completat atunci când cel puțin una dintre cele două condiții simple incluse în acesta: pe partea de sus sau gratuită gratuită
Starea compusului Nu A. - completat când starea A.

Exemplu:Fie ca o celulă pictată (o condiție simplă).

P. relucarea stării compozite nu este:

a) A - efectuat, nu (nu pictat) - nu este îndeplinită.

b) A - Nu este mulțumit, nu (nu pictat) - efectuat.


Echipa de ramură

Ramificație -forma de organizare a acțiunilor în care, în funcție de implementarea sau neîndeplinirea unei anumite condiții, se efectuează fie una sau o altă secvență de acțiuni.

General View Echipa IF:

ÎN CAZUL ÎN CARE UN Acea In caz contrar

SFÂRȘIT

În limba idolului:

Flacă Flacă: Filiala incompletă:
în cazul în care un acea în cazul în care un acea

in caz contrar

toți toți cei

Algoritmul auxiliar - algoritmul care rezolvă unele subtask a sarcinii principale.

În sistem, algoritmii auxiliari cummy sunt scrise la sfârșitul programului principal (după cuvintele oficiale kon.) sunt solicitate pentru executare ca program după nume.

ÎN sondaje și sarcini

1. Dați tuturor algoritmilor din trei echipe care vor muta robotul din poziția inițială la Cage B.

Există un algoritm pentru această sarcină, atunci când execută pe care robotul o face:

a) doi pași; b) patru pași; c) cinci pași; d) șapte pași?


  1. Petya a constituit un algoritm care traduce robotul din celulă și în cușcă B cu pictura unor celule. Ce ar trebui să facă kohl cu acest algoritm pentru a obține un algoritm care traduce robotul de la b V și pictura aceleiași celule?


7. Sunt cunoscute două algoritm auxiliare robot.

Desenați ce se întâmplă atunci când efectuați robotul următorilor algoritmi de bază:


dar)

nC de 5 ori.


model_1.

dreapta; dreapta;


b)

nC de 7 ori.


model_2.

dreapta; Dreapta


în)
dreapta; dreapta; Dreapta

sus; sus

dreapta; dreapta; Dreapta

jos; jos


d)
dreapta; Dreapta
dreapta; Dreapta

8. Faceți algoritmi sub care robotul va picta celulele specificate:



9. Se știe că undeva robotul drept are un zid. Faceți un algoritm, sub controlul asupra căruia robotul va picta un număr de celule la perete și va reveni la poziția inițială.

10. Se știe că undeva dreptul robotului este o celulă pictată.

DIN lăsați algoritmul sub controlul asupra căruia robotul va picta un număr de celule în celula pictată și va reveni la poziția inițială.

11. Se știe că robotul este situat lângă intrarea stângă la coridorul orizontal.

12. Se știe că robotul este undeva pe coridorul orizontal. Nici una dintre celulele coridorului nu este vopsită.

Faceți un algoritm sub controlul asupra căruia robotul va picta toate celulele acestui coridor și va reveni la poziția inițială.


13. Într-un rând de zece celule, dreptul robotului sunt pictate unele celule.

DIN lăsați algoritmul pe care celulele vopsește:

a) sub fiecare celulă pictată;

b) deasupra și sub fiecare celulă pictată.


14. Ce se poate spune despre corectitudinea următorului fragment al algoritmului?

nC. Vopsea vopsită

ÎN CAZUL ÎN CARE UN Dreapta gratuit Acea

dreapta; A tăia

la
c.

15. Scrieți programul cu care robotul poate intra în celula B în toate cele trei labirinturi.


16. Scrieți programul după care robotul poate trece de-a lungul coridorului din colțul din stânga jos al câmpului spre partea dreaptă. Coridorul are o lățime de o celulă și se întinde în direcția spre dreapta spre dreapta. Un exemplu de coridor posibil este prezentat în figură.

Z.

adaki Gia.


  1. Coridor1. Robotul este undeva pe coridorul vertical. Nici una dintre celulele coridorului nu este vopsită. Creați un algoritm sub care robotul va picta toate celulele acestui coridor și va reveni la poziția inițială.

  1. LA
    Avem nevoie

    Dano.
    ordor2. Robotul este în celula superioară a unui coridor vertical îngust. Lățimea coridorului este o celulă, lungimea coridorului poate fi arbitrară.

Opțiunea posibilă a locației inițiale a robotului este prezentată în figură (robotul este indicat de litera "p")

Scrieți un algoritm pentru un robot, pictați toate celulele din interiorul coridorului și întoarcerea robotului în poziția inițială. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi. Sync):


  1. Pe un câmp infinit există un perete orizontal lung. Lungimea peretelui este necunoscută. Robotul se află într-una din celule direct de pe perete. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre prevederile posibile:
N.


Avem nevoie

Dano.
apiscăm algoritmul pentru un robot, picând toate celulele situate deasupra pereților și adiacente la ea, indiferent de dimensiunea peretelui și poziția inițială a robotului. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule:

Poziția finală a robotului poate fi arbitrară. Când efectuați algoritmul, robotul nu trebuie distrus.



  1. Pe câmpul infinit există un perete vertical lung. Lungimea peretelui este necunoscută. Robotul se află într-una din celulele situate direct spre dreapta peretelui. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre pozițiile posibile ale robotului este arătată în figură (robotul este indicat de litera "p"): scrieți un algoritm pentru funcționare, pictura tuturor celulelor adiacente peretelui: în stânga, începând cu partea de sus nu pictat și prin unul; Dreapta, pornind de la partea inferioară pictată și prin una. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura): Aranjamentul final al robotului poate fi arbitrar. Algoritmul trebuie să rezolve problema pentru dimensiunea arbitrară a peretelui și orice poziție inițială admisibilă a robotului. În execuția algoritmului, robotul nu trebuie să se prăbușească.


Scrieți un algoritm pentru un robot, picând toate celulele situate în partea stângă a peretelui vertical și deasupra peretelui orizontal și adiacentă acestora. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura).


N. apish pentru un algoritm de robot, pictura celula adiacentă peretelui, sus și jos, începând cu stânga și una. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru figura A prezentată), robotul trebuie să picteze următoarele celule (vezi figura B).

Poziția finală a robotului poate fi arbitrară. Algoritmul trebuie să rezolve problema pentru dimensiunea arbitrară a peretelui și orice poziție inițială admisibilă a robotului.



R.

  1. Pe câmpul infinit există un perete vertical lung. Lungimea peretelui este necunoscută. Robotul este situat într-una din celulele situate direct pe perete. Poziția inițială a robotului este, de asemenea, necunoscută. Una dintre pozițiile posibile ale robotului este prezentată în figură (robotul este indicat de litera "p"):
Scrieți un algoritm pentru funcționare, pictura toată celula adiacentă peretelui:

  • a lăsat totul;

  • În partea dreaptă, începând cu cea mai importantă și una.
Robotul trebuie să picteze numai celulele care satisfac această condiție.

B.
1102_GIA2011.

Există două pereți orizontali pe un câmp infinit. Lungimea pereților este necunoscută. Distanța dintre pereți este necunoscută. Robotul este deasupra peretelui inferior dintr-o cușcă situată la marginea stângă. Scrieți un algoritm pentru un robot, pictura tuturor celulelor situate deasupra peretelui inferior și sub peretele de sus și adiacente acestora. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura):

Aranjamentul final al robotului poate fi arbitrar. Algoritmul trebuie să rezolve problema pentru o dimensiune arbitrară a câmpului și orice locație admisă a pereților din interiorul câmpului dreptunghiular. În execuția algoritmului, robotul nu trebuie să se prăbușească.


ÎN
1103_GA_2011.


Există un zid orizontal pe un câmp infinit. Lungimea peretelui este necunoscută. De la capătul drept al peretelui în jos, peretele vertical al lungimii necunoscute este plecat. Robotul este deasupra peretelui orizontal într-o cușcă situată la marginea stângă. Figura arată una din metode posibile Locația pereților și a robotului (robotul este indicat de litera "p").

Scrieți un algoritm pentru un robot, pictura tuturor celulelor de deasupra peretelui orizontal și spre dreapta peretelui vertical și adiacent acestora. Robotul trebuie să picteze numai celulele care satisfac această condiție. De exemplu, pentru desenul de mai sus, robotul trebuie să picteze următoarele celule (vezi figura).

Artist robot. Algoritmi auxiliari (2h)

Scop: Introduceți conceptul algoritmului principal și auxiliar; Explicați regulile pentru utilizarea algoritmului auxiliar; Demontați exemple de algoritmi care utilizează auxiliar. Elaborarea abilităților practice pentru a construi algoritmi prin rafinament consecvent.

Planul lecției

1. Introducerea de noi termeni (algoritmul principal și auxiliar) și o explicație a noilor concepte.

2. Următoarele exemple de rezolvare a problemelor cu utilizarea algoritmului auxiliar.

3. Munca practica

La rezolvarea unor sarcini, este convenabil să le spargeți în subcaderi mai mici, fiecare dintre acestea poate fi emis ca un algoritm independent. În acest caz, așa-numitul algoritm de bază este inițial întocmit, în care subtasurile sunt utilizate pentru a rezolva apelurile algoritmilor auxiliari care adaugă mai târziu. Această soluție este numită metoda de clarificare consecventă. Acesta vă permite să lucrați la un grup de programatori, fiecare în acest caz își rezolvă subtașca.

În procesul de rezolvare a problemei, fiecare algoritm auxiliar poate fi, dacă este necesar, este împărțit în algoritmi auxiliari mai mici.

Echipa de execuție a algoritmului auxiliar este numită apel și înregistrate în corpul algoritmului principal.

Același algoritm poate fi considerat ca principal și auxiliar în raport cu alți algoritmi. ÎN limba algoritmică În primul rând înregistrat de algoritmul principal, auxiliarul este înregistrat mai jos la rând.

Sarcina 1:

Robotul se află în colțul din stânga sus al câmpului. Nu există pereți și celule pictate. Creați un algoritm utilizând auxiliar, desenând patru cruci pe un orizontal. Poziția finală a robotului poate fi arbitrară.

Decizie

Colaps pe tablă:

Sarcină2. Robotul se află în colțul din stânga sus al câmpului. Nu există pereți și celule pictate. Faceți un algoritm care vopsește în pătratul verificat 8 x 8. Poziția finală a robotului poate fi arbitrară.

Lucrări practice pe PC "Soluția problemei cu utilizarea algoritmilor auxiliari"

Sarcina 1. . Robotul este situat în colțul din stânga jos al câmpului. Nu există pereți și celule pictate. Faceți un algoritm care vopsește 6 benzi verticale de aceeași lungime în 6 celule. Poziția finală a robotului poate fi arbitrară.

Sarcină2. . Utilizarea auxiliarului, efectuați un algoritm pentru pictura celulelor care formează numărul 1212.

Teme pentru acasă : Inventați algoritmul desenând următoarea imagine: Pentru a rezolva problema, aplicați două algoritmi auxiliari.

Lucrări practice "Document Executiv. Utilizați algoritmi auxiliari cu argumente "

Sarcina A. Algoritmul auxiliar de care aveți nevoie (care atrage pătratul unei anumite lungimi) poate fi scris ca:

alg.pătrat( arg mal.dar)
nach.
. coborâți pene
. duș pe vector.(0, a)
. duș pe vector.(A, 0)
. duș pe vector.(0, -a)
. duș pe vector.(-A, 0)
. ridicați Pen.
kon.

Înregistrarea " alg.pătrat( arg mal.a) "înseamnă că algoritmul" pătrat "are un argument (arg)" A ", care poate fi un număr real (Eroad) arbitrar (Eroad). Pentru a provoca acest algoritm, trebuie să scrieți, de exemplu, "Pătrat (2)" - obținem un pătrat cu o latură 2 sau "pătrat (3)" - obținem un pătrat cu o parte de 3 ani și așa mai departe . O anumită valoare "A" va primi numai în timpul programului în timpul programului în timpul algoritmului auxiliar corespunzător. Și peste tot în loc de "A" va fi înlocuit cu un computer.

Programul de desen este desenul poate fi astfel:

utilizați sertarul
alg.pătrate
nach.
. duș în punctul(1,1)
. Pătrat (2)
. duș în punctul(4,1)
. Pătrat (3)
. duș în punctul(8,1)
. Pătrat (4)
. duș în punctul(13,1)
. Pătrat (5)
. duș în punctul(0,0)
kon.
alg.pătrat( arg mal.dar)
nach.
. coborâți pene
. duș pe vector.(0, a)
. duș pe vector.(A, 0)
. duș pe vector.(0, -a)
. duș pe vector.(-A, 0)
. ridicați Pen.
kon.

Sarcina B. Învățați raportorul de raportare echipelor noi. Una dintre echipe este numită " (Arg Mane X1, Y1, X2, Y2)"- Pentru a desena o linie de la punct (X1, Y1) la punctul (X2, Y2).

alg.linia( arg mal.x1, Y1, X2, Y2)
nach.
. duș în punctul(x1, y1)
. coborâți pene
. duș în punctul(x2, y2)
. ridicați Pen.
kon.

Sarcina V. A doua echipă să se numească " dreptunghi (arg mex x1, y1, x2, y2)»Pentru a desena un dreptunghi. Punctul (x1, y1) Un punct dreptunghi diagonal AC, punct (x2, y2) - opusul. Înainte de înregistrarea algoritmului trebuie să înțelegeți ce sunt egale coordonatele celorlalte două puncte.

Algoritmul auxiliar poate fi astfel:

alg.dreptunghi( arg mal.x1, Y1, X2, Y2)
nach.
. duș în punctul(x1, y1)
. coborâți pene
. duș în punctul(x2, y1)
. duș în punctul(x2, y2)
. duș în punctul(x1, y2)
. duș în punctul(x1, y1)
. ridicați Pen.
kon.

Sarcină Acum, folosind aceste echipe. Desenați o casă:

utilizați sertarul
alg.casă
nach.
. Dreptunghi (2,1,8,5)
. Dreptunghi (3,2,5,4)
. Dreptunghi (6,1,7,4)
. Linie (1,4,5,8)
. Linie (5,8,9,4)
kon.
alg.linia( arg mal.x1, Y1, X2, Y2)
nach.
. duș în punctul(x1, y1)
. coborâți pene
. duș în punctul(x2, y2)
. ridicați Pen.
kon.
alg.dreptunghi( arg mal.x1, Y1, X2, Y2)
nach.
. duș în punctul(x1, y1)
. coborâți pene
. duș în punctul(x2, y1)
. duș în punctul(x2, y2)
. duș în punctul(x1, y2)
. duș în punctul(x1, y1)
. ridicați Pen.
kon.

Notă: În mod natural, în același timp cu aceste echipe, putem folosi echipele standard de raportare (trecerea la punct, trecerea pe vector ...).

Sarcina D. Desenați-vă, care atrage un sertar prin efectuarea unui algoritm:

utilizați sertarul
alg.spirală
nach.
. duș în punctul(3,3)
. coborâți pene
. Turn (1); Turn (3); Turn (5); Turn (7); Tock (9)
. ridicați Pen.
kon.
alg.turn arg mal.dar)
nach.
. duș pe vector.(A, 0)
. duș pe vector.(0, -a)
. duș pe vector.(-A-1.0)
. duș pe vector.(0, a + 1)
con.

Schema informaticii lecției

Lecția tematică

"Utilizarea algoritmilor auxiliari pentru un desen"

Vârsta studenților

1 2 ani (gradul 6)

Tipul de lecție

Folosind noi cunoștințe

Formați lecția

Lecția modulară

Scopul lecției:

Pentru a forma o prezentare a studenților despre conceptul de "algoritm auxiliar" ca una dintre modalitățile de optimizare a codului programului

Lecția de sarcini:

    dezvoltați prezentările studenților pe artiștii interpreți sau executanți

    asigurați-vă ideea algoritmului ca model de activitate a artistului

    introduceți un algoritm auxiliar

    asigura abilitățile de gestionare a performantului

Rezultatele planificate

subiect - capacitatea de a dezvolta algoritmi de gestionare a contractantului;

metaperrmet. - abilitatea de a planifica în mod independent modalități de realizare a obiectivelor; Referirea acțiunilor lor cu rezultatele planificate, pentru a-și monitoriza activitățile, pentru a identifica modalitățile de acțiune în cadrul condițiilor propuse, pentru a-și adapta acțiunile în conformitate cu situația de topire; să evalueze corectitudinea sarcinii de formare; Capacitatea de a sparge sarcina pentru substante; experiența de luare a deciziilor și gestionarea performanților utilizând algoritmi compilați pentru ei;

personal - Abilitatea de a lega conținutul de învățare cu propria experiență de viață, înțelege semnificația gândirii algoritmice dezvoltate pentru o persoană modernă.

Echipamente materiale și tehnice (mijloace didactice etc.)

Profesor: Prezentarea lecției; Înmânează

Student: Pix-ul, creionul, linia, manualul, registrul de lucru

UMK (seria video)

Prezentare multimedia, materiale de distribuție pentru fiecare student: lecție de card tehnologic, foaie de aplicare

Materiale utilizate

Informatică: toolkit. Pentru 5-6 clase / L.L. Bosova, A.Yu. Bosov. - M.: Binom. Laboratorul de cunoștințe, 2014

Informatică: manual pentru gradul 6 / l.l. Bosova, A.Yu. Bosov. - M.: Binom. Laboratorul de cunoștințe, 2013

Informatică: Registrul de lucru pentru gradul 6 / l.l. Bosova, A.Yu. Bosov. - M.: Binom. Laboratorul de cunoștințe, 2013

Subiect: Algoritmi auxiliari pentru Chert

Lecția cardului tehnologic (modul)

Rating.

(Mach. Punct)

UE - 0.

2 minute.

Integrarea obiectivului: programatorii au o listă de reguli în stil bun, una dintre aceste reguli spune: "Nu vă repetați", înseamnă că este necesar să evitați duplicarea multiplă a secțiunilor codului programului. Astăzi la lecție:

    vă veți familiariza cu una dintre modalitățile de a optimiza codul programului.

    vă veți îmbunătăți abilitățile și abilitățile de lucru în mediul de programare

    va dezvolta gândirea logică, atitudinea critică la informațiile primite

UE - 1.

Actualizarea cunoștințelor de referință.

scop : activați cunoștințele dobândite

Exercitiul 1.

a) trecerea la punctul (5,2) __________

b) trecerea la vector (3.4) ________

c) trecerea la punct (1.4) __________

Sarcina 2.

utilizați hoții

alg.

nach.

    scurt la punct (2,4)

    scurt la punct (4.1)

    duș la punct (0,0)

kon.

utilizați hoții

alg.

nach.

    coborâți pene

    duș pe vector (0.3)

    duș pe vector (3.0)

    duș pe vector (0, -3)

    duș pe vector (-3.0)

kon.

Citiți cu atenție scopul UE - 1

Lucrați într-un modul într-o pereche

Verificați-vă pe răspunsurile scrise pe tablă

Sarcina corespunzătoare 1 este estimată la 3 puncte, 1 punct pentru fiecare element (A, B, B)

Sarcina corespunzătoare 2 este estimată la 2 puncte, 1 punct pentru fiecare element (a, b)

Numărul maxim de puncte pentru munca cu UE-1 \u003d5

____________

UE - 2.

Studierea unui nou material.

13 min.

Scop: pentru a vă familiariza cu conceptul de algoritm auxiliar, extindeți gama de sarcini care pot fi rezolvate folosind algoritmul auxiliar, învață să constituie un algoritm de bază și auxiliar pentru sertarul artistului

În trecut, lecția ați constituit algoritmul pentru schiță, folosind care atrage o stea.

    Determinați deficiențele unui astfel de algoritm:

_________________________________

_________________________________

_________________________________

_________________________________

    Cum să evitați dificultățile enumerate

_________________________________

_________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

______________________________________

Citiți cu atenție scopul UE - 2

Munca individuală cu sarcini 1 - 3

La lucrul cu paragraful 4, utilizați materialul prevăzut la punctul 18 din tutorial (pag. 123 - 125), prezentarea profesorului

Discutarea punctelor 1 - 4 - Lucrări de grup în modul frontal

Sarcina 5 - 6 Efectuați individual

9

Evaluarea sarcinilor

Sarcina 1-2 este executată corect cu 1 punct

____________

În Sarcina 3, cel puțin 3 dezavantaje - 1 punct

_____________

Sarcina 4 prezintă modalități de rezolvare a problemei:

1 Metoda \u003d 1 punct, 2 metode \u003d 2 puncte

_____________

Sarcina 5. În planul de coordonate există 6-8 stele, a căror dimensiune corespunde "asteriscului" - 1 punct "

____________

Compilate de algoritmul principal "Cosmos" - 3 puncte

____________

UE - 3.

Munca practica

Scop: Formarea capacității de a lucra cu algoritmi auxiliari în mediul de programare

Exercitiul 1. Implementați algoritmul pe care l-ați compilat în sistemul Culmy Programing

Sarcina 2 (creativă). Gândiți-vă ce poate fi o aeronavă în spațiu:

a) ilustrarea acestuia pe planul de coordonate de lângă stelele de pe hârtie

b) Finalizați algoritmul pentru codul de aeronavă, implementați în sistemul de programare Culum

Citiți cu atenție scopul UE - 3

Munca individuală cu sarcini

La executarea fiecărei sarcini, spuneți profesorului să controleze

Un exemplu poate fi spațied în apendicele 1

Numărul maxim de puncte pentru munca cu UE-2 \u003d6

Sarcina efectuată corespunzător 1 este estimată la 2

Sarcina 2 (Creative) a fost estimată pe deplin în 4 puncte

_____________

UE - 4.

Reflecţie

Scop: Analizați-vă realizările în clasă

Dați un răspuns la fiecare întrebare

1. Citiți încă o dată scopul lecției

2. Ați atins obiectivele?

__________________________________

3. Ce a împiedicat atingerea obiectivelor?

__________________________________

4. Ceea ce părea cea mai dificilă?

__________________________________

5. Ce nu a provocat dificultăți?

__________________________________

6. Cum evaluați munca dvs.?

7. Ați înscris mai puțin de 20 de puncte? (Dacă "da", apoi lucrați acasă și aveți șansa de a trece testarea repetată). Noroc!

Teme pentru acasă:

Urmăriți toate înregistrările făcute în lecție.

§18 (3), №6 la pagina 128; №216.

Citiți cu atenție scopul UE - 4

Raspunde la intrebari

Calculați numărul de puncte, consultați-vă (Anexa 2, Anexa 3)

Aplicații

Atasamentul 1

Exemplu efectuat

Apendicele 2.

Fișa de control

Prenume nume __________________________________________

Apendicele 3.

17 -19

(85 – 99%)

înalt

Ești bine făcut!

15 - 16

(75 – 84 %)

mijloc

Încă un pic și va fi "5"

10 - 14

(50 – 74%)

scăzut

Atenție

1 - 9

(0,7 – 49%)

foarte jos

Și ce credeți în lecție?

nul

Ați participat la lecție?

Răspunsuri

UE - 1.

Exercitiul 1. Poziția inițială a ciulinului este punctul A, la ce punct este mutat prin rularea comenzii:

a) trecerea la punctul (5,2) ____F.______

b) deplasată la vector (3,4) __C.______

c) trecerea la punctul (1.4) ____A.______

Sarcina 2. Poziția inițială a ciisticiului este începutul coordonatelor, stiloul este ridicat. Efectuați algoritmul și definiți ce fel de figură se va desena.

a) nimic, nu a existat nici o comandă pentru a coborî pene

utilizați hoții

alg.

nach.

    scurt la punct (2,4)

    scurt la punct (4.1)

    duș la punct (0,0)

kon.

b) Square.

utilizați hoții

alg.

nach.

    coborâți pene

    duș pe vector (0.3)

    duș pe vector (3.0)

    duș pe vector (0, -3)

    duș pe vector (-3.0)

kon.

UE - 2.

    Cum ar trebui ca algoritmul să se schimbe, dacă sertarul trebuie să deseneze cerul înstelat, pe care 20, 50, 1000 de stele?

Va deveni mai multe echipe

    Câte rânduri vor lua un algoritm pentru 10 stele?

    Determinați dezavantajele unui astfel de algoritm: voluminoasă, duplicare, probabilitatea ridicată de a face o greșeală

    Cum să evitați dificultățile enumerate: Utilizați algoritmul auxiliar, poate numi, de asemenea, un ciclu

    Pe planul de coordonate, plasați 6 - 8 stele, fiecare trebuie să se potrivească cu asteriscul pe care l-ați pictat pe lecția trecută

    Înregistrați algoritmul principal "Cosmos" folosind algoritmul "stea" ca algoritm auxiliar

utilizați sertarul

spațiul Alleg.

nach.

dușul până la punctul (1,1)

stea

duș pe vectorul (2, 2)

stea

duș pe vector (-2, 2)

stea

duș pe vectorul (2, 2)

stea

rachetă

dușul până la punctul (13.1)

stea

duș pe vector (-2, 2)

stea

duș pe vectorul (2, 2)

stea

duș pe vector (-2, 2)

stea

kon.

alg Star.

nach.

coborâți pene

setați culoarea (galben)

duș pe vector (1,2)

duș pe vector (1, -2)

duș pe vector (-2.1)

duș pe vector (2.0)

duș pe vector (-2, -1)

ridicați Pen.

kon.

racheta Alg.

nach.

dușul până la punctul (6.1)

coborâți pene

setați culoarea (roșu)

duș pe vector (0,1)

duș pe vector (1,1)

duș pe vector (0.4)

duș pe vector (1,1)

duș pe vector (1, -1)

duș pe vector (0, -4)

duș pe vector (1, -1)

duș pe vector (0, -1)

duș pe vector (-1.1)

duș pe vector (-1, -1)

duș pe vector (-1.1)

duș pe vector (-1, -1)

ridicați Pen.