www.referat.ro sisteme expert

35
Ministerul Educației și Tineretului din Republica Moldova Universitatea Cooperatist Comerciala din Moldova Disciplina: Baze de date și sisteme expert Referat Tema: Sisteme Expert Verificat: Zaftoni Efectuat: studentul grupei TMAP-1221 Leca Radu

Upload: radu-leca

Post on 06-Nov-2015

263 views

Category:

Documents


4 download

TRANSCRIPT

www.referat.ro

Ministerul Educaiei i Tineretului din Republica MoldovaUniversitatea Cooperatist Comerciala din Moldova

Disciplina: Baze de date i sisteme expert

Referat

Tema: Sisteme Expert

Verificat: Zaftoni

Efectuat: studentul grupei TMAP-1221 Leca Radu

Chiinu 2013

www.referat.roSISTEME EXPERT

In orice domeniu de activitate exista probleme cu grad ridicat de dificultate care pot fi solutionate numai de catre expertii umani, dar elementul central al prelucrarii inteligente il constituie rationamentul artificial.Sistemele expert sunt sisteme de programe bazate pe tehnicile inteligentei artificiale care inmagazineaza cunostintele expertilor umani dintr-un domeniu bine definit si apoi le folosesc pentru rezolvarea problemelor din domeniul respectiv.

Sistemul expert, prin incercarea de a imita expertul uman, prezinta urmatoarele caracteristici: cunostintele sunt independente de mecanismul de rationament (modificarea unui anumit element nu influenteaza rationamentul); spre deosebire de programarea clasica (unde trebuie sa se descrie explicit toate prelucrarile intr-o maniera statica), sistemele expert se caracterizeaza printr-o abordare declarativa in care se specifica cunostintelece vor fi exploatate in mod dinamic de mecanismul de rationament; sistemele expert trebuie sa fie capabile sa explice rationamentele facute si sa argumenteze solutiile obtinute intr-o maniera asemanatoare expertului uman; cunostintele manipulate de sistemele expert sunt in principal de natura simbolica, spre deosebire de programele clasice care utilizeaza prepoderent date numerice; sistemele expert trebuie sa fie capabile sa gestioneze baze de cunostinte de volum mare si sa trateze cunostintele inexacte sau incomplete; sistemele expert utilizeaza metode empirice bazate pe experienta care conduc la solutiile cele mai bune. sistemul expert este specializat intr-un anumit domeniu sin u in rezolvarea unei singure probleme ca programele informatice clasice. 1)Structura sistemelor expertStructura unui sistem expert contine:- baza de cunostiinte;- baza de fapte;- motorul de inferenta;- modulul explicativ;- modulul de achizitie al cunostintelor;- inferfata cu utilizatorul.

a)Baza de cunostinteBaza de cunostiinte contine ansamblul de cunostiinte specializate intr-un anumit domeniu. Astfel exista mai multe metode de reprezentare a cunostintelor, dintre care cele mai importante sunt: retelele semantice; regulile de productie; cadrele.Procesul de creare a bazei de cunostinte este amplu si consta in: preluarea cunostintelor de la expertul uman; modelarea cunostintelor in conformitate cu cerintele metodei de reprezentare; introducerea in baza si validarea cunostintelorb)Baza de fapteContine datele unei probleme concrete care urmeaza sa fie rezolvata (formulareaproblemei), precum si faptele rezultate in urma rationamentelor efectuate de motorul deinferenta asupra bazei de cunostinte.c)Motorul de inferentaMotorul de inferenta este elemental efectiv de prelucrare in sistemul expert care, pornind de la fapte (datele de intrare ale problemei) activeaza cunostintele corespunzatoare din baza de cunostinte, construind astfel rationamente care conduc la fapte noi.Motorul de inferenta construieste un plan de rezolvare al problemei in functie de specificul acesteia, utilizand cunostintele din domeniul respective.In urma actiunii motorului de inferenta intr-un anumit context, baza de cunostinte se imbagateste fie prin adaugarea unor elemente noi, fie prin modificarea celor existente.In consecinta, motorul de inferenta este un program care implementeazaaltgoritmii de rationament (deductivi, inductivi sau mixti) dar care este independent de baza de cunostinte.d) Modulul explicativModulul explicativ are rolul de a prezenta intr-o forma larg accesibila, justificarearationamentelor efectuate de motorul de inferenta si, totodata, prezinta intrebarile la caretrebuie sa raspunda utilizatorul.e)Modulul de achizitie a cunostintelorModulul de achizitie a cunostintelor are rolul de a transforma cunostintele dinforma in care le exprima utilizatorul, in forma sa interna. Totodata, acest modul asigura si interfata de comunicare cu baza de date.f)Interfata cu utilizatorulInterfata cu utilizatorul realizeaza dialogul utilizatorului cu sistemul expert insensul specificarii datelor de intrare si al furnizarii rezultatelor pentru problema de rezolvat.2)Obiectivele sistemelor expertSistemele expert se dezvolta cu ajutorul unei metodologii informatice care urmareste trei obiective principale si trei obiective derivate.Obiectivele principale sunt: achizitionarea usoara a cunoasterii -prin exprimarea cat mai direct posibila aexpertizei obtinute de la expertii umani; exploatarea eficienta a colectiei de cunostinte prin: o combinarea si inlantuirea cunostintelor pentru a infera noi cunostinte prin judecati, planuri, demonstratii, decizii si predictii; luarea in seama a modului in care sunt inferate noile cunostinte. sa suporte cu usurinta intreaga gama a operatiunilor asupra cunostintelor(adaugarea, modificarea si eliminarea acestora).Obiectivele derivate sunt: reducerea riscurilor - este posibila prin integrarea unui mare volum de informatii, exeperienta si cunostinte valide provenind din cele mai variate surse; cresterea creativitatii este posibila prin identificarea anticipata actiunilor cu unputernic potential, capabile de modificare, cu impact asupra concurentei, asupradiferentei de calitate, de valoare, etc.; invatarea are in vedere posibilitatile de acumulare a cunoasterii si folosirea ei inmultiple domenii cu luarea in seama a tuturor schimbarilor intervenite in mediu,in metodele de rationament, in conceptele si metodele utilizate in solutionareaprobelmelor.3)Modul de lucru al sistemelor expertExista trei activitati majore care fac parte integranta dintr-un sistem expert: dezvoltarea; consultarea; imbunatatireaDezvoltareaunui sistem implica obtinerea bazei de cunostinte prin achizitionarea cunoasterii de la experti sau din alte surse. Cunoasterea este separata in cunoastere declarativa (bazata de fapte) si cunoastere procedurala (bazata pe reguli).Dezvoltarea include totodata si construirea sau achizitia unui motor de inferenta, precum si a celorlalte module componente.Consultarea dupa ce sistemul este dezvoltat si validat, este trecut in exploatarea utilizatorilor. In cazul in care utilizatorii dorec un sfat, o recomandare sau un alt rezultat de la sistem, aceste este lansat in sesiunea de cosultare care se desfasoara printr-un dialog, si anume: utilizatorul poate adresa intrebari pentru a-si procura faptele despre situatiaspecifica in care se afla; sistemul accepta intrebarile si ofera raspunsuri. Acest efort il efectueaza motorul de inferenta, singurul care decide ce altgoritm sa utilizeze pentru cautarea raspunsului cel mai adecvat la intrebarea adresata.Sistemele expert pot adresa la randul lor intrebari si pot astepta raspunsuri de la utilizatori.Imbunatatireasistemelor expert este posibila in mai multe moduri si se efectueaza printr-un proces de prototipizare.

UTILIZAREA SISTEMELOR EXPERTIN DOMENIUL FINANCIAR CONTABIL

Atat la nivel de intreprindere, cat si la nivel bancar, o parte a deciziilor pot fiadoptate cu ajutorul unor sisteme expert. Indiferent de domeniu, s-au conturat in timp trei tipuri de sisteme expert: sisteme expert de tip diagnostic presupune realizarea unei expertize; sisteme expert pentru previziune-planificare - sunt utilizate in scopul elaborarii de programe sau planuri optime; sisteme expert de control sunt utilizate pentru a sprijinii decizii ce trebuieadoptate in timp extrem de rapid si care prelucreaza un volum foarte mare de date.La nivel de intreprindere, principalele activitati pentru care se pot dezvolta sisteme expert sunt: analiza si planificarea financiara; gestiunea trezoreriei; alegerea variantelor de finantare a unei investitii.

Aplicatii ale sistemelor expert

Aplicatii ale sistemelor expert in domeniul gestiunii in productie: diagnosticul si intretinerea sistemelor; controlul calitatii; controlul proceselor in timp real. in finante: consiliere in plasamentele financiare; gestiunea impozitelor; marketing financiar; diagnostic financiar; acordarea de credite; planificarea financiara; gestiunea de portofolii. in gestiunea resurselor umane: evaluarea functiilor; stabilirea baremurilor; selectia personalului; determinarea profilului angajatilor. in marketing: evaluarea potentialului pietei; analiza fortei si slabiciunilor concurentei; gestiunea tlelelor de distributie; alegerea mediilor publicitare.

Aplicatii ale sistelemor expert in domeniul financiar in asigurari: planificare financiara; plasamente investitionale. in activitatea bancara: prezentarea incasarilor din vanzari; confruntare clienti-produse; gestiunea datoriilor; schimburile cu strainatatea; valuarea creditelor; tranzactii bancare; evaluarea riscului bancar; credite comerciale. brokeraj: vanzari de actiuni; analiza investitiilor; gestiunea riscului; prelucrarea tranzactiilor; monitorizare pret actiune; gestiunea ratei dobanzii.

in cotabilitate: audit; planificarea impozitelor intreprinderii; determinarea impozitului de profit; planificare financisra; contabilitate financiara; contabilitate de gestiune - in acest domeniu, sistemele expert ocupapatru zone functionale:sistem pentru control intern si audit;sistem pentru impozitare (interpretarea si aplicarea legislatiei privind impozitatea);sisteme de planificare financiara;sisteme pentru interpretarea actelor normative, altele decat cele referitoare la impozitare.

In cadrul managementului financiar se contureaza patru domenii, fiecare din ele avnd obiective distinse, formnd, n acelasi timp, un ntreg, datorita interactiunilor puternice existente:1. Analiza financiara vizeaza aprecierea situatiei ntreprinderii sub aspectul rentabilitate-risc, depistarea deficientelor si estimarea posibilitatilor de dezvoltare, avnd semnificatie att ca procedeu aparte (utilizat n vederea evaluarii situatiei financiare actuale), ct si ca procedeu folosit n cadrul celorlalte domenii, pentru examinarea posibilelor urmari ale deciziilor luate.2. Planificarea financiara are ca obiectiv stabilirea unei strategii de dezvoltare a ntreprinderii, care va fi consemnata n sistemul bugetar. Previziunile bugetare au o influenta puternica asupra deciziilor fina nciare, iar adoptarea unor decizii concrete va genera, la rndul sau, un proces de feedback n sensul precizarii si ajustarii previziunilor.3. Managementul financiar pe termen scurt, se refera la gestiunea activelor si pasivelor circulante, deciziile adoptate avnd un efect imediat asupra situatiei financiare a ntreprinderii. Studiind amanuntit ceea ce tine de gestiunea trezoreriei se poate observa ca n acest punct se ntrunesc toate deciziile financiare, inclusiv cele referitoare la managementul financiar pe termen lung.4. Managementul financiar pe termen lung, are ca obiect analiza si selectarea proiectelor de investitii si a surselor de finantare, deciziile adoptate fiind nregistrate n bugetele de investitii, ca parte integranta a sistemului bugetar al ntreprinderii. Conceptia generala a sistemului expert pentru asistatrea deciziei financiare la nivel microeconomic este prezentata n figura 1.Modelul propus este sustinut de urmatoarele argumente:1. Divizarea n patru domenii analiza, planificare, management pe termen scurt si management pe termen lung este argumentata fiind gradul ridicat de complexitate si de faptul ca domeniile vizeaza obiective diferite.2. Interactiunea ntre modulele expert este asigurata pe doua cai: prin intermediul informatiilor cu care se opereaza (de exemplu, deciziile luate n cadrul planificarii financiare si consemnate n sistemul bugetar influenteaza deciziile care tin de managementul pe termen scurt); n mod direct (de exemplu, n cadrul planificarii financiare se apeleaza la analiza financiara).3. Datele cu care se opereaza n cadrul managementului financiar sunt utilizate si n alte domenii. Indiferent ca datele sunt n forma electronica sau nu, oricum este necesara o interfata care sa asigure comunicarea cu sistemul informatic al ntreprinderii.Pentru a decide asupra mecanismelor care ar putea fi utilizate la solutionarea problemelor vizate de managementul financiar este necesara o analiza mai detaliata a acestor probleme. n continuare se propune un continut problematic si mecanisme corespuzatoare de rezolvare.

Analiza financiara

Descrierea problemelor1. Analiza n baza ratelor financiare1.1. Analiza solvabilitatii ntreprinderii are n vedere calcularea si interpretarea ratelor de lichiditate.1.2. Analiza managementului datoriei are n vedere calcularea si interpretarea ratelor privind managementul datoriei.1.3. Analiza managementului activelor are n vedere calcularea si interpretarea ratelor de rotatie.1.4. Analiza rentabilitatii ntreprinderii are n vedere calcularea si interpretarea ratelor de rentabilitate, dar si descompunerea acestor rate pentru a evidentia factorii de influenta.1.5. Analiza abilitatii ntreprinderii de a-si mentine pozitiile economice are n vedere calcularea si interpretarea ratelor de crestere.1.6. Analiza valorii de piata a ntreprinderii are n vedere calcularea si interpretarea ratelor de piata.1.7. Evaluarea riscului de faliment are n vedere calcularea scorului conform unei functii-scor si interpretarea rezultatului.

2. Analiza echilibrului financiar2.1. Analiza lichiditate-exigibilitate are n vedere sinteza datelor contabile sub forma de bilant financiar, calcularea indicatorilor de echilibru financiar si interpretarea rezultatelor.2.2. Analiza functionala are n vedere sinteza datelor contabile sub forma de bilant functional, calcularea indicatorilor de echilibru functional si interpretarea rezultatelor.3. Analiza rezultatelor de gestiune3.1. Soldurile intermediare de gestiune au n vedere calcularea si interpretarea soldurilor intermediare de gestiune.3.2. Repartizarea valorii adaugate are n vedere o evaluare a distributiei veniturilor ntre participantii directi si indirecti la activitatea economica a ntreprinderii.3.3. Capacitatea de autofinantare are n vedere calcularea capacitatii de autofinantare, distributia acesteia si interpretarea rezultatelor.4. Analiza fluxurilor financiare4.1. Tabloul de finantare nevoi-resurse are n vedere construirea tabloului nevoi-resurse si interpretarea rezultatelor.4.2. Tabloul fluxurilor financiare are n vedere construirea tabloului fluxurilor financiare si interpretarea rezultatelor.4.3. Tabloul plurianual al fluxurilor financiare are n vedere construirea tabloului plurianual al fluxurilor financiare si interpretarea rezultatelor.4.4. Cash-flow-ul disponibil are n vedere calcularea cash- flow-ului disponibil (evidentiind originea si distributia acestuia) si interpretarea rezultatelor.5. Analiza cost-volum-profit are n vedere identificarea costurilor fixe si variabile, calcularea si interpretarea unei serii de indicatori.

DOMENII DE CERCETARE1. Arhitectura sistemelor de calculUrmreste s elaboreze noi concepte prin care s se sustin hardware si software dezvoltarea unor sisteme de calcul superioare realizrilor actuale. Se au n vedere n primul rnd arhitecturile neconventionale.2. Sisteme distribuite si retele de calculatoareSistemele distribuite si retele de calculatoare sunt dou domenii strns nrudite, care se refer la facilitti de calcul cu diferite grade de distribuire geografic, avnd resursele potential utilizate n comun. Arhitecturile, sistemele de operare, limbajele si mediile de programare pentru aceste sisteme constituie domenii de cercetare foarte active pe plan international.3. Ingineria programarii. Verificare si validare softwareIngineria programrii desemneaz o colectie de concepte, tehnici, unelte si proceduri pentru realizarea eficient a unor sisteme software mari, cu caracteristici calitative superioare.4. Fiabilitatea sistemelor de calculConfigurarea de sisteme de calcul tolerante la defecte, Inginerie concurent, Normalizarea mijloacelor de crestere a testabilittii, Cresterea disponibilittii, mentenabilitsii si fiabilittii sistemelor de calcul.5. Structuri de date si algoritmi. Proiectare, analiza si performante.Domeniul de cercetare abordeaz studiul structurilor de date si al algoritmilor din punct de vedere teoretic si experimental cu accent deosebit pe analiza performantelor. Se urmresc cu precdere interconditionrile dintre cele dou domenii si impactul noilor tehnologii de programare asupra optimizrii performantelor produselor software.6. Sisteme timp-realDomeniul de cercetare abordat vizeaz dezvoltarea de sisteme de programe si a unor sisteme timp-real n contextul unor aplicatii dedicate. Un prim obiectiv n cadrul acestui domeniu l constituie proiectarea, implementarea, testarea si determinarea performantei unor astfel de sisteme. Un al doilea obiectiv l reprezint dezvoltarea de software de baz de mare performant si flexibilitate pentru sisteme distribuite si n timp-real. Obiectivul final este acela de a dezvolta o metodologie de proiectare, implementare si testare a unor astfel de sisteme si de a o integra ntr-un mediu de dezvoltare specializat.7. Cuantizarea si prelucrarea numerica a semnalelor.Domeniul de cercetare abordat vizeaz dezvoltarea sistemelor de achizitie, distributie si prelucrare a semnalelor analogice n form numeric, n contextul unor aplicatii dedicate. Un prim obiectiv n cadrul acestui domeniu l constituie proiectarea, implementarea, testarea si determinarea performantelor unor astfel de sisteme. Un al doilea obiectiv l reprezint dezvoltarea de sisteme distribuite si n timp-real, de mare performant si flexibilitate, pentru aplicatii industriale, medicale si din alte domenii. Realizarea acestor obiective asigur baza material pentru dezvoltarea si verificarea contributiilor teoretice elaborate n cadrul activittii de cercetare aplicativ din acest domeniu.8. Sisteme de inteligenta artificiala distribuita, retele neuronale si sisteme fuzzy.Cercetarea se axeaz pe dezvoltarea tehnicilor de programare logic distribuit, folosirea retelelor neuronale n procesarea simbolic, achizitia, memorarea si regsirea cunostintelor experimentale, aplicarea strilor fuzzy n retele neuronale pentru realizarea sistemelor adaptive. Aplicatiile vizate sunt: construirea unor sisteme expert hibride, recunoasterea si clasificarea formelor n domeniul simbolic, rationamentul aproximativ bazat pe logica fuzzy, paralelizarea si distribuirea procesrii n acest domeniu, modelarea si simularea acestor sisteme pentru evaluarea performantelor.

9. Baze de date distribuite si in timp real.Domeniul de cercetare vizeaz dezvoltarea unor baze de date distribuite implementate n retele de calculatoare, cu posibilitatea de acces n timp real. Obiectivele urmtoare sunt:- proiectarea unor structuri relationale de baze de date implementate n retele locale de calculatoare cu performante ridicate privind flexibilitatea n exploatare si timpul de acces;- realizarea unor programe de interfat de timp real ntre bazele de date si procesele industriale (achizitii de date, comanda unor procese).10. Circuite integrateDomeniul de cercetare vizeaz diferite aspecte privind metodologiade proiectare, simulare si testare ale circuitelor integrate numerice ct si implicatiile integrrii pe scar din ce n ce mai mare n arhitectura si proiectarea sistemelor de calcul. Un al doilea obiectiv l reprezint implicarea unei tehnologii de proiectare si realizare asistat de calculator cu extindere n toate sectoarele plecnd de la conceperea circuitului integrat, proiectarea si verificarea acestuia pn la fabricarea structurilor numerice asistate de calculator si testarea asistat de calculator.11. Definirea, studiul si implementarea limbajelor de programare.Se abordeaza att aspectele teoretice legate de studiul unor limbaje de programare si chiar definirea unor limbaje noi ct si cele practice privind implementarea unor limbaje de programare.12. Sisteme de programe pentru proiectarea automata a circuitelor digitaleCercetarea se orienteaz n directia dezvoltrii unor metode eficiente pentru sinteza automat, de nivel nalt, a unor circuite digitale. n prezent eforturile se concentreaz n vederea sintezei circuitelor specificate n limbajul VHDL. Problematica central o constituie sinteza specificrilor VHDL concurente. O alt directie o reprezint cecetrile n domeniul verificrii formale a unor specificri hardware folosind "BoyerMoore Logic".13. Limbaje si medii de programare pentru calcul paralel.Cercetarea se orienteaz n directia definirii si implementrii limbajelor destinate calculului paralel, care s mbine att aspecte de paralelism sincron ct si asincron. De asemenea se urmreste desvoltarea unor medii cu posibilitti de simulare a diverselor arhitecturi paralele si de executare a programelor pe arhitecturile simultate. Un alt aspect al cercetrii este orientat n directia dezvoltrii unor algoritmi paraleli pentru medii de programare implementate pe retele de calculatoare.14. PRELUCRAREA SI RECUNOASTEREA IMAGINILOR SI VORBIRIIPrelucrarea imaginilor, Vedere artificial, Analiza si recunoasterea imaginilor. Dezvoltarea de componente pentru recunoasterea si sinteza automat a semnalului vocal, cu scopul integrrii viitoare n diverse aplicatii.Tipuri de limbaje de programare. Clasificare.Un limbaj de programare este un sistem de conventii adoptate pentru realizarea unei comunicari ntre programator si calculator . Limbajele folosite pentru programarea unui calculator sunt extrem de asemanatoare limbajelor naturale . Ele sunt compuse din :1. cuvinte (rezervate);2. punctuatie;3. propozitii si fraze;4. reguli sintactice etc .Asa cum pentru nsusirea unei limbi straine trebuie nvatate cuvintele acesteia si regulile cu care pot fi manevrate tot asa pentru nsusirea unui limbaj de programare trebuie studiate cuvintele si semnele care l compun mpreuna mpreuna cu regulile de manevrare a lor.Dupa metoda cu care este conceput ansamblu comunicarii , limbajele pot fi clasificate n mai multe moduri . n continuare voi enumera cele mai importante clase de limbaje , descriere ce acopera totalitatea limbajelor existente .Limbaje de nivel scazut de nivel naltNivelulunui limbaj este apreciat prin pozitia pe care o ocupa pe scara constituita de limbajul recunoscut de microprocesor (limbaj masina) si limbajul natural al programatorului (limba romna, limba engleza).Un limbaj de nivel scazut este foarte apropiat de masina, el manipuleaza cu elemente de nivel hardware, fizic, cum ar fi: registru, microprocesor, locatie de memorie, port de intrare/iesire etc.Un limbaj de nivel nalt sau foarte nalt manipuleaza cu concepte apropiate de limbajul natural, concepte de nivel logic, cum ar fi: colectie de date, nume de operatie(sort, writeln, open), variabile, constante(asemanatoare ca nteles cu cele din matematica).Cu ajutorul unui limbaj de nivel nalt programatorul se face mult mai usor nteles de catre calculator. Uneori o singura limie de program scrisa cu un astfel de limbaj poate echivala cu sute de linii de program scrise n limbaj masina . Deci din punct de vedere al reducerii timpului de realizare a unui program si al sigurantei n functionare (absenta erorilor de programare) este de preferat un limbaj de nivel ct mai ridicat (nalt sau foarte nalt). n schimb, pe masura ce limbajul are un nivel mai ridicat executia programului conceput cu ajutorul sau va fi mai lenta, dect a unui program ce realizeaza aceleasi operatii dar este scris n limbaj de asamblare.O alta diferenta esentiala ntre cele doua tipuri de limbaje o reprezinta portabilitatea , adica posibilitatea transferarii programelor pe un alt tip de masina dect cea pe care au fost construite . Din acest punct de vedere limbajul de asamblare este neportabil deoarece el este specific microprocesorului . Programele realizate pe un tip de masina trebuie rescrise integral pentru noul tip de masina , folosind un nou set de instructiuni care deobicei difera foarte mult . Lucrurile stau altfel cu programele concepute cu ajutorul unui limbaj de nivel nalt , deoarece acestea sunt detasate de masina. ntre un astfel de program si calculator se interpune compilatorul(sau interpretorul) care rezolva corect transformarea fisierului-sursa n fisier-executabil.Limbaje procedurale neproceduraleCele doua tipuri de limbaje, procedurale si neprocedurale, se diferentiaza prin nivelul de organizare(structurare) a unui program. Limbajele neprocedurale sunt concepute pentru a gndi un program la nivel de instructiune, pe cnd cele procedurale, obliga programatorul sa conceapa programe la nivel de bloc. ntr-un limbaj procedural(numit si limbaj structurat) programele sunt scrise instructiune cu instructiune, dar ele sunt organizate logic n blocuri(grupuri de instructiuni) ce realizeaza o actiune bine determinata. n general un bloc are un punct de intrare si un punct de iesire nu mai multe.Un limbaj procedural ofera posibilitatea utilizarii unui nivel ridicat de concepere a unui program si duce la realizarea de programe coerente si protejate la erori . Prin contrast , limbajele neprocedurale nu favorizeaza programatorul n a se desprinde de nivelul instructiune si duc deseori la programe greu de controlat mai ales n cazul programelor de dimensiuni mari.Limbajele neprocedurale sunt nca preferate de unii utilizatori datorita timpului foarte scurt ct decurge nvatarea si utlizarea lor.Limbaje orientateDin punctul de vedere al aplicabilitatii unui limbaj, limbajele pot fi orientate pe o anumita problema sau concepute pentru solutionarea oricarui tip de problema limbaje de uz general sau altfel spus, neorientate pe o problema.Limbajele orientate prezinta un grad nalt de specificitate pe cnd un limbaj neorientat reprezinta un cadru general ce permite introducerea de catre utilizator a conceptelor si prelucrarilor dorite .Deci, diferenta esentiala dintre cele doua tipuri de limbaje o constitue nivelul conceptual definit. Cele specializate poseda deja integral suportul necesar si permit programatorului sa se concentreze la ansamblul problemei, pe cnd cele nespecializate lasa n sarcina programatorului manevrarea nivelelor inferioare ale problemei.Limbaje concurenteUn limbaj concurent permite definirea de procese(prelucrari) paralele, executia sa fiind ramificata la un anumit moment de timp. Prin contrast limbajele neconcurente(majoritatea limbajelor) au o desfasurare liniara, fiind activ un singur proces la un moment dat. Procesele concurente presupun n mod obligatoriu un sistem multi-tasking ce poate gestiona mai multe sarcini la un moment dat.Limbaje de programareLimbaje de nivel scazutAceasta categorie de limbaje are un reprezentant autoritar si anume : limbajul de asamblare. Diferentierile care se pot face pentru limbajele de nivel scazut sunt urmatoarele :a) dupa tipul de masina ;Regulile respectate de versiunile limbajului de asamblare sunt :- o noua versiune o include complet pe cea anterioara;- versiunea noua ofera functii suplimentare si le realizeaza pe cele vechi mai rapid .b) dupa mediul de programare oferit .Aspectul unui limbaj poate fi schimbat radical de mediul de programare oferit. Pentru limbajul de asamblare exista mai multe implementari disponibile, ncepnd cu pachete ce opereaza n mod linie si culminnd cu medii integrate n care toate operatiile se pot declansa de la un acelasi pupitru de comanda.Nu sunt luate n considerare dect aceste medii integrate(denumite generic medii Turbo), dintre care se detaseaza Turbo Asamblorul firmei Borland TASM .

Limbaje de nivel nalt neorientateBASICA fost creat n 1964 la Darmooth College(S.U.A.). Denumirea sa provine de la initialele cuvintelorBeginnersAllpurposeSymbolicInstructionCode(Cod de instructiuni simbolice, de uz general, destinat ncepatorilor).Are urmatoarele caracteristici fundamentale : simplu de nvatat ; instructiunile sale sunt cuvinte din limba engleza sau prescurtari ale acestora; neorientat pe un anumit tip de problema; permite construirea de aplicatii; este un limbaj nestructurat, ceea ce i permite sa fie usor nvatat.Din cauza ca a cunoscut o larga raspndire, au fost implementate noi versiuni de Basic : GW-BASIC, QUICK BASIC, TURBO BASIC, VISUAL BASIC(Basic for Windows).FORTRANLimbajul Fortran este decanul de vrsta al limbajelor de larga folosinta. A aparut n 1956 si si datoreaza numele prescurtarii cuvintelor: FORmulaTRANslation(Traducere de formule). Initial reprezenta un limbaj orientat pe calcule stiintifice avnd definite concepte precum: matrice, functii trigonometrice, numere reale n dubla precizie. Versiunile ulterioare care au cunoscut o mare popularitate au extins posibilitatile limbajului trasformndu-l ntr-un limbaj eficient, de uz general. n prezent exista pentru IBM-PC doua implementari mai importante ale limbajului: Microsoft Fortran, Fortran for Windows.Desi nu poate fi considerat deposit din punct de vedere conceptual(este un limbaj algoritmic structurat) este neindicata folosirea lui datorita absentei unor medii de programare performante si pentru ca tendinta actuala i este defavorabila.PASCALConceptualizat n anul 1970 de catre Niklaus Wirth , limbajul PASCAL poarta numele matematicianului si filosofului BLAISE PASCAL, n semn de recunoastere a meritelor sale n teoretizarea masinilor de calcul.Creat dupa acumularea de cunostiinte temeinice n stiinta limbajelor formale, din confruntarea cu probleme concrete ale programarii, limbajul PASCAL a constituit la vremea respectiva un limbaj modern, mentinndu-se ca atare si n prezent, datorita faptului ca poseda o solida baza conceptuala.Limbajul PASCAL a introdus n versiunea sa initiala notiunea de programare structurata si ulterior notiunile de date(structuri) dinamice, date(structuri) definite de utilizator.n prezent standardul implementarilor PASCAL cuprinde urmatoarele elemente: programare structurata de tip algoritmic; definirea de noi functii sau proceduri ; tipuri de date definibile de catre utilizator ; structuri de date dinamice ; adresari indirecte ale datelor ; recursivitate ; rutine complete de intrare / iesire ; functii de conversie a datelor din ASCII n format intern si invers ; set complet de functii matematice ; functii elementare de grafica 2D ; posibilitatea inserarii direct n sursa a instructiunilor n limbaj de asamblare ; posibilitatea definirii de overlay-uri pentru program .Versiunile standard ale implementarilor PASCAL sunt cele oferite de Microsoft si Borland, cu avantaj pentru cele din urma(TURBO PASCAL 5.0, TURBO PASCAL 5.5) datorita mediului de lucru performant(de tip TURBO). Combinatia PASCAL + TURBO a reprezentat un succes imens n rndul programatorilor avnd ca singur rival cealalta combinatie: C+TURBO .Limbajul CAcest limbaj de programare , cu cel mai scurt nume , a fost creat n 1971 de catre Dennis Ritchie si Brian Kernigham pentru dezvoltarea sistemului de operare UNIX .Principalele caracteristici ale limbajului sunt : limbaj structurat de nivel nalt ; poseda concepte de nivel scazut , ceea ce permite exploatarea portabila a caracteristicilor intime unei masini ; rutine de conversie a datelor foarte evoluate ; tipuri de date definibile de catre utilizator ; gestionarea elaborata a datelor de tip dinamic ; definirea de noi functii ; adresari indirecte ale datelor , variabilelor ( pointer-i ) ; recursivitate ; set complet de functii matematice ; functii pentru realizarea de grafica elementara 2D; functii de apel servicii DOS ; posibilitatea definirii de overlay-uri pentru un program ; concizie deosebita a limbajului .Pentru versiunile standard ale implementarilor limbajului C exista medii de programare de tip TURBO ce apartin firmelor : Microsoft produsul QUICK C si firmei Borland produsele TURBO C .Limbajul ADAA fost creat special pentru a gestiona totalitatea aplicatiilor dezvoltate si utilizate de N.A.S.A. Noutatea limbajului(de tip structurat, algoritmic) o constitue concurenta, deci posibilitatea lansarii de procese paralele(sincronizate interactiv n finalul executiei lor). Saltul calitativ este evident si deschide un nou domeniu n programare dar nu pentru IBM-PC. Versiunile implementarilor limbajului ADA pe IBM-PC nu poseda tocmai acesta parte de concurenta, reducnd limbajul la un simplu limbaj structurat de uz general. Deci, ADA este un limbaj ultramodern din punct de vedere teoretic dar ineficient din punct de vedere practic pentru IBM-PC-uri.Limbaje orientate pe gestiunea bazelor de dateNecesitatile actuale n practica utilizarii calculatoarelor se ndreapta cu precadere spre gestionarea bazelor de date de mari dimensiuni. O explicatie a acestei orientari e data de faptul ca o baza de date reprezinta o informatie, iar cel ce detine informatii complete si rapide ntr-o anumita problema este indiscutabil cu un pas naintea celorlalti . Concurenta din domeniul economic poate fi numita pe buna dreptate o batalie informationala.Un sistem de gestionare a bazelor de date ( S.G.B.D.) de tip clasic opereaza cu urmatorii termeni fundamentali : cmp o locatie n care se poate memora o informatie bine determinata; nregistrare mai multe cmpuri alcatuiesc mpreuna o nregistrare ; baza de date colectie de nregistrari .Deci, datele sunt gestionate prin intermediul unei structuri, organizata ierarhic, la un nivel de organizare logica.Tendinta moderna n exploatarea bazelor de date consta n deplasarea interesului catre bazele de date relationale. Diferenta esentiala consta n definirea unui nivel logic suplimentar ntre datele gestionate. Acestea nu mai sunt privite ca simple fise izolate ntre ele ci pot fi analizate pe baza legaturilor(relatiilor) ce exista ntre ele.Notiunile cu care opereaza un S.G.B.D. relational sunt urmatoarele : tabel structura fundamentala de depozitare a datelor; linie n tabel echivalentul unei nregistrari clasice ; coloana n tabel echivalentul unui cmp de tip clasic ; baza de date o colectie de tabele , conectate prin valorile anumitor coloane .Aceasta noua conceptie permite definirea de structuri 1:n. Onregistrarepoate contine n valori pentru uncmpanumit nu una singura ca n cazul clasic. Structurile de tip 1 : n pot fi rezolvate si cu ajutorul unui S.G.B.D. clasic , dar ntreaga gestiune a operatiilor revine programatorului pe cnd un mediu relational furnizeaza din start servicii speciale.Spre deosebire de S.G.B.D. urile clasice , un mediu relational presupune ca cerinta minimala posibilitatea manipularii datelor prin intermediul conexiunilor logice stabilite. Pentru aceasta exista definit(si impus ca standard unanim recunoscut) limbajul de interogare SQL(Structured Query Language limbaj de cereri structurate).Prin intermediul sau sunt permise urmatoarele operatii: regasire date ( conexate logic ) ce ndeplinesc o anumita conditie ; definire ordine de returnare a datelor ; redefinire conectari logice ale datelor ; exploatare ; programare .Avantajele unui S.G.B.D. clasic sunt : simplitate n manevrare ; deci efort de studiu redus ; pot functiona pe un sistem de calcul ce nu implica resurse speciale , ci doar spatiu de stocare extern suficient pentru problema data ; pret de cost redus fata de cele relationale .Avantajele unui S.G.B.D. relational sunt : nivel logic superior ( corelatii , structuri 1 : n ); prelucrari ( regasiri ) de date cu un nalt nivel de complexitate ; nivel superior de portabilitate a aplicatiilor , datelor.S.G.B.D. uri clasice dBASE III

Cel mai raspndit sistem de gestiune a bazelor de date este dBASE , n diversele luiversiuni . El poate fi considerat un BASIC al bazelor de date . La momentul aparitiei a constituit o adevarata revolutie n domeniul S.G.B.D.-urilor . Meritele sale principale care l-au impus atentiei utilizatorilor si programatorilor sunt : foarte simplu de utilizat ; limbaj de nivel foarte nalt , simplu de nvatat ; interactivitate buna a sistemului ; poate functiona cu resurse extrem de restrnse ;Dezavantajele principale ale dBASE ului sunt : viteza de lucru extrem de scazuta ; limbaj de programare cu lacune greu de surmontat ( nu poseda salturi , functii matematice reduse , erori de implementare ) ; aplicatiile create slab interactive ; imposibilitateta conectarii cu un alt limbaj .Cele mai importante implementari ale sale sunt : dBASE III Plus si dBASE IV .* COBOLA fost creat n 1950 si reprezenta singura posibilitate de gestionare a unei baze de date .Reprezinta n primul rnd un limbaj de programare special conceput pentru informatica de gestiune . Daca facem o comparatie , sugestiva , COBOL este echivalentul FORTRAN-ului pentru sistemele de gestiune a bazelor de date ( din punct de vedere istoric si al performantelor ) .Limbajul este considerat greoi si inflexibil , iar pentru crearea unui program foarte simplu e nevoie de scrierea unui adevarat eseu .Singurul avantaj real al COBOL-ului este portabilitatea sa ridicata . * FOXBASESistemul dBASE a incintat firmele producatoare de soft , datorita popularitatii sale si pe de alta parte a calitatilor scazute ale implementarilor originale furnizate de firma Ashton-Tate . Au aparut noi implementari ale limbajului care au ncercat sa furnizeze unelte profesionale pe baza acestui suport conceptual .Versiunile FOXBASE 2.10 si FOXBASE PRO se constitue n medii performante att pentru programatori ct si pentru utilizatori . ISISEste distribuit gratis de catre UNESCO , ceea ce l face cu adevarat interesant . Caracteristicile ce l fac interesant sunt : interactivitate buna ; posibilitate definire structuri 1 : n ; suport de retea locala ; un limbaj intern( o versiune de PASCAL ) cu care se prelucreaza datele; adaptabilitate foarte buna .S.G.B.D. uri relationaleORACLESe poate afirma fara teama de a gresi ca ORACLE reprezinta cel mai performant S.G.B.D. disponibil la momentul actual . Pe lnga faptul ca poseda avantajele unui mediu de tip relational ORACLE este gndit ca un sistem exhaustiv pentru rezolvarea problemelor de utilizare sau programare .Limbajul intern folosit este SQL Plus si este permisa conectarea cu alte limbaje externe evoluate ( orientate catre C ) . Putem mentiona : viteza de lucru foarte buna ; exploatare interactiva la nivel SQL ; limitari de lucru greu sau imposibil de atins ( maxim 65535 caractere ntr-un cmp , numar nelimitat de cmpuri , de nregistrari ) ; exploatare eficienta a spatiului pe disc ( memorarea cmpurilor n format variabil ) .Oracle este implementat pe majoritatea tipurilor de computere mari , ceea ce ofera portabilitatea aplicatiilor , dar mai ales posibilitatea conectarii la calculatoare puternice .PARADOXReprezinta un S.G.B.D. cu adevarat profesional . El ndeplineste toate cerintele unui produs cu adevarat modern si performant si anume : interactivitate foarte buna ; viteza de lucru mare ; servicii si auxiliare ; limbaj de programare evoluat ( PAL Paradox Application Language ) , dotat cu compilator .Limbaje orientate pe calcul tabelar.Aplicatiile mpreuna cu limbajele implementate pentru rezolvarea problemelor descrise n continuarea nu pot fi considerate medii de programare propriu-zise.Aplicatiile de tiptabela de calculau fost concepute n ajutorul functionarilor, pentru a prelua o parte imensa din rutina de lucru inerenta unor astfel de activitati.Denumirea provine din limba engleza si este o traducere pentru termenul spread-sheet(spread-ntindere, desfasurare, foaie, tabel; sheet-schema, diagrama, a acoperi cu un strat). n traducere directa aceasta ar nsemna pentru cazul de fata organizarea unei foi(a unui tabel).Iata cum functioneaza un program de tip spread-sheet : elementul de lucru l reprezinta un tabel ; un tabel este format din linii si coloane ; intersectia unei linii cu o coloana se cheama celula ; tabelul este vizualizat pe ecran prin intermediul unei ferestre ; n fiecare celula poate exista una din entitatile urmatoare : text , numere , formule , secvente de program , macroinstructiuni .Pe lnga aceste caracteristici specifice unui spread-sheet cerintele minimale ale unui pachet de calcul tabelar includ : posibilitatea cautarilor inverse (de la rezultatul unui calcul, la valorile care l-au generat); posibilitatea de lucru multi-tabel ( mai multe tabelel simultan); functii de editare si formatare a textului ( editor de texte obisnuit ) ; functii grafice ( diagrame , prezentari ) ; sistem de gestiune a bazelor de date ( pentru celulele unui tabel ) ; tiparire de calitate(posibilitatae de a lucra cu mai multe tipuri de imprimante, exploatarea rezolutiei unei imprimante laser, set bogat de fonturi).Spre deosebire de limbajele de programare propriu-zise, cele folosite de spread-sheet-uri sunt special concepute pentru a fi folosite de nespecialisti(usor de nvatat, usor de utilizat).Un astfel de limbaj ( de tip interpretor ) se constituie ntr-un cadru general pentru rezolvarea problemelor functionarilor din diverse domenii de activitate.O aplicatie realizata cu un spread-sheet poate fi modificata si adusa la zi direct de catre utilizator , fara a mai fi necesara interventia programatorului . Produsul obtinut are flexibilitate maxima , iar efortul necesar realizarii lui este minim.Dezavantajele principale ale aplicatiilor realizate cu ajutorul unui spread-sheet le constitue imposibilitatea depasirii cadrului de programare oferit si dificultatea de a realiza prelucrari foarte complexe . nsa aceste dezavantaje sunt mai mult teoretice deoarece nu este cazul de a realiza aplicatii cu astfel de cerinte folosind un spread-sheet . Programele de calcul tabelar rezolva n mod stralucit o problema punctuala .Cele mai cunoscute si raspndite produse de tip calcul tabelar sunt : LOTUS 1-2-3Lotus 1-2-3 , produs al firmei Lotus Development este n mod sigur cel mai raspndit produs din aceasta categorie . Datorita popularitatii sale el s-a constituit ntr-un adevarat standard ( neoficial ) pentru spread-sheet-uri . La nivel de ansamblu , LOTUS se preuinta ca o aplicatie cu buna interactivitate . Reprosurile ce i se pot aduce sunt : meniurile ( uneori stufoase si nelogic ramificate ) si help-ul care nu totdeauna este la obiect .

QUATRO PRO 2.0Spread-sheet-ul QUATRO , realizat de firma Borland este cel mai nou si puternic produs din categoria sa . El combina ntr-un mod fericit tot ceea ce este pozitiv la rivalii sai adaugnd si multe facilitati proprii. EXCELProdusul firmei Microsoft , EXCEL este o aplicatie care functioneaza sub Windows . De aici rezulta n mod direct unele din caracteristicile sale ( utilizare mai comoda , meniuri foarte clare si standardizate , functii grafice deosebit de puternice , viteza de lucru inferioara lui Quatro) . Cteva specificatii tehnice pentru EXCEL ar fi : tabela cu dimensiunea maxima de 1638 x 256 celule ; latimea maxima a unei coloane este de 255 caractere ; tabelele si grafica pot exista pe foi distincte ; functioneaua dupa principiul WYSIWYG ; se pot folosi maxim 4 fonturi la un moment dat ; limbaj de programare puternic si flexibil ; posibilitatea definirii de macroinstructiuni ; nu poseda functie de salvare automata ; contine suport de functionare n retea ; detecteaza prezenta coprocesorului matematic si face uz de facilitatile acestuia ; lucreaza cu memoria expandata.Alte limbaje orientateLimbaje orientate pe calcul matematic simbolicSpecialistii din domeniul cercetarii matematice au la dispozitie unelte de lucru extrem de utile pentru eliminarea calculului matematic rutinier . n acest scop au fost create limbaje de programare care pot recunoaste si rezolva formule sau ecuatii matematice complexe . Expresiile manevrate pot contine operatii algebrice elementare , operatori de derivare , de integrare , operatori diferentiali care sunt recunoscuti de sistem ca atare . n plus sunt oferite instructiuni absolut necesare pentru a controla un program .Cele mai importante produse de acest gen sunt REDUCE , SYMNON , MATHCAD , MATHEMATICA , MATHLAB .Limbaje orientate pe programarea inteligentei artificialeAcest tip de limbaje difera esential de cele algoritmice . Modalitatea de programare este descriptiva si are intentia declarata de simulare a rationamentului uman . Pentru rezolvarea unei probleme sunt furnizate seturile de reguli si informatii necesare , iar apoi se descrie n ce consta problema ca atare. Limbajul este capabil sa opereze deductiile(deciziile) necesare pentru a rezolva problema ntr-un caz particular ce apare n practica.Asadar, aceste limbaje descriu problema de rezolvat(n termenii deductiilor logice) pe cnd limbajele de tip algoritmic descriu metoda de rezolvare a problemei. Domeniile de aplicabilitate pentru limbajele de programare a inteligentei artificiale sunt cu predilectie: realizarea de sisteme expert(programe ce nlocuiesc expertii umani), computerizarea procesului de productie, robotica, tratarea limbajelor naturale.Cele mai importante limbaje de acest tip sunt :PROLOG ( PROgramming in LOGic ) creat n 1973 si implementat pe PC-uri abia n 1986 de firma Borland sub forma Turbo-Prolog .LISP ( LISt Processing language ) conceput n 1976 si implementat pe PC-uri de firma Microsoft sub forma MuLISP .Generalizare despre sisteme expertUnsistem expert(SE) este o aplicaie complex (un programsoftware) care exploreaz o multitudine de cunotine date pentru a obine concluzii noi despre activiti dificil de examinat, folosind metode asemntoare cu experii umani. Un sistem expert poate avea succes la problemele fr soluie algoritmic deterministic. Principalele caracteristici ale sistemelor expert sunt: obaz de date(baz de cunotine), mpreun cu unalgoritmde deducere specific metodei de raionare.

Sistemele expert constituie un domeniu alinteligenei artificiale, ramurainformaticiice are drept scop dezvoltarea de programe i aplicaii inteligente. Ceea ce este remarcabil pentru sistemele expert este aria larg de aplicabilitate, ce a cuprins deja numeroase domenii de activitate.Un sistem expert este format din urmtoarele componente principale: Baza de cunotine - servete pentru stocarea tuturor elementelor cunoaterii (fapte, reguli, metode de rezolvare, euristici) specifice domeniului de aplicaie, preluate de la experii umani sau din alte surse. Motorul deinferene- este un program n care s-a implementat cunoaterea de control, procedural sau operatorie, cu ajutorul cruia se exploateaz baza de cunotine pentru efectuarea de raionamente n vederea obinerii de soluii, recomandri sau concluzii. Interfaa cu utilizatorul - permite dialogul cu utilizatorii n timpul sesiunilor de consultare, precum i accesul acestora la faptele i cunotinele din baz pentru adugarea sau actualizarea bazei. Modulul de mbogire a cunoaterii - ajut utilizatorul expert s introduc n baz noi cunotine ntr-o form acceptat de sistem sau s actualizeze baza de cunotine. Modulul explicativ - are rolul de a explica utilizatorilor att cunotinele de care dispune sistemul, ct i raionamentele sale pentru obinerea soluiilor n cadrul sesiunilor de consultare. Explicaiile ntr-un astfel de sistem, atunci cnd sunt proiectate corespunztor, mbuntesc la rndul lor modul n care utilizatorul percepe i accept sistemul (feedback).

Realizari practiceCronologic, primele aplicaii aleinteligenei artificialele-au constituit sistemele expert. Acestea emuleaz (imit) raionamentul uman pentru sarcini specifice i n domenii restrnse i au fost foarte bine primite de companii.Primele sisteme expert dezvoltate n domenii aplicative au fost DENDRAL, destinat analizei structurilor moleculare, MYCIN, un sistem expert pentru diagnosticul i tratamentul infeciilor sanguine, sistemele EMYCIN, HEADMED, CASNET i INTERNIST pentru domeniul medical, PROSPECTOR pentru evaluarea prospeciunilor i forajelor geologice, sau TEIRESIAS pentru achiziia inteligent a cunoaterii.La nceputul anilor1980apar i primele aplicaii comerciale ale sistemelor expert (XCON, XSEL sau CATS-1), care au cunoscut apoi o explozie la nceputul anilor1990. Sistemele expert bazate pe reguli se dezvolt i se implementeaz n multe domenii de activitate, inclusiv n cel financiar-contabil: control intern, audit, planificarea impozitelor, diagnostic financiar, raportare financiar, contabilitate managerial, analiz de credite, analiza riscului, planificare de investiii, etc. Marile companii decontabilitatei audit i realizeaz propriile sisteme expert n domeniului controlului intern i al auditului: ExpertTAX, Risk Advisor (Coopers & Lybrand), Loan Probe, Peat/1040 (KPMG), VATIA, Flow Eval (Ernst & Young), Planet, Compas, Comet (Price Waterhouse), Rice (Arthur Andersen), Audit Planning Advisor, World Tax Planner (Deloitte Touche).