Algoritmi

Algoritmi skolā

F.Sarcevičs, Auces vidusskola


Skolas informātikas kursā ir paredzētas stundas algoritmu teorijas elementu apguvei gan pamatskolas, gan vidusskolas posmā. Pamatskolas posmā 3 stundas algoritmiem ir paredzētas 7.klasē. Ne vienam vien skolotājam šīs stundas rada nopietnas problēmas, jo bieži kļūdaini šķiet, ka par algoritmiem iespējams kaut ko reāli mācīt tikai programmēšanas kursa ietvaros. Visbiežāk šīs 3 stundas tiek pavadītas sarunās par algoritmiem – resp., notiek tīri teorētiski. Jāpiezīmē, ka ir pietiekami daudz dažādu datorprogrammu, kuras dod iespēju veidot stundas par algoritmiem visai atraktīvas un ar praktiskas darbošanās pielietojumiem.

Praktisko nodarbību organizēšanai algoritmu teorijas apguvei var lietot (visu materiālu par algoritmiem zip arhīva datne – lejupielādei apm. 6MB zip datne):

Šķiet, ka vispiemērotākās pamatskolas posmam ir RobotProg, Scratch un ZR_Logo 1.1. Tajās var visai veinkāršiem līdzekļiem realizēt visas algoritmu pamatkonstrukcijas – lineāru, sazarotu un ciklisku. Tās visas ir jāiepazīst pamatskolas 7/klases informātikas kursā. Ierosmei daži ieteikmi un ilustrācijas algoritmu pamatkonstrukciju realizācijai RobotProg, Scratch un ZR_Logo 1.1, kā arī šo programmu darba logu ekrānattēli.

3. mācību gads, 16. stunda (LIIS tematiskais plāns – Stunda3_16.doc).

Tēma:

Algoritms, tā pieraksta vei­di. Datora programmvadī­bas princips.

Izmantojamās datorprogrammas

Mērķi:

Izprast jēdzienus: algo­ritms, tā veidi, struktūras, izpildītājs.

Algoritma struktūras, blokshēmu demonstrācija:

∙        RobotProg – var demonstrēt iepriekš sagatavotas blokshēmas, tomēr iespējams veikt arī dinamiskas demonstrācijas, blokshēmas veidojot demonstrācijas laikā (tas ir ļoti vienkārši – no rīku joslas Tools vajadzīgo elementu ievelk shēmas izveides logā Main.

Algoritmu un izpildītāju demonstrācija:

∙        ZR_Logo 1.1 – algoritmu demonstrācija:

o

∙        RobotProg – blokshēmu demostrācija

∙        Scratch – algoritmu demonstrācija

Apgūstamie jēdzieni:

∙                   algoritms;

∙                   algoritma izpildītājs;

∙                   algoritma struktūra;

∙                   struktūrgramma; blokshēma.

Algoritmu pamatkonstrukciju realizācija ZR_Logo 1.1

Lineārs algoritms

Sazarots algoritms

Ciklisks algoritms

Kvadrāta uzzīmēšana:

uz prieksu 150

lenkis pa labi 90

uz prieksu 150

lenkis pa labi 90

uz prieksu 150

lenkis pa labi 90

uz prieksu 150

lenkis pa labi 90


Rezultāts:

Sazarojumu realizācija:

Uz prieksu 100

Lenkis 60

Ja lenkis>90 tad zvaigzne 2,50,50 citadi zieds 5,50,50

Uz prieksu 100


Rezultāts:

Leņķis 60

Leņķis 120

Sešstūra uzzīmēšana:

atkartot 6

    uz prieksu 150

    lenkis pa labi 60

beigas


Rezultāts:

3. mācību gads, 17. stunda (LIIS tematiskais plāns – Stunda3_17.doc).

Tēma:

Algoritmu pamatstruktūras, blokshēmu elementi.

Izmantojamās datorprogrammas

Mērķi:

Iemācīt blokshēmu vai struktūrgrammu elementus un algoritmu pamatstruktūras.

Blokshēmu izveidei un demonstrācija:

∙        RobotProg

∙        un/vai SITA

Algoritmu demonstrācija:

∙        ZR_Logo 1.1

∙        Scratch

Apgūstamie jēdzieni:

∙        lineāra struktūra;

∙        sazarota struktūra;

∙        cikliska struktūra.

Lineārs algoritms

Sazarots algoritms

Ciklisks algoritms

Kvadrāta uzzīmēšana:


Rezultāts:

Sazarojumu realizācija:

Uz prieksu 100

Lenkis 60

Ja lenkis>90 tad zvaigzne 2,50,50 citadi zieds 5,50,50

Uz prieksu 100


Rezultāts:

Leņķis 60

Leņķis 120

Sešstūra uzzīmēšana:


Rezultāts:

3. mācību gads, 18. stunda (LIIS tematiskais plāns – Stunda3_18.doc).

Tēma:

Vienkāršu blokshēmu sastādīšana uzdevumiem.

Izmantojamās datorprogrammas

Mērķi:

Pārbaudīt teorētiskās zināšanas un veidot praktiskās iemaņas blokshēmu veidošanā.

Blokshēmu zīmēšanai

∙        RobotProg

Algoritmu veidošana un izpilde:

∙        ZR_Logo 1.1

∙        vai Scratch

Apgūstamie jēdzieni:

Prot uzrakstīt algoritmus vienkāršiem uzdevumiem.

 Algoritmu pamatkonstrukciju realizācija RobotProg


Algoritma konstrukcija

RobotProg

Lineāra

*

Sazarota

*

Cikliska

*

Salikta

Algoritmu pamatkonstrukciju realizācija ZR_Logo 1.1


Lineāra algoritma shēma

Rezultāts

Komentāri

* *

Programma izveido četrstūri, zīmējot tikai līnijas.

Shēma algoritmam ar ciklu

Rezultāts

Komentāri

* *

Programma uzzīmē trīsstūri izmantojot 2 komandas leņķa palielināšanai un līnijas uzzīmēšanai, un atkārtojuma ciklu.

Nosacījuma algoritma shēma

Rezultāts

Komentāri

*

Leņķis 60

Leņķis 120

Zīmējums tiek iegūts izmantojot sazarojumu:

Uz prieksu 100

Lenkis 60

Ja lenkis>90 tad zvaigzne 2,50,50 citadi zieds 5,50,50

Uz prieksu 100

Algoritmu pamatkonstrukciju realizācija Scracth


Algoritma konstrukcija

Scratch

Lineāra

Sazarota

     

Cikliska

Salikta

*

 Datorprogramma ZR_Logo 1.1, aut. Zintis Rove, LLU, Auces vsk. 2006.g.absolvents

Programma ZR_Logo 1.1 izsrādāta 2006.g. Auces vidusskolā kā pētnieciskais darbs, kas tika aizstāvēts arī valsts 2006.g. zinātniski pētniecisko darbu konferencē kā viens no 10 labākajiem gada darbiem informātikā. Šobrīd Z.Rove ir students LLU , kur apgūst programmēšanu augstākā līmenī.

ZR_Logo 1.1 komandu saraksts (izmanto programmu rakstīšanai),

Programmas raksta komandu logā (skat. attēlu) – komandas raksta katru savā rindā, tās var dublēt, pārvietot, rediģēt. Programmas var saglabāt, atvērt. Principā programmas var rakstīt arī Notepad un saglabāt txt datnē, kuru vēlāk ielasa programmā. Sākumā ieteicams izmēģināt rīkjoslas piedāvātās iespējas līniju biezuma, stila un krāsas maiņai, kā arī iebūvētos grafiskos moduļus.

Attēlojuma komandas:

1) fona krasa 1-36

2) linijas krasa 1-36 -liniju krasa

3) biezums 1-.. -liniju biezums

Kurora pārvietošanas komandas (zīmējot līniju):

4) pa kreisi cik

5) pa labi cik

6) uz augsu cik

7) uz leju cik

8) uz prieksu cik

Kurora pārvietošanas komandas (nezīmējot līniju):

9) koordinatas x,y (aizlec uz dotajam koordinātām)

10) parvietot pa kreisi par cik

11) parvietot pa labi par cik

12) parvietot uz augsu par cik

13) parvietot uz leju par cik

14) parvietot uz prieksu par cik

Kursora pagrieziena leņķa maiņas komandas:

15) lenkis 0-360

16) lenkis pa labi par cik grādiem

17) lenkis pa kreisi par cik grādiem

Grafisko moduļu komandas:

18) daudzsturis cik stūri, platums x, platums y

19) zieds lapu skaits, platums x, platums y

20) stari leņķis starp stariem, platums, augstums

21) krasot x, y, robežkrāsa, krāsa

22) zvaigzne tips (1-3), platums, augstums

23) spirale periodu skaits, atstarpe

24) sinusoida garums, amplitūda, periods

Ciklu komandas:

25) {no lielums lidz lidz cik solis cik liels (Ja vajag tad var izmantot iespēju solis)

{komandas, kuras atkārtot

{nakosais

26) {atkartot cik reizes

{komandas, kuras atkartot

{beigas

Citas komandas:

27) pauze cik liela (jo lielāks skaitlis, jo lielāka pauze)

28) atrums cik liels (jo lielāks skaitlis, jo lēnāk)

29) ja nosacījums tad komanda citadi komanda (Ja ir nepiecišamība, tad var izmantot iespēju citadi)

30) iet uz adrese (Adrese programmā jābūt ievietota!)

Jaunās komandas:

31) linijas stils kads (1-6)

32) notirit lapu

33) beigt – partauc programmu

34) brunurupucis redzams

35) brunurupucis paslepts

36) palielinat vertibu apzimejums, par cik

37) samazinat vertibu apzimejums, par cik

38) Procedūras relizācija:

{procedura nosaukums

{darbības

{proceduras beigas

Programma RobotProg

Darbs ar šo programmu ir relatīvi vienkāršs (pieņemu, ka skolotāji blokshēmu elementus pazīst):

  • blokshēmu elementi no Tools loga jāievelk Main program logā un jāsavieno viens ar otru pareizā secībā;
  • rogramma sākas ar sākuma bloku B (tikai ar vienu), beidzas ar bloku E (vienu vai vairākiem, ja beigās ir sazarojums);
  • blokshēmas korektumu pārbauda, nospiežot pogu ar ķeksīti;
  • blokshēmu (programmu) inicializē (poga INIT);
  • palaiž izpildei, noklikšķinot uz pogas ar robota attēlu.

Izveidotās blokshēmas (programmas) var saglabāt, atvērt. Tools sarežģitības līmeni maina, izpildot komandas Configuration => Level (6 līmenis dod vispilnīgāko bloku kolekciju). No izstrādātāju vietnes var ielādēt piemēru kolekciju, kā arī elektrisko shēmu simulatoru.

Programmēšanas vide Scratch

Darba logs:

  • izvēlne (kopumā tradicionāli organizēta);
  • kontroļu, operatoru un funkciju izvēles logs;
  • programmas veidošanas un rediģēšanas logs (vajadzīgos elementus no izvēles bloka ievelk un kārto vajadzīgajā secībā);
  • programmas izpildes logs;
  • spraitu (sprite) logs

Daži svarīgi Scracth loga elementi un ieteikumi programmu veidošanai

Jāpiezīmē, ka visi kontroļi, operatori, funkcijas sakārtoti pa grupām tā, lai vieglāk tajos orientēties. Ja nepieciešams programmu rediģēt (mainīt), tad jārīkojas sekojoši:

  • programmas sākas ar elementu When … clicked;
  • izpēta pirms kura programmas elementa jāievieto jaunais elements vai sākot no kura izdarāmas izmaiņas;
  • aiz augšējā programmas elementa izvelk fragmentu ārpus programmas bloka (brīvā vietā programmas logā);
  • ievieto jaunos elementus  (ar ievilkšanu);
  • ievelk pārējos programmas fragmenta elementus (aiz augšējā pārvietojas viss fragments, apakšējo var vilkt vienu pašu – tā fragmentu var sadalīt pa elementiem, elementus var arī dublēt, dzēst, izvilkt ārpus programmas loga);
  • programmas beidzas ar elementu Stop script.

Motion – kustība

Looks – izskats

Sound –  skaņa

Pen –  zīmēšana (zīmulis)

Control – kontroļi (vispārējas nozīmes)

Sensing – sensitīvie

Numbers – skaitļiem

Variables – mainīgie

Palaist skriptu (programmu) izpildei

Pārtraukt skripta izpildi

Iebūvētais spraitu (Sprite) redaktors

– poga sparitu redaktora palaišanai. Spraitu redaktoru var izmantot dažādu programmām nepieciešamu grafisko objektu sagatavošanai rediģēšanai. Ar to var pārveidot kostīmus, tos importēt no klipkopām, saglabāt, utt. – no ekrānattēla redzams, tas ir ļoti līdzīgs MS Paint (Win) vai Colour Paint (Linux). Tas nozīme, ka darbs ar to nevarētu radīt grūtības. Spraitus ērti palielināt, samazināt, pagriezt ap asi, apvērst ap horizontālu vai vertikālu asi, mainīt spraitu rotācijas centru.  Var mērogot darba laukumu. Ļoti ērti mainīt caurspīdīgo krāsu – krāsu lauka labā apakšējā rūtiņa.

Valodas ALGO darba logs (realizēta Pascal vidē)

:

Advertisements

Komentēt

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Mainīt )

Google+ photo

You are commenting using your Google+ account. Log Out /  Mainīt )

Twitter picture

You are commenting using your Twitter account. Log Out /  Mainīt )

Facebook photo

You are commenting using your Facebook account. Log Out /  Mainīt )

Connecting to %s

%d bloggers like this: