Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül
description
Transcript of Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül
![Page 1: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/1.jpg)
Algoritmusok megjelenítése egy magas szintű programnyelv vizuális
nyomkövetőjén keresztülPodoski Péter és Zabb László
![Page 2: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/2.jpg)
BevezetőAlgoritmus-vizualizáció témakörében
végeztünk kutatásokat és fejlesztéseketFelmértük a manapság ismert eszközök
hiányosságaitKidolgoztunk egy saját rendszert, amiben az
algoritmusok vizualizációjához szükséges eszközök széles palettája elérhető
![Page 3: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/3.jpg)
Az igény megfogalmazásaElvárások egy jó vizualizátorral kapcsolatban:
célközönség számára megfelelő megjelenítést lehessen hozzá tetszőleges vizualizációs modult
készíteni vagy csatolni
Szélsőségek túl részletes, túl kötött, csak megjelenítés, animálás
Megoldás a célunk („Arany középút”) -> PSimulex
![Page 4: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/4.jpg)
Saját nyelvMagas szintű utasítások, lehetőségek.Legfőbb jellemzői: gyengén típusos, C-szerű,
modern nyelvekhez illeszkedő szintaxis,egyszerű, típuskonstrukció rekord, fontosabb
vezérlési szerkezetek, felhasználói függvények, importálás, globális változók
![Page 5: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/5.jpg)
Szintaxis
![Page 6: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/6.jpg)
Fordítás gépi kódraMiből mi lesz a négy lépés alatt az ábra
alapján. Eredmény a Microlex kód.
![Page 7: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/7.jpg)
ParancsobjektumokEgy kapott környezeten dolgoznak.Környezet: IP, RunStack, CallStack,
VáltozólistaHárom fő csoportjuk:
Vezérlés-átadó parancsobjektumokKonkrét műveleteket végrehajtó
parancsobjektumokVáltozókat, adatszerkezeteket kezelő
parancsobjektumok
![Page 8: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/8.jpg)
Saját virtuális platformParancsobjektumok tömbje interpretálódik, a
környezet elemeiHW (többprocesszoros gép, memória)SW op. rendszer, alacsony szinten: runstack,
call stack, varlist, IP, SP Ide jön egy ábraVirtuális hálózat, virtuális gép (Mini OS ,
ütemező), folyamat, szál
![Page 9: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/9.jpg)
Saját típusrendszerGazdag. BaseType == Object
Primitív típusok + gyűjtemények + fák + gráfok(Esetleg 2 spec Referencia + Property wrapper)
Saját típusok Hogy tudjuk mi micsodaHogy egyszerűen lehessen algoritmusokat megfogalmazni.
Felhasználói típus a rekord, példányosul, mezőinek kezdőértéket lehet megadni.
Gyengén típusosság miatt mindenbe mindent lehet tenni.
Konverzió + típus hierarchia. Szinte minden mindenre. Minden összetettre.
![Page 10: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/10.jpg)
Saját IDEFunkciók
LexLighterSyntax highlightLéptetési módszerekKorszerű IDE, tabok, több forrásfájl kezelése,
testre szabható, ergonómikusNézetek váltása
![Page 11: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/11.jpg)
Típushierarchia
![Page 12: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/12.jpg)
Saját vizualizációDinamikus, változást követő, adatszerkezetek
megjelenítése, mit láthatunkEgy-két ábra egy-egy mondat erejéig.Montázs:
Hívási vermes megjelenítésEgy központi adatszerkezet kiemeléseEgymásba ágyazhatóság
Adatszerkezetek szerkesztése menet közben is, gráf editor(, fa editor)
![Page 13: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/13.jpg)
Egy bináris fa megfigyelése
![Page 14: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül](https://reader033.fdocument.pub/reader033/viewer/2022051317/5681642a550346895dd5ebd1/html5/thumbnails/14.jpg)
Felhasználási területekOktatás
AlgoritmusokProgramozásFordító programok
KutatásAlgoritmusok „megalkotása„Elméletek tesztelése
FejlesztésAlgoritmikus problémák megoldása itt és aztán implementálása
DemonstrációAutomatikusan létrejön a megjelenítés, testre szabható,
exportálható a program futása, eredménye, csak a programot kell megírni, az inputot megszerkeszteni.