+ All Categories
Home > Documents > Www.referat.ro Sisteme Expert

Www.referat.ro Sisteme Expert

Date post: 14-Feb-2015
Category:
Upload: lucyana23isabela
View: 129 times
Download: 14 times
Share this document with a friend
Description:
sistem expert in contabilitate
31
, SISTEME 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; www.referat.ro
Transcript
Page 1: Www.referat.ro Sisteme Expert

,

SISTEME 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 expert

Structura unui sistem expert contine:- baza de cunostiinte;- baza de fapte;- motorul de inferenta;- modulul explicativ;- modulul de achizitie al cunostintelor;- inferfata cu utilizatorul.

www.referat.ro

Page 2: Www.referat.ro Sisteme Expert

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;

Page 3: Www.referat.ro Sisteme Expert

• 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;• imbunatatireaDezvoltarea unui 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.Imbunatatirea sistemelor expert – este posibila in mai multe moduri si se efectueaza printr-un proces de prototipizare.

UTILIZAREA SISTEMELOR EXPERT IN 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;

Page 4: Www.referat.ro Sisteme Expert

• 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.

Page 5: Www.referat.ro Sisteme Expert

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 ocupa

patru 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 având obiective distinse, formând, î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, având semnificatie

Page 6: Www.referat.ro Sisteme Expert

atât ca procedeu aparte (utilizat în vederea evaluarii situatiei financiare actuale), cât 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 rândul 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 având 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.

Page 7: Www.referat.ro Sisteme Expert

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 CERCETARE

 1. Arhitectura sistemelor de calcul

Urmãreste sã elaboreze noi concepte prin care sã se sustinã hardware si software dezvoltarea unor sisteme de calcul superioare realizãrilor actuale. Se au în vedere în primul rând arhitecturile neconventionale. 

2. Sisteme distribuite si retele de calculatoare

Sistemele distribuite si retele de calculatoare sunt douã domenii strâns înrudite, care se referã la facilitãti de calcul cu diferite grade de distribuire geograficã, având resursele potential utilizate în comun. Arhitecturile, sistemele de operare, limbajele si mediile de

Page 8: Www.referat.ro Sisteme Expert

programare pentru aceste sisteme constituie domenii de cercetare foarte active pe plan international. 

3. Ingineria programarii. Verificare si validare software

Ingineria programãrii 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 calcul

Configurarea de sisteme de calcul tolerante la defecte, Inginerie concurentã, Normalizarea mijloacelor de crestere a testabilitãtii, Cresterea disponibilitãtii, mentenabilitãsii si fiabilitãtii 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 urmãresc cu precãdere interconditionãrile dintre cele douã domenii si impactul noilor tehnologii de programare asupra optimizãrii performantelor produselor software. 

6. Sisteme timp-real

Domeniul 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 activitãtii de cercetare aplicativã din acest domeniu.

8. Sisteme de inteligenta artificiala distribuita, retele neuronale si sisteme fuzzy.

Page 9: Www.referat.ro Sisteme Expert

Cercetarea se axeazã pe dezvoltarea tehnicilor de programare logicã distribuitã, folosirea retelelor neuronale în procesarea simbolicã, achizitia, memorarea si regãsirea cunostintelor experimentale, aplicarea stãrilor 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 procesãrii î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 urmãtoare 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 integrate

Domeniul de cercetare vizeazã diferite aspecte privind metodologia  de proiectare, simulare si testare ale circuitelor integrate numerice cât si implicatiile integrãrii 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 plecând de la conceperea circuitului integrat, proiectarea si verificarea acestuia pânã la fabricarea structurilor numerice asistate de calculator si testarea asistatã de calculator.

11. Definirea, studiul si implementarea limbajelor de programare.

Se abordeaza atât aspectele teoretice legate de studiul unor limbaje de programare si chiar definirea unor limbaje noi cât si cele practice privind implementarea unor limbaje de programare.           

12. Sisteme de programe pentru proiectarea automata a circuitelor digitale

Cercetarea se orienteazã în directia dezvoltãrii 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 specificãrilor VHDL concurente. O altã directie o reprezintã cecetãrile în domeniul verificãrii formale a unor specificãri hardware folosind "BoyerMoore Logic".

13. Limbaje si medii de programare pentru calcul paralel.

Page 10: Www.referat.ro Sisteme Expert

Cercetarea se orienteazã în directia definirii si implementãrii limbajelor destinate calculului paralel, care sã îmbine atât aspecte de paralelism sincron cât si asincron. De asemenea se urmãreste desvoltarea unor medii cu posibilitãti de simulare a diverselor arhitecturi paralele si de executare a programelor pe arhitecturile simultate. Un alt aspect al cercetãrii este orientat în directia dezvoltãrii unor algoritmi paraleli pentru medii de programare implementate pe retele de calculatoare.

14. PRELUCRAREA SI RECUNOASTEREA IMAGINILOR SI VORBIRII

Prelucrarea imaginilor, Vedere artificialã, Analiza si recunoasterea imaginilor. Dezvoltarea de componente pentru recunoasterea si sinteza automatã a semnalului vocal, cu scopul integrãrii 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 înalt

 “Nivelul“ unui 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 româna, 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).

Page 11: Www.referat.ro Sisteme Expert

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 cât 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, decât 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 decât 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 – neprocedurale

Cele doua tipuri de limbaje, procedurale si neprocedurale, se diferentiaza prin nivelul de organizare(structurare) a unui program. Limbajele neprocedurale sunt concepute pentru a gândi un program la nivel de instructiune, pe când 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 cât decurge învatarea si utlizarea lor.

Limbaje orientate 

Din 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.

Page 12: Www.referat.ro Sisteme Expert

Limbajele orientate prezinta un grad înalt de specificitate pe când 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 când cele nespecializate lasa în sarcina programatorului manevrarea nivelelor inferioare ale problemei.

Limbaje concurente

Un 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 programare

Limbaje de nivel scazut

Aceasta 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, începând cu pachete ce opereaza în mod linie si culminând cu medii integrate în care toate operatiile se pot declansa de la un acelasi pupitru de comanda.

Nu sunt luate în considerare decât aceste medii integrate(denumite generic medii Turbo), dintre care se detaseaza Turbo Asamblorul firmei Borland TASM .

Limbaje de nivel înalt neorientate

Page 13: Www.referat.ro Sisteme Expert

 BASIC

A fost creat în 1964 la Darmooth College(S.U.A.). Denumirea sa provine de la initialele cuvintelor Beginner’s Allpurpose Symbolic Instruction Code(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 raspândire, au fost implementate noi versiuni de Basic : GW-BASIC, QUICK BASIC, TURBO BASIC, VISUAL BASIC(Basic for Windows). 

FORTRAN

Limbajul Fortran este decanul de vârsta al limbajelor de larga folosinta. A aparut în 1956 si îsi datoreaza numele prescurtarii cuvintelor: FORmula TRANslation(Traducere de formule). Initial reprezenta un limbaj orientat pe calcule stiintifice având definite concepte precum: matrice, functii trigonometrice, numere reale în dubla precizie. Versiunile ulterioare care au cunoscut o mare popularitate au extins posibilitatile limbajului trasformându-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.

 PASCAL

Conceptualizat î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, mentinându-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:

Page 14: Www.referat.ro Sisteme Expert

- 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 rândul programatorilor având ca singur rival cealalta combinatie: C+TURBO .

Limbajul C  

Acest 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 ADA 

Page 15: Www.referat.ro Sisteme Expert

A 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, reducând 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 date 

Necesitatile 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 : 

- câmp – o locatie în care se poate memora o informatie bine determinata;- înregistrare – mai multe câmpuri 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 câmp de tip clasic ;- baza de date – o colectie de tabele , conectate prin valorile anumitor coloane .

Aceasta noua conceptie permite definirea de structuri 1:n. O “înregistrare“ poate contine n valori pentru un “câmp“ anumit 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 când 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.

Page 16: Www.referat.ro Sisteme Expert

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 raspândit 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 restrânse ;

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 ) ;

Page 17: Www.referat.ro Sisteme Expert

- aplicatiile create slab interactive ;- imposibilitateta conectarii cu un alt limbaj .

Cele mai importante implementari ale sale sunt : dBASE III Plus  si dBASE IV .

* COBOL

A fost creat în 1950 si reprezenta singura posibilitate de gestionare a unei baze de date .

Reprezinta în primul rând 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 .

* FOXBASE

Sistemul 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 atât pentru programatori cât si pentru utilizatori .

ISIS

Este 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 relationale

ORACLE

Page 18: Www.referat.ro Sisteme Expert

Se poate afirma fara teama de a gresi ca ORACLE reprezinta cel mai performant S.G.B.D. disponibil la momentul actual . Pe lânga faptul ca poseda avantajele unui mediu de tip relational ORACLE este gândit 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

câmp , numar nelimitat de câmpuri , de înregistrari ) ;- exploatare eficienta a spatiului pe disc ( memorarea câmpurilor î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 .

 

PARADOX

Reprezinta 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 tip “tabela de calcul“ au 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 :

Page 19: Www.referat.ro Sisteme Expert

- 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 lânga 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 raspândite produse de tip „ calcul tabelar „ sunt :

LOTUS 1-2-3

Lotus 1-2-3 , produs al firmei Lotus Development este în mod sigur cel mai raspândit 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 .

Page 20: Www.referat.ro Sisteme Expert

QUATRO PRO 2.0

Spread-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 adaugând si multe facilitati proprii.

EXCEL

Produsul 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) .

          Câteva 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 orientate

 Limbaje orientate pe calcul matematic simbolic

Specialistii 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 artificiale

Acest 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

Page 21: Www.referat.ro Sisteme Expert

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 când 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 .

           

Powered by http://www.referat.ro/cel mai tare site cu referate


Recommended