85
Ergonomiska grafiskā algoritmu aprakstīšanas valoda DRAKON Ingars Ribners 2015.gada 16.aprīlis

Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Embed Size (px)

Citation preview

Page 1: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Ergonomiska grafiskā algoritmu aprakstīšanas valoda DRAKON

Ingars Ribners2015.gada 16.aprīlis

Page 2: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Autors, grāmata

Паронджанов В.Д. Дружелюбные алгоритмы, понятные каждому. Как улучшить работу ума без лишних хлопот.

— М.: ДМК Пресс, 2014. — 464с. — Иллюстраций 223. — ISBN 978-5-94074-606-5

Владимир Паронджанов (1938)

Page 3: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Blokshēmas

• ISO 5807-85• ГОСТ 19.701-90

Kas ir ne visai labi ar blokshēmām?

Page 4: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

BPMN diagramma

UML Activity diagramma

Blokshēmas

Page 5: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Uztveres process

Tikai galvas smadzenes vien patērē 20% no visas organisma patērētās enerģijas (un uztveres process notiek ne tikai galvas smadzenēs)

Uztvere nenotiek pa veltiUztverot, mēs tērējam enerģiju

Page 6: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

ErgonomikaNo vikipēdijas:

Vārds ergonomika ir cēlies no grieķu valodas un tulkojumā nozīmē ergon — darbs, spēks, nomos — likums, noteikumi.

Tātad, ergonomika ir mācība par “spēka noteikumiem” – kur, kad un kādā veidā jāpieliek spēks, lai vajadzīgo darbu padarītu maksimāli efektīvi, bez lieka enerģijas patēriņa.

Page 7: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Algoritma ergonomika

Algoritma ergonomika ir algoritma dizaina mērs, kas apgriezti proporcionāls vidējajam enerģijas patēriņam, kas lasītājam jāpatērē, lai to uztvertu.

Jo ergonomiskāks algoritms – jo mazāk enerģijas jāpatērē, lai to uztvertu.

Page 8: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Algoritma ergonomika

Jo ergonomiskāks algoritma apraksts –> jo mazāku spēju cilvēks to spēs uztvert

–> jo plašāk tas tiks lietots.

Page 9: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Valodas DRAKON mērķis

1. Primitīvu (ikonu, makroikonu) kopa, no kuriem sastāv grafiska algoritma shēma

2. Skaidru prasību kopa, kurām ir jāatbilst grafiskai algoritma shēmai, lai to varētu uzskatīt par ergonomisku

3. Ekvivalentu pārveidojumu paņēmienu kopa, kurus pielietojot, neergonomisku algoritma shēmu var pārveidot par ergonomisku

Page 10: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON valodas pamatelementiElementārie bloki (ikonas)

DRAKON valodas “burti”

Page 11: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON valodas pamatelementiSaliktie bloki (makroikonas)Elementārie bloki (ikonas)

DRAKON valodas “burti” “zilbes”

Page 12: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON valodas pamatelementi

«Iesma» bloki:• Ikonas (3, 5-10, 12-16, 18, 20-21)• Makroikonas (2-20)

«Zars»

Page 13: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Divi algoritmu attēlošanas veidi valodā

“DRAKON-shēmas” – 2 veidi

1 2

Page 14: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 15: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 16: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Noteikums: “No vairāk pa labi – jo vēlāk”

Page 17: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Algoritma “cepurīte”

Page 18: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Trīs “karaliskie” jautājumi, uz kuriem algoritma “cepurīte” dod atbildes

1. Kāds ir uzdevuma nosaukums?2. No cik daļām uzdevums sastāv?3. Kā saucas katra no uzdevuma daļām?

Faktiski, “cepurīte” mums ātri iedod informāciju par pašu algoritmu (metainformāciju), kas ļauj ātri uztvert algoritma būtību un kopējo struktūru.

Page 19: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs 1

Page 20: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs 2

Page 21: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs 3

Page 22: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Siluets (“ar sliedēm”)

Page 23: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Siluets ar “izjauktām sliedēm”

No algoritma loģikas viedokļa – šis ir ekvivalents iepriekšējam.

No ergonomikas viedokļa – šis ir sliktāks variants, nekā iepriekšējais.

Page 24: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Siluets (vēlreiz “ar sliedēm”)

1. “Sliedes” palīdz saturēt kopā algoritma vizuālo tēlu. Šādi algoritms tiek uztverts kā vienots veselums.

2. Pa “sliedēm” vieglāk sekot līdzi algoritma loģikai (mazāks iekšējās enerģijas patēriņš to uztverot, nekā bez tām)

Page 25: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Algoritma “iesms”

Noteikums: Nosaukuma ikonas izejai un beigu ikonas ieejai jāatrodas uz vienas vertikāles

Page 26: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vai algoritmā ir “karaliskais” ceļš?

Algoritmā, kas attēlots primitīva formā, algoritma galvenajam maršrutam jāiet pa “iesmu” (vertikāli uz leju)

Ja tā nav, tad algoritma shēma jāpamaina tā, lai tā būtu.

Page 27: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 28: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Mazākas nozīmes ceļi algoritmā

Princips: “Jo ceļš ir vairāk pa labi – jo sliktāks variants”

(“sliktāks” vietā var būt jebkurš cits kritērijs, galvenais, lai maršruti būtu sakārtoti)

Page 29: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs...

Jo vairāk pa labi – jo sliktāk

Page 30: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēl viens piemērs

Jo vairāk pa labi – jo ātrums lielāks

Page 31: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Kad izmantot primitīvu, bet kad – siluetu?

Page 32: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Kad izmantot primitīvu, bet kad – siluetu?

Primitīvu algoritma aprakstīšanai ieteicams izmantot, ja algoritma shēma satur līdz 10 elementiem.

Ja >10, tad ieteicams dalīt shēmu pa “zariem” un noformēt solueta formā.

Page 33: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

19 ikonas primitīva formā

Page 34: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

…tās pašas 19 ikonas - silueta formā

Page 35: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

“Karaliskais” ceļš siluetā

Silueta “zara” gadījumā gadījumā darbojas abi tie paši likumi, kas primitīva gadījumā

1. Galvenais maršruts iet pa “zara” “iesmu”;

2. Jo mazāk svarīgs maršruts “zarā” – jo vairāk pa labi tas atrodas (“svarīgs” vietā var būt cits autora izvēlēts kritērijs)

Silueta galvenais maršruts ir secīgi savienoti silueta “zaru” galvenie maršruti.

Page 36: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs...

Page 37: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Līniju ierobežojumi algoritma shēmā

• Līniju krustojumi ir aizliegti;• Līniju pārrāvumi ir aizliegti;• Līniju savienotāji ir aizliegti.

Page 38: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Līniju krustojumi un pārrāvumi algoritma shēmā

T1

Jebkuru strukturētu* programmu valodā DRAKON var attēlot gan kā primitīvu, gan kā siluetu.

* nozīmē, ko izmanto E.Dijkstra u.c. autori

Page 39: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Līniju krustojumi un pārrāvumi algoritma shēmā

T2

Patvaļīgu (nestruktētu) programmu valodā DRAKON ne vienmēr var attēlot kā primitīvu. Tomēr, veicot galīgu skaitu ekvivalentu pārveidojumu, kas pieļauj jaunu mainīgo (“zaru” identifikatoru) ievešanu, programmu vienmēr var attēlot kā siluetu.

Page 40: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

NEPAREIZI PAREIZI

Page 41: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON noteikumu kopsavilkums (1)

1. Sarežģītu algoritmu (>10 ikonu) valodā DRAKON rekomendē zīmēt kā siluetu, bet vienkāršu algoritmu (<=10 ikonu) – kā primitīvu.

2. Ikonā “Virsraksts” aizliegts rakstīt vārdu “Sākums”; tā vietā šeit jānorāda skaidrs un precīzs algoritma nosaukums.

3. Sadaliet sarežģītu algoritmu jēgpilnās daļās, katru no tām noformējiet kā silueta “zaru”. Katrai no daļām dodiet saprotamu un skaidru nosaukumu, ko ierakstiet ikonā “Zara nosaukums”.

4. Nokļūšana “zarā” iespējama tikai caur tā sākumu.5. Ikonā “Adrese” atļauts rakstīt tikai kādu no “zaru” nosaukumiem, citi uzraksti te

aizliegti.6. “Zaru” novietojumam telpā jāatbilst principam “Jo vairāk pa labi – jo vēlāk”.

Izņemot situācijas, kad veidojas “zaru” cikls.7. Primitīvam obligāti ir “iesms”. Tas nozīmē, ka primitīvam ikonas “Virsraksts” un

“Beigas” vienmēr atrodas uz vienas vertikāles, kura saucas “iesms”.

Page 42: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON noteikumu kopsavilkums (2)

8. Katram “zaram” obligāti ir “iesms”. Labās malas “zaram” tā ir vertikāle, kas savieno ikonas “Zara nosaukums” un “Beigas”. Pārējiem “zariem” par “iesmu” kalpo vertikāle, kas savieno ikonu “Zara nosaukums” un “Adrese”, bet, ja “zarā” ir vairākas “adreses” tipa ikonas – ar kreiso no tām.

9. Primitīva algoritmam vienmēr jābūt galvenajam maršrutam, kuram ir jāiet pa “iesmu”.

10.Mazāk svarīgiem maršrutiem primitīvā ir jābūt sakārtotiem pēc autora izvēlētā kritērija, piemēram: jo vairāk pa labi – jo sliktāk.

11.Uz silueta “zariem” arī attiecas noteikumi 9, 10.12.Ikonā “Beigas” ir jāraksta vārds “Beigas”.13.Savienotājlīnijas iet vai nu horizontāli, vai vertikāli. Slīpas līnijas nav atļautas.

Līnija nevar iet uz augšu.14.Līniju krustošanās ir aizliegta.15.Līniju pārtraukšana ir aizliegta.16.Savienotāju izmantošana ir aizliegta.

Page 43: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON-shēmas ekvivalentās pārveidošanas paņēmieni

Paņēmieni, kurus var izmantot, lai algoritma shēmu izmainītu, līdz tas atbilst iepriekšējos slaidos aprakstītajiem ergonomisku DRAKON-shēmu veidošanas noteikumiem.

Page 44: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON-shēmas ekvivalentās pārveidošanas paņēmieni

1. “Rokāde”2. Vertikālā apvienošana3. Horizontālā apvienošana4. Ikona “Iekļaušana”

Page 45: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Ikona “Jautājums”

Page 46: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Makroikona “Atzarojums”

Page 47: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Makroikona “Atzarojums”

Page 48: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vienkāršu atzarojumu varianti

Vienkāršs atzarojums satur tikai vienu ikonu “Jautājums”

Page 49: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Saliktu atzarojumu piemēri

Atzarojumu sauc par saliktu, ja tā plecos ir vismaz viens vienkāršs vai salikts atzarojums

Page 50: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Paņēmiens “Rokāde”

“Rokāde” ir algoritma ekvivalents pārveidojums, kura rezultātā algoritma atzarojuma labais un kreisais plecs samainās vietām.

Page 51: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 52: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 53: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēl viens piemērs

1. Galvenais maršruts neiet pa “iesmu”;

2. Pārkāpts likums “jo vairāk pa labi – jo sliktāk”

Page 54: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēl viens piemērs

1. Galvenais maršruts neiet pa “iesmu”;

2. Pārkāpts likums “jo vairāk pa labi – jo sliktāk”

Page 55: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēl viens piemērs

Pārkāpts likums “jo vairāk pa labi – jo sliktāk”

Page 56: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēl viens piemērs

1. Galvenais maršruts iet pa “iesmu”;

2. Maršruti sakārtoti pēc kritērija “jo vairāk pa labi – jo sliktāk”

Page 57: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Atkārtošanās aizliegums

Noteikums: Vienādu ikonu atkārtošanās DRAKON-shēmā ir aizliegta.

Page 58: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Paņēmiens “Vertikālā apvienošana”

Page 59: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Paņēmiens “Vertikālā apvienošana”

Page 60: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Paņēmiens “Horizontālā apvienošana”

Page 61: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Paņēmiens “Horizontālā apvienošana”

Page 62: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Paņēmiens “Horizontālā apvienošana”

Page 63: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Izvairīšanās no kustojumiem

Algoritma shēmas ekvivalents pārveidojums, lai izvairītos no līniju krustojumiem

Page 64: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Atkārtošanās aizlieguma korekcija

Noteikums: Veicot apvienošanu, lai izvairītos no līniju krustojumiem, drīkst apvienot nevis visas vienādās ikonas, bet tikai blakusesošās vienādās ikonas.

Page 65: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 66: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Ko darīt, ja ergonomikas prasības ir savstarpēji pretrunīgas?

Piemēram, pretrunā var nonākt mērķis “samazināt vertikāļu skaitu” un mērķis “jo vairāk pa labi – jo sliktāk”

Page 67: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Ko darīt, ja ergonomikas prasības ir savstarpēji pretrunīgas?

Prioritātes princips: mērķim “jo vairāk pa labi – jo sliktāk” ir lielāka prioritāte, nekā vertikāļu skaita samazināšanai

Page 68: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 69: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Ergonomiskuma uzlabošanaabstraktām “DRAKON-shēmām”

Vartikālās un horizontālās apvienošanas noteikumus var piemērot abstraktām “DRAKON-shēmām” (automātiski)

Noteikumu “jo vairāk pa labi – jo sliktāk” abstraktām DRAKON-shēmām automātiski piemērot nevar (svarīga semantika)

Page 70: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Ekvivalentie DRAKON-shēmas pārveidojumi “vertikālā apvienošana” un “horizontālā apvienošana” ļauj pārveidot neergonomisku algoritmu (kreisajā pusē) uz tam ekvivalentu algoritmu (labajā pusē)

Page 71: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Ikona “Iekļaušana”

No iepriekš apskatītajiem noteikumiem (līniju ierobežojumiem) izriet, ka DRAKON-shēma nevar būt lielāka, kā tāds, kas pilnībā ievietojas vienā lapā.

Var izmantot šādus paņēmienus, lai to panāktu:1. Izmantot siluetu;2. Sadalīt algoritma shēmu daļās, izmantojot ikonu “Iekļaušana”

Page 72: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs

Page 73: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēl daži noteikumi ergonomisku algoritmu shēmu veidošanai

Algoritmam jābūt skaistam

“Skaists” ~ “ergonomisks”

Page 74: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēl daži noteikumi ergonomisku algoritmu shēmu veidošanai

Noteikumi skaistu algoritmu veidošanai:

1. Algoritma redzamajam tēlam jābūt lakoniskam. Visām nevajadzīgajām, liekajām detaļām jābūt atmestām

2. Lai algoritmu būtu ērti lasīt, tā līniju lauzumu skaitam jābūt minimālam

Page 75: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs (1)

Page 76: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs (2)

Page 77: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Piemērs (3)

Page 78: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON shēmas tekstuāla reprezentācija

Page 79: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

• Ciklu attēlošana DRAKON-shēmās

• Loģikas izteiksmju vizualizācija DRAKON-shēmās

• Reālā laika algoritmu attēlošana DRAKON-shēmās

Atlikušās tēmas no šīs grāmatas

Паронджанов В.Д. Дружелюбные алгоритмы, понятные каждому. Как улучшить работу ума без лишних хлопот.

Page 80: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Kāpēc tas strādā?

1. Pareizi izmantota valodas struktūra• Burts -> zilbe -> vārds -> teikums -> proza• Burts -> proza

2. Algoritma vizuālajā reprezentācijā, kas veidots, atbilstoši DRAKON vadlīnijām, iekodēta algoritma struktūra (metainformācija), kas• apskatot algoritmu, tiek uztverta vispirms;• paātrina turpmāko algoritma uztveršanu vai vajadzīgās vietas atrašanu

tajā.

3. Tiek ņemta vērā ergonomika• Uztveres process nav bezmaksas• Katras smadzeņu sinapses darba process līdzinās procesam negaisa laikā

(zibens – lēna uzlāde – zibens – lēna uzlāde) – tas prasa daudz enerģijas.

Page 81: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON valodas trūkumi

• Valodā šobrīd nav iespējas attēlot subjektus (business units)

• Rīki, kas ļauj aprakstīt algoritmus valodā DRAKON, šobrīd ir ļoti pieticīgi. Rīki, kas ļautu automātiski pārveidot algoritmu shēmas uz ergonomiskākām – man šobrīd nav zināmi

Page 82: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

DRAKON valodu saime

DRAKON-1 grafiska pseidovaloda neformālai algoritmu aprakstīšanai;

DRAKON-Basic, DRAKON-Pascal, DRAKON-C++, DRAKON-Erlang, DRAKON-Python, DRAKON-Lua u.c. grafiskas valodas kas pieļauj algoritmu aprakstīšanu un koda ģenerāciju konkrētās programmēšanas valodās.

Page 83: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Vēsture

• Был разработан в рамках космической программы «Буран» (с 1986 года при участии ФКА (Научно-производственный центр автоматики и приборостроения им. акад. Н. А. Пилюгина, Москва) и РАН (Институт прикладной математики им. М. В. Келдыша).

• Основной задачей разработчиков было создание единого универсального языка программирования и моделирования, который своей доступностью и мощностью способен заменить специализированные языки: ПРОЛ2 (для разработки бортовых комплексных программ Бурана), ДИПОЛЬ (для создания наземных программ Бурана) и ЛАКС (для моделирования).

• Работы по разработке языка были закончены в 1996 году.

• Эта технология эксплуатируется начиная с 1996 года в программах: международный проект «Морской старт», разгонный блок космических аппаратов «Фрегат», модернизированная ракета-носитель тяжёлого класса «Протон-М», ПРО «Тополь-М» и др.

Page 84: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

http://drakon.su - informācija, grāmatas

https://ru.wikipedia.org/wiki/ДРАКОН - apraksts, vēsture, reālu algoritmu piemēri dažādās pielietojumu sfērās

http://drakon-editor.sourceforge.net - DRAKON-shēmu redaktors

Informācija tīklā

Jautājumi?

Page 85: Ergonomiska grafiska algoritmu aprakstīšanas valoda DRAKON

Paldies par uzmanību!