Sunteți pe pagina 1din 3

Logical Scheme Emulator

1- Prezentare:

Logical Scheme Emulator (L.S.E.) este o aplicaie care permite modelarea de scheme logice
asociate unui algoritm, urmate de generarea codului aferent schemei, ntr-un limbaj de programare
cunoscut (C++/C).

Aplicaia se adreseaz n principiu celor care ncep s deprind tainele programrii, prin expunerea unei
perspective vizuale, interactive i intuitive n acelai timp, a unui concept ce se asimileaz cu o oarecare
dificultate de ctre nceptori, i anume conceptul de algoritm.

2 I nstalare:

n pachetul cu care vine L.S.E., se gsesc 3 elemente: dou versiuni ale aplicaiei, adaptate la
generarea codului aferent unei scheme n limbajul C++ respectiv n limbajul C, i framework-ul care face
posibil rularea efectiv a aplicaiei. Este vorba despre .NET Framework 4.0. Pe scurt, acest framework
conine mecanisme specifice aplicaiilor .NET, prin care le asigur execuia (CLR), managementul
memoriei (G. Collector), accesul la cod nativ (BCL) i multe altele.
Pentru a instala aplicaia va trebui n primul rnd instalat acest framework (dac nu este deja instalat pe
sistemul dumneavoastr de operare), dup care va trebui s dezarhivai una dintre cele dou versiuni ale
L.S.E.-ului. Nu pot fi ambele instalate simultan ntruct ele sunt mpachetate (packed) n sistem de deploy
utiliznd tool-ul integrat al IDE-ului Visual Studio 2013, deci n ambele cazuri se va instala o singur
aplicaie, denumit generic Windows Application.
Dezarhivai una dintre versiuni, dup care rulai executabilul Setup. Apoi click pe Install i n
secunda imediat urmtoare vei fi n aplicaia L.S.E. Dac dorii s schimbai versiunea aplicaiei (s
trecei la interpretare n C, spre exemplu, presupunnd c a-i instalat-o pe cea care interpreteaz n C++),
va trebui s o dezinstalai pe cea existent. Acest lucru se face prin ControlPanel -> Programs and
Features -> Uninstall a Program -> WindowsApplication. Dezinstalai aceast aplicaie din Control
Panel, dup care instalai noua versiune de L.S.E.
Singura diferen dintre cele dou versiuni este c una interpreteaz codul aferent schemei n limbajul
C++, iar cealalt n limbajul C (este o adaptare nou, deci aceast versiune a aplicaiei este mai puin
stabil comparativ cu cealalt, dar este funcional).

3 Funcionalitate:

Acum am reuit s intrm n aplicaie. n panoul cu butoane albastre din stnga, n partea de jos,
apare un buton pe care scrie Ajutor. Dac dai click pe acest buton o s v apar o fereastr n care sunt
explicate nite instruciuni de utilizare a aplicaiei, precum i o list de algoritmi ce pot fi reprezentai
(algoritmi pentru care aplicaia este stabil).

Practic, utilizatorul face urmtoarele lucruri:
Creeaz schema logic - prin drag & drop plaseaz controale (componente de schem)
pe suprafaa de lucru i completeaz cmpurile considerate cu valori coerente.
Genereaz codul aferent schemei prin apsarea pe butonul Interpretare, care se
dezactiveaz n momentul n care a fost plasat controlul Stop.
Execut codul aferent schemei prin rularea acestuia n IDE-ul Code::Blocks, ce poate fi
accesat direct din fereastra care afieaz codul generat.
4 Detalii tehnice:
Complexitatea aplicaiei este relativ ridicat, ntruct integrarea dintre interfaa vizual i codul
efectiv din spatele proceselor de plasare pe suprafa/interpretare cod/declarare variabile este definitorie
pentru funcionalitatea aplicaiei.
Structura intern a aplicaiei se compune dintr-un arbore stocat ca un vector de structuri, care
menin starea schemei n orice moment, o matrice de coordonate adaptat la suprafaa de lucru, i mai
multe serii de metode care execut diverse task-uri, precum: plasarea unui control pe suprafa, aciunile
care au loc n momentul n care controlul End este invocat, verificarea dac un control condiional este
deja nchis, i multe altele.
Aplicaia a fost dezvoltat n limbajul de programare C#, cu mediul de dezvoltare Visual Studio 2010
(80% din proiect) urmat de Visual Studio 2013 (20% din proiect).
O diagram ce ilustreaz toate entitile care compun proiectul, generat n mediul vizual, este:

5 Limitri
Datorit complexitii ridicate a aplicaiei, nu s-a putut implementa o formul care s i permit
utilizatorului reprezentarea oricrui algoritm, de aceea exist lista de algoritmi din meniul de ajutor. De
asemenea, pentru a rula codul generat n Code::Blocks, este necesar instalarea acestuia n directorul
\Program Files (x86)\, deci L.S.E. ruleaz doar pe maini x64. Un meniu de schimbare de cale este n faz
de proiect n versiunea de C a aplicaiei, dar nc nu s-a definitivat ceva concret.
6 Direcii
Este mai mult dect evident c ideea are un potenial foarte mare. Exportarea unei scheme ntr-un
format unic definit, importarea unui cod n C/C++ urmat de generarea schemei aferente, tratarea
diferitelor errori de I/O, crearea unui navigator care s parcurg suprafaa de lucru, sunt idei care se vor
concretiza n viitoarele versiuni ale aplicaiei.




Respectfully,

Ioni Cosmin
Facultatea de Automatic i Calculatoare din Bucureti, Calculatoare, 315 CC.

S-ar putea să vă placă și