ORTOGONALITATEA PROGRAMELOR C++ SOFTWARE MINING

Mărimea: px
Porniți afișarea la pagina:

Download "ORTOGONALITATEA PROGRAMELOR C++ SOFTWARE MINING"

Transcriere

1 ORTOGONALITATEA PROGRAMELOR C++ SOFTWARE MINING Ion Ivan Daniel Milodin daniel. Academia de Studii Economice Bucure ti Sorin-Nicolae Dumitru Rezumat: Se prezinta conceptul de ortogonalitate pentru enti!ati text. Se construiesc indicatori de masurare a ortogonalita\ii. Se utilizeaza indicatori pentru masurarea 011ogonalitA)ii programelor scrise in limbajul C++. Se analizeaza influenta masurarii ortogonalita)ii asupra cre~terii calitafii programelor C++. Rezultatele sunt bazate pe utilizarea de software destinat studiului ortogonalitalii produselor - program scrise in diferite limbaje de programare. Cuvinte cheie: entitate text, ortogonalitate. 1. Ortogonalitatea entitafilor text Alfabetul este o mul!ime finita, formata din simbolurile ai. a 2, a:i. a... a,,,, unde ns este numarul de simboluri. Cu ajutorul simbolurilor alfabetului, se construiesc vocabularele. Asocierea dintre o serie de simboluri ale alfabetului ~i un element al lumii reale conduce la crearea de termeni reprezentativi ~i la formarea de vocabulare. Vocabularul con\ine asocieri de simboluri care indeplinesc condi\iile: sunt u~or de reprodus; sunt diferite unele de celelalte; au simetrii; sunt in coresponden\a biunivodi cu o mul\ime de sunete, elemente din lumea reala; permite construirea de ~iruri prin concatenare. Vocabularul este construit cu ajutorul simbolurilor alfabetului, iar termenii con\inuti de un vocabular sunt diferi\i. Vocabularele sunt utilizate pentru a reprezenta informa\ia in forma vizuala, fonica, tactila sau mentala. Sunetele reprezinta un vocabular distinct. Sunetul se transmite sub forma oscila\iilor In mediul in care s-a produs fiind perceput de aparatul auditiv In intervale de frecven\e. De asemenea, limitand aria de reprezentativitate a vocabularului la un domeniu strict, acesta este construit pe baza termenilor de referin\a din respectivul domeniu. Spre exemplu, in ceea ce prive~te coloristica, se pleaca de la trei culori de baza ro~u, verde ~i albastru, prin combinarea!or ob\inandu-se alte culori care lmboga\esc atat domeniul respectiv, cat ~i vocabularul acestuia. Domeniul muzical are, de asemenea, la baza un numar de note muzicale, iar prin compunerea de varia\iuni pe baza acestora rezulta noi game de note muzicale ~i noi sunete de reprezentat. In ceea ce prive~te vocabularul unui limbaj de programare, acesta este format din litere mari, litere mici, cifre, operatori ~i separatori. Toate simbolurile con\inute de un limbaj de programare se regasesc in cadrul caracterelor ASCII. Cu ajutorul simbolurilor sunt reprezentate no\iuni sau obiecte. Literele sunt simbolurile cu ajutorul carora se construiesc alfabetele. 0 condi\ie esen\iala pentru ca un simbol sa apartina unui alfabet este aceea de a respecta anumite reguli stricte, care-i pozi\ioneaza in mod unic fa\a de simbolul anterior ~ i fa\a de simbolul urmator. intre litere ~i sunete exista o coresponden\a. Prin intermediul literelor, aceasta coresponden\a este perceputa vizual, fonic sau tactil. in cadrul limbajului, exista simboluri care nu sunt incluse in alfabet. In aceasta categorie intra separatorii ~i simbolurile speciale. Prin conven\ie, separatorul cu cea mai mare frecven\a de apari\ie, utilizat lntre grupurile de litere, este,, blank". In categoria simbolurilor speciale, intra cele utilizate in reprezentarea informa\iei ~i a opera\iilor In diverse ramuri ale ~ti in\ei : matematica, fizica, chimie, informatica etc. Revista Romana de Informatica ~i Automatica., vol. 17, nr. 2,

2 Din setul de caractere ASCII, sunt extrase urmatoarele alfabete: alfabetul format din literele mici: SLm = alblcl... lz; alfabetul format din literele mari: SLM = AIBICl... IZ; alfabetul format din cifrele arabe: SCA= ; alfabetul format din multimea separatorilor: SMS = #I I; I, I I?I.. []. Cu ajutorul alfabetelor definite, sunt descrise cuvintele limbajelor de programare. Cuviintul reprezinta un grup de simboluri din alfabetul A, concatenate ~i aranjate in ordinea C; =a; a;... a~, u~or de pronuntat, unde n; este numarul de simboluri din cuvantul c;. Se asociaza o semnificatie grupului de simboluri in functie de elementele extrase ~i relatia de ordine dintre ele. Un cuvant ci se caracterizeaza prin lungime, Lc(cJ, exprimata ca numar de elemente ce intra in alcatuirea sa. in functie de modul de construire, se <listing urmatoarele clase de cuvinte: cuvinte simple - formeaza lexicul de baza al unui limbaj; cuvinte compuse - se formeaza din agregarea cuvintelor simple prin intermediul operatiilor: prefixare, sufixare, concatenare. Vocabularul VA este o multime formata din cuvinte diferite: VA= {Co, CJ, C2, C3, C4,...., Cn}; Lungimea vocabularului VA poate fi notata cu Lgv(V,J, care indica numarul de cuvinte ce intra in alcatuirea vocabularului. Intre cuvintele vocabularelor se stabilesc asocieri. Astfel, se construiesc dictionare prin intermediul carora se evidentiaza semnificatia textului in doua limbi diferite. Vocabularul textului este constituit din multimea cuvintelor diferite, care apar intr-un text. Vocabularul textului, VT, este inclus in vocabularul VA Uneori, VT este identic cu VA De exemplu, pentru: alfabetul A = {a, b, c, d, e }, vocabularul se construie~te textul: VA = { abc, bbd, ddd, aaaaaaaa, bbbb, eeeee, abced} T = < abc + abc + abc + aaaaaaaa + aaaaaaaa + aaaaaaaa +eeeee+eeeee > Vocabularul textului T, VT, este alcatuit din cuvintele: abc aaaaaaaa eeeee Lungimea vocabularului VT este de 3 cuvinte. Vocabularul VTeste inclus in vocabularul VA. Regulile de construire a vocabularului constau in: pronuntia nativa - succesiuni de sunete asociate cu obiecte, fiinte, procese, fenomene din lumea reala; preluarea de sub~iruri din cuvintele vocabularului; preluarea din alte limbi (neologisme): sponsor, software, hot-dog etc. Textul T reprezinta o succesiune de cuvinte din vocabularul VA delimitate prin separatori. T = { CkJ. Ck2, Cu,..., C1cn }; unde k 1 k kne {l,n}. Lungimea textului este exprimata in urmatoarele moduri: 40 Revista Romana de Informatica ~i Automaticli, vol. 17, nr. 2, 2007

3 LGcAR(I'): numlir de caractere; LGsYMB(I'): numlir de simboluri; LGwoRD(I'): numlir de cuvinte; LGPH(I'): numlir de propozi\ii; LGSTM(I'): numlir de fraze. $ablonul este o formalizare a regulilor de construire a textelor. Textul este impliftit in sub iruri de cuvinte, iar ablonul impune ca fiecare sub ir sli apar\ina unui subvocabular. Un exemplu de ablon este structura unui cod sursli, ce con\ine sec\iuni standard, care se repetli de la un cod sursli la altul. Ceea ce diferli este con\inutul informational, reprezentat prin entitatea text respectivi'i. ~ablonul prive te i un mod de formatare a construc\iilor sintactice. De exemplu, tipul variabilelor, declararea unei proceduri, pozi\ia blocului de declarare a variabilelor etc. De asemenea, existli posibilitatea ca ablonul unei entiti'i\i text sli con(inli informa\ie statici'i, netransmisibilli de la o entitate la alta, i date dinamice, care sunt particulare fieci'irei entitli\i. Operatorii sunt simboluri utilizate pentru precizarea opera\iilor care trebuie executate asupra operanzilor. Operanzii se regi'isesc in constante, variabile, nume de func\ii, expresii. Expresiile sunt entita\i construite cu ajutorul operanzilor i operatorilor, respectiind sintaxa i semantica limbajului. Cea mai simplii expresie este cea formati'i dintr-un singur operand. Separatorul este un simbol ce nu apar(ine alfabetului A, care are rolul de a delimita cuvintele ce alcatuiesc o secventa de cuvinte. Dacli se definesc separatorii Si, s 2,..., s., oricare dintre ei se utilizeazli pentru a delimita cuvintele dintr-o in iruire de cuvinte. Dacli un separator este utilizat consecutiv, se ob\ine o secventa de separatori. Cuvintele cheie sunt construc\iile pe baza cllrora se define te i se delimiteazli un domeniu in mul\imea de activita\i umane. Ele se concretizeazli prin concepte definite in cadrul domeniului. Se procedeazi'i la definirea domeniului pentru care se efectueazli testarea. Existli texte pentru prezentarea domeniului. Cuvintele cheie din textul asociat domeniului apar sub forma de cuvinte cheie i in cazul intrebi'irilor i variantelor de riispuns din bateriile de texte. In cadrul unui limbaj de programare, cuvintele cheie sunt implir\ite pe categorii de aplicabilitate: cuvinte folosite pentru definirea tipului de variabile, cuvinte folosite pentru definirea tipului de constante, cuvinte folosite pentru a realiza instruc\iunile asociate structurilor repetitive sau structuri secven\iale, cuvinte folosite pentru apelarea de func\ii predefinite, cuvinte care apeleazli biblioteci de func(ii. Cuvintele utilizator sunt construc\iile definite de clitre programator; se concretizeazli prin concepte definite in func\ie de necesitatea folosirii acestora; de exemplu, se folosesc cuvinte standard, apar(iniind unui stil de realizare a codului, denumit in limba englezli., coding style", acestea alclituind un vocabular. 0 instrucfiune executabilii realizeazi'i ac(iuni precum: execuu! metode sau proceduri, controleazli fluxul execu\iei codului. 0 instruc\iune este, in unele cazuri, scrisi'i pe mai multe linii prin utilizarea caracterelor de continuare a liniei specifice fieci'irui limbaj. Vocabularul limbajului C++ este format din: literele mici {a,b,c,... z}; literele mari {A,B,C,....,Z}; operatori: Aritmetici operatorii unari de plistrare I schimbare a semnului: + - operatorii binari multiplicativi - de inmul\ire, implir\ire, modulo: * I % operatorii binari aditivi - de adunare i sclidere: + - Rela\ionali "< " "<= " "> " ">=" " " "!= " Revista Romana de Informatica i Automatica, vol. 17, nr. 2,

4 - Logici "!" negatie logica "&&" si logic "II" sau logic - La nivel de bit: - " complementare ">>" deplasare la dreapta "<<" deplasare la stiinga "& "A" "I" si sau exclusiv sau separatorii reprezentati In multimea S S = { '}', '{', ' '(tab), '{space), cuvintele cheie: '(, ')','_ '} pentru domeniul informatic {procedura, variabili'l globala, structura repetitiva} specifice limbajului C++ {char, int, long, float, unsigned, canst, double, function, printf. scanf stdin, stdout, putchar, for, while, return, case, main, include, if, abs} cuvintele definite de utilizator; Tabelul L Cuvinte utilizator ~i semnificatia acestora pentru programator Cuvant utilizator Inc Dec Matricel A B instructiuni (executabile, neexecutabile) Exista mai multe categorii de instrucfiuni executabile: simple: structurare: instructiuni de intrare I ie~ire (Read_ Write); instructiuni de atribuire I memorare; instruc\iuni de transfer (Return_ Exit); instruqiuni de operare liste (inserare, extragere). instruc\iuni secventiale (Begin_ End); instructiuni decizionale I decizia: Semnificatie pentru programator Incrementare Decrement are Numele unei matrice definite de programator Vectorul de numere Vectorul de coresponden/i'l instructiuni cu seleqie simpla (If_ Then_ Else); instruc\iuni cu selec\ie multipla (Case); instruc\iuni repetitive I repeti\ia: ciclu cu test initial (While_Do); ciclu cu test final (Repeat_ Until); 42 Revista Rom na de Informatica ~ i Automatica, vol. 17, nr. 2, 2007

5 ciclu cu contor (For_Do); ape! de procedura I func\ie. lnstrucpunile executabile apeleaza diferite categorii de funcpi de biblioteca. Aceste func\ii sunt parametrizate ~i, prin apelarea lor, se realizeaza particularizarea parametrilor cu care func\ia a fost construitli. using System; public class Exceptie : Exception { public Exceptie(string p _szmotiv) : base(p_szmotiv) {} } lldeclara domeniul de nume utilizat /ldeclara clasa Exceptie derivata din clasa Exception lldeclara inceput de bloc lldeclara ante/ constructor /lapel instrucfiune executabila, executa constructorul clasei mo$tenite llsfrir$it de bloc Un modul de cod poate incepe cu o sec\iune de declara\ii. Prin declara{ii se in\eleg instruc{iuni neexecutabile prin care se definesc constante, variabile ~i proceduri exteme. #define DEBUG /ldeclara constanta preprocesare If def DEBUG llverijica declarare constanta preprocesare Principala componentli a unui program este blocul format din dec/arafii ~i instrucpuni, din linii sursa ce includ: partea de declarare a etichetelor, in care se definesc etichetele folosite in partea de instruc\iuni a blocului; partea de declarare a tipurilor, care con\ine definirea unor tipuri de date pe baza altor tipuri definite anterior, standard sau ale utilizatorului; partea de declarare a constantelor, care cuprinde identificarea constantelor simbolice (identificatori asocia\i unor constante) ~i a constantelor cu tip (variabile ini\ializate in momentul compilarii); partea de declarare a variabilelor, care con\ine definirea tuturor variabilelor specifice blocului respectiv; partea de declarare a procedurilor ~i I sau func\iilor. Programele C++ sunt entita\i text dezvoltate dupa regulile de sintaxa ale limbajului. Se considera P mul\imea programelor C++, definita prin P = { P 1, P 2,...,PN}, unde N reprezintli numarul de programe existente intr-o companie de dezvoltare software. Fie programele P 1 si Pi apartiniind mul\imii P. Se spune ca P; si Pi sunt ortogonale daca indicatorii folosi\i pentru determinarea gradului de asemanare au valori cuprinse in intervalul [0.92;1]. Ortogonalitatea programelor identifica diferen\ele intre programe, pe baza con\inutului lor ~i pe baza modalita\ii de aranjare a con\inutului. Sunt avute in vedere declara\iile flicute in cadrul programelor, cuvintele cheie folosite, structurile repetitive ce stau la baza implementarii programelor, precum ~i rezultatele ob\inute pleciind de la acela~i set de date de intrare. Programele sunt identice daca au un grad de asemanare ridicat, au aceea~i structura, acelea~i cuvinte cheie, ordinea de folosire a acestora este aceea~i, rezultatele furnizate sunt identice ~i numarul de pa~i parcur~i pentru fumizarea rezultatelor corespund. Programe ortogonale prezintli diferente de structura, de realizarea ~i de finalitate. Programe care sufera modificari sunt programele de la care se pleaca in realizarea de noi programe sursa. Diferen\ele intre aceste programe nu sunt mari, noul program re\iniind in structura sa aspecte ce se regasesc in programul original. Programe care sufera interschimb de comenzi, sufera variatii in ceea ce prive~te dispunerea in codul sursa a comenzilor, a declararii variabilelor de lucru, flira a suferi schimbari majore privitoare la termenii utiliza\i ~i la structurile implementate. Programele translatate automat din C++ in Pascal, trebuie considerate neortogonale. Revista Romana de Informatica i Automatica, vol. 17, nr. 2,

6 Scrierea in coresponden\a a cuvintelor cheie permite realizarea de definiri de operanzi echivalen\i in programele C++, pornind de la programele Pascal. Se prezinta coresponden\a intre programele scrise in C++ ~i Pascal, astfel: pentru definirea variabilelor: int float struct switch char* C++ pentru definirea unui articol din programe C++: struct nume { tip1 nume1; tip2 nume2; Pascal integer real record case string tip. nume.; }; ii va corespunde construc\ia in limbajul Pascal, ob\inuta prin translatarea automata: nume = record nume1: tip1; nume2: tip2; nume.: tip.; end; Structurilor alternative multiple din programele C++: switch (expresie) { case vall: {.. break; } case va/2: {.. break;} default: {... break;} } le corespund, prin translatare automata, descrierile urmatoare in limbajul Pascal: case expresie of begin vall: begin... end; val2: begin... end; vain: begin... end; end; Dezvoltarea de software impune o atitudine de asigurare a ortogonalita\ii programelor. Programele aflate intr-un depozit software trebuie supuse unui proces de analiza a ortogonalita\ii. Conceptele utilizate in analiza ~i proiectarea produselor - program sunt: clasii de obiecte - o mul\ime de obiecte care impart o structura ~i un comportament comune; este un ~ablon pe baza caruia se instan\iaza obiecte; 44 Revista Romana de Informatica i Automatica, vol. 17, nr. 2, 2007

7 moitenire - o relatie intre clase prin care o clasli preia atributele ~i metodele definite in una sau mai multe clase; instanfiere - proces de creare a unui obiect i inipalizarea sa cu date specifice; atribut- variabilli definit1! in cadrul unei clase de obiecte; multimea atributelor reflect1! starea unui obiect; metodii - opereaz1l asupra datelor ca rlispuns a mesajelor primite, fiind parte a declaratiei clasei de obiecte; multimea metodelor precizeazli comportamentul unui obiect; obiect - o instantiere a unei clase capabilli sli salveze o stare i care oferli o serie de operatii care examineazli starea i I sau o modificli. 2. Indicatori ai ortogonalitafii programelor C++ Construirea de indicatori ai ortogonalitlitii, care sli respecte toate cerintele impuse indicatorilor, este un obiectiv destul de dificil de realizat. Se urmlire te identificarea cerintelor importante pentru conceptul de ortogonalitate i care, implementate asupra produselor - program supuse analizei, ajutli la identificarea elementelor de originalitate. Existli numeroase abord1lri ale analizei ortogonalitlitii: analiz1! pentru intreaga entitate; analiz1! pe amprente. Pentru studierea ortogonalit1ltii, se propune algoritmul urmlitor: selecfie limbaj, prin care utilizatorul produsului - program are la dispozitie o varietate de limbaje de programare din care poate realiza selectia inainte de procesul de analizli a textelor sursli. Selectia in cauz1l se realizeazli prin intermediul unui control apartinand mediului de dezvoltare C#, denumit ComboBox. Acest control are asociat1l o colectie, in cazul nostru, aceast1! colectie fiind reprezentatli de: C#; PHP; C++; JAVA; VB; se/ec(ie feyiere, care, dupli incheierea cu succes a primul pas, face trecerea la selecpa fi~ierelor de comparare. Acestea sunt definite dupli un ablon prestabilit de programator. Ele trebuie sli respecte o structurli, iar in denumirea fi~ierelor ce contin texte sursl\, sli fie inclus numele limbajului corespunz1ltor. De asemenea, se pot stab iii reguli cu privire la locapa fizicl\, unde trebuie sli fie regllsit textul sursli; selecfie separatori este realizatli automat. Implicit se creeaz1l un fi ier in care sunt inclu i to\i separatorii, in functie de specificul fieclirui limbaj in parte. Aceste fi iere pot ti editate prin intermediul produsului - program; comparare texte sursii este procesul care se realizeazli la nivel de cod, fllrli a vizualiza in mod grafic procesele destll urate pentru determinarea solu\iei; parcurgere fi#ere prin care textele sursli apar\inand aceluia i program sunt parcurse in vederea determinlirii aparitiei cuvintelor din vocabular i calcullirii gradului de asemlinare dintre cele douli. Parcurgerea se realizeazli linie cu linie; consultare vocabular se realizeazli de fiecare datli ciind se determinli un separator de cuvinte. Cuvantul rezultat se comparli cu eel din vocabular. Dacli acestea sunt identice, este retinut pentru o prelucrare viitoare; ca/cul indicatori calculeaz1! frecventele de aparitie ale fieclirui cuvant din vocabular. grad de similaritate: este calculat cu ajutorul indicatorilor prezentati mai sus, formula de calcul fiind datli de rela\ia: G =!!_, r unde: G, - grad de similaritate; h - numlirul de aparitii, in cadrul cuvintelor, ale simbolurilor comune; r -num1lrul maxim de simboluri care formeazli cuvintele analizate. Revista Romana de Jnformatic!l ~i Automatic!!, vol. 17, nr. 2,

8 Grad de asemiinare: determinat cu ajutorul matricelor care eviden\iaza pozi\iile de apari\ie a cuvintelor din vocabular. Acesta se calculeaza dupa formula: D(Tj)= L;= 1 J/lg2f/ unde: D(T 1 ) - grad de asemanare a cuvantului Ti; f / -frecven\ele de apari\ie ale cuvintelor din vocabular In textul T 1. comutativitate arata ca, In caz de comutativitate totala, prin interschimbarea lui Ii cu lj,, textul ramane la fel; interschimb este procedeul prin care matricele sunt ordonate pentru calcularea gradului de asemanare. Se realizeaza interschimbul liniilor sau coloanelor astfel!neat pe primele linii sa fie afi ate cuvintele din vocabular cu gradul de apari\ie eel mai mare; aji$are este procedeul prin care rezultatele ob\inute In urma proceselor prezentate mai sus, sunt furnizate utilizatorului prin intermediul unui mediu vizual, folosind controale specifice mediului de dezvoltare C#. 3. Structura software pentru implementarea metricilor ortogonalitatii Produsul - program realizeaza verificarea gradului de ortogonalitate In cadrul unui depozit software. Sunt definite criteriile de ortogonalitate, structura produselor - program, caracteristicile ce sunt urmiirite pentru verificarea ortogonalita\ii. La crearea software-ului ce testeaza ortogonalitatea se are In vedere faptul ca programele pentru o identificare corecta a gradului de ortogonalitate trebuie sa aiba acee~i structura, sa respecte o anumita compozij:ie. in acest sens, software-ul propus spre analiza realizeaza testarea ortogonalita\ii pentru un depozit de produse - program construite doar in limbajul C++. La crearea software-ul s-a \inut cont de particularita\ile limbajului C++ i, In acela i timp, s-a urmarit ca software-ul rezultat sii aibii un grad de generalitate cat mai ridicat pentru a fi aplicat i pentru studierea ortogonalita\ii altar limbaje de programare i chiar pentru studierea ortogonalitii\ii bazelor de date i chiar a alfabetelor construite cu ajutorul termenilor i denumirilor folosite In cadrul unui anumit limbaj. Demersul este dat de: multitudinea de produse software, existente la ora actuala pe pia\a; stabilirea gradului de asemanare intre produsele software; stabilirea produselor software identice; stabilirea produselor software originale; definirea de opera\ii care sii duca la cre terea gradului de ortogonalitate a produselor - program; diferen\ierea clara a conceptului reutilizare de conceptul inovafie; crearea unui software care sa asigure un proces eficient de filtrare a produselor - program stocate In cadrul depozitului de software; construirea unui concept de transformare a programelor aparent diferite pentru a identifica aspectele in fapt comune, dar care creeaza o falsa impresie de originalitate; spre exemplu secven\ele: int a, b=a+ I; i int a,b; b=a+ J; la prima vedere sunt diferite, insa, In fapt, produc acela i rezultat; conceptul trebuind sa \ina cont de modalitatea ulterioara de utilizare a variabilelor definite; 46 Revista Romana de Informatica ~i Automatic;\, vol. 17, nr. 2, 2007

9 crearea unui software care sll determine dacll un produs - program respectll criteriile de ortogonalitate, astfel!neat sll fie stocat In depozitul de produse - program; se urmllre~te astfel ca informa\ia con\inutll In cadrul depozitului sll aibll redundan\ll minima. Utilizatorul are posibilitatea de a modifica textele sursa existente, de a crea elemente de comparatie, prin intermediul interfe\ei utilizator pusa la dispozitie, sau direct din interfa\a Windows, cu utilitarele specifice fi~ierelor text: NotePad, WordPad, MicrosoftWord. Este oferitll posibilitatea de selec\ie a modului de rulare a produselor program prestabilite, In care sunt prezente cazuri predefinite de programator, singura interac\iune dintre utilizator ~i datele de test fiind vizualizarea, consultarea sau folosirea acestor date In alte produse program prin copierea datelor cu ajutorul instrumentelor Copy ~i Paste. Exista o componentll care necesitll interac\iunea utilizatorului, prin inserarea datelor de text In doull controale TextBox ~i vizualizarea rezultatelor prin apelul evenimentelor de calcul cu ajutorul controlului Button. De asemenea, se configureazll vocabularele ~i separatorii. Produsul - program este extins pe diferite domenii, cum ar fi cele contabil ~i statistic Cerinfe hardware ~i software Cerin{ele hardware ale sistemului sunt influentate de natura distribuitll a acestuia. Este necesara o sta\ie pe care sll ruleze un sistem Windows XP sau 2003 server, pentru a exista compatibilitatea sistemului cu Framework 2.0. Cerin{ele software implicll existenta unui Windows Installer 3.0 sau a unei versiuni mai recente, de asemenea, existenta Framework 2.0 pentru compatibilitatea lntre mediul In care a fost dezvoltata aplicatia ~i fi~ierele existente pe sta\ia de lucru. Structura produsului - program este prezentatll In figura I: Deschidere fi~ier sursll Domeniul contabil Comparare programe cu n/2 linii comune programe complet diferite programe cu n/4 linii comune utilizator Domeniul politic Ajutor Figura 1. Structura aplica\iei Fiecare op\iune prezentatll are drept corespondent o form!! sau mai multe, in func\ie de complexitate, pentru a se realiza cu succes trecerea de la nivelul de cod sursll, la nivelul utilizator. Codul sursa este lmpllr\it In clase, proceduri, functii. In continuare, vor fi prezentate func\iile cu caracter determinant In derularea algoritmilor de comparare a textelor sursll: esteeleme11t: determinll dacll elementul curent se regllse~te In vocabularul specificat la lnceputul apelului; calcfrecvcuv: realizeazll identificarea frecven\elor de apari\ie a unui cuvant din vocabular; calcpozcuv: prin intermediul acestei proceduri, se determina pozi\ia la care a fost gasit elementul, pentru a se construi ulterior matricele de coresponden\ll; aratamatr: se populeaza cele doua controale textbox cu elementele matricei compuse din pozi\iile de apari\ie a cuvintelor din vocabular; calcgradasem: realizeazll identificarea gradului de asem!inare a textelor sursa, care se determina prin raportul dintre numarul de frecven\e identice de apari\ie ~i numarul elementelor de compara\ie din vocabular; Revista Romanll de Informatica ~i Automaticll, vol. 17, nr. 2,

10 calcgradsim: se prelucreaza matricea pentru a se determina cu funqia logaritrnica gradul de asemiinare a doua texte sursa in functie de pozitiile de aparitie a cuvintelor definite in vocabular in textul sursa; ordonarematrfrecv: realizeaza ordonarea matricelor in functie de numarul maxim de apari\ii ale cuvintelor. Aceasta ordonare se realizeaza prin interschimbul liniilor ~i \im'ind cont de comutativitate, care este considerata totala; public class FctComp: este o clasa definita pentru a u~ura lucrul cu func\iile ~i procedurile create. Cu ajutorul acestei clase, apelul func\iilor se realizeaza prin apelul numelui clasei, alaturi de numele functiei/procedurii. De exemplu: F ctcomp. CalcFrecvAparitieO In vederea studierii ortogonalita\ii programelor C++, se creeaza un depozit software, in care sunt stocate programe. Pentru a fi introduse in depozitul software, programele trebuie sa respecte o serie de condi\ii legate de gradul de asemanare dintre ele, pentru a incarca doar programe originale. Un criteriu esen\ial pentru diferen\ierea produselor software este gradul acestora de complexitate. Pe baza acestui criteriu, se realizeaza clasificarea programelor, astfel incat la studierea ortogonalitil.\ii se realizeaza compara\ii pe clase de complexitate, contribuind astfel la imbunatil.\irea timpilor de execu\ie ai programului. 4. Lotul de programe C++ pentru evaluarea ortogonalitafii Lotul de programe destinat testarii produsului software este compus din programe scrise in C++. Programele sunt astfel alese incat sa fie atinse toate caracteristicile programelor C++. Loturile de programe sunt create astfel!neat sa fie atinse toate situa\iile in care se pot regasi doua programe sursa. Din rularea produsului - program, a rezultat ca cele doua coduri sursa se asearnana in propofiie de 25%. Compararea programelor sursa se face folosind acela~i principiu ca ~i compararea textelor. Compararea de texte este opera\ia de punere in corespondenta a douli entitati ETi ~i ETi in vederea stabilirii asemanarilor sau deosebirilor intre ele. Comparabilitatea textelor se analizeaza la urmatoarele niveluri: forma de reprezentare; con\inut informational. Reprezentarea perceptiilor omului privind lumea inconjuratoare se face prin intermediul construc\iilor sintactice, formate din simboluri alfanumerice, grafice, spa\iale. In cea mai mare parte a lor, textele se realizeaza pe baza alfabetului A ~i sunt colectii de cuvinte aranjate intr-o ordine conform regulilor definite. Exista mai multe criterii de comparare a doua entitati text, ET; ~i ET;, pornind de la forma de reprezentare a acestora. Criteriile vizeaza: lungimea entitatii text - este exprimata in mai multe moduri; numar de simboluri utilizate; numar de caractere utilizate cu posibilitatea de a diferentia pe caractere mici ~i caractere mari; numar de cuvinte folosite; numar de pagini; numar de bytes ocupa\i, in cazul entita\ilor text care sun! date in format electronic; lungimea vocabularelor entita\ilor - exprimata ca numar de cuvinte distincte utilizate in construc\ia entita\ilor text ET; ~i ET;; lungimea vocabularelor cuvintelor cheie - sunt luate in considerare cuvintele definitorii pentru domeniul abordat; numarul de cuvinte cheie din titlurile entita\ilor; 48 Revista Romana de Informatica ~ i Automaticll, vol. 17, nr. 2, 2007

11 diversitatea vocabularelor entita\ilor - raporteaza cuvintele din vocabularele entitli\ilor cu cele din vocabularul limbii in care au fost realizate; frecven\ele de apari\ie a cuvintelor din entitli\ile ET 1 ~i ET; - pentru fiecare cuviint din vocabularul unei entita\i se asociaza numarul de aparitii in cadrul entita\ii; frecventele de apari(ie a cuvintelor din vocabularele entita\ilor in raport cu un vocabular definit de utilizator; construirea matricelor de preceden\e in vederea analizei comparate a textelor in func\ie de pozi\iile construc\iilor sintactice. Comparabilitatea textelor din punctul de vedere al con\inutului informational are in vedere urmatoarele aspecte: delimitarea domeniului abordat prin eviden\ierea semanticii cuvintelor cheie; in\elesul cuvintelor specifice domeniului ~i sensul in care acestea au fost utilizate in construc\ia entitli\ii text; acoperirea cadrului conceptual prin utilizarea cuvintelor specifice domeniului; aducerea entita\ilor ET, i ET; la o forma comuna prin eliminarea cuvintelor de legatura i a prefixelor I sufixelor adaugate conform regulilor gramaticale specifice limbii; identificarea sinonimelor pentru cuvintele din vocabularul entita\ilor i modificarea textelor prin utilizarea aceleia i forme a cuviintului; identificarea i prezentarea elementelor de natura teoretica i practica, exprimate in cele doua entita\i, i realizarea de asocieri; identificarea func\ionalita\ilor descrise in texte, inventarierea lor i eviden\ierea eventualelor asocieri. A viind in vedere natura calitativa a aspectelor din lumea reala, prezentate intr-o entitate text, se impune derularea de procese i aplicarea de opera\ii asupra entita\ilor text, supuse analizei comparative. Scopul este de a aduce textele la o aceea i forma cuantificabila din punct de vedere numeric. Criteriile de clasificare a programelor stocate in depozitul software contribuie la identificarea de programe originale, calitative i cu un grad ridicat de solicitare. Valoarea rezultata pentru indicatorul de ortogonalitate este supusa analizei de calitate, iar In urma testelor a rezultat ca indicatorul respecta criteriile de calitate, respectiv necatastroficitate, senzitivitate ~i necompensatoriu. in urma rularii produsului - program, s-a observat ca programele din aceea i clasa de complexitate sunt mai pu\in ortogonale, lucru explicabil prin faptul ca vocabularul programelor este format din acelea i cuvinte cheie, din acelea i tipuri de date, folose te acelea i tipuri de structuri. in tabelul 2 sunt prezentate produse - program identice pentru care este determinat indicatorul de ortogonalitate: Tabel 2. Texte sursa ale programelor identice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System. Windows.Forms; namespace CodPtLicenta namespace CodPtLicenta Revista Romiinli de Informaticli ~i Automaticli, vol. 17, nr. 2,

12 public partial class Form! : Form public partial class Forml : Form public Int32 suma; public FormlO public Int32 suma; public FormlO InitializeComponentO; InitializeComponentO; b) private void suma _ 2numere(Int32 a, Int32 private void suma _ 2numere(Int32 a, Int32 b) this.suma = a+ b; this.suma = a+ b; private void Calculeaza _Click( object sender, EventArgs e) private void Calculeaza_ Click( object sender, EventArgs e) suma_2numere(int32.parse(tbxa.text), Int32.Parse(tbxB.Text)); this.tbxsuma.text = suma.tostringo; suma _ 2numere(Int32.Parse(tbxA. Text), Int32.Parse(tbxB.Text)); this.tbxsuma.text = suma.tostring(); A a cum se observa, indicatorul de ortogonalitate are valoare 0, programele fiind identice atiit in ceea ce prive te partea declarativa, cat i in ceea ce prive te con\inutul. Variabilele sunt declarate folosind acela i format, func\iile sunt declarate ~i apelate in acela~i context, declararea de biblioteci se realizeaza in mod similar. in tabelul 3, sunt prezentate doua programe sursa, a caror ortogonalitate este maximi\. Tabelul 3. Texte sursa total diferite using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System. Windows.Forms; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System. Windows.Forms; 50 Revista Roman[ de lnformaticli. ~i Automatic[, vol. 17, nr. 2, 2007

13 namespace CodPtLicenta namespace CodPtLicenta public partial class Form! : Form public partial class Form! : Form public Int32 suma; public Form!() public Form!() InitializeComponent(); InitializeComponent(); b) private void suma _ 2numere(Int32 a, Int32 this.suma = a + b; private void Calculeaza _Click( object sender, EventArgs e) sum a_ 2numere(Int32.Parse(tbxA. Text), Int32.Parse(tbxB.Text)); this.tbxsuma.text = suma.tostring(); Valoarea indicatorului de ortogonalitate este, in acest caz, J, rezultand ca cele doua produse - program sunt total diferite. Se observa o oarecare asemanare la declararea bibliotecilor, dar acest fapt nu afecteazil cu nimic caracterul de originalitate al programelor, tiut fiind faptul ca nu este important ceea se folose te din cadrul bibliotecilor, ci modul cum se folose~te. Au fost prezentate cele doua situatii extreme in care se afla doua programe sursa, respectiv total diferite ~i identice. In tabelul 4, este prezentata o situatie intermediara. Tabelul 4. Texte sursli in care apar unele diferenfe intre programe using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; Revista Roman~ de lnformatic~ ~i Automatic~, vol. 17, nr. 2,

14 using System.Text; using System.Windows.Forms; using System.Text; using System. Windows.Forms; Using System.SQL; namespace CodPtLicenta namespace CodPtLicenta public partial class Forml : Form public partial class Forml : Form public Int32 suma; public FormlO public FormlO lnitializecomponento; lnitializecomponent(); this.suma=o; MessageBox.Show("Suma a fost intializata cu valoarea O:"); private void Calculeaza _Click( object sender, EventArgs e) private void suma() form I.Close(); break; in acest exemplu, ortogonalitatea este Este foarte important ca, la analizarea surselor programelor, sa fie construite o serie de criterii valide ~i cuprinzatoare pentru caracterizarea produselor software. Doua programe sunt aparent identice, dar schimbari care nu sunt evidente contribuie la furnizarea de rezultate total diferite. In exemplele de mai sus, se observa ca toate secven\ele folosesc acele~i biblioteci, dar aceasta nu inseamna ca toate secven\ele furnizeazli acela~i rezultat. Pentru analiza programelor se folosesc criterii ce cuprind gradul de utilizare a cuvintelor cheie, ordinea de declarare a variabilelor, implementarea structurilor repetitive, variabilele folosite in cadrul structurilor repetitive, numarul de p~i parcur~ i de program pentru a furniza rezultate, nivelul de folosire a variabilelor in cadrul programelor. 5. Cai de cre~tere a ortogonalitatii programelor C++ Prin construirea unui depozit de produse software, se urmare~te crearea de software original, reducerea efortului depus pentru a crea produse - program care sa corespunda cerin\elor formulate de clien\i, prin realizarea de cautliri in cadrul depozitului ~i identificarea solu\iilor propuse pentru aceea~i problema. Daca au fost formulate solu\ii de catre programatori, in baza acordurilor realizate prin aderarea la comunitatea reprezentata de dezvoltatorii ce au contribuit cu programe la realizarea depozitului de 52 Revista Romlln[ de Informatic[ ~i Automaticli, vol. 17, nr. 2, 2007

15 software, ele sunt preluate, studiate ~i modificate pentru a intruni conditiile clientului. Pentru cre~terea ortogonalitatii programelor se urmare~te implementarea solutiilor: specializarea programelor pe tipuri de problematica; crearea de biblioteci care con\in programe specializate ~i apelarea procedurilor din cadrul bibliotecilor, functie de specificul fiecarei probleme de rezolvat; dezvoltarea unui stil de programare adecvat, care face ca la probleme diferite sa fie folosite resurse diferite, in concordanta cu specificul problemei; se evita astfel folosirea inutila de resurse. Cre~terea ortogonalitatii programelor are ca rezultat important cre~terea, tn primul rand, a calitatii produselor software. Programele sunt create pentru a furniza solu\ii. Cu cat solutia pe care respectivul software o implementeaza este mai apropiata de cerinte, cu atat calitatea produsului este mai buna. Se urmare~te axarea pe rezultate ~i mai putin pe continutul in sine al produsului. lnainte de achizi\ie, sunt furnizate seturi complete de teste care identifica erorile de rezultat. Prm construirea unui depozit software, se ofera spre consultare ~i folosire un important stoc de funcpi proceduri, prograrne, comentarii asupra prograrnelor, rezultate fumizate care ajuta la crearea de software de calitate. Problema in discu\ie nu tine de analizarea codului sursa pentru a determina gradul de ortogonalitate, acesta fiind preluat integral, ci de identificarea a procedurilor prin care respectivul cod sursa a fost incorporat in cadrul aplica\iei, cum a preluat sarcinile din partea aplicapei generale ~i cum prelucreaza datele furnizate de utilizator. 1n final, intreaga aplicatie va fi la randul ei disponibila, fiind creata pe baza de software,,liber", programatorul ce se ocupa cu crearea programului principal fiind eel care face diferenta intre doua sau mai multe produse software, care i~i propun ca finalitate realizarea aceluia~i set de cerin\e. Analiza programului apelator combinata cu analiza rezultatelor furnizate ofera suficiente rezultate pentru analiza ortogonalita\ii a doua produse software. Un alt concept deosebit de important avut in vedere o data cu crearea unui depozit software este eel al reutilizarii produselor software, coroborat cu conceptul de inova\ie. Se pune problema efortului depus pentru a descoperi noi produse software care sa aiba o finalitate pentru utilizator comparat cu efortul depus pentru a imbunatati un software existent care are aceea~i finalitate. Ortogonalitatea produselor software trebuie axata pe crearea de software care sa rezolve o serie de cerinte noi, nu sa reinventeze software pentru acelea~i cerin\e. Cre~terea ortogonalita\ii produselor software trebuie sa aiba in vedere ca abordarea de noi domenii pentru crearea de software va face ca noile programe sa difere fundamental de cele vechi. Plecand de la acela~i domeniu de activitate, programele trebuie structurate astfel incat sa ofere o maxima flexibilitate pentru adaptarea acestora la toate cerintele domeniului. Trebuie avuta in vedere la construirea de software cerinte de extindere a aplica\iei la nivelul intregii arii de activitate. Abordarea de noi domenii face ca nivelul de aplicabilitate al informaticii sa creasca ~i conduce la apari\ia de noi oportunita\i privitoare la rolul informaticii in domeniul social. 6. Concluzii Prin studierea ~i aprofundarea conceptului de ortogonalitate a programelor sunt create premisele imbunata\irii calitatii programelor, realizarii de software orientat pe problematica ~i este definit mediul de lucru pentru implementarea conceptului de reutilizare a produselor software. Crearea unui depozit software contribuie la cre~terea eficientei de lucru, la imbunata\irea timpilor de executie a programelor ~i, nu in ultimul rand, la crearea de software superior din punct de vedere calitativ, prin oferirea acestuia spre testare ~i spre integrare in cadrul altor aplica\ii. Depozitul software este structurat pe domenii de interese, sintetizand astfel rezultatele ob\inute in diverse domenii de activitate. Persoanele care au acces in cadrul depozitului beneficiaza de aceasta resursa importanta ~i folose~te modulele deja implementate pentru obtinerea de rezultate conform cu cerin\ele intr-un timp optim. Implementarea unui sistem al calita\ii produselor stocate in depozitul software, abordarea de noi domenii de interes, cre~terea gradului de ortogonalitate sunt factori care conduc la imbunatatirea calira\ii produselor software, la cre~terea gradului de aplicabilitate a acestora ~i, nu in ultimul rand, la o mai buna utilizare a produsului software. Revista Romana de Informatica ~i Automaticll, vol. 17, nr. 2,

16 Bibliografie I. IV AN, I., D. MILODIN, M. POPA: Ortogonalitatea alfabetelor. Revista Romanl! de Informaticl! ~i Automaticl!, vol. 15, nr. 3, 2005, pp IV AN, I., M. POPA, C. BOJA: Opera\ii pe entitli\i text. Conferinta ~tiin\ificl\ Interna\ionall\,,The Dichotomy Poverty - Wealth and Romania's Integration in The European Union", Universitatea,,Lucian Blaga" Sibiu, mai, 2005, vol. 3, pp IVAN, I., M. POPA: Consisten\a entitl!\ilor text, Studii ~i Cercetl!ri de Calcul Economic ~i Ciberneticl! Economicl!, 2005 (in curs de apari\ie). 4. IVAN, I., M. POPA, AL. POPESCU: Classes of Text Entities. Lucrl!rile Workshop-ului International Information Systems and Operations Management, Universitatea Romano - Americanl!, Editura ProUniversalis, Bucure~ti, aprilie, 2005, pp POPA, M.: Text Entities Metrics. in: Informatica Economicl!, vol. 9, nr. 2, 2005, pp IV AN, I., M. POPA: Reprezentativitatea entitl!plor text. Conferinta Interna\ionall! The Impact of European Integration on the National Economy, Universitatea,,Babe~-Bolyai" Cluj-Napoca, octombrie, POPA, M.: Structured Text Entities Metrics. Proc. of The 36th Informational Scientific Symposium ofmetra, Bucure~ti, mai 2005, pp IVAN, I., M. POPA, AL. POPESCU: The Text Entities' Engineering. Workshop-ul international,,collaborative Support Systems in Business and Education", Cluj-Napoca, octombrie 2005, pp Revista Romana de Informatica ~i Automatica, vol. 17, nr. 2, 2007

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja far Mohammed ibn Musâ al- Khowârizmî în cartea sa intitulată

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 3 Elemente introductive ale

Mai mult

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici Operatii pe biti Operatorul conditional Operatori Logici

Mai mult

Microsoft Word - O problema cu bits.doc

Microsoft Word - O problema cu bits.doc O problemă cu bits 1 Tiberiu Socaciu Enunţul Pe pagina Proful de Mate de pe Facebook 2 am primit de la un elev de clasa a IX-a următoarea provocare 3 : Vom oferi două soluţii, una folosind manipulări de

Mai mult

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A 1. Operatii cu matrici 1 Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A+B (adunare), aa (inmultire cu scalar), A-B scadere), AT (Transpusa),

Mai mult

E_d_Informatica_sp_SN_2014_bar_10_LRO

E_d_Informatica_sp_SN_2014_bar_10_LRO Examenul de bacalaureat naţional 2014 Proba E. d) Informatică Varianta 10 Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este de 3 ore. În rezolvările cerute,

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Introducere în limbajul de programare C - C este un limbaj de programare ale cărui caracteristici sunt economia de expresie, structuri moderne de control al fluxului şi de date, precum şi un set bogat

Mai mult

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Logică și structuri discrete Limbaje regulate și automate Marius Minea   marius/curs/lsd/ 24 noiembrie 2014 Logică și structuri discrete Limbaje regulate și automate Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 24 noiembrie 2014 Un exemplu: automatul de cafea acțiuni (utilizator): introdu

Mai mult

Laborator 3

Laborator 3 Laborator 3 Programare III săptămâna 8-12.10.2018 OBIECTIVE: - Folosirea modificatorilor unei clase (public, abstract, final) - Folosirea modificatorilor de acces în declaraţiile membrilor unei clase Noţiuni:

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Transmiterea parametrilor unei funcții Parametrii se transmit de la funcţia apelantă la funcţia apelată prin intermediul stivei. La apelul unei funcţii, pe stivă se crează o înregistrare de activare, care

Mai mult

proiectarea bazelor de date

proiectarea bazelor de date Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Proiectarea bazelor de date Lect.dr. Adrian

Mai mult

Ingineria Sistemelor de Programare

Ingineria Sistemelor de Programare Ingineria Sistemelor de Programare Agregarea si Mostenirea mihai.hulea@aut.utcluj.ro 2019 Compozitia si agregarea Relatia dintre obiecte raspunde afirmativ la intrebarea are un/are o Exemple: Telefonul

Mai mult

E_d_Informatica_sp_MI_2015_bar_02_LRO

E_d_Informatica_sp_MI_2015_bar_02_LRO Examenul de bacalaureat naţional 2015 Proba E. d) Informatică Varianta 2 Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Toate subiectele

Mai mult

Declararea variabilelor

Declararea variabilelor Platforma 3. 1 Instructiuni diverse Declararea variabilelor Tipuri de Date Tipul de dată al unui obiect/variabila specifica tipul informaţiei pe care acel obiect îl poate stoca. Exemplu: numere întregi,

Mai mult

Slide 1

Slide 1 SCTR -SZOKE ENIKO - Curs 4 continuare curs 3 3. Componentele hard ale unui sistem de calcul in timp real 3.1 Unitatea centrala de calcul 3.1.1 Moduri de adresare 3.1.2 Clase de arhitecturi ale unitatii

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 6 Instrucţiunile limbajului

Mai mult

tehnologii web

tehnologii web Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Tehnologii Web Lector univ. dr. Adrian Runceanu 1 Curs 7 Limbajul PHP (partea II) 2

Mai mult

Microsoft Word - Software pentru ordonarea multirang a componentelor unei colectivitati.doc

Microsoft Word - Software pentru ordonarea multirang a componentelor unei colectivitati.doc Software pentru ordonarea multirang a componentelor unei colectivităţi S e prezintă un algoritm pentru dispunerea elementelor unei colectivităţi în raport cu mai multe criterii şi un software aferent,

Mai mult

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 I. NOŢIUNI TEORETICE A. Instrucţiuni condiţionale 1. Intrucţiunea

Mai mult

SUBPROGRAME

SUBPROGRAME SUBPROGRAME Un subprogram este un ansamblu ce poate conţine tipuri de date, variabile şi instrucţiuni destinate unei anumite prelucrări (calcule, citiri, scrieri). Subprogramul poate fi executat doar dacă

Mai mult

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 I. NOŢIUNI TEORETICE A. Ce este un fir de execuţie? Înainte de a defini conceptul de fir

Mai mult

PROGRAMARE ORIENTATA PE OBIECTE

PROGRAMARE ORIENTATA PE OBIECTE Curs 2 Principiile Programării Orientate pe Obiecte Programare Orientată pe Obiecte Tehnici de programare Programarea procedurală Modul în care este abordată programarea, din punct de vedere al descompunerii

Mai mult

Slide 1

Slide 1 1 PROIECTAREA ALGORITMILOR Lect. univ. dr. Adrian Runceanu 1 Curs Alocarea dinamică de memorie în C++ Conţinutul cursului 1. Tipuri de date. Conceptul de pointer 3. Operatori specifici pointerilor 4. Aritmetica

Mai mult

CURS

CURS Capitolul Cuvinte-cheie SOAP, XML, REST, ASP.NET, client web, PHP, NuSOAP IH.12.1. Introducere Ce înseamnă serviciile web? Ele înseamnă invocarea la distanță a metodelor, prin web; limbaje și platforme

Mai mult

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de baze de date: Microsoft.Net (C# & VB) + Microsoft C++

Mai mult

Microsoft Word - Curs_08.doc

Microsoft Word - Curs_08.doc Partea a II-a. Proiectarea bazelor de date Capitolul 6. Tehnici de proiectare şi modele În capitolele precedente s-au analizat modele de baze de date şi limbaje, presupunând în cele mai multe cazuri că

Mai mult

PowerPoint Presentation

PowerPoint Presentation Circuite Integrate Digitale Conf. Monica Dascălu Curs Seminar Laborator notă separată Notare: 40% seminar 20% teme // + TEMA SUPLIMENTARA 40% examen 2014 CID - curs 1 2 Bibliografie Note de curs Cursul

Mai mult

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa a două funcţii care au acelaşi nume În C++ acest lucru

Mai mult

Microsoft Word - Curs_09.doc

Microsoft Word - Curs_09.doc Capitolul 7. Proiectarea conceptuală Scop: reprezentarea cerinţelor informale ale aplicaţiei în termenii descrierii complete şi formale dar independent de criteriul folosit pentru reprezentare în sistemul

Mai mult

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere Scopul acestei lucrări de laborator este de a familiariza

Mai mult

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine numărul de operaţii efectuate de către un algoritm care determină

Mai mult

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Testare automata: exista un mecanism pentru executia fara

Mai mult

Paradigme de Programare

Paradigme de Programare Paradigme de Programare Conf. dr. ing. Andrei Olaru andrei.olaru@cs.pub.ro cs@andreiolaru.ro Departamentul de Calculatoare 2019 9 : 1 / 38 Cursul 9 Concluzie Paradigma Funcțională 9 : 2 / 38 Cursul 9:

Mai mult

PowerPoint-Präsentation

PowerPoint-Präsentation Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Metode Numerice Curs 01 Introducere Gigel Măceșanu 1 Cuprins Obiectivele cursului Organizare: Structura cursului

Mai mult

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G MAGDA COLEGIUL NAŢIONAL ROMAN-VODĂ ROMAN PROIECTUL UNITĂŢII DE ÎNVĂŢARE

Mai mult

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 I. NOŢIUNI TEORETICE A. Suprascrierea metodelor O clasă derivată

Mai mult

Limbaje Formale, Automate si Compilatoare

Limbaje Formale, Automate si Compilatoare Limbaje Formale, Automate şi Compilatoare Curs 1 2018-19 LFAC (2018-19) Curs 1 1 / 45 Prezentare curs Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme

Mai mult

Diapositive 1

Diapositive 1 Tablouri Operatii pe tablouri bidimensionale Lectii de pregatire pentru Admitere 09 / 03 / 2019 1 Cuprins Operatii pe tablouri bidimensionale 0. Tablouri unidimensionale scurta recapitulare 1.Tablouri

Mai mult

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut să stocați douăzeci de nume de angajați în variabile

Mai mult

Microsoft Word - 4Adrian Vizitiu.doc

Microsoft Word - 4Adrian Vizitiu.doc 57 Summary. In the article we present, we drow the reader s attention on the possibility that mediated inferences could become means of making categorical sentences representing new data in the chain of

Mai mult

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx SDA (PC2) Curs 9 Liste / Grafuri / Arbori Iulian Năstac Lista dublu înlănțuită Recapitulare Într-o astfel de listă fiecare nod conţine doi pointeri: unul spre nodul următor şi unul spre nodul precedent.

Mai mult

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart

LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL 0 8.. Aspecte generale Programarea neliniară are o foarte mare importanţă în rezolvarea problemelor de optimizări,

Mai mult

Limbaje de Programare Curs 8 – Fisiere

Limbaje de Programare   Curs 8 – Fisiere Limbaje de Programare Curs 8 Fişiere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Lucrul cu fişiere 2 Fişiere de tip text 3 Funcţii pentru cazuri de eroare 4 Fişiere

Mai mult

Lucrul în mediul Excel 1.1. Componentele ferestrei Excel CAPITOLUL 1 LUCRUL ÎN MEDIUL EXCEL Fereastra Excel figura are numeroase elemente comune

Lucrul în mediul Excel 1.1. Componentele ferestrei Excel CAPITOLUL 1 LUCRUL ÎN MEDIUL EXCEL Fereastra Excel figura are numeroase elemente comune Lucrul în mediul Excel 1.1. Componentele ferestrei Excel CAPITOLUL 1 LUCRUL ÎN MEDIUL EXCEL Fereastra Excel figura 1.1.- are numeroase elemente comune cu ferestrele Windows: o bar[ de meniuri - de unde

Mai mult

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Microsoft Word _POO_Lab_1_Modificari_v01.htm Laborator POO - 00 (draft) 00-00 / 0//00 00_POO_Lab Modificari_v0.htm POO Laborator Modificarea programelor Java. Studiu de caz: programul Salut.java. Varianta care utilizeaza un argument al programului

Mai mult

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolul programelor e de a efectua în principal calcule matematice. Discutăm de aceea structura programelor făcând

Mai mult

Microsoft Word - PCLP2_Curs_4_2019.doc

Microsoft Word - PCLP2_Curs_4_2019.doc 12. Tipuri de date derivate direct - Tipul pointer Tipurile de date derivate direct sunt tipuri de date create pe baza unor tipuri de date existente. In limbajul C, un astfel de tip, nestructurat (simplu),

Mai mult

PowerPoint Presentation

PowerPoint Presentation Auto Id Middleware Preocupă-te de nevoile tale de business, de tehnologie ne ocupăm noi! Vrei să integrezi RFID și alte echipamente Auto Id în procesele tale de business? Concentrează-te pe logica de aplicație

Mai mult

Microsoft Word - Curs1.docx

Microsoft Word - Curs1.docx 1. REPREZENTAREA INFORMAȚIILOR ÎN CALCULATOR 1.1. CONCEPTUL DE DATĂ ȘI INFORMAȚIE Datele desemnează elementele primare, provenind din diverse surse, fără o formă organizată care să permită luarea unor

Mai mult

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 000 standard 3 10 PP Algebră Capitolul I. NUMERE REALE Competenţe specifice: Determinarea

Mai mult

OPERATII DE PRELUCRAREA IMAGINILOR 1

OPERATII DE PRELUCRAREA IMAGINILOR 1 OPERATII DE PRELUCRAREA IMAGINILOR Prelucrarea imaginilor 2 Tipuri de operatii de prelucrare Clasificare dupa numarul de pixeli din imaginea initiala folositi pentru calculul valorii unui pixel din imaginea

Mai mult

Sistem de supraveghere video inteligent cu localizarea automata a evenimentelor de interes SCOUTER, cod proiect PN-II-IN-DPST , contract nr

Sistem de supraveghere video inteligent cu localizarea automata a evenimentelor de interes SCOUTER, cod proiect PN-II-IN-DPST , contract nr -Rezumat- ETAPA II: Algoritmi de procesare si analiza a continutului video - Raport stiintific si tehnic - 1. Introducere In ultimele doua decenii volumul de date achizitionat a cunoscut o rata exponentiala

Mai mult

Microsoft Word - Lab1a.doc

Microsoft Word - Lab1a.doc Sisteme de numeraţie şi coduri numerice 1.1. Sisteme de numeraţie 1.2. Conversii generale între sisteme de numeraţie 1.3. Reprezentarea numerelor binare negative 1.4. Coduri numerice 1.5. Aplicaţii In

Mai mult

Slide 1

Slide 1 STRUCTURI DE DATE Fundamente C/C++ EVALUARE SEMESTRU: 4 puncte Testare cunostinte: 1. Calculator (2 puncte) 2. Scris/Oral (2 puncte) 2 EVALUARE EXAMEN: 6 puncte Test cunostinte (pe calculator): 1 punct.

Mai mult

Subiectul 1

Subiectul 1 Subiectul 1 În fişierul Numere.txt pe prima linie este memorat un număr natural n (n

Mai mult

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursul precedent am prezentat modelul de spaţiu vectorial

Mai mult

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode] Detalii de implementare. Declararea variabilelor, transmiterea parametrilor catre subprograme. Declararea variabilelor variabile globale -declarate in afara oricarei functii variabile locale -declarate

Mai mult

Microsoft Word - Prelegere 1 - Bratu C. - Microcontrolerul.doc

Microsoft Word - Prelegere 1 - Bratu C. - Microcontrolerul.doc ARHITECTURA UNOR MICROCONTROLERE DIN CATEGORIA PIC. TEHNICI DE ADRESARE A MEMORIEI. STRATEGII DE INTRARE-IEIRE 1. Microcontroler contra Microprocesor Microprocesorul, este unitatea central de prelucrare

Mai mult

Top

Top PROGRAMARE ORIENTATĂ PE OBIECTE Tratarea excepțiilor O excepție este o eroare care poate să apară la rularea unui program. Exemple: încercarea de deschidere a unui fișier ce nu există depășirea limitelor

Mai mult

PPSD

PPSD Modele paralele SPMD Modelul SPMD Comunicarea prin mesaje Message Passing Interface Modelul SPMD Modelul SPMD (Single Program Multiple Data) Acesta este un model adecvat calculatoarelor MIMD In cele ce

Mai mult

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Logică și structuri discrete Logică propozițională Marius Minea   marius/curs/lsd/ 3 noiembrie 2014 Logică și structuri discrete Logică propozițională Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 3 noiembrie 2014 Unde aplicăm verificarea realizabilității? probleme de căutare și

Mai mult

Proiectarea Sistemelor Software Complexe

Proiectarea Sistemelor Software Complexe Proiectarea Sistemelor Software Complexe Curs 4 Arhitecturi de Sistem Software Bazate pe Tehnologii Middleware. Obiecte Distribuite. Rolul unui arhitect software este foarte asemănător cu cel al unui arhitect

Mai mult

Microsoft Word - Lucrarea_10_t.doc

Microsoft Word - Lucrarea_10_t.doc Lucrarea 0 Sinteza Dispozitivelor de Înmulţire în Radix Superior Lucrarea urmăreşte o abordare practică, din punctul de vedere al designerului hardware, a problematicii sintezei dispozitivelor hardware

Mai mult

26

26 MODELE STATISTICE UTILIZATE ÎN ANALIZA CORELAT A CIFREI DE AFACERI ASIST. UNIV. DRD. MIHAELA GRUIESCU Universitatea Constantin Brâncui Târgu-Jiu Facultatea de tiine Economice The business, important indicator

Mai mult

Microsoft Word - L63 FPGA.doc

Microsoft Word - L63 FPGA.doc Programarea hardware-ului reconfigurabil cu modulul LabVIEW 7 FPGA conf. Tom SAVU U.P.B. C.T.A.N.M. Odat cu lansarea noii versiuni LabVIEW 7 Express a mediului su de programare grafic, National Instruments

Mai mult

Paradigme de programare

Paradigme de programare Curs 4 Transparență referențială. Legare statică / dinamică. Modelul contextual de evaluare. Transparență referențială Cuprins Efecte laterale Transparență referențială 2 Efecte laterale Efecte laterale

Mai mult

Lecţia 2 Structura liniară, alternativă şi repetitivă Clasa a V-a Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o

Lecţia 2 Structura liniară, alternativă şi repetitivă Clasa a V-a Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o Structuri de bază(liniară, alternativă şi repetitivă) Programarea structurată este o manieră de concepere a programelor, potrivit unor reguli bine definite şi independent de limbajul de programare. Scopul

Mai mult

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Limbaje de Programare   Curs 6 – Functii de intrare-iesire Limbaje de Programare Curs 6 Funcţii de intrare-ieşire Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Citire formatată 2 Citirea şirurilor de caractere 3 Citirea unor linii

Mai mult

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx SDA (PC2) Curs 10 Arbori Iulian Năstac Definiția 1: Arbori Recapitulare Arborele este un graf orientat, aciclic și simplu conex. Definiția 2: Un arbore este un ansamblu de structuri de date de natură recursivă

Mai mult

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (vezi Program C) - BUILD: operație complexă prin care

Mai mult

Lab6LCD

Lab6LCD LABORATOR 6 - Interfaţă pentru afişor cu cristale lichide (LCD), partea II-a Scopul lucrării În laboratorul anterior s-au implementat funcţiile rd_lcdreg(char vrs), wr_lcdreg(char vrs, char data), void

Mai mult

Analiză statică Analiza fluxului de date 23 octombrie 2014

Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică: definiție O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăți ale programului sursă. (in

Mai mult

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII- Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard 3 Algebră Capitolul I. MULŢIMEA NUMERELOR RAŢIONALE Identificarea caracteristicilor numerelor raţionale

Mai mult

CL2009R0976RO bi_cp 1..1

CL2009R0976RO bi_cp 1..1 2009R0976 RO 31.12.2014 002.001 1 Acest document reprezintă un instrument de documentare, iar instituţiile nu îşi asumă responsabilitatea pentru conţinutul său. B REGULAMENTUL (CE) NR. 976/2009 AL COMISIEI

Mai mult

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx Curs SDA (PC2) Curs 4 Structuri de date (continuare) Iulian Năstac 10. Funcţii pentru alocarea dinamică a memoriei (Recapitulare) Alocarea dinamică este caracteristica prin care un program poate obţine

Mai mult

Object Oriented Programming

Object Oriented Programming UNIVERSITATEA BABEŞ-BOLYAI Facultatea de Matematică şi Informatică Programare orientată obiect Curs 02 Laura Dioşan 2 POO Elemente de bază ale limbajului C++ Referinţe şi pointeri Vectori TAD-uri 3 Tipul

Mai mult

Aggregating Data

Aggregating Data Subinterogări. Subinterogări multi-row. Formatarea rezultatelor unei interogări Obiective Prin parcurgerea acestui referat studentul va dobândi cunoştinţele necesare: identificării funcţiilor grup disponibile;

Mai mult

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace 174 12 Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este aceasta văzută de programatorul în limbaj de nivel înalt.

Mai mult

Slide 1

Slide 1 CURS 4 Structura generală a unui program C Program - ansamblu de instrucţiuni incluse în una sau mai multe funcţii, care specifică operaţiile ce trebuie efectuate asupra unor date pentru a fi prelucrate

Mai mult

Microsoft Word - Alina-Mihaela ION - TEHNOLOGIA INFORMA?IEI CU APLICA?II

Microsoft Word - Alina-Mihaela ION - TEHNOLOGIA INFORMA?IEI CU APLICA?II Tehnologia informației cu aplicații în sistemul de învăţământ superior din domeniul economic Alina-Mihaela ION TEHNOLOGIA INFORMAȚIEI CU APLICAȚII ÎN SISTEMUL DE ÎNVĂŢĂMÂNT SUPERIOR DIN DOMENIUL ECONOMIC

Mai mult

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj 2.3.5.2 Modul Modbus ASCII Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj este trimis ca doua caractere ASCII (de exemplu, octetul 0x7A este transmis ca doua caractere 0x37 = 7, respectiv

Mai mult

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din 28.02.2017 Profesor: prof. Clasa: a V-a A, B Nr. ore= 34 ore Nr. ore/săpt= 1 oră 2017-2018 PLANIFICARE

Mai mult

Microsoft Word - Curs_10.doc

Microsoft Word - Curs_10.doc Capitolul 8. Proiectarea logică Scop - construirea unei scheme logice ce reprezintă corect şi eficient toate informaţiile descrise într-o schemă entitate-relaţie Etape: Restructurarea schemei E-R fază

Mai mult

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: PROIECTUL UNITĂŢII DE ÎNVĂŢARE ALGORITMI Notă: filmele didactice, dezbaterile, jocurile

Mai mult

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez Prietenul meu, ul CLASA a V - a, ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dezvoltarea şi răspândirea informaticii, impun o pregătire diversificată a tinerilor în acest

Mai mult

Analiză de flux de date 29 octombrie 2012

Analiză de flux de date 29 octombrie 2012 Analiză de flux de date 29 octombrie 2012 Analiză statică: definiţie O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăţi ale programului sursă. (in principal corectitudinea,

Mai mult

Microsoft Word - Carte_APDSV_v8

Microsoft Word - Carte_APDSV_v8 6. SEGMENTAREA SPAIAL A CADRELOR VIDEO Scopul acestui capitol este familiarizarea cu informaiile de baz referitoare la segmentarea spaial a cadrelor video în zone omogene, obiecte i regiuni semantice.

Mai mult

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiilor (engl. Information Retrieval, IR) constă în găsirea

Mai mult

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Logică și structuri discrete Relații. Funcții parțiale Marius Minea   marius/curs/lsd/ 20 octombrie 2014 Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 20 octombrie 2014 Relații în lumea reală și informatică Noțiunea matematică de

Mai mult

Microsoft Word - Curs_07.doc

Microsoft Word - Curs_07.doc 5.3 Modificarea datelor în SQL Pentru modificarea conţinutului unei baze de date SQL pune la dispoziţie instrucţiunile insert, delete şi update. 5.3.1 Inserări în baza de date Sintaxa instrucţiunii insert

Mai mult

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea de Vest din Timișoara 1.2 Facultatea Matematică și Informa

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea de Vest din Timișoara 1.2 Facultatea Matematică și Informa FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea de Vest din Timișoara 1.2 Facultatea Matematică și Informatică 1.3 Departamentul Informatică 1.4 Domeniul de

Mai mult

Microsoft Word - Ansamblul software CRONIS

Microsoft Word - Ansamblul software CRONIS Ansamblul software CRONIS este un sistem decizional multiagent pentru generarea, optimizarea şi managementul RRBCN/RNBCN pornind de la un set de date medicale complexe, rezultate din entități medicale

Mai mult

Discipline aferente competenţelor Facultate: Facultatea de Electronică şi Telecomunicaţii Universitate: UNIVERSITATEA POLITEHNICA DIN TIMIȘOARA Domeni

Discipline aferente competenţelor Facultate: Facultatea de Electronică şi Telecomunicaţii Universitate: UNIVERSITATEA POLITEHNICA DIN TIMIȘOARA Domeni Discipline aferente competenţelor Facultate: Facultatea de Electronică şi Telecomunicaţii Universitate: UNIVERSITATEA POLITEHNICA DIN TIMIȘOARA Domeniu fundamental: Domeniu de studiu: Ştiinţe inginereşti

Mai mult

PHP (II)

PHP (II) PHP şi MySQL Bazele de date sunt colecţii de date, aranjate într-o anumită formă Operaţii : - Crearea bazei de date; - Conectarea la baza de date; - Inserarea datelor in baza de date; - Ștergerea datelor

Mai mult

METODE NUMERICE ÎN INGINERIE

METODE NUMERICE ÎN INGINERIE METODE NUMERICE ÎN INGINERIE REZOLVAREA NUMERICĂ A SISTEMELOR DE ECUATII LINIARE Aspecte generale (1) (2) (3) (4) (5) Unicitatea soluţiei Un sistem de ecuaţii liniare are o soluţie unică numai dacă matricea

Mai mult

FD Informatica

FD Informatica 1. Date despre program 1.1. Instituţia de învăţământ superior FIŞA DISCIPLINEI Universitatea Spiru Haret, Bucureşti 1.2. Facultatea Ştiinţe Economice 1.3. Departamentul Ştiinţe Economice 1.4. Domeniul

Mai mult

Limbaje de Programare Curs 5 – Siruri de caractere

Limbaje de Programare   Curs 5 – Siruri de caractere Limbaje de Programare Curs 5 Şiruri de caractere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Şiruri de caractere 2 Tipul pointer 3 Funcţii cu şiruri de caractere Şiruri

Mai mult

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; paranteze: (, ); simbolul de egalitate =; cuantificatorul

Mai mult

Metode avansate de gestiune a documentelor și a sistemelor de calcul - LABORATOR 1 -

Metode avansate de gestiune a documentelor și a sistemelor de calcul - LABORATOR 1 - METODE AVANSATE DE GESTIUNE A DOCUMENTELOR ȘI A SISTEMELOR DE CALCUL - LABORATOR 7 - Asist. Diana Florina Șotropa www.cs.ubbcluj.ro/~diana.sotropa 1. Adăugarea unei funcții simple: Lansați Microsoft Excel

Mai mult