Informatica
Analiza siarea aplicatiilor de timp realAnaliza si proiectarea aplicatiilor de timp realUn sistem de reglare trebuie sa calculeze solutia ecuatiei cu diferente
unde ei sunt esantioanele intrarii in regulator, ui sunt esantioanele iesirii regulatorului iar ai si bi sunt coeficientii ecuatiei cu diferente ce reprezinta legea de reglare. Configuratia unui sistem de reglare este cea din Figura 58.
Figura 58 . Configuratia unui sistem de reglare. Sistemul de reglare si algoritmul implementat de unitatea centrala de prelucrare (UCP) au urmatoarele parti corespondente, vezi Tabelul 8.
Tabelul 8 . Corespondenta intre sistemul de reglare si algoritmul de reglare. UCP controleaza fluxul de date intre unitati si efectueaza calculele. 1.1 Diagrama fluxului de dateActivitatile unui sistem sunt descrise printr-o diagrama ce arata procesele si fluxul de date intre procese. Diagrama este formata din urmatoarele elemente: flux de date - o conducta prin care trec pachete de date cu o structura cunoscuta. Se reprezinta printr-o sageata continua pentru date si punctata pentru control, proces - o transformare a unui flux de date de intrare intr-un flux de date de iesire. Se reprezinta printr-un cerc, fisier - o memorie temporara a datelor. Se reprezinta printr-o bara, sursa / destinatie - generator de date sau receptor al datelor, Se reprezinta printr-un dreptunghi. Notatia acestor elemente in diagrame este cea din Tabelul 9. Asociat cu diagrama fluxului de date este un dictionar de date care contine toate numele de date, fisiere si procese.
Tabelul 9 . Elementele diagramelor fluxului de date. Exemplu. Vom proiecta un sistem de reglare a puterii unei turbine cu gaz din Figura 59.
Figura 59 . Sistem de reglare a puterii unei turbine cu gaz. Scema de reglare a puterii turbinei este cea din Figura 60.
Figura 60 . Schema de reglare a puterii unei turbine cu gaz. In Figura 61 se arata diagrama de context si relatii intre entitati.
Figura 61 . Diagrama de context si relatii intre entitati. Diagrama fluxului de date pentru exemplu este aratata in Figura 62. 1.2 Diagrama de structura a programuluiDiagrama de structura a programului prezinta legatura intre specificatia problemei si program. Diagrama este constituita din blocuri interconectate de sageti. Fiecare bloc descrie un proces. In program procesul este un modul. Modulele sunt reprezentate prin dreptunghiuri. Un modul este reprezentat in diagrama ca in Figura 63. Sagetile arata fluxul de date si de control. Daca un process trebuie detaliat, el este impartit in parti. Diagrama de structura arata relatia ierarhica intre module. Fiecare modul de program are un punct de intrare si unul de iesire.
Figura 62 . Diagrama fluxului de date. Sagetile arata ca, la executie, controlul trece de la modulul parinte (de nivel inalt) la modulul copil (de nivel scazut). Aceasta insemna ca, la executie, un modul apeleaza alt modul. La apelare modulul paseaza date si primeste rezultate. Acest flux de informatii se numeste "legatura de date". In alte cazuri raspunsul modulului apelat nu este format din date, ci din informatii utilizate pentru controlul programului.
Figura 63 . Reprezentarea unui modul.
Figura 64. Reprezentarea legaturilor intre module. Un modul apelat returneaza totdeauna controlul modulului apelant. Fie de exemplu diagrama din Figura 65.
Figura 65 . Diagrama de structura. Modulul C testeaza daca viteza este intre limitele prescrise, iar rezultatul poate fi o valoare booleana. Alte componente ce pot fi folosite in diagramele de structura sunt urmatoarele.
Tabelul 10. Simboluri utilizate in diagramele de structura. 1.3 Realizarea programelorPrincipalele elemente structurale ale unui program sunt: secventa, selectia, iteratia. In realizarea programelor structurate apar urmatoarele elemente: procese, predicate. Procesul simbolizeaza o transformare de date. Predicatul simbolizeaza decizia, la evaluare are doua rezultate, true (adevarat) sau false (fals). Elementul secvential se reprezinta prin numele functiei pe care o simbolizeaza. Elementul de selectie executa o transformare in functie de valoarea unui predicat. El este if (p) Transformare A; else Transformare B; endif Daca predicatul p este true (adevarat), se executa Transformare A, in caz contrar se executa Transformare B. O alta forma este cea de mai jos, in care Transformare B nu exista. if (p) Transformare A; endif Transformarile A si B pot fi la randul lor procese complexe. Un alt element de selectie este case cu forma case of (tip) case (1) Transformare 1; case (2) Transformare 2; case (n) Transformare n; else Eroare; endcase Elementele de iterare executa repetat un grup de instructiuni atat timp cat o conditie este satisfacuta. Exista doua asemenea elemente, while si until. Elmentul while are forma while (p) Transformare A; endwhile Transformarea se executa atat timp cat predicatul p are valoarea true (adevarat). Modul de executie este urmatorul: se evalueaza predicatul p si daca are valoarea adevarat se executa transformarea si se trece la evaluarea predicatului. Elementul until are forma until (p) Transformare A; enduntil Modul de executie este urmatorul: se executa transformarea si apoi se evalueaza predicatul p. Daca acesta are valoarea true (adevarat) se trece la executia transformarii. De remarcat ca transformarea din elementul until se executa cel putin o data. In cazul elementelor de ciclare este necesar un element care sa permita parasirea elementului de iterare. Acest element se numeste escape. Un exemplu de utilizare a elementului escape este urmatorul. bucla: while (p) if (p1) Transformare 1; else Transformare 2; endif escape bucla if (p2) Transformare 3; endwhile Dupa executia instructiunii if se testeaza predicatul p2. Daca are valoarea true se paraseste elemental while. Un alt element asigura intreruperea executiei transformarii si trecere la testarea predicatului p. Acest element se numeste cycle. Un exemplu de utilizare a elementului cycle este urmatorul. bucla: while (p) if (p1) Transformare 1; cycle bucla; else Transdormare 2; endif Transformare 3; endwhile Dupa executia transformarii 1 se trece la testarea predicatului p. Daca acesta are valoarea adevarat, se executa urmatoarea iteratie a elementului while.
|