Bazele Informaticii Curs

September 3, 2017 | Author: Benczelits Alexandru | Category: N/A
Share Embed Donate


Short Description

Curs...

Description

Bazele informaticii economice

1

Universitatea TRANSILVANIA din Brașov Facultatea de Științe Economice și Administrarea Afacerilor

Bazele informaticii economice SUPORT DE CURS PENTRU ÎNVĂȚĂMÂNT LA DISTANȚĂ

Prof. Dr. Dorin Lixăndroiu Lector dr. Radu Lixăndroiu

Brașov 2011

Curs pentru învăţământ la distanţă

2

Introducere

Obiectivele cursului Principalul obiectiv al cursului este de a înţelege locul şi rolul informaticii într-o organizaţie. Prezentarea principalelor elemente definitorii ale conceptelor sistem informaţional / sistem informatic va permite înţelegerea importanţei activităţilor de culegere, prelucrare, transmitere şi stocare a informaţiei economice în procesul decizional. Un alt obiectiv îl reprezintă înţelegerea arhitecturii calculatoarelor din punct de vedere hardware şi software. După o descriere succintă a evoluţiei sistemelor de calcul, se prezintă structura generală a unui calculator tip von Neumann, iar apoi se regăsesc elementele structurale în analiza unui calculator personal (PC). După structura hardware, se prezintă conceptele de sistem de operare şi reţea de calculatoare. Alte obiective sunt: prezentarea și explicarea algoritmilor, a tabelelor de decizie percum și opreațiile care se pot efectua la nivelul structurilor de articol și fișier. Competenţe conferite După parcurgerea acestui curs studenții vor înțelege următoarele concepte: de informaţie şi entropie, noţiunea de sistem. sistem cibernetic, sistemul informaţional, sistemul informatic, calculatoare personale, sisteme de operare, reţele de calculatoare, limbajul algoritmic, analiza algoritmilor, tabele de decizie structuri elementare de date, algoritmi fundamentali, structura de articol şi fişier, operaţii de prelucrare (gestiune) a fişierelor Resurse şi mijloace de lucru Mijloace informatice necesare parcurgerii materialului şi rezolvării testelor: Windows Explorer, Microsoft Word, Microsoft Excell, Microsoft Power Point.

Structura cursului  numărul de Unităţi de învăţare (UI) ce compun cursul: 4  numărul temelor de control 8  locul, în cadrul materialului, în care se găsesc formulate temele de control – la sfarșitul unităților de învățare  modul de transmitere al temelor de control către cadrul didactic şi, respectiv, a rezultatelor către studenţ -(prin încărcarea pe platforma eLearning, material tipărit, etc. Discipline deservite Analiza și Proiectarea Sistemelor Informatice Baze de Date Pachete de Programe de Contabilitate Tehnologia Informatiei Programarea Calculatoarelor

Bazele informaticii economice Durata medie de studiu individual – 15 ore .

Evaluarea Se va specifica componenţa notei finale: – ponderea evaluării finale (examen) – 50% – ponderea proiectelor de laborator – 50%

3

Curs pentru învăţământ la distanţă

4

CUPRINS Unitatea de învăţare 1. INFORMAŢIE, ENTROPIE, SISTEM INFORMATIC .................................. 5 Unitatea de învăţare 2. ARHITECTURA CALCULATOARELOR .................................................... 27 Unitatea de învăţare 3. ALGORITMI ..................................................................................................... 60 Unitatea de învăţare 4. ORGANIZAREA DATELOR ÎN FIŞIERE .................................................. 111 PROBLEME PROPUSE........................................................................................................................ 122 Bibliografie .............................................................................................................................................. 139

Bazele informaticii economice

5

Unitatea de învăţare 1. INFORMAŢIE, ENTROPIE, SISTEM INFORMATIC

Introducere Principalul obiectiv al capitolului este de a înţelege locul şi rolul informaticii într-o organizaţie. Sunt prezentate conceptele de informaţie, entropie, sistem şi sistem cibernetic, care vor ajuta la abordarea într-o viziune sistemică a tuturor activităţilor dintr-o organizaţie. Prezentarea principalelor elemente definitorii ale conceptelor sistem informaţional / sistem informatic va permite înţelegerea importanţei activităţilor de culegere, prelucrare, transmitere şi stocare a informaţiei economice în procesul decizional. Competenţele unităţii de învăţare După parcurgerea acestei părți studenții vor înțelege următoarele concepte: de informaţie şi entropie noţiunea de sistem. sistem cibernetic. sistemul informaţional sistemul informatic Durata medie de parcurgere a primei unităţi de învăţare este de 4 ore.

1.1.Conceptele de informaţie şi entropie [BVB97], [DOD87], [GER97], [LIX94], [NIR96], [POP86], [PUR88] Prin organizaţie înţelegem două sau mai multe persoane asociate în vederea realizării unui scop productiv sau de servicii. Orice organizaţie pentru a funcţiona are nevoie de resurse: materiale, financiare, umane (resurse vizibile) şi informaţionale (resurse invizibile). Secolul XX marchează trecerea de la societatea industrială, în care producţia de bază este producţia industrială, iar resursa strategică este capitalul, la societatea informaţională, în care producţia de bază este cea intelectuală, iar resursa cea mai importantă este informaţia. „Avantajul competitiv real se obţine de surse invizibile, adică din informaţii sau circuite informaţionale, resursele vizibile pot fi cumpărate sau copiate rapid, cele invizibile se acumulează însă în ani” (Hiroyouki Itami). Noţiunile de dată şi informaţie se consideră în vorbirea curentă ca fiind sinonime, ele însă diferă esenţial. Se remarcă două moduri de abordare:

6

Curs pentru învăţământ la distanţă

A) se consideră noţiunea de bază cea de informaţie, iar cea de dată derivă din aceasta; B) noţiunea de bază este cea de dată, iar informaţia se consideră ca derivată din aceasta. A) Noţiunea de informaţie este complexă, de mare generalitate şi se ridică la nivelul noţiunii de materie. Nu i s-a putut da încă o definiţie unitară, fiind considerată un concept primar, la fel cum în matematică există noţiunea fundamentală de mulţime. Informaţia este una din cele trei forme de manifestare ale materiei, alături de substanţă şi energie. În general, se identifică trei nivele la care poate fi analizată informaţia: sintactic, semantic şi pragmatic. 1. Nivelul sintactic se referă la sistemul de semne şi reguli de reunire a acestora în construcţii sintactice utilizate pentru reprezentarea informaţiei în procesul culegerii, transmiterii şi prelucrării acesteia. În informatică modelul de reprezentare a informaţiei este data. Conceptul de dată, corespunzând nivelului sintactic, poate fi definit în notaţia BNF (Backus-Naur-Form), astfel: = Din definiţia noţiunii de dată în informatică, se observă că ea cuprinde şi noţiunea de valoare, dar presupune în plus elementul de reprezentare şi manipulare, adică o modalitate simbolică de exprimare şi un sistem de reguli de transformare a acesteia, prin care se pot obţine noi date. Deosebirea dintre informaţie şi dată este echivalentă cu deosebirea dintre obiect şi modelul său. Informaţia şi data se pot utiliza ca sinonime numai în măsura în care convenim să identificăm obiectul prin modelul său. 2. Nivelul semantic presupune trecerea de la structură la sens. Sub aspect semantic, informaţia poate fi caracterizată, de fapt, ca semnificaţia datelor. Sensul informaţiei la nivel semantic este corespondenţa dintre o dată şi obiectul real sau situaţia pe care o reprezintă această dată. 3. Nivelul pragmatic este cel mai concret nivel de considerare a informaţiei, singurul care raportează informaţia la scopurile receptorului. În raport cu necesităţile receptorului se definesc caracteristici, ca importanţa sau utilitatea informaţiei. Abordarea pragmatică include problemele de management, de necesar de informaţii şi de eficienţă a sistemelor informaţionale, care constituie baza luării deciziilor. Actul managerial de utilizare a informaţiilor în procesul decizional este considerat o artă. De aceea, aspectul pragmatic al informaţiei este în acest moment neformalizabil. B) Activitatea umană, în cele mai diverse forme ale sale a fost întotdeauna caracterizată prin entităţi faptice exprimate fie sub formă de valori numerice, fie ca percepţii sau observaţii nenumerice. Aceste entităţi faptice independente şi neevaluate existente în general în număr nelimitat se numesc date. Din acest material informaţional brut, printr-un proces de transformare şi prelucrare (evaluare, selectare, ordonare) se obţin informaţii. Deci, datele reprezintă materia primă din care se obţin informaţiile.

Bazele informaticii economice

7

Informaţiile la rândul lor constituie baza raţionamentelor, experimentărilor, imaginate în scopul obţinerii de noi cunoştinţe. În figura 1.1 se prezintă acest proces care începe cu achiziţionarea datelor şi se încheie cu înregistrarea de noi cunoştinţe Utilizare Date

Prelucrare

Informaţii Raţionamente / Experimentări

Cunoştinţe

Figura 1.1 În informatica economică nivelul dată-informaţie este considerat un prim nivel. Nivelul cunoştinţelor reprezintă un al doilea nivel, rezultat din informaţii derivate din alte informaţii pe bază de raţionamente şi/sau experimentări. Cunoştinţa este conform lui Peter Drucker “informaţia care schimbă ceva sau pe cineva – fie devenind baza unor acţiuni, fie permiţând unei persoane sau organizaţii să acţioneze diferit sau mai eficace”. Cunoştinţa include capacitatea de a evalua informaţia într-un sens sau scop. A avea cunoştinţe sau abilitatea de a efectua sarcini complexe, presupune mai mult decât a avea o listă de instrucţiuni sau informaţii necesare; se cere abilitatea manipulării informaţiilor sau a sarcinilor. Comentariu. Nu orice informaţie este cunoştinţă, aşa cum nu orice cunoştinţă este de valoare pentru o organizaţie. Tocmai acesta este şi obiectivul principal al noului domeniu legat de gestiunea conoştinţelor, Knowledge Management (KM), de a găsi cunoştinţele de valoare în masa de informaţii. KM poate fi considerat ca fiind o formă de implementare a schimbării organizaţionale, care constă în a înregistra cunoştinţele (atât la nivel individual cât şi la cel instituţional) şi apoi a le pune în comun în scopul de a ameliora capitalul intelectual al unei organizaţii. Cel mai frecvent tip de definiţie descrie KM ca un set de procese dirijate către “crearea – captura – stocarea – punerea în comun – aplicarea – reutilizarea” cunoştinţelor (ex: Sydanmaanlakka, 2000). Această definiţie prezintă KM ca implicând un set oarecum mecanic şi secvenţial de etape şi se focalizează asupra cunoştinţelor explicite în detrimentul conoştinţelor tacite. O altă definiţie care prezintă mai bine caracterul complex al KM este: “identificarea, optimizarea şi gestiunea activă a bunurilor intelectuale, fie sub forma cunoştinţelor explicite conţinute în artefacte, fie a cunoştinţelor tacite aparţinând indivizilor sau comunităţilor” (Snowden, 2000). (Notă. Artefact, conform Dicţionarului enciclopedic, vol.I, 1993, pag. 117, este un produs artificial sau accidental întâlnit în observarea şi experimentarea unui fenomen natural.)

8

Curs pentru învăţământ la distanţă

Optimizarea cunoştinţelor explicite presupune consolidarea şi punerea la dispoziţia indivizilor de diverse artefacte. Optimizarea cunoştinţelor tacite se realizează prin crearea de comunităţi care deţin, pun în comun şi dezvoltă acest tip de cunoştinţe. Gestiunea activă a bunurilor intelectuale constă în crearea de infrastructuri şi de procese de management, pentru a reuni artefactele şi comunităţile într-o dinamică comună, care va susţine crearea, utilizarea şi menţinerea capitalului intelectual. Această definiţie are meritul de a recunoaşte că demersul KM se adresează atât cunoştinţelor explicite cât şi celor tacite, precum şi interacţiunii între cele două şi de a lua în considerare mecanismele care permit acest lucru. În informatica economică, datorită preocupării centrale asupra aspectelor pragmatice ale informaţiei, se consideră sinonime conceptele de informaţie şi dată. Nivelul pragmatic reflectă cel mai fidel mecanismul procesului de cunoaştere. Procesul de cunoaştere se realizează în timp prin acumularea treptată de informaţii despre obiectul cunoaşterii. La un moment dat, cunoştinţele reprezintă totalitatea informaţiilor dobândite anterior – tezaurul – la care trebuie raportat rezultatul oricărui proces de informare. La limită sunt posibile următoarele situaţii:  Procesul de informare este nul, dacă informaţia respectivă face parte din tezaurul receptorului, adică a devenit o cunoştinţă;  Procesul de informare este maxim, dacă intersecţia între conţinutul tezaurului şi cel al informaţiei este vidă. Informaţiile se pot clasifica după mai multe criterii:  natură: cantitative, calitative;  situarea în timp: active, pasive, previzionale;  modul de apariţie: la intervale precizate, la cerere, ocazionale;  conţinut: elementare, complexe, sintetice;  frecvenţă: continue (în timp real), anuale, trimestriale, lunare, zilnice etc.;  nivel: strategic, tactic, operaţional;  origine: interne, externe. O aceeaşi informaţie poate avea utilităţi diferite pentru receptori diferiţi, depinzând de gradul cunoaşterii anterioare, ca şi de poziţia receptorului în raport cu obiectul. Gradul de utilitate a informaţiei şi eficacitatea utilizării acesteia în procesul decizional sunt determinate de indici de calitate specifici: a) oportunitatea sau actualitatea – exprimă faptul că o informaţie este utilă într-un anumit moment, legat de desfăşurarea în timp a unor fenomene şi care impun luarea unor decizii; b) precizia sau acurateţea – este măsurată prin cantitatea de informaţie corectă în raport cu întregul volum de informaţii produs într-o perioadă de timp; c) completitudinea – exprimă necesitatea de a dispune de cât mai multe informaţii care să acopere aria dorită de factorul decizional; d) relevanţa – exprimă necesitatea ca informaţiile achiziţionate să poată furniza cunoştinţele care lipsesc în procesul decizional; în multe situaţii este dificil să se spună la un moment dat dacă o informaţie este sau nu relevantă;

Bazele informaticii economice

9

e) conciziunea – exprimă necesitatea ca informaţiile să aibă o exprimare succintă, concentrată, adică un anumit nivel de agregare necesare procesului de luare a deciziilor. Contribuţii la măsurarea utilităţii informaţiei aduce matematicianul român Silviu Guiaşu, care introduce în 1968 entropia ponderată, analoagă conceptului de utilitate introdus de John von Neumann şi Oskar Morgenstern în 1944. Pentru a opera cu noţiunea de informaţie, pe lângă evaluarea calitativă este necesară şi o exprimare cantitativă. Bazele teoriei matematice a informaţiei au fost puse de Claude Shannon în 1948, prin lucrarea „A Mathematical Theory of Communication”. Se consideră o mulţime de evenimente e1 ,e2 ,,en care sunt rezultatele posibile ale unui experiment oarecare X. Probabilităţile de realizare ale acestor evenimente vor fi notate  p1 , p2 ,, pn  . Se presupune că sistemul de evenimente e1 ,e2 ,,en  este un sistem complet de evenimente, adică în urma efectuării experimentului X se va obţine ca rezultat unul din evenimentele elementare e1 ,e2 ,,en . Matematic, aceasta se exprimă prin relaţiile:

pi  0 ,

i  2 , , n ;

n

 pi  1

i 1

(1.1)

În acest mod, experimentul X pune în evidenţă un câmp finit de probabilitate

X , e, pe, care se mai poate nota prin repartiţia variabilei aleatoare discrete:  e e  en   X :  1 2  p1 p2  pn 

(1.2)

Expresia (1.2) evidenţiază faptul că experimentul X conţine un anumit grad de nedeterminare atât timp cât rezultatul lui nu este cunoscut. Între informaţie şi nedeterminare există o strânsă legătură. Cu cât nedeterminarea de la începutul experimentului este mai mare, cu atât este mai mare informaţia care se obţine după efectuarea experimentului. Cantitativ, cele două concepte pot fi identificate şi deci măsurate în acelaşi mod, dar trebuie privite separat în ceea ce priveşte sensul de variaţie şi semnificaţia fiecăruia. Ca semnificaţie, informaţia este eliminarea unei nedeterminări (incertitudini), iar cantitatea de informaţie a unui eveniment măsoară cantitatea de nedeterminare (incertitudine) asupra producerii lui. Realizarea evenimentului ei , furnizează o cantitate de informaţie I ei  . Intuitiv, informaţia adusă prin producerea evenimentului ei este cu atât mai mare cu cât probabilitatea acestuia  pi  este mai mică.

Definiţia 1.1. Se numeşte entropie Shannon a variabilei aleatoare X, mărimea: n

H  X   H n  p1 , p2 ,  , pn     pi  log 2 pi i 1

(1.3)

Curs pentru învăţământ la distanţă

10

Termenul de entropie vine din limba greacă (en - „în”, tropo – „conversiune”, „involuţie”, „transformare”, „schimbare”) şi a fost introdus în termodinamică de fizicianul german Rudolf Clausius în 1850, pentru a indica gradul de ireversibilitate a transformărilor energiei într-un sistem închis. Observaţie. H  X  este cantitatea medie de informaţie obţinută prin efectuarea experimentului cu n rezultate posibile, descris de variabila aleatoare X. H  X  se mai numeşte entropie informaţională. Ca unitate de măsură a cantităţii medii de informaţie a fost acceptat „bit”-ul (BInary digiT – cifră binară). Un BIT reprezintă cantitatea de informaţie obţinută prin apariţia unui eveniment din două egal probabile. Entropia informaţională care se obţine prin precizarea uneia din cele două cifre echiprobabile 0 şi 1 ale sistemului binar, cu repartiţia:

1   0  X :  1 / 2 1 / 2  se poate calcula după relaţia (1.3) astfel: 2 1 1 1 1 1 1 H  X   H 2  ,     pi  log pi    log 2   log 2  1 BIT 2 2 2 2 2 2 i 1

Ca multipli se utilizează: 1 byte (octet) = 23 bits = 8 bits 1 KB (kilo byte) = 210 bytes = 1024 bytes 1 MB (mega byte) = 1024 KB = 220 bytes 1 GB (giga byte) = 1024 MB = 230 bytes Proprietăţi ale entropiei 1)

2)

3)

Entropia, ca orice măsură, este nenegativă H n  p1 , p2 ,, pn   0

(1.4)

Dacă pi  1 şi pk  0 pentru k  i şi 1  k  n , atunci: H n  p1 , p2 ,, pn   0 În situaţia în care un eveniment este sigur, celelalte sunt imposibile; deci nu există nici o incertitudine şi informaţia medie este nulă. Entropia satisface inegalitatea: 1 1 1 H n  p1 , p2 , , pn   H n  , , ,   log 2 n (1.5) n n n Dacă toate evenimentele sunt egal probabile entropia este maximă şi informaţia medie creşte logaritmic cu numărul de evenimente n. Numărul n de evenimente independente semnifică varietatea sistemului, adică numărul său de grade de libertate.

Bazele informaticii economice

11

1.2. Noţiunea de sistem. Sistem cibernetic. [BCB82], [SCA97a], [SCA97b] Conceptele şi metodele specifice teoriei generale a sistemelor îşi găsesc o largă aplicabilitate în diverse domenii ale teoriei şi practicii economice. Concepţia sistemică oferă bazele unei abordări integrale a fenomenelor cercetate, tratând întregul ca o entitate unitară şi nu ca o simplă alăturare de elemente componente. Viziunea sistemică permite evidenţierea unor determinări calitative pe care nu le posedă nici una din componente luate separat. Conceptul de sistem apare în filosofia antică greacă. Aristotel (384-322 î.Hr.) afirmând că „întregul este mai mult decât suma părţilor”, dă o primă definiţie noţiunii de sistem, care se va dezvolta şi va evolua timp de peste două mii de ani, pentru a ajunge la forma actuală de abia la începutul secolului XX. Biologul austriac Ludwig von Bertalanffy (1901-1973) publică între anii 19281950 o serie de lucrări punând bazele teoriei generale a sistemelor (TGS). Conform lui L. von Bertalanffy „sistemul este format dintr-o mulţime de elemente aflate într-o interdependenţă neîntâmplătoare”. Definiţia 1.2. Prin sistem se înţelege orice secţiune a realităţii în care se identifică un ansamblu de fenomene, obiecte, procese, concepte, fiinţe sau grupuri, interconectate printr-o mulţime de relaţii reciproce, precum şi cu mediul înconjurător şi care acţionează în comun în vederea realizării unor obiective bine definite. Dacă un sistem poate fi descompus în minimum două părţi, în care se pot identifica intrări şi ieşiri, astfel încât ieşirile unei părţi să constituie intrări pentru cealaltă parte, aceste părţi se numesc subsisteme. Între elementele (subsistemele) unui sistem există interacţiuni sau conexiuni (legături endogene). Un sistem poate stabili conexiuni externe (legături exogene) cu alte sisteme sau elemente din mediul înconjurător. Structura sistemului reprezintă ansamblul format din elementele (subsistemele) unui sistem şi conexiunile interne ale acestora. Structura unui sistem asigură coerenţa lui internă şi stabileşte limitele sistemului. Starea sistemului este dată de mulţimea caracteristicilor sistemului măsurată la un anumit moment de timp. Starea reprezintă o măsură a evoluţiei sistemului la momentul t. Starea iniţială este starea sistemului la momentul t 0 , un moment arbitrar ales ca moment iniţial. Starea finală este starea sistemului la momentul t n considerat ca moment final. Traiectoria de evoluţie a sistemului este definită de mulţimea stărilor intermediare ale sistemului cuprinse între starea iniţială şi starea finală (dacă există). Comportamentul general al sistemului este un ansamblu rezultat din comportamentul intern (modificarea stării sistemului datorită factorilor interni) şi comportamentul extern (modificarea stării în urma acţiunii unor perturbaţii externe).

Curs pentru învăţământ la distanţă

12

Principalele concepte prezentate în definirea sistemului general se identifică la nivelul firmei astfel:  elementele sunt maşinile, utilajele, mijloacele de transport, clădirile, oamenii etc.;  conexiunile sunt date de legăturile (fluxurile) materiale, monetare, umane şi informaţionale care se stabilesc între elementele (subsistemele) firmei sau cu sisteme aflate în mediul înconjurător (furnizori, beneficiari, bănci, guvern ş.a.);  starea sistemului este reprezentată de valorile variabilelor de nivel: producţia, stocurile, capitalul, numărul de personal, volumul afacerilor ş.a.;  traiectoria de evoluţie a firmei este dată de succesiunea de stări de-a lungul unei perioade de timp; de exemplu traiectoria de evoluţie poate fi analizată între starea iniţială, ceea de la începutul anului şi terminând cu starea finală, cea de la sfârşitul anului respectiv;  comportamentul general al firmei este evidenţiat de forma traiectoriei de evoluţie şi poate fi monotonă (crescătoare, descrescătoare, constantă), oscilantă (amortizată, explozivă sau cu amplitudine constantă) sau haotică. Acest comportament este influenţat de comportamentul intern (productivitatea, funcţionarea maşinilor şi utilajelor, decizia managerială ş.a., conduc la variaţii ale volumului producţiei şi stocurilor), precum şi de comportamentul extern modificarea stării firmei se poate datora unor cauze externe: cererea pe piaţă, concurenţa, livrările furnizorilor, falimentul unor bănci ş.a.). Conceptul de „cutie-neagră” (black-box) abordează comportamentul sistemului prin prisma intrărilor şi ieşirilor, făcând abstracţie de procesele sale interne (figura 1.2).

x

y

S Figura 1.2

Transformarea vectorului de intrare X în vectorul de ieşire Y se realizează cu ajutorul funcţiei de transformare  : Y  X  Observaţie. Sistemul este caracterizat de ieşiri care răspund intrărilor în sistem, dar ieşirile sunt izolate de intrări şi nu au nici o influenţă asupra acestora. Rezultatele acţiunii trecute nu comandă acţiunea viitoare. Sistemul devine cibernetic atunci când apare reglarea (conexiune inversă, feedback) (figura 1.3). x y

S

R Figura 1.3

Bazele informaticii economice

13

În cazul în care apar diferenţe între vectorul ieşirilor (Y) şi vectorul obiectivelor propuse (Z), mecanismul de reglare va genera mărimea de reglare x  în scopul de a aduce ieşirile (Y) la nivelul obiectivelor stabilite. Din relaţia Z   x  x  se poate determina vectorul de reglare x . Se deosebesc două clase de sisteme cu conexiune inversă: a) Sisteme cu conexiune inversă negativă – au un obiectiv, iar evoluţia lor este o consecinţă a neatingerii acestui obiectiv; rolul conexiunii este de a echilibra anumite mărimi, limitând cauzalitatea intrare – ieşire. De exemplu: un ceas şi posesorul lui, formează un sistem cu conexiune inversă negativă când ora indicată de ceas este comparată cu ora exactă, care este luată ca obiectiv, iar ceasul este potrivit pentru a elimina erorile. b) Sisteme cu conexiune inversă pozitivă – ieşirea influenţează intrarea în sensul accentuării cauzalităţii intrare – ieşire: aceasta generează procese de creştere, în care rezultatul unei acţiuni produce o amplificare continuă a acţiunii. De exemplu: beneficiile obţinute sunt investite în dezvoltare: rezultă un spor de producţie, de beneficii etc. Termenul de cibernetică (în greceşte kybernetes = navigator, cârmaci) a fost utilizat prima oară de matematicianul american Norbert Wiener (1894-1964) în titlul cărţii sale „ Cibernetica, sau comanda şi controlul la fiinţe şi maşini” apărută în 1948. Ideea de bază de la care a pornit Norbert Wiener a fost aceea că toate sistemele de comandă şi control (sistemele de conducere), indiferent de natura lor, au o structură principială unică, constând din existenţa a două legături între sistemul de conducere şi sistemul condus: o legătură directă prin care se transmit comenzile şi deciziile de la sistemul de conducere către sistemul condus şi o legătură inversă (feedback) prin care se transmit informaţiile de urmărire şi control de la sistemul condus spre sistemul de conducere (figura 1.4). Notă. Unele dintre ideile ciberneticii au fost enunţate încă din anul 1938 de medicul român Ştefan Odobleja, în lucrarea sa publicată la Paris „Psychologie consonnantiste”.

legătură directă

Program de conducere

Sistem de conducere

Intrări

Sistem condus

Ieşiri

legătură inversă Figura 1.4 Termenul de cibernetică economică apare pentru prima oară în lucrările lui V. Nemcinov, O. Lange, G. Grenievski şi Şt. Beer. În lucrarea sa „Introducere în

14

Curs pentru învăţământ la distanţă

cibernetică economică”, economistul polonez Oskar Lange arată că cibernetica economică analizează economia, structura şi funcţionarea părţilor sale componente ca sisteme, în care au loc procese de conducere bazate pe mişcarea şi transformarea informaţiei. Proprietăţile sistemelor cibernetice se împart în două clase mari: A. proprietăţi general sistemice; B. proprietăţi specifice cibernetice. PROPRIETĂŢI GENERAL SISTEMICE A1. Sistemul cibernetic este un SISTEM DINAMIC. Structura şi/sau comportamentul sistemului cibernetic se modifică în timp ca urmare a acţiunii unor perturbaţii externe sau ca efect al unor cauze interne. A2. Sistemul cibernetic este un SISTEM DESCHIS. Un sistem deschis este caracterizat de faptul că are conexiuni neneglijabile cu alte sisteme din mediul ambiant. Aceste conexiuni sunt de două tipuri, în raport cu direcţia lor: intrări în sistem şi ieşiri din sistem. A3. Sistemul cibernetic este un SISTEM DE DIMENSIUNI MARI. Un sistem mare este caracterizat de numărul mare al elementelor componente şi de varietatea legăturilor dintre acestea. A4. Sistem cibernetic este un SISTEM COMPLEX. Complexitatea este dată de dimensiuni, de numărul conexiunilor dintre elemente, de intensitatea acestora, de costul realizării şi întreţinerii sistemului respectiv. PROPRIETĂŢI SPECIFIC CIBERNETICE. Aceste proprietăţi constituite principiile generale ale organizării şi funcţionării sistemelor cibernetice. B1. LEGEA VARIETĂŢII NECESARE (Ross Ashby) „Varietatea la ieşirea (outputul) unui sistem poate fi modificată doar printr-o varietate suficientă la intrarea (inputul) acestuia”. Comentariu. Constrângerea apare ca o relaţie dintre două mulţimi de obiecte (elemente, subsisteme) care determină reducerea varietăţii dintr-o mulţime datorită varietăţii din cealaltă mulţime. Intensitatea unei constrângeri este cu atât mai mare cu cât ea determină o reducere mai mare a varietăţii. Constrângerile iau de regulă forma legilor. Orice lege a naturii reprezintă o constrângere, întrucât ea este un invariant al sistemelor din natură, care limitează varietatea fenomenelor naturale. În sistemele economice legile au caracter mai general, deci constrângerile sunt mai slabe. Gradele de libertate asociate unui sistem exprimă raportul dinamic dintre varietate şi constrângere – cu cât numărul de grade de libertate este mai mare, cu atât varietatea acestuia este mai mare şi în consecinţă, constrângerea la care este supus sistemul este mai mică.

Bazele informaticii economice

15

B2. LEGEA CONEXIUNILOR INVERSE (N. Wiener) „Orice sistem cibernetic conţine cel puţin o buclă inversă (feedback)”. Comentariu. O buclă feedback este un circuit închis de relaţii între diferite variabile care definesc un sistem. Orice modificare între anumite limite, a unei variabile ce intervine în acest circuit, determină un lanţ de reacţii care în final realizează modificarea din nou a variabilei iniţiale. Sistemul cibernetic îşi asigură supravieţuirea şi integritatea o anumită perioadă de timp cu ajutorul structurii de feedback existente în procesele de autoreglare. Cunoaşterea şi reprezentarea structurii buclelor feedback dintr-un sistem reprezintă o modalitate de a reflecta conexiunile interne şi/sau externe, precum şi principalele fluxuri prin care aceste conexiuni determină modificări în sistem B3. PRINCIPIUL SINERGIEI (Hacken) ”Efectul total al interacţiunilor şi interdependenţelor dintr-un sistem este neaditiv în raport cu efectele locale”. Comentariu. Termenul de sinergie (în greceşte sunergia = cooperare) defineşte (conform dicţionarului Larousse) asocierea mai multor acţiuni care conduc la un efect unic cu economie de mijloace. Fie S un sistem format din n subsisteme s1 , s2 ,, sn . Atunci: n

ES S    W si   s1 , s2 , , sn  i 1

unde:

(1.6)

ES S  - efectul sinergic integral al sistemului S ; - efectul sinergic al subsistemului si determinat prin funcţionarea W s  sa izolată; Δ(s1, s2,..., sn) - efectul sinergic determinat de funcţionarea interdependentă a subsistemelor sale componente. Δ(s1, s2,..., sn) poate fi o valoare pozitivă sau negativă, adică efectul sinergic poate avea un efect complementar pozitiv determinând o amplificare a efectului integral sau negativ, micşorând efectul integral.

În sistemul economice reale există posibilitatea utilizării favorabile a efectelor sinergice dacă sunt orientate în aşa fel încât să determine amplificarea efectului total. B4. PRINCIPIUL COMPLEMENTARITĂŢII EXTERNE „Orice sistem cibernetic constituie un element (subsistem) al cel puţin unei bucle feedback dintr-un sistem cibernetic de ordin superior”. Comentariu. Acest principiu arată că orice sistem cibernetic este un subsistem al unui alt sistem cibernetic de ordin superior. Orice sistem cibernetic poate fi analizat ca sistem izolat doar în mod formal, el fiind, prin intermediul intrărilor şi ieşirilor sale în interacţiune cu alte sisteme cibernetice. B5. LEGEA ENTROPIEI NEGATIVE

Curs pentru învăţământ la distanţă

16

„În sistemele cibernetice există tendinţa ca sintropia informaţională să crească şi entropia informaţională să scadă”. Comentariu. Conceptul de sintropie reprezintă tendinţa de creştere a ordinii. În sistemele cibernetice organizarea şi funcţionarea subsistemelor componente ca şi a întregului sistem se pot considera dependente de cantitatea de informaţie existentă: cu cât entropia informaţională este mai mică cu atât cantitatea de informaţie acumulată este mai mare şi deci, sintropia informaţională creşte. Sistemele cibernetice au proprietatea că îşi pot păstra şi chiar mări gradul de organizare pe măsură ce acumulează şi utilizează informaţia existentă în mediul înconjurător. În economia reală există o mare diversitate de sisteme care au proprietăţile sistemelor cibernetice. După funcţia îndeplinită de sistem în cadrul economiei naţionale avem: a) sistemul cibernetic al producătorului; b) sistemul cibernetic al consumatorului; c) sistemul guvernamental (sectorul public); d) sistemul relaţiilor externe (sectorul extern). De exemplu, sistemul cibernetic al producătorului are ca funcţie esenţială formarea ofertei agregate pe piaţa bunurilor şi serviciilor, precum şi cererea pe piaţa factorilor de producţie (figura 1.5). Piaţa bunurilor şi serviciilor Venit total Inputuri Serviciile factorilor

Preţurile produselor Sistemul cibernetic al producătorilor Preţurile factorilor Piaţa factorilor de producţie

Oferta de produse outputuri Cererea de factori de producţie

Figura 1.5 Sistemul cibernetic al producătorului ([SCA97a])

Sistemul guvernamental (Guvernul sau Sectorul public) constituie un sistem cu un rol special de reglare şi control al activităţii economice generale. Guvernul propune şi creează cadrul general necesar desfăşurării activităţii celorlalte sisteme cibernetice, stabileşte norme de comportament pentru acestea, dar realizează şi anumite activităţi care nu pot fi îndeplinite de loc sau în mod eficient de nici un alt sistem cibernetic (de exemplu lucrări de interes naţional: sistemul de autostrăzi, porturi, aeroporturi etc.). Pentru a-şi exercita aceste funcţii, Guvernul percepe de la agenţii economici producători şi consumatori impozite şi taxe, care constituie venitul său.

Bazele informaticii economice

Bunuri pentru consum guvernamental Impozite şi taxe Împrumuturi guvernamentale

17 Piaţa bunurilor şi serviciilor Preţurile produselor Sistemul guvernamental Rata dobânzii Piaţa financiară

Cererea de bunuri şi servicii pt. consum guvernamental Plăţi transferabile Cererea de bani pentru acoperirea deficitului

Figura 1.6 Sistemul guvernamental ([SCA97a]) El realizează cheltuieli guvernamentale pentru produse şi servicii de interes public (educaţie, sănătate, apărare ş.a.), dar poate şi transfera o parte din venituri direct agenţilor economici sau indivizilor sub forma de plăţi nereturnabile (plăţi transferabile).

1.3. SISTEMUL INFORMAŢIONAL [JOR95], [KOH90], [LIX94], [NIR96], [OPR99], [POP86] În structura oricărei organizaţii (firme) se pot identifica trei sisteme corelate între ele (figura 1.7): Sistemul decizional

Sistemul informaţional

Sistemul operaţional

Figura 1.7 Sistemele organizaţiei Sistemul operaţional (condus, de execuţie) cuprinde toate activităţile firmei legate de producţie, căutare de noi clienţi etc., în general toate activităţile de execuţie pentru realizarea obiectivelor fixate de sistemul decizional. Elementele sistemului sunt constituite din: mijloace umane (personalul cu responsabilităţi exacte în execuţia sarcinilor) şi mijloace materiale (maşini, linii de producţie, calculatoare etc.). Sistemul decizional (de conducere) constă din mulţimea centrelor unde se analizează informaţiile şi se elaborează deciziile. Regăsim la acest nivel deciziile strategice şi tactice:  pe termen mediu şi lung (de exemplu, având ca obiective: creşterea cotei de piaţă, modificarea gamei de produse comercializate etc.);  pe termen scurt (obiectivele pot fi de exemplu: lansarea unei campanii de prospectare a clienţilor în vederea promovării unui nou model, modificarea politicii de aprovizionare etc.)

Curs pentru învăţământ la distanţă

18

Elementele sistemului sunt: mijloacele umane (persoanele din firmă cu responsabilităţi în luarea deciziilor) şi mijloace materiale (calculatoare, sisteme interactive în sprijinul luării deciziei bazate pe modele matematice etc.) Sistemul informaţional asigură legătura în ambele sensuri între sistemul operaţional şi cel decizional. Pe de o parte pune la dispoziţia sistemului decizional toate informaţiile necesare luării deciziilor. Aceste informaţii provin din sistemul operaţional şi mediul înconjurător (exterior organizaţiei). Pe de altă parte permite transmiterea informaţiilor şi a deciziilor luate la nivelul sistemului de conducere, sistemului operaţional sau factorilor interesaţi din mediul înconjurător. În schema din figura 1.8, se observă caracterul central al sistemului informaţional şi rolul lui de interfaţă cu mediul înconjurător. Definiţia 1.3. Sistemul informaţional al unui organism economic reprezintă ansamblul informaţiilor (utile sau nu, structurate sau nu, formale sau informale), canalelor de circulaţie, procedurilor (regulilor de gestiune) şi mijloacelor de tratare a informaţiilor din cadrul respectivului organism. Sistemul informaţional asigură culegerea, prelucrarea, păstrarea şi transmiterea informaţiilor necesare luării deciziilor de către sistemul de conducere, în scopul realizării funcţiilor conducerii asupra sistemului condus. Sistemul firmă

Sistemul decizional

Mediul înconjurător

Fluxuri de bunuri şi servicii

Sistemul informaţional

Sistemul operaţional

Informaţii Figura 1.8 Legăturile şi circulaţia informaţiilor în sistemul informaţional, care definesc fluxul informaţional, sunt strâns legate de strâns legate de structura celorlalte două sisteme (sistemul de conducere şi sistemul condus).

Bazele informaticii economice

19

Dimensiunea sistemului informaţional este determinată de complexitatea şi modul de organizare a celorlalte două sisteme, de obiectivele urmărite şi de resursele existente în unitatea economică. Poziţia de intermediar a sistemului informaţional face ca obiectivul principal al acestuia să fie asigurarea unei cuplări dinamice a sistemelor conducător şi condus, prin realizarea tuturor legăturilor directe şi inverse între ele, în condiţiile unui mediu în permanentă evoluţie. Firma este un sistem cibernetic, având cu mediul înconjurător schimburi sub forma fluxurilor materiale, de personal, monetare şi informaţionale. Natura precisă a fluxurilor schimbate cu mediu depinde de scopurile finale ale firmei şi de opţiunile strategice luate (de exemplu: gama de produse, pieţe deservite, canale de distribuţie, alegerea tehnologică, structura financiară etc.). Fiecare din cele trei mari categorii de fluxuri: materiale, de personal şi monetare este tratat în interiorul sistemului firmă de subsisteme care asigură funcţii specifice. Se disting următoarele subsisteme (figura 1.9);  subsistemul logistic şi de producţie;  subsistemul de marketing;  subsistemul financiar-contabil;  subsistemul de personal;  subsistemul de control şi gestiune strategică. Pieţe financiare rambursări

împrumuturi plăţi

subsistemul financiar-contabil

facturi

comenzi

comenzi subsistemul subsistemul de control logistic livrări şi de şi gestiune strategică producţie livrări

subsistemul de personal (resurse umane)

plecări angajări piaţa forţei de  muncă   

subsistemul de marketing

studii promoţionale

observaţii – studii concurenţa tehnologia legislaţia evoluţia culturală

Figura 1.9. – Sistemul firmă şi principalele sale subsisteme

clienţi

furnizori

facturi

încasări

Curs pentru învăţământ la distanţă

20

Cele cinci subsisteme sunt în interacţiune şi au nivele proprii de reglare, care corespund nivelelor ierarhice. La primele patru subsisteme (logistic şi de producţie, financiar-contabil, marketing şi personal) se disting:  nivelul tranzacţional unde se efectuează operaţii elementare;  nivelul operaţional unde se efectuează operaţii curente, putând să intervină un prim nivel de decizie. În cadrul subsistemului de control şi gestiune strategică întâlnim:  nivelul tactic corespunde activităţii de control;  nivelul strategic unde se iau decizii pe termen lung sau care angajează global firma. Analizând prin prisma teoriei informaţiei, se poate afirma că sistemul informaţional al unei firme poate conduce la scăderea entropiei şi creşterea gradului de organizare. Cu cât se obţin mai multe informaţii despre stările şi modul de manifestare a elementelor sistemului, cu atât nedeterminarea sa este mai mică. Acest proces de „distrugere” a entropiei unui sistem prin cunoaşterea sa, se numeşte proces de negare a entropiei, iar cantitatea de entropie distrusă se numeşte negentropie. Rezultă că mărimea entropiei diminuate prin procesul cunoaşterii reprezintă tocmai cunoştinţele noi obţinute despre sistem, deci cantitatea de informaţii rezultată din procesul cunoaşterii. Numărul evenimentelor independente semnifică varietatea sistemului, adică numărul său de grade de libertate. Varietatea este un concept de bază al ciberneticii, având rolul de a face legătura cu teoria informaţiei prin legea: „entropia maximă a unui sistem este logaritmul varietăţii sale”. Domeniul de definiţie al entropiei 0 , H max  este variabil, în funcţie de numărul stărilor posibile ale elementelor sistemului. Această variaţie a domeniului de definiţie provoacă greutăţi în compararea mărimii entropiei, respectiv a cantităţii de informaţii conţinută în două sau mai multe sisteme ce diferă ca număr de stări ale elementelor. Pentru înlăturarea acestui inconvenient se determină o mărime relativă a entropiei:

H r X  

H X  H max  X 

(1.7)

care va lua valori în intervalul [0,1]. Faţă de entropia relativă se poate determina mărimea:  X   1  H r X 

(1.8)

care reprezintă ponderea cantităţii de informaţii deţinute despre sistem faţă de entropia sa în momentul iniţial, când se prezenta sub forma unui sistem complet necunoscut. Observaţie: Mărimea   X  poarte fi utilizată pentru definirea gradului de organizare a unui sistem. Dacă H max = constant, prin creşterea gradului de organizare se obţine o reducere a entropiei informaţionale.

Bazele informaticii economice

21

Perfecţionarea sistemului informaţional se realizează prin raţionalizarea lui, care cuprinde următoarele aspecte:  sporirea calităţii informaţiei, astfel încât să răspundă cerinţelor enunţate;  circulaţia raţională a informaţiei, prin continuitatea fluxurilor şi asigurarea legăturilor inverse în reglarea traiectoriei sistemului;  circulaţia economică a informaţiei prin eliminarea paralelismelor de informare, a prelucrărilor repetate;  construcţia raţională a suporţilor de date primare prin tipizare şi standardizare;  finalizarea informaţiei printr-o decizie sau acţiune;  asigurarea unităţii sistemului informaţional prin abordarea integrată a metodelor, tehnicilor şi mijloacelor de tratare a datelor. Principala modalitate de raţionalizare a unui sistem informaţional, este realizarea unui sistem informatic.

1.4. SISTEMUL INFORMATIC [JOR95], [OPR99], [NIR96] Definiţia 1.4. Sistemul informatic este un ansamblu coerent structurat, format din echipamente electronice de calcul şi comunicaţie, procese, proceduri automate şi manuale, inclusiv structurile organizatorice şi personalul care utilizează calculatorul ca instrument în procesul de prelucrare a datelor. Sistemul informatic este un sistem informaţional în care operaţiile de culegere, stocare, prelucrare şi transmitere a datelor se realizează cu calculatorul electronic. Orice sistem informatic este grefat pe sistemul informaţional la care se referă. Notă. Datorită dezvoltării informaticii şi tehnologiilor informaţionale, în literatura de specialitate străină nu se mai face distincţie între cele două concepte: sistem informaţional – sistem informatic, folosindu-se în literatura anglo-americană termenul information system, iar în cea franceză système d’information. Elementele unui sistem informatic sunt: 1. Resursa fizică (hardware) – este constituită din ansamblul de echipamente pentru culegerea, transmiterea, prelucrarea şi stocarea informaţiilor. 2. Resursa logică (software) – cuprinde totalitatea programelor care asigură utilizarea optimă a hardware-ului (sistemul de operare), precum şi pachetele de programe de aplicaţii (de exemplu: sistemul de gestiune a bazelor de date, programele de contabilitate etc.). 3. Baza de date – constituie un ansamblu de date organizat în fişiere interconectate. 4. Resursa umană şi cadrul organizatoric – cuprinde personalul de specialitate (informaticieni), utilizatorii nespecialişti (toate persoanele care utilizează un sistem informatic) şi cadrul legislativ necesar funcţionării sistemului informatic (de exemlu: legea contabilităţii, codul fiscal etc.).

22

Curs pentru învăţământ la distanţă

Obiectivul principal al oricărui sistem informatic îl constituie asigurarea selectivă şi în timp util a tuturor nivelelor de conducere cu informaţiile necesare şi reale, pentru fundamentarea şi elaborarea operativă a deciziilor cu privire la desfăşurarea cât mai eficientă a întregii activităţi din unitatea economică. Sistemele informatice au următoarele particularităţi:  au un ciclu de viaţă lung – intervalul de timp de la începerea lucrărilor de realizare a unui sistem informatic până la introducerea unui nou sistem este mare;  fac apel la o mare cantitate de date – realizarea sistemelor informatice integrate permite răspunsuri la cele mai variate cerinţe ale conducerii;  sunt folosite de un număr mare de utilizatori – situaţi de cele mai multe ori la distanţă, lucrul posibil prin utilizarea reţelelor de calculatoare şi a noilor tehnologii de comunicare;  utilizează intens aparatul matematic- cercetarea operaţională, analiza factorială, teoria stocurilor, teoria aşteptării, teoria reînnoirii etc.  îmbină utilizarea procedurilor automate cu procedurile manuale;  datorită schimbărilor frecvente ale cerinţelor utilizatorilor, sistemul informatic trebuie să fie prevăzut încă din faza de proiectare cu posibilităţi rapide şi simple de modificare;  sunt costisitoare – datorită resurselor materiale pe care le solicită atât în faza de proiectare cât şi în exploatare. Se apreciază că ponderea componentei software în cadrul preţului unui sistem electronic de calcul este în creştere continuă, ajungând la 80-90%. Clasificarea sistemelor informatice – poate fi făcută în raport cu gradul de cuprindere al domeniului sistemului informaţional, astfel: a) b)

c)

sisteme informatice parţiale – realizează prelucrarea automată a datelor dintr-un sector de activitate, de regulă cel mai important; sisteme informatice totale – cuprind toate activităţile informaţionale şi prelucrează toate datele cu calculatorul electronic; abordează sistemul ca fiind suma unor subsisteme considerate ca entităţi distincte care deservesc anumite activităţi, fără a evidenţia legăturile dintre ele; nu sunt recomandabile, deoarece nu asigură în totalitate cunoaşterea legăturilor de cauzalitate dintre subsisteme şi nu permit utilizarea cea mai eficientă a capacităţii de prelucrare a calculatorului; sisteme informatice integrate – abordează global procesul de prelucrare a datelor din cadrul sistemului informaţional al firmei, reliefând legăturile de cauzalitate dintre subsistemele acestuia. Se bazează pe principiul prelucrării în toate modurile utile a datelor primare introduse o singură dată în sistem. Rezultatele acestor prelucrări vor fi utilizate apoi la toate nivelele de conducere în vederea analizei şi deciziei. Structural, un sistem informatic integrat trebuie să cuprindă toate componentele ce corespund subsistemelor întreprinderii. Modulele sistemului trebuie să asigure funcţionalităţi specifice: contabilitatea financiară şi de gestiune, planificarea şi controlul producţiei, gestiunea aprovizionării, vânzarea şi distribuţia, managementul personalului, managementul calităţii, managementul proiectelor,

Bazele informaticii economice

23

mentenanţa echipamentelor, managementul serviciilor, controlul întreprinderii (furnizarea de informaţii pentru cel mai înalt nivel managerial). Un rol important va trebui să-l aibă analiza concepţiei unitare de realizare a produsului software – tehnologia, arhitectura, mediul de dezvoltare şi baza de date folosită. Sunt importante de asemenea flexibilitatea, deschiderea şi adaptabilitatea. Acestea se referă la posibilităţile oferite de sistemele integrate: utilizare modulară şi apoi extindere în mai multe etape, adaptabilitate la cerinţele specifice ale benefiaciarului şi integrarea aplicaţiilor interne ale acestuia. Deschiderea trebuie înţeleasă şi prin oportunităţile de afaceri ce pot apare prin utilizarea schimbului electronic de date informatizate şi conectarea la reţeaua Internet. Un sistem informatic modern trebuie să integreze tehnologia Internet – Intranet, aceasta contribuind la îmbunătăţirea comunicării în interiorul organizaţiei. Dezvoltarea rapidă a comerţului electronic şi legat de acesta a cybermarketingului, va produce mutaţii majore în viaţa întreprinderilor. Fenomenul de globalizare a economiei are drept consecinţă imediată faptul că activităţile managerială şi productivă vor trebui să se desfăşoare pe cât mai multe pieţe şi pentru un număr cât mai mare de clienţi. În cadrul oricărei firme se pot pune în evidenţă mai multe nivele de decizie (fig. 1.10).  La nivel stategic deciziile angajează organizaţia de regulă pe termen lung, ele necesită un mare volum de informaţii, majoritatea provenind din exterior (mediul înconjurător). Anumite informaţii necesare luării deciziilor rezultă în urma prelucrării automate (curbe de evoluţie, histograme, analize statistice, analize macroeconomice etc.), dar cel mai frecvent prelucrarea informaţiilor se face manual. Exemple: 1. Lansarea unui nou produs –sistemul informatic de gestiune furnizează studii de piaţă, rapoarte asupra costurilor etc. 2. Recrutarea personalului cu calificare superioară – sistemul informatic furnizează CV-urile candidaţilor, rapoarte grafologice, scrisori de recomandare etc.  La nivel tactic deciziile sunt mult mai frecvente; ele corespund adesea la adaptarea sistemului la mediul înconjurător sau la încercarea de ameliorare a funcţionării sistemului. Exemple: 1. Alegerea unei noi politici de preţ – sistemul informatic de gestiune furnizează elementele de contabilitate analitică ale fiecărui produs, rapoartele asupra sondajelor făcute cu clienţi etc. 2. Modificarea politicii de aprovizionare – sistemul informatic evidenţiază stările de lipsă de stoc, o scrisoare a unui furnizor care refuză sau amână livrarea unei comenzi etc.

Curs pentru învăţământ la distanţă

24

Fig. 1.10  La nivel operaţional deciziile sunt zilnice; ele aparţin frecvent personalului operaţional şi utilizează în marea lor majoritate prelucrarea automată cu ajutorul calculatorului. Exemple: 1. Editarea unei somaţii către un client debitor – sistemul informatic de gestiune furnizează automat lista clienţilor debitori. Decizia constă în a valida editarea automată a somaţiei. 2. Editarea unei facturi – sistemul informatic de gestiune furnizează informaţii asupra cantităţilor de produse comandate şi asupra clientului. Operaţia de facturare se desfăşoară automat. 3. Înregistrarea intrărilor în stoc – sistemul furnizează bunurile de intrare validate. Înregistrare se poate face interactiv. Concluzii: 1. În general se constată la nivelul organizaţiei o lipsă de informaţii utile şi o mare cantitate de informaţii inutile. Rolul sistemului informatic este de a filtra din volumul de informaţii, numai pe acelea utile. 2. Sistemul informatic dă posibilitatea îmbunătăţirii procesului decizional prin punerea la dispoziţie a informaţiei necesare la momentul oportun. 3. Fluiditatea informaţiei şi accesibilitatea contribuie, de asemenea, la îmbunătăţirea gestiunii organizaţiei. În viziunea bazelor de date informaţia trebuie să fie accesibilă tuturor celor care o solicită. Acest lucru se realizează prin utilizarea limbajelor de interogare a bazelor de date. Prezentaţi organizaţia (firma) în care lucraţi (sau o organizaţie cunoscută) într-o viziune sistemică prin identificarea principalelor concepte teoretice. Realizaţi o sinteză a sistemului informaţional / informatic existent în organizaţia studiată. (Lucrarea va avea maxim 3 pagini A4, redactată în Word, font TNR 12, line spacing: single).

Bazele informaticii economice

25

Să ne reamintim... „Avantajul competitiv real se obţine de surse invizibile, adică din informaţii sau circuite informaţionale, resursele vizibile pot fi cumpărate sau copiate rapid, cele invizibile se acumulează însă în ani” (Hiroyouki Itami). Cunoştinţa este conform lui Peter Drucker “informaţia care schimbă ceva sau pe cineva – fie devenind baza unor acţiuni, fie permiţând unei persoane sau organizaţii să acţioneze diferit sau mai eficace”.

Rezumat Cunoştinţa include capacitatea de a evalua informaţia într-un sens sau scop. A avea cunoştinţe sau abilitatea de a efectua sarcini complexe, presupune mai mult decât a avea o listă de instrucţiuni sau informaţii necesare; se cere abilitatea manipulării informaţiilor sau a sarcinilor. Optimizarea cunoştinţelor explicite presupune consolidarea şi punerea la dispoziţia indivizilor de diverse artefacte. Optimizarea cunoştinţelor tacite se realizează prin crearea de comunităţi care deţin, pun în comun şi dezvoltă acest tip de cunoştinţe. Gestiunea activă a bunurilor intelectuale constă în crearea de infrastructuri şi de procese de management, pentru a reuni artefactele şi comunităţile într-o dinamică comună, care va susţine crearea, utilizarea şi menţinerea capitalului intelectual. Această definiţie are meritul de a recunoaşte că demersul KM se adresează atât cunoştinţelor explicite cât şi celor tacite, precum şi interacţiunii între cele două şi de a lua în considerare mecanismele care permit acest lucru. Informaţiile se pot clasifica după mai multe criterii:  natură: cantitative, calitative;  situarea în timp: active, pasive, previzionale;  modul de apariţie: la intervale precizate, la cerere, ocazionale;  conţinut: elementare, complexe, sintetice;  frecvenţă: continue (în timp real), anuale, trimestriale, lunare, zilnice etc.;  nivel: strategic, tactic, operaţional;  origine: interne, externe. Conceptul de sistem apare în filosofia antică greacă. Aristotel (384-322 î.Hr.) afirmând că „întregul este mai mult decât suma părţilor”, dă o primă definiţie noţiunii de sistem, care se va dezvolta şi va evolua timp de peste două mii de ani, pentru a ajunge la forma actuală de abia la începutul secolului XX. Sistemul operaţional (condus, de execuţie) cuprinde toate activităţile firmei legate de producţie, căutare de noi clienţi etc., în general toate activităţile de execuţie pentru realizarea obiectivelor fixate de sistemul decizional. Elementele sistemului sunt constituite din: mijloace umane (personalul cu responsabilităţi exacte în execuţia sarcinilor) şi mijloace materiale (maşini, linii de

26

Curs pentru învăţământ la distanţă

producţie, calculatoare etc.). Sistemul decizional (de conducere) constă din mulţimea centrelor unde se analizează informaţiile şi se elaborează deciziile. Regăsim la acest nivel deciziile strategice şi tactice:  pe termen mediu şi lung (de exemplu, având ca obiective: creşterea cotei de piaţă, modificarea gamei de produse comercializate etc.);  pe termen scurt (obiectivele pot fi de exemplu: lansarea unei campanii de prospectare a clienţilor în vederea promovării unui nou model, modificarea politicii de aprovizionare etc.) Sistemul informatic este un sistem informaţional în care operaţiile de culegere, stocare, prelucrare şi transmitere a datelor se realizează cu calculatorul electronic. Orice sistem informatic este grefat pe sistemul informaţional la care se referă. Obiectivul principal al oricărui sistem informatic îl constituie asigurarea selectivă şi în timp util a tuturor nivelelor de conducere cu informaţiile necesare şi reale, pentru fundamentarea şi elaborarea operativă a deciziilor cu privire la desfăşurarea cât mai eficientă a întregii activităţi din unitatea economică. Sistemele informatice au următoarele particularităţi:  au un ciclu de viaţă lung – intervalul de timp de la începerea lucrărilor de realizare a unui sistem informatic până la introducerea unui nou sistem este mare;  fac apel la o mare cantitate de date – realizarea sistemelor informatice integrate permite răspunsuri la cele mai variate cerinţe ale conducerii;  sunt folosite de un număr mare de utilizatori – situaţi de cele mai multe ori la distanţă, lucrul posibil prin utilizarea reţelelor de calculatoare şi a noilor tehnologii de comunicare;  utilizează intens aparatul matematic- cercetarea operaţională, analiza factorială, teoria stocurilor, teoria aşteptării, teoria reînnoirii etc.  îmbină utilizarea procedurilor automate cu procedurile manuale;  datorită schimbărilor frecvente ale cerinţelor utilizatorilor, sistemul informatic trebuie să fie prevăzut încă din faza de proiectare cu posibilităţi rapide şi simple de modificare;  sunt costisitoare – datorită resurselor materiale pe care le solicită atât în faza de proiectare cât şi în exploatare. Se apreciază că ponderea componentei software în cadrul preţului unui sistem electronic de calcul este în creştere continuă, ajungând la 80-90%. Test de evaluare a cunoştinţelor 1. Care sunt indicii de calitate ai informaţiei ? 2. Ce este entropia informaţională ? 3. Cum se defineşte unitatea de măsură a cantităţii de informaţie ? 4. Definiţi şi comentaţi conceptul de Knowledge Management. 5. Care sunt principalele concepte utilizate în abordarea sistemică ? Exemplificaţi în cazul sistemului firmă. 6. Ce se înţelege prin sistem cibernetic şi care sunt principalele

Bazele informaticii economice

27

proprietăţi ale unui sistem cibernetic ? 7. Care este locul şi rolul sistemului informaţional într-o organizaţie ? 8. Care sunt principalele subsisteme ale sistemului firmă şi ce legături endogene şi exogene se stabilesc ? 9. Care este legătura sistem informaţional – entropie ? 10. Care sunt elementele caracteristice ale unui sistem informatic ? 11. Cum acţionează sistemul informatic la diferitele nivele de decizie ale unei organizaţii ? 12. Ce se înţelege prin sistem informatic integrat.

Unitatea de învăţare 2. ARHITECTURA CALCULATOARELOR

Introducere Înţelegerea arhitecturii calculatoarelor din punct de vedere hardware şi software. După o descriere succintă a evoluţiei sistemelor de calcul, se prezintă structura generală a unui calculator tip von Neumann, iar apoi se regăsesc elementele structurale în analiza unui calculator personal (PC). După structura hardware, se prezintă conceptele de sistem de operare şi reţea de calculatoare. Competenţele unităţii de învăţare După parcurgerea acestei părți studenții vor înțelege următoarele concepte: structura generală a unui calculator calculatoare personale sisteme de operare reţele de calculatoare

Durata medie de parcurgere a primei unităţi de învăţare este de 4 ore.

28

Curs pentru învăţământ la distanţă

2.1. SCURT ISTORIC AL SISTEMELOR DE CALCUL [NIR 96], [PET90], [SPB99] Primul „calculator” numeric, abacul (numărătoarea), a apărut cu circa 20003000 de ani î.Hr. în China, fiind preluat apoi de Grecia, Roma antică şi celelalte popoare ale antichităţii. În Rusia este întâlnit sub numele de sciot. Un exemplu remarcabil de instrument pentru prelucrarea informaţiilor cantitative este faimosul instrument de navigaţie descoperit în anul 1900 lângă insula Antikythera (Marea Egee), datând din secolul 1 î.Hr. şi atribuit, de către adepţii paleoastronauticii, datorită surprinzătoarei sale complexităţi şi marelui număr de roţi dinţate, intervenţiei unor extratereştri. De un adevărat progres al calculatoarelor nu poate fi vorba înainte de generalizarea sistemului de numeraţie arab care înlocuieşte în Europa sistemul roman la începutul epocii Renaşterii (secolul XV). Un impuls decisiv în răspândirea şi perfecţionarea maşinilor de calcul l-a constituit, abia în secolul al XVII-lea, avântul general al comerţului şi manufacturilor, în urma căruia volumul operaţiilor contabile a crescut considerabil. În anul 1617 John Neper (matematician scoţian, care a introdus în 1614 noţiunea de logaritm), crează un dispozitiv de calcul care permite înlocuirea operaţiilor de înmulţire şi împărţire prin adunare şi scădere. În anul 1621 Wiliam Oughtred inventează rigla de calcul, bazată pe logaritmi. Blaise Pascal (1623 –1662), filosof, matematician şi fizician francez, construieşte în 1642 o maşină de calcul cu roţi dinţate, în funcţionarea căreia apar principii ce aveau să fie aplicate frecvent la viitoarele dispozitive de calcul: transport automat de la ordine inferioare la ordine superioare, conceptul de complement şi altele. Gottfried von Leibniz (1646-1716), matematician şi filosof german, adaptează în 1671 maşina lui Pascal pentru a putea efectua înmulţiri şi împărţiri prin adăugarea de noi dispozitive. Leibniz intuieşte avantajul sistemului de numeraţie binar pentru a descrie fenomenele cu două stări stabile. Maşina de calcul realizată de Leibniz a fost numită aritmometru şi a cunoscut de-a lungul timpului mai multe perfecţionări ( de la acţionarea manuală la cea electrică), sub următoarele forme:  maşini de casă pentru magazine;  maşini de calcul mecanice, acţionate manual, realizând afişarea rezultatelor prin intermediul unor tamburi (principiul odhner utilizat şi la realizarea contoarelor de energie, apă, kilometrajul mecanic al autovehiculelor etc.);  maşini de calcul electromecanice bazate tot pe principiul mecanic al roţilor odhner, dar alimentate electric. Joseph Marie Jacquard (1752-1834) construieşte în 1804 o maşină de ţesut la care comanda operaţiilor era realizată prin cartele perforate. Matematicianul britanic Charles Babbage (1792-1871) a realizat împreună cu asistenta sa Ada Augusta de Lovelace (1815-1852), fiica poetului englez Byron, în

Bazele informaticii economice

29

1834 proiectul unei maşini analitice, la care se regăsesc toate principiile de bază ale unui calculator electronic modern. Dintre acestea amintim:  introducerea datelor şi programelor pe cartele perforate;  posibilitatea de memorare;  existenţa unui dispozitiv de calcul;  existenţa unui dispozitiv de ieşire. În anul 1889 statisticianul american Hermann Hollerith (1860-1929) brevetează cartela cu codificare binară, care va fi folosită la prelucrarea datelor obţinute cu ocazia recensământului populaţiei din 1890, din S.U.A. Hollerith este fondatorul firmei de calculatoare electromecanice, Tabulating Machine Corporation (1896), care va deveni din 1924, IBM (International Business Machine Corporation), cea mai mare companie de calculatoare pe plan mondial. Creşterea în continuare a nevoilor de prelucrare a informaţiilor a dat impulsul hotărâtor pentru realizarea unui calculator mai rapid şi mai puternic. La Universitatea Harvard, în 1944, sub conducerea lui Howard Aiken, era terminat calculatorul MARK I, primul la care tradiţionalele roţi dinţate au fost înlocuite cu dispozitive mai moderne, în acest caz cu relee electromagnetice. Cel de-al doilea război mondial a accelerat cercetările în domeniu, s-au alocat sumele necesare şi s-au format mai multe echipe de cercetare. În 1941, germanii au realizat prin Konrad Zuse, două maşini Z3 şi Z4, care funcţionau pe bază de program şi puteau executa calcule. Englezii au realizat calculatorul COLOSUS, cu ajutorul căruia a fost descifrat în 1943 codul german ultrasecret ENIGMA. În anii 1930-1942, John Atanasoff de la Iowa State College, împreună cu un student al său, Clifford Berry au început să construiască primul calculator electronic, bazat pe circuite logice realizate cu tuburi electronice (tubul electronic fusese inventat în 1904 şi era utilizat în radio şi televiziune). După moartea lui Atanasoff în 1942, proiectul calculatorului ABC (Atanasoff-Berry Computer) a fost abandonat. Ideile acestui proiect sunt continuate de J.W. Mauchley şi J.P. Eckert la Universitatea din Pennsylvania, terminând în 1946 primul calculator electronic ENIAC (Electronic Numeric Integrator and Computer). Calculatorul conţinea 18000 de tuburi electronice, 7500 rele, 7 milioane de rezistenţe şi multe alte piese. Cântărea 30 de tone, ocupa 145 m2 şi realiza 5000 de adunări pe secundă. O ultimă greutate care trebuia învinsă era aceea că ENIAC avea 6000 de comutatoare a căror manevrare în vederea programării devenea foarte complicată. Matematicianul John von Neumann (1903-1957) formulează într-un raport din 1946 principiile care ar trebuie să stea la baza construcţiei calculatoarelor:  necesitatea unei componente specializate destinate calculului;  execuţia secvenţială a operaţiilor;  pentru a asigura elasticitatea şi o relativă universalitate se impune o distincţie între instrucţiunile necesare rezolvării unei probleme particulare şi controlul general asupra acestor instrucţiuni;

Curs pentru învăţământ la distanţă

30



existenţa unei componente numită memorie pentru instrucţiunile şi datele necesare rezolvării problemei (memoria internă);  existenţa unei componente care să „ţină minte permanent” (memoria permanentă);  posibilitatea de trecere în ambele sensuri de la memoria internă la cea permanentă. În rezumat, structura calculatorului a fost împărţită în cinci părţi principale:  unitatea centrală  unitatea de intrare  unitatea de ieşire  memoria de lucru  memoria permanentă Aceste principii constructive sunt aplicate pentru prima dată la calculatoarele:  EDSAC (Electronic Digital Sequential Automatic Computer), realizat la Universitatea din Cambridge – Massachusetts (1949);  UNIVAC – I (Universal Automatic Computer), fabricat de firma Sperry Rand (1951), este primul calculator destinat comercializării;  EDVAC la Universitatea din Princeton (1952). Datorită principiilor constructive elaborate de von Neumann, calculatoarele electronice ale primelor patru generaţii vor fi denumite calculatoare von Neumann. În funcţie de componenta electronică de bază, calculatoarele au înregistrat mai multe generaţii (periodizarea este relativă): Generaţia 1 – cuprinde calculatoarele construite între 1946-1958. Au drept componentă de bază tubul electronic, utilizează sistemul de numeraţie binar şi logica booleană, iar programarea se făcea în limbaj de asamblare. Sunt caracterizate prin volum mare şi fiabilitate redusă. Capacitatea memoriei interne era de 2 KB, iar viteza de prelucrare era de 10 instrucţiuni pe secundă. Generaţia a 2-a - cuprinde calculatoarele construite între 1959-1963, la care sau folosit tranzistorii. În 1956, W. Shockley, J. Barden şi W.H.Brattain primeau premiul Nobel în fizică pentru inventarea tranzistorului. Această descoperire care a revoluţionat electronica a fost făcută în 1948 în laboratoarele Bell. Memoria internă este realizată din inele de ferită, ceea ce-i conferă rapiditate, fiabilitate mai bună, capacitate de stocare a datelor până la 32 KB. Viteza de calcul ajunge la 2 x 105 instrucţiuni pe secundă. Apar echipamentele periferice (cititorul de cartele, imprimanta, banda magnetică), sunt programate proceduri de interfaţă (drivere) care asigură legătura dintre dispozitivul de intrare/ieşire, memorie şi unitatea de control şi de calcul (CPU). Se realizează primele produse software de bază, care vor revoluţiona programarea: asambloare, linkeditoare, compilatoare etc. Generaţia a 3-a – cuprinde calculatoarele construite în perioada 1964-1970 şi care utilizează circuitele integrate. În 1953 Harwick Johnson prezintă patentul pentru circuite integrate. Un circuit se realizează printr-o tehnologie MOS (Metal-Oxide-

Bazele informaticii economice

31

Semiconductor) şi reprezintă echivalentul unui număr mare de componente electronice. În funcţie de capacitate circuitele integrate se împart în: MSI (Medium Scale Integration), până la 500 de componente; LSI (Large Scale Integration), peste 500 de componente; VLSI (Very Large Scale Integration), peste 10.000 de componente. Calculatoarele de generaţia a 3-a au la bază circuite integrate MSI. Memoria internă ajunge la 2 MB, viteza de calcul la 5 MIPS (milioane de instrucţiuni pe secundă). Se dezvoltă limbajele de programare de nivel foarte înalt. Generaţia a 4-a – cuprinde perioada 1971 – prezent şi implică o serie de progrese tehnologice şi arhitecturale. Se utilizează microprocesoarele ce conţin circuite larg integrate (LSI) şi foarte larg integrate (VLSI). Microprocesorul inventat de Marcian Ted Hoff în anul 1971 a fost o reacţie americană la expansiunea japoneză pe piaţa calculatoarelor miniaturizate. Se utilizează memorii externe perfecţionate care permit reducerea timpului de acces la informaţiile stocate pe suporturi magnetice. Viteza de prelucrare creşte sensibil, ajungând la 30 MIPS, se generalizează teleprelucrarea şi modul de lucru interactiv. Se dezvoltă facilităţile de conectare în reţele de calculatoare, creşte ponderea implementărilor de sisteme de gestiune a bazelor de date şi apar limbajele de programare orientate pe obiect. Generaţia a 5-a – de calculatoare cuprinde perioada după 1990. De fapt începutul a fost marcat de proiectul japonez lansat în 1981 legat de dezvoltarea inteligenţei artificiale (AI-Artificial Intelligence). Proiectul prevede construirea şi implementarea unor sisteme inteligente pentru procesarea cunoştinţelor (Knowledge Base System). Aceasta presupune existenţa unei baze de cunoştinţe şi a unui motor inferenţial care să permită prelucrarea logică, simulând astfel gândirea umană: deducţia şi inducţia ca procese fundamentale ale raţiunii.

2.2. Structura generală a unui calculator [DOD87], [JOR95], [LIX94] Un sistem electronic de calcul este alcătuit din două componente: - sistemul de echipamente (hardware), care reuneşte toate componentele fizice folosite în culegerea, memorarea, prelucrarea datelor şi transmiterea rezultatelor prelucrării; - sistemul de programe (software), reprezintă componenta logică şi cuprinde totalitatea programelor care asigură conducerea, supravegherea, controlul şi realizarea procesului de prelucrare; dintre elementele software un rol deosebit revine sistemului de operare. Indiferent de structura constructivă, de sistemul de operare şi de domeniul de utilizare, arhitectura calculatoarelor se dezvoltă în jurul următoarelor concepte funcţionale: - funcţia de memorare; - funcţia aritmetică – logică;

Curs pentru învăţământ la distanţă

32

- funcţia de comandă şi control; - funcţia de intrare – ieşire. Unităţile funcţionale se concretizează în componente materiale ce formează arhitectura calculatorului. Una din formele de abordare sistemică utilizate în cibernetică o reprezintă metoda black box (metoda cutiei negre). Astfel la un prim nivel calculatorul se poate vedea ca o cutie neagră în care se introduc programele şi datele de prelucrat şi de la care se obţin rezultatele (figura 5.1). Program

Calculatorul electronic

Date

Rezultate

Figura 5.1. Matematicianul John von Neumann (1903-1957) stabileşte în 1946 principiile constructive ale viitoarelor calculatoare electronice. Astfel calculatoarele primelor patru generaţii vor fi denumite calculatoare tip von Neumann . Un calculator clasic este compus din (figura 5.2):

UNITATEA CENTRALĂ

Unitatea de comandă Date Unitatea aritmetică şi Rezultate logică

Memoria Centrală

Ansamblul de periferice

Figura 5.2. A. Unitatea centrală – cu rol de prelucrare şi comandă; realizează memorarea (temporară) şi prelucrarea datelor. B. Ansamblul de periferice – permite memorarea datelor (memoria externă), introducerea datelor şi programelor în calculator şi extragerea rezultatelor. A. Unitatea centrală este compusă din:

Bazele informaticii economice

33

1. Memoria centrală (internă); 2. Blocul de calcul (procesorul) este format din: a) unitatea de comandă; b) unitatea aritmetică şi logică. 1. Memoria centrală (MC) a) Rolul memoriei centrale Memoria centrală (internă sau principală) face parte din unitatea centrală a calculatorului, păstrează informaţii reprezentând programe ale sistemului şi ale utilizatorului, datele de prelucrat, rezultatele intermediare şi finale ale prelucrării. b) Conţinutul memoriei centrale este redat în figura 5.3.

Figura 5.3.

c) Organizarea Memoria centrală poate fi considerată o succesiune de elemente fizice (celule elementare) care pot memora o informaţie binară. Un grup ordonat de 8 celule binare formează un octet (byte). Octeţii sunt numerotaţi crescător începând cu 0. Numărul asociat fizic fiecărui octet din memoria internă se numeşte adresa absolută. Cea mai mică unitate adresabilă în memoria centrală este octetul. Prin specificarea adresei, un octet este precis localizat în memorie. Unui octet i se poate schimba conţinutul, dar adresa îi rămâne întotdeauna aceeaşi. Un grup de octeţi consecutivi formează o zonă de memorie. Identificarea unei zone de memorie se face prin adresa şi lungimea ei. De regulă, adresa unei zone de memorie este adresa celui mai din stânga octet, iar lungimea este dată de numărul octeţilor din zona respectivă. d) Funcţionarea memoriei centrale Este comandată de unitatea de comandă. Cantitatea de informaţie accesibilă la un moment dat pentru procesor o constituie cuvântul memorie. Operaţiile de citire / scriere (adresarea memoriei) sunt efectuate prin intermediul a doi regiştri specializaţi (figura 5.4). 0

1

2



R Registrul de adresă

locaţie memorie

adresare A

Dispozitiv de

Registru de

Curs pentru învăţământ la distanţă

34

Selecţie

memorie

RM

Figura 5.4 - Registrul de adresă (RA) sau registrul de selectare a memoriei conţine adresa cuvântului care urmează să fie scris sau citit; dimensiunea lui depinde de capacitatea memoriei. - Registrul de memorie (RM) conţine informaţia detectată după citire, sau informaţia care urmează să fie stocată în memorie la adresa indicată de (RA). Registrul de memorie este o zonă de tranzit obligatorie; are aceeaşi dimensiune cu cuvântul memorie. Citirea unui cuvânt memorie – după analiza şi decodificarea adresei cuvântului (conţinută în RA) informaţia citită este transferată în RM. Scrierea unui cuvânt memorie – după analiza şi decodificarea adresei cuvântului (conţinută în RA) informaţia din RM este transferată şi stocată în locaţia selectată. e) Caracteristicile memoriei centrale sunt: - capacitatea de memorare, adică numărul maxim de locaţii de memorie adresabile independent, unitatea de măsura este KB; - timpul de acces (durata ciclului de memorie) este intervalul minim de timp între operaţii consecutive de scriere sau citire în/din memorie; - dimensiunea cuvântului memorie. f) Clasificarea memoriei interne Se poate face în funcţie de natura accesului la informaţie. Principalele tipuri de memorie sunt: RAM (Random Access Memory) – memorie cu acces aleator pentru citire şi scriere, volatilă, adică informaţia stocată poate fi ştearsă şi înlocuită cu alta, însă la oprirea calculatorului, informaţia memorată se şterge; memoria RAM ocupă cea mai mare parte a memoriei interne. ROM (Read Only Memory) – memorie pentru citire, nevolatilă şi programabilă numai de constructor; informaţia pe care o conţine este esenţială pentru calculator şi de obicei reprezintă componenta de bază a sistemului de operare. PROM (Programmable Read Only Memory) – memorie permanentă (nevolatilă), programabilă o singură dată de utilizator; informaţia este esenţială pentru utilizator, care o va folosi în mod frecvent.. EPROM (Erasable Programable Read Only Memory) – memorie permanentă programabilă ce poate fi ştearsă; utilizatorul poate modifica în funcţie de necesităţi, conţinutul memoriei. 2. Unitatea aritmetică şi logică (UAL) a) Rolul unităţilor aritmetice şi logice Execută două funcţii, necesare prelucrării datelor: - calculul logic: deplasare, funcţii logice;

Bazele informaticii economice

35

- calculul aritmetic: adunare, scădere. Calculatorul poate executa aceste operaţii numai dacă primeşte o succesiune de ordine elementare (instrucţiunile), care reprezintă programul utilizatorului. b) Noţiunea de instrucţiune Instrucţiunea, ca orice informaţie este în prealabil înregistrată în MC. Ne vom referi la instrucţiunile în limbaj de asamblare care descriu în general o singură operaţie în cod maşină (de exemplu încarcă un registru cu conţinutul unei locaţii de memorie, adună la valoarea memorată într-un registru o valoare dispusă în alt registru sau într-o locaţie de memorie etc.). Acţiunea descrisă de o instrucţiune a unui limbaj de nivel înalt presupune, de obicei, execuţia unei secvenţe de operaţii în cod de maşină. Se numeşte format al instrucţiunii, descrierea conţinutului ordinului elementar dat calculatorului. Formatul unei instrucţiuni conţine: - codul operaţiei (COP), care indică natura ordinului de executat; - adresa operanzilor (AOP). Observaţie. Datele sunt indicate prin adresa lor în MC; aceasta păstrează caracterul general, independent al programului de valorile concrete ale datelor de prelucrat. c) Structura şi funcţionarea UAL Execuţia unei operaţii logice sau aritmetice se poate face în două moduri: - modul de lucru cu „3 adrese”, presupune cunoaşterea următoarelor elemente: codul operaţiei, adresa primului operand în MC, adresa celui de-al doilea operand în MC, adresa locaţiei de memorie unde va fi depus rezultatul. Deci, UAL trebuie să conţină 3 regiştri, conform schemei (figura 5.5): Rezultat Comanda operaţiei

Operand 1

Operand 2

Figura 5.5 - modul de lucru cu „acumulator”, presupune existenţa unui registru acumulator; acest registru special va conţine, succesiv primul operand, apoi rezultatul. Astfel, execuţia unei operaţii simple necesită următorii paşi: Pasul 1. Încărcarea primului operand în registrul acumulator Pasul2. Execuţia operaţiei între conţinutul registrului acumulator şi al doilea operand, rezultatul rămânând în registrul acumulator; Pasul 3. Depunerea conţinutului registrului acumulator în memoria centrală. Acest mod de lucru este reprezentat în figura 5.6.

Curs pentru învăţământ la distanţă

36

Acumulator

Operand 2

Operand 1 Figura 5.6.

3. Unitatea de comandă (UC) a) Funcţiile unităţii de comandă sunt: - comandă şi controlează execuţia operaţiilor de calcul în UAL, conform instrucţiunilor; - determină instrucţiunea care urmează să fie executată după terminarea instrucţiunii curente; - controlează operaţia de citire din memorie a instrucţiunii următoare; - controlează operaţiile de introducere/extragere a datelor în/din calculator. b) Structura unităţii de comandă (figura 5.7). Pentru a asigura aceste funcţii, unitatea de comandă conţine doi regiştri esenţiali: 1. contorul de adrese (program counter (CA)) – controlează derularea secvenţială şi înlănţuie automat instrucţiunile programului; contorul de adresa conţine adresa instrucţiunii care urmează să fie executată; 2. registrul instrucţiune (RI) – conţine instrucţiunea extrasă din memoria centrală. Unitatea de comandă posedă şi un generator secvenţial care, după analiza codului operaţiei, dă comenzile necesare pentru execuţia diferitelor faze ale instrucţiunii.

+1

CA Contorul de adrese

Codul operaţiei

Zona adrese operanzi

Generator secvenţial

secvenţial Figura 5.7. c) Funcţionarea unităţii de comandă

RI

Bazele informaticii economice

37

- se citeşte instrucţiunea de executat, adresa fiind conţinută în contorul de adresă (CA); - această instrucţiune este transferată din registrul memorie (RM) în registrul instrucţiune (RI); - codul operaţiei este decodificat şi informaţia este transmisă circuitelor de comandă; - contorul de adrese este incrementat automat, fiind astfel pregătit să adreseze următoarea instrucţiune; - în funcţie de codul operaţiei este comandată citirea din memorie a operanzilor şi este iniţiată operaţia de efectuat în unitatea aritmetică şi logică. Observaţie. Pentru a lansa un program în execuţie unitatea de comandă (UC) trebuie să cunoască adresa primei instrucţiuni de executat (adresa de start); această adresă este încărcată în CA. În UC este încărcată întotdeauna instrucţiunea aflată la adresa precizată de CA. B. Ansamblul de periferice Realizează legătura cu mediul exterior, îndeplinind următoarele funcţii: - permite schimbul de informaţii între utilizator şi sistemul de calcul; prin dialogul utilizator – calculator poate fi supravegheată funcţionarea calculatorului, introducerea programelor şi datelor, lansarea în execuţie sau întreruperea execuţiei unui program; - are rolul de memorii auxiliare (externe), putând înmagazina un mare volum de informaţii. Performanţele tehnice ale diferitelor tipuri de periferice vizează în general două aspecte: - capacitatea de înmagazinare a informaţiei; - viteza de transfer a informaţiei. Ansamblul de periferice conectat la unitatea centrală reprezintă configuraţia unui calculator electronic. Numărul şi tipul perifericelor ce formează configuraţia unui calculator constituie o opţiune a utilizatorului. Orice sistem de calcul are în general o structură modulară, în sensul că o configuraţie poate fi modificată prin adăugarea de noi dispozitive. În funcţie de necesităţi (volumul datelor de prelucrat, numărul şi tipul aplicaţiilor), utilizatorul poate opta pentru o configuraţie adecvată, care să-i permită rezolvarea problemelor.

2.3. CALCULATOARE PERSONALE [BVB 97], [JOR95], [LIX94], [NIR96], [SPB99] Primul microcalculator este construit în Franţa în 1973, la societatea R2E condusă de André Troung Thi. Se numea MICRAL şi era construit cu microprocesorul Intel 8008, având o memorie internă de 256 B extensibilă până la 2 KB. În 1975, în California, Stephen Wozniak (26) şi Steve Jobs (20) construiesc un calculator numit APPLE I, introducând o dată cu el noţiunea de calculator personal.

Curs pentru învăţământ la distanţă

38

În anul 1980, firma IBM intră în competiţia producătorilor de microcalculatoare şi realizează primul calculator personal. Politica firmei de a impune calculatorul IBM PC (Personal Computer) ca un standard mondial în domeniu este susţinută de o puternică campanie publicitară şi de publicarea specificaţiilor tehnice. În aceste condiţii, majoritatea firmelor încep să fabrice calculatoare „compatibile IBM PC”, iar programele de aplicaţii sau de bază trebuie să aibă acea caracteristică tot mai des folosită de „compatibil PC”. Problema compatibilităţii se referă la un minim de cerinţe:  Microprocesor de tip INTEL;  Sistem de operare compatibil MS-DOS. Calculatorul IBM PC era construit cu microprocesorul Intel 8088, memorie internă de 128 K extensibilă la 640 K, unitate de disc flexibil de 180 K şi ecran monocrom. Arhitectura standard a unui calculator personal (PC) conţine: microprocesor, memorie internă, memorie externă, periferice, toate acestea comunicând prin intermediul magistralelor de comunicaţie (de adresă, de date şi de comenzi). O schemă generală a unui PC este prezentată în figura 5.8.

Unitatea centrală Memorie internă

Microprocesor

ROM

RAM

Interfeţe de intrare – ieşire

tastatură

imprimantă ecran

mouse disc (FD/HD/CD /DVD)

modem

Figura 5.8 John von Neumann a fost primul care a realizat un computer cu o memorie de lucru (ceea ce astăzi se numeşte RAM). Dacă aplicăm acest model la un PC actual vom obţine schema de mai jos:

Bazele informaticii economice

39

1. Microprocesorul Microprocesorul este un circuit integrat complex care poate efectua operaţii aritmetice şi logice sub controlul unui program. Este componenta principală a unităţii centrale a calculatorului, specializată pe operaţii de calcul, comandă şi control. Reprezintă creierul calculatorului.

Microprocesorul Microprocesorul controlează întreaga activitate a calculatorului: trimite şi recepţionează semnalele de control (prin magistrala de control), adresele de memorie (prin magistrala de adrese) şi datele (prin magistrala de date) de la o componentă la alta a calculatorului (figura 5.9.)

Curs pentru învăţământ la distanţă

40

Rolul microprocesorului este de a executa programele scrise în limbaj maşină, aflate în memoria internă a calculatorului. I N T E R F E Ţ E

Magistrala de date Microprocesor

Memoria internă Magistrala de adrese Magistrala de comenzi

Figura 5.9. Microprocesorul cuprinde mai multe unităţi specializate interconectate. Cele mai importante sunt: unitatea aritmetică şi logică şi unitatea de comandă şi control. Structura de bază a unui microprocesor este descrisă în figura 5.10.

RALU

UC BDI UCPG

BLD

BLA

DBUS

ABUS

BLC

CBUS

Figura 5.10 Schema bloc a unui microprocesor [NIR96] UC

- unitatea de comandă la nivel „microprogram”; realizează secvenţierea

Bazele informaticii economice

41

acţiunilor elementare asociate execuţiei unei instrucţiuni, generează secvenţe pentru RALU şi semnale de sincronizare spre exterior (comenzi); conţine un registru de instrucţiuni (RI) în care se aduce codul instrucţiunii curente şi care comandă în continuare evoluţia automatului pentru execuţia instrucţiunii; - unitatea aritmetică şi logică şi registrele; execută operaţiuni aritmetice, RALU logice şi transferuri de date între registre la comanda UC; - unitatea de comandă a programelor; comandă secvenţierea UCPG instrucţiunilor extrase din memoria principală (internă), asociind fiecărei instrucţiuni o secvenţă de microinstrucţiuni care vor comanda efectiv sistemul; - pentru adresarea datelor şi a instrucţiunilor sunt necesare următoarele registre în UCPG:  contorul de adresă (CA), ce conţine adresa din memoria internă a instrucţiunii ce urmează a fi executată;  registrul de adresă (RA), ce furnizează adresa datelor citite/scrise din / în memorie la execuţia unei instrucţiuni. BLA, BLD, BLC - blocuri (zone) speciale de memorie distincte adreselor, datelor şi comenzilor; DBUS, ABUS, CBUS - magistralele de date, adrese şi comenzi. BDI - magistrala internă de date. Un microprocesor este caracterizat de viteza de lucru, capacitatea maximă de memorie pe care o poate adresa şi setul de instrucţiuni pe care le poate executa. Viteza de lucru a microprocesorului este determinată de: - frecvenţa ceasului intern; - dimensiunea registrelor interne; - capacitatea magistralei de date; - existenţa şi capacitatea memoriei cache; - tipul constructiv al microprocesorului. Ceasul intern este un oscilator ce emite pulsaţii la intervale de timp egale. Toate activităţile sunt coordonate de aceste pulsaţii periodice emise de ceasul intern. Ceasul intern nu are nici o legătură cu ceasul sistem care dă timpul curent (ora şi data), contorizat de memoria CMOS şi care poate fi modificat prin comenzi ale sistemului de operare. Frecvenţa cu care sunt generate pulsaţiile se numeşte frecvenţa ceasului intern. Unitatea de măsură este hertz-ul care are ca multipli kilohertz-ul (1kHZ = 103 Hz), megahertz-ul (1 MHz = 106 Hz), gigahertz-ul (1 GHz = 109). Fiecare microprocesor se caracterizează printr-o valoare maximă a frecvenţei de ceas la care funcţionează. De exemplu, un procesor Intel Celeron poate funcţiona la 2.80 GHz. Dimensiunea registrelor interne şi capacitatea magistralei de date sunt importante pentru viteza de lucru a microprocesorului. Procesoarele actuale folosesc registre interne de 32 bits. Cu cât dimensiunea registrelor este mai mare, cu atât numărul operaţiilor de transfer cu memoria internă este mai mic şi deci timpul de lucru se micşorează.

42

Curs pentru învăţământ la distanţă

De asemenea, cu cât dimensiunea magistralei de date este mai mare, cu atât volumul de date care circulă pe această magistrală este mai mare, iar viteza calculatorului creşte. Dimensiunea magistralei de adrese dă posibilitatea de adresare. Procesoarele recente dispun de o magistrală de adrese pe 32 bits, ceea ce extinde posibilităţile de adresare până la 4 GB memorie RAM, iar dimensiunea magistralei de date este de 64 bits. În general, magistrala care leagă memoria de procesor nu este suficien de rapidă faţă de frecvenţa ceasului. Procesorul lucrează în acest caz cu o frecvenţă internă ridicată, care este frecvenţa efectivă a prelucrărilor, în timp ce frecvenţa externă, mai mică, corespunde schimburilor de informaţii cu exteriorul. Pentru a evita ca procesorul să piardă timp aşteptând instrucţiunile sau datele venind de la memoria volatilă (RAM) se utilizează un mecanism de memorie format dintr-o memorie ultrarapidă integrată procesorului şi care este rezervată pentru stocarea intermediară a instrucţiunilor sau datelor. Această memorie cache internă are o capacitate limitată şi nu trebuie confundată cu memoria cache externă intermediară între microprocesor şi memoria RAM. Memoria cache este de tip SRAM (Static Random Access Memory), cu un timp de access de 12 ns (o nanosecundă este egală cu 10-9 secunde). Memoria cache se comportă ca o oglindă a memoriei RAM, păstrând o copie a datelor şi programelor din diverse zone ale memoriei interne. Eficienţa memoriei cache se măsoară printr-o rată (hit ratio) ce indică numărul cererilor de acces ale procesorului rezolvate de memoria cache. Viteza microprocesorului depinde de tipul constructiv şi de firma producătoare. Printre cele mai performante microprocesoare sunt cele din familia PENTIUM, produse de firma INTEL. Pentium apărut în 1993 nu mai respectă regula de denumire I 80x86, având un nume comercial care poate fi protejat din punct de vedere legal. Setul de instrucţiuni pe care un calculator le poate executa este în general caracterizat de tipul microprocesoruluui şi a înregistrat o creştere ascendentă corespunzătoare dezvoltării procesoarelor. În realizareaa procesoarelor s-au aplicat două tehnologii diferite: CISC şi RISC. Tehnologia CISC (Complex Instruction Set Computer) a promovat ideea de a mări setul de instrucţiuni prin includerea unor instrucţiuni din limbaje de nivel înalt. Tehnologia RISC (Reduced Instruction Set Computer) constă din implementarea hard doar a instrucţiunilor simple, urmând ca instrucţiunile complexe să fie simulate prin programe. Obiectivul arhitecturilor RISC este atingerea unei instrucţiuni la fiecare bătaie de ceas (pulsaţie), ajungându-se ca viteza procesoarelor RISC să depăşească de 3 ori viteza procesoarelor CISC. 2. Memoria internă Memoria internă face parte alături de microprocesor din unitatea centrală şi constructiv se compune din circuite integrate. Memoria ROM conţine informaţii permanente despre operaţiile de bază ale calculatorului. Acestea sunt informaţii fundamentale pentru orice calculator, cum ar fi programul de pornire care verifică părţile componente ale calculatorului înainte de activarea sistemului de operare. În memoria ROM este stocat în primul rând, programul

Bazele informaticii economice

43

BIOS (Basic Input Output System), care controlează modul în care informaţiile sunt apelate sau transferate la monitor, tastatură, unităţi externe de memorie, memorii RAM şi ROM. Programele din ROM, livrate odată cu calculatorul de producător, alcătuiesc firmware –ul (un intermediar între software şi hardware). Se pot diferenţia:  POST (Power On Self Test)  SETUP-ul, care face legărura cu CMOS-ul  BIOS-ul, care face legătura cu diferitele periferice  BOOT-ul, care apelează sistemul de operare (DOS, OS/2 sau Windows)

Memoria ROM Memoria RAM oferă stocarea temporară a informaţiilor, creând zona de lucru a calculatorului.

Memorie RAM În afara sistemului principal, diverse tipuri de RAM se găsesc şi în alte zone ale calculatorului avînd diferite utilizări:  memoria cache (prezentată anterior la microprocesor);  memoria – tampon pentru imprimantă (printer buffer) – păstrează datele ce urmează a fi tipărite până ce imprimanta le poate prelua. În acest mod, calculatorului i

44

Curs pentru învăţământ la distanţă

se permite să transmită datele respective şi apoi să continue lucrul în timp ce imprimanta tipăreşte;  memoria video (video buffer) – permite afişarea rapidă pe monitor a unor imagini video complexe;  memoria fantomă (shadow RAM) sporeşte viteza de lucru a calculatorului copiind informaţiile din ROM în RAM. În acest mod informaţiile elementare de intrare / ieşire sunt citite din RAM, operaţie mult mai rapidă decât citirea din ROM BIOS. Duplicarea se realizează prin utilizarea unităţii de gestiune a memoriei (MMU – Memory Management Unit) încorporată în procesor.  memoria CMOS ( Complementary Metal Oxide Semiconductor) – este o memorie RAM semipermanentă. Informaţiile depozitate sunt păstrate de către o baterie ce alimentează non-stop circuitul integrat CMOS. Când bateria se consumă, datele se pierd şi trebuie reîncărcate sau transferate de pe disc. Memoria CMOS conţine informaţii esenţiale despre calculator, cum ar fi: memoria disponibilă, tipul monitorului, mărimea şi tipul fiecărei unităţi de memorie externă, data şi ora curentă.

Rolul memoriei CMOS 3. Memoria externă Are rolul de a stoca în mod permanent volume mari de date şi programe. Suportul tehnic de date reprezintă mediu material pe care informaţiile sunt stocate. Acest termen generic cuprinde toate tipurile de memorie externă: hard disk, floppy disk, bandă magnetică, CD-ROM, DVD, etc. În configuraţia calculatorului personal există dispozitive ce permit citirea / scrierea, din/în aceste suporturi tehnice de date (unitatea de hard disk, unitatea de floppy disk, unitatea CD, unitatea DVD, etc.). 3.1. Unitatea de disc fix (hard disk) Un disc fix (hard disk) este format din unul sau mai multe platane (plates), fiecare având două feţe; pe fiecare faţă se află câte un cap de citire – scriere. Înregistrarea magnetică se face pe piste concentrice (tracks), numerotate de la 0 ..n, începând de la periferice spre centru; pistele cu acelaşi număr de ordine de pe toate feţele alcătuiesc un cilindru. Pe pistă, înregistrarea datelor se face în mod ordonat pe grupe de 512 octeţi, numite sectoare.

Bazele informaticii economice

45

Hard-disk Capacitatea unui disc se poate calcula astfel: C = nr. feţe x nr.piste / faţă x nr.sectoare / pistă x nr.octeţi / sector Capacitatea de stocare depinde de densitatea de înregistrare a informaţiei. În cazul discului hard pentru înregistrarea datelor se utilizează formatul CAV (Constant Angular Velocity), adică viteza de rotaţie constantă şi deci volumul ocupat de o informaţie depinde de locul de înregistrare a acesteia pe disc, densitatea de scriere fiind mai mare în apropierea axului central, deoarece viteza liniară este diferită. Datorită tehnologiilor actuale tot mai performante, capacitatea de stocare este în prezent de ordinul GB, iar preţul exprimat în sensul raportului preţ / GB a scăzut treptat.

46

Curs pentru învăţământ la distanţă

3.2. Unitatea de disc flexibil (floppy disk) A fost inventată în laboratoarele IBM din San José în 1967. Dimensiunile dischetei au evoluat (în sensul micşorării) de la 8 inch la 5.25 inch iar în prezent configuraţiile calculatoarelor personale prezintă doar unităţi floppy de 3.5 inch ( 1 inch = 2.54 mm). În prezent există tendinţa de renunţare la acest sistem de memorare.

Unitate de Floppy Disk 3.3. Unitatea de bandă magnetică Este cunoscută sub numele de streamer. Banda magnetică este un suport neadresabil de mare capacitate. Se utilizează pentru arhivare, adică păstrarea unor copii de siguranţă ale unor fişiere mari de date de pe un calculator pe altul. 3.4. Unitatea CD Discul CD – ROM (Compact Disk Read Only Memory) reprezintă un mediu performant de stocare a datelor prin mijloace optice. Înregistrarea datelor pe CD se face în format CLV (Constant Linear Velocity), sectoarele succedându-se continuu în formă de spirală. Pentru a avea la citire / scriere o viteză de trasnsfer uniformă, rotaţia discului este variabilă în funcţie de poziţia sectorului. Unităţile CD - ROM au în prezent o largă răspândire, deoarece reprezintă un mijloc important de distribuţie a informaţiei ştiinţifice şi principalul mod de livrare a produselor software. Din punct de vedere al posibilităţilor de imprimare există două categorii: CD-R (imprimabile o singură dată) şi CD-RW (imprimabile de mai multe ori).

Bazele informaticii economice

47

Unitate de CD-ROM 4. Dispozitive periferice Asigură interfaţa dintre utilizător şi calculator – introducerea comenzilor, programelor şi a datelor precum şi extragerea rezultatelor. 4.1. Tastatura (keyboard) Reprezintă dispozitivul principal de intrare pentru comenzi şi date în sistem. Se permite astfel, intervenţia în desfăşurarea unui proces. Tastatura standard dezvoltată de IBM conţine 101 taste. Ordonarea literelor pe tastatură este dată de frecvenţa apariţiei lor în diferite limbi, de exemplu prima linie este AZERTY în cazul tastaturii franţuzeşti şi QWERTY la tastatura englezească. 4.2. Monitorul ( VDU – Video Display Unit) Este un dispozitiv de ieşire utilizat pentru comunicarea om – calculator. Cea mai răspândită tehnologie de fabricaţie a monitoarelor este cea a tubului catodic. Conform standardelor video, imaginea se obţine prin baleierea ecranului cu un fascicul de electroni, linie cu linie, în mod repetat. În cazul calculatoarelor laptop monitoarele utilizează tehnologia bazată pe cristale lichide (LCD – Liquid Cristal Display) sau pe plasmă (GPD – Gas Plasma Display). Noile tehnologii propuse pentru monitoarele plate urmăresc economisirea energiei utilizate şi limitarea radiaţiilor (Low Radiation). Caracteristicile unui monitor sunt:  definiţia – orice imagine afişată pe ecran este realizată dintr-o mulţime de puncte numite pixeli. Dimensiunea (diametrul) unui pixel dă definiţia monitorului: cu cât această valoare este mai mică, cu atât imaginea este mai clară;  rezoluţia – este dată de dimensiunea matricei de pixeli;  dimensiunea monitorului – este reprezentată de lungimea diagonalei ecranului şi este dată în inches;

Curs pentru învăţământ la distanţă

48



rata de împrospătare a imaginii reprezintă numărul de imagini afişate pe secundă şi deci viteza cu care se realizează reîmprospătarea imaginii. Pixelii monitorului sunt puşi în corespondenţă bijectivă cu celulele binare din memoria video, aflată în blocurile memoriei interne. Transformarea informaţiilor din formă binară în forma semnalelor video care se transmit monitorului se realizează cu ajutorul unui adaptor video.

4.3. Imprimanta Este un periferic suplimentar destinat tipăririi informaţiilor. Principalele caracteristici:  rezoluţia – se măsoară în dpi (dots per inch), adică numărul de puncte tipărite pe un inch.  viteza de tipărire – se măsoară în caractere pe secundă (cps) sau pagini pe minut (ppm).  dimensiunea hârtiei utilizate – depinde de mărimea carului (în general poate fi A3 sau A4). Există în prezent mai multe tipuri:  imprimante matriceale (imprimante cu ace (pins)): capul de tipărire având 9, 18 sau 24 de ace acţionează asupra benzii tuşate; rezoluţia este mică (180 – 360 dpi) la o viteză între 120 şi 800 cps; sunt zgomotoase şi sunt pe cale de dispariţie;  imprimante cu jet de cerneală (imprimante color) au o rezoluţie înaltă (600 dpi) şi o viteză de aproximativ 8 – 9 ppm. Cerneala este pulverizată printro serie de mici capilare (duze speciale) la nivelul hârtiei, realizând caractere sau imagini într-o mare varietate de culori.  imprimante laser – utilizează tehnologia copiatoarelor: o rază laser polarizează electrostatic un cilindru care va atrage cantităţi variabile dintrun praf de cărbune (toner) care se va fixa astfel pe hârtie. Au o rezoluţie foarte bună (600 dpi) iar viteza poate ajunge la 200 ppm. 4.4. Alte periferice Mouse – dispozitiv de intrare, care permite deplasarea unui simbol luminos pe monitor realizând selectarea unei opţiuni prin punctare (click) sau deplasarea obiectelor pe ecran. Face parte din configuraţia standard a unui PC. Trackball – deplasarea cursorului se realizează prin mişcarea unei bile; se întâlneşte la calculatoarele portabile (laptop, notebook). Touch Screen – ecranul tactil – selecţia este realizată direct de utilizator pe ecranul sensibil la atingere; se foloseşte similar mouse-ul. Touch Pad – este o mică suprafaţă sensibilă la atingere, folosită ca dispozitiv de punctare pe unele calculatoare portabile.

Bazele informaticii economice

49

Scanner – dispozitiv pentru introducerea (preluarea de imagini) şi texte. Procesul de scanare constă din baleierea imaginii cu o rază luminoasă şi în analiza cantitativă a luminii reflectate cu ajutorul celulelor fotosensibile. Plotter – dispozitiv de desenat ce permite realizarea de desene tehnice, hărţi etc. de mare precizie pe suporturi de hârtie, calc, film. Modem – dispozitiv care permite calculatorului să transmită date prin liniile telefonice, realizând conversia digital – analogic la transmitere şi analogic – digital la recepţie. 4.5. Interfeţe pentru cuplarea dispozitivelor periferice Permite comunicarea: unitate centrală – periferic, prin adaptarea semnalelor de pe magistrala microprocesorului la cerinţele perifericului. Interfaţa se cuplează la unitatea centrală printr-un port. Conceptul de interfaţă este generic, el corespunzând unor denumiri particulare, ca de exemplu: - adaptor video (placă video) pentru interfaţa cu monitorul; - cuplor (controller) de disc pentru interfaţa cu discul. În funcţie de modalitatea de transmitere a datelor interfeţe se pot clasifica în:  Interfeţe seriale – transferul datelor se realizează bit cu bit pe linia de comunicaţie. Sunt necesare mecanisme de serializare / deserializare a informaţiilor. Interfaţa serială (asincronă) este mai lentă şi se întâlneşte la tastatură, mouse etc.  Interfeţe paralele – modul de lucru permite transmiterea simultană a 8 bits. Este necesar să se asigure sincronizarea între diversele semnale transmise simultan pe mai multe linii fizice. Interfaţa paralelă (sincronă) se întâlneşte în general la imprimantă.  USB (Universal Serial Bus) – permite conectarea oricăror periferice.

Modem extern

Modem intern

50

Curs pentru învăţământ la distanţă

2.4. SISTEME DE OPERARE [ALB 96], [BVB 97], [LIX 94], [NIR 96], [SPB 99] Sistemul de operare reprezintă componenta logică de bază şi este o colecţie organizată de programe care permite utilizarea eficientă a resurselor sistemului de calcul. Sistemul de operare asigură alocarea şi controlul tuturor resurselor, înlănţuirea proceselor de prelucrare şi interfaţa cu utilizatorul. Sistemul de operare se livrează pe suporturi magnetice şi optice (floppy-disk, CD-ROM), utilizatorul generându-şi un sistem de operare personalizat, în funcţie de configuraţia calculatorului său şi de tipurile de aplicaţii pe care doreşte să le utilizeze. Sistemul de operare astfel generat este reţinut pe discul hard. Se manifestă în prezent tendinţa ca tot mai mule funcţii ale sistemului de operare să fie implementate la nivelul hard-ului în memorii de tip ROM, aceste programe alcătuind firmware-ul. Principalele funcţii ale unui sistem de operare sunt: a) gestiunea unităţii centrale – are ca scop lansarea în execuţie a programelor, planificarea derulării proceselor, depistarea erorilor şi tratarea acestora; b) gestionarea memoriei interne – cuprinde evidenţierea stării de alocare a fiecărei locaţii de memorie, alocarea zonelor de memorie, etc. c) gestiunea datelor – asigură organizarea, identificarea şi protecţia datelor grupate în fişiere; această funcţie este îndeplinită de sistemul de gestiune al fişierelor; d) gestionarea dispozitivelor periferice – constă în alocarea şi eliberarea acestora, iniţierea operaţiilor de intrare / ieşire; e) asistenţa acordată utilizatorului – comunicarea este asigurată prin interfeţe „prietenoase” uşor de utilizat. Interfaţa dintre utilizator şi sistemul de calcul este concretizată, în cadrul sistemului de operare, de un interpretor al comenzilor utilizatorului exprimate cu ajutorul unui limbaj de comandă. Procesul este un concept cheie al oricărui sistem de operare şi reprezintă un program în execuţie. El poate avea unul sau mai multe subprocese, se poate afla în anumite stări, se poate sincroniza cu alte procese, poate comunica cu alte procese etc. Evoluţia sistemelor de operare urmează îndeaproape evoluţia sistemelor de calcul. Primele sisteme de operare (corespunzând generaţiei a doua de calculatoare) realizau prelucrarea pe loturi ( sisteme de operare batch). Erau sisteme de operare monoutilizator şi monotasking, adică un singur program este prezent în memorie şi se execută la un moment dat. Caracteristica de bază a modelului de prelucrare pe loturi o reprezintă imposibilitatea intervenţiei utilizatorului pentru a interacţiona cu programul său. Perfecţionarea sistemelor de operare a fost impusă de dezvoltarea hard-ului şi de cerinţele utilizatorilor legate de uşurinţa în exploatarea sistemelor. Concepul de multiprogramare presupune că la un moment dat în memoria sistemului se află încărcate pentru execuţie mai multe procese care concurează, pe baza unei scheme de priorităţi, pentru accesul la anumite resurse ale sistemului.

Bazele informaticii economice

51

Sistemele cu multiprogramare rezolvă problemele de alocarea optimă a resurselor, evitarea interblocărilor, protecţia utilizatorilor şi protecţia sistemului în raport cu utilizatorii. Sistemele de operare monoutilizator şi multitasking permit unui singur utilizator să lanseze în execuţie, în acelaşi timp, mai multe programe, utilizatorul având senzaţia că toate programele se execută simultan. În realitate programele utilizează concurent resursele sistemului, procesorul fiind disponibil într-un anumit moment unui singur program. Minicalculatoarele permit conectarea prin intermediul terminalelor a mai multor utilizatori. Sistemele de operare implemenate pe minicalculatoare s-au particularizat prin caracterul lor interactiv şi prin introducerea conceptului de multiacces. Interactivitatea, care va fi preluată de toate sistemele de operare ulterioare, presupune „dialogul” între utilizator şi sistem (utilizatorul trimite comenzi sistemului, în caz de eroare sistemul de operare lansează mesaje de atenţionare şi asistă utilizatorul la depanarea lor). Multiaccesul presupune conectarea interactivă a mai multor utilizatori la acelaşi calculator. Aceste sisteme multiuser (multiutilizator) au ridicat probleme noi privind gestiunea concurentă a programelor lansate de diverşi utilizatori, posibilitatea comunicării între utilizatori plasaţi la terminale diferite şi asigurarea unui sistem de protecţie corespunzător. În cazul sistemelor de operare multiuser şi multitasking, mai mulţi utilizatori sunt conectaţi simultan, dar procesul lucrează în tehnica time-sharing (timp divizat, partajat) în care alocarea timpului de acces se realizează pe baza unor cuante de timp fixe sau variabile, utilizatorii având impresia că lucrează simultan cu sistemul. Dacă sistemul de calcul dispune de mai multe procesoare (multiprocessing) pe fiecare din ele se execută câte un proces; în acest caz programele se execută simultan în mod efectiv. Sistemele de operare în timp real permit controlul execuţiei lucrărilor în interiorul unui interval de timp specificat. Aceste sisteme se caracterizează prin preluarea imediată a datelor de intrare, asigurând un timp de răspuns minim şi sunt implementate pe calculatoare pentru rularea unor aplicaţii ce necesită răspunsuri în timp util (rezervări de locuri, conducerea operaţiilor bursiere etc.). Din punct de vedere al modului de exploatare a echipamentelor informatice, au fost elaborate sisteme de operare specializate: a) sisteme de operare pentru exploatare individuală a calculatoarelor: MS-DOS, UNIX, WINDOWS’xx etc. b) sisteme de operare pentru reţele de calculatoare. Sistemele de operare au un limbaj de comandă destinat interfeţei cu utilizatorul. Instrucţiunile acestui limbaj se numesc comenzi şi sunt interpretate de componenta numită interpretorul de comenzi ce determină acţiuni ale sistemului de operare. Majoritatea sistemelor de operare sunt structurate pe două nivele: a) Nivelul fizic – apropiat de hardware, este în general transparent pentru utilizator. Interfaţa hardware este compusă din programe care controlează componentele fizice ale calculatorului. Acest software este parţial sau integral stocat permanent în memoria ROM. Rolul lui este de a gestiona şi controla componentele hardware. Comunicarea se face prin intermediul unui sistem de întreruperi prin care se semnalează anumite evenimente din sistem. La apariţia unei întreruperi, controlul este dat unor rutine de pe

52

Curs pentru învăţământ la distanţă

nivelul logic, în scopul tratării întreruperii şi al informării utilizatorului despre cauzele cea au generat-o. b) Nivelul logic constituie interfaţa cu utilizatorul. Acesta comunică cu sistemul prin comenzi, instrucţiuni, mesaje. Interfaţa poate fi de tip linie de comandă sau grafică GUI (Graphic User Interface). Sistemul de operare MS-DOS (Micro Soft – Disc Operating System) este un sistem monoutilizator şi monotasking, implementat pe calculatoarele cu o arhitectură de tip IBM-PC. Sistemul de operare MS-DOS oferă o serie de avantaje:  interfaţă utilizator simplă, accesibilă, uşor de utilizat, de tip linie de comandă;  mecanism evoluat de detectare şi tratare a erorilor;  posibilitatea conectării unui număr mare de dispozitive periferice;  gestionarea unei structuri de fişiere eficientă cu o organizare ierarhic-arborescentă;  contabilitatea datei şi orei curente, sistemul inserându-le în informaţiile legate de fişiere la crearea şi modificarea acestora. Fişiere şi directoare Gestionarea datelor pe disc este una din funcţiile cele mai importante ale sistemului de operare. Fişierul reprezintă elementul fundamental al organizării informaţiei pe discuri. Fiecare sistem de operare îşi are propriile reguli de organizare a fişierelor pe disc, reguli care formează sistemul de gestiune a fişierelor. Sistemul de operare MS-DOS grupează fişierele pe disc într-o structură arborescentă formată dintr-un director rădăcină (root) şi mai multe subdirectoare. Un disc în format MS-DOS este divizat în patru părţi:  zona BOOT – este destinată programului de încărcare al sistemului de operare;  zona FAT (File Allocation Table) conţine informaţii de gestiune a sectoarelor; se marchează sectoarele defecte pentru a fi izolate şi precizează pentru fiecare sector utilizabil dacă a fost ocupat sau este încă liber;  zona ROOT Directory păstrează informaţiile de gestiune asupra tuturor fişierelor şi directoarelor: denumirea, lungimea, data creării, atributele;  zona FILE este cea mai mare şi cuprinde fişierele grupate în directoare. Sistemul de operare WINDOWS este în prezent cel mai răspândit în rândul utilizatorilor de calculatoare personale. Anunţat pentru aprilie 1984 ca o extensie a sistemului MSDOS, sistemul este livrat în noiembrie 1985, având disponibile doar 25 de aplicaţii compatibile. A cunoscut o dezvoltare rapidă şi mai multe, versiuni, fiind disponibil în prezent pe tot globul, într-un mare de limbi. Sistemele Windows 3.0, Windows 3.1, Windows 3.11 funcţionau împreună cu sistemul MS-DOS şi nu reprezentau sisteme de operare propriu-zise, ci doar medii grafice de operare. În anul 1995 apare sistemul Windows 95, un sistem de operare pe 32 de bits, complet independent şi integrat, care poate exploata şi aplicaţii scrise în MS-DOS. Sistemele Windows 95, 98, 2000, XP au posibilităţi de lucru multitasking şi multithreading (adică facilitatea de a efectua lucrări pe porţiuni ale unei aplicaţii complexe, economisind astfel timp). Dintre caracteristicile mediului Windows, amintim:  interfaţa WIN accesată prin pictograme (ICON);

Bazele informaticii economice

53

 un număr mare de accesorii şi utilitare prin care sistemul comunică cu utilizatorii săi;  protocolul OLE (Object Linking and Embedding) pentru realizarea de documente complexe; de exemplu pot fi astfel incorporate grafice, tabele în documente, iar modificările pot fi făcute fără a părăsi documentul;  permite crearea de legături active între aplicaţii;  tehnologia Plug and Play permite ca instalare unui nou periferic să nu impună restartarea calculatorului. 2.5. REŢELE DE CALCULATOARE [BVB 97], [LIX94], [NAS98], [NIR6], [SPB 99] Modelul unui singur calculator care rezolvă problemele mai multor utilizatori este rapid înlocuit cu modelul unui număr de calculatoare interconectate într-un sistem numit reţea de calculatoare. Ideea formarii de reţele pentru a face posibilă partajarea diferitelor resurse şi schimbul de informaţii apare în anii‟70. Legătura între calculatoare se face instalându-le ca noduri într-o reţea; interconectările se pot face prin cabluri electrice, fibre optice, laser, satelit, semnale radio de frecvenţă înaltă (microwave). Avantajele reţelelor de calculatoare:  partajarea resurselor hardware – mai mulţi utilizatori pot avea acces la periferice costisitoare;  partajarea resurselor software – informaţiile existente în reţea pot fi accesibile utilizatorilor, evitându-se astfel existenţa unor copii multiple pentru date sau programe; accesul este controlat prin parole, atribute ale fişierelor şi directoarelor şi drepturi de acces specifice fiecărui utilizator, aceste probleme fiind rezolvate de administratorul de reţea;  flexibilitatea – posibilitatea extinderii simple şi integrării de noi echipamente într-o reţea deja existentă;  funcţionalitate crescută – prin distribuirea şi multiplicarea unor aplicaţii pe mai multe calculatoare, astfel încât, dacă din motive tehnice se defectează o parte a reţelei, partea intactă poate continua să funcţioneze, fără a altera prea mult performanţele sale;  diversificarea serviciilor oferite utilizatorilor, posibilitatea de comunicare între utilizatorii aceleiaşi reţele, ceea ce permite o mai bună coordonare şi eficientizarea activităţii;  realizarea unor sisteme adaptabile la noile cerinţe, fiabile şi robuste;  costul scăzut al unei reţele faţă de un calculator mare, în condiţiile unei productivităţi apropiate. În funcţie de aria geografică de cuprindere, reţelele de calculatoare se clasifică în:  Reţele locale (LAN – Local Area Networks). Sunt primele reţele apărute. Statistic s-a observat că peste 60% din informaţiile generate într-un birou se folosesc în aceeaşi clădire sau perimetru al firmei. Aria lor de cuprindere se limitează la spaţiul unei organizaţii (instituţie financiar-bancară, firmă, bibliotecă, universitate, etc.), permiţând conectarea unui număr mare de calculatoare într-un spaţiu geografic limitat (de ordinul

54

Curs pentru învăţământ la distanţă

a câtorva kilometri). Aceste reţele se pot interconecta la alta reţele mai mari (MAN sau WAN) prin punţi de comunicaţie (gateway) ce asigură compatibilitatea software şi hardware între două medii.  Reţele metropolitane (MAN – Metropolitan Area Networks). Se întind la limita unui oraş, permiţând interconectarea filialelor unei firme, instituţii bancare etc. O astfel de reţea poate interconecta mai multe reţele locale prin tehnologii speciale.  Reţele mari (WAN – Wide Area Networks) de mare întindere geografică, la nivel continental şi planetar. S-au dezvoltat de asemenea şi reţelele VAN (Value Added Networks), care reprezintă reţele pe arii extinse private, realizate şi gestionate de firme specializate. Reţelele private VAN sunt specializate în realizarea transferurilor electronice de date (EDI – Electronic Data Interchange) în domenii cum ar fi: comerţul electronic, servicii financiare, bursiere etc. Reţele locale (LAN) O reţea locală este formată dintr-un ansamblu de calculatoare, elemente periferice (imprimante, scannere, plottere, etc.), elemente de conectare (cablu, plăci de interfaţă, dispozitive nodale de comunicaţie – HUB). Staţiile existente într-o reţea locală pot fi de două tipuri:  Calculatoare server (FS-File Server) – care controlează întreaga activitate a reţelei; dispun de o memorie externă mare şi conţin toate sau o mare parte din programele şi fişierele comune. Pe server este instalat un sistem de operare specializat pentru lucrul în reţea numit NOS (Network Operating System).  Staţiile de lucru (WS – Work Station) sunt calculatoare personale ce pot lucra independent sau accesând resursele harware şi software ale serverelor. Un server poate lucra numai pentru controlul reţelei (server dedicat), sau poate lucra simultan cu controlul reţelei şi ca staţie de lucru (server nededicat). Întreaga activitate a unei reţele de calculator este controlată de un software specializat, de exemplu: sistemul NetWare al firmei Novell, sistemul Windows NT (firma Microsoft), sistemul UNIX (firma Santa Cruz Operation). Principalele funcţii ale unui software de reţea sunt:  partajarea fişierelor – mai mulţi utilizatori pot lucra în acelaşi timp asupra unui fişier;  stabilirea unor mecanisme de protecţie şi securitate a informaţiilor;  gestiunea cozilor de aşteptare pentru utilizarea resurselor comune puse la dispoziţia staţiilor de lucru de către server;  stabilirea protocolului care determină regulile de acces la reţea pentru a evita coliziunile dintre mesajele care circulă la un moment dat în reţea. În funcţie de modul de conectare a calculatoarelor în reţea, există mai multe topologii de reţele locale, pentru care s-au definit standarde:  Topologia de tip stea (star) în care file server-ul este plasat în centrul reţelei, staţiile de lucru fiind conectate fizic la server. Toate mesajele trimise de o staţie de lucru ajung la server, care le distribuie staţiilor destinatare. Topologia are avantajul că poate fi uşor extinsă, iar în cazul defectării unei staţii funcţionarea reţelei nu este influenţată. Standardul specific acestei topologii este ARCNET.

Bazele informaticii economice

55

 Topologia de tip inel (ring) se caracterizează prin conectarea calculatoarelor din reţea printr-o cale de comunicaţie ce formează un inel complet. Pentru această topologie standardul specific este TOKEN RING.  Topologia de tip magistrală (bus) presupune existenţa unui canal unic de comunicaţie duală (mesajele pot circula în două sensuri) împărţit între staţii. Mesajele transmise sunt recepţionate de toate staţiile, acestea selectându-şi informaţiile care le sunt adresate. Defectarea unei staţii nu afectează funcţionarea reţelei, dar disfuncţionalităţile la nivelul magistralei (ca şi în cazul topologiei inel), afectează întreaga reţea. Se utilizează standardul ETHERNET. Pentru topologiile care utilizează o cale unică de comunicaţie s-au elaborat două protocoale de acces:  Metoda CSMA/CD (Carrier Sense Multiple Access / Collision Detection) constă în ascultarea liniei de fiecare staţie şi depistarea, dacă există, a unei emisii în curs, pentru a stabili disponibilitatea reţelei. Dacă două staţii emit simultan apare o coliziune detectată de emiţători, care aşteptând un timp diferit (interval aleatoriu de ordinul milisecundelor), vor emite din nou fără a produce o nouă coliziune.  Metoda Token Passing permite staţiei de lucru să sesizeze starea de disponibilitate a căii de comunicaţie, cu ajutorul unui mesaj, numit jeton (pachet de control), pe care staţia îl recepţionează. Jetonul poate fi marcat ca liber sau ocupat de un mesaj. O staţie care vrea să emită trebuie să aştepte jetonul şi să-l verifice – dacă este liber poate declanşa emisia şi marchează jetonul ca ocupat. Acesta trece apoi pe la fiecare staţie care verifică adresa destinatarului, staţia receptoare copiază mesajul şi lasă jetonul să treacă nemodificat. Emiţătorul va modifica valoarea jetonului, eliberând astfel calea de comunicaţie, dar nu va putea să-l ocupe imediat pentru a evita fenomenul de acaparare a sistemului de o singură staţie. Conceptual, reţelele locale pot fi clasificate astfel:  Reţele bazate pe arhitectura client – server. Acest model este caracterizat de existenţa în cadrul reţelei a unuia sau mai multor calculatoare cu rol de server şi a unui număr de alte calculatoare reprezentând staţiile de lucru, puse la dispoziţia utilizatorilor. Clientul reprezintă entitatea care cere execuţia sarcinii, server-ul reprezintă entitatea care execută un set de sarcini, răspunzând astfel solicitării clientului. Dintre avantajele acestei arhitecturi, folosită în sistemele informatice, amintim: - adaptabilitate sporită la nevoile utilizatorilor; - asigurarea integrităţii datelor din baza de date; - actualizarea aplicaţiilor se poate face dintr-un punct central al reţelei; - reducerea costurilor prin partajarea resurselor hardware şi software.  Reţele bazate pe modelul peer-to-peer. Se caracterizează prin faptul că toate calculatoarele prezintă aceleaşi funcţii în reţea. Resursele fiecărui calculator pot fi partajate în reţea, dar cu performanţe reduse. Modelul se caracterizează prin flexibilitate, uşurinţă şi simplitate în instalare, administrare şi utilizare.  Reţele false, în care interconectarea a două calculatoare se face prin intermediul interfeţelor (porturilor) seriale sau paralele existente, fără a utiliza echipamente speciale de interconectare (plăci de reţea). Interconectarea se face ocazional pentru transferuri de fişiere, cu ajutorul unor programe utilitare.

56

Curs pentru învăţământ la distanţă

Reţele mari (WAN) În contextul procesului de informatizare a întregii societăţi, interconectarea reţelelor locale a devenit o necesitate. Într-o reţea mare pot fi interconectate calculatoare şi reţele de calculatoare eterogene din punct de vedere al tehnologiei, protocoalelor de comunicaţie şi al software-ului utilizat, situate în zone geografice diferite. Un astfel de exemplu îl constituie reţeaua INTERNET (Internetwork System – sistem de interconectare ale reţele). Internet-ul reprezintă o supermagistrală informaţională şi un adevărat spaţiu cibernetic. Este o reţea descentralizată, din punct de vedere administrativ fiind gestionată de ISOC (Internet SOCiety), o asociaţie de voluntari, fondată în 1992, care are ca scop analizarea noilor tehnologii şi definirea strategiilor de viitor. ISOC alege în fiecare an un consiliu – IAB (International Architecture Board), care are ca sarcină realizarea unor pe termen lung privind arhitectura internet şi standardizarea tehnologiei folosite. Internet îşi are originea în reţeaua americană ARPA (Advanced Research Project Agency), iniţiată în anul 1969 de Ministerul Apărării al S.U.A. Începând la anul 1980, marile universităţi americane, muzee, biblioteci şi instituţii guvernamentale s-au conectat la reţeaua ARPA. Deoarece aceasta devine foarte solicitată şi în consecinţă greu de utilizat, o agenţie a guvernului american NSF (National Science Foundation) realizează o reţea numită NSFNET, care atrage o parte din utilizatorii reţelei ARPANET. Tehnologia Internet oferă o serie de avantaje:  calculatoarele conectate la reţea pot partaja şi transfera informaţii text sau multimedia;  calculatoarele din reţea pot avea instalate diferite sisteme de operare şi poate fi utilizat orice hardware;  se pot realiza conexiuni între două calculatoare aflate în reţea în vederea transmiterii de mesaje;  oferă o interfaţă grafică ce permite o navigare uşoară, transparentă;  programarea în limbajul HTML – singurul standard universal pentru comunicaţii electronice;  utilizatorii deţin controlul informaţiei, prin legăturile ce permite regăsirea fişierelor în site-ul local sau pe alte site-uri. Serviciile oferite de Internet sunt aplicaţii de reţea bazate pe principiul client – server. Principalele servicii sunt:  serviciul de poştă electronică (e-mail) – asigură transmiterea şi recepţionarea de masaje în reţea, utilizând adresele Internet;  conectarea la distanţă (telnet) – permite conectarea unui terminal utilizator local la un server aflat la distanţă;  transfer de fişiere (FTP – File Transfer Protocol) – permite transferul fişierelor între două noduri ale reţelei Internet;

Bazele informaticii economice

57

 serviciul de informare (WWW – World Wide Web) – asigură funcţia de regăsire a informaţiei.

Întocmiţi o cerere de ofertă pentru achiziţionarea unui calculator necesar pentru secretariatul unei firme. (Documentul va avea o pagină A4 şi va conţine antetul firmei. Redactare în Word, font Arial 12)

Să ne reamintim... Un sistem electronic de calcul este alcătuit din două componente: - sistemul de echipamente (hardware), care reuneşte toate componentele fizice folosite în culegerea, memorarea, prelucrarea datelor şi transmiterea rezultatelor prelucrării; - sistemul de programe (software), reprezintă componenta logică şi cuprinde totalitatea programelor care asigură conducerea, supravegherea, controlul şi realizarea procesului de prelucrare; dintre elementele software un rol deosebit revine sistemului de operare.

Rezumat Indiferent de structura constructivă, de sistemul de operare şi de domeniul de utilizare, arhitectura calculatoarelor se dezvoltă în jurul următoarelor concepte funcţionale: - funcţia de memorare; - funcţia aritmetică – logică; - funcţia de comandă şi control; - funcţia de intrare – ieşire. John von Neumann a fost primul care a realizat un computer cu o memorie de lucru (ceea ce astăzi se numeşte RAM). Dacă aplicăm acest model la un PC actual vom obţine schema de mai jos:

58

Curs pentru învăţământ la distanţă

Sistemul de operare reprezintă componenta logică de bază şi este o colecţie organizată de programe care permite utilizarea eficientă a resurselor sistemului de calcul. Sistemul de operare asigură alocarea şi controlul tuturor resurselor, înlănţuirea proceselor de prelucrare şi interfaţa cu utilizatorul. Principalele funcţii ale unui sistem de operare sunt: a) gestiunea unităţii centrale – are ca scop lansarea în execuţie a programelor, planificarea derulării proceselor, depistarea erorilor şi tratarea acestora; b) gestionarea memoriei interne – cuprinde evidenţierea stării de alocare a fiecărei locaţii de memorie, alocarea zonelor de memorie, etc. c) gestiunea datelor – asigură organizarea, identificarea şi protecţia datelor grupate în fişiere; această funcţie este îndeplinită de sistemul de gestiune al fişierelor; d) gestionarea dispozitivelor periferice – constă în alocarea şi eliberarea acestora, iniţierea operaţiilor de intrare / ieşire; e) asistenţa acordată utilizatorului – comunicarea este asigurată prin interfeţe „prietenoase” uşor de utilizat. Modelul unui singur calculator care rezolvă problemele mai multor utilizatori este rapid înlocuit cu modelul unui număr de calculatoare interconectate într-un sistem numit reţea de calculatoare. Ideea formarii de reţele pentru a face posibilă partajarea diferitelor resurse şi schimbul de informaţii apare în anii‟70. Avantajele reţelelor de calculatoare:  partajarea resurselor hardware – mai mulţi utilizatori pot avea acces la

Bazele informaticii economice

59

periferice costisitoare;  partajarea resurselor software – informaţiile existente în reţea pot fi accesibile utilizatorilor, evitându-se astfel existenţa unor copii multiple pentru date sau programe; accesul este controlat prin parole, atribute ale fişierelor şi directoarelor şi drepturi de acces specifice fiecărui utilizator, aceste probleme fiind rezolvate de administratorul de reţea;  flexibilitatea – posibilitatea extinderii simple şi integrării de noi echipamente într-o reţea deja existentă;  funcţionalitate crescută – prin distribuirea şi multiplicarea unor aplicaţii pe mai multe calculatoare, astfel încât, dacă din motive tehnice se defectează o parte a reţelei, partea intactă poate continua să funcţioneze, fără a altera prea mult performanţele sale;  diversificarea serviciilor oferite utilizatorilor, posibilitatea de comunicare între utilizatorii aceleiaşi reţele, ceea ce permite o mai bună coordonare şi eficientizarea activităţii;  realizarea unor sisteme adaptabile la noile cerinţe, fiabile şi robuste;  costul scăzut al unei reţele faţă de un calculator mare, în condiţiile unei productivităţi apropiate. Test de evaluare a cunoştinţelor 1. Precizaţi principalele momente ale evoluţiei dispozitivelor de calcul. 2. Generaţii de calculatoare. 3. Structura generală a unui calculator. Memoria centrală. 4. Structura generală a unui calculator. Unitatea de comandă. 5. Structura generală a unui calculator. Unitatea aritmetică şi logică. 6. Structura generală a unui calculator. Ansamblul de periferice. 7. Calculatoare personale. Microprocesorul. 8. Calculatoare personale. Memoria internă. 9. Calculatoare personale. Memoria externă. 10. Calculatoare personale. Dispozitive periferice. 11. Sisteme de operare (definiţie, principale funcţii, tipuri de sisteme, structurare). 12. Sistemele de operare MS-DOS şi Windows. 13. Reţele de calculatoare (structura unei reţele, topologii, avantaje, tipuri de reţele, funcţiile unui software de reţea).

60

Curs pentru învăţământ la distanţă

Unitatea de învăţare 3. ALGORITMI

Introducere Acest capitol familiarizează studenții cu noțiunile de algoritm, limbaj algoritmic, tabelă de decizie, oferă exemple ample penrtu o înțelegere în detaliu și crează un fundament logic ce poate fi utilizat în proiectări viitoare de sisteme informatice. Competenţele unităţii de învăţare După parcurgerea acestei părți studenții vor înțelege următoarele concepte: principiile teoretice ale programării structurate limbajul algoritmic analiza algoritmilor tabele de decizie structuri elementare de date algoritmi fundamentali Durata medie de parcurgere a primei unităţi de învăţare este de 4 ore.

3.1. Caracterizare generală [BVB97], [CTT97], [LIG86], [LIX94], [MAR96], [PMM94] Noţiunea de algoritm nu are o definiţie. Termenul derivă de la numele matematicianului arab Abu Ja‟far Mohamed ibn Mûsa al Kahowârizmi (în limba arabă algoritm = al-khârezmi). Algoritmul este un concept(1) folosit în mod intuitiv pentru a desemna o mulţime finită de operaţii cunoscute, care, executate într-o ordine bine stabilită, pornind de la o

(1)

În cadrul matematicii şi logicii, algoritmii apar ca metode generale pentru rezolvarea tuturor problemelor dintr-o clasă dată. În perioada 1931-1947 s-au dezvoltat în cadrul logicii matematice un număr de concepte de „algoritm” bine delimitate care precizează noţiunea intuitivă. Cele mai importante sunt rezolvarea ecuaţiilor (J. HERBRAND, K. GÖDEL, S.C., KLEENE, aproximativ în perioada 1931-1936), maşina lui Turing (A.M. TURING, 1936), λ - calcul (A. CHURCH, 1936) şi conceptele algoritmice ale lui E.L. POST (1936) şi A.A. MARKOV (1947). Semnificativ este faptul că toate aceste noţiuni sunt echivalente în sensul că aceleaşi funcţii definite pe domeniul numerelor naturale, aşa numitele funcţii recursive pot fi calculate prin fiecare din ele. Pe baza acestei echivalenţe se poate adopta punctul de vedere prin care conceptul intuitiv de algoritm câştigă astfel precizie. Acest punct de vedere a fost formulat în 1936 de către Church şi este cunoscut în literatura matematică ca ipoteza lui Church.

Bazele informaticii economice

61

mulţime de valori numită domeniul de definiţie, produce în timp finit un alt set de valori (ieşirea). Algoritmul constituie baza programării calculatoarelor electronice. În activitatea de rezolvare a problemelor cu calculatorul elaborarea algoritmilor reprezintă cea mai importantă etapă, obligatorie şi de multe ori dificilă. De calitatea algoritmului proiectat depinde calitatea şi fiabilitatea programului şi succesul execuţiei acestuia. Studiul unei probleme compatibile din punctul de vedere al calculatorului (principial rezolvabilă şi cu soluţie practică realizabilă) conduce la formalizarea şi abstractizarea ei, în scopul înţelegerii de către calculator. Rezolvarea cu calculatorul a unei probleme concrete constă din parcurgerea următoarelor etape: a) Formularea exactă a problemei de rezolvat:  definirea datelor problemei (intrările) caracterizându-le prin tip, proprietăţi, domeniul valorilor;  definirea rezultatelor problemei (ieşirile);  precizarea relaţiilor dintre date şi rezultate. b) Descrierea modului de rezolvare a problemei (algoritmul). c) Scrierea într-un limbaj de programare convenabil a unui program pe baza algoritmului definit anterior şi a datelor de prelucrat. Acest proces este prezentat schematic în figura 3.1

Problema

abstractizare

Algoritm + Date

codificare

Program

Figura 3.1

 



Principalele caracteristici ale unui algoritm sunt: Generalitatea reprezintă proprietatea algoritmului de a fi aplicabil tuturor problemelor din clasa de probleme pentru a fost elaborat. Finitudinea algoritmului presupune că într-un timp determinat (un număr finit de paşi, cunoscut sau necunoscut), problema se consideră soluţionată. În caz contrar algoritmul ciclează, adică algoritmul va efectua la infinit transformări asupra datelor de intrare. Claritatea (unicitatea) algoritmului presupune ordinea exactă a paşilor şi perfecta lor determinare şi inteligibilitate; totul trebuie exprimat corect, fără ambiguităţi şi neclarităţi.

Succesiunea logică şi determinată de operaţii prin care se trece de la informaţia iniţială la informaţia finală, reprezintă paşii algoritmului. În practica programării se utilizează diverse forme de reprezentare a algoritmilor, dintre care vom prezenta: 1. Schema logică constituie un mod intuitiv de reprezentare a unui algoritm, utilizând simboluri grafice ce permit o vizualizare expresivă şi sintetică, uşor de urmărit, a algoritmilor. 2. Limbajul convenţional permite exprimarea neambiguă a ordinii de execuţie a paşilor unui algoritm cu ajutorul unor reguli sintactice simple. 3. Limbajul algoritmic constituie o formă intermediară între limbajul natural şi limbajul de programare.

62

Curs pentru învăţământ la distanţă

4.

Tabela de decizie permite reprezentarea compactă a unor clase de algoritmi (cu număr mare de decizii bazate pe condiţii complexe).

Deoarece activitatea de elaborare a unui algoritm este strâns legată de etapa următoare de codificare şi transpunere într-un limbaj de programare (etapa de programare), este necesar ca abordarea construcţiei şi analizei algoritmilor să se facă prin prisma principiilor programării structurate. 3.2. Principiile teoretice ale programării structurate [BVB97], [LIG86], [LIX94], [LPG81], [PMM94] Un program poate fi privit ca un sistem. Structura unui program, adică elementele şi relaţiile dintre ele, a fost studiată atent odată cu dezvoltarea teoriei programării structurate. Programarea structurată este o metodă de concepere, organizare, codificare, testare, menţinere şi documentare a programelor. Programarea structurată reprezintă modalitatea de ordonare a activităţii mentale desfăşurate în scopul obţinerii de programe constituite din structuri fundamentale (secvenţială, alternativă, repetitivă), în condiţiile minimizării efortului de programare, dar realizării unor produse program fiabile şi de bună calitate. Începutul programării structurate aparţine profesorului E.W. Dijkstra de la Universitatea Eindhoven care în 1965 propune construirea unor programe mai bune prin evitarea folosirii instrucţiunii de salt necondiţionat (GOTO). Fundamentarea matematică este făcută de Bőhm şi Jacopini într-un articol publicat în 1966, în care demonstrează că sunt suficiente trei tipuri de structuri de transfer a execuţiei pentru a exprima logica internă a oricărui program: secvenţa, selecţia şi iteraţia. În 1974, Knuth prezintă două situaţii în care utilizarea instrucţiunii GOTO nu modifică claritatea programelor. a) situaţia în care se doreşte să se iasă din mai multe repetiţii ierarhizate pe nivele, astfel încât să se ajungă pe primul nivel; b) situaţia unei selecţii multiple în care variantele selectate sunt apropiate; în cazul în care soluţia unei variante poate fi redusă la soluţia unei alte variante printr-un calcul simplu, cel mai natural mod de a rezolva prima variantă este efectuarea unui salt necondiţionat. În 1972 Mills dă o fundamentare riguroasă programării structurate, modelând programul cu ajutorul conceptului de funcţie. Schema logică (organigrama) este rezultatul unei analize inductive, care duce la o înlănţuire de acţiuni şi teste. Făcând abstracţie de unele convenţii de reprezentare, organigrama unui proces de calcul conţine 3 tipuri de simboluri: a) Acţiunea elementară – poate fi o instrucţiune simplă (instrucţiune de atribuire, apel de subrutină, instrucţiuni de intrare/ieşire), proceduri interne sau externe cu o singură intrare şi o singură ieşire; acţiunea elementară include şi grupurile de instrucţiuni care se execută secvenţial; se reprezintă:

Bazele informaticii economice

63

a1 b)

Predicatul (condiţie, expresie booleană, text) – ia valoarea de adevăr (T) sau de fals (F); corespunzător acestor valori se continuă execuţia pe un arc sau pe celălalt; se reprezintă:

P

c)

Simbolul de regrupare – pentru a continua pe un singur arc; se asigură astfel ieşirea sau intrarea într-o structură standard; se reprezintă:

În continuare se prezintă în sinteză principalele structuri şi teoremele fundamentale legate de acestea. 1) Structura D (Dijkstra) – conţine: 1. acţiunea elementară; 2. compoziţia (înlănţuirea secvenţială): a

b

unde a, b sunt structuri D. Această diagramă se va nota SEQ (a, b). 3.

selecţia (structura alternativă): a T unde a, b sunt structuri D, iar p este un predicat

P F

b

Această diagramă se va nota IF-THEN-ELSE (p, a, b); 4.

ciclul cu test iniţial (structura repetitivă condiţionată anterior):

Curs pentru învăţământ la distanţă

64

F unde a este o structură D, iar p este un predicat

P T

a

această diagramă se va nota DO-WHILE (p, a); 2) Structura D’ - reprezintă o extindere a structurii D. Conţine: 1. structura D; 2. selecţia redusă (structura pseudoalternativă): a T unde a este o structură D‟, iar p este un predicat

P F

Această diagramă se va nota cu IF-THEN (p, a). Se observă că se poate introduce pe ramura fals o acţiune elementară vidă, notată cu Ø, obţinând astfel echivalenţa: IF-THEN (p, a) ≡ IF-THEN-ELSE (p, a, Ø) 3.

(3.1)

ciclul cu test final (structura repetitivă condiţionată posterior): a T unde a este o structură D‟, iar p este un predicat

P F

Această diagramă se va nota DO-UNTIL (p, a); între structurile DO –WHILE şi DO-UNTIL se stabilesc următoarele echivalenţe: DO-UNTIL (p, a) ≡ SEQ (a, DO –WHILE (p, a))

(3.2)

DO-WHILE (p, a) ≡ IF-THEN (p, DO –UNTIL (p, a))

(3.3)

Tema: demonstraţi cu ajutorul organigramelor echivalenţele (3.1), (3.2) şi (3.3).

Bazele informaticii economice

4.

65

selecţia multiplă (structura alternativă multiplă): 1

a1

 n

an

Această diagramă se va nota CASE  OF  ; a1 , a2 ,, an  . 3) Structura L – este o structură oarecare „bine formată”, adică pe orice cale avem un drum de la intrare la ieşire; poate conţine instrucţiuni de salt necondiţionat; nu există restricţii asupra predicatelor. Definiţia 3.1. Dacă o schemă logică are numai structuri D sau D’, atunci ea se numeşte schemă logică structurată. Definiţia 3.2. O structură S1 este convertibilă funcţional într-o structură S 2 , dacă şi numai dac pentru orice intrare, S 2 calculează aceeaşi funcţie ca şi S1 . TEOREMA DE STRUCTURĂ A LUI BÖHM ŞI JACOPINI a) Orice structură L este echivalentă funcţional cu o structură D (D’). b) În conversia funcţională a unei structuri L într-o structură D (D’) sunt eventual folosite un număr finit de variabile booleene de control. Notă. La sfârşitul acestui paragraf, în aplicaţiile 1 şi 2 se exemplifică modul de transformare a unui structuri L într-o structură D (D’). Schemele logice prezentate determină diferenţa a două mulţimi date sub formă de vectori:

C  A  B  x / x  A şi x  B COROLARUL „TOP – DOWN” Un program structurat este echivalent cu un program pus sub una din formele:

P  SEQ a, b P  IF  THEN  ELSE p, a, b P  DO  WHILE  p, a  P  DO  UNTIL  p, a 

unde p este un predicat, iar a şi b sunt structurile privilegiate D sau D’; dacă se porneşte de la un program nestructurat şi se realizează echivalentul său structurat, p poate fi şi o variabilă booleană. Corolarul „top-down” este aplicat la analiza problemelor după principiul de „sus în jos”, realizându-se descompuneri succesive până la ultimul nivel.

Curs pentru învăţământ la distanţă

66

Exemplu: Programul:

T P=

s1

s5 T s6

p4

p1 T F

s2

F

s3

p2 F

F s4

p3

T

poate fi descompus succesiv până ultimul nivel astfel: P = SEQ(f1,f2,s6) f1 = IF-THEN-ELSE(p1,f4,f5) f4 = SEQ(s1,s2) f5 = IF-THEN-ELSE(p2,s3,f6) f6 = DO-UNTIL (p3,s4) f2 = DO-WHILE(p4,s5) Rezultă că structura programului P poate fi scrisă sub forma: P = SEQ (IF-THEN-ELSE (p1,SEQ(s1,s2), IF-THEN-ELSE(p2, s3, DO-UNTIL (p3, s4))), DO-WHILE (p4, s5),s6)

SCHEME LOGICE STRUCTURATE Schema logică (organigrama) este o reprezentare grafică a unui algoritm, care foloseşte diferite figuri geometrice având o anumită semnificaţie; figurile sunt unite prin săgeţi care arată modul în care acestea se înlănţuiesc. Pentru sporirea clarităţii se admit următoarele simboluri grafice pentru reprezentarea schemelor logice:

Bazele informaticii economice

Simbolul

67

Denumire bloc terminal

bloc de calcul bloc de intrare / ieşire

Utilizare marchează începutul START sau sfârşitul STOP al unei scheme logice; sunt evidenţiate calculele şi atribuirile ce se efectuează; indică citirea / scrierea valorilor unor variabile;

bloc de intrare

pentru introducerea datelor;

bloc de ieşire

pentru extragerea datelor;

bloc de decizie

marchează ramificaţiile în funcţie de o anumită condiţie;

bloc conector săgeata bloc de procedură

leagă diferitele puncte ale unei scheme logice; arată înlănţuirea blocurilor într-o schemă logică; reprezintă o prescurtare a ceea ce urmează să se dezvolte sau exiată şi doar se utilizează.

sau

Notă. În paginile următoare se exemplifică modul de transformare a unei structuri L într-o structură D (D‟).

68

Aplicaţia 1.

Curs pentru învăţământ la distanţă

Diferenţa a două mulţimi date sub forma de vectori.

Exemplu de structura L

Bazele informaticii economice Aplicaţia 2.

69

Diferenţa a două mulţimi date sub forma de vectori.

Exemplu de structura D’

70

Curs pentru învăţământ la distanţă

3.3. Limbajul algoritmic [ARG93], [BVB97], [DOD87], [GNC96], [LIG86], [LIX94], [PMM94] Limbajul algoritmic realizează o scriere mai apropiată de cea liniară. Permite folosirea unor instrucţiuni care conţin condensat câteva subscheme utilizate frecvent şi câteva reguli simple de aliniere a textului scris. Având un algoritm descris într-un astfel de limbaj, translatarea în limbaj de programare nu presupune decât o concentrare asupra aspectelor sintactice. Limbajul algoritmic (pseudocodul) realizează specificarea algoritmilor prin două tipuri de enunţuri: nestandard şi standard: - enunţurile nestandard sunt fraze în limbaj natural, care pot fi utilizate de programator în schiţarea formelor iniţiale ale algoritmilor; ele pot fi înlocuite treptat cu enunţuri standard; sunt marcate cu simbolul „*”; - enunţurile standard exprimă operaţii cu corespondenţe directe în limbajele de programare. Observaţie. Limbajul algoritmic nu este conceput cu un limbaj de programare; are puţine reguli sintactice, lăsând o mare libertate de exprimare a acţiunilor algoritmilor. Principalele elemente ale limbajului algoritmic sunt: A. Cuvintele cheie – sunt cuvinte care identifică o instrucţiune; vor fi evidenţiate în scris. B. Datele – pot fi clasificate conform mai multor criterii: - după tip: date numerice (întregi şi reale); logice (booleene) şi şir de caracter; - după natură: constante şi variabile;  constantele întregi şi reale sunt numere întregi şi reale reprezentante în modul uzual;  constantele booleene (logice) sunt adevăr (T) şi fals (F);  variabilelor li se asociază un nume, care este un şir de caractere alfanumerice (litere sau cifre), începând cu o literă;Organizarea datelor – admitem următoarele moduri de organizare a datelor: tablouri (vectori şi matrice), lista, stiva, coada, articolul şi fişierul. Operaţiile cu date – depind de natura şi organizarea datelor; - asupra datelor numerice se folosesc operaţiile uzuale: adunarea, scăderea, înmulţirea, împărţirea şi exponenţierea, comparaţiile uzuale (, ≤, ≥, =, ≠), rezultatul fiind exprimat printr-o valoare logică; - asupra datelor logice se pot efectua operaţiile de disjuncţie (or), conjuncţie (and) şi negaţie (not); - asupra şirurilor de caractere se pot efectua concatenarea şi comparaţiile (bazate pe ordinea lexicografică). C. Instrucţiunile limbajului algoritmic 1. Instrucţiuni de citire/scriere: read lista – variabile write lista – variabile Citirea constă din transferul de valori de pe mediul de intrare în locaţiile de memorie ale calculatorului. Scrierea constă din transferul conţinutului (valorii) unor variabile de

Bazele informaticii economice

71

memorie pe mediul de ieşire. Pentru citirea/scrierea unor variabile de tip tablou vom utiliza forma: vi ,i  1, n sau aij ,i  1,m, j  1, n









2. Instrucţiunea de atribuire: variabilă: = expresie Se evaluează expresia şi rezultatul este atribuit variabilei. 3. Instrucţiunea de oprire: stop Marchează sfârşitul algoritmului. 4. Instrucţiunea de ramificare: if condiţie then secvenţa 1 else secvenţa 2 Observaţie. Prin secvenţă înţelegem un grup de instrucţiuni scrise una după alta. 5. Instrucţiunea repetitivă condiţionată anterior (ciclul cu test iniţial): while condiţie do secvenţa Se execută secvenţa atât timp cât condiţia este adevărată; dacă rezultatul evaluării este fals execuţia se termină. 6. Instrucţiunea repetitivă condiţionată posterior (ciclul cu test final): repeat until

secvenţa condiţie

Se execută secvenţa (cel puţin o dată) până condiţia devine adevărată. 7. Instrucţiunea repetitivă cu un număr fixat de paşi (ciclul cu contor): for contor = val. iniţială, val. finală, pas do secvenţa Observaţie. Instrucţiunea „ciclul cu contor” o considerăm echivalentă cu: Contor : = val. iniţială

Curs pentru învăţământ la distanţă

72

while (contor – val. finală) × pas ≤ 0 do secvenţă contor: = contor + pas 8. Instrucţiunea de ramificare multiplă: case expresie of C1 : secvenţa 1 ……………… Cn : secvenţa n else secvenţa n + 1 Se evaluează expresia; dacă valoarea expresiei este egală cu C1, C2, . . . , Cn se execută secvenţa corespunzătoare: secvenţa 1, secvenţa 2, . . ., secvenţa n. În caz contrar se execută secvenţa n + 1. 9. Instrucţiunea de ramificare redusă: if condiţie then secvenţa 10. Instrucţiunea de ieşire dintr-un ciclu: exit Determină trecerea la execuţia primei instrucţiuni care urmează celui mai interior ciclu while, repeat, for care o conţine, ieşindu-se deci din acel ciclu. 11. Comentariul are forma: /* şir de caractere */ Comentariul poate apărea oriunde în program, având rolul de a mări claritatea algoritmului, oferind explicaţii suplimentare. Exemple. 1. Algoritmul de calcul al factorialului N! 1 2  3 N se poate prezenta în limbaj algoritmic astfel: read N

F : 1 for i  1, N ,1 do F : F  i write F stop

read N F : 1; i : 1 while N  i do F : F  i

i : i  1

Write F stop

read N F : 1; i : 1 repeat

F : F  i

i:=i+1 until N  i write F stop

2. Diferenţa a două mulţimi date sub formă de vectori (trecerea în limbaj algoritmic a schemei logice structurate prezentate în paragraful 3.2).

Bazele informaticii economice

/* diferenţa a două mulţimi */ read m, n, ai , i  1, m , b j , j  1, n





73



l : 0 ; i : 1 repeat

j : 1

logic: =T

repeat if ai  b j then logic: = F else j : j  1 until  j  n  or (not logic) if logic then l :  l  1

cl : = ai

i : i  1 until i  n  if l  0 then write „diferenţa este vidă” else write ci , j  1, l stop.





PROCEDURI ŞI FUNCŢII Un program poate face apel la unul sau mai multe subprograme. Structura programului complet conţine: - un program principal, care nu poate fi apelat ca subprogram; - o structură de subprograme. Dacă programul P face apel la un alt program P1, atunci P se numeşte program apelant, iar P1 se numeşte program apelat (subprogram). Subprogramele reprezintă secvenţe de operaţii executate în scopul rezolvării unei probleme. Aceeaşi secţiune din algoritm în mai multe puncte ale acestuia, poate fi scrisă o singură dată şi apelată ori de câte ori este nevoie. Utilizarea procedurilor şi funcţiilor conduce la creşterea eficienţei activităţii de programare: părţi ale algoritmului pot fi proiectate, codificate şi testate independent una faţă de alta. Se pot construi mult mai uşor algoritmi cu complexitate mare, utilizând module deja proiectate şi verificate. Aceasta sporeşte fiabilitatea programelor şi reduce efortul de programare. 1. Utilizarea procedurilor: procedure nume (parametrii formali) secvenţa end apelul procedurii

Curs pentru învăţământ la distanţă

74

call nume (parametrii efectivi) 2. Utilizarea funcţiilor: function nume (parametrii formali) secvenţa end apelul funcţiei: nume (parametrii efectivi) Exemplu. Calculul formulei C nk 

n! se poate realiza utilizând o funcţie pentru k! n  k !

calculul factorialului. function FACT(M) FACT: =1 for i=1,M,1 do FACT: = FACT  i end Programul principal este: read n, k

c : FACT n / FACT k  / FACT n  k 

write c stop Comentarii.  O procedură poate avea un număr oarecare de parametrii, eventual zero; de exemplu, o procedură care realizează tipărirea unui mesaj fix nu are parametrii.  Între parametrii formali şi cei efectivi se realizează o corespondenţă biunivocă; corespondenţa este poziţională. Parametrii actuali şi cei efectivi trebuie să corespundă cu număr şi tip.  Pentru funcţii, lista de parametrii formali conţine doar parametrii de intrare; singurul parametru de ieşire este chiar numele funcţiei, care este utilizat în secvenţa de operaţii a funcţiei ca orice parametru; apelul unei funcţii este considerat ca un operand al expresiilor. ITERATIVITATE ŞI RECURSIVITATE Iterativitatea este procesul prin care rezultatul este obţinut ca urmare a execuţiei repetate a unui set de operaţii, de fiecare dată cu alte valori de intrare. Numărul de iteraţii poate fi cunoscut, dar determinabil pe parcursul execuţiei. Indiferent de situaţie, numărul de iteraţii trebuie să fie finit. Recursivitatea este procesul iterativ prin care valoarea unei funcţii se determină pe baza uneia sau mai multora dintre propriile ei valori anterioare, prin autoapelarea funcţiei. Valorile unei funcţii recursive se calculează din aproape în aproape, pe baza valorilor cunoscute ale funcţiei pentru anumite argumente iniţiale.

Bazele informaticii economice

75

Puterea de exprimare a recursivităţii constă în posibilitatea definirii unui număr infinit de calcule printr-un program recursiv, chiar dacă acesta nu conţine repetări explicite. Instrumentul necesar şi suficient folosit la exprimarea calculelor recursive este subprogramul (procedură sau funcţie) deoarece acest mecanism permite identificarea printr-un nume a mai multor instrucţiuni. Subprogramul P este direct recursiv dacă se autoapelează, adică P conţine o referire explicită la el însuşi. Subprogramul P este indirect recursiv dacă P conţine un apel la subprogramul Q, care conţine o referire directă sau indirectă la P. Pentru a nu conduce la calcule infinite, un subprogram recursiv trebuie să conţină o condiţie C care la un moment dat devine falsă, caz în care se încheie apelarea recursivă. Schema unei proceduri recursive poate fi descrisă astfel: procedure P if C then . . . call P ……….. end Tehnica cea mai des utilizată pentru a termina apelul recursiv constă în definirea unei funcţii f  x  , astfel încât f x   0 determină terminarea apelului recursiv. Dacă se poate demonstra că la fiecare apel valoarea funcţiei scade, atunci rezultă caracterul finit al calculului descris de procedura respectivă. Pentru a exemplifica procedeul considerăm funcţia factorial descrisă de:

1, dacă n  0  fact n    n  factn - 1, dacă n  1 Calculul pentru n  4 decurge astfel:

fact 4  4  fact 3  4  3  fact 2  4  3  2  fact 1   4  3  2  1  fact 0  4  3  2  1 1  4  3  2 1   4  3  2  4  6  24 . Funcţia recursivă va fi: function FACT n  if n  o then FACT : 1 else FACT : n  FACT n  1 end Un algoritm recursiv poate fi înlocuit cu unul iterativ echivalent cu el. În general forma iterativă a unei funcţii este mai eficientă decât cea recursivă în ceea ce priveşte timpul de execuţie şi memoria ocupată. Pentru probleme de complexitate redusă este preferată varianta iterativă.

Curs pentru învăţământ la distanţă

76

Forma recursivă este preferată în cazurile în care transformarea recursivităţii în interaţie cere un efort de programare deosebit, algoritmul pierzându-şi claritatea exprimării, testarea şi întreţinerea devenind astfel foarte dificile. Aplicaţie. Se

consideră

polinomul

Px   a0 x n  a1  x n 1    an 1x  an

cu

ai   , i  0, n . Să se calculeze valoarea polinomului pentru x0 dat. Polinomul se poate scrie:

Px   a0 x  a1   x  an 1   x  an şi rezultă relaţiile de recurenţă: P  a0 P  P  x0  ai , pentru i  1, 2,  n

Algoritmul iterativ de calcul a valorii polinomului este:





read n, ai , i  0, n , x0

P : a0 ; k : 1 while k  n do P : P  x0  ak k : k  1 write x0 , P stop În variantă pentru determinarea valorii polinomului P x  de grad n trebuie calculată funcţia pol n  definită recursiv astfel:

a0 , dacă n  1  pol n    poln  1  x  a0 , dacă n  1 Algoritmul recursiv de calcul a valorii polinomului este: function POL n  if n  0 then POL : a0 else POL : POL n  1  x0  an end read n, ai , i  0, n , x0



P : POL n write x0 , P



stop

3.4. ANALIZA ALGORITMILOR [BAU91], [BVB97], [GNC96], [LIG86], [PMM94]

Bazele informaticii economice

77

Pentru rezolvarea unei probleme se pot construi mai mulţi algoritmi, care pot avea o comportare diferită, chiar dacă setul de date de intrare este acelaşi. Comportarea se referă la timpul de execuţie şi la memoria necesară. Analiza unui algoritm înseamnă determinarea resurselor necesare pentru funcţionare (timp de execuţie şi necesare de memorie). Datorită evoluţiei sistemelor de calcul, problema memoriei a devenit secundară. Timpul necesar execuţiei unui algoritm este în general dependent de numărul datelor de intrare. Pentru fiecare algoritm se poate estima în funcţie de diverse date de intrare (numărul de parametrii, mărimea tablourilor folosite etc.) un ordin de mărime al timpului în care se realizează comparările cuprinse în acel algoritm (se consideră) că fiecare operaţie de comparare se execută într-un segment de timp care se ia ca unitate). Fie f : N  R * o funcţie arbitrară Definiţia 3.3. Ordinul lui f n  este mulţimea funcţiilor g n  mărginite superior de un multiplu pozitiv al lui f n  , adică:





O f n   g : N  R *  c  R  ,  n  N , g n   c  f n 

În această idee, dacă o implementare a unui algoritm, nu ia mai mult de g n  secunde pentru a rezolva o problemă cu n comparaţii (sau operaţii aritmetice), atunci orice altă implementare a aceluiaşi algoritm ia un timp de ordinul lui g n  secunde. Spunem că un astfel de algoritm ia un timp de ordinul lui f n  pentru orice funcţie f : N  R * astfel ca g n  O f n . În general însă se încearcă exprimarea ordinului unui algoritm ca timpul de rulare al celei mai simple funcţii f astfel ca g n   O f n  . Să presupunem că printr-o analiză riguroasă s-a ajuns pentru timpul de execuţie al unui algoritm la expresia:

T n   an2  bn  c De la un n suficient de mare termenul preponderent devine an 2 , ceilalţi având o contribuţie nesemnificativă la valoarea exactă pentru T n  şi deci vor fi neglijaţi. De asemenea, factorul constant din expresia termenului principal va fi ignorat, pentru că şi el devine nesemnificativ în caracterizarea ordinului de mărime. Pentru rezultatul obţinut prin aceste simplificări vom nota:

 

T n   O n 2

Practica a impus ca acceptabili numai algoritmii cu comportare în timp

 

polinomială, adică pentru care k  0 cu T n   O n k . Algoritmii cu comportare în timp exponenţială sunt consideraţi inacceptabili; pentru o întreagă clasă de astfel de algoritmi nu se cunoaşte dacă pot fi reduşi la algoritmi cu eficacitate polinomială. În tabelul 3.1, se prezintă variaţia timpului de execuţie în cazul comportării polinomiale şi exponenţiale pentru mai multe valori ale lui n. Tabelul 3.1. ([BAU91])

Curs pentru învăţământ la distanţă

78

O n  n

n2 n3

n5 2n

3n

n =10

n = 20

n = 30

n = 40

n = 50

n = 60

0.00001 sec 0.0001 sec 0.001 sec 0.1 sec 0.001 sec 0.059 sec

0.00002 sec 0.0004 sec 0.008 sec 3.2 sec 1.0 sec 58 min

0.00003 sec 0.0009 sec 0.027 sec 24.3 sec 17.9 min 6.5 ani

0.00004 sec 0.0016 sec 0.064 sec 1.7 sec 12.7 zile 38.55 secole

0.00005 sec 0.0025 sec 0.125 sec 5.2 sec 35,7 ani

0.00006 sec 0.0036 sec 0.216 sec 13.0 sec 366 secole

210 8

1.3 1013

secole

secole

În general se consideră că un algoritm este mai eficient decât altul dacă are un ordin de mărime pentru timpul de execuţie mai mic. Exemplu. Determinarea minimului şi maximului elementelor unui vector. Se dă vectorul A  a1, a2 ,, an  ; să se determine; m  min a1, a2 ,, an  şi M  max a1, a2 ,, an . Metoda 1. O metodă evidentă este de a determina în paralel cele două valori. Algoritmul este: /* algoritmul MINIMAX1*/



read n, ai , i  1, n



m : a1; M : a1 for i  2, n do

if

ai  m then m : a1

if

ai  M then M : ai

write m, M stop Numărul de comparaţii efectuate între elementele vectorului A şi valorile m şi M este 2n  1 Metoda 2. Algoritmul prezentat anterior poate fi îmbunătăţi dacă se efectuează comparaţia ai  M numai în cazul în care condiţia ai  m este falsă.

Bazele informaticii economice

79

Algoritmul este următorul: /* algoritmul MINMAX2 */ read n, ai , i  1, n





m : a1; M : a1 for i  2, n do if

then else

m : a1 if ai  M then M : ai

write m, M stop Cazul cel mai defavorabil apare atunci când elementele vectorului sunt în ordine crescătoare, numărul de comparaţii fiind 2n  1 . Se poate arăta că numărul mediu de comparaţii în acest caz este 3n / 2  1 . Metoda 3. În funcţie de paritatea lui n, se începe cu una din următoarele iniţializări: - dacă n par  m :  min  a1, a2  M : max  a1, a2  - dacă n impar  m : a1 M : a1 Se consideră perechi succesive de elemente de forma: ak , ak 1  cu k =3, 5, …, n-1 pentru n par; şi k = 2, 4, …, n-1 pentru n impar. Se compară m cu min ak , ak 1 şi M cu max ak , ak 1 actualizându-se eventual valorile variabilelor m şi M.

Curs pentru învăţământ la distanţă

80

Algoritmul pentru această metodă este: /* algoritmul MINMAX3 */ read n, ai , i  1, n if n mod 2 = 0 a1  a2 then if then m : a1; M : a2 else m : a2 ; M : a1





k : 3 else

m : a1; M : a1; k : 2

while k n - 1 do if ak , ak 1  then

if then

ak < m

m : ak

if ak 1  M then M : ak 1 else

if ak +1 < M then m := ak +1 if then

ak > M

M : ak

k : k  2 write m,M stop Dacă n  2  s se efectuează o comparaţie la iniţializare la iniţializare şi 3  s  1 comparaţii în continuare

, dacă x  n n 3 n    x   3 s  2    2 comparaţii, unde   2   n  1 , dacă n  x  n  1 Dacă n  2  s  1 nu se efectuează nici o comparaţie la iniţializare şi 3  s  1 3 n   2 comparaţii. comparaţii în rest, deci  3  s  3    2 

Bazele informaticii economice

81

Propoziţia 3.1. Orice algoritm care determină cel mai mic şi cel mai mare element al unei mulţimi neordonate cu n elemente necesită cel puţin

3  n   2   2 comparaţii. Concluzie. Algoritmul prezentat în metoda 3 este optim.

VERIFICAREA CORECTITUDINII ALGORITMILOR Algoritmul trebuie să furnizeze rezultate corecte pentru orice set de date-testarea unui algoritm pentru toate seturile de date nu este în general posibilă. Datorită caracterului secvenţial al calculelor efectuate, un algoritm corect se încheie după parcurgerea unui număr finit de paşi; în caz contrar se spune că algoritmul ciclează. Verificarea corectitudinii unui algoritm cuprinde două probleme: a) problema corectitudinii parţial – constă în verificarea corectitudinii rezultatelor, în ipoteza că algoritmul se încheie într-un număr finit de paşi; b) verificarea terminării într-un număr finit de paşi. Cele două aspecte: a) şi b) formează problema corectitudinii totale. 3.5. LIMBAJUL CONVENŢIONAL [BVB97], [VAD76] În limbaj convenţional algoritmul se reprezintă printr-un şir ordonat de propoziţii care se numerotează (paşii algoritmului). Se utilizează: - propoziţii nestandard (care pot fi transformate în propoziţie standard); - propoziţii standard. Notăm:  - condiţie simplă (predicat sau compusă;  - bloc de calcul, sau transfer la un alt pas; v - variabilă

v 0 - valoarea iniţială a variabilei e - expresie aritmetică. Propoziţii standard sunt:  dacă  atunci 1 altfel  2 ;     

v  v 0 (iniţializare); v  e (valoarea calculată a expresiei este atribuită variabilei); stop (marchează sfârşitul algoritmului); citeşte / intrare (introducere datelor); scrie / ieşire (extragerea datelor).

Exemple.

Curs pentru învăţământ la distanţă

82

1. Generarea unei variabile aleatoare simplă (variabilă discretă) de forma:

 x x  x3   , X :  1 2 p p  p 1 2 n  

n



i 1

p1  1

se poate realiza prin metoda inversă după următorul algoritm: Pasul 0. Iniţializează RND (algoritmul de generare pentru numere aleatoare uniforme pe (0,1)). Pasul 1. Intrare: xi , i  1, n ; pi , i  1, n . Pasul 2. Se calculează: Fi 

i



j 1

p j , i  1, n.

Pasul 3. j  0 ; generează U cu RND Pasul 4. j  j  1 Pasul 5. Dacă U  F j transfer la pasul 4. Pasul 6. Ieşire X  x j . Stop. 2. Evaluarea stocurilor prin metoda „prima intrarea prima ieşire” (FIFO) se bazează pe principiul potrivit căruia „loturile procurate primele sunt şi primele primele ieşite” ceea ce determină faptul că ultimele loturi rămân în stoc şi vor impune preţul de inventariere. Algoritmul de evaluare a stocului pentru un produs este: Pasul 0. Intrare: S 0 (stocul iniţial), P0 (preţul unitar) Se calculează: soldul_ iniţial  S 0  P0 Pasul 1. Intrări în cursul perioadei (stoc, preţ unitar):

Si , Pi , i  1, n.

Se calculează: valoare_intrări 

n



i 1

S i  Pi

Pasul 2. sold_maxim_disponibil = sold_iniţial +valoare_intrări Pasul 3. Se determină stocul inventariat Q (prin evaluare directă) sold_inventar  0 Pasul 4. Dacă Q  S n atunci sold_inventar = sold_inventar + S n  Pn

Q  Q  Sn ; n  n 1

şi transfer la pasul 4. altfel sold_inventar = sold_inventar + Q  Pn Pasul 5. Se determină: Valoare_vânzări = sold_maxim disponibil – sold_inventar Pasul 6. Ieşire: valoare_vânzări, sold_inventar. Stop.

Bazele informaticii economice

83

3.6 TABELE DE DECIZIE [LIX94], [POV88] Tabele de decizie este un nou mod de reprezentare a unui algoritm, permiţând formalizarea şi sintetizarea proceselor complexe de prelucrare a datelor precum şi verificarea corectitudinii lor. Tabele de decizie reprezintă un instrument util de comunicare între persoanele care participă la realizarea unui proiect de sistem informatic. Cu ajutorul tabelelor de decizie este posibilă analiza proceselor complexe de decizie şi evidenţierea eventualelor ambiguităţi. În esenţă un proces de decizie este determinat de condiţii şi acţiuni în relaţie unele cu altele. Legarea unei anumite situaţii, caracterizată prin realizările concrete ale factorilor de influenţă, de o anumită variantă de adoptat se va numi regulă pentru cel ce ia decizia. Definiţia 3.4. O tabelă de decizie ( TD ) asociată unui proces de prelucrare P este un tablou bidimensional (cu dublă intrare) având forma prezentată în figura 3.2, unde: Ci , i  1, n sunt condiţiile (situaţiile semnificative) ale procesului P; aceste condiţii sunt variabile logice, fiecare condiţie Ci putând să ia vi vi  2 valori logice alternative;

A j , j  1, m sunt acţiunile posibile (programele de acţiuni) ale procesului P, care se iau când condiţiile îndeplinesc anumite sisteme de valori; Rk , k  1, M sunt regulile ce precizează acţiunile ce se execută pentru sistemul de valori asociat condiţiilor. Se notează TD  TD n, m, M  . Se observă că numărul maxim posibil de reguli distincte ale unei tabele de decizie este:

N

n

 vi

(3.4)

i 1 n

Deoarece vi  2  N  2 . R1 C1 C11 C2 C21 . Condiţii . . Cn Cn1 A1 * A2 . Acţiuni . . Am

R2 C12 C22

… …

RM C1M C2M

Intrări condiţii …

Cn2

CnM

* Intrări acţiuni

* *

Figura 3.2

84

Curs pentru învăţământ la distanţă

În consecinţă, tabela de decizie este o matrice de forma n  m  M , primele n linii reprezentând condiţiile şi următoarele m reprezentând acţiunile; cele M coloane ale matricei reprezintă regulile. Există două tipuri de reguli de decizie: AND şi OR. Regula Rk se numeşte regulă de tip ND dacă legătura dintre valorile condiţiilor este: C1k AND C2k AND … AND Cnk şi se numeşte de tip OR dacă C1k OR C2k OR . . . OR Cnk. Definiţia 3.5. O tabelă de decizie care conţine toate regulile posibile (M=N) se numeşte tabelă de decizie cu intrări complete. În descrierea proceselor de prelucrare a informaţiilor tabelele de decizie nu sunt întotdeauna complete. De exemplu, dacă tabela are M reguli, M  N , tabela nu are intrări complete şi deci nu este completă; pentru a o transforma într-o tabelă completă mulţimea regulilor care lipsesc se identifică cu o nouă regulă (regula M  1 ) denumită regula ELSE, care se ataşează tabelei. Dacă pentru regula ELSE nu este asociată o acţiune atunci la această regulă se asociază acţiunea E= eroare. Deci, când se construiesc tabele de decizie, acestea trebuie să fie complete; numai astfel se pot descrie procesele complete de prelucrare, cerinţă ce se impune oricărui algoritm de calcul. Definiţia 3.6. Tabela de decizie RD (n, m; M) se numeşte cu intrări limitate dacă i 1, n, vi  2 . În acest caz se iau intrări ale condiţiilor valorile: DCi  TRUE  şi N Ci  FALSE  . Dacă există i 1, n , încât vi  2 tabela se numeşte cu intrări extinse. Observaţie. Orice tabelă de decizie cu intrări extinse este echivalentă cu o anumită tabelă de decizie cu intrări limitate. Tabela cu intrări limitate obţinută prin transformare are acelaşi număr de reguli ca şi cea iniţială, dar un număr de condiţii mult mai mare.

REDUCEREA TABELEI DE DECIZIE Dacă mai multe reguli distincte ale tabelei conduc la acţiuni identice, atunci în anumite condiţii tabela de decizie este redundantă, adică acele reguli se pot reduce la una singură. Să presupunem că există vi reguli pentru care intrările condiţiilor C j , j  i (i fixat) sunt identice, iar condiţia Ci ; atunci cele vi reguli se reduc la o singură regulă pentru care condiţia Ci ia valoarea convenţională „indiferent”, notată ”~”. Această operaţie, efectuată pentru toate seturile de reguli redondante se numeşte operaţia de reducere a tabelei de decizie; iar tabela rezultantă se numeşte tabela redusă. Definiţia 3.7. Regula Rk din tabela cu intrări limitate se numeşte elementară dacă Cik  " ~”, i 1, n şi se numeşte compusă dacă i 1, n , încât Cik = ”~”.

Bazele informaticii economice

85

Observaţie. Dacă regula compusă Rk are r intrări ”~” atunci aceasta conţine 2 reguli elementare. Definiţia 3.8. O tabelă de decizie este ambiguă dacă există regulile compuse Rk şi Rl cu k  l încât Rk  Rl   , adică regulile compuse au cel puţin o regulă elementară comună.  Dacă Rk  Rl   , şi Ak  Al , atunci Rk şi Rl sunt contradictorii (cele două reguli compuse conţin reguli elementare contradictorii);  Dacă Rk  Rl   , şi Ak  Al , atunci Rk şi Rl sunt redundante (cele două reguli compuse conţin reguli elementare redundante). Exemplu. Să analiză tabela de decizie redusă:

R1

R2

R3

R4

R5

R6

R7

R8

C1 C2 C3 C4

D ~ ~ ~

N D D ~

N D ~ D

N ~ ~ N

N N ~ D

N N ~ N

N D N D

N D D N

A

A1

A2

A2

A2

A2

A2

A2

A2

Observăm că R1 este independentă de toate celelalte reguli deoarece pe linia condiţiei C1 avem (D), iar toate celelalte reguli au (N). Există 6 perechi de reguli dependente: 1) R2 , R3  conţin în comun regula elementară (NDDD); 2) 3) 4) 5) 6)

R2 , R4  conţin în comun regula elementară (NDDN); R2 , R8  conţin în comun regula elementară (NDDN); R3 , R7  conţin în comun regula elementară (NDND); R4 , R6  conţin în comun regulile elementare (NNDN) şi (NNNN); R4 , R8  conţin în comun regula elementară (NDDN);

Numărul total de reguli ce ar rezulta din cele 4 condiţii este 2 4  16 . Tabele conţine 23  2  2  2 2  2  2  1  1  22 reguli, din care 7 sunt comune, deci în tabelă există 15 reguli din 16 posibile. Rezultă că: - tabela este incompletă; - tabela este ambiguă; - toate ambiguităţile sunt redundanţe.

Curs pentru învăţământ la distanţă

86

ALGORITMUL DE CONSTRUIRE A TABELEI DE DECIYIE CU INTRĂRI COMPLETE. Presupunem că fiecare din cele n condiţii, Ci , 1  i  n , are vi alternative; se acceptă ordinea de scriere pe verticală C1, C2 , Cn . Pasul 1. Se calculează N1  N / v1 , cu N dat de (3.4). Se scrie pe linie în dreptul condiţiei C1 de N1 ori fiecare din cele v1 valori logice ale condiţiei: rezultă N valori logice ale condiţiei C1 , fiecare din valori repetându-se în grupe de N1 . Pasul 2. Pentru i  2, 3, , n se calculează N i  N i 1 / vi , pe linia lui Ci se vor scrie sub fiecare din grupele de valori constante ale condiţiei Ci 1 de

N i ori, fiecare din cele vi valori ale condiţiei Ci . Se observă că N n  1 , adică ultima condiţie va avea repetate de un număr de ori valorile sale în aceeaşi ordine. Notă. O interesantă aplicare a tabelelor de decizie se poate realiza în studiul şi elaborarea legislaţiei. O lege juridică se referă de obicei la un anumit domeniu. Prevederile legii sunt exprimate prin referiri la materii ( o materie poate fi interpretată ca o condiţie cu mai multe valori logice descrisă prin termeni). Îndeplinirea unui sistem de condiţii referitoare la materii conduce la o acţiune juridică. Deci, o lege poate fi descrisă compact cu ajutorul unei tabele de decizie. Această tabelă poate fi redusă – se va asigura astfel conciziunea legii. Stabilirea regulilor redundante şi ambigue conduce la stabilirea corectitudinii legii; se pot astfel elimina, în faza de elaborare, eventualele prevederi contradictorii ale legilor. Pentru a exemplifica conceptul de tabelă de decizie se prezintă două aplicaţii, în care regulile de decizie vor fi de tipul AND. 1. Sistemul de credite transferabile (ECTS) a fost introdus la Facultatea de Ştiinţe Economice a Universităţii „Transilvania” din Braşov începând cu anul universitar 19981999. Prevederile extrase din regulament care acţionează la trecerea din anul I în anul II sunt: a) înscrierea în anul II este condiţionată de obţinerea a minim 40 p.c.; b) promovarea anului I este condiţionată de obţinerea a 60 p.c.; c) punctele de credit alocate ciclului I (primii 2 ani de studiu) trebuie obţinute în maxim 3 ani, în caz contrar studentul este exmatriculat; d) în cazul unui concediu medical mai mare de 30 de zile de activitate didactică pe semestru, prevederea de la punctul a) se reduce la 30 p.c., urmând ca în anul II studentul să-şi completeze studiile, obţinând cel puţin 50 p.c. pentru a promova, astfel încât perioada de 3 ani să nu fie depăşită. Din analiza acestor prevederi, se deduc următoarele condiţii; C1 – numărul de puncte de credite obţinute I: DATAL ) and (QC > QL ) b) Să se genereze situaţia contractelor finalizate, centralizată pe produse, cantitativ şi valoric. Indicaţie. Un contract se consideră finalizat dacă: QC = QL. c) Indicând data curentă (DATAC), să se genereze situaţia centralizată pe produse, a cantităţilor care urmează să fie livrate din contractele nerestante. Indicaţie. Un contract este nerestant dacă: DATAC < DATAL. d) Să se stabilească lista primilor k beneficiari, ca valoare totală a contractelor încheiate. 27. Fişierul de stocuri STOC are structura: * cod produs CODP * denumire produs DENP * unitate de măsură UM * stoc STOC * stoc minim (limită) STOCM * data ultimei aprovizionări DATAU Să se elaboreze programele în limbaj algoritmic pentru următoarele situaţii: a)

Situaţia produselor pentru care STOC < STCM, în vederea lansării unei comenzi urgente de reaprovizionare.

b)

Indicând data curentă (DATAC), să se obţină situaţia produselor pentru care nu sa mai realizat o aprovizionare de un număr (NRZ) de zile. 28. Se dă fişierul INTRARI cu structura: * cod produs CODP * cantitate CANT * preţ unitar PU * data intrării în stoc DATA şi fie Q stocul inventariat, prin evaluare directă.

Curs pentru învăţământ la distanţă

126

Să se elaboreze programele în limbaj algoritmic de evaluare a stocului pentru produsul cu codul K prin metodele: FIFP şi LIFO. Se va determina valoarea vânzărilor şi soldul inventar. 29. Se dă fişierul STUDENT cu structura: * număr matricol NRMAT * nume şi prenume NUME * grupa GRUPA * nota1, credit1 N1, C1 * nota2, credit2 N2, C2 * nota3, credit3 N3, C3 Să se elaboreze programele în limbaj algoritmic pentru următoarele situaţii: a) Lista studenţilor din grupa G, care au promovat cele trei examene, sub forma: | Număr curent | Nume | Media | Indicaţie. Se va calcula media ponderată astfel  notai  credit i /  credit i b) Lista studenţilor restanţieri din grupele G1 şi G2, sub forma: | Număr curent | Nume | Grupe | Număr de restanţe | 30. Se dă fişierul CANDIDAT cu structura: * număr legitimaţie * nume şi prenume * media concurs admitere * opţiune 1 * opţiune 2 * opţiune 3

NRL NUME MEDIA OP1 OP2 OP3

Să se elaboreze programul în limbaj algoritmic care realizează repartizarea studenţilor pe specializări în funcţie de medie şi opţiuni. Se cunoaşte numărul de locuri repartizat pentru fiecare opţiune: N1, N2, N3. Algoritmul de căutare binară program căutare binare; (* algoritmul de căutare binară *) uses crt; const din_max = 50; var a : array [1 . . din_max] of real; u, p, n, i : integer; cod : boolean; x : real; răspuns : char; begin

Bazele informaticii economice

clrscr; write („dimensiunea vectorului : „) ; readln (n) ; for i := 1 to n do begin write („ a [„, i :2, „] = „) ; readln (a [i] ; end; writeln; repeat write („valoarea căutată : „); readln (x); p : =1; u : = n; cod : = false; while (p< = u) and (cod = false) do begin i : = (p+u) div 2; if a [i] = x then begin cod : = true; p:=i end else if a[i] < x then p : = i+1 else u : = i-1 end; case cod of false : writeln („R : căutare fără succes / „, p); true : writeln („R : căutare cu succes / „, p); end; writeln; write („ doriţi o nouă căutare [d/n] ? : „); readln (răspuns); until upcase (răspuns) = „N„; end. Algoritmul de sortare prin insertie directa program sort_insertie_directa; uses crt; const dimmax = 100; type vector = array [1 . . dimmax] of real; var a : vectory; n, i, j, k : integer; logic : boolean; x : real; begin clrscr; write (‟Dimensiunea vectorului : ‟); readln (n) for i : = 1 to n do

127

Curs pentru învăţământ la distanţă

128

begin write (‟a [‟,i : 2, ‟ ] = ‟ ); readln (a[i] ); end; for j : =2 to n do begin x : =a [j]; k : = 0; logic : = false; i : = j-1; repeat if a [i] v [i+1] then begin aux : = v [i]; v [i] : = v [i+1]; v [i+1] : = aux k : = false end;

until k; writeln („Vectorul sortat for i : = 1 to n do write (v [i]:8:2; writeln; repeat until keypressed end.

: „);

Algoritmul de sortare prin selectie program sort_selectie; uses crt; dinmax = 100; type vector = array [1 . . dinmax] of real; var a : vector; n, i, j, k: integer; min : real; begin clrscr; write („Dimensiunea vectorului : „) ; readln (n) for i : = 1 to n do begin write („a [ „,i:2,‟ ] = „); readln (a [ i ] ); i : = 1; repeat k:=i; min:= a [k]; j:= k; repeat if min > a [k+1] then begin min:= a[k+1]; j:=k+1 end; k:=k+1 until k=n; a [j]:=a [i];

129

Curs pentru învăţământ la distanţă

130

a [i]: = min; until i = n; writeln („ Vectorul sortat : „); for i: =1 to n do write (a [i]:8:2); writeln; repeat until keypressed end. Algoritmul de soretare QUICKSORT – varianta nerecursiva Program quicksort_nerecursiv ; uses crt; const dinmax = 100; type vector = array [1 . . dinmax] of integer; stack = array [1 . . 10] of record s, d:integer end; var v : vector; stiva : stack; n, i, j, st, dr, ind, w, x : integer; begin clrscr; write („Dimensiunea vectorului : „) ; readln (n) for i :=1 to n do begin write („v [„, i:2, „] = „); readln (v [ i ]); end; ind:=1 { initializarea stivei} stiva [1].s :=1; stiva [1].d :=n; repeat st:=stiva [ind].s; dr:=stiva [ind].d; ind:= ind-1; {extragere din stiva } i:=st; j:=dr; x:=v[ (i+1) div 2]; repeat while v[i] < x do i:=i+1; while x < v [j] do j:=j-1; if I j; if i < dr then begin ind:=ind+1; {creare stiva partitia dreapta} stiva [ind].s:= i; stiva [ind].dr:=dr end; if st < then begin ind:ind+1; {creare stiva partitia stanga} stiva [ind].s:=st; stiva [ind].d:=j end; until ind=0; writeln („Vectorul sortat : „); for i:=1 to n do write (v[ i ]:8); writeln; repeat until keypressed end. Algoritmul de sortare QUICKSORT – varianta recursivă Program quicksort_recursiv; uses crt; const dinmax = 100; type vector = array [1 . . dinmax] of real; var v : vector; n, i : integer; procedure QUICKSORT (var a: vector; st, dr : integer); {procedura de sortare rapida QUICKSORT – varianta recursiva} var i, j Ş integer; x,w : real; begin i:=st; j:=dr; x:=a [ (i+j) div 2]; repeat while a [i] < x do i:=i+1; while x < a [j] do j: = j-1; if i j; if st > j then quicksort (a, st, j); if i < dr then quicksort (a, i, dr) end; begin clrscr; write („Dimensiunea vectorului : readln (n) ; for i:=1 to n do begin write („v [„, i:2, „] = „]; readln (v[i]); end; quicksort (v, 1, n); writeln („Vectorul sortat : „); for i:=1 to n do write (v [i]:8:2); writeln; repeat until kezpressed end.

„);

Crearea unei liste înlănţuite şi tipărirea ei conform disciplinei FIFO şi LIFO program lista_exemplu; uses crt; type sir = string [10]; lista =^pers; pers = record nume :sir; sal : real; adr :lista; end; var prim, prec, p:lista; wn: sir; ws : real; function cautare (n:sir) : boolean; forward; procedure citeste; begin write („numele (sf = press return) : „); readln (wn); if wn „„ then begin write („salariu : „); readln (ws) end end; procedure generare; begin citeste; new (prin);

Bazele informaticii economice

133

prim^.nume :=wn; prim^.sal :=ws; prim^.adr :=nil; prec :=prim; repeat citeste; if wn „ „ then if not cautare (wn) then begin new (p); p^.nume := nw; p^.sal := ws; prec^.adr := p; prec := p; p^.adr := nil; end else writeln („Numele exista !‟); untile wn = „ „; end; procedure lista_fifo; begin p: = prim; while p nil do begin writeln (p^.nume,‟ „:10, p^.sal:8:2); p:= p^.adr end; end; procedure lista_lifo (p:lista); begin if p nil then begin lista_lifo (p^.adr); writeln (p^.nume,‟ „:10, p^.sal:8:2) end end; function cautare; var raspuns : boolean; begin p: = prim; raspuns : = false; while (p nil) and not raspuns do if p^.nume = n then raspuns : = true else p : = p^.adr; cautare : = raspuns end; begin clrscr; generare; writeln; writel („ Lista FIFO :‟); lista_fifo;

Curs pentru învăţământ la distanţă

134

writeln; writeln („Lista LIFO :‟); lista_lifo (prim); repeat until keypressed end. Testarea operaţiilor de lucru cu stiva utilizând alocarea înlănţuită Program stiva_exemplu; uses crt; type stiva =^st; st = record informatie : integer; adr : stiva end; var virf : stiva; x : integer; allege : char; tasta : char; procedure listare_stiva; var s : stiva; begin if virf = nil then writeln („Stiva este vida‟) else begin s:= virf; while s nil do begin writeln (s^.informatie); s:=s^.adr end; end; end; procedure stergere_stiva; var s : stiva; begin if virf = nil then writeln („Stiva este vida‟) else begin s:= virf^.adr; dispose (virf); while s nil do begin virf: = s; s:= s^.adr; dispose (virf) end; virf:=nil

Bazele informaticii economice

135

end; end; procedure introducere_element; var s : stiva; element : integer; begin write („ introducere element :‟); readln (element); new (s); s^.informatie:= element; s^.adr :=virf; virf :=s; end; function element_extras:integer; var s : stiva; element : integer; begin if virf = nil then element_extras:= -1 else begin s:=virf^.adr; element:= virf^.informatie; dispose (virf); virf:=s; element_extras : = element; end ; end ; begin virf := nil ; repeat clrscr ; writeln („=========== MENIU =========== „) ; writeln („ Listare stiva - L‟); writeln („ Introducere element -I‟); writeln („ Extragere element -E‟); writeln („ Stergere stiva -S‟); writeln („ Sfarsit -Q‟); writeln; writeln; write („Alegere meniu : „); readln (alegere); case alege of „L‟ : listare_stiva; „I‟ : introducere_element; „E‟ : begin x:= element_extras; if (virf = nil) and (x=-1) then writeln („ Stiva este vida‟) else writeln („Elementul extras end; „S‟ : stergere_stiva;

:

„,x)

Curs pentru învăţământ la distanţă

136

else halt end; write („Pentru reluare testate orice tasta‟); tasta:= readkey until allege=‟q‟ end. Programul realizează calculul coeficientului T al lui Kendall de corelaţie al rangurilor pentru o selecţie de volum n asupra vectorului (X,Y) (Tratat de Statistică Matematică, vol.IV, pag.93, Ed. Academiei, Bucureşti, 1981) program coeficientul_lui_Kendallş uses crt; type din ‚ 1 . . 30; vector = array [din] of real; matrice = array [dim, dim] of integer; var x,y : vectory; i, j, k, n : dim; t,s : real; mx, my : matricea; begin clrscr; write („ Volumul selectiei (
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF