268
Florin Postolache Viorel Ariton Informatică economică Ediţie revizuită şi adăugită Editura Universitară Danubius Galaţi, 2013

Informatică economică

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informatică economică

Florin Postolache Viorel Ariton

Informatică economică Ediţie revizuită şi adăugită

Editura Universitară Danubius

Galaţi, 2013

Page 2: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Descrierea CIP a Bibliotecii Naţionale a României

POSTOLACHE, FLORIN Informatică economică : note de curs / Florin Postolache, Viorel

Ariton. - Galaţi : Editura Universitară Danubius, 2013

Bibliogr.

ISBN 978-606-533-319-2

I. Ariton, Viorel

004:33(075.8)

Page 3: Informatică economică

3

Introducere în informatică ...................................................................................................5

Informaţii şi prelucrări ........................................................................................................8 Date ............................................................................................................................9

Prelucrarea datelor ....................................................................................................... 11 Scopul prelucrării electronice a informaţiilor ................................................................ 13

Organizarea datelor ...................................................................................................... 14 Stocarea datelor (fişiere)............................................................................................... 16

Introducerea şi prezentarea datelor ............................................................................... 18

Comunicaţii de date şi multimedia .................................................................................... 21

Sistemul informațional ....................................................................................................... 23 Sisteme de calcul ................................................................................................................. 24

Structura fizică a unui sistem de calcul ......................................................................... 24 Structura logică a unui sistemului de calcul .................................................................. 35

Principiul de lucru al unui sistem de calcul ................................................................... 35

Reprezentarea şi structurarea informaţiei ........................................................................ 37

Bit, octet şi multiplii acestora ............................................................................................. 39 Identificator, variabilă, constantă, literal .......................................................................... 41 Secvenţe escape ................................................................................................................... 43

Tipuri de date simple .......................................................................................................... 43 Reprezentarea numerelor întregi ................................................................................... 44

Reprezentarea numerelor reale ..................................................................................... 48 Tipul de date caracter ................................................................................................... 50

Tipul de date logic ........................................................................................................ 52 Tipuri de date structurate .............................................................................................. 54

Tipuri abstracte de date – Clase de obiecte ................................................................... 59

Structuri dinamice de date ................................................................................................. 60 Liste lineare ................................................................................................................. 61 Liste nelineare (arbori) ................................................................................................. 64

Prelucrarea informaţiei ...................................................................................................... 67 Expresii ............................................................................................................................... 69

Instrucţiuni simple ........................................................................................................ 74 Instrucţiuni structurate (structuri de control) ................................................................. 76

Programe şi subprograme ............................................................................................. 82

Algoritmi ............................................................................................................................. 87 Exprimarea algoritmilor ............................................................................................... 87 Elaborarea algoritmilor................................................................................................. 93

Exemple de algoritmi ................................................................................................... 94 Analiza şi complexitatea algoritmilor ........................................................................... 98

Categorii de prelucrare şi prezentare a informaţiilor ..................................................... 101 Calcule matematice .................................................................................................... 101

Prelucrări de birou ...................................................................................................... 102 Prelucrări prin metode de Inteligenţă Artificială (IA) .................................................. 104

Realizarea programelor şi programe suport ................................................................... 107 Problematica programării................................................................................................ 110

Etape în ciclul de viaţă ale unui produs program ......................................................... 111 Limbaje de programare .............................................................................................. 121

Sintaxa și semantica limbajelor de programare ........................................................... 130 Ingineria programării.................................................................................................. 131

Page 4: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Tehnici şi instrumente de realizare a programelor ......................................................... 134 Caracteristici ale programării orientate obiect ............................................................. 137 Tipuri şi structuri de aplicaţii ...................................................................................... 138

Instrumente software de dezvoltare a aplicaţiilor ........................................................ 143

Sisteme de operare şi programe utilitare ......................................................................... 150

Interfeţe utilizator ............................................................................................................ 155 Ecranul tactil .............................................................................................................. 157

Tastatura şi mouse-ul ................................................................................................. 159 Ferestre şi casete de dialog ......................................................................................... 160

Sisteme virtuale ................................................................................................................ 167 Virtual. ....................................................................................................................... 167

Virtualizare. Nor informatic ....................................................................................... 169 Virtualizarea serverului .............................................................................................. 171

Virtualizarea reţelei .................................................................................................... 172 Virtualizarea spaţiului de stocare ................................................................................ 173

Consolidarea serverului .............................................................................................. 174 Abstractizarea infrastructurii IT .................................................................................. 175

Utilizarea calculatoarelor pentru aplicaţii de birou ........................................................ 184 Procesoare de texte ........................................................................................................... 186

Structura a unui document scris .................................................................................. 187 Scrierea textului – caractere şi paragrafe..................................................................... 190

Liste şi tabele ............................................................................................................. 194 Verificarea şi corectarea ortografică şi gramaticală. .................................................... 198

Lucrul cu documente .................................................................................................. 200 Indicaţii de tehnoredactare computerizată ................................................................... 202

Foi de calcul tabelar ......................................................................................................... 205 Structura foii de calcul tabelar .................................................................................... 205

Conţinutul celulelor foii de calcul ............................................................................... 207 Lucrul cu foaia de calcul ............................................................................................ 209

Facilităţi de prezentare calitativă şi sintetică a informaţiilor ........................................ 214 Indicaţii de proiectare şi construire a foilor de calcul .................................................. 219

Reţele de calculatoare şi comunicaţii ............................................................................... 223 Problematica reţelelor de calculatoare ............................................................................ 224

Componente ale reţelelor de calculatoare.................................................................... 225 Clasificări ale reţelelor de calculatoare ....................................................................... 227

Comunicaţii prin reţele de calculatoare ....................................................................... 232

Internet şi Intranet ........................................................................................................... 240 Evoluţia Internet-ului ................................................................................................. 241 Aplicaţii uzuale în Internet ......................................................................................... 245

Conectarea la Internet ................................................................................................. 248 Intranet ....................................................................................................................... 250

Utilizarea aplicaţiilor de comunicaţie în Internet ........................................................... 252 Navigator Web ........................................................................................................... 252

Motoare de căutare ..................................................................................................... 254

Securitatea datelor și informatiilor .................................................................................. 258 Conturi ....................................................................................................................... 258 Servicii ....................................................................................................................... 260

Infracţiuni prin diverse tehnici de comunicare ............................................................ 262

Bibliografie ....................................................................................................................... 264

Webografie........................................................................................................................ 267

Page 5: Informatică economică

5

Introducere în informatică

Ştiinţa tehnologiei informaţiei (Informatica) a apărut ca termen în urma dezvoltării mijloacelor electronice de prelucrare a informaţiilor,

dar ca domeniu de activitate (şi de studiu) se poate spune că există din

totdeauna – chiar dacă nu a avut în trecut acest nume. Diferite categorii de informaţii se prelucrează diferit dar, la nivel conceptual,

se constată că modalităţile de prelucrare sunt asemănătoare, deci se

pot aborda unitar. Tehnologia Informaţiei (în engleză „Information Technology” - IT) exprimă, aşadar, metode generale de lucru cu

informaţia, şi astăzi a devenit o ştiinţă de sine stătătoare cu

aplicabilitate în orice domeniu de activitate umană.

Informatica (cf. DEX) reprezintă ştiinţa care se ocupă cu studiul

prelucrării informaţiei cu ajutorul mijloacelor automatice de calcul.

Pentru prima dată, termenul informatik a fost introdus în 1957 de Karl Seinbuch în eseul “Informatica: prelucrarea automată a informaţiei” și

a fost adoptat oficial de Academia Franceză în 1967 (Informatique) şi răspândit în alte limbi europene. În engleză: Computer Science.

Cuvânt provenit din informaţie şi automatică. În sens restrâns,

informatica este o ramură a matematicii, care studiază aspecte abstracte, formale ale prelucrării informaţiei. În sens larg, informatica

este ansamblul ştiinţelor şi tehnicilor care se ocupă de procesarea

(prelucrarea) informaţiei. Remarcăm, deci, că informatica nu se ocupă de studierea calculatorului sau altor echipamente de calcul, ci a

modalităţilor de tratare a informaţiei cu ajutorul calculatorului.

Renumitul informatician olandez Edsger Djikstra spunea că “informatica nu este mai mult despre calculatoare, decât astronomia

este despre telescoape” (“computer science is no more about

computers than astronomy is about telescopes”).

Ştiinţa informaţiei (engleză: information science; franceză: science de

l'information) este o ştiinţă interdisciplinară, care se ocupă cu

Page 6: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

studierea problemelor privind culegerea, clasificarea, depozitarea,

regăsirea şi diseminarea informaţiei. A apărut cu mult timp înaintea

informaticii, deoarece se referă la utilizarea bibliotecilor, arhivelor şi a altor mijloace de manipulare şi conservare a informaţiei, atât

tradiţionale, cât şi moderne.

Domeniul informaticii este în ultimul timp legat de domeniul comunicaţiilor, atât datorită tehnicilor digitale folosite în ambele

domenii cât şi datorită tendinţei de integrare a producerii, transportului

şi consumului de informaţie. Astfel, a apărut „Tehnologia Informaţiei şi Comunicaţiilor” TIC (în engleză „Information and Communication

Technologies” ICT), care unifică cele trei categorii de informaţii de

bază (date, sunete şi imagini) şi le tratează unitar după digitizare (adică după transformarea din semnal în succesiuni de numere binare),

iar prelucrarea se face cu acelaşi tip de echipamente (calculatoare

numerice), folosind programe adecvate.

Tehnologia informaţiei (TI) numită şi tehnologia informaţiei şi

comunicaţiilor (TIC) este domeniul ştiinţific şi tehnic care se ocupă

cu metodele şi procedeele de achiziţie, prelucrare, stocare, transport şi prezentare a informaţiilor, prin echipamente și rețele („hardware”) şi

aplicaţii („software”) create în acest scop cât şi administrarea

sistemelor respective. Cuprinde tehnologiile aplicate la utilizarea calculatoarelor electronice şi reţelelor de calculatoare pentru

culegerea, conversia, stocarea, procesarea, transmiterea, protejarea şi

diseminarea informaţiei.

Conceptele utilizate în metode şi procedee amintite în definiţia de mai

sus provin, în general, din alte domenii de activitate umană, de

exemplu din editare şi tipărire de carte (tipuri de caractere, spaţieri etc.), din artă şi design (grafică, proporţii, combinaţii de culori etc.),

tehnică şi economie (în aplicaţii ce vizează aceste domenii). Prin

implicarea sa în toate activităţile umane TIC a devenit foarte vastă, antrenând specialişti din cele mai diverse profesiuni; de aceea, uneori,

delimitarea metodelor specifice TIC şi a cunoştinţelor necesare celor

ce se ocupă în acest domeniu nu prezintă frontiere clare şi nici stabile. În esenţa sa TIC este un domeniu multi- şi inter-disciplinar, axat însă

pe conceptualizarea informaţiilor de orice natură, cu reprezentarea şi

prelucrarea unitară a acestora.

Page 7: Informatică economică

7

Cu toată această diversitate, utilizarea TIC presupune un set relativ

restrâns de metode de uz general şi de „obişnuinţe” de operare (lucru

cu calculatorul) pentru un registru larg de utilizatori, fiindcă chiar extinderea TIC a impus două caracteristici - ca cerinţe de bază:

• atributul deschis (în engleză „open”) – prin care modificări în

structura şi complexitatea unui sistem de calcul (ca echipamente şi programe) nu trebuie să afecteze modul de lucru al utilizatorului;

• atributul prietenos (în engleză „friendly”) – prin care operarea la

sistem nu trebuie să necesite cunoştinţe speciale (de exemplu nume de comenzi, sintaxă, etc.), manevre trebuie să fie simple, iar sistemul să

ofere sugestii şi ajutor în lucrul utilizatorului.

În vederea lucrului comod şi uniform al utilizatorului în reţele de calculatoare eterogene (adică cele care interconectează echipamente şi

programe de la diferiţi producători), s-a impus o a treia caracteristică

deziderat, anume:

• transparenţa pentru utilizator a tipului de echipament sau program

care oferă un anumit serviciu (de exemplu serviciul de poştă

electronică).

Urmare a acestui atribut, utilizatorul nu trebuie să fie interesat de tipul

şi locul echipamentului sau programului pentru consumarea unui

serviciu ci să opereze la fel de oriunde în reţea. Astfel, au apărut standarde internaţionale care stabilesc modul cum trebuie să

funcţioneze şi chiar cum să se prezinte către utilizator o aplicaţie de uz

general (cum este de exemplu mesageria electronică).

Page 8: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

1. Informaţii şi prelucrări

Pentru domeniul TIC informaţia este şi „materia primă” şi „produsul

final”. Informaţia nu poate fi separată de o utilitate, o finalitate umană

şi este în legătură cu procesul de cunoaştere. Varietatea formelor, situaţiilor şi utilităţilor în care este implicată cunoaşterea umană fac ca

informaţia să nu poată fi definită fără echivoc.

Informaţia este o piesă de cunoaştere legată de o utilitate umană, aşteptată şi/sau obţinută în urma unui eveniment, apoi stocată sau

transmisă de la sursă/emițător către receptor printr-un canal de

comunicație (materie sau câmp).

În vorbirea curentă, informaţia este o comunicare, o ştire care pune

pe cineva la curent cu o anumită situaţie sau cu un anumit eveniment.

Este important caracterul de noutate: pentru a fi informaţie, mesajul trebuie să conţină elemente pe care primitorul/receptorul nu le

cunoştea anterior. În ştiinţa informaţiei, informaţia este conţinută în documente, în format tradiţional sau electronic. În biologie, informaţia

constă în semnalele (vizuale, auditive, tactile etc.) pe care organismul

le primeşte din mediul exterior. Există, de asemenea, informaţia genetică (înregistrată în gene). În tehnică, informaţia constă din

semnalele primite de la senzori sau transmise prin căi de comunicaţie.

Orice cunoştinţă umană este legată de informaţii, iar acestea din urmă pot apare ca imagini, sunete (surse directe) sau numere, texte (surse

deja prelucrate). În general, o cunoştinţă umană surprinde o legătură

cauză-efect din lumea înconjurătoare, iar procesul de obţinere a cunoştinţelor este relativ complex, adică:

a) se preiau informaţii din mediu şi se asociază cu evenimentele de

interes (de obicei o mulţime de evenimente legate de o utilitate anume);

b) se constată repetarea apariţiei unui anume eveniment aşteptat (numit

efect) în corelaţie cu unul sau mai multe evenimente observate (numite cauze) şi se stabileşte o relaţie de cauzalitate;

Page 9: Informatică economică

9

c) se procedează la generalizarea relaţiei de cauzalitate formulând o

„lege” – eliminând, eventual, evenimente ce nu intră în mod relevant

în relaţia de cauzalitate (având caracter întâmplător sau legături slabe cu evenimentul efect).

Există şi cunoştinţe care nu pot fi considerate informaţii, prin simplul

fapt că nu se referă la o utilitate umană (imediată sau îndepărtată) şi nu pot fi surprinse pe un suport material. Se pot enumera aici „poanta”

unei glume sau iubirea; acestea sunt legate mai mult de registrul

afectiv decât de o utilitate umană. Există şi alte cunoştinţe cu semnificaţii umane atât de abstracte, încât nu pot fi „prinse” ca

informaţii.

De ce se vorbeşte însă, de o tehnologie a informaţiei? După cum prelucrările pe care le suferă materiile prime într-o uzină spre a se

obţine un anume produs se bazează pe o tehnologie – ca succesiune

bine stabilită de transformări efectuate cu un anumite instalaţii special proiectate, tot astfel, informaţia din mediu este prelucrată într-o

succesiune bine definită de operaţii cu un echipament dedicat –

calculatorul electronic. Pe această similitudine se poate concepe o paralelă între o tehnologie industrială şi tehnologia informaţiilor, care

poate fi sintetizată astfel: materie primă – pregătire – transformare -

ambalare a produsului finit, respectiv informaţie – reprezentare – prelucrare – prezentare a rezultatelor către utilizator.

1.1. Date

Fără a intra în studiul cunoaşterii, se poate conchide din consideraţiile anterioare că, pentru manipularea pieselor de cunoaştere prin

intermediul Tehnologiei Informaţiei şi a Comunicaţiilor (TIC), acestea

trebuie să se refere la o formă: materială (substanţă sau câmp) ori conceptuală (cuvânt). Constituie informaţie orice text, număr,

imagine, sunet, dar şi miros, rugozitate, căldură, sesizabile şi sunt utile

omului la un moment dat.

În cazul său cel mai simplu, informaţia se referă la apariţia (sau ne-

apariţia) unui eveniment, informaţia căpătată fiind de tip binar:

Adevarat/Fals, Da/Nu. Efectiv, informaţia apare după consumarea evenimentului, adică atunci când piesa de cunoaştere este sigură şi

clară; spunem că informaţia s-a instanţiat – în sensul că a căpătat o

Page 10: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

valoare pentru o mărime legată de eveniment. Omul manipulează însă

şi informaţii care nu sunt sigure (sunt probabile sau sunt posibile)

precum şi informaţii care nu sunt clare (sunt vagi). Totuşi, acestea pot fi prelucrate şi utilizate folosind tehnica de calcul, prin metode

stochastice (probabilităţi) sau metode posibiliste, respectiv prin

metode de inteligenţă artificială cum sunt tehnicile „Fuzzy”.

În final, forma – ca purtător al informaţiei, trebuie să capete o

reprezentare ce permite memorarea ei în dispozitivele electronice

(magnetice, optice, SSD, etc.) ale unui sistem de calcul, devenind astfel „dată”.

Date sunt informaţii într-o reprezentare adecvată stocării lor pe un

suport (magnetic, optic etc.), în scopul prelucrării electronice sau transferului electromagnetic. Cu alte cuvinte, ”Datele” reprezintă

“materia brută” din care este constituită informaţia. Datele nu au

semnificaţie prin ele însele, ci numai într-un anumit context.

Reprezentarea datelor în calculatoarele numerice se face prin

discretizare. Acest procedeu indică o separare în piese (discrete) a

elementelor ce compun informaţia. De exemplu, o imagine este discretizată prin puncte minuscule (pixeli) - fiecare cu o culoare şi o

intensitate luminoasă, care prin ansamblul lor refac imaginea vizată.

Acestor puncte le corespund coduri ce reprezintă culoarea şi intensitatea luminoasă şi sunt aranjate pe linii şi coloane, ca într-o

matrice, fiind memorată apoi pe suport extern, în memoria

calculatorului sau prezentată pe ecran. Toate informaţiile în calculatoarele numerice sunt reprezentate prin coduri (numerice),

pentru a fi ulterior stocate şi prelucrate după cerinţe. Ca semnificaţie,

discretizarea se referă la separarea unor momente de timp egale în evoluţia unui fenomen real (şi care prezintă de fapt o curgere

continuă), în scopul cunoaşterii sau modelării acestuia; prin extensie,

se consideră discretizare şi descompunerea în piese spaţiale a unui obiect (de exemplu o imagine). Descompunerea în piese de mărimi

egale ale unei măsuri (distanţă, tensiune electrică etc.) se numeşte

cuantificare; acesta este procedeul prin care măsurările efectuate în lumea reală sunt separate în piese discrete, spre a fi stocate şi

prelucrate cu tehnica de calcul numerică.

Page 11: Informatică economică

11

1.2. Prelucrarea datelor

Funcţie de scopul urmărit, datele suferă diverse transformări, mai mult sau mai puţin complexe, generic numite prelucrări (în engleză „data

processing”); acestea nu sunt întotdeauna calcule ci, de exemplu,

selectări ale unor piese de date din setul existent. În această idee, se pot deosebi următoarele prelucrări generice:

Sortare – constă în ordonarea pieselor de date după valorile unei caracteristici comune acestora, numită cheie de sortare. De exemplu,

sortarea alfabetică a numelor de persoane se face după litera iniţială

(drept cheie de sortare), unde valoarea cheii este poziţia în alfabet a literei. Se observă că valorile pe care le poate lua cheia de sortare sunt

„ordinale” (adică prezintă o ordine între ele), adică pot fi numere

întregi, litere în alfabet, dar nu pot fi numere zecimale – spre exemplu.

Selectare – constă în extragerea unor piese de date, din setul

existent, pe baza unui criteriu de selecţie, care se aplică uneia sau mai multor caracteristici comune ale pieselor de date, mai precis valorilor

pe care aceste caracteristici le pot avea. Spre exemplu, pentru

selectarea persoanelor cu numele începând cu litera ‘M’, se foloseşte drept criteriu de selecţie valoarea ‘M’ a literei iniţiale a numelui.

Selectarea se realizează în urma operaţiei de căutare (sau „regăsire”) a

datelor.

Clasificare – constă în împărţirea setului pieselor de date în grupuri

de date cu o caracteristică comună. Un exemplu este clasificarea persoanelor după categorii de vârstă, caz în care se poate să fie

considerate nu doar numărul de ani ci și categorii de tipul

„adolescent”, „adult”, „vârstnic” care, în sine, sunt nişte noţiuni vagi; în acest caz, clasificarea necesită tehnici de inteligenţă artificială, care

să simuleze modul în care oamenii procedează pentru clasificare. De

aceea, clasificarea nu este identică cu selectarea, chiar dacă există multe similitudini.

Transformare – constă în modificarea valorilor unor piese de date

prin operaţii în care intervin şi alte piese de date, constituind împreună expresii. În general, în această categorie de prelucrări se consideră

calculele matematice, dar şi operaţii executate asupra altor tipuri de

valori decât numere (şiruri de caractere, valori logice etc.)

Page 12: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Prezentare – constă în operaţii executate asupra pieselor de date

doar în scopul afişării adecvate către utilizatorul uman a acestora.

Asemenea operaţii sunt trunchierea zecimalelor pentru numere reale (spre a afişa, de exemplu, doar două zecimale), aranjarea valorilor ca

tablouri, grafice sau alte forme uşor de interpretat şi recunoscut pentru

oameni.

Transfer – constă în transportul datelor între locaţii spaţiale

diferite, prin infrastructura de comunicaţie, sub formă de unde electromagnetice. În vederea traversării unor medii perturbate,

nesigure sau chiar ostile, se execută prelucrări de tip „împachetare” a

datelor, verificare a erorilor, fragmentare a mesajelor, criptare, astfel ca transportul datelor să decurgă la parametrii doriţi. În plus, urmărind

dezideratul de sistem deschis, în transferul de date se asigură

conectivitatea echipamentelor şi programelor independent de producător (eterogenitate).

Prelucrările se execută în paşi care se succed în secvenţă, cicluri sau

ramificaţii, conform unor „reţete” numite algoritmi Algoritmul constituie, de fapt, esenţa Tehnologiei Informaţiei, el fiind depozitarul

cunoştinţelor umane privind acţiunile ce trebuie întreprinse pentru a se

obţine noi valori sau noi cunoştinţe pe baza celor existente. Trebuie remarcat că, în enumerarea de mai sus, au fost incluse între prelucrări

prezentarea şi transferul de date pentru că, într-o viziune generală, ele

sunt abordate încă de la analiză şi apoi la implementarea programelor alături de prelucrările „veritabile”. De aceea, domeniul informaticii

este lărgit natural cu cel al prezentării documentelor (incluzând imagini) şi cu cel al comunicaţiilor.

Algoritmul este o succesiune de operaţiuni executate în număr finit de

paşi, care prelucrează un număr finit de date iniţiale (de intrare) către un număr finit de date rezultat (de ieşire).

Trebuie subliniat, însă, că există şi prelucrări electronice care nu se

execută prin algoritmi. Acesta este cazul prelucrărilor prin „memorii asociative”, cum sunt reţelele neuronale artificiale; acestea fac asocieri

între perechi „dată de intrare – dată de ieşire”, pentru recunoaşterea

formelor, adică unei forme de intrare îi corespunde o formă de ieşire (de exemplu unei forme geometrice sau unei fizionomii umane îi va

corespunde un nume). Simularea prin programe pe calculatorul

Page 13: Informatică economică

13

numeric a acestor memorii asociative se face însă tot prin algoritmi,

fiindcă acesta este singurul mod prin care un program poate fi executat

pe calculatorul numeric. O explicaţie a acestei stări de fapt provine din modul în care prelucrările sunt gândite de om: acesta nu poate concepe

raţional acţiunile decât în succesiuni de operaţiuni distincte (discrete),

executate în paşi (în număr finit - pentru a fi realizabile practic).

Există şi prelucrări ne-algoritmice – de exemplu prin reţelele

neuronale artificiale, care se realizează atunci când implementarea

acestora se face fizic, în dispozitive şi echipamente dedicate. Se poate astfel ca, în viitor, calculatoarele de uz general să fie echipate cu o

unitate pentru prelucrări algoritmice – folosind procesorul numeric, şi

cu o unitate pentru prelucrări de tip recunoaştere – folosind procesorul RNA. Alte moduri de prelucrări sunt realizate prin dispozitive

electronice (cum sunt calculatoarele analogice), bio-cibernetice sau

subcuantice. Rămâne să constatăm ce modalităţi de rezolvare a problemelor ne rezervă viitorul şi ce tipuri de maşini de calcul le vor

implementa.

1.3. Scopul prelucrării electronice a informaţiilor

Am văzut că informaţia vizează o utilitate umană, un scop; de aceea,

este interesant să inventariem câteva utilităţi vizate astăzi de către

prelucrarea electronică a informaţiilor:

a) Crearea şi prezentarea de documente scrise de înaltă calitate (cu

imagini, tabele şi formatări diverse), permiţând modificarea rapidă şi

eficientă a acestora prin operaţiuni automatizate.

b) Realizarea de calcule complexe pentru aplicaţii inginereşti,

economice sau ştiinţifice, cu posibilităţi de interpretare şi generalizare

a rezultatelor.

c) Realizarea de prezentări către auditoriu, cu imagini, sunete, text şi

date, pentru informare, educaţie şi reclamă, accesibile local sau la

distanţă.

d) Evidenţa şi controlul operaţiunilor economice, tehnice, spaţiului

geografic, transportului şi mediului social (folosind baze şi bănci de

date).

Page 14: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

e) Conducerea proceselor tehnologice, pentru asigurarea calităţii şi

eficienţei sistemelor de producţie din industrie sau din servicii.

f) Asistarea deciziilor (adică oferirea de date sintetice şi sugestii) pentru conducerea (în sensul de management) a sistemelor economice,

industriale sau sociale.

g) Comunicare totală prin intermediul reţelelor de calculatoare şi infrastructurii de comunicaţie, adică comunicare prin integrarea celor

trei tipuri de informaţii uzuale: sunet, imagine, date. Comunicarea are

loc între oameni, om-calculator sau între calculatoare.

h) Divertisment – ca jocuri pe calculator, discuţii, filme, muzică, artă şi

informare diversă.

Utilităţile oferite de aplicaţii uzuale astăzi, pe calculatoarele numerice de uz general, se referă la realizarea documentelor, calculelor tehnice

sau economice, precum şi la comunicaţia inter-umană; acestea au în

general o operare uniformă - indiferent de echipament sau producător, şi de aceea vor fi prezentate cu precădere în cartea de faţă.

Alte aplicaţii răspândite sunt cele de evidenţă şi control, dar acestea

sunt dedicate unui domeniu de activitate dat, astfel că operarea este specifică domeniului şi chiar aplicaţiei în cauză. Categorii de aplicaţii,

cu detalii asupra lor, vor fi prezentate în continuare.

1.4. Organizarea datelor

Informaţiile sunt colectate de om şi stocate uzual pe diferite suporturi:

pe hârtie, în cărţi, caiete, afişe. Pentru a fi utilizate ulterior,

informaţiile trebuie regăsite, iar pentru o regăsire rapidă ele trebuie să fie organizate, structurate. Este evident că mult mai greu se găseşte o

carte aflată într-o grămadă, pe duşumea, faţă de cazul în care cărţile se

află pe rafturi, aranjate pe domenii sau autori indicate prin etichete. Din aceleaşi considerente de regăsire rapidă, datele (ca informaţii într-

o reprezentare pe calculator) trebuie să fie organizate şi „etichetate” pe

suportul extern de memorare (disc magnetic, optic sau alte dispozitive de stocare).

În Figura 1 sunt reprezentate trei modalităţi de organizare a unor piese

de date (reprezentate ca bile). Fiecare din cazuri se poate discuta privind eficienţa de regăsire a unei piese de date.

Page 15: Informatică economică

15

a) În cazul în care informaţia este „nestructurată” (vezi Figura 1 a)

regăsirea unei piese dorite (bila înnegrită) este foarte dificilă, fiindcă

nu se pot parcurge ordonat piesele: sensul de căutare nu este clar şi se poate ca o bilă să fie parcursă de două ori în acest proces.

Figura 1. Trei tipuri de organizare a datelor

b) În cazul în care informaţia este organizată într-o „structură înlănţuită” (listă lineară), fiecare piesă primește o etichetă de ordine.

Regăsirea piesei dorite se face prin parcurgerea succesivă a pieselor

existente, urmând sensul de înlănţuire a acestora. După cum se constată, regăsirea este simplă ca procedeu, dar vor trebui parcurse (în

cel mai defavorabil caz) toate piesele de date: pentru N piese, N paşi

de căutare – la fiecare piesă consultând informaţia înscrisă în ea pentru a constata dacă este cea căutată. Piesele de date sunt etichetate prin

poziţia lor în lanţ (în listă). Un exemplu uzual al acestui mod de

organizare a informaţiilor este o listă de persoane; căutarea decurge secvenţial (parcurgând nume după nume) până la găsirea numelui

căutat (în Figura 1 b se parcurg 4 paşi pentru 5 piese).

c) În cazul în care informaţia este organizată într-o „structură arborescentă” (listă nelineară), piesele înlănţuite sunt deja clasificate

pe niveluri, după un criteriu dat; astfel piesele de date primesc o

etichetă de nivel şi o etichetă de ordine pe acel nivel. Piesele de pe un nivel au legături către piese pe nivel inferior, într-o relaţie părinte-fiu,

astfel că fiecare piesă prezintă ordine pe nivel şi ordine între fii. O modalitate de regăsire a piesei dorite este următoarea:

a) Nestructurat

2

3

4

5

1.1

2.1 2.2

3.3

4.3

3.2 3.1

4.2 4.1

b) Structură înlănţuită

c) Structură arborescentă

Page 16: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

I. căutarea începe pe primul nivel, de la piesa 1.1. – numită nod

rădăcină;

II. se trece la nivelul următor şi se parcurg în ordine piesele fiu de pe acest nivel până la cea care satisface criteriul de nivel şi criteriul de fiu

cerute;

III. se repetă pasul II până se găseşte piesa căutată.

Organizarea în arbore prezintă căutarea cea mai rapidă. Pentru un

arbore binar (în care un părinte are cel mult doi fii) se parcurg, în

cazul cel mai defavorabil, pentru n piese log2N paşi (în Figura 1 c parcurgându-se 4 paşi de consultare pentru cele 9 piese).

Un exemplu uzual al acestui mod de organizare a informaţiilor este un

arbore genealogic de persoane, în care nivelul indică o generaţie iar relaţiile sunt legături părinte-fiu cu persoanele de pe nivel inferior.

Structura arborescentă este cea mai utilizată modalitate de organizare

a datelor în Informatică, tocmai datorită eficienţei de regăsire a datelor. De fapt multe dintre cunoştinţele care vor fi prezentate în

această carte sunt structurate arborescent, fiind şi pentru cursant

organizarea care permite cel mai uşor înţelegerea şi memorarea cunoştinţelor.

1.5. Stocarea datelor (fişiere)

Pentru a fi stocate pe suport extern (discuri), informaţiile cu semnificaţie sau utilizare comună se grupează în seturi, cărora li se

ataşează o etichetă corespunzătoare.

Dispozitivele de memorare „externă”, cum sunt discurile magnetice (fixe sau flexibile) precum şi discurile optice (cu înscriere unică sau

multiplă) vor fi prezentate ulterior. Reamintind dezideratul de

„transparenţă” pentru utilizator a procedeelor specifice informaticii, trebuie ca din punctul de vedere al acestuia să nu intereseze tipul

suportului de memorare şi nici modalitatea efectivă de organizare a

datelor pe disc. Astfel, se recurge la o reprezentare unitară a grupării datelor şi stocării lor pe orice tip de suport extern:

Page 17: Informatică economică

17

Date de acelaşi tip sau cu aceeaşi utilizare (precum sunt caracterele

într-un text neformatat, punctele într-o imagine etc.) se grupează în

fişiere (în engleză „files”):

Fişierul este o colecţie de date - de obicei de acelaşi tip, stocate pe

suport extern.

Fişiere de acelaşi tip sau cu utilizare în acelaşi context (precum sunt fişierele document pentru un proiect sau imaginile foto digitale de la

un eveniment) se grupează în cataloage sau dosare (în engleză „directories” sau „folders”).

Directórul (dosarul) este o colecţie de fişiere - de obicei întrebuinţate

în acelaşi context, stocate pe suport extern; un dosar poate conţine alte dosare.

În figura ce urmează se prezintă aceste concepte în modul intuitiv,

specific interfeţelor utilizator grafice, moderne, orientate pe „ferestre” – windows. Imaginile, preluate de pe ecranul luminos de afişare,

conţin mici desene numite pictograme (în engleză „icons”) care

reprezintă intuitiv fişierele prin desene specifice tipului de date

conţinut ( – fişier cu document scris, – fişier cu imagine sau

desen).

Pentru dosare este utilizată pictograma reprezentând un mic dosar-fişă

utilizat în lumea americană .

Figura 2. Ecran cu reprezentarea fişierelor şi dosarelor (MS-WINDOWS)

Page 18: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Pentru organizarea eficientă a informaţiilor grupate în fişiere şi dosare,

se utilizează - cum era de aşteptat, o structură arborescentă. În această

structură, există un dosar – numit rădăcină, care conţine alte dosare (denumite în jargonul amintit „subdirectoare”), fiecare dintre acestea

conţinând (sau nu) fişiere; cele care nu conţin direct fişiere conţin alte

dosare care, la rândul lor, vor conţine fişiere (vezi Figura 2). Această organizare a dosarelor cu fişiere este denumită „structura arborescentă

de directoare” a discului (magnetic, optic, SSD etc.) care stochează

datele. Facem observaţia, necesară, că structurarea arborescentă a datelor nu se face doar pentru dosare ci este o modalitate uzitată în

foarte multe cazuri în informatică, structura arborescentă de directoare

fiind doar unul din acestea.

1.6. Introducerea şi prezentarea datelor

Tehnica de calcul permite stocarea unor volume mari de date, pe care

le poate prelucra în folosul omului. În aceste situaţii, culegerea informaţiilor „primare” şi prezentarea rezultatelor în mod eficient au

impus rezolvări ce s-au adaptat de-a lungul timpului la noi condiţii pe

care utilizatorul uman le-a dorit şi solicitat pentru interesul sau comoditatea sa.

Introducerea şi prezentarea datelor constituie părţi foarte importante

ale unei aplicaţii informatice, prelucrările fiind, spre exemplu, reduse la operaţii necesare stocării şi regăsirii datelor. Se poate spune că, la

majoritatea aplicaţiilor actuale, achiziţia şi prezentarea datelor necesită

80% din volumul programelor realizate pentru acea aplicaţie. Evident, mare parte din operaţiunile de achiziţie şi prezentare includ, la rândul

lor, prelucrări specifice, care astăzi se realizează uneori direct de către

dispozitivul de captare sau afişare (de exemplu, cameră video digitală ce prelucrează imaginea şi placa grafică care face apoi alte prelucrări

complexe pentru afişare).

Dispozitivele de introducere a datelor uzuale (dispozitive de intrare) sunt tastatura şi șoricelul („mouse”). Acestea sunt dispozitive relativ

simple şi eficiente de comunicare om→calculator, dar care necesită un

minimum de cunoştinţe privind convenţiile de lucru şi oarecare îndemânare privind utilizarea lor. Dispozitive mai complexe – cum

sunt cele de recunoaștere a formelor sau pentru comandă vocală, nu

Page 19: Informatică economică

19

sunt încă eficiente şi sunt rar utilizate datorită imperfecţiunilor

inerente tehnologiilor noi; avantajul lor este însă utilizarea conform

uzanţelor umane comune, fără convenţii suplimentare.

Dispozitivele de prezentare a datelor uzuale (dispozitive de ieşire) sunt

ecranul (în engleză „display”) şi imprimanta (în engleză „printer”).

Acestea se adresează vederii, prin care omul poate capta cel mai mare volum de informaţii, însă pentru înţelegerea semnificaţiei acestor

informaţii este necesară cunoaşterea convenţiilor de reprezentare

grafică, adică a simbolurilor afişate. Astfel, pentru texte trebuie cunoscute simboluri pentru dimensiuni şi stiluri de caractere (litere),

pentru desenul unei construcţii trebuie cunoscute simboluri pentru

ferestre, uşi, etc., oferite de aplicaţia de proiectare (CAD) respectivă. Mai mult, interacţiunea om↔calculator se bazează pe răspunsul şi

mijloacele oferite de aplicaţia în cauză, care sunt afişate pe ecran tot

ca simboluri; acestea sunt utile introducerii datelor sau indicării unor evenimente necesare utilizatorului pentru a lua decizii. Astfel,

simbolurile pot deveni „butoane grafice” – intuitiv reprezentate „în

relief”, care pot fi „apăsate” folosind „mouse-ul”) sau tastatura.

Figura 3. Ciclul „simbol – decizie – intrare” parcurs cu interfaţa utilizator

grafică

Utilizatorul parcurge, astfel, un circuit care porneşte de la un simbol

grafic (oferit ca o invitaţie de a alege din mai multe posibilităţi) şi

introduce apoi date corespunzătoare scopului propus (prin dispozitivul de intrare), după ce în prealabil a luat o decizie necesară spre a atinge

acest scop. Aproape toate aplicaţiile moderne prezintă o interfaţă

utilizator grafică (GUI – Graphical User Interface), datorită modului simplu şi intuitiv în care se poate face comunicarea om↔calculator.

Simbo

l

grafic

Decizie

utilizato

r

Introduce

re date

Page 20: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Operaţiunile prin care utilizatorul observă simbolurile afişate ecran, ia

decizii şi apoi introduce datele (sau alege prin indicare un anumit

simbol) se succed ciclic sau în secvenţe şi/sau în ramificaţii. La unele aplicaţii se poate asemăna această succesiune de operaţiuni cu

parcurgerea unui traseu într-un labirint (sau mai bine într-un super-

magazin), de aceea lucrul cu asemenea aplicaţii este supranumit navigare (în engleză browsing – răsfoire).

Rezultă deci că operarea la aplicaţii pe calculatoarele actuale constă în

cunoaşterea simbolurilor afişate în aplicaţiile de interes, cunoaşterea operaţiunilor posibile şi alegerea operaţiunii de executat pentru scopul

propus care se va executa prin „utilizarea” corespunzătoare a unui

simbol afişat. Pentru a exemplifica simplitatea acestui mod de lucru ilustrăm în continuare (fără nici o explicaţie) planificarea unei

excursii, prin simboluri:

8:00 , 12:00 , 14:00 , 20:00, 22:00 .

Dacă această excursie se realizează în „realitatea virtuală”, atunci

toate acţiunile se vor petrece stând în faţa calculatorului, urmărind şi

alegând simboluri cu imagini, sunete şi (poate în viitor) gusturi, după dorinţa „turistului” şi conform contextului oferit de aplicaţia

„turistică”.

Page 21: Informatică economică

21

2. Comunicaţii de date şi multimedia

Aşa cum banul nu are valoare în sine, ci o capătă prin schimb, astfel şi

informaţia nu îşi dovedeşte utilitatea decât prin circulaţia sa. Era deci firesc ca Tehnologia Informaţiei să înglobeze şi componenta de

schimb - Comunicaţia.

În denumirea acestui paragraf apare „comunicaţii de date”, aparent excluzând comunicaţii uzuale interumane – prin voce, imagine sau

mesaje scrise. De fapt, aşa cum s-a arătat anterior, orice tip de

informaţie poate fi reprezentată digital şi astfel devine „date”. Ca atare, împreună Tehnologia Informaţiei şi Comunicaţiilor se referă la

modalităţi prin care diverse informaţii sunt manipulate între oameni

(sau între maşini ce servesc omul), consumate local sau la distanţă. Fuzionarea celor două mari domenii se datorează şi progresului

tehnologic, prin care tehnicile digitale s-au dovedit eficiente şi în implementarea mecanismelor de comunicaţie, astfel prelucrarea

informaţiei şi transferul ei sunt realizate prin tehnici şi echipamente

compatibile.

Termenul multimedia priveşte varietatea şi modalităţile de

comunicare (imagine, sunet, date), prin care se combină canalele de

comunicare umane. Aşa cum un bun profesor combină formulele înscrise pe tablă cu imagini, cu expresii verbale şi chiar cu tonalitatea

vocii sale, spre a se face înţeles de clasă, unele aplicaţii prezintă

informaţiile (în domenii ca cel comercial, de reclamă, de educaţie) atacând mai multe canale de cunoaştere: sunete, imagini (animate sau

nu), texte, experimente filmate, etc. Informaţia este aşadar plasată pe

mai multe medii, pentru receptarea ei de către auditoriu - de aici numele multimedia. Aceste tehnologii se referă atât la principiile şi

metodele de prezentare, cât şi la aparatura necesară pentru a obţine

prezentări de înalt nivel.

Page 22: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Un alt termen, legat de comunicare este hipermedia (în engleză

„hypermedia”). Acesta se referă nu doar la diferite medii prin care este

abordat utilizatorul, ci şi la facilitarea accesării distante a acestor medii. Reluând exemplul de mai sus, se poate spune că, atunci când

profesorul aminteşte în prelegerea sa de laboratorul de fizică, este

posibil ca unii din cursanţii prezenţi să poată „intra” şi privi la momentul următor în laborator – spre buna lor informare. În

tehnologia hipermedia informaţiile de orice natură (text, imagine,

sunet) apar pe aşa-numite „pagini” şi prezintă legături cu alte pagini ce pot fi accesate după dorinţă de către utilizator, în acest fel „navigând”

prin hiperspaţiul creat de paginile interconectate.

Page 23: Informatică economică

23

3. Sistemul informațional

Se numeşte sistem un ansamblu de elemente care interacţionează atât

între ele şi care poate fi privit ca un întreg. Interacţiunile dintre elementele sistemului, sau dintre sistem şi mediu, se pot realiza prin

schimb de substanţă, de energie sau de informaţie. În informatică

interesează, desigur, sistemele în care are loc transfer şi prelucrare de informaţie.

Sistemul informaţional (engleză: information system, franceză:

système d'information) este un ansamblu organizat de elemente, implicate în procesul de colectare, transmisie, stocare, prelucrare şi

diseminare a informaţiei. Nu este obligatoriu ca aceste operaţii să se

efectueze cu echipamente de calcul. De altfel, sistemele informaţionale au existat cu mult înaintea apariţiei calculatoarelor.

Sistemul informaţional este compus din:

totalitatea informaţiilor cu care operează;

echipamentele folosite pentru operaţii asupra informaţiei;

personalul implicat în funcţionarea şi administrarea sistemului;

procedurile aplicate pentru funcţionarea sistemului.

Page 24: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

4. Sisteme de calcul

Tehnologia Informaţiei şi Comunicaţiilor (TIC) este privită ca

domeniu de „înaltă tehnologie” (High Technology), atât prin

subtilitatea şi complexitatea metodelor şi aparaturii electronice implicate cât şi prin aplicaţiile cu impact şi eficienţă deosebite pentru

toate domeniile de activitate. Utilizarea Tehnologiei Informaţiei şi

Comunicaţiilor are cea mai largă extindere întâlnită la orice altă tehnologie cunoscută, datorită materiei prime pe care o prelucrează -

informaţia. Cum nu există domeniu şi activitate umană care să nu

folosească informaţii, TIC vine să sprijine activităţile din acel domeniu, prin metode şi mijloace pentru prelucrarea informaţiilor,

unele generale, altele specializate.

Se numeşte sistem de calcul complexul de echipamente fizice interconectate, cu programele şi datele legate intrinsec de funcţionarea

şi utilizarea lor de către om.

Un sistem de calcul conţine „partea tare” – hardware, echipamentele, precum şi „partea moale” – software, programele şi datele.

4.1. Structura fizică a unui sistem de calcul

Cunoştinţele asupra echipamentelor de calcul se referă la caracteristici şi performanţe ale dispozitivelor de prelucrare şi ale dispozitivelor de

introducere, prezentare şi stocare a datelor.

Per ansamblu, echipamentele de calcul se împart în două categorii mari (vezi Figura 4):

Unitatea centrală – prelucrează datele şi stochează temporar

valorile ce vor suferi prelucrări (date primare) şi valorile rezultat.

Dispozitive periferice – asigură introducerea, afişarea şi stocarea pe

durată nedeterminată a datelor. Aceste dispozitive se mai numesc dispozitive de intrare/ieşire, pentru că asigură intrarea, respectiv

Page 25: Informatică economică

25

ieşirea datelor din unitatea centrală pentru, respectiv după, realizarea

prelucrărilor.

Se observă din Figura 4 că unitatea centrală cuprinde procesorul (ca dispozitiv de prelucrarea a datelor) şi memoria internă (dispozitiv de

stocare temporară a datelor). În Figura 4 se prezintă câteva dispozitive

periferice uzuale cum sunt ecranul, „mouse-ul”, discul optic (DVD-ROM). Dispozitivele periferice sunt caracterizate drept dispozitive de

intrare sau de ieşire, având drept referinţa memoria de lucru (RAM) a

calculatorului. Astfel, dispozitivele care introduc date în memoria RAM se consideră dispozitive de intrare, cele care preiau date din

memoria RAM - dispozitive de ieşire.

Unitate Centrală

PROCESOR

(microprocesor - producători

Intel, AMD, Motorola)

MEMORIE

(RAM – Memorie Internă)

MAGISTRALĂ

Imprim

antă

(ieşire)

Ecran

(ieşire)

Disc O

ptic

(intrare/ieşire)

Scan

ner

(intrare)

Mouse

(intrare)

Page 26: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Dispozitive periferice

Figura 4. Structura fizică a unui calculator

Trebuie făcută o deosebire clară între memoria internă RAM şi

dispozitivele periferice de memorare (cum sunt discul magnetic, discul

optic, banda magnetică) – numite şi memorii externe. În timp ce informaţia stocată în memorii externe este păstrată un timp

nedeterminat (oricât de lung şi fără a se pierde dacă echipamentul de

calcul nu mai este alimentat cu energie electrică), informaţia stocată în memoria internă este păstrată doar pentru a fi prelucrată, dar se pierde

la decuplarea alimentării calculatorului.

În structura Unităţii Centrale (UC) intră, ca părţi principale, procesorul şi memoria internă. Pentru transferul de date între procesor

şi memorie, apoi între acestea şi dispozitivele periferice, există

magistrale – care sunt canale rapide de transport date şi comenzi, iar controlul transferului de date şi funcţionarea întregului sistem de

calcul, în jurul acestor magistrale, este asigurat de Unitatea de

Comandă.

Procesorul

Prelucrarea datelor este efectuată de procesor care, uzual astăzi, este

integrat într-un singur chip şi este numit microprocesor. Există două familii de microprocesoare:

Page 27: Informatică economică

27

Familia Intel – folosite în calculatoarele „IBM compatibile” şi

provin de la firmă cu acelaşi nume; în această familie se pot încadra şi

procesoarele produse de alte două firme: AMD şi Cyrix, ale căror produse sunt compatibile cu ale firmei Intel.

Familia Motorola – folosite în calculatoarele produse de firma Apple. Începând cu 2008, firma Apple utilizează și procesoarele Intel.

Programele scrise pentru o familie de microprocesoare nu se pot

„porta” (adică transfera şi rula imediat) pe altă familie.

Câteva caracteristici de performanţă a procesoarelor (actuale):

a. Tipul procesorului – se referă la produsul efectiv (producător, tip şi

generaţie). PC-urile actuale au, spre exemplu, procesoare de tip Intel Core (i5, i7) sau AMD (A-Series APUs sau FX).

b. Frecvenţa de lucru (sau ceasul intern) – se măsoară în MHz

(impulsuri de ceas pe secundă) şi stabileşte câte operaţii pe secundă poate efectua procesorul. Uzual, la PC-urile actuale, frecvenţa de lucru

este cuprinsă între 1000 MHz şi 3000 MHz.

c. Lungimea cuvântului procesor – se măsoară în biţi şi indică numărul de biţi (sau octeţi) ce pot fi prelucraţi simultan de procesor.

Procesoarele actuale au lungimea de cuvânt cuprinsă între 16 şi 64

biţi.

d. Viteza procesorului – se măsoară în „milioane de instrucţiuni pe

secundă” (MIPS) sau (pentru cele foarte performante) în „milioane de

operaţii cu virgulă mobilă pe secundă” (Mflops). Viteza procesorului este un parametru combinat, legat de frecvenţa de lucru, lungimea

cuvântului de procesor şi tipul (producătorul şi versiunea) procesorului.

e. Memoria cache – cu capacitate indicată în multipli de Byte şi având

rolul de memorie tampon pentru un lot de instrucţiuni preluate din memoria de lucru, spre a fi disponibile procesorului mai rapid decât

accesate prin magistrală de la memoria de lucru. Există procesoare cu

două sau patru memorii cache, pe nivel L1, L2, L3 şi L4.

Pentru staţii de lucru grafice şi servere cu prelucrări intensive, se

folosesc două procesoare (în sistemele bi-procesor), fiecare procesor

având intre 4 și 8 core-uri. Firma Intel oferă procesorul Xeon™ E7

Page 28: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

(octa-processor), pentru aplicaţii „multitasking” (mai multe programe

rulate simultan), lucrând la 3,6 GHz şi având memorie cache L2 de

37,5 MB.

Memoria internă

Programele şi datele se găsesc pe durata prelucrării în memoria de lucru (RAM), care este şi locul în care se introduc datele (de intrare) şi

se pregătesc pentru afişare rezultatele (datele de ieşire). Pe lângă

aceasta există un modul de memorie de bază pentru intrare/ieşire, ce poate fi numai citită ROM BIOS (Basic Input/Output System) (ROM),

care păstrează date şi programe de bază necesare pentru comanda

directă a perifericelor şi încărcării sistemului de operare de pe disc Cele două părţi RAM şi ROM formează memoria internă. La

instalarea memoriei RAM se plasează pe placa de bază module cu

circuite integrate care au, uzual, capacităţi de memorie între 1 şi 8 GB.

Performanţele memoriei interne se referă la tipul memoriei ROM

BIOS şi la caracteristicile memoriei de lucru:

a. Capacitatea de memorie – indică volumul de date care se poate stoca în memoria de lucru şi se măsoară în multipli de octeţi (Bytes);

uzual, capacitatea de memorie este 2-4 GB sau mai mare – pentru

lucrul cu performanţe suficiente sistemelor de operare şi aplicaţiilor actuale, mari consumatoare de memorie.

b. Timpul de acces – se referă la durata de timp scursă de la cererea

unei date din memorie până la sosirea sa în procesor. Uzual, aceasta este de 0.833 ns (între 0.833 ns și 2 ns). Timpul de acces depinde de

tipul memoriei şi de versiunea acesteia.

c. Verificarea erorilor – facilitate care indică dacă informaţia memorată este sau nu corectă, unele tipuri de memorii făcând

verificarea erorilor (prin metode mai mult sau mai puţin sigure –

paritate, control ciclic polinomial), altele nu.

Magistralele sistemului

Sistemele de calcul actuale prezintă mai multe magistrale, unele păstrate pentru compatibilitatea cu sisteme mai vechi, altele introduse

Page 29: Informatică economică

29

pentru transferul rapid de date cu perifericele. Conectarea

dispozitivelor (din UC şi periferice) la magistrale se face prin

conectori („slot”-uri), cu structură şi număr de pini specific magistralei. Transferul datelor pe magistrale este sincronizat de un

ceas al magistralei, care indică şi rata sa de transfer (debitul în bit/sec).

Se vor prezenta pe scurt tipuri de magistrale cu caracteristici şi utilitatea lor:

a. Magistrala ISA (pe placa de bază) – este tipul de magistrală provenit

din sistemele de generaţii mai vechi şi permite conectarea plăcilor adaptor de periferic cum sunt placa de reţea, modem, etc.

b. Magistrala PCI (pe placa de bază) – este tipul de magistrală, mai

rapidă. Majoritatea dispozitivelor periferice se conectează la această magistrală.

c. Magistrala AGP (pe placa de bază) – oferă o rată mare de transfer

(până la 21 GBps) la adaptorul de afişare grafică pe ecran (placa video), pentru prelucrări grafice 3D.

d. Magistrala SCSI – este o facilitate de transfer date către periferice

rapide, cum sunt discul fix (hard disk), disc optic (compact disc) sau alte periferice cu această facilitate, oferind o rată de transfer de la 10

MB/s până la 80 MB/s, putând să interconecteze până la 14 periferice

pe o lungime de cablu până la 12 metri.

e. Magistrala USB – este o magistrală serială de mare viteză, pentru

conectarea dispozitivelor periferice, oferind rate de transfer de 1MBps

sau 12MBps pentru varianta USB 1.0 şi până la 5 GBps pentru varianta USB 3.0, de 10 ori mai rapida decât USB 2.0.

Placa de bază

Reprezintă suportul pentru dispozitivele electronice ce formează

partea cea mai importantă a calculatorului: unitate centrală (cu

microprocesor şi memorie de lucru), magistrale de comunicaţie cu perifericele şi adaptoare pentru periferice uzuale (tastatură, mouse,

discuri, reţea şi sunet). Placa de bază prezintă cablajul electric - depus

printr-un procedeu similar celui galvanic, în care sunt montate: soclul microprocesorului, generatoarele de impulsuri de ceas (pentru

sincronizarea operaţiilor din procesor dar şi pentru transferul de date

Page 30: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

către periferice) dispozitivele de comandă ale magistralelor de

transfer.

Unităţi periferice de intrare

Datele pot fi introduse în memoria de lucru prin intervenţia omului

(folosind tastatura, mouse-ul, scanner-ul etc.) sau direct din mediu prin senzori şi dispozitive periferice dedicate. Perifericele de intrare

uzuale sunt:

a. Tastatura – este dispozitivul de intrare cel mai utilizat şi prezintă butoane (taste) dedicate pentru simboluri alfa-numerice de scriere şi

pentru comenzi de introducere a datelor (salt la nou rând, ştergere,

etc.). Configuraţia de simboluri ataşate butoanelor se poate modifica după specificul de ţară - tastatura engleză QWERTY, franceză

AZERTY, română QWERTZ (indicată prin literele rândului cel mai

de sus-stânga).

b. Mouse-ul – este dispozitivul de indicare a obiectelor grafice pe

ecran, prin poziţia unui indicator de mouse (de obicei, săgeată).

Se pot executa manevre asupra obiectelor prin apăsarea simplă a

butonului stânga (click ), dreapta („right”-click ), dublu

(„double”-click ), glisare („drag” ). Performanţa mouse-ului este dată de tipul acestuia (mecanic, optic sau wireless) şi de existenţa

altor facilităţi (de ex. rotiţa pentru derularea panourilor cu informaţii afişate pe ecran - scroll).

c. Folie sensibilă („touch pad”) şi bilă de urmărire („trackball”) – sunt

dispozitive similare mouse-ului, folosite mai ales la calculatoare portabile („lap top”).

d. Creion optic – este un dispozitiv similar mouse-ului care permite

indicarea directă pe ecranul (special) al monitorului; util pentru grafică.

e. Joystick – permite acţiuni de „navigare” pe ecran (similare tastelor

săgeţi), precum şi acţiuni de comandă prin butoane speciale. Este utilizat de obicei la jocuri, la simularea pilotării în alegerea unui

traseu.

2

Page 31: Informatică economică

31

f. Scanner – este dispozitivul de introducere a imaginilor de pe suport

hârtie. Performanţa acestuia este dată de densitatea de puncte pe ţol pe

care le poate sesiza pe imaginea de intrare (dpi - dots per inch), cu

valori de până la 24002400 dpi.

g. Microfon – este parte a complexului audio (placa audio şi

dispozitivele exterioare), util la aplicaţii multimedia.

h. Intrare/captură video – facilitate de preluare semnal complex de

televiziune, pentru prelucrare şi memorare digitală.

i. Intrări analogice şi intrări digitale – ca denumiri generice pentru dispozitive care pot prelua din mediu semnale continui, respectiv

discrete, utile în supravegherea şi conducerea proceselor industriale.

Astfel, folosind senzori adecvaţi, se pot introduce valori de semnal electric (tensiune, curent) sau semnale de al tip (presiune, viteză) din

mediul vizat, precum şi semnale de la comutatori (închis/deschis).

Unităţi periferice de ieşire

Pentru interacţiunea completă cu omul, după introducerea datelor sau

chiar în timpul acesta, calculatorul prezintă pe dispozitivele de afişare situaţia curentă sau rezultatele prelucrărilor. Datele sunt preluate din

memoria de lucru şi, corespunzător tipului de periferic, impresionează

un anumit tip de suport pentru afişare (CRT, LCD, TFT, LED, hârtie etc.). Tipuri de periferice de ieşire uzuale sunt:

a. Monitorul (ecranul, „display”) – afişează date sub formă de text şi

imagine, prin puncte minuscule („pixeli”) pe un ecran (fluorescent, cu cristale lichide, LED sau cu plasmă). Performanţa monitorului este

indicată prin rezoluţia sa (numărul de pixeli – care uzual poate fi

800600, 1024768, până la 19201080) şi prin rata de reîmprospătare a imaginii pe ecran (recomandata peste 60Hz), pentru

a nu deranja privirea prin „clipirea” imaginii. Pentru a nu afecta

vederea, ecranele moderne prezintă radiaţie redusă, obţinută prin ecrane speciale sau chiar prin soluţia constructivă.

b. Imprimanta – care permite imprimarea pe hârtie, folie transparentă

sau hârtie specială (de exemplu hârtie fotografică) a textelor şi imaginilor. După modul cum aşează cerneala pe hârtie, imprimantele

pot fi: cu jet (cerneala stropeşte prin mai multe ajutaje hârtia), laser

Page 32: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

(praful de toner se lipeşte termic, printr-un procedeu de impresionare a

hârtiei similar celui de la copiatoare), cu impact (sau matriceale, în

care un set de ace lovesc panglica cu cerneală în puncte verticale, deplasate apoi orizontal). Cele mai performante imprimante sunt cele

laser, dar imprimantele cu jet de cerneală oferă calitate foarte bună la

un preţ rezonabil. Performanţele acestor periferice se referă la: rezoluţie (numărul de puncte pe ţol liniar - „dots per inch” dpi), care

poate fi între 300 dpi şi 1200 dpi, apoi numărul de pagini tipărite pe

minut („page per minute” ppm) care la imprimante laser actuale poate fi între 19 ppm şi 50 ppm, iar în final preţul şi durata de utilizare a

consumabilelor (cartuşe de toner – negru şi color).

c. Masă de desen („plotter”) – permite desenarea pe hârtie (de obicei de dimensiuni mai mari ca formatul A4) cu ajutorul unei peniţe purtate

în cele două dimensiuni sau doar orizontal – pe verticală fiind

antrenată hârtia.

d. Difuzoare – placa de sunet este adaptorul periferic pentru

comunicaţii audio, ieşirea de sunet făcându-se pe difuzoare.

Performanţele se referă în principal la lărgimea de bandă audio iar plăcile de sunet actuale sunt foarte bune (20Hz – 24.000Hz), alte

performanţe fiind legate de prelucrarea şi sintetizarea sunetelor. Placa

de sunet are incluse şi facilităţile de intrare semnal prin microfon.

e. Ieşiri analogice şi digitale – similar intrărilor e acest fel,

calculatoarele cu acţiune în procese industriale emit semnale electrice

continui (analogice) şi digitale (discrete) pentru comanda echipamentelor de conducere şi control a instalaţiilor industriale.

Unităţi de memorare pe suport extern

Pentru stocarea pe o durată nedeterminată a datelor, se folosesc

suporturi de memorare de tip magnetic, SSD sau optic. Dispozitivele

care permit citirea (şi eventual scrierea) pe suportul extern de stocare se numesc unităţile de memorie externă („drives”); fiindcă suportul de

memorie este de obicei sub formă de disc, uzual vorbind de unităţi de

discuri, însă pot fi şi sub formă de panglică (bandă). Acestea au tipuri şi utilizări după cum urmează:

Page 33: Informatică economică

33

a. Disc fix („hard disk” HDD) – este unitatea de memorare necesară

intrinsec funcţionării calculatorului, având stocate programele de bază

şi aplicaţie precum şi datele de lucru cu acestea. Performanţele acestuia sunt: capacitate de memorare (uzual între 200GB şi 2TB),

timpul de acces (legat direct de viteza de rotaţie a discului – rpm, ce

poate fi 5400 rpm, 7200 rpm sau 15000 rpm), capacitatea memoriei cache (512 KB sau mai mult), tipul unităţii de disc (firma

producătoare – de exemplu Western Digital®, Seagate

®, Quantum

®,

etc.), tipul interfeţei de conectare la calculator (IDE, SATA, SCSI).

b. Disc flexibil („floppy disk” FDD) – este un suport amovibil (adică

ce poate fi extras şi montat pe alte calculatoare), denumită uzual

dischetă. Capacităţile uzuale sunt de 1,44 MB sau 2MB, la o viteză de rotaţie de 2400 rpm. În prezent acestea sunt pe cale de dispariție.

c. Disc optic („compact disc” CD, DVD, Blue-Ray) – este o memorie

amovibilă care, în general, poate fi numai citită de mare capacitate (600 MB până la 128 GB) şi timp de acces mic (indicat printr-un

factor de multiplicitate 4X, 8X, 16, 48). Astăzi devin tot mai

obişnuite unităţi care pot citi şi înscrie informaţii (unităţi RW), discul optic devenind un concurent al discului dur. În variante performante,

discul optic poate memora până la 128GB – discuri BD, utilizate în

special pentru filme.

d. Bandă magnetică („streamer”) – este banda magnetică, de obicei

bobinată pe role plasate într-o casetă de plastic de dimensiunea unei

cutii de chibrituri. Capacităţile de memorare mari ale acestora (peste 6GB), le fac potrivite pentru salvare de siguranţă („back-up”) pentru

programe şi date ce se doresc păstrate un timp îndelungat.

Unităţile de memorare externă permit plasarea suporturilor (disc sau casetă cu bandă), pentru citirea şi înscrierea datelor în formă

magnetică sau optică; în al doilea caz, înscrierea se numeşte şi

„ardere”. Discul fix este însă cea mai importantă unitate de memorie externă, iar datele memorate pe aceasta trebuie să fie păstrate cu mare

siguranţă.

Page 34: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

Tipuri constructive de calculatoare

Cele mai utilizate calculatoarele sunt cele personale (PC „personal

computer”), care prezintă, constructiv, variante legate de modul cum se aşează şi utilizează calculatorul:

a. Pe birou „Desktop” – cu forma carcasei plată (puţin înaltă), aşezată

de obicei pe masa de lucru iar deasupra monitorul.

b. Lângă birou, Turn („Tower”) – cu forma carcasei mai înaltă şi

îngustă, aşezată de obicei lângă masa de lucru (pe podea sau în spaţiu

special) iar monitorul pe birou. Această carcasă permite instalarea mai multor plăci adaptor („controller”) pentru diverse periferice şi oferă

flexibilitate în configurare.

c. Pe braţe („Lap Top” sau „Notebook”) – cu formă foarte plată şi compactă, uşoare, cu tastatură şi ecran (cu cristale lichide - LCD)

încorporate. Acest tip permite transportul comod şi lucrul în călătorii,

fiind alimentat şi de la baterii. Performanţele acestui tip de calculator rivalizează cu cele ale PC-urilor descrise mai sus, însă reconfigurarea

este o problemă dificilă şi costisitoare datorită compacităţii sale.

d. În palmă Tablete – foarte miniaturizate dar cu posibilităţi mai reduse de prelucrare decât precedentele. De fapt, cea mai mare parte a

„calculatorului” o reprezintă ecranul, iar lucrul interactiv este realizat

prin Touch sau utilizând un creion electronic de indicare şi scriere (fiind posibilă interpretarea scrisului de mână de către calculator).

Chiar dacă au scăzut în popularitate, calculatoarele „mari” – ca

echipamente masive şi complexe, mai există astăzi sub forma „server-elor” . Acestea sunt de fapt calculatoare puternice (blade-uri sau de tip

PC), echipate cu mai multe procesoare, mai multe discuri fixe (masive

de discuri RAID) şi îndeplinesc servicii către mulţi utilizatori. Printre servicii se pot enumera: acces la baze de date mari, comunicaţii (în

Internet), găzduirea volumelor mari de informaţii de diverse tipuri,

calcule matematice intensive (care pentru un calculator obişnuit necesită săptămâni sau luni de lucru continuu) sau virtualizare. Totuşi,

noţiunea de server nu este legată de performanţele şi dimensiunea

echipamentului de calcul ci se referă la un program server care funcţionează fără întrerupere pe acesta, aşteaptă cereri de la utilizatori

şi le oferă servicii; prin extensie, maşina pe care rulează unul sau mai

multe programe de acest fel se poate numi server.

Page 35: Informatică economică

35

4.2. Structura logică a unui sistemului de calcul

Din punctul de vedere al programatorului, sistemul de calcul are patru blocuri principale, utile în organizarea prelucrării datelor prin

programul pe care îl va realiza.

Figura 5. Structura logică a unui sistem de calcul

Se observă că cele patru blocuri de interes sunt Procesorul – responsabil de prelucrarea datelor şi controlul întregului calculator,

unităţile de Intrare şi Ieşire – responsabile de introducerea datelor şi

prezentarea rezultatelor, Memoria – responsabilă de stocarea intermediară a datelor şi programelor. La momentul programării

numai aceste patru blocuri logice sunt prezente în viziunea

programatorului. În accepţia din Figura 5, Procesorul are rolul de a opera prelucrări asupra datelor preluate din memorie şi în plus rol de

control a celorlalte blocuri. Această accepţie este necesară pentru

programarea la „nivel jos”, caz în care se utilizează comenzi pentru controlul direct al perifericelor (pentru acces la porturi I/O şi pentru

reglaje – în engleză „settings”).

4.3. Principiul de lucru al unui sistem de calcul

Pentru simplitate, modul de lucru al calculatorului se poate asemăna

cu modul de lucru uman - de exemplu în cazul rezolvării de către un

student a unei probleme ce presupune calcule:

Student Calculator

- citeşte datele de enunţ - datele de intrare introduse de la

tastatură

- aplică metoda de rezolvare: - se aplică algoritmul de prelucrare

Procesor

Intrare Ieşire

Memorie

Page 36: Informatică economică

Florin Postolache, Viorel Ariton Informatica economică

- realizează calcule - date din memoria internă suferă

operaţii prin intermediul procesorului

- reţine rezultate parţiale şi finale - rezultatele parţiale şi finale din

procesor se transferă în memoria

internă

- înscrie rezultatele pe hârtie (în caiet) - datele de ieşire se stochează pe disc

sau afişează pe ecran, în formate

prestabilite

Prelucrările din aplicaţiile uzuale nu sunt totdeauna calcule (după cum

s-a arătat mai sus), dar orice aplicaţie uzuală necesită operaţii de

introducere a datelor şi de afişare a rezultatelor, fie direct fie prin intermediul unor module exterioare aplicaţiei de bază.

Page 37: Informatică economică

5. Reprezentarea şi structurarea informaţiei

Informaţiile vehiculate de om, în diferite situaţii, sunt legate de

mijloacele prin care acesta comunică cu mediul înconjurător şi cu ceilalţi oameni. În primul caz, informaţiile apar sub formă de imagini

şi sunete, iar în al doilea caz informaţiile apar în plus sub formă de

texte (cărţi, reclame, etichete de produs) şi sub formă de numere (sume de bani, vârste). În scopul manipulării acestor tipuri de

informaţie prin intermediul tehnicii de calcul, fiecare din categoriile

de mai sus capătă o reprezentare anume, pentru a fi „inteligibilă” calculatorului numeric.

Reprezentarea informaţiei în creierul uman nu este încă elucidată -

datorită complexităţii structurilor din creier şi datorită mecanismelor, încă necunoscute, ce realizează stocarea informaţiilor. În

calculatoarele electronice, dispozitivele de stocare au doar două stări şi sunt astfel simplu de realizat tehnologic: condensatoare cu stările

încărcat / descărcat sau dispozitive cu două stări stabile (numite

bistabile). În alte variante tehnologice ele sunt de asemenea, uşor de realizat: mecanic, chimic şi chiar la nivel atomic.

Calculatoarele actuale sunt denumite calculatoare numerice (sau

digitale – de la cuvântul englezesc „digit” - cifră) pentru că ele transformă toate informaţiile pe care le stochează şi prelucrează în

reprezentări discrete. Au existat şi calculatoare analogice, în care

informaţia păstra reprezentarea continuă, firească, a semnalelor din lumea înconjurătoare; aceste calculatoare prelucrau semnalele continui

cu ajutorul „dispozitivelor electronice analogice” de tip amplificator

de semnal, integrator cu condensator electric etc. Limitările calculatoarelor analogice privind aplicaţiile şi modalitatea de stocare a

datelor au dus la înlocuirea lor cu dispozitive numerice, care prin

discretizare şi cuantificare pot reprezenta şi prelucra orice semnal analogic (cu o precizie mai mare sau mai mică).

Page 38: Informatică economică

38

Page 39: Informatică economică

39

6. Bit, octet şi multiplii acestora

Anterior, definiţia informaţiei a fost însoţită de exemplificări relative

la tipuri de informaţii – cum sunt, de exemplu, imagini, sunete, numere, text. Informaţiile logice de tip Adevarat/Fals sau Da/Nu sunt

informaţii abstracte, putând fi considerate piese elementare de

informaţie fiindcă au doar două valori posibile şi reprezintă situaţii simple sau generale – de exemplu un eveniment oarecare se produce

(Da) sau nu se produce (Nu).

Piesa de informaţie ce poate avea doar două valori posibile se numeşte bit.

Bit-ul reprezintă unitatea elementară de informaţie, corespunzând unei

situaţii fizice în care un comutator este deschis sau închis, situaţii reprezentate de oameni, în afara calculatorului prin cifrele 0 şi 1, deci,

cifrele sistemului binar.

Figura 6. O realizare tehnică a valorilor logice 0 şi 1 pentru un bit

În calculatoarele numerice, un bit se consideră că poate lua ori

valoarea 0 ori valoarea 1, fiecare din acestea corespunzând, de fapt,

unei situaţii fizice în care un comutator este deschis – respectiv închis (vezi fig. 6), sau un condensator electric este încărcat cu sarcină

electrică – respectiv este descărcat. Valorile 0 sau 1 reprezintă deci

„valori logice” (Adevarat/Fals) dar totodată, fiind cifre, permit crearea de numere.

1 0

Page 40: Informatică economică

40

Memoriile semiconductoare ale calculatoarelor numerice pot stoca biţi

în miliarde de condensatoare minuscule, numărul acestor biţi reprezentând capacitatea de memorie a respectivului calculator.

Asemenea numere uriaşe nu sunt comod de utilizat, de aceea se

utilizează multipli de bit.

Octet (sau Byte) este un grup de opt biţi reprezentând, tradiţional, o

celulă de memorie.

Evident că evaluarea capacităţilor de memorie actuale, folosind ca unitate de măsură octetul, nu rezolvă problema numerelor foarte mari

vehiculate. De aceea se folosesc multipli de octet, cu denumiri uzuale

ale multiplilor unităţilor de măsură, dar cu semnificaţie diferită - conform tabelului de mai jos.

Tabel. 1 Multipli de bit şi octet

Nume multiplu Semnificaţie Magnitudine

Kilo 210

1.024

Mega 220

1.048.576

Giga 230

1.073.741.824

Tera 240

1.099.511.627.776

După cum se observă din Tabel. 1, semnificaţia multiplilor de bit şi

octet în informatică diferă de cea tradiţională (în care Kilo reprezintă 10

3 - de exemplu), dar valoarea numerică a fiecărei categorii de

multiplu este oarecum apropiată de cea tradiţională (Kilo apropiat de

mie, Mega de milion, etc.). Raţiunea acestor valori pentru multiplii utilizaţi în informatică este reprezentarea în calculator a numerelor

folosind baza de numeraţie 2 .

Page 41: Informatică economică

41

7. Identificator, variabilă, constantă, literal

Datele sunt memorate ca succesiuni de biţi în memoria de lucru

(RAM) sau pe suport extern (disc magnetic sau optic), iar ele pot fi piese simple sau pot fi colecţii de piese, cu o semnificaţie anume

(litere, numere, texte, sunete, imagini). Pentru a fi manipulate, datele

trebuie referite, adică apelate după un nume sau prin adresa acestora în memorie. Fie prelucrarea algebrică următoare:

a = b + pi + 15 + sin(c)

unde a,b,c,pi, sunt date denumite prin litere, sin() este numele funcţiei trigonometrice sinus iar 15 este o valoare imediată. Pe acest exemplu

simplu se vor enunţa noţiunile ce urmează.

Identificatorul este numele ataşat unei piese sau colecţii de date, dar şi a unei prelucrări anume, în general aflate în memoria de lucru.

Numele este un şir de caractere (litere, cifre şi alte simboluri) care trebuie să satisfacă anumite criterii, funcţie de locul de utilizare a

identificatorului. Astfel, în limbajele de programare identificatorii nu

pot conţine spaţii (constituie un singur cuvânt). În expresia de mai sus identificatori pentru date sunt a, b, c, pi, iar pentru prelucrări este sin

(calcului sinusului de unghi c). Dacă datele sunt piese sau colecţii care

se stochează în memoria internă (RAM) atunci identificatorii au semnificaţia unor adrese – prin care se pot manipula variabile şi

constante.

Variabila este o locaţie de memorie referită printr-un identificator şi poate conţine diverse valori ale unei date de tip specificat.

Valorile pe care le poate lua variabila aparţin domeniului specific

tipului de date respectiv. De exemplu, datele de tip logic pot lua doar două valori - Adevărat sau Fals, iar datele de tip întreg pe un octet pot

lua valori numere între 0 şi 255 . Datele vehiculate într-un program

sunt de fapt variabile, care au primit fiecare o valoare chiar la

Page 42: Informatică economică

42

momentul declaraţiei (prin iniţializare) –sau ca rezultat al unei

expresii (prin atribuire)

Constanta este o locaţie de memorie referită printr-un identificator şi

poate conţine doar o singură valoare a unei date de tip specificat.

Constantele sunt utile pentru anumite valori speciale (celebre) cum

sunt numărul sau numărul lui Neper e, constante universale sau

doar valori care nu se doresc a fi modificate în cadrul unor prelucrări

(voit sau din eroare). Constanta este de fapt o variabilă cu restricţie de modificare a valorii, valoarea însăşi fiind „ascunsă” după identificator.

Identificatorii constantelor sunt în general nume rezervate - într-un

limbaj de programare (de exemplu pi).

Literal este o valoare concretă pentru un tip de date, indicată prin

simboluri specifice tipului respectiv.

Iniţializarea variabilelor (adică atribuirea unei valori iniţiale în tipul de date propriu variabilei) sau specificarea unei valori imediate într-o

expresie se face utilizând literali. În expresia de mai sus apare banal 15 - ca literal numeric, dar pentru alte tipuri de date specificarea este

mai puţin comună; de exemplu un literal caracter (litera a) se indică

‘a’.

Page 43: Informatică economică

43

8. Secvenţe Escape

Caracterele Unicode pot fi reprezentate în programe prin secvenţe

escape, care încep prin simbolul \ (backslash). O primă categorie de

secvenţe escape este de forma \uxxxx, unde xxxx sunt patru cifre hexazecimale, care reprezintă codul numeric al caracterului respectiv.

Codificarea tuturor caracterelor poate fi găsită pe Web la

http://www.unicode.org/charts/.

Pentru limba română, majoritatea literelor sunt cele ale alfabetului

latin, la care se adaugă literele cu diacritice, pe care le găsim în

extensiile alfabetului latin: 'Ă' ('\u0102'), 'ă' ('\u0103'), 'Â' ('\u00C2'), 'â' ('\u00E2'), 'Î' ('\u00CE'), 'î' ('\u00EE'), 'Ş' ('\u015E'), 'ş' ('\u015F'), 'Ţ'

('\u0162'), 'ţ' ('\u0163')

9. Tipuri de date simple

Varietatea informaţiilor utilizate de om pare foarte mare, însă ele pot

fi clasificate în categorii generice care apoi să primească reprezentări

generale ca tipuri de date. Se poate face o analiză sumară din care rezultă câteva categorii de asemenea informaţii simple:

a) numere singulare – utilizate a desemna sume de bani, distanţe, zile din luna calendaristică, cu care se pot face calcule matematice. Se

deosebesc două categorii de numere – numere întregi şi numere reale

(cu zecimale).

b) simboluri grafice - litere, cifre, semne de punctuaţie, spaţii libere,

utilizate în texte. Aceste simboluri sunt elemente ale unui set finit de

Page 44: Informatică economică

44

simboluri de scriere (alfabetul, cifrele de la 0 la 9, semnele de

punctuaţie); ele sunt denumite generic caractere alfanumerice.

c) Informaţii de tip Adevărat sau Fals – pentru a desemna o situaţie sau

un eveniment funcţie de care se ia o decizie (de exemplu, dacă un

eveniment a avut loc se execută o anumită acţiune, altfel altă acţiune), denumite informaţii logice (booleene).

d)

9.1. Reprezentarea numerelor întregi

Numerele utilizate curent pentru calcule (şi nu numai) se prezintă în aşa-numita „scriere arabă”, în care cifrele sunt aranjate pe ranguri

corespunzătoare puterilor lui 10, numărul 10 considerat „bază de

numeraţie”.

Figura 7. Numărul 5999 în scrierea arabă, cu baza de numeraţie 10.

După cum se ştie, fiind prezentat și mai sus, în reprezentarea zecimală

a numerelor, rangurile conţin cifre care pot lua valori de la 0 la 9. Numărul de simboluri folosite pentru cifre este 10 (adică un număr

egal cu baza de numeraţie).

Numere binare

Calculatoarele numerice sunt dispozitive realizate tehnologic în cel

mai simplu mod, prin faptul că folosesc cea mai simplă reprezentare a

informaţiei: Adevărat / Fals sau Da / Nu.

Aceste două simboluri pot fi cifre pentru numere în baza de numeraţie

2, fiindcă, similar lucrului în baza de numeraţie 10, un număr

reprezentat în baza de numeraţie 2 va avea rangurile ca puteri ale

... Mii Sute Zeci Unităţi

... 103 10

2 10

1 10

0

... 5 9 9 9

5999(10) = 9100 + 910

1 + 910

2 + 510

3

... rang 3 rang 2 rang 1 rang 0

... 23 2

2 2

1 2

0

... 1 0 1 1

1011(2) = 120+12

1+02

2+12

3 = 11(10)

Figura 8. Numărul 11 în scrierea arabă, in baza de numeraţie 2

Page 45: Informatică economică

45

bazei - aşa cum se prezintă în figura 8.

Pentru a ilustra simplitatea reprezentării numerelor în baza 2, se

prezintă în Tabel 2 numere înscrise succesiv, începând de la 0 până la

10(10), obţinute prin adunare succesivă a unităţii (adică prin „incrementare”), aşa cum apar în coloana (I) pentru baza 2 şi în

coloana (III) pentru baza 10.

Tabel 2. Numărare în baza 2 şi în baza 10, cu rezultatele obţinute

Incrementa

re

(I)

Număr în baza

2

(II)

Incrementa

re

(III)

Număr în baza

10

(IV)

0 0 0 0

0 +

1

1

1

0 +

1

1

1

1 +

1

10

10

1 +

1

2

2

10 +

1

11

11

2 +

1

3

3

11 +

1

100

100

3 +

1

4

4

100 +

1

101

101

4 +

1

5

5

101 +

1

110

110

5 +

1

6

6

110 +

1

111

111

6 +

1

7

7

111 +

1

1000

7 +

1

8

Page 46: Informatică economică

46

1000 8

1000 +

1

1001

1001

8 +

1

9

9

1001 +

1

1010

1010

9 +

1

10

10

Coloanele (II) şi (IV) indică numărul rezultat, înscris în baza 2 şi respectiv în baza 10. Se reaminteşte că la numărarea în baza 10, atunci

când se obţin zece unităţi pe un rang se adaugă o unitate (numită

transport) la rangul imediat superior – vezi ultima linie din Tabel 2. Procedeul se aplică similar şi pentru baza 2: la două unităţi pe un rang

se obţine o unitate de rang imediat superior – vezi linia cu numărul 2

din Tabel 2.

Numere pozitive şi negative

Adunarea a două numere în baza 2 decurge după regulile cunoscute din baza 10, adică se adună cifrele pe ranguri şi, eventual, transportul

de la rangul inferior, procedeul începând cu rangul cel mai puţin

semnificativ. Din cele prezentate, rezultă că folosind doar două cifre (0 şi 1) se pot forma numere şi se poate opera cu ele în modul

cunoscut. Aceste numere sunt denumite numere binare iar scrierea în

baza 2 este denumită reprezentare binară a numerelor.

Până la acest punct au fost prezentate numai numere naturale (întregi

şi pozitive); numerele negative presupun existenţa semnului ce se

ataşează numărului natural. Aşa cum numerele negative reprezintă o convenţie din lumea matematicii (în lumea reală ele indicând o

„lipsă”), la reprezentarea numerelor negative în calculator se face uz

de o convenţie prin care rangurilor disponibile pentru reprezentarea numărului se adaugă un rang suplimentar (cel mai semnificativ),

indicând semnul:

0 – numărul este pozitiv (semnul +),

1 – numărul este negativ (semnul ).

Page 47: Informatică economică

47

Rangul adăugat pentru indicarea semnului face parte din lungimea

cuvântului alocat pentru reprezentarea numerelor şi se numeşte uzual bit de semn. Dacă lungimea cuvântului este 5, bitul de semn este în

poziţia rangului cel mai semnificativ.

Figura 9. Reprezentarea numerelor cu semn, pe un exemplu

Tipuri de date întregi

Limbajele de programare prevăd diferite categorii de numere întregi,

clasificate după numărul de ranguri disponibile pentru reprezentarea

numărului şi după prezenţa bitului de semn. Lungimea rangurilor disponibile pentru reprezentarea numărului exprimă „precizia”

acestuia şi este exprimată în biţi sau octeţi.

Se prezintă mai jos exemple de declaraţii pentru variabile de tip întreg în limbajul C.

a) Variabile de tip întreg pe doi octeţi, indicând ziua din lună şi trei

note de examen:

int ziua=13;

int NotaExamen1, NotaExamen2, NotaExamen3;

b) Variabilă de tip întreg pe 4 octeţi, indicând numărul de operaţii

estetice ale unei cunoscute actriţe (neiniţializat, adică fără valoare specificată – pentru confidenţialite):

unsigned long int nr_estetic;

În cazul a) variabila ziua este iniţializată la valoarea specificată după

semnul =, adică această valoare este „încărcată” în locaţia de memorie

a variabilei chiar la momentul declaraţiei, deci imediat după rezervarea spaţiului de memorie necesar (2 octeţi). Valoarea ce apare

după semnul = este un literal.

+ 23 2

2 2

1 2

0

0 0 1 0 0

a) Numărul + 4(10)

23 2

2 2

1 2

0

1 1 1 0 0

b) Numărul 4(10)

Page 48: Informatică economică

48

Operaţii cu numere întregi

Un tip anume de date permite un set bine definit de operaţii permise

asupra variabilelor declarate cu acel tip. Operaţiile sau operatorii se

aplică diferenţiat funcţiile de caracteristicile tipului de date, mai jos fiind inventariate operaţii pe cele trei categorii.

Asupra numerelor întregi se pot efectua următoarele operaţii

aritmetice (în paranteze simbolul uzual al operaţiei): adunare şi

scădere (+ şi ), înmulţire (*), câtul împărţirii întregi (/), restul

împărţirii întregi (%). Ultimele două operaţii sunt specifice numerelor

întregi, rezultatul operaţiei de împărţire fiind tot un întreg.

Numerele întregi pot fi comparate privind magnitudinea prin operatori

relaţionali cu simbolurile <, >, <=, >=; simbolurile <> sau !=

realizează comparaţia de neegalitate , iar simbolurile = sau = = comparaţia de egalitate.

Tipul de date ”întreg” este un tip ordinal cu ordine între valorile din domeniu: numărul 1 este înaintea numărului 2 şi după numărul 0. De

aceea sunt posibile operaţii de tip predecesor – succesor; de exemplu

operatorul de succesiune din expresia succ(2) are ca rezultat 3.

9.2. Reprezentarea numerelor reale

Pentru numerele reale care nu prezintă parte întreagă ci doar partea zecimală (adică numerele subunitare) se foloseşte o reprezentare

binară imediată, în care virgula zecimală se consideră plasată între

bitul de semn şi rangurile binare ale numărului propriu-zis (vezi Figura 10 a).

+ 23 2

2 2

1 2

0

0 0 1 0 0

Figura 10. Reprezentarea numerelor reale a) în „virgulă fixă” şi b) în

virgulă mobilă

SM M SE E

Mantisă Exponent

b) număr real în virgulă mobilă virgula zecimală

a) număr real în virgulă fixă

Page 49: Informatică economică

49

Convenţia prin virgulă fixă are multe dezavantaje, între care lungimea

mare necesară pentru a reprezenta numere rezonabile este poate cea mai importantă. Convenţia de reprezentare prin virgulă (vezi Figura

10 b) este mai compactă şi totodată eficientă, formată din două părţi

(Mantisă şi Exponent) ca numere reprezentate în virgulă fixă.

Reprezentarea numerelor în virgulă mobilă

Mantisa (M) este numărul propriu-zis reprezentat ca număr subunitar, iar exponentul (E) este puterea lui 10 - care înmulţită cu mantisa va da

numărul real vizat. Fiecare din cele două părţi are semnul său: SM

semnul mantisei este de fapt semnul numărului real (pozitiv sau negativ) iar SE semnul exponentului indică puteri pozitive (înmulţire

cu 10) sau negative (împărţire prin 10) stabilit astfel ca să obţinem la mantisă un număr subunitar.

Scrierea numerelor reale prin mantisă şi exponent este practicată în

aproape orice produs informatic, datorită modului compact în care se prezintă. Spre exemplu, numărul 22,57 poate fi scris prin mantisă şi

exponent în forma 0,2257e-2, exponentul fiind separat de mantisă prin

litera e. În această formă se afişează, în general, rezultatele numerice obţinute în urma unor calcule matematice.

Operaţii cu numere reale

Fiind numere, se pot efectua operaţiile aritmetice uzuale cu numerele

reale: adunare şi scădere (+ şi ), înmulţire (*),împărţirii cu zecimale

(/).

Mulţimea numerelor reale se reprezintă matematic ca puncte infinit

apropiate pe o dreaptă (axa reală). Între oricare două puncte de pe axa

reală se poate găsi încă cel puţin un punct, deci nu se poate considera că un punct urmează după altul, deci tipul real nu este un tip de date

ordinal, ca atare nu se poate considera că există o ordine între

numerele reale, adică nu există operatori de tip predecesor pred()sau succesor succ().

Page 50: Informatică economică

50

Între numerele reale se pot efectua comparaţii prin operatori

relaţionali: <, >, <=, >=; comparaţia de neegalitate <> sau !=, apoi = sau = = pentru comparaţia de egalitate.

9.3. Tipul de date caracter

Simbolurile de scriere (fie ele în alfabetul latin, chirilic sau japonez)

se numesc caractere (în engleză „characters”) şi ele sunt necesare la

scrierea textelor sau chiar a comenzilor prin care omul comunică cu calculatorul. Fiindcă în memoria calculatorului orice informaţie este

reprezentată binar – ca numere, pentru caractere se utilizează o

codificare numerică pe un număr de biţi, fiecărui caracter corespunzând, prin convenţie, un cod numeric anume.

Convenţiile de codificare sunt cuprinse în aşa-numitele „tabele de cod”. Există mai multe asemenea tabele:

tabela ASCII – pe 7 biţi, cea mai utilizată tabelă de cod (în

calculatoarele personale şi alte sisteme de calcul), provenind din standardul american (American Standard Code for Information

Interchange);

tabela Unicode – pe 16 biţi, care este o altă extensie a tabelei ASCII (prima parte fiind identică cu tabela ASCII) şi care are un număr

mare de coduri disponibile, pentru reprezentarea nu numai a caracterelor latine cu diverse diacritice, dar şi a caracterelor diferite de

cel latin (chirilic, arab etc.).

Tabela Unicode s-a impus mai ales prin utilizarea Internet-ului, unde informaţia se personalizează în foarte mare măsură pentru ca oameni

din diferite colţuri ale lumii şi din diferite culturi să poată interacţiona

eficient cu aplicaţiile la distanţă, adică să comunice fiecare în limba şi scrierea proprie.

Reprezentarea caracterelor

Pentru a se deosebi de identificatori (care pot fi litere singulare), la

manipularea caracterelor acestea se indică prin încadrarea simbolului

de scriere între apostrof-uri, adică se indică literali de tip caracter.

Page 51: Informatică economică

51

Exemplu ‘A’, ‘a’, ‘0’, ‘:’. Aceste simboluri nu au nici o semnificaţie

în sistemul de programe, ci ele au rol numai de a fi desenate pe dispozitivele de ieşire (ecran, imprimantă) pentru a fi citite de om.

În oricare din tabelele de cod menționate, caracterelor li se asociază un

număr întreg (fără semn), astfel ca ordinea numerică a codurilor să fie similară cu ordinea lexicografică a caracterelor în alfabetul ales.

Astfel, se dau mai jos exemple de coduri ataşate (identic) unor

caractere în tabela ASCII, IBM extins sau Unicode: ‘A’= 65(10), ‘B’= 66(10), ‘C’= 67(10), ‘a’= 97(10), ‘\n’= 10(10) – cod ataşat acţiunii de salt la

nou rând, ‘\a’= 7(10) – cod ataşat sunetului „bell” produs pentru a

atrage atenţia sonor. După cum se observă, unele „caractere” sunt de fapt acţiuni executate de la tastatură (de exemplul salt la o nouă linie),

dar au fost cazuri când caracterele au avut rol în comunicaţia de date – de exemplu indicarea începutului şi sfârşitului de mesaj STX = 2(10),

ETX = 3(10) sau încheierii transmisiei EOT = 4(10).

Ordonarea lexicografică a caracterelor se poate face pe baza numerelor asociate drept cod acestora; astfel, literele majuscule sunt

înaintea literelor mici (adică primele au valori mai mici) iar cifrele

sunt înaintea literelor în tabela de cod.

Tipul caracter este utilizat ca atare dar şi în tipul structurat „şir de

caractere”.

Operaţii cu tipul de date caracter

Tipul de date caracter este un tip ordinal, deci permite operaţii prin

care se indică poziţia relativă a valorilor caracterelor, unele faţă de altele - predecesor pred(), succesor succ().

Fiind reprezentate prin numere întregi, caracterele permit operaţii

aritmetice admise pentru întregi. Între acestea, sunt utile cele de incrementare / decrementare (creştere / descreştere cu o unitate), prin

care se poate parcurge tabela de cod sau şi se pot genera succesiuni de

litere.

Trebuie subliniat că cifra ‘3’, nu este acelaşi lucru cu numărul 3 –

primul este un simbol de scriere (şi are drept cod numărul 51(10)) iar al

Page 52: Informatică economică

52

doilea este util pentru calcule şi are o reprezentare în baza 2 ca în

Tabel 2.

9.4. Tipul de date logic

În viaţa obişnuită sunt dese situaţiile în care interesează apariţia unui eveniment; funcţie de apariţia acestuia pot apare alte evenimente sau

se vor lua decizii în consecinţă. De exemplu, faptul că plouă şi

fereastra este deschisă conduce la umezirea cărţilor de pe masa de lângă fereastră; dacă plouă, luăm decizia să închidem fereastra. Se

poate, aşadar, ca intrând în camera cu pricina să constatăm că este

„adevărat” că fereastra este deschisă. Cazurile de interes la apariţia unui eveniment sunt deci două - „adevărat” sau „fals”, caracterizând

din punct de vedere logic situaţia.

Expresia logică, numită și expresie booleană, este o expresie în care

se aplică operatori logici (booleeni) asupra unor operanzi care au

valori logice. Din evaluarea unei expresii logice se obține o valoare logică (true sau false).

Reprezentarea datelor de tip logic

Datele care transpun în memoria calculatorului informaţiile despre situaţii caracterizate prin atributul „adevărat” sau „fals” se numesc

date de tip logic sau boolean, iar reprezentarea lor se poate face

folosind un singur bit: apariţia evenimentului este asociată valorii ‘1’ logic, iar ne-apariţia valorii ‘0’ logic.

Operaţii cu tipul de date logic

Este posibilă combinarea mai multor situaţii logice (vezi exemplul de la începutul acestui paragraf), pentru cazurile când acestea:

apar numai simultan (conjuncţia) – ŞI logic (în engleză AND),

apar alternativ sau simultan (disjuncţia) – SAU logic (în engleză OR),

apar în contradicţie (negaţia) – NU logic (în engleză NOT),

care constituie chiar operatorii specifici ce se pot aplica datelor de tip

logic.

Page 53: Informatică economică

53

Figura 11. Operaţii logice în prezentare intuitivă a) ŞI – AND, b) SAU –

OR, c) NU – NOT

Pentru exemplificarea şi lămurirea acestor trei operatori, se prezintă (fig. 11) trei cazuri intuitive, în care întrerupătoarele x (şi y) se pot

acţiona pentru aprinderea unui bec z. Stării închis a unui anume

întrerupător se asociază valoarea logică „adevărat” iar stării deschis a întrerupătorului se asociază valoarea logică „fals”; stării „aprins” a

becului se asociază valoarea logică „adevărat” iar stării „stins” -

valoarea logică „fals”.

Astfel, pentru cazul din Figura 11 a) corespunde expresia logică:

«becul z devine „adevărat” (aprins) pentru întrerupător x „adevărat”

(închis) ŞI întrerupător y „adevărat” (închis)».

În timp ce operaţiile ŞI, SAU din desenele de mai sus sunt uşor de

imaginat, operatorul NU (NOT) în Figura 11 c) este indicat prin

întrerupătorul x menţinut de un arc în starea închis –chiar fără a fi acţionat butonul x (deci în starea logică „fals”) cu becul z aprins –

deci în starea „adevărat”; la apăsarea butonului x apare starea deschis

(„fals”) a acestuia însă a becul z – se stinge – deci apare starea „fals”.

Prin această funcţionare apare o negare a acţiunii logice de apăsarea a

butonului x prin stingerea becului z.

Efectele acestor trei operatori asupra variabilelor de tip logic sunt ilustrate prin „tablele de adevăr” prezentate mai jos, în care se prezintă

z

y x z ~ ŞI x

x ~

SAU

NU

~ z x

a)

b)

c)

Page 54: Informatică economică

54

şi simbolurile grafice asociate celor trei operatori: pentru ŞI,

pentru SAU, pentru NU.

Operatorii logici apar în programe, cel mai adesea, pentru a exprima

condiţii complexe în urma cărora se ramifică fluxul de comenzi ce se

vor executa (vezi decizia binară).

Tabel 3 Operator logic ŞI Tabel 4 Operator logic SAU

Tabel 5 Operator logic NU

9.5. Tipuri de date structurate

Această categorie de date se referă la colecţii de piese de date - simple sau structurate, numite şi tipuri compuse de date. Tipul fiecărei piese

de date şi organizarea lor în structură trebuie declarate la începutul

programului, adică trebuie comunicate explicit compilatorului pentru a se face rezervarea corespunzătoare a locaţiilor de memorie necesare.

Structura astfel declarată nu se modifică pe parcursul programului, de

aceea tipurile compuse sunt considerate structuri statice de date.

Tipul de date tablou

Deseori sunt necesare prelucrări asupra unui set de date de acelaşi tip;

acestea se pot grupa în masive de date sau tablouri, cum sunt vectorii (tablouri cu o singură dimensiune) sau matrice (tablouri cu două sau

mai multe dimensiuni).

Tabloul (în engleză array) este o structură ordonată de date de acelaşi tip, formată din elemente care pot fi accesate prin indici (fiecare piesă

referită prin poziţie).Piesele de date din tablou sunt organizate pe linii

şi coloane şi pentru a fi accesate, acestea sunt referite, adică adresate, prin indicii de line (şi eventual coloană). Mai jos se prezintă o matrice

pătratică de numere întregi, cu patru linii şi patru coloane, în care

y 0 1

x z 0 0 0 1 0 1

ŞI (AND)

z = x y

y 0 1

x z 0 0 1 1 1 1

SAU (OR)

z = x y

x 0 1

z 0 1

NU (NOT)

z = x

Page 55: Informatică economică

55

fiecare element aij este referit prin linia i şi coloana j la intersecţia

cărora se află.

44 41

ij

2221

14131211

....

... ...

...

aa

a

aa

aaaa

a

Prelucrările cu tablouri (sume, produse, transpuneri, etc.) se

efectuează asupra fiecărui element în parte; de exemplu, sumarea

matricelor a şi b constă a sumarea perechilor de elemente cu acelaşi indice (linie şi coloană).

Operaţii asupra datelor de tip tablou

Fiindcă datele de tip tablou sunt structuri ale altor tipuri de date, operaţiile posibile asupra elementelor din tablou sunt cele permise

pentru tipul de date respectiv. Astfel, operaţiile permise se aplică

respectând restricţiile impuse de operaţii cu tablouri, spre exemplu:

sumarea tablourilor – sumarea elementelor de acelaşi indice pentru

linie şi coloană;

înmulţirea tablourilor – obţinerea unui tablou produs corespunzător

operaţiei produs vizate: scalar (linii cu coloane) sau vectorial (coloane cu linii), cu reguli din algebră.

Parcurgerea tabloului element cu element se face şi pentru operaţiile

banale:

introducerea datelor în tablou – ataşarea către fiecare element a

unei valori din tipul indicat, cu informaţii preluate de la tastatură sau dintr-un fişier;

afişarea datelor din tablou – înscrierea valorilor fiecărui element pe

ecran sau într-un fişier pe disc.

Tipul de date şir de caractere

Simbolurile de scriere (caracterele) sunt utile mai ales pentru a se construi cu ele cuvinte, propoziţii şi fraze, necesare comunicării inter-

umane sau denumirii obiectelor (în interiorul sau exteriorul sistemului

Page 56: Informatică economică

56

de calcul). În acest scop se alătură caractere în şiruri ordonate, poziţia

fiecărui caracter respectând regulile de scriere în limba respectivă. Fiecare astfel de şir va fi memorat într-o variabilă (locaţie de

memorie) – rezervată anterior spre a primi numărul de caractere

specificat, adică variabila va „lua valoare”. Cel mai adesea, prelucrările efectuate asupra şirurilor de caractere utilizează poziţia

caracterelor (de exemplu pentru anagramarea unui nume); rezultă că

pentru reprezentarea unui şir este utilă o structură similară tabloului. Pe scurt, simbolurile de scriere (fie ele în alfabetul latin, chirilic sau

japonez) se numesc caractere (în engleză „characters”) şi sunt

necesare la scrierea textelor sau chiar a comenzilor prin care omul comunică cu calculatorul.

Reprezentarea datelor de tip şir de caractere

Fie un tablou unidimensional (vector) ce are drept elemente piese de

tip caracter, în cuvinte - vezi Figura 12 cu variabila Nume care ia

valoarea „Vasile” apoi „Ion”. Cuvintele pot fi unele mai lungi, altele mai scurte, deci pe lângă vectorul de caractere mai este necesară o

informaţie care să indice lungimea curentă a şirului (sau poziţia

ultimului caracter din vector). În diverse limbaje de programare această informaţie specifică:

lungimea şirului – limbajul Pascal (în prima poziţie din vector)

finalul şirului – limbajul C (caracterul NULL după ultimul caracter din şir).

Fără această informaţie este posibil ca la încărcarea succesivă a unui şir lung („Vasile”) apoi a unuia mai scurt („Ion”) în acelaşi vector, să

apară (de exemplu la afişare) şirul scurt completat cu restul literelor,

din poziţiile neacoperite, ale şirului precedent (vezi Figura 12). Dacă finalul de şir este marcat cu un simbol special (de exemplu NULL)

dispozitivul de afişare nu ia în seamă ce apare după acesta şi va afişa

doar caracterele până la el.

Page 57: Informatică economică

57

Figura 12. Două valori pentru variabila şir de caractere Nume

Lungimea maximă a unei variabile de tip şir de caractere este, în

general, 256, rezultă deci că nu se pot înscrie texte ci doar părţi scurte

– în general cuvinte, nu propoziţii.

Operaţii asupra datelor de tip şir de caractere

Cu toate că reprezentarea şirurilor se bazează pe tipul de date tablou,

operaţiile posibile sunt specifice şirurilor de caractere şi sunt implementate prin funcţii în biblioteci asociate limbajului de

programare. Între acestea, cele mai uzuale sunt cele de „concatenare”

a şirurilor (adăugare a unui şir după un altul), precum şi cele de înlocuire a unui subşir (parte a unui şir) cu un alt subşir, în scopul

prelucrării textelor.

Expresia de concatenare are forma ”șir1+șir2”, în care șir1 și șir2 sunt două șiruri de caractere. Valoarea acestei expresii este un nou șir

de caractere, obținut prin concatenarea șirurilor-operanzi, adică prin

punerea lor unul după altul. În această expresie, operatorul ”+” se numește operator de concatenare.

Tipul de date articol

Cele mai răspândite programe utilizate în domeniul economic (şi nu

numai) sunt aplicaţiile de gestiune. Acestea folosesc tabele care

grupează datele referitoare la „obiecte” din lumea reală (cum sunt produsele dintr-un depozit, candidaţi la un examen, etc.), iar

„gestiunea” constă în evidenţa şi prelucrarea datelor referitoare la

acele obiecte. Un tabel se referă la o categorie de obiecte anume în care, la rândul lor, o linie se referă la un obiect anume iar o coloană (o

rubrică) se referă la o anume proprietate sau atribut al acelui obiect. De exemplu, o linie din tabel se referă la un candidat anume iar

Nume : V a s i l e

0 1 2 3 4 5 7

finalul şirului

de caractere

Nume : I o n i l e

0 1 2 4 5 6 7

finalul şirului

de caractere

Page 58: Informatică economică

58

coloanele conţin datele asupra sa (nume, prenume, media, etc.). O

linie din tabel se numeşte uzual articol (sau înregistrare – în engleză „record”) iar o celulă ce conţine date (pe o coloană cu numele în capul

de tabel) se numeşte câmp (în engleză „field”). Câmpurile pot conţine

date de tip şir de caractere (nume, prenume pentru un candidat), date de tip numeric (media), sau date de tip logic (a absolvit sau nu

examenul).

Reprezentarea datelor de tip articol

Un articol este o structură cu piese de date de tipuri diferite, fiecare

piesă referită prin nume. Prin intermediul articolelor se pot manipula

datele din tabele, în memoria internă a calculatorului şi la transferul cu discul - memoria externă. Accesul la fiecare piesă de date (câmp) din

articol se face prin numele rubricii (al câmpului).

Ca reprezentare a structurii de tip articol se poate imagina un tabel cu

doar două linii: capul de tabel şi o linie cu date referitoare la un singur

obiect - cel prelucrat la un moment dat.

Figura 13. Dată de tip articol, pe un exemplu

Se face observaţia că tipul articol nu există ca tip de date în limbajul

Java, fiindcă conceptul de clasă reprezintă o structură de date extensie a articolului, cu deosebirea că la definirea clasei se indică atât piesele

de date diferite ce intră în structură cât şi operaţiile (metodele) prin

care se poate manipula structura.

Pentru prelucrarea pieselor de date din articol, acestea se vor referi

prin numele asociat articolului şi numele asociat câmpului, respectând

sintaxa:

nume_articol.nume_câmp

Nr_Legitimatie Nume Prenume Media Absolvit

325 Popescu Ion 8,5 Da

Articol

Câmp Nume câmp Valoare

Page 59: Informatică economică

59

În cazul exemplului din Figura 13, referirea câmpului Prenume în

variabila candidat1 se face prin construcţia:

candidat1.Prenume

care poate fi folosită pentru atribuirea de valori câmpului Prenume sau poate fi folosită în expresii (ca operand) pentru prelucrări necesare

unei aplicaţii vizate.

Operaţii asupra datelor de tip articol

Similar tipului de date tablou, tipul articol este o structură ce conţine

alte tipuri de date, astfel că operaţiile posibile asupra valorilor

câmpurilor sunt cele permise pentru tipul de date din câmpul respectiv. De exemplul pentru datele de tip şir de caractere din

câmpurile Nume şi Prenume sunt permise operaţii de concatenare.

9.6. Tipuri abstracte de date – Clase de obiecte

După cum s-a constatat, fiecare tip de date prezentat anterior are un

nume, o semnificaţie, un domeniu de valori şi operaţii posibile asupra acestor valori. În abordarea obiectuală, se definesc clase de obiecte, ca

tipuri abstracte de date ce înglobează structura de variabile şi

operaţiile asupra lor. Iniţial, clasa este descrisă privind datele (proprietăţile) şi metodele (prelucrările) caracteristice obiectelor pe

care le reprezintă.

Fie un exemplu în care se declară în limbajul Java două variabile şir de caracter (s1, s2 şi s3) ce fac parte din clasa String (ca tip special de

tablou).

Se execută concatenarea primelor două (v. operaţii pe şiruri):

String s1, s2, s3;

s3=s1+s2;

Şirurile s1 şi s2 intră direct în expresie cu operatorul + între variabile,

ca şi cum ar fi un tip de date simple şi nu s-ar supune restricţiilor

privind operaţiile asupra tablourilor. Operatorul + nu face sumarea

Page 60: Informatică economică

60

obişnuită ci concatenarea (adăugarea) şirurilor s2 după s1; rezultatul

concatenării este „încărcat” apoi în variabila s3. Operatorul + este un operator definit special pentru clasa de obiecte String – şir de

caractere, iar atunci când apare între două variabile de acest tip „ştie”

cum să opereze (adaugă şirurile, nu face sumare ca la numere întregi).

Avantajul pe care programatorul îl are la folosirea claselor de obiecte

este acela că poate declara orice structură de date corespunzătoare

unei categorii de obiecte din lumea reală (o clasă de obiecte), defineşte operatori specifici clasei iar apoi foloseşte obiecte din această clasă în

expresii, ca şi cum ar fi piese simple de date. Mai mult, chiar faza de

proiectare a programului, se simplifică fiindcă nu vor trebui decât „imaginate” obiectele şi prelucrările necesare cu acestea, în scopul

obţinerii unui rezultat dorit. Spre exemplu, dacă se defineşte o clasă „paralelogram” – cu două operaţii posibile „modificarea dimensiunii a

două laturi paralele” şi „modificarea unui unghi de colţ”, se pot face

prelucrări complexe cum sunt: transformarea paralelogramului în dreptunghi sau transformarea dreptunghiului în pătrat, folosind

operatori şi simboluri definite specific în cadrul clasei. Valorile

obţinute după prelucrări, în acest exemplu, vor fi „dreptunghi” respectiv „pătrat”.

10. Structuri dinamice de date

Imaginaţi-vă o secţie de asamblare automobile: muncitori specializaţi

(în montarea portierelor, a motorului, a farurilor etc.), locuri de muncă ordonate, cu seturi de unelte la îndemână - truse de şurubelniţe,

panouri de scule. Banda de montaj, cu seria de automobile, trece pe la

fiecare loc de muncă şi muncitorii fac, fiecare la rândul său, prelucrările specifice.

Fiecare trusă sau panou de unelte este o structură statică (nu se

modifică în timp – dacă nu se rătăcesc uneltele ), iar automobilul de

Page 61: Informatică economică

61

pe bandă este o structură dinamică (la care se adaugă succesiv

componentele necesare). Fără ordinea la locul de muncă nu se poate lucra eficient, iar asamblarea ordonată a automobilului este scopul

prelucrărilor din secţie. Orice prelucrare se face cu organizarea

prealabilă a materialelor şi uneltelor de lucru, deci nu este de mirare că şi în prelucrarea datelor organizarea este esenţială.

Între tipurile de date structurate prezentate, tabloul este similar trusei

de şurubelniţe iar articolul - panoului de scule (ex: explicaţi dumneavoastră asemănarea), aşa cum s-a amintit acestea fiind

structuri statice de date. Automobilul este o structură în evoluţie, şi

poate fi asemănat cu una din structurile deja prezentate la (lista lineară sau lista nelineară - arborele), acestea fiind structuri dinamice de date.

În concluzie, structurile de date sunt organizări ale datelor în scopul realizării eficiente a unor categorii generale de prelucrări,

implementate prin tipul articol (iar operaţiile asupra lor prin programe

separate) sau, mai eficient, implementate prin obiecte ce conţin datele din structuri şi metodele – ca posibile asupra lor, aşa cum se prezintă

în continuare.

10.1. Liste lineare

În mod intuitiv lista poate fi privită ca o mulţime finită şi ordonată de elemente oarecare. Un vector poate fi privit ca o listă care prezintă

însă două mari dezavantaje: număr elementelor trebuie cunoscut de la

început (datorită naturii statice a vectorilor) şi faptul că introducerea unui nou element între altele existente necesită re-aranjarea

elementelor care urmează celui nou (datorită naturii compacte a

vectorilor).

Listă simplu înlănţuită

Pentru cazul când pointer-ul Pi indică nodul următor, lista se numeşte

simplu înlănţuită şi apare ca în Figura 14; ultimul nod conţine în câmpul Pi o valoare ce indică sfârşitul listei - valoare numită nil (în

P0 E1 P1 E2 P2 En NULL …

Page 62: Informatică economică

62

Pascal) sau NULL (în C, C++ sau Java), valoare care indică spre

„nimic”.

Figura 14. Listă lineară simplu înlănţuită

Indicatorul P0 este de fapt variabila pointer prin care se face acces la

listă, dar nu face parte din listă. E1 este primul iar En este ultimul element al listei, n fiind lungimea listei, elementele fiind ordonate

după poziţia lor în listă; Dacă n = 0, atunci se spune că lista este vidă.

Operaţii asupra listelor

Modificările de valoare Ei ale unui nod au loc prin operaţii asupra

tipurilor de date ce sunt stocate în câmpurile acestuia, pe când

operaţiile asupra listelor privesc modificarea structurii acestora, adică a organizării nodurilor prin legăturile dintre ele. Caracterul dinamic al

structurii de tip listă se observa în modul cum operaţiile afectează

dimensiunea listei, fără a modifica poziţia fizică a nodurilor (în memoria de lucru) ci, eventual, valorile indicatorilor din fiecare nod.

Inserarea unui nou element Ex în listă este reprezentată în Figura 15 a); după cum se observă, după „întreruperea legăturii” dintre nodurile

Ei, şi Ej, se actualizează doar valorile indicatorilor Pi și Px.

La ştergerea unui element (Ei+1), se actualizează valoarea pointer-rului nodului precedent (Ei) pentru a indica elementul următor (Ei+2),

iar elementul şters (Ei+1) este eliminat din memorie (eliberează locaţia ocupată până la acest moment) - Figura 15 b).

Din aceste două exemple se constată caracterul flexibil şi dinamic al

listelor, cu observaţia că aceste caracteristici rezultă din utilizarea tipului indicator (pointer)

Page 63: Informatică economică

63

Figura 15. Operaţii de inserare şi de ştergere a unui nod în lista lineară

simplu înlănţuită

Alte operaţii pot fi:

parcurgerea listei în scopul căutării unui nod (de indice sau valoare

cunoscută), al primului sau ultimului element (capul sau coada listei);

determinarea elementului succesor sau predecesor pentru un nod

dat;

iniţializarea listei – adică ştergerea tuturor elementelor din listă

(vidarea listei).

Operaţiile de ştergere ale unui nod sau a întregii liste face totodată

eliberarea zonei de memorie ocupată, spre a fi utilizată pentru alte

variabile dinamice.

Tipuri de liste

Dacă pointer-ul ultimului nod En al listei indică primul element E1,

atunci lista se numeşte listă circulară, fiindcă parcurgerea liste se poate face până la capăt şi apoi din nou de la început. Parcurgerea

listei se face prin „saltul” între indicatori (P0, P1, ..., Pi, ...) iar

vizitarea nodului i se face prin prelucrarea (sau pur şi simplu consultarea) valorii Ei.

Fiindcă lista simplu înlănţuită nu poate fi parcursă decât de la „cap”

(P0) la „coadă” (Pn) iar pentru revenirea către cap trebuie reluată parcurgerea de la cap, se foloseşte adesea lista dublu înlănţuită;

aceasta prezintă două câmpuri indicator: unul spre dreapta (spre

coadă) altul spre stânga (spre cap). Parcurgerea listei se poate face

Ei Pi Ej Pj En NULL … …

Ex Px

Ei Pi Ei+1 Pi+1 Ei+2 Pi+2

… …

a)

b)

Page 64: Informatică economică

64

uşor în ambele sensuri prin „salturi” atât spre dreapta cât şi spre

stânga.

Cozi – numite şi liste FIFO („First În First Out” – primul intrat primul

ieşit) sunt liste la care interesează în special cele două capete şi

modurile cum se adaugă noi elemente sau se elimină elementele - pentru aceste tipuri de liste introducerea / eliminarea de elemente se

face doar prin capete.

Stive – numite şi liste LIFO („Last În First Out” – ultimul intrat primul ieşit) – care seamănă cu un pachet de cărţi de joc: adăugarea de

noi elemente se face prin capătul de sus (vârful stivei) iar eliminarea la

fel. Acest tip de listă este util pentru cazurile când prelucrările parcurg datele într-un sens iar apoi le parcurg în sens invers.

10.2. Liste nelineare (arbori)

Pentru această categorie de liste nodurile au legături cu număr variabil şi nu doar între vecini (cu indici succesivi) – vezi Figura 16. Relaţiile

între noduri nu privesc ordinea ci ierarhia: un nod are relaţii de

predecesor („părinte” – de exemplu E2) cu noduri succesor (noduri subordonate, „fii” – exemplu E4 şi E5). Nodurile care nu au „fii” sunt

noduri finale şi au valorile indicatorilor nule (NULL).

P”1 P’1

E1

P”2 P’2

E2

P”3 P’3

E3

NULL

NULL

E4

NULL

NULL

E5

NULL

P’6

E6

NULL

NULL

E7

NULL

NULL

E8

Nivel I

Nivel II

Nivel III

Nivel IV

Page 65: Informatică economică

65

Figura 16. Arbore binar

Funcţie de numărul maxim de fii ale unui nod (oarecare), arborele poate fi categorisit ca arbore binar – maxim două noduri fii, arbore

ternar – maxim trei noduri fii, etc.

Reprezentarea arborilor binari

Cele mai utilizate categorii sunt cele binare –simple, cu proprietăţi dar

şi cu semnificaţii intuitive (de exemplu clasificarea în categorii

complementare – de un fel şi de altul); există algoritmi de transformare a unui arbore oarecare într-un arbore binar.

Reprezentarea unui arbore se poate face şi folosind un tablou de

muchii (cu două coloane, indicând pe fiecare linie noduri adiacente) însă folosirea indicatorilor permite o reprezentare ce ocupă un spaţiu

minim în memoria de lucru şi, evident, ne-limitarea dimensiunii

arborelui.

Operaţii cu arbori

Fiind liste, arborii prezintă categorii de operaţii similare listelor, prin

care se afectează structura de noduri şi legături sau se accesează valorile elementelor. Specific listelor nelineare sunt ramificaţiile prin

care se pot separa sub-arbori, care pentru arborii binari vor fi denumiţi

„sub-arbore stâng” şi „sub-arbore drept”. Deci prelucrarea elementelor în arbore necesită două acţiuni de avans în arbore – avans stânga şi

avans dreapta, precum şi o acţiune de acces şi prelucrare a valorii

nodului curent – numita operație de vizitare. Operaţii posibile sunt:

Parcurgerea arborelui constă în vizitarea succesivă a nodurilor

acestuia. Privind modul de succesiune al vizitării nodurilor, există trei modalităţi uzuale de parcurgere - după modul în care se pot combina

acţiunile de avans şi vizitare:

a) Preordine: 1 – vizitare, 2 – avans stânga, 3 – avans dreapta;

b) Inordine: 1 – avans stânga, 2 – vizitare, 3 – avans dreapta;

c) Postordine: 1 – avans stânga, 2 – avans dreapta, 3 – vizitare.

Aceste modalităţi de parcurgere se pot aplica şi recursiv .

Page 66: Informatică economică

66

Inserarea şi ştergerea unui nod din arbore – similar celor de la liste liniare.

Determinarea înălţimii arborelui.

Determinarea succesorului sau predecesorului unui nod în arbore.

Extragerea unui sub-arbore.

Operaţiile de parcurgere ale arborelui din Figura 16 sunt ilustrate în

Figura 17 – prin succesiunea de noduri obţinute în fiecare caz.

Figura 17. Parcurgerea arborelui binar

După cum s-a arătat anterior, structurarea arborescentă este foarte eficientă în prelucrarea datelor, cum sunt căutarea în volume mari de

date, calculul expresiilor respectând precedenţa operatorilor,

clasificarea obiectelor.

1

2 3

4 5 6 7

8

Preordine: 1-2-3-4-5-6-7-8

Inordine: 4-2-5-1-8-6-3-7

Postordine: 4-5-2-8-6-7-3-1

Page 67: Informatică economică

67

11. Prelucrarea informaţiei

În acest capitol trecem în revistă noţiuni privind operaţiunile efectuate asupra datelor şi modul în care se specifică desfăşurarea acestor

operaţiuni, conform prelucrărilor vizate. Abordarea sistematică a

operaţiunilor şi desfăşurării lor este impusă de exprimarea concisă şi completă a acestora printr-un limbaj de programare; întrucât limbajele

de programare moderne reprezintă, de fapt, codificări optime ale

operaţiunilor necesare oricăror categorii de prelucrări, se utilizează pe parcursul modulului formalismul specific acestor codificări. În scopul

înţelegerii şi asimilării lui, se prezintă în continuare un model intuitiv

care foloseşte termeni ai acestui formalism, pe exemplul asamblării unor motoare de automobil la o secţie de profil:

(I) Piesele motorului se află în cutii aşezate pe raft, cu etichete –

fiecare cutie este o variabilă cu identificator (numele pe etichetă), având valoare (piesa) sau fiind liberă („aşteptând” o piesă ce va fi

asamblată şi plasată apoi în cutie); piesele în sine sunt date, iar

categoria de piese (de exemplu „injectoare”) reprezintă un tip de date.

(II) Fiecare tip de piesă prezintă modalităţi specifice de îmbinare cu

alte piese (şuruburi de dimensiuni stabilite, cleme etc.) – fiecare

modalitate este un operator specific tipului de date.

(III) Asamblarea pieselor are loc după un plan dinainte stabilit, pe

paşi – după un algoritm de rezultat în urma unei analize şi folosind

cunoştinţele în domeniu.

(IV) Îmbinarea pieselor are loc cu ajutorul mai multor şuruburi

(cleme, etc.) combinate corespunzător – adică prin expresii în care

piesele sunt operanzi şi şuruburile operatori.

(V) Dacă o piesă nu se potriveşte la îmbinare se ia decizia de o

repara sau arunca, iar la asamblarea mai multor piese de acelaşi fel,

Page 68: Informatică economică

68

acţiunile se repetă la celelalte – conform unor instrucţiuni de control

al fluxului de operaţiuni.

(VI) În final, motorul este ambalat şi trimis la magazin – pentru a fi

prezentat utilizatorilor.

Noţiunile care intervin în modelul de mai sus vor fi explicate şi descrise – cu specificul lor pentru domeniul TIC, în cele ce urmează,

însoţite de exemple sau de informaţii tehnice specifice unor limbaje de

programare uzuale (cum sunt Pascal, C, Java).

Identificatorul este numele ataşat unei piese sau colecţii de date, dar

şi a unei prelucrări anume, în general aflate în memoria de lucru.

Variabila este o locaţie de memorie referită printr-un identificator şi poate conţine diverse valori ale unei date de tip specificat.

Constanta este o locaţie de memorie referită printr-un identificator şi poate conţine doar o singură valoare a unei date de tip specificat.

Literal este o valoare concretă pentru un tip de date, indicată prin

simboluri specifice tipului respectiv.

Page 69: Informatică economică

69

12. Expresii

Termenul calculator ne îndreaptă gândul către calcule, posibile fiind prelucrările pe care acest instrument le poate executa dar, aşa cum s-a

arătat anterior, posibilităţile de prelucrare ale calculatoarelor sunt mult

mai largi.

Expresia este descrierea formală a unui set de acţiuni efectuate cu un

anumit tip de date. Expresia este o structură sintactică formată din

variabile, literali, operatori şi invocări de funcţii, care în procesul de calcul este evaluată pentru a se obţine o valoare.

Trebuie avut în vedere că, în programare:

Expresia este de fapt o secvenţă de program, în care se indică ordinea în care trebuie efectuată o succesiune de operaţii asupra unor

date, în scopul de a obţine o valoare.

Operaţiile se fac întotdeauna asupra valorilor.

Operaţiile sunt indicate prin operatori sau/şi prin funcţii, iar datele sunt indicate prin variabile şi literali. Este, deci, foarte important să

ştim nu numai ce operaţii se fac, ci şi în ce ordine se execută ele.

Semnul = are rolul de a „încărca” în variabila din stânga sa, valoarea rezultatului obţinut în dreapta sa. Astfel, semnul = poate fi privit ca un

operator de atribuire, iar întreaga construcţie F = m·a ca o expresie cu

o singură valoare – anume valoarea obţinută pentru forţa F.

Operatori

Operatorii sunt simboluri ale unor acţiuni cu semnificaţie stabilită prin tipul de date operat. Am folosit deja simbolul + ca operator de

concatenare (deci simbol al operaţiei de concatenare). Operatorul

poate fi format din unul sau mai multe caractere. Entitatea asupra

Page 70: Informatică economică

70

căreia se aplică operatorul se numeşte operand. După numărul de

operanzi, operatorii pot fi:

operatori unari, care se aplica unui singur operand, de ex.

operatorul ”-” in expresia ”-x”; utilizarea operatorului unar se face, de regula, sub forma "prefix" operator operand (operatorul este pus în

faţa operandului) iar uneori sub forma "postfix" operand operator, în

care operatorul este pus după operand;

operatori binari, care se aplică asupra a doi operanzi, fiind situat

între aceştia; de exemplu operatorul de concatenare ”+” in expresia "acesta este"+" un exemplu" sau operatorul de adunare a doua numere

”+” in expresia 17+28. Operatorii binari se folosesc sub forma "infix"

operand1 operator operand2 - în care operatorul este situat între cei doi operanzi;

operatori ternari, care se aplica asupra a trei operanzi; de exemplu

în limbajele C şi Java există operatorul ternar (? : ) folosit în expresiile condiţionale. Operatorul ternar se scrie sub forma (operand1

? operand2 : operand3 ) în care operand1 are o valoare logica (true sau false), iar ceilalţi doi operanzi reprezintă acţiuni.

Pentru o privire completă asupra domeniului, se prezintă în continuare

categorii de operatori, cu simboluri uzuale pentru limbajele C şi Java.

Operatori aritmetici sunt operatorii utilizați pentru calculele numerice

și care se aplică funcţie de tipul operanzilor (întregi sau reali). Există o

ordine de precedenţă a operatorilor aritmetici: primii se aplică operatorii unari apoi cei de înmulţire şi împărţire, ultimii de sumare

algebrică; această ordine poate fi schimbată prin grupări între

paranteze ‘(’ şi ‘)’ ale operanzilor şi operaţiilor în expresie.

Operatori relaţionali sunt operatori (binari) pentru comparaţie sau

incluziune: <, >, = =, != (simbol pentru ), <= şi >= (simboluri pentru

şi ), in (pentru apartenenţă).

Operatori logici sunt operatorii care produc un rezultat logic

(„adevărat ” sau „fals”). Ordinea de precedenţă este: primul negarea !

(NU), apoi conjuncţia && (ŞI), ultimul disjuncţia || (SAU); ordinea de precedenţă se poate schimba prin grupare cu paranteze.

Page 71: Informatică economică

71

Tipuri de expresii

Prin rolul său în program, o expresie este o linie de cod care poate fi redusă la o singură valoare. Se prezintă în continuare tipuri de

expresii, prin exemple, pentru cazuri de operatori şi precedenţă care

prezintă interes.

Expresii matematice

Fie declaraţiile de variabile:

int a=3, b=7, c=11, d;

care iniţializate cu valorile de mai sus, utilizate în expresii similare

celei de mai jos:

d=(a+c)*b - (a+b)

Expresii logice

Aceste expresii au rezultat logic (adevărat - true, sau fals - false). Operatorii relaţionali dau ca rezultat o valoare de tip logic fiindcă în

urma relaţiei (comparaţiei) situaţia poate fi adevărată sau falsă.

Comparaţiile realizate cu operatori relaţionali precum şi agregările de operatori logici sunt privite ca întrebări „este adevărat că … ?”

Evaluarea expresiilor

Evaluarea expresiei constă în aplicarea succesivă a operatorilor asupra operanzilor corespunzători, într-o ordine care depinde de

precedenţa operatorilor.

Se pot da reguli riguroase de evaluare a expresiilor, dar sunt destul de complicate. Preferăm să indicăm numai că expresia se parcurge de la

stânga la dreapta, aplicând operatorii în ordinea lor de precedenţă şi

luând în consideraţie parantezele.

Operaţiile se fac asupra valorilor operanzilor. Variabilele se

înlocuiesc prin valorile lor.

Imediat ce s-a aplicat un operator, subexpresia respectivă (formată din operator şi operandul sau operanzii corespunzători) se înlocuiesc prin

valoarea rezultată din calcul. Se continuă astfel, până când întreaga

expresie este înlocuită printr-o singură valoare.

Page 72: Informatică economică

72

Precedenţa poate fi modificată prin utilizarea de paranteze, cu

convenţia că operatorii din interiorul unei paranteze se aplică înaintea celor din exterior. De exemplu, în expresia „a+b*c” operatorul „*” se

va aplica înaintea operatorului „+”, deoarece are precedenţa

superioară. În consecinţă, aceasta expresie se va calcula ca şi când ar fi scrisă sub forma a+(b*c).

Instrucţiuni

Pentru prelucrările simple – de genul calculelor matematice, este

suficient un calculator de buzunar. Dacă aceste calcule sunt combinate

pentru a determina un rezultat complex – de exemplu soluţionarea generală a unei ecuaţii de gradul întâi, atunci sunt necesare acţiuni de

decizie: de exemplu „este coeficientul necunoscutei nul?” – atunci

ecuaţia este degenerată; asemenea acţiuni de control a desfăşurării prelucrărilor propriu-zise trebuie realizate printr-un program de

Page 73: Informatică economică

73

calculator, pe baza unor comenzi specifice limbajului de programare

ales.

De fapt, pe lângă prelucrările variabilelor (care se realizează prin

expresii), mai sunt necesare două tipuri generice de acţiuni: de decizie

şi de repetiţie. Rezultă că un limbaj de programare trebuie să asigure comenzi de:

a) Atribuire –obţinerea unui rezultat pentru o expresie şi încărcarea

valorii acestui rezultat în variabila ţintă (din stânga semnului =).

b) Decizie – pentru alegerea unei secvenţe de comenzi din mai multe

variante (uzual două) urmare a rezultatului unei expresii logice –

condiţia de decizie.

c) Repetiţie – pentru reluarea unei secvenţe de comenzi de mai multe

ori, până la îndeplinirea unei condiţii de oprire.

Între aceste acţiuni doar atribuirea este cea care priveşte formularea

expresiilor, rezolvarea şi păstrarea rezultatelor. Decizia şi repetiţia

modifică doar cursul de execuţie a atribuirilor. Tabloul comenzilor posibile se completează cu:

d) Salturi şi reveniri – pentru întreruperea unei secvenţe de comenzi

şi preluarea controlului de către altă secvenţă de comenzi în cadrul aceluiaşi bloc program sau într-un subprogram.

e) Operaţii de intrare / ieşire – pentru interacţiunea cu exteriorul,

prin periferice de intrare / ieşire (către om sau instalaţii, pentru stocarea sau transferul datelor).

Comenzile din categoriile a) şi e) modifică valoarea sau suportul

datelor, iar comenzile din categoriile b) c) şi d) modifică controlul asupra fluxul de comenzi. Uzual, operaţiile de intrare / ieşire nu fac

parte din limbajul de programare ci din biblioteci de funcţii ataşate

acestuia.

Cuvintele cheie care exprimă categoriile de acţiuni de mai sus precum

şi modul corect de exprimare al lor (adică sintaxa) constituie setul de

instrucţiuni a unui limbaj de programare. Dacă se cunosc modurile de exprimare ale aceste acţiuni de bază într-un limbaj de programare, se

poate considera limbajul cunoscut în proporţie de 50%. Trebuie

Page 74: Informatică economică

74

remarcat că, în limbajele de programare moderne, operaţiile de intrare

- ieşire nu constituie instrucţiuni de limbaj ci sunt realizate prin subprograme specializate – în afara limbajului.

Un program este un text ce cuprinde o secvenţă de instrucţiuni din

categoriile de mai sus, care sunt executate în ordinea în care apar în text. Procesorul asigură preluarea şi executarea comenzilor în

secvenţă, aceasta fiind ideea centrală de funcţionare a maşinilor von

Neumann.

După cum se poate imagina, instrucţiunile de decizie şi de repetiţie au

o exprimare mai complexă – de exemplu pentru decizie trebuie

indicate acţiunile pentru ramura în care condiţia de decizie are rezultat „fals” şi acţiunile pentru ramura cu rezultat „adevărat”. Instrucţiunile

pentru decizii şi repetiţii sunt mai complexe şi au nevoie de mai multe linii de text pentru a le descrie, pe când pentru instrucţiunile de

atribuire este suficientă o linie de text ce descrie expresia vizată. De

aceea instrucţiunile din prima categorie se consideră „instrucţiuni simple”, iar cele din ultimele două categorii „instrucţiuni structurate”.

12.1. Instrucţiuni simple

Într-un program acţiunile sunt descrise prin linii de text, care apoi pot

fi interpretate şi executate de către calculator – linie cu linie sau pe loturi de linii. Descrierea unei acţiuni complete se încheie cu

simbolul”;”(punct și virgulă) indicând „sfârşitul acţiunii”. Declaraţiile

de variabile sunt instrucţiuni în care se declară tipul şi, eventual, valoarea iniţială a unor variabile.

Instrucţiunile expresie sunt expresii de atribuire, de

incrementare/decrementare sau de invocare de metodă, care se termină prin simbolul ';' (punct şi virgulă).

Instrucţiunea de atribuire

Prelucrarea efectivă a datelor are loc în instrucţiunea de atribuire: una sau mai multe valori intră într-o expresie al cărei rezultat se atribuie

variabilei stânga, simbolul de atribuire = (în limbajele C şi Java) sau

:= (în limbajul Pascal). Pentru exemplul de calcul al forţei:

Page 75: Informatică economică

75

F=m*a; // în C, respectiv

F:=m*a; /* în Pascal

În expresie intervin numai variabile ce au primit valori, iar variabila

stânga trebuie să aibă tipul de date reprezentând rezultatul expresiei.

Instrucţiuni de salt

Întreruperea forţată a executării unei secvenţe de instrucţiuni (şi saltul

la începutul altei secvenţe) se poate face condiţionat (dacă a fost îndeplinită o condiţie logică) sau necondiţionat.

a) Saltul necondiţionat – provoacă părăsirea execuţiei secvenţiale a

comenzilor. „Ruperea” secvenţelor de comenzi din program prin salturi necondiţionate, vădesc o proiectare defectuoasă,

nesistematizată, a descrierii prelucrărilor; ele fac programul greu

inteligibil şi dificil de depanat sau dezvoltat şi de aceea, acestea trebuie eliminate. În limbajele Pascal şi C saltul necondiţionat există

doar pentru caracterul său istoric:

GOTO eticheta;

Secvenţei curentă este întreruptă şi execuţia se continuă de la eticheta.

Există instrucţiuni de salt care provoacă părăsirea secvenţei de comenzi doar în condiţii bine precizate, impuse direct de prelucrări.

b) Saltul de revenire din subprogram la programul apelant:

return [expresie];

unde expresie produce ca rezultat o valoare care este „întoarsă”

(returnată) programului apelant de către subprogram, fiind folosită

direct în expresii. Parantezele drepte [ şi ] indică o parte opţională – adică expresie poate lipsi în situaţia când nu este necesară o valoare

returnată. Saltul de la programul apelant la programul apelat se face

prin însăşi numele subprogramului .

Salturile de terminare abruptă a instrucţiunilor structurate sunt impuse

de prelucrări (în cazul repetiţiilor sau deciziilor multiple):

c) Întrerupere – încheie instrucţiunea curentă şi trece la următoarea:

break [eticheta];

Page 76: Informatică economică

76

d) Continuare – reia secvenţa curentă de la începutul ei înainte de

final:

continue [eticheta];

Cazuri de utilizare sunt la întreruperea unei bucle de repetiţie (şi saltul în afara sa la secvenţa ce începe de la eticheta), respectiv reluarea unei

bucle de repetiţie de la început fără a se parcurge întreaga secvenţă din

buclă.

12.2. Instrucţiuni structurate (structuri de control)

Structurile de control se mai numesc şi instrucţiuni compuse şi au

rolul de a indica succesiunea în care se execută instrucţiunile

programului. Distingem următoarele structuri de control: blocul, instrucţiunile de ramificare, ciclurile şi structura de tratare a

excepţiilor.

Blocul este o succesiune de instrucţiuni cuprinsă între acolade. Instrucţiunile pot fi simple sau compuse. În particular, un bloc poate

conţine alte blocuri. Variabilele declarate într-un bloc sunt valabile numai în blocul respectiv, din locul declarării variabilei până la

sfârşitul blocului, inclusiv în blocurile interioare.

Structurile ramificate sunt structuri de control în care fluxul programului conţine două sau mai multe ramuri paralele. În limbajul

Java, structurile ramificate sunt realizate prin instrucţiunile if, if-else şi

switch.

Ciclurile, numite şi bucle sau structuri repetitive, sunt structuri de

control în care o anumită instrucţiune simplă sau compusă, de regulă

un bloc, se execută în mod repetat. În limbajul Java, ciclurile se realizează prin instrucţiunile while, do-while şi for.

Controlul fluxului de instrucţiuni este necesar pentru soluţionarea

unei probleme complexe, iar algoritmul este de fapt o reţetă de control al fluxului de instrucţiuni prin care se caută soluţia la problema dată.

Page 77: Informatică economică

77

Instrucţiunea if este o instrucţiune condiţională, care are forma

generală

if(condiţie)

instrucţiune

în care condiţie - este o expresie logică, instrucţiune - este o instrucţiune simplă sau compusă, care se execută dacă şi numai dacă

expresia condiţie are valoarea true.

Fie exemplul banal de „algoritm pentru rucsacul de vacanţă”:

1) dacă (este vacanţa de vară) atunci

2) repetă

aşază în rucsac tricou;

3) repetă

aşază în rucsac obiect de plajă;

1’) altfel

4) repetă

aşază în rucsac pulover;

5) repetă

aşază în rucsac obiect pentru schi;

6) închide rucsacul;

În acest exemplu se observă „decizia” 1) – 1’) şi „repetiţia” 2), 3) sau

4), 5). Acestea se vor regăsi ca instrucţiuni într-un limbaj de programare ca instrucţiuni structurate – remarcaţi structura deciziei

dacă .. atunci .. altfel, subliniată prin numerotarea cu apostrof.

Cuvintele cu litere înclinate (cursive) indică modul cum se vor efectua operaţiunile (sunt „instrucţiuni”) iar cuvintele scrise normal sunt

operaţiunile înseşi (de fapt instrucţiuni simple). Astfel, la pasul 2) se

repetă aşezarea în valiză a tricourilor – unul la un moment dat (cel roşu, apoi cel verde etc.), iar la pasul 3) similar, aşezarea fiecărui

obiect de plajă (umbrelă, ulei de plajă etc.). Omul execută operaţiunile

Page 78: Informatică economică

78

înscrise mai sus una după alta, fără a fi necesară indicarea ordinii lor

prin numere – în acest exemplu au fost numerotate doar pentru a fi referite. Similar, procesorul (construit după principiile enunţate de von

Neumann) execută operaţiile una după alta, în ordinea apariţiei lor în

textul programului; în exemplul nostru, după încheierea repetiţiei 3) se execută direct 6) – în cazul vacanţei de vară şi în cazul vacanţei de

iarnă.

Instrucţiunea de decizie binară

Pentru indicarea a două alternative în desfăşurarea acţiunilor unui

program se foloseşte decizia sau ramificaţia binară „dacă .. atunci.

Instrucţiunea if-else este o instrucţiune condiţională, care are forma generală:

if (expresie)

instrucţiune1;

else

instrucţiune2;

unde instrucţiune1 se execută atunci când condiţia expresie

are valoare logică „adevărat” (sau în limbajul C, are o valoare diferită

de 0), altfel (când condiţia este falsă sau 0) se execută

instrucţiune2. Când pe una din ramuri sunt mai multe

instrucţiuni de executat, atunci se foloseşte pe acea ramură instrucţiunea compusă. Se observă că, prin modul de scriere a textului,

ies în evidenţă prin „indentare” (adâncire spre dreapta) ce se execută

pe ramura „adevărat” (imediat după if) şi ce se execută pe ramura

„fals” (imediat după else).

În cazul în care nu există o instrucţiune2, atunci ramura else

lipseşte şi se continuă cu secvenţa ce urmează după simbolul de sfârşit ;.

În diferite limbaje de programare (inclusiv în limbaje „script”) se foloseşte pentru decizia binară construcţia de mai sus, cu diferenţe

minore de scriere (sintaxă): lipsesc parantezele după condiţie şi apare

cuvântul then (ca în Pascal) sau în loc de; este folosit endif.

Page 79: Informatică economică

79

Instrucţiunea de decizie multiplă

Decizia binară – prezentată mai sus, priveşte situaţii simple, cu două

alternative: Alb/Negru, Da/Nu, Adevărat/Fals. Pentru situaţii în care

decizia priveşte mai mult de două alternative, este dificil de aplicat mai multe instrucţiuni de decizie binară. O asemenea situaţie apare

când expresia de selecţie nu are valori binare ci multiple – cum ar fi

cazul selecţiei opţiunilor unui meniu; fiecare opţiune devine un caz selectat printr-un număr sau prin poziţia indicatorului pe ecran

(„mouse”). Ca exemplu, se prezintă instrucţiunea switch în limbajul

C, într-o secvenţă de program în care se alege o opţiune din trei

posibile la alegerile prezidenţiale, prin numărul acesteia – furnizat prin

NumarOptiune:

Instrucţiunea switch este o structură de control, care are forma:

switch (NumarOptiune)

{

case ‘1’: { “Candidat de stânga”};

break;

case ‘2’: { “Candidat de centru”};

break;

case ‘3’: { “Candidat de dreapta”};

break;

default: { „Exprimaţi-vă opţiunea”};

}

Se observă că pentru un alegător indecis (care alege NumarOptiune

diferit de 1, 2 sau 3) există posibilitatea de a fi atenţionat că doar

aceste opţiuni sunt disponibile – prin secţiunea default (care

înseamnă „implicit” în engleză); textele dintre {} la fiecare caz, apar în loc de blocuri program prin care se afişează – de exemplu, sigla şi

numele candidatului. Instrucţiunile de salt break, sunt utilizate

pentru a încheia posibilitatea de selecţie după ce s-a exprimat o

Page 80: Informatică economică

80

opţiune, în scopul continuării cu secvenţa program ce urmează

instrucţiunii switch, adică după }.

Instrucţiunea de repetiţie după număr cunoscut de paşi

Deseori, prelucrările pentru care este util calculatorul sunt cele în care

se repetă anumite operaţii de foarte multe ori; omul ar obosi (apoi greşi) la repetiţii îndelungate ale aceloraşi operaţii, dar echipamentul

electronic le execută precis, rapid şi fără complicaţii sociale.

Instrucţiunea for se foloseşte în special atunci când numărul de repetări al corpului ciclului este dinainte cunoscut. Această

instrucţiune are forma:

for(iniţializareopt; condiţieContinuareopt; incrementareopt)

instrucţiuneopt

în care:

iniţializare: listă de expresii de iniţializare, separate prin virgule;

condiţieContinuare: expresie logică;

incrementare: listă de expresii, care se execută după executarea

corpului ciclului;

instrucţiune: instrucţiune simplă sau compusă (de preferinţă un bloc)

care constituie corpul ciclului. Toate componentele marcate cu opt sunt

opţionale.

Atunci când se cunoaşte numărul de iteraţii (cuvânt ce indică „repetiţii

numerotate”), este utilă instrucţiunea for – ce apare în diverse limbaje,

dar se va prezenta cu sintaxa uzuală în limbajul C. Trebuie remarcat că, pentru a efectua numărul de iteraţii dorit, este necesar un contor

pentru care se indică o valoare de start, o valoare de final şi o

modalitate de avans a contorului (în această ordine) prin expresiile ce apar între () şi sunt separate cu ; ca mai jos.

For

(NrStud=1,NrBilet=35;NrStud<=30;NrStud++,NrBile

t--)

Page 81: Informatică economică

81

{ „Prezintă legitimaţie şi primeşte bilet de examen” };

Exemplul priveşte verificarea legitimaţiei de student şi primirea de către acesta a biletului de examen, la o grupă de 30 studenţi. Contorul

NrStud reţine câți studenți au intrat în sala de examen iar contorul

NrBilet reţine câte bilete au mai rămas examinatorului – din totalul

de 35; expresiile NrStud++ şi NrBilet—adună şi respectiv scad o

unitate din contoarele respective (aceasta înseamnă ++ şi respectiv --).

Instrucţiunea de repetiţie după condiţie

Atunci când nu se cunoaşte numărul de iteraţii, terminarea repetiţiilor

poate fi indicată de o condiţie cunoscută – care se aplică înainte sau după efectuarea operaţiei în bucla de repetiţie. Ca urmare, se folosesc

una din cele două tipuri de instrucţiuni:

a) „cât timp (condiţie) adevărată – repetă {operaţie}” – prin care este posibil ca operaţia să nu se execute nici măcar o dată, dacă de la

început condiţia nu este îndeplinită;

b) „repetă {operaţie} – cât timp (condiţie) adevărată” – prin care operaţia se execută cel puţin o dată, indiferent dacă este adevărată

condiţia la intrarea în buclă.

Instrucţiunea while realizează structura de control repetitivă numită şi

ciclu cu test iniţial şi are forma următoare:

while(condiţie)

instrucţiune

în care:

condiţie - este o expresie logică;

instrucţiune - este o instrucţiune simplă sau compusă (de regulă un

bloc), care se repetă cât timp expresia condiţie are valoarea true.

Instrucţiunea do-while realizează structura de control numită şi ciclu cu test final şi are forma următoare:

do

bloc

Page 82: Informatică economică

82

while(condiţie);

în care:

bloc - este o structură de control sub formă de bloc;

condiţie - este o expresie logică.

Executarea blocului se repetă şi în acest caz cât timp este satisfăcută condiţia dar, spre deosebire de instrucţiunea while, în acest caz

testarea condiţiei se face după ce a fost executat corpul ciclului.

Pentru exemplul de mai sus reluat, dar în care nu se cunoaşte numărul de studenţi ce se prezintă la examen, descrierea în limbajul C a cele

două cazuri ar fi:

(a) while (NrStud>0)

{ „Prezintă legitimaţie şi primeşte bilet de examen” };

(b) do

{ „Prezintă legitimaţie şi primeşte bilet de examen” };

while (NrStud>0);

Lăsăm cititorul să decidă care dintre formele (a) sau (b) este adecvată

exemplului ales. (Indicaţie – este posibil ca la un examen să nu se prezinte nici un student).

Dacă există cazuri în care bucla de repetiţie trebuie întreruptă în

desfăşurarea ei (de exemplu în cazul când unele operaţii nu se execută dacă nu este îndeplinită o condiţie), atunci apar în interiorul buclei

instrucţiuni de salt de tipul break (întrerupe repetiţia şi părăseşte bucla) sau continue (reia bucla de la început fără executarea

operaţiunilor care urmează acestei instrucţiuni) – vezi c) şi d).

12.3. Programe şi subprograme

Secvenţele de instrucţiuni sunt organizate în programe şi subprograme, fiecare având un nume care – în principiu, indică rolul

prelucrărilor acestuia. Program este denumirea generică a unei

înşiruiri de comenzi care execută prelucrări într-un scop dat; comenzile pot fi exprimate prin cuvinte cheie specifice unui limbaj de

Page 83: Informatică economică

83

programare (în programarea „clasică”) sau poate fi o structură de

reprezentări grafice ale comenzilor, plasate pe o suprafaţă de lucru (în programarea „vizuală”).

În cazul programelor scrise într-un limbaj de programare, structura

textului depinde de modul de programare (structurată sau obiectuală), în principiu, pentru un program fiind specificate:

nume_program (lista parametri)

{

declarații variabile

corpul programului

}

unde nume_program este un identificator al programului (prin care

poate fi apelat spre a executa acţiunile înscrise în el), lista

parametri este setul de date care se furnizează programului (ca

„materie primă”) şi asupra cărora se vor executa acţiunile,

declarații variabile indică variabilele (locale) necesare

stocării rezultatelor intermediare, corpul programului este

secvenţa efectivă de comenzi pentru acţiunile vizate, iar acoladele {} încadrează şi delimitează programul propriu-zis.

Subprograme

În cazul unor prelucrări complexe, care sunt necesare repetat, este

indicată folosirea subprogramelor; acestea sunt secţiuni de cod scrise

o singură dată şi folosite de mai multe ori, prin apelarea lor ori de câte ori este nevoie, separat sau în cadrul expresiilor. Apelarea

subprogramului se face prin intermediul identificatorului său

(numele), similar cu referirea unei variabile. Dacă un subprogram este inclus unei biblioteci de subprograme el poate fi apelat de către

oricare alt program scris în limbajul respectiv sau în alte limbaje (dacă la apelare se fac precizările de rigoare). Subprogramul este o

prelucrare care se poate efectua asupra unui set de date ale căror valori

sunt specificate la „apelarea” subprogramului.

Page 84: Informatică economică

84

Subprogramul este un program apelat (prin nume) în cadrul altui

program (programul apelant) pentru a executa acţiunile sale specifice. Deci subprogramele nu sunt „de sine stătătoare”, adică nu pot fi

lansate direct de către utilizator din sistemul de operare ).

Subprogramul care, după execuţia acţiunilor sale, revine în programul apelant cu o singură valoare (valoare „returnată”) ce poate fi folosită

direct în calculul unei expresii; se numeşte funcţie. Un exemplu clasic

este funcţia sin(x), care poate fi apelată într-o expresie – de

exemplu a+b+sin(x), sumele fiind realizate doar după calculul

sinusului pentru valoarea x furnizată. Structura textului de definire a

unei funcţii adaugă, la structura de principiu din deschiderea,

specificarea tipului valorii returnate şi comanda de revenire în

programul apelant:

tip_valoare_returnata nume_funcție (lista

parametri)

{

declarații variabile

corpul programului

return expresie; //nu apare obligatoriu la

final

}

unde tip_valoare_returnată specifică tipul de date al valorii

rezultate în urma calculelor din expresie şi care va fi adusă la

revenirea în programul apelant.

Execuţia programelor se face de către procesor, care poate funcţiona doar secvenţial şi pentru o singură sarcină (un singur program) la un

moment dat. La apelul unui subprogram de către programul apelant,

acesta din urmă trebuie „părăsit” de către procesor iar contextul de lucru (adică setul rezultatele parţiale) din memoria locală a

procesorului trebuie salvat în memoria internă – RAM. La revenirea

din subprogram, acest context se încarcă din memoria RAM în memoria locală a procesorului iar programul apelant reia lucrul –

exact din punctul în care a fost întrerupt pentru execuţia

Page 85: Informatică economică

85

subprogramului, folosind valoarea „întoarsă” ca rezultat de către

subprogram (vezi instrucţiunea return.b), şi valoarea rezultat

pentru expresie.

Programul principal

Execuţia acţiunilor înscrise într-un program trebuie iniţiată la

comanda utilizatorului. Pentru aceasta sistemul de operare

interacţionează cu omul, primeşte comanda (care de obicei este chiar numele programului) şi „lansează” execuţia acestuia.

Partea din textul unui program care poate fi lansată nemijlocit de

sistemul de operare (deci care poate funcţiona de sine stătător) se numeşte program principal. Acesta este, în general, o succesiune de

acţiuni grupate în corpul programului pe trei secţiuni:

Introducerea datelor

Prelucrarea datelor

Afişarea rezultatelor

Pentru execuţia acestora, se face apel la subprograme din biblioteca de

subprograme sau din setul subprogramelor declarate în textul sursă al

programului ca ansamblu; în acest ultim caz, programul va fi specificat astfel:

nume_program_principal (lista parametri)

{

declarații variabile

declarații subprograme

definire subprograme

{

corpul programului principal

}

}

unde declarații subprograme reprezintă secţiunea în care se

inventariază numele şi lista parametrilor specifice tuturor

Page 86: Informatică economică

86

subprogramelor apelate în textul programul. Secţiunea definire

subprograme reia declararea subprogramelor, de această dată cu

descrierea acţiunilor din fiecare subprogram aşa cum este prezentat.

Page 87: Informatică economică

87

13. Algoritmi

Modalitatea în care are loc prelucrarea efectivă a unor date se exprimă prin algoritm – ca paşi succesivi, repetiţii şi ramificaţii prin care se

execută operaţiile vizate. Rezolvarea oricărei probleme presupune o

metodă şi o execuţie în paşi a acesteia, spre soluţia dorită.

Pe scurt, algoritmul este o succesiune ordonată de operaţii (număr

finit de pași) care trebuie efectuate pentru a realiza un anumit scop.

Totodată, algoritmii sunt modalităţi prin care se exprimă succesiunea de operaţii prin care un program pe calculator poate ajunge la datele

de intrare furnizate la rezultatele dorite. Trebuie remarcat că un

algoritm nu exprimă doar operaţii cu numere ci orice fel de prelucrări (cu texte, imagini, etc.) aşa cum se prezintă intuitiv în „algoritm

pentru rucsacul de vacanţă”.

Algoritmul are următoarele caracteristici:

caracter discret - este format din mai mulţi paşi;

caracter finit - numărul paşilor este finit;

caracter determinist;

caracter realizabil - fiecare operaţie prevăzută este realizabilă efectiv;

caracter universal - nu se aplică unui caz izolat, ci unui număr de cazuri, care diferă prin datele de intrare.

13.1. Exprimarea algoritmilor

În general, descrierea prelucrărilor prin care se obţine soluţia unei

probleme date se face fără a se specifica tipurile de date utilizate, ca şi cum acestea ar fi subînţelese. Un algoritm este o înşiruire de

operaţiuni în care se utilizează variabile şi (eventual) alte prelucrări,

indicate prin identificatori inventariaţi într-un dicţionar sau

Page 88: Informatică economică

88

nomenclator ce specifică rolul variabilelor sau prelucrărilor

respective.

Există diferite metode de reprezentare a algoritmilor:

într-un limbaj natural (de exemplu, în limba română);

sub formă de schemă logică (reprezentare grafică);

în pseudocod.

Istoric, prima modalitate de exprimare a algoritmilor au fost

organigramele – cu avantajul descrierii grafice, intuitive şi uşor de

urmărit. Evoluţia către programarea şi proiectarea structurată a impus exprimarea prin pseudocod – cu avantajele descrierii concise,

modularizate şi apropiate limbajelor de programare.

De exemplu, rezolvarea unei ecuaţii de gradul I de forma a·x + b = 0 presupune paşii:

i) se verifică dacă a = 0; dacă da – ecuaţia este degenerată;

ii) se verifică dacă b = 0; dacă da x = 0; iii) altfel, x = -b/a.

Pentru prelucrări mai complexe, trebuie găsită o reprezentare explicită, în amănunt, a operaţiunilor şi paşilor efectuaţi pentru a

rezolva problema. De exemplu, în cazul de mai sus, al ecuaţiei de

gradul I, nu s-a specificat nimic privind introducerea datelor (valorile pentru a şi b) dar şi privind afişarea rezultatului x (care pentru un

calculator nu sunt subînţelese – aşa cum sunt ele pentru un om

obişnuit cu rezolvarea problemelor de matematică).

Programul principal:

#1 citeşte valorile pentru a şi b;

#2 soluţionarea ecuaţiei de gradul I;

#3 afişează soluţia.

Detalierea modulelor #1, #2, #3:

#1:

afişează pe rând nou: „Introduceţi valoarea pentru a: ”;

citeşte de la tastatură: a;

Page 89: Informatică economică

89

afişează pe rând nou: „Introduceţi valoarea pentru b: ”;

citeşte de la tastatură: b.

#2:

Dacă a=0 atunci

afişează pe rând nou: „Ecuaţie degenerată”;

altfel

x = - b/a.

#3:

afişează pe rând nou: „Soluţia este x = ”, x;

afişează pe rând nou: „Pentru reluare lansaţi din nou

programul”.

Exprimarea acţiunilor prin pseudocod este o modalitate eficientă de a

descrie operaţiunile ce urmează a fi implementate într-un program dar

poate fi folosită şi spre a descrie orice acţiune complexă ce apare în activitatea umană. Pentru familiarizarea cititorului cu codificarea

specifică în informatică (prin limbaje de programare sau

macrocomenzi), algoritmii prezentaţi în continuare se vor exprima în continuare în limba engleză şi nu în limba română, folosind

instrucţiuni specifice limbajelor C şi Java. Sperăm că dificultatea de

înţelegere a limbajului în engleză nu trebuie considerată ca dificultate de înţelegere a algoritmilor în sine, acestea fiind uşor de disociat dacă

se face traducerea mentală conform convenţiilor.

Organigrame (Scheme logice)

Succesiunea de operaţiuni ale unei prelucrări se poate descrie grafic

START a = b+c+sin(d)

i=i+1

STOP

i<=n Da Nu

Subprogram

“Maxim”

Date de intrare

b, c, d

(a) Terminator

iniţial

(b) Bloc de

prelucrare

(c) Bloc de decizie

binară

(d) Bloc de

intrare/ieşire

(e) Apel de

subprogram

(f) Terminator final

Page 90: Informatică economică

90

prin blocuri standard. Chiar dacă are mai mult o valoare istorică,

organigrama este un bun start în specificarea unui algoritm, fiind intuitivă şi uşor de constituit.

Figura 18. Blocuri grafice asociate prelucrărilor elementare reprezentate în

organigrame

Figura 19. Organigrama pentru algoritmul de rezolvare a ecuaţiei de

gradul I

Blocurile grafice generice sunt prezentate în Figura 18, cu simbolurile

şi semnificaţiile lor:

terminatorii (a) şi (f) indică începutul şi sfârşitul

prelucrărilor – delimitând astfel algoritmul descris;

START

Citeşte valori

pentru a, şi b

(de la tastatură)

c

a=0 Da Nu

Afişează

„Soluţia este:” x

b=0

Da Nu

x = 0 x = -b/a

Afişează

„Ecuaţie

degenerată”

STOP

Page 91: Informatică economică

91

blocurile (b) şi (e) indică efectiv prelucrările vizate prin algoritm – descrise prin formule sau printr-un subprogram

predefinit ;

blocul (d) indică o intrare sau o ieşire de date (citire sau afişare);

blocul (c) este necesar pentru specificarea ramificaţiilor de decizie – eventual, implicate în operaţiuni repetate.

Succesiunea operaţiilor se indică prin linii şi săgeţi care leagă

blocurile grafice prezentate, astfel constituind aşa-numita organigramă. Ca exemplu, se prezintă în Figura 19 organigrama

(schema logică) pentru rezolvarea ecuaţiei de gradul întâi.

Pseudocod

Atunci când se doreşte nu doar descrierea algoritmului ci şi

structurarea etapelor de rezolvare a problemei (prin modularizare),

este indicată utilizarea unui limbaj codificat care exprimă (în limba maternă) operaţiunile de executat şi cele de control al fluxului de

comenzi (cum sunt decizia binară, repetiţia). Modularizarea (adică separarea operaţiunilor pe secţiuni, fiecare cu un scop restrâns şi

specific) este singura modalitate de abordare a rezolvării problemelor

complexe şi cu soluţie puţin sau deloc cunoscută Pe de altă parte, descrierea algoritmilor prin pseudocod este mult mai compactă decât

organigrama (care necesită mult spaţiu pe foaia de scris), este apropiat

de un limbaj de programare, fiind o replică exprimată în limba maternă a programului structurat.

Ca exemplu, vom considera algoritmul de calculare a ariei şi

perimetrul unui dreptunghi cu laturile b (baza) şi i (înălţimea)

În limbaj natural, se poate descrie astfel:

Pasul 1: se introduc datele b şi i;

Pasul 2: dacă oricare din b sau i este număr negativ sau nul, atunci:

Pasul 2.1: scrie “Date de intrare incorecte”.

Pasul 2.2: stop. Pasul 3: Calculează A=b*i;

Pasul 4: Calculează p=2*(b+i);

Page 92: Informatică economică

92

Pasul 5: Scrie “Aria dreptunghiului este”, A

Pasul 6: Scrie “Perimetrul dreptunghiului este”, p Pasul 7: Stop

Acelaşi algoritm, reprezentat prin schemă logică. Operaţiile sunt reprezentate prin simboluri grafice, iar succesiunea lor prin linii sau

săgeţi

Acelaşi algoritm, reprezentat în pseudocod (un limbaj special de reprezentare a algoritmilor):

citeşte b,i;

dacă (b<=0 sau i<=0)

atunci scrie “Date de intrare incorecte”

altfel

A=b*i

p=2*(b+i)

scrie “Aria este “,a, “perimetrul este ”,b

stop

Page 93: Informatică economică

93

Remarcăm că, în toate cazurile, algoritmul indică ce operaţii se execută şi în ce ordine, fără să indice de ce se execută (în ce scop).

Limbajul natural nu este suficient de riguros.

Schema logică este clară şi intuitivă, indicând riguros atât operaţiile, cât şi succesiunea lor. Totuşi, pentru număr mare de operaţii, devine

dificil de reprezentat şi de urmărit.

Pseudocodul este riguros şi nu necesită desene. Operaţiile sunt specificate prin cuvinte cheie (de ex. citește, scrie, dacă, altfel, stop).

13.2. Elaborarea algoritmilor

Rezolvarea diferitor probleme din lumea reală cu ajutorul calculatorului se poate face doar dacă soluţia se cunoaşte dar trebuie

căutată într-un set existent sau dacă există o metodă de găsire a

soluţiei. Algoritmul este o asemenea metodă, dar elaborarea sa este de cele mai multe ori dificilă, considerată uneori (îndeosebi la

începuturile programării) o artă. Este evident că folosirea unor metode

sistematice de elaborare a algoritmilor este mai eficientă decât o căutare „la ureche” sau prin încercări; aceste metode sunt ele însele

algoritmi generici ce vor fi concretizaţi apoi pentru problema reală

dată.

Între metodele de elaborare a algoritmilor se amintesc cele mai

importante (numele fiind indicat în engleză spre a fi uşor de

recunoscut), cu o scurtă descriere a specificului lor:

Greedy – pentru crearea de submulţimi optimale cu elementele

preluate dintr-o mulţime dată şi cu respectarea unor restricţii impuse individual elementelor.

Backtracking – pentru crearea de submulţimi optimale cu elementele preluate dintr-o mulţime dată, cu respectarea unor

restricţii impuse elementelor dar şi setului (există relaţii între

elementele submulţimii soluţie).

Divide et impera – pentru probleme ce conţin secvenţe sau piese

discrete ordonate, care pot fi divizate în subprobleme care se

Page 94: Informatică economică

94

rezolvă separat şi apoi se obţine soluţia prin combinarea soluţiilor

parţiale.

Branch and Bound – pentru probleme în care soluţiile se pot

reprezenta ca noduri în arbore iar căutarea soluţiei se face prin parcurgerea arborelui urmărind totodată o funcţie de cost pentru a

limita adâncimea de căutare.

Programare dinamică.

Metode euristice.

Algoritmii generali pot sta la baza elaborării de algoritmi particulari, pentru rezolvarea problemelor concrete, după stabilirea celei mai

adecvate metode pentru situaţia de fapt.

13.3. Exemple de algoritmi

În continuare, se prezintă câteva exemple de algoritmi, cu descrierea

lor folosind instrucţiunile prezentate pentru controlul fluxului de

operaţiuni iar pentru comunicaţia cu omul (adică pentru afişare) se folosesc exprimări în cuvinte încadrate de { şi } (acolade). Acest

paragraf are ca scop exemplificarea unor algoritmi concreţi dintre cei

mai utilizaţi în prelucrări uzuale, pentru fiecare exemplu prelucrările fiind grupate într-un subprogram cu nume sugestiv ce poate apelat în

alte programe. Ambele exemple sunt aplicaţii ale metodei „Divide et

impera”.

Căutare (logaritmică) binară

Cea mai uzuală prelucrare efectuată cu un sistem de calcul este căutarea unei piese de date într-o mulţime oarecare – de exemplu date

aflate pe unul din discurile calculatorului sau date aflate în Internet.

După cum s-a arătat, cea mai eficientă căutare are loc atunci când datele sunt organizate arborescent. O metodă de căutare eficientă –

similară celei în arbore, se poate însă executa şi pe date ordonate

secvenţial (după un criteriu de ordine – alfabetic, numeric), adică date ordonate într-o listă.

Page 95: Informatică economică

95

Fie exemplul următor: se dă o listă (un tabel) cu date despre studenţi

(număr legitimaţie, nume, prenume, adresă, etc.) ordonate crescător după numărul de legitimaţie; se doresc informaţii despre un student cu

număr de legitimaţie cunoscut (denumit Tinta). Trebuie remarcat că

înşiruirea de numere de legitimaţie în listă nu este continuă – unii studenţi au rămas repetenţi, alţii s-au retras, deci secvenţa de numere

are „goluri”.

Metoda de lucru constă în compararea numărului Tinta cu numărul

de la jumătatea listei (element pivot), apoi selectează pentru căutare în continuare jumătatea superioară sau inferioară – funcţie de rezultatul

comparaţiei. Căutarea se repetă prin înjumătăţire succesivă până la

găsirea liniei numărului Tinta (şi afişarea informaţiilor) sau se

constată inexistenţa lui în listă.

Pentru descrierea algoritmului se consideră Lista (ca depozitar al

informaţiilor despre studenţi) apoi Tinta (ca variabilă ce conţine

numărul de legitimaţie căutat) şi elementul Pivot (valoare aflată la

mijlocul listei). Subprogramul CautaLogaritmic se bazează pe

alte subprograme (funcţii) necesare prelucrărilor: Vida(Lista)

care indică dacă lista nu mai are elemente, adică este vidă;

Jumate(Lista) indică numărul aflat la jumătatea listei;

JumateInf(Lista) extrage jumătatea inferioară iar

JumateSup(Lista) extrage jumătatea superioară al listei.

<Subprogram> CautaLogaritmic(Lista, Tinta)

{

if (Vida(Lista))

{Afiseaza „Studentul căutat nu există în listă”;

return}

else

{

Pivot = Jumate(Lista);

Page 96: Informatică economică

96

if (Pivot == Tinta)

{Afișează „Informaţii despre studentul căutat ...” ;

return}

if (Pivot < Tinta)

{Lista = JumateInf(Lista);

CautaLogaritmic(Lista, Tinta)}

if (Pivot > Tinta)

{Lista = JumateSup(Lista);

CautaLogaritmic(Lista, Tinta)}

}

} // final CautaLogaritmic

Subprogramul CautaLogaritmic este recursiv (v. 0); simbolurile

==, <, >, sunt operatori relaţionali ”egal”, „mai mare”, „mai mic”, cu

rezultat logic (adevărat/fals).

Sortare rapidă

În multe cazuri piesele de date trebuie aranjate în ordine crescătoare

(sortate ascendent) sau descrescătoare (sortate descendent) – vezi

cazul listei- funcţie de un criteriu de ordine (numeric sau alfabetic - lexicografic). Astfel, sortarea este o prelucrare des întâlnită şi, ca

atare, necesită metode rapide de execuţie. Există o serie de metode de

sortare, între care amintim: „metoda bulelor”, „metoda inserţiei”, „metoda selecţiei”. În cele ce urmează, se prezintă o „metoda rapidă”

de sortare (denumită „quicksort”), care este mult mai rapidă faţă de

alte metode (cum sunt metoda selecţiei, metoda inserţiei, faţă de care este de 100, respectiv de 20 de ori mai rapidă).

Sortarea rapidă se bazează pe înjumătăţire, rearanjând elementele prin

comparaţii între mijlocul listei şi capetele acesteia, apoi procedând similar cu jumătăţile obţinute până la ordonarea completă a listei.

Algoritmul poate fi realizat recursiv, deci permite o scriere compactă

şi elegantă.

Page 97: Informatică economică

97

Se consideră ca variabile: Lista (ca vector conţinând elementele de

sortat – în care un element în poziţia i este referit prin indexul său, adică Lista[i], apoi în lista curentă: indicele inferior (primul element)

Iinf, indicele superior (ultimul element) Isup, doi indici de lucru i şi j,

apoi elementul pivot (elementul de la mijlocul listei) Pivot. Funcţia Inversează() inversează elementele de pe poziţiile specificate ca

parametri.

<Subprogram> SortareRapida(Iinf, Isup)

{

i=Iinf; j=Isup;

Pivot=Lista[(Iinf+Isup)/2];

do

{

while(Lista[i]<Pivot)

i=i+1;

while(Lista[j]>Pivot)

j=j-1;

if (i<j)

{

Inverseaza(j, i);

i=i+1; j=j-1;

}

while(j>i);

if (Iinf<j)

SortareRapida(Iinf, j);

if (i<Isup)

SortareRapida(i, Isup);

} // final SortareRrapida

Page 98: Informatică economică

98

Trebuie remarcat că împărţirea din calculul poziţiei pivotului (Iinf+Isup)/2 este împărţire întreagă.

13.4. Analiza şi complexitatea algoritmilor

După cum a rezultat din prezentarea de mai sus a unor algoritmi şi a metodelor de elaborare a acestora, rezolvarea unei probleme se poate

face prin mai multe căi – deci prin algoritmi diferiţi, şi este utilă, chiar

necesară uneori, compararea acestor căi pentru a răspunde la următoarele întrebări:

Soluţia obţinută este corectă? Dacă da este ea optimă?

Rezolvarea problemei este inteligibilă şi uşor de modificat?

Execuţia algoritmului este eficientă - în sensul timpului de calcul şi a resurselor necesare?

Pe lângă aceste probleme fundamentale din punct de vedere practic

apar şi chestiuni teoretice prin care algoritmii se pot analiza şi compara:

Durata de execuţie este predictibilă?

Cât de complexă este rezolvarea problemei relativ la timpul de

calcul necesar?

Complexitatea algoritmului

În acest paragraf se vor stabile mărimi de evaluare a complexităţii algoritmilor. Analiza algoritmilor priveşte în principal timpul de

execuţie, dar acesta depinde puternic de sistemul de calcul şi de

contextul de rezolvare. O modalitate mai generală este calculul numărului de operaţii executate de algoritm pentru rezolvarea

problemei – aceasta fiind dependentă doar de metoda de rezolvare şi

de numărul n al pieselor de date de intrare. În acest sens, compararea programelor se poate face urmărind în principal numărul de operaţiuni

costisitoare ca timp de execuţie, cum sunt: apeluri de funcţii, înmulţiri

şi împărţiri, atribuiri, comparaţiile, etc.

Page 99: Informatică economică

99

Pentru un număr n de piese de date la intrare, ne interesează:

complexitatea temporală – notată T(n), care reprezintă numărul de operaţii executate de algoritm asupra setului de intrare (considerând o

operaţie în unitatea de timp);

complexitatea spaţială – notată S(n), care reprezintă numărul de

locaţii de memorie folosite de algoritm (memoria de date, stiva, regiştrii);

unde T(n) şi S(n) nu sunt funcţii ci relaţii, fiindcă pot avea pentru

acelaşi n rezultate diferite (dependente de modul în care algoritmi diferiţi rezolvă o problemă).

Analiza unui algoritm se face pentru un număr generic de n date în

cele trei cazuri de interes:

cel mai defavorabil – indicând maximul numărului de operaţii

efectuate,

mediu – indicând media numărului de operaţii efectuate,

cel mai favorabil - indicând minimul numărului de operaţii efectuate.

Uzual, se analizează cazul cel mai defavorabil, apreciat prin Ordinul

algoritmului, notat O (O mare), acesta corespunzând timpului cel mai lung (sau spaţiului cel mai mare) necesar algoritmului pentru a

prelucra toate piesele n de date. Complexitatea algoritmului este

indicată de ordinul său.

În urma analizei unui algoritm rezultă un ordin al acestuia, care poate

fi încadrat în una din clasele de complexitate de mai jos în scopul

comparării la un nivel mai general a algoritmilor:

Clasa P pentru probleme polinomiale, ce se pot rezolva într-un

număr de operaţii exprimabil printr-un polinom de n – numărul de piese de date, într-un mod determinist (adică cunoscut şi stabilit

perfect privind operaţiile şi rezultatul lor).

Clasa NP pentru probleme nedeterminist polinomiale, ce se pot rezolva într-un timp polinomial într-un mod nedeterminst (de

Page 100: Informatică economică

100

exemplu prin „ghicirea” soluţiei folosind algoritmi genetici, apoi

se verifică dacă soluţia este corectă.

În clasa NP există o subclasă de probleme numite NP-complete care

nu se pot rezolva în timp polinomial dar măcar se poate verifica în

timp polinomial o eventuală soluţie. Soluţia propriu-zisă necesită un timp de rezolvare cuprins între unul exprimat polinomial şi unul

exprimat exponenţial.

Page 101: Informatică economică

101

14. Categorii de prelucrare şi prezentare a

informaţiilor

În acest paragraf se vor trece în revistă o serie de prelucrări uzuale

realizate de sisteme de calcul, cu caracteristicile lor. Scopul

paragrafului este de a se completa noţiunile prezentate în paragrafele anterioare, cu locul şi rolul prelucrărilor de date şi modului cum

acestea sunt utilizate de către om. Se va începe cu prelucrări

matematice (cele care dau şi numele instrumentului „calculator”) dar se vor trece în revistă şi categorii de prelucrări care emulează modul

de a raţiona sau reacţiona al omului, precum şi prelucrări care prezintă

informaţia către acesta. Nu se vor trece în revistă domenii de utilizare a calculatorului în viaţa omului ci caracteristicile diferitelor prelucrări

pe care le poate (şi trebuie) să le facă în susţinerea unei utilităţi

umane.

14.1. Calcule matematice

De la începuturi, maşinile de calcul au fost gândite pentru a efectua

mai rapid calcule laborioase şi în volum mare. Caracteristicile acestor prelucrări sunt:

(1) determinismul – prelucrările execută operaţii şi paşi bine

determinaţi, spre rezultate repetabile (adică pentru aceleaşi date de intrare se obţin aceleaşi rezultate);

(2) exprimarea numerică – prelucrările se referă la cantităţi ce se

exprimă prin numere şi sunt reprezentate direct în sistemul de calcul în format binar.

Page 102: Informatică economică

102

Este deja evident că, prin caracteristicile lor, aceste prelucrări se

rezolvă algoritmic, pe baza unor modele matematice elaborate anterior şi a căror validitate este demonstrată şi verificată.

Prelucrările matematice se întâlnesc în orice aplicaţie, fiindcă în orice

domeniu al realităţii se utilizează mărimi cantitative. Tocmai de aceea, în general, limbajele de programare oferă – pe lângă operaţiile

generale de atribuire, decizie şi repetiţie (denumite instrucţiuni de

programare), un set de funcţii pentru prelucrări matematice uzuale (cum sunt funcţiile trigonometrice, cele de aflare a părţii întregi sau

fracţionare a numerelor reale) – grupate în biblioteci de funcţii

matematice.

Pentru efectuarea de calcule foarte laborioase – cum sunt calcule

pentru modelarea fenomenelor în mecanica fluidelor sau pentru volume foarte mari de date (în economie, administraţie, transport),

precum şi pentru calcule a căror rezultat este aşteptat imediat („cu

timp mic de răspuns”), se folosesc pentru prelucrarea datelor algoritmi paraleli. Cu aceşti algoritmi se realizează programe care vor rula pe

„maşini paralele”, adică maşini de calcul cu mai multe procesoare în

care fiecare prelucrează o anumită parte a problemei; rezultatele parţiale se preiau de la acestea şi se combină în rezultatul final ce va fi

prezentat omului. Algoritmii paraleli sunt elaboraţi pe baza unor

modele deterministe, rolul lor fiind în principal de a distribui sarcinile de calcul şi a obţine o încărcare echilibrată a procesoarelor.

Astăzi, prelucrarea paralelă se poate efectua în reţele de calculatoare

obişnuite, de exemplu folosind calculatoarele PC dintr-o reţea locală şi programe specializate care distribuie sarcinile de calcul pe acestea.

14.2. Prelucrări de birou

În această categorie se pot încadra toate prelucrările care susţin omul

în prelucrarea informaţiilor care, în mod tradiţional, foloseau ca suport hârtia sau mijloacele de comunicaţie de tip telefon sau poştă. Aceste

prelucrări şi aplicaţiile care le oferă privesc utilizatorul obişnuit, prin

acesta înţelegând orice persoană care are de prelucrat documente „la masa sa de lucru” – fie acesta un funcţionar, om de ştiinţă sau casnic.

Page 103: Informatică economică

103

Vom face mai jos o enumerare a prelucrărilor, domeniilor de lucru şi

instrumentelor utilizate pentru acestea, dar asupra lor se va reveni în detaliu pe parcursul cărții:

Prelucrări de documente „scrise” – folosesc procesoare de texte, ce oferă utilizatorului instrumente de editare, formatare şi

corectură automată a textului şi a elementelor de exprimare a

informaţiilor (tabele, imagini).

Calcule diverse şi ilustrarea seriilor cantitative prin histograme –

folosesc foi de calcul electronice, ce permit utilizatorului calcule rapide pe volume relativ mari de date şi într-o modalitate simplă

şi eficientă (fără a scrie programe speciale pentru acestea).

Pregătirea şi expunerea materialelor de prezentare – folosesc aplicaţii de prezentare către auditoriu, ce permit expuneri

multimedia către grupuri de oameni (folii de prezentare, sunet şi

imagini animate).

Gestiune şi prelucrare a datelor structurate (de tip articol) –

folosesc aplicaţii de baze de date, ce permit crearea de tabele cu informaţii de diverse tipuri şi manipularea sau prelucrarea

acestora.

Comunicaţii în interiorul şi exteriorul organizaţiei – folosesc aplicaţii de transfer date în intranet (de la şi spre colegi) sau în

Internet (de la şi spre lumea largă), care emulează serviciile poştale (poşta electronică – „e-mail”) sau consultarea de „pagini

cu informaţii” (web – în mod pasiv sau interactiv). Există apoi

aplicaţii de lucru la distanţă (de „acasă” se lucrează pe un calculator distant ca şi cum ar fi pe masa de lucru) şi vizionare

interactivă de produse mass-media.

Prelucrările din această categorie sunt foarte variate, aproape în majoritate fiind prelucrări algoritmice deterministe. Pentru faptul că

eficienţa şi aplicabilitatea lor devine tot mai largă, tehnicile de

Inteligenţă Artificială pătrund în aplicaţiile obişnuite, deci astăzi ele folosesc şi algoritmi nedeterminişti (reţele neuronale artificiale, logică

fuzzy, algoritmi genetici).

Page 104: Informatică economică

104

14.3. Prelucrări prin metode de Inteligenţă Artificială (IA)

În situaţiile din viaţa curentă, omul trebuie să le rezolve mai rar probleme cantitative şi precise; adesea sunt de rezolvat probleme

calitative într-un mod aproximativ. De exemplu, la traversarea unei

străzi, în plin trafic, un om nu face calculul vitezelor maşinilor, a distanţelor şi stării drumului (etc., etc.) spre a aprecia apoi viteza cu

care se va deplasa pentru a nu intra în coliziuni, ci procedează la un

raţionament aproximativ, bazat pe informaţii puţine, dar eficient: traversează fără nici o zgârietură. De asemenea, nu efectuează calcule

spre a recunoaşte o altă persoană sau o marcă de maşină ci, pe baza

caracteristicilor lor cunoscute şi sesizate, decide spontan cine sau ce este.

Domeniul care se ocupă cu simularea comportamentului fiinţelor vii

se numeşte Inteligenţă Artificială (IA). Implementarea tehnicilor IA se poate face fizic (prin sisteme electronice) sau logic (prin programe pe

sisteme de calcul). Sunt vizate, în principal, tehnici pentru:

(1) Emularea raţionamentului simbolic – prin Sisteme Bazate pe Cunoştinţe, în care se parcurge un set de cunoştinţe (exprimate ca

propoziţii) spre a obţine noi cunoştinţe.

(2) Reprezentarea şi inferenţa pentru informaţii aproximative – prin Logică Fuzzy (Vagă), în care exprimări lingvistice aproximative

(relative la cantităţi) intră în reguli „dacă .. atunci”, spre a obţine noi

valori – aproximative sau precise, necesare unei decizii.

(3) Recunoaşterea formelor – prin Reţele Neuronale Artificiale, în care

se pun în relaţie un set de caracteristici ale unor obiecte (reale sau

abstracte) cu un set de decizii, pe baza unui model conexionist.

(4) Soluţionarea problemelor de optim cu tehnici evolutive – prin

Algoritmi Genetici, în care mulţimea soluţiilor este privită ca o

populaţie de cromozomi în care au loc mutaţii şi selecţii spre adaptarea optimă la un set de restricţii date.

Cercetarea şi aplicaţiile Inteligenţei Artificiale se dezvoltă în principal

către următoarele arii de interes:

Page 105: Informatică economică

105

Demonstrarea teoremelor – ca modalitate de a valida un adevăr (o teoremă) prin găsirea unei secvenţe deductive de alte adevăruri

de la cel iniţial nevalidat (al teoremei) la altul final validat

anterior sau prezentat axiomatic. Utilitatea demonstrării automate a teoremelor este legată de evitarea rezolvării unor probleme

dificile doar pentru contexte sau date particulare – prin algoritmi

realizaţi ad-hoc de programatori „inteligenţi” sau prin păreri exprimate de experţi umani.

Jocuri ale minţii – şah sau alte jocuri în care „campioni” umani sunt provocaţi de maşini „inteligente” care de fapt rulează un

program dedicat jocului respectiv.

Analiză de tip Expert şi consultanţă în domenii aplicative – prin care se prelucrează informaţii de tip simbolic şi se emulează

raţionamente în contexte complexe, cu cunoştinţe incomplete sau

variabile: diagnoză medicală şi tehnică, predicţie.

Planificarea comportării prin analiză scop-mijloc – pentru a crea

şi planifica secvenţe de acţiuni, privite ca mijloace, care servesc unor scopuri direct legate de mijloace, de exemplu pentru

mişcarea şi comportarea roboţilor.

Înţelegerea şi utilizarea limbajului natural vorbit şi scris – necesar sistemelor de traduce automată, comandă şi exprimarea

vocală în interacţiunea cu maşina, înţelesului conţinutului unui mesaj.

Percepţie acustică şi vizuală, recunoaşterea formelor – pentru identificare de către maşină a obiectelor şi fenomenelor pentru a

le comunica omului sau pentru asistarea sa în luarea deciziilor.

Auto-învăţare şi auto-reproducere – pentru comunicarea maşină-mediu şi pentru replicarea unor obiecte (reale sau virtuale) în

scopul susţinerii unei utilităţi umane.

În continuare, se vor descrie pe scurt modalităţile de reprezentare şi prelucrare a informaţiilor prin metode de lucru specifice celor patru

domenii IA, prezentate mai sus. Totuşi, înainte de a descrie în mod

tehnic domeniul Inteligenţei Artificiale, este indicat să lămurim

Page 106: Informatică economică

106

termenul de inteligenţă şi modul în care calculatorul se poate

comporta „inteligent”.

Nu vom da o definiţie a inteligenţei (care de fapt este foarte

controversată) ci, în susţinerea teoriilor inteligenţei artificiale, vom

aminti că dualism-raţionalismul Cartezian şi monismul materialist consideră inteligenţa oarecum diferit, dar în esenţă simulabilă cu

calculatorul. Iniţial, inteligenţa era considerată capacitatea de a emite

judecăţi, iar de aici materialismul computaţional a emis următoarea secvenţă practică:

(A) inteligenţă raţionament prelucrare simbolică

calculabilitate,

care fundamentează „Sistemele Bazate pe Cunoştinţe” (în engleză

Knowledge Based Systems - KBS). Totuşi, acţiunile „inteligente” ale

lumii vii nu se reduc toate la raţionament (improprie, după bunul simţ, melcilor sau chiar pisicii spre exemplu). Fiinţele vii, în principal,

reacţionează la stimuli din mediu:

(B) inteligenţă reacţie prelucrare subsimbolică

calculabilitate,

care fundamentează prelucrările de „Soft-computing”, adică prin tehnici Fuzzy, Reţele Neuronale Artificiale şi Algoritmi Genetici.

Am putea considera prima abordare (A) ca judecată emisă de om prin

„conştient”, iar a doua abordare (B) ca reacţie instinctivă sau intuitivă a omului prin „subconştient”.

Page 107: Informatică economică

107

15. Realizarea programelor şi programe suport

Funcţionarea unui sistem de calcul presupune existenţa pe suportul fizic (echipament) a secvenţei de comenzi (program) care indică ce

prelucrări suportă valorile de interes (date). Anterior am nuanțat cele

trei entităţi, privind:

(I) structura constructivă şi funcţională a echipamentului de

calcul;

(II) reprezentarea datelor referitoare la diverse tipuri de informaţii;

(III) comenzile elementare (instrucţiuni) şi modalităţile de

soluţionare generică a problemelor (algoritmi).

Totuşi, acestea sunt doar instrumente puse la dispoziţia omului de Tehnologia Informaţiei şi Comunicaţiilor, dar rezolvarea completă a

unei probleme noi (necunoscute) presupune abordarea tuturor

aspectelor ce apar în situaţii reale, ba chiar mai mult – elaborarea unei soluţii generice pentru toate (sau cât mai multe din) problemele

similare. Sunt necesare:

(IV) analiza problemei (sau clasei de probleme) şi elaborarea unei soluţii generale adecvate (analiza şi soluţionarea problemei);

(V) înscrierea comenzilor de găsire a soluţiei cu prevederea tuturor

situaţiilor ce pot apare, apoi furnizarea acestora calculatorului (proiectarea şi realizarea programului);

(VI) validarea soluţiei şi utilizarea ei pentru situaţii concrete din

clasa de probleme .

În acest modul se vor aborda chestiuni ce privesc acţiunile (IV), (V) şi

(VI), cu metodele sistematice ce stau la baza lor, cu mijloacele prin

care aceste acţiuni se pot realiza eficient (sau automat) şi cu chestiuni legate indirect de utilizarea soluţiei – cum sunt documentarea,

Page 108: Informatică economică

108

întreţinerea sistemului, dezvoltarea sa. În principal, scopul tuturor

acestor acţiuni este realizarea programului de calculator, adică programarea.

Programul este o secvenţă de comenzi exprimată într-un mod

codificat şi care poate fi interpretat şi executat de către calculator, având ca scop prelucrarea informației. Practic, programul este un

ansamblu de instrucțiuni, scrise într-un limbaj de programare, pe care

calculatorul le executa pentru a îndeplini o anumită sarcină.

Programul conţine:

descrierea datelor de intrare, de ieşire şi intermediare cu care se operează;

descrierea operaţiilor efectuate asupra datelor (a algoritmului de prelucrare).

Pe scurt, Program= date + algoritm.

După cum s-a arătat, un program nu prezintă doar secvenţe (succesiuni) de comenzi, ci şi ramificaţii sau repetiţii, iar secvenţa este

esenţială fiindcă reflectă modalitatea în care omul concepe rezolvarea

unei probleme – paşi succesivi, cu o singură operaţie la un moment dat. Chiar şi procesorul este astfel realizat constructiv (indiferent cât

de perfecţionat ar fi) pentru a executa o singură comandă al un

moment dat, iar mai multe comenzi în serie (secvenţă). Un sistem de calcul poate executa mai multe comenzi simultan doar dacă are mai

multe procesoare (este sistem multi-procesor sau maşină paralelă).

Pe de altă parte, la rezolvarea unei probleme cu ajutorul calculatorului apar situaţii complexe, colaterale problemei de bază, ce trebuie şi

acestea rezolvate, cum sunt: condiţii limită ale contextului de lucru

sau ale valorilor de intrare, greşeli posibile pe care operatorul uman le poate face (din necunoaştere sau neatenţie); apoi prezentarea

rezultatelor este importantă: tabele, grafice, sunete etc. Se constată

deci că rezolvarea unei probleme (chiar foarte simplă) implică, de fapt, rezolvarea multora altor probleme pentru utilizarea de către om a

soluţiei.

Page 109: Informatică economică

109

Aplicaţia este un set de programe reunite şi interdependente, care se

prezintă într-un mod unitar şi oferă soluţii pentru o clasă de probleme date.

Sistemul informaţional (engleză: information system, franceză:

système d'information) este un ansamblu organizat de elemente, implicate în procesul de colectare, transmisie, stocare, prelucrare şi

diseminare a informaţiei. Nu este obligatoriu ca aceste operaţii să se

efectueze cu echipamente de calcul. De altfel, sistemele informaţionale au existat cu mult înaintea apariţiei calculatoarelor.

Sistemul informaţional este compus din:

totalitatea informaţiilor cu care operează;

echipamentele folosite pentru operaţii asupra informaţiei;

personalul implicat în funcţionarea şi administrarea sistemului;

procedurile aplicate pentru funcţionarea sistemului.

Interacţiunea dintre elementele sistemului informaţional se realizează

prin transmiterea de informaţie.

Se numeşte sistem informatic acea parte a sistemului informaţional în care operaţiile de culegere, transmitere, prelucrare, stocare şi regăsire

a informaţiei se realizează folosind echipamente de calcul şi alte

mijloace specifice tehnologiei informaţiilor şi comunicaţiilor. De altfel, în alte limbi nu există un termen special pentru sistem

informatic, folosindu-se termenul de “sistem de tehnologia informaţiei

(şi comunicaţiilor)”.

Sistemul Informatic este un set de aplicaţii care funcţionează pe o

structură de echipamente interconectate, exploatate de un număr mare

de oameni către o utilitate complexă.

Ca exemple se amintesc sisteme informatice pentru: rezervarea

biletelor de avion sau tren, camerei de hotel, urmărirea stocurilor de

produse ale unei companii, evidenţa proceselor într-un tribunal. În cele ce urmează vor fi prezentate chestiuni legate de programarea

calculatoarelor, vizând realizarea completă şi eficientă a aplicaţiilor şi

a sistemelor informatice.

Page 110: Informatică economică

110

16. Problematica programării

Programarea este un proces de exprimare a instrucţiunilor prin care

se rezolvă o problemă şi care pot fi convertite mecanic în acţiuni ale

unui sistem de calcul.

Programarea este dependentă de limbajul de codificare a

instrucţiunilor, de cunoştinţele programatorului privind regulile

structurale (sintaxa) şi semnificaţia elementelor de limbaj (semantica), de modul cum se execută (clar, comentat şi documentat) şi de modul

general de gândire privind soluţionarea problemelor (metode de

analiză şi implementare). De aceea, mult timp, programarea s-a considerat o „artă”, programatorul fiind o persoană care se poate

exprima pe sine (ca mod de gândire, eleganţă în exprimare, eficienţă a

soluţiei) prin produsul program realizat. Întrucât informatica a devenit o industrie, programarea este privită astăzi prin prisma eficienţei

muncii şi a soluţiilor, adică vizează productivitatea muncii de

programare şi standardizare a utilizării produselor.

Se vorbeşte astăzi de „instrumente de programare” care oferă

programatorului (acum un lucrător foarte disciplinat, ghidat în

acţiunile sale) o serie de componente, reguli de combinare a lor şi structuri de construire a aplicaţiilor, împreună cu mijloace de testare şi

apoi mijloace de elaborare automată a documentaţiei produsului. Imaginea programatorului care primeşte o problemă, se aşează la

calculator şi – într-un fel de transă, tastează instrucţiune după

instrucţiune realizând un program unic în felul său, este o imagine de film naiv care nu are a face cu realitatea. Mai mult, programatorul

clasic (de limbaj) nu mai este atât de des întâlnit, pentru că locul lui

este luat de o persoană din alt domeniu de activitate (eventual chiar în cel din care provine problema de rezolvat) dar este educat în

informatică şi foloseşte instrumentele informatice ca pe „jocuri de

Page 111: Informatică economică

111

cuburi”, cu care realizează aplicaţii după dorinţa sa şi cu prelucrările

pe care le cunoaşte foarte bine – fiind parte din profesia sa.

Rezultatul programării este un produs program. Ca orice produs, el

are un ciclu de fabricaţie, o valoare de utilizare (şi de aici un preţ),

precum şi un proprietar. Spre deosebire de alte produse, un program produs de o firmă este proprietatea acesteia şi nu a cumpărătorului

programului; cumpărătorul achiziţionează doar dreptul de utilizare a

programului şi ca atare nu îl poate modifica sau revinde. Un program reprezintă implementarea unei idei (deci presupune o „tehnologie” de

implementare a ideii) şi, conform reglementărilor privind dreptul de

proprietate intelectuală (pentru orice creaţie), firma sau persoana care l-a elaborat are drepturi de autor asupra lui, însă nu poate emite

pretenţii asupra ideii la care se referă programul. Produsele program intră astfel pe piaţă, alături de alte produse, cu specificul lor – nu pot

deveni proprietatea cumpărătorului, iar multiplicarea lor neautorizată

este ilegală.

16.1. Etape în ciclul de viaţă ale unui produs program

Programarea propriu-zisă este doar o etapă în realizarea şi existenţa

unui program. Ciclul de viaţă al unui produs program cuprinde acţiuni

desfăşurate de la lansarea ideii programului până la înlăturarea lui (fiind perimat sau inutil). Etapele din viaţa unui program sunt grupate

în faze ca în Figura 20 iar evoluţia ciclică a fazelor este ilustrată în

Figura 21.

În continuare sunt descrise etapele din ciclul de viaţă, indicând

metodologii sau abordări sistematice care cresc eficienţa muncii în

fiecare etapă. O metodologie în domeniul analizei şi proiectării unei aplicaţii (sau a unui sistem informatic) se referă la următoarele

aspecte:

modele – ca viziuni conceptuale asupra obiectelor şi activităţilor într-un domeniu dat;

metode – ca acţiuni ce determină obiecte şi activităţi concrete din problema de rezolvat;

Page 112: Informatică economică

112

instrumente – ca mijloace de lucru software care ajută analiza şi/sau proiectarea aplicaţiei.

Figura 20. Faze şi etape în existenţa unui produs program

Formularea cerinţelor

În această etapă se enunţă, de fapt, problema ce se doreşte rezolvată cu ajutorul calculatorului şi constituie motivul pentru care este necesară

aplicaţia şi se enunţă o soluţie de principiu, care rezultă chiar din

formularea cerinţelor noului program sau sistem informatic. Adesea, beneficiarul aplicaţiei nu ştie exact ce doreşte de fapt şi nici

posibilităţile pe care un program i le poate oferi. De aceea, ciclul de

viaţă se poate relua, chiar cu reformularea cerinţelor – spre a fi în acord cu realitatea sau cu disponibilul financiar pentru produsul

program.

Analiză

Proiectare

Implementare

Exploatare

1. Formularea cerinţelor

2. Studiul problemei şi elaborarea soluţiei

3. Elaborarea specificaţiei de programare şi strategiei de testare

4. Proiectarea aplicaţiei

5. Proiectarea programelor (şi structurilor de date)

6. Realizarea şi testarea modulelor program

7. Integrarea şi testarea aplicaţiei

9. Darea în exploatare (sau comercializarea)

10. Întreţinerea aplicaţiei

11. Modificarea sau actualizarea aplicaţiei

FAZE ETAPE

Testare 8. Teste de conformitate cu cerinţele

Cerinţe

Dezvoltare

Page 113: Informatică economică

113

Figura 21. Ciclul de realizare a unui produs program (aplicaţie sau sistem

informatic)

Analiza problemei

Această etapă începe cu „Studiu şi elaborarea soluţiei problemei”, prin care se evaluează situaţia existentă, se parcurg metode sau soluţii deja

aplicate în situaţii similare, apoi se stabilesc acele metode (eventual şi

algoritmii) care permit rezolvarea conceptuală a problemei. Studiul efectuat descrie problema (sau sistemul ţintă) din patru puncte de

vedere:

i) viziunea externă (specificaţia) – asupra scopurilor aplicaţiei;

ii) viziunea organizaţională (structurală) – asupra modului de

realizare a aplicaţiei;

iii) viziunea comportamentală (temporală) – asupra evoluţiei

dinamice a aplicaţiei;

iv) viziunea asupra resurselor – hardware (echipamente de prelucrare şi transfer), software (alte programe necesare

aplicaţiei), resurse umane (implicate în operarea şi utilizarea

Cerinţe Analiză

Proiectare Testare

Implementare

Cerinţe revizuite

validare

validare

Rapoarte cu erori

la testare

Specificaţii de analiză

Specificaţii de proiectare

Specificaţii de implementare Cod sursă şi

Documentaţie de utilizare

Page 114: Informatică economică

114

aplicaţiei), resurse financiare (sume estimate pentru realizarea

aplicaţiei).

Pentru realizarea unei analize precise şi complete, urmată de

elaborarea sistematică a soluţiei, se recomandă respectarea unei

metodologii de analiză, care este, de obicei, specifică modului de proiectare şi dezvoltare a aplicaţiei. La baza celor mai multe

metodologii stă conceptul de diagramă „Entitate-Relaţie”, care constă

într-o reprezentare grafică, intuitivă, a obiectelor şi legăturilor dintre ele în problema reală dată. De asemenea, abordările de analiză pot

evolua „de la mic la mare” (bottom-up, de jos în sus, de la amănunt la

general) sau „de la mare la mic” (top-down, de sus în jos, de la general la amănunt).

Se amintesc pe scurt câteva metodologii, cu specificul lor:

a. MERISE – orientată spre aplicaţii pentru Baze de Date. Priveşte

sistematic trei niveluri: conceptual (CE se doreşte), Logic şi

Organizaţional (CINE, CE face şi UNDE), Fizic şi Operaţional (CUM face). Prin această metodologie se elaborează modele conceptuale

pentru date şi pentru prelucrări, ce vor fi apoi detaliate la faza de

proiectare a aplicaţiei.

b. OMT (Object Modeling Technique) – orientată pe obiecte, prin care

se identifică în problema dată obiectele şi metodele asociate. Ca etape

parcurse se amintesc: modelarea obiectelor, modelarea dinamică (a evoluţiei obiectelor), modelarea funcţională (a funcţiilor structurii de

obiecte).

c. UML (Unified Modeling Language) – orientată pe obiecte şi aplicabilă în aproape orice domeniu. Obiectele utilizator şi cele din

structura sistemului se modelează prin: diagrame „use-cases” (scopul

actorilor), diagrame „class” şi „objects” (proprietăţi şi metode din structura ierarhică a sistemului), diagrame „sequence” şi

„collaboration”(mesaje şi interacţiuni între obiecte), diagrame „state”

şi „activity” (tranziţii şi roluri ale obiectelor), ce vor fi urmate în etapa de proiectare de diagrame „components” şi „deployment”

(implementare şi configurare efectivă).

Page 115: Informatică economică

115

Fiecare metodologie deține instrumente software adecvate, pentru

asistarea experţilor umani în modelarea soluţiei şi a programului sau sistemului de informatizare. Prin aceste instrumente se pot elabora

sistematic structuri de obiecte conceptuale, care se reprezintă ca

diagrame şi scheme bloc fizice şi funcţionale ale viitoarei aplicaţii.

Persoanele implicate în această etapă: analişti în domeniul problemei

(adică specialişti cu experienţă şi suficiente cunoştinţe pentru a

elabora o soluţie viabilă şi în detaliu), analişti de sistem (adică informaticieni cu experienţă în tipul de probleme din care face parte

problema de rezolvat), beneficiarul şi utilizatori obişnuiţi pentru

sistemul existent (care dau detalii asupra situaţiei existente şi problemei de rezolvat, pretind un mod de funcţionare a aplicaţiei şi un

anume mod de prezentare a rezultatelor). Documentele care rezultă din această etapă sunt „Specificaţia de proiectare” (descrierea de

principiu a informaţiilor şi prelucrărilor) şi „Strategia de testare” (care

prevede modurile în care se vor testa modulele şi întreg ansamblul, precum şi datele de test – cu rezultatele aşteptate).

Proiectarea aplicaţiei

Etapa de proiectare („design”) se referă la structurarea efectivă a blocurilor software cu indicarea rolurilor, interacţiunilor şi resurselor

fiecăruia. Activitatea de proiectare implică abstractizarea faptelor ce

au rezultat în etapa de analiză, pentru modelarea informaţiilor şi acţiunilor necesare rezolvării problemei date. Procedura de

abstractizare elimină faptele irelevante şi le accentuează pe cele

esenţiale, iar procedura de modelare reprezintă informaţii şi acţiuni într-un mod specific. Modelul obţinut priveşte doar aspectele care se

doresc rezolvate ale problemei (nu toate aspectele acesteia) şi va

conţine obiecte cu (şi asupra cărora) se acţionează. Pentru un produs informatic, modelul poate fi formal (adică exprimat prin simboluri, de

exemplu prin formule) sau procedural (adică exprimat prin cuvinte ca

o reţetă de bucătărie).

Metodologia aplicată la etapa de proiectare este puternic dependentă

de modalitatea de programare. De aceea, etapele de proiectare şi

implementare sunt strâns legate, uneori chiar suprapuse iar această legătură provine din modul cum este gândită, chiar de la etapa de

Page 116: Informatică economică

116

proiectare, realizarea efectivă (implementarea) aplicaţiei pe întregul ei

şi pe fiecare program în parte. Între metodologii se amintesc două mai importante: proiectarea obiectuală (pentru aplicaţii în care se pot

discrimina obiecte din lumea reală ce sunt manipulate de aplicaţie) –

cu utilizare mai frecventă în domenii tehnice şi care simulează realitatea și proiectarea cu baze de date (pentru aplicaţii de gestiune a

resurselor de orice fel) – cu utilizare frecventă în economie şi

administraţie.

Pe lângă partea software, la această etapă se proiectează şi structura

de echipament, privind: structura de calculatoare şi configuraţia

fiecăruia, structura de comunicaţie (reţea locală, echipamente de reţea, conectarea la Internet) și structura de periferice partajate (adică

folosite în comun) de mai mulţi utilizatori (imprimante sau mese de desen, interfeţe de proces pentru culegerea datelor sau comanda din /

către instalaţii). Se proiectează tipul şi configuraţia sistemelor de

operare - strâns legat de structura de echipamente şi de scopurile aplicaţiei.

Persoanele implicate în această etapă sunt: analişti de sistem

(informaticieni cu pregătire specială în folosirea unui instrument de proiectare şi implementare a programelor), ingineri hardware şi

ingineri de sistem (care proiectează structura de echipamente şi

programe), conducători de proiect (specialişti în domeniul ţintă sau în informatică, care cunosc modul de organizare a activităţilor complexe

precum şi domeniul ţintă). Documentele elaborate la finalul etapei

sunt „Specificaţia de programare” (indică structura de module şi acţiuni apoi datele necesare fiecărui program), „Planificarea lucrărilor

de implementare”și „Inventarul resurselor necesare” (financiare,

umane şi materiale) pentru realizarea noului program sau sistem de informatizare,

Implementarea şi testarea aplicaţiei

Activitatea esenţială a acestei etape este programarea. Se vorbeşte adesea de „programarea calculatoarelor” subînţelegând toate

activităţile implicate de aceasta, poate fiindcă programarea este

activitatea prin care efectiv echipamentul de calcul devine funcţional (fără programe este „fier mort”). În sine, programarea constă în

Page 117: Informatică economică

117

codificarea operaţiunilor pe care calculatorul trebuie să le execute

către atingerea unui scop dat (calcul matematic, retuşarea şi afişarea unei imagini, sau mişcarea braţului unui robot). După cum se constată,

programarea este doar partea de realizare efectivă a programului, care

însă necesită multe alte activităţi anterioare şi posterioare.

Fazele realizării unui program sunt:

(I) Înscrierea programului sursă – prin care se descriu acţiuni

(folosind un limbaj de programare) într-un text scris cu un editor de texte. Atât limbajul cât şi modul de realizare a programului sursă sunt

apropiate obişnuinţelor umane (cum spre exemplu, o reţetă de

bucătărie este înscrisă ca text, într-o formă simplificată, uneori chiar codificată).

(II) Compilarea – prin care textul sursă este „tradus” din limbajul de programare (exprimat prin cuvinte – ) în limbajul maşinii (exprimat

prin coduri binare). Traducerea este realizată de un program special

pentru limbajul de programare ales – numit compilator, iar rezultatul este codul obiect al programului.

(III) Editarea legăturilor – prin care în codul obiect se inserează

subprograme, preluate din biblioteci de subprograme, ce descriu prelucrări uzuale, pe care programatorul le foloseşte fără a mai scrie

cod (fără a scrie programul ci doar a-l apela din bibliotecă). Astfel,

prelucrări care au fost doar amintite în programul sursă se înscriu efectiv în codul obiect. Rezultatul fazei este codul executabil al

programului, adică forma binară ce poate fi încărcată direct în

memoria de lucru şi poate executa operaţiunile programate.

Cuvintele, ce exprimă comenzi, se combină în limbajul de programare

respectând o sintaxă strictă (ca reguli gramaticale); programatorul

poate greşi (din neatenţie, din necunoaștere), astfel că textul sursă fiind greşit este posibil să nu poată fi interpretat de calculator. În acest

caz, este necesară:

(IV) depanarea programului – care constă în modificarea textului sursă spre a fi eliminate erorile. Identificarea erorilor şi apoi

verificarea programului se realizează cu ajutorul unui depanator

(program de asistare a programatorului în activitatea de verificare a

Page 118: Informatică economică

118

corectitudinii programului). Corectarea efectivă a erorilor constă în

înscrierea corectă a cuvintelor sau a combinaţiilor de cuvinte în textul sursă.

Depanatorul localizează erorile din program şi face chiar sugestii de

corectură, însă aceste erori sunt legate doar de „modul de exprimare” în limbajul dat, nu de modul cum a fost rezolvată problema (soluţia

corectă sau nu); eliminarea erorilor de soluţionare a problemei se

poate face doar prin executarea de teste pe date şi în situaţii reale, urmată de compararea rezultatelor cu cele aşteptate şi apoi

modificarea algoritmilor de prelucrare.

În general, editarea, compilarea şi depanarea programului se realizează folosind un mediu integrat (un program complex cu toate

aceste instrumente), spre a spori eficienţa muncii de programare. Astfel de instrumente sunt „mediile de programare” sau

„instrumentele de inginerie software” CASE. Scrierea efectivă a

programului se numeşte codificare. Această operaţiune complexă nu se realizează doar înscriind textul în limbajul de programare ales ci se

includ date, obiecte sau prelucrări „prefabricate” din biblioteci ale

mediilor de programare utilizate pentru scrierea aplicaţiei. În variante mai evoluate (utilizând instrumente CASE sau instrumente RAD), se

pot realiza programe prin „plasarea” unor obiecte virtuale ce

reprezintă date şi acţiuni necesare rezolvării diferitor aspecte ale problemei (introducere de date, prelucrare, afişare).

Aplicaţia se implementează modular – fiecare subprogram rezultat la

proiectare (şi înscris în „Specificaţia de programare”) este codificat şi testat separat. La realizarea programelor se respectă principii de

inginerie a programării, în scopul depanării facile şi apoi a dezvoltării

coerente a fiecărui modul şi aplicaţie. După ce modulele sunt verificate, se face integrarea aplicaţiei, adică se instalează toate

piesele software şi hardware ale aplicaţiei. Se face testarea ansamblul

în condiţii de laborator şi se emit documentele de conformitate cu cerinţele (dacă sunt respectate sau nu, care din cerinţe nu au fost

satisfăcute şi de ce).

Page 119: Informatică economică

119

Figura 22. Fazele de realizare ale unui program

În situaţia în care funcţiile aplicaţiei sau utilizarea acesteia nu sunt conforme cerinţelor, se decide dacă şi pentru care din cerinţe se reiau

fazele de analiză, proiectare şi apoi cele de implementare cu testare.

Similar fazei de proiectare, pentru structura de echipamente se procedează la achiziţionarea, instalarea şi testarea fiecărui echipament

şi a întregului sistem, format din calculatoare, reţea şi echipamente de

interconectare, periferice în reţea, alimentare cu energie electrică, spaţii de securizare a echipamentelor sensibile şi stocare a suporturilor

de date.

Persoanele implicate în aceste faze sunt: analişti programatori (elaborează structurile conceptuale de module sau obiecte şi stabilesc

datele şi prelucrările pentru fiecare din ele), programatori (realizează

codificarea programelor), ingineri electronişti, electricieni, alţi tehnicieni (pentru instalarea echipamentelor şi, eventual, amenajarea

spaţiilor), ingineri de sistem (pentru instalarea sistemelor de operare şi

integrarea aplicaţiilor), precum şi beneficiari sau utilizatori (pentru testarea utilizării aplicaţiilor şi certificarea conformităţii cu cerinţele).

Documentele elaborate în finalul acestei etape sunt: „Programe sursă”

ale aplicaţiei şi fişierelor de comandă, „Documentaţia aplicaţiei” (care descrie structura de module, funcţionarea şi configurarea aplicaţiei),

Editare

program

Program

Obiect

Program

Sursă

Biblio.

programe

Compilare

program

Program

Exec. Editare

Legături

Depanare

program

Page 120: Informatică economică

120

„Manualul de utilizare”, „Fişe de testare” (care constată conformitatea

utilizării cu cerinţele). Darea în exploatare a aplicaţiei se face după o testare la utilizator (de obicei de 72 de ore), şi dacă aceasta a decurs cu

succes se încheie un „Proces verbal de recepţie”. Acest document

încheie ciclul de realizare al aplicaţiei; oricare alte modificări solicitate şi realizate după acest moment se consideră lucrări separate,

pentru care se parcurg din nou etapele (de la analiză până la

implementare şi testare).

Exploatarea şi dezvoltarea aplicaţiei

După ce aplicaţia a fost testată şi recepţionată de către beneficiar ea

intră în exploatare, adică este utilizată pentru scopul pentru care a fost realizată. „Darea în exploatare” este faza în care personalul utilizator

urmează cursuri de pregătire pentru utilizarea aplicaţiei şi, eventual, conducerea asigură cadrul organizatoric (personal specializat, spaţii şi

regulamente de lucru) pentru aplicaţia sau sistemul în cauză.

Pe durata exploatării aplicaţiei (sau a sistemului de informatizare) pot apare diverse probleme, care trebuie rezolvate spre a se asigura o

funcţionare corectă. Dintre probleme amintim: actualizarea unor date

ale aplicaţiei de tip parametric (de exemplu la modificarea legislaţiei legată de o aplicaţie de contabilitate), configurare periodică,

administrarea resurselor sistemului (imprimante, discuri, conturi

utilizator), rezolvarea unor incidente de operare sau ce apar după un accident (defect) sau după modificări în echipamente. Acţiunile de

rezolvare a unor asemenea probleme se pot reuni în activitatea de

întreţinere a aplicaţiei.

Persoanele implicate în această activitate sunt: ingineri de sistem

(asigură configurarea corectă a sistemului de operare şi a programelor

de aplicaţie), administratori de baze de date (asigură configurarea şi asistă utilizatorii în utilizarea corectă a bazelor de date) administratori

de reţea (asigură configurarea şi menţinerea bunei funcţionări a

echipamentelor şi programelor de comunicaţie), ingineri şi/sau tehnicieni de întreţinere echipament, utilizatori obişnuiţi şi utilizatori

„privilegiaţi” – ultimii având de fapt sarcini speciale, de exemplu

gestiunea resurselor grupului de lucru, servicii de configurare specifică grupului de lucru; calificativul de „privilegiat” se referă la

Page 121: Informatică economică

121

drepturile (şi răspunderile) extinse pe care le au privind accesul la date

şi programe.

Exploatarea aplicaţiei – în forma în care a fost achiziţionată, are loc

până la apariţia unei versiuni mai perfecţionate (adică o dezvoltare - în

engleză „up-grade”) sau până la inutilitatea ei (datorită apariţiei pe piaţă a unor noi produse sau prin dispariţia scopului aplicaţiei). În

măsura în care prin modificarea aplicaţiei se pot obţine caracteristici

mai performante, se poate intra într-o etapă de dezvoltare a aplicaţiei, în care se repetă toate etapele – de la analiză la implementare, parcurse

la realizarea aplicaţiei. Evident, cea mai marea parte a programelor din

aplicaţia curentă nu ar trebui să sufere modificări, ci doar cele care nu mai sunt de actualitate sau necesită perfecţionări.

16.2. Limbaje de programare

În modulele anterioare s-au amintit unele limbaje de programare în contextul declarării tipurilor de date iar apoi a tipurilor de comenzi

necesare descrierii prelucrărilor cu ajutorul sistemelor de calcul. De

fapt, acestea sunt cele două aspecte generice prin care omul comunică maşinii ce are de făcut: cu ce (datele) şi cum (comenzile). La primele

calculatoarele din primele generaţii (din 1948 şi până în 1980) se

puteau introduce datele şi comenzile direct în cod binar, prin comutatoare. Acest mod de lucru era extrem de greoi şi în plus era

accesibil doar celor care cunoşteau bine maşina şi reprezentările

interne ale datelor şi comenzilor (iar varietatea maşinilor de calcul devenise deja foarte mare). Un limbaj de programare apropiat omului

oferă independenţă programatorilor faţă de tipul maşinii de calcul,

permițând acestuia să se concentreze asupra rezolvării problemei, nu asupra maşinii.

Un limbaj de programare este un set de cuvinte cu semnificaţii

precise, care se pot combina după reguli stricte pentru a exprima comenzi şi a descrie date necesare unui tip de prelucrare.

Limbajele de programare sunt limbaje artificiale, în care se scriu

programele pentru calculator. Limbajul trebuie să poată fi înţeles de către om (care îl concepe), dar trebuie să poată fi executat de

Page 122: Informatică economică

122

calculator. Din această cauză, trebuie să respecte un formalism

riguros. Din punctul de vedere al comodităţii de utilizare de către om, există mai multe niveluri de limbaje de programare: cod maşină,

limbaje de asamblare, limbaje de nivel superior.

În limbajul maşină, numit şi cod maşină, instrucţiunile sunt scrise prin numere, aşa cum sunt ele în memoria calculatorului în momentul

executării programului.

O instrucţiune maşină tipică are forma

<cod operaţie> <adresa operandului>, unde ambele părţi ale

instrucţiunii sunt numere.

Codul maşină este executat direct de calculator, fiind foarte greu de scris şi înţeles de către om.

Cu toate că s-au făcut diverse încercări de elaborare a unui limbaj de programare universal, care să satisfacă cerinţe spre orice scop,

diversitatea limbajelor de programare a crescut datorită pe de o parte

tendinţei de specializare resimţită în lumea modernă, pe de altă parte datorită unor interese comerciale ale firmelor producătoare de

software. Există, astfel, limbaje pentru dezvoltarea de programe

comerciale, ştiinţifice, pentru prelucrări grafice sau chiar pentru amuzament. Unele limbaje necesită cunoştinţe profunde asupra

structurii şi funcţionării sistemului de calcul şi sistemelor de operare,

altele pot fi folosite de începători, unele limbaje se folosesc la programarea microcontroller-elor (care comandă aparate moderne de

jos nivel, în orice domeniu – de la dispozitive în instalaţii industriale

până la maşina de spălat sau cuptorul cu microunde), altele se folosesc la programare super-calculatoarelor (cu mii de procesoare funcţionând

în paralel pentru calcul intensiv în mecanica fluidelor sau în controlul

traficului de zbor). Având abordare pragmatică, un limbaj va fi regăsit în diverse clase ce indică astfel caracteristicile sale.

Limbaje de programare uzuale

Anterior s-a făcut trimitere către anumite limbaje de programare C, Pascal şi Java pentru a exemplifica cele două aspecte importante:

descrierea datelor şi structurilor de date, exprimarea comenzilor

elementare (instrucţiuni). Se prezintă mai jos, în fiecare paragraf, câte

Page 123: Informatică economică

123

un limbaj de programare, ordonate după gradul de extindere şi

frecvenţa de utilizare de către programatori.

1. C (pronunţat ca în engleză „si”) este dezvoltat de Kernigan şi

Ritchie la Bell Laboratories în anul 1972, fiind ulterior limbajului

denumit B. C a fost dezvoltat pentru crearea de programe apropiate de maşină (sisteme de operare, driver-e) fiind legat de sistemul de

operare UNIX. Popularitatea sa cât şi standardizarea de către ANSI l-

au impus ca limbajul cel mai larg acceptat de programatori. C este un limbaj compilat, cu funcţii pentru diferite prelucrări (intrare/ieşire,

matematice, etc.) conţinute în fişiere biblioteci („library”), ce pot fi

accesate din program. Programele C sunt compuse dintr-una sau mai multe funcţii definite de programator, C fiind considerat un limbaj

structurat. Varianta C++ (dezvoltată de Bjarne Stroustrup) este un limbaj de programare orientat pe obiecte, fiind extins cu directive

pentru crearea şi manipularea obiectelor. Există alte diverse variante

îmbunătăţite, ca Visual C++ (cu mecanisme de creare a interfeţelor grafice şi lucrul în reţea), C# (pronunţat „si şarp”, cu servicii pe

Internet în categoria .net – „dot net”).

2. Java (pronunţat „giava”), dezvoltat de firma SUN Microsystems în scopul declarat de a realiza aplicaţii pentru Internet prin compilator şi

biblioteci gratuite, este similar limbajului C++ (orientat pe obiecte şi

instrucţiuni identice), însă compilarea produce un „cod de octeţi” (nu cod executabil). Este extins pentru lucrul cu fire de execuţie (secţiuni

de program ce pot rula independent), tratarea excepţiilor (erori, sau

întreruperi), securitate (execuţia se face prin intermediul „Java Virtual Machine” care interpretează şi controlează „codul de octeţi” spre a nu

permite acţiuni ostile – de ex. prin acces direct la resursele

sistemului), portabilitate (poate rula pe orice calculator care prezintă „Java Virtual Machine”).

3. JavaScript este un limbaj scriptural care adaugă paginilor web

facilităţi de animaţie şi de interacţiune cu utilizatorul (diferit şi folosit mult mai des decât Java pentru programarea părţii client web). Este

standardizat sub numele de ECMAscript.

4. HTML (Hyper Text Markup Language) este un limbaj scritpural de descriere a documentelor, folosind marcaje ce specifică acţiuni de

Page 124: Informatică economică

124

formatare înscrise chiar în textul (conţinutul) documentului. Paginile

Web sunt descrise prin acest limbaj, permit în plus legături cu alte pagini distribuite spaţial pe alte maşini (site-uri); astfel se poate

considera că textul documentului nu mai este înscris pe o foaie cu

două dimensiuni, ci prezintă şi adâncime – către alte texte (este hiper-text). Informaţiile din pagina cu text şi imagini sunt descărcate

(„download”) şi afişate pe maşina utilizatorului. În aceste pagini,

acţiunile de formatare privesc modul de scriere a textului (litere îngroşate, cursive etc.), structura documentului (denumiri de modul,

paragrafe, tabele) şi interacţiunea cu utilizatorul (de exemplu prin

formulare ce permit transferul de date către site – „upload”).

5. BASIC este un limbaj creat iniţial pentru începători (chiar dacă de

fapt era destul de greoi şi nestructurat). Ulterior, limbajul a fost perfecţionat iar în versiunea Visual Basic este orientat pe obiecte şi

prezintă instrumente de programare vizuală a interfeţelor utilizator

grafice, fiind folosit şi pentru aplicaţii în Internet sau lucrul cu baze de date.

6. XML (eXtensible Markup Language) este o extensie a limbajelor

din familia SGML, în care marcajele nu mai sunt predefinite şi stricte ci pot fi definite chiar de programator pentru a descrie diverse tipuri

de date dar şi prelucrări. Este utilizat în principal pentru partajarea

informaţiilor şi textelor structurate în Internet.

7. Pascal este creat de Niklaus Wirth în anii ’70, ca limbaj procedural

structurat şi concis. Este utilizat pentru simplitatea, dar şi varietatea

descrierii tipurilor de date şi a exprimării comenzilor (iniţial având chiar scop didactic). Versiuni ulterioare înglobate în limbajul Delphi

permit programare obiectuală şi vizuală.

8. SQL (Structured Query Language) este creat de firma IBM şi adoptat ca standard de ISO (International Standards Organization).

SQL (pronunţat „sicuăl”) este un limbaj de programare declarativ

pentru baze de date relaţionale, oferind exprimări simple şi intuitive de interogare precum şi de manipulare a tabelelor, formularelor şi

rapoartelor în aplicaţii cu baze de date.

Page 125: Informatică economică

125

9. FORTRAN (FORmula TRANslation) este primul limbaj de nivel

înalt, creat de John Backus pentru a asigura independenţa de maşină, utilizat mai ales pentru calcule ştiinţifice. Ca şi alte limbaje de

programare a evoluat, având şi facilităţi visuale.

10. COBOL (COmmon Business-Oriented Language) dezvoltat în anii ’60 şi larg folosit pentru aplicaţii de gestiune economică şi

administrativă. Este un limbaj procedural, compilat, care în primele

versiuni era un bun exemplu de limbaj nestructurat; ulterior a fost perfecţionat dar pe parcurs este eliminat de către mediile de baze de

date – instrumente simple şi puternice pentru aplicaţii de gestiune.

11. PERL (Practical Extraction and Report Language) este un limbaj scriptural creat de Larry Wall ca o combinaţie între limbaj de

comandă (v. Bourne Shell) şi C, pentru extragerea informaţiei din texte şi generarea de rapoarte. Este folosit în special pentru generare

pagini HTML, pentru programe de lucru pe servere Web (programe

CGI), pentru animaţie sau interacţiune cu utilizatorul prin formulare în pagini web.

12. PHP este un limbaj scriptural similar cu PERL, ce poate fi

înglobat în codul HTML al paginilor Web. Este folosit pentru aplicaţiile pe partea server web, pentru construirea paginilor web

dintr-o bază de date SQL (Oracle, MySQL). Prezintă una din cele mai

mari biblioteci „open-source” (cod public şi liber de a fi utilizat, modificat sau distribuit).

13. LISP (LISt Processing) este primul limbaj funcţional, fiind

dezvoltat de John McCarthy de la MIT în anii ’50. de orientat pe structuri de date (liste). Este folosit pentru aplicaţii de Inteligenţă

Artificială, în probleme ce implică raţionament calitativ sau multe date

eterogene – potenţial eronate dar care trebuie refăcute, probleme de planificare şi antrenare (învăţare) a maşinii.

14. Prolog este un limbaj care exprimă premize (fapte de start într-

un raţionament – denumită „logica”), prin care interpretorul Prolog (denumit „control”) încearcă să demonstreze o propoziţie declarată

peste premize.

Page 126: Informatică economică

126

15. Asamblare este limbajul maşinii într-o notaţie inteligibilă

omului. La compilarea unui program scris în limbaj de asamblare, conversia se face direct în coduri binare, fiindcă instrucţiunile

limbajului se referă la acţiuni elementare ale procesorului (încărcare

de regiştri, salturi condiţionate, operaţii pe bit). Este utilizat pentru scrierea programelor de control direct al perifericelor sau pentru

operaţii legate de echipament.

16. Bourne Shell este un limbaj scriptural care permite crearea de fişiere de comenzi (în loturi - „batch”) pentru sistemul de operare

UNIX (alte limbaje similare sunt sh, bash, ksh, csh). În general, orice

sistem de operare prezintă limbajele de comandă (limbaje shell), necesare lucrului imediat cu calculatorul, comenzile fiind executate de

un „interpretor de comenzi” furnizat cu sistemul de operare.

Se face observaţia că limbajul de „Asamblare”, înscris în lista de mai

sus, este o categorie de limbaje nu un limbaj anume, însă datorită

extinderii calculatoarelor de tip IBM PC se subînţelege, în general, ca pentru limbajul familiei de procesoare Intel 80x86; există limbaje de

asamblare pentru diferite procesoare (de la diferiţi producători şi

pentru diferite generaţii): Intel 80x86, Motorola 680x0, PowerPC, etc.

Utilizarea unui limbaj de programare depinde de scopul şi tipul

programării (indicate succint în inventarul de mai sus) dar şi de

obişnuinţa sau preferinţele programatorului.

Clasificări ale limbajelor de programare

O primă clasificare a limbajelor se poate face după paradigma de

programare – adică după ideea generală de soluţionare a problemei.

Astfel, se deosebesc:

a. Programare procedurală – priveşte datele şi prelucrările ca entităţi

distincte (declarate separat) şi foloseşte conceptele de modul pentru prelucrare şi orizont de vizibilitate pentru variabile. Un modul este

format din unul sau mai multe subprograme iar o variabilă (dată

declarată de anumit tip) este vizibilă (accesibilă) în cadrul unui modul dar nu şi din afara sa; modulele pot fi preluate din biblioteci de

subprograme predefinite (prefabricate de producătorul

Page 127: Informatică economică

127

compilatorului). Programarea procedurală este realizată prin limbajele

C, Pascal, Delphi, FORTRAN, COBOL.

b. Programare imperativă – în care se furnizează calculatorului o listă

de instrucţiuni şi un context de memorie (considerat drept starea

programului la un moment dat) care este modificat printr-o comandă în alt context (altă stare, cu alte valori de variabile în memorie).

Funcţionarea procesorului este de fapt imperativă, el urmărind pas cu

pas lista de instrucţiuni din program. Limbajele de programare uzuale sunt imperative (FORTRAN, C, Perl), cele obiectuale (C++, Java)

adăugând doar noi facilităţi de lucru.

c. Programarea declarativă – diferă de cea imperativă prin faptul că în program se descrie pentru calculator un set de condiţii, lăsând apoi

calculatorului sarcina să le satisfacă. În programarea declarativă, se descriu relaţii între variabile în termeni de „reguli de inferenţă” (reguli

de obţinere a unor noi valori din cele existente). Calculatorul

(înţelegând aici un program complex de tipul unui motor de inferenţă sau unui mediu de baze de date ce rulează pe calculator) aplică un

algoritm fixat şi interpretează relaţiile spre a produce un rezultat.

Limbaje uzuale din categoria declarativă sunt Prolog şi SQL.

d. Programarea funcţională – consideră prelucrarea drept evaluarea

funcţiilor matematice. Expresiile, în această paradigmă, sunt formate

din funcţii ce combină valori iar execuţia nu implică o secvenţă de comenzi fiindcă programul defineşte CE şi nu CUM se prelucrează

datele. De fapt limbajele de programare nu pot fi pur funcţionale

pentru că rulează pe o maşină în paradigmă imperativă; se poate aminti Lisp ca limbaj funcţional, în care prelucrările sunt structurate

similar structurării datelor (de obicei în liste).

O clasificare a limbajelor de programare des întâlnită, consideră nivelul limbajului, relativ apropiat (sau depărtat) de formularea

limbajului maşinii (mai precis al procesorului, ca dispozitiv electronic,

binar).

Tabel 6. Clasificare a limbajelor de programare după nivel

Nivelul

limbajului

Caracteristici ale limbajului Exemple

uzuale

Page 128: Informatică economică

128

jos Instrucţiunile sunt apropiate de limbajul

maşinii, fiind translatate direct în

instrucţiuni maşină de către asamblor (un

compilator simplu)

Asamblare

mediu Instrucţiunile sunt transpuse în limbaj de

asamblare prin compilator, oferind în plus

biblioteci şi servicii de configurare a

resurselor maşinii la execuţie

C, BASIC,

Pascal,

COBOL

înalt – compilat Instrucţiunile sunt transpuse într-un cod

intermediar folosind un interpretor,

permiţând astfel controlul codului şi

portabilitatea sa pe orice maşină

Java, Visual

Basic, Visual C

înalt - scriptural Instrucţiunile pe linii de program sunt

interpretate şi executate fiecare în parte;

liniile se pot grupa în loturi şi executate ca

„fişier (text) de comandă”

Bourne Shell,

HTML, Perl,

foarte înalt Structura limbajului este apropiată

limbajului uman, descrie o metodă de

implementare; sunt limbaje declarative sau

pentru Inteligenţa Artificială

SQL

În Tabel 6 se prezintă succint clasificarea după nivel a limbajelor, care

însă trebuie înţeles ca fiind din ce în ce mai apropiat de nivelul uman, deci mai simplu pentru om, nu mai dificil.

O a treia clasificare se poate face după modul de declarare a tipurilor

de date, în limbaje cu: tipuri statice de date – tipurile declarate sunt stricte şi verificate de compilator (exemple C, C++, Java, Pascal),

tipuri dinamice de date – în care datele de tipuri diferite pot fi

interschimbate, interpretorul nesemnalând eroare la o dată nouă cu tip nedeclarat (exemple Lisp, JavaScript, Prolog).

Compilatoare şi interpretoare

Programele în limbaj înalt sunt relativ uşor de înţeles de către om, dar nu pot fi executate direct de către calculator. Există două modalităţi

principale în care un astfel de program poate fi pus în execuţie: prin

compilare sau interpretare. Astfel, limbajele de programare permit

Page 129: Informatică economică

129

realizarea codului ce va fi executat după traducerea sa în limbajul

maşină prin:

Compilare –traducerea are loc pentru întregul set de comenzi

(descrise ca un tot unitar, într-un „program”). Limbaje din această

categorie sunt C, C++, Java, Pascal, BASIC, FORTRAN, COBOL.

Interpretare – traducerea are loc linie cu linie (câte o comandă la un

moment dat), de la prima până la ultima din setul dat. Limbaje din

această categorie se numesc limbaje scripturale, iar textul cu comenzile se numeşte script, „fişier de comenzi” sau „lot de comenzi”

(în engleză „batch”). Exemple de limbaje script sunt HTML, Perl,

PHP, limbaje de comandă ale sistemului de operare („shell” – Bourne Shell, bash, csh).

Compilarea este traducerea (translatarea) unui program în limbaj de nivel înalt, numit program sursă, într-un program în cod maşină, numit

program obiect.

Compilatorul este un program care se execută pe calculator. El

primeşte ca date de intrare programul sursă şi produce ca date de ieşire

programul obiect, în cod maşină (binar). Acesta se stochează pe un suport de informaţie extern (pe disc) şi poate fi ulterior executat.

Interpretorul este un program care execută direct programul sursă

scris în limbaj de nivel înalt. Executarea se face instrucţiune cu instrucţiune. Se citeşte o instrucţiune din programul sursă, aceasta este

translatată în cod maşină care este transmis spre execuţie procesorului,

apoi se trece la instrucţiunea următoare din programul sursă şi se repetă ciclul. Dezavantaj: execuţia este mai lentă decât la programele

compilate, deoarece se consumă timp pentru interpretare.

Un avantaj important al programelor scrise în limbaj înalt este că ele

pot fi executate, cel puţin în principiu, pe orice tip de calculator.

Întrucât, codul maşină diferă de la un tip de calculator la altul, este necesar câte un compilator sau un interpretor al limbajului respectiv

pentru fiecare tip de calculator pe care se intenţionează să fie executat

Page 130: Informatică economică

130

programul. Se spune că programul sursă este portabil, dar nu şi

programul obiect.

Unele limbaje de programare, cum sunt Fortran, Cobol, Pascal, C,

C++ şi altele, sunt compilate. Avantaj: executarea programului obiect

se face cu viteza mare, respectiv cu viteza de lucru a procesorului calculatorului pe care se execută.

Alte limbaje, cum sunt Basic, Python, Pearl, Ruby şi altele sunt

interpretate. Avantajul este că pot fi utilizate în regim interactiv: imediat ce utilizatorul a introdus o instrucţiune de la consolă, ea poate

fi executată de către interpretor.

Există limbaje care pot fi executate în ambele moduri dar, de obicei, au specific doar unul din ele. Limbajele script pot coexista pe aceeaşi

maşină; astfel, pentru selecţia tipului de limbaj efectiv utilizat, prima linie din lotul de comenzi script conţine o directivă a sistemului de

operare ce indică în clar limbajul la care se referă fişierul de comenzi.

Avantajul compilatoarelor este acela că programul în cod executabil poate fi rulat direct pe maşină, imediat după încărcarea lui în memorie

de pe suportul extern (disc).

Un caz special îl constituie limbajul Java, care este interpretat după ce este „compilat” în aşa-numitul „cod de octeţi” numit bytecode, care

este apoi interpretat pe orice maşină ce prezintă maşina virtuală Java

(„Java Virtual Machine”). Acest program este executat de către un interpretor, care converteşte instrucţiunile maşinii virtuale Java în

instrucţiuni ale procesorului calculatorului pe care se execută

programul. Avantaj: bytecode-ul poate fi executat pe orice calculator pe care există JVM (portabilitate).

16.3. Sintaxa și semantica limbajelor de programare

Fiecare limbaj de programare, ca orice alt limbaj, se caracterizează

prin anumite reguli de scriere corectă, numite reguli de sintaxă.

Orice instrucţiune a limbajului are o formă şi o semnificaţie. Sintaxa

se referă numai la forma instrucțiunii, in timp ce semnificația este de

domeniul semanticii. Semantica se referă la modul in care trebuie

Page 131: Informatică economică

131

interpretată instrucţiunea respectivă. Este evident că, atunci când se

concepe un program, este necesar să se acorde atenţie atât sintacticii, cât și semanticii.

Dacă într-un program nu sunt respectate regulile de sintaxă,

compilatorul sau interpretorul sesizează anomaliile şi le semnalează sub forma unor mesaje de erori de sintaxă. În astfel de situații, codul

de octeţi al programului respectiv nu va mai fi generat. Programatorul

trebuie sa remedieze erorile de sintaxă semnalate şi să ceară repetarea compilării sau, în cazul regimului interactiv, să reintroducă

instrucţiunea pentru interpretare. Acest procedeu se repetă, până când

nu vor mai fi constatate erori de sintaxă.

Insistăm asupra faptului că la compilare sau interpretare sunt

semnalate numai erorile de sintaxă. Dacă un program este corect sintactic, dar este conceput greşit, va fi executat de către calculator,

dar rezultatul obţinut nu va fi cel scontat. Corectitudinea conceperii

programului este în întregime responsabilitatea programatorului.

16.4. Ingineria programării

Termenul „inginerie” duce cu gândul imediat la tehnică şi industrie.

Aşa cum termenul „tehnologie” din acronimul TIC nu se referă la

tehnologii în industria metalurgică, ci doar la suma de tehnici şi mijloace din informatică, termenul „inginerie a programării” se referă

la tehnică drept abordare sistematică, de producţie eficientă a

programelor pe calculator (în mod industrial), nu la un domeniu ingineresc (metalurgie spre exemplu). De fapt, etapele de realizare a

programelor (prezentate) constituie esenţa acestei abordări

sistematice.

Ca şi la alte produse, calitatea produselor program (a software-ului) nu

este doar un deziderat de piaţă ci şi un scop impus de toleranţele în

care produsul trebuie să-şi realizeze utilităţile. Astfel, în timp ce pentru o maşină se spălat automată toleranţa de 2% în alimentarea cu

detergent este admisă (şi considerată foarte bună), un sistem de

contabilitate care are erori de 2% este inacceptabil. De aceea, sunt

Page 132: Informatică economică

132

necesare şi pentru software modalităţi de măsurare (metrici) și

evaluare a performanţelor şi de aici a calităţii produselor program.

Ingineria programării este abordarea sistematică, disciplinată şi

cuantificată a dezvoltării, operării şi întreţinerii produselor program.

Definiţia de mai sus subliniază că această abordare este o aplicare a ingineriei în programare (de aici şi numele): aplicând tehnicile şi

practicile de inginerie a programării se creează programe de bună

calitate, cu mare productivitate, cu întreţinere şi dezvoltare facile. Dezideratul ingineriei programării este satisfacerea cerinţelor

clientului produsului software, respectând restricţii de calitate, cost şi

durată, prin:

i) utilizarea unei metodologii clare începând cu faza de analiză, apoi

cea de proiectare şi de implementare a programelor;

ii) conducerea activităţilor, desfăşurate pe parcursul proiectul,

conform unor principii de management stricte („project

management”);

iii) analiza şi evaluarea performanţelor codului, a structurii de module,

funcţionării şi utilizării produsului;

iv) documentarea clară şi completă a funcţionării şi utilizării produsului software;

v) urmărirea produsului livrat la beneficiari şi pe întreaga durată a

ciclului său de viaţă, pentru actualizarea cu versiunile noi şi îmbunătăţite.

Factori de performanţă ale produselor software sunt:

funcţionalitatea (în ce măsură produsul îndeplineşte funcţiile propuse), uşurinţa în utilizare (simplitatea de învăţare şi operare),

fiabilitatea (funcţionarea corectă şi robustă – tolerantă la operare sau

date greşite), eficienţa (privind resurse utilizate – memorie puţină, viteză de execuţie), flexibilitate (uşurinţa de adaptare şi modificare

după cerinţe), portabilitate (posibilitatea de transfer pe alte maşini şi

sisteme de operare, respectarea standardelor), întreţinerea comodă (acces la cod sursă şi compilare, modificare uşoară).

Page 133: Informatică economică

133

Ingineria programării oferă metrici (adică sisteme de măsurare) de

evaluare pentru:

produs – privind proiectarea, codul sursă şi cazurile de test ale

programului;

procesul de dezvoltare – privind activităţile de analiză,

proiectare şi programare;

persoanele implicate în proiect – privind eficienţa individuală a

proiectanţilor, programatorilor şi testorilor.

Pentru aplicaţii mari, organizarea proiectului implică un şef de proiect (contribuie la proiectare şi dezvoltare în proporţie de 30%, distribuie

sarcini şi coordonează coechipierii), adjunct (planifică şi coordonează

programarea şi testele, asigură calitatea produsului), secretar de proiect (execută sarcini administrative privind protocoale cu

beneficiarul, biblioteci, gestiunea termenelor şi costurilor),

programatori / dezvoltatori (specialişti în medii şi limbaje de programare sau în instrumente de dezvoltare software).

Analiza, proiectarea şi implementarea respectă o metodologie specifică (uzual din categoriile „structurată” sau „obiectuală”), iar

testarea se execută atât în condiţii de laborator cât şi pe cazuri reale.

Întreţinerea aplicaţiei este foarte importantă, aşa cum reiese din proporţia uzuală a costurilor pentru software: Analiza – 10%,

Proiectarea – 10%, Implementarea – 10%, Testarea – 20%,

Întreţinerea – 50%.

O importanţă deosebită o are documentaţia, care trebuie întocmită pe

parcursul proiectului la fiecare etapă. Documentaţia se adresează

dezvoltatorilor, utilizatorilor şi personalului de întreţinere. Documentaţia ce trebuie întocmită a fost deja amintită la fazele

ciclului de viaţă ale programului. De remarcat că programele trebuie

amplu documentate (comentate) chiar în codul sursă, unde algoritmul trebuie explicat.

Page 134: Informatică economică

134

17. Tehnici şi instrumente de realizare a programelor

Istoric, în evoluţia proiectării aplicaţiilor şi a programării, au existat următoarele abordări – din care au rezultat metodologii specifice:

i) Proiectarea / programarea nestructurată – în care aplicaţia nu este

gândită şi realizată modular ci ca un tot, cu salturi interne greu de controlat şi urmărit. Dezvoltarea şi întreţinerea programelor este

extrem de ineficientă şi greoaie. Această abordare se poate compara cu

generaţia televizoarelor cu tuburi electronice („lămpi”) şi componente interconectate prin sârme (formând uneori „ghemuri”).

ii) Proiectarea / programarea structurată – în care aplicaţia este

divizată în module specializate pentru anumite operaţii, asamblate apoi (mai precis apelate) de către aplicaţia „principală”. Abordarea se

poate compara cu generaţia televizoarelor realizate pe module

specializate (modul alimentare, selectare canale, modul sunet etc.) montate pe placa de bază. Avantajele provin din faptul că pentru

depanarea sau modificarea unui modul se lucrează numai cu acesta, nu

cu întreg aparatul (respectiv întreaga aplicaţie). În programare se elimină salturile necondiţionate, fiindcă chiar din etapa de proiectare

prelucrările sunt ierarhizate, astfel încât un modul să „apeleze” un alt

modul specializat pentru o acţiune anume.

La aceste abordări datele sunt analizate separat de prelucrări. În cazul

ii) modulele sunt realizate prin subprograme (funcţii), iar datele sunt

declarate separat de prelucrări. Declararea datelor se face prin exprimări conform celor menționate anterior, acestea fiind considerate

„materii prime” pentru funcţiile care le prelucrează. Proiectarea se

bazează pe o parcurgere „top-down” (de la mare la mic) a problemei, pornind de la ansamblu şi apoi trecând la părţi, module; pentru fiecare

din acestea se discriminează datele şi prelucrările corespunzătoare.

Page 135: Informatică economică

135

iii) Proiectarea / programarea orientată obiect – în care aplicaţia se

construieşte din obiecte care încapsulează proprietăţi şi metode – adică informaţii (date) şi prelucrări (operaţii asupra datelor). În acest

mod, la analiză şi proiectare se concep clase de obiecte similare celor

din lumea reală a problemei de rezolvat, cu „modul lor de utilizare”, iar rezolvarea problemei se face prin manipularea obiectelor create la

implementare. Abordarea se poate compara cu viziunea utilizatorului

de televizoare, în care clasa de obiecte „televizor” trebuie să deţină ecran şi legătură prin cablu (ca informaţii - date) şi butoane de

acţionare pornit/oprit, reglaj volum, comutare canale, etc. Evident,

rămâne în sarcina producătorului să realizeze linia de fabricaţie a clasei de televizoare (acesta este programatorul) şi apoi magazinului

să vândă utilizatorului un televizor anume (acesta este declararea unui obiect a de tip „televizor” aşa cum se declară o dată iniţializată).

iv) Proiectarea / programarea cu componente – în care aplicaţia se

construieşte prin componente gata fabricate. Abordarea este similară construirii televizorului din circuite integrate specializate, care doar se

asamblează în modul dorit spre a produce un televizor CRT, TFT sau

LED, cu teletext sau fără etc. Aşa cum componentele fizice vin de la fabrică, componentele software vin de la producători software şi sunt

utilizate de programatori pentru a crea produsul dorit.

La ultimele două abordări, proiectarea decurge „bottom-up” (de la mic la mare) adică se face inventarul de obiecte sau componente la

dispoziţie şi apoi se „construiesc” aplicaţii prin asamblarea acestora.

Datele şi programele nu mai au o delimitare evidentă: pentru programator datele pot deveni programe şi programele – date.

Continuând similitudinea cu producţia de televizoare, generaţia iii)

reprezintă crearea de televizoare artizanale – fiecare producător realizează televizoare în tehnologie proprie, pe când cu iv)

producătorii folosesc componente standard pentru părţi de televizor,

oferind înfăţişare şi performanţe speciale produselor proprii faţă de ale altor producători. Ultimele două generaţii permit şi stimulează

industria software, fiindcă proiectantul şi programatorul nu mai sunt

implicaţi în atâtea amănunte de lucru la fiecare program în parte (amănunte pe care nu le pot stăpâni perfect şi nici nu au productivitate

Page 136: Informatică economică

136

dacă sunt multe sau necesită mulţi coechipieri), ci se pot orienta pe

producţie, pe nevoile clienţilor şi pe cererea pieţei. Proiectantul şi programatorul au „în spate” o industrie de componente pe care trebuie

doar să ştie să le asambleze pentru a face un produs la comandă.

v) Proiectarea / programarea cu agenţi – în care aplicaţia (ca agent) evoluează de sine stătător şi comunică cu alte aplicaţii (alţi agenţi)

pentru a-şi îndeplini misiunea. Spre exemplu, există programe agent

de căutare care pot „călători” prin Internet, se pot stabili la anumite site-uri şi comunica cu alţi agenţi spre a găsi informaţiile pentru care

au fost creaţi şi lansaţi în spaţiul cibernetic.

În timp ce pentru primele patru generaţii aplicaţia se lansa şi se executa prin operarea directă a omului la program – adică iniţiativa

aparţine omului, generaţia v) introduce programe cu iniţiativă, adică programe care după lansare au existenţă şi acţiuni independente de

omul în contul căruia execută prelucrările. Programul-agent se poate

multiplica, comunică cu alţi agenţi şi cu „baza”, formează grupuri şi chiar stabileşte relaţii sociale şi limbaje de comunicare între agenţi; se

poate spune că din „obiecte” informatice aceste tipuri de date devin

„fiinţe” informatice.

La inventarul abordărilor prezentate mai sus pentru proiectarea

aplicaţiilor, este necesar să se adauge încă două – care nu aduc

metodologii conceptual noi ci doar specifice unor instrumente frecvent folosite în realizarea aplicaţiilor:

vi) Proiectarea aplicaţiilor cu Baze de Date – în care datele se

structurează în tabele, adică mulţimi de articole. De fapt, un articol (ca linie din tabel) reprezintă un obiect iar tabelul colecţia de obiecte de

acelaşi fel din problema de rezolvat – adică tabelul reprezintă o

entitate (o categorie conceptuală de obiecte). Structura de entităţi cu relaţii între ele formează modelul problemei de rezolvat, iar aplicaţia

manipulează datele din tabele cu comenzi specifice acestei

reprezentări. Metodologiile de proiectare a aplicaţiilor cu baze de date urmează etapei de analiză pentru aceste tip de aplicaţii, pentru care se

reamintesc două metodologii MERISE şi SSADM. Proiectarea datelor

şi prelucrărilor se realizează separat – datele ca tabele iar prelucrările

Page 137: Informatică economică

137

ca operaţii cu acestea, vizând direct instrumentele software cu care se

vor realiza aplicaţiile.

vii) Proiectarea aplicaţiilor Web (servicii Internet) – în care datele

sunt, de obicei, pagini cu informaţii ce trebuie vizionate de utilizatori

prin Internet sau datele provin de la utilizatori prin formulare completate de către aceştia, iar prelucrările sunt operaţii de navigare,

afişare şi actualizare a datelor (stocate adesea în baze de date).

Proiectarea aplicaţiilor Web se bazează pe arhitectura Client-Server, pe principii de marketing, impact estetic şi emoţional, precum şi pe

utilizarea sistematică a instrumentelor de proiectare şi editare de

pagini web (cu imagini, formulare, animaţii şi hiperlegături)

Ultimele două abordări de proiectare sunt preferate de către mulţi

producători de produse software (firme, profesionişti în informatică sau chiar practicieni în informatică proveniţi din alte domenii) pentru

că cele mai multe aplicaţii privesc două activităţi umane foarte

frecvente:

gestiunea de resurse – fie ele bunuri de consum sau industriale,

resurse umane sau financiare, mijloace de transport sau documente,

care se pot stoca şi manipula folosind baze de date;

comunicarea informaţiilor şi interacţiunea prin Internet între

persoane, între firme şi persoane (B2C – „Business to Client”) sau între firme (B2B – „Business to Business”) – pentru activităţi

economice, sociale, administrative sau educaţionale.

Din aceste abordări au rezultat tehnici şi instrumente specifice de programare şi de realizare a aplicaţiilor, cu influenţe în toate etapele

ciclului de viaţă al programului.

17.1. Caracteristici ale programării orientate obiect

Fiindcă cea mai mare parte a aplicaţiilor actuale folosesc conceptul de

obiect şi sunt realizate obiectual, vor fi prezentate în continuare

caracteristici ale programării obiectuale, pentru familiarizarea cu termenii şi abordările întâlnite în submodulele următoare.

Page 138: Informatică economică

138

Programarea orientată obiect (POO) se bazează pe clase, ca

abstractizări ce reunesc date şi prelucrări posibile asupra lor. Un obiect realizat (instanţiat) într-o clasă dată, prezintă anumite valori

pentru date (identificate ca proprietăţi ale obiectului) şi o anume

comportare (identificată prin metode de modificare a proprietăţilor).

POO vizează, în principal, următoarele aspecte:

crearea şi manipularea de obiecte – prin care se modularizează acţiunile programului încă din faza de analiză, atunci când se

identifică obiectele în problema reală;

refolosirea codului – prin care obiecte odată codificate se pot reutiliza ori de câte ori este necesar, fiind grupate în colecţii (denumite

biblioteci sau pachete).

Aceste deziderate se obţin ca urmare a caracteristicilor programării

obiectuale, cele mai importante fiind:

a. Abstractizarea – prin care un obiect devine modelul unui „actor” ce prezintă o stare (şi o poate modifica), execută acţiuni sau comunică cu

alte obiecte din sistem.

b. Încapsularea – prin care accesul la proprietăţile obiectului se poate face numai prin metodele definite. Obiectul prezintă o interfaţă către

alte obiecte, prin care se specifică modalităţile sale de manipulare.

c. Moştenirea – prin care o clasă de obiecte poate fi baza altor clase (denumite clase derivate), proprietăţi şi metode esenţiale ale primei

fiind preluate în întregime de celelalte. Se realizează astfel

specializarea claselor (şi obiectelor). d. Polimorfismul – prin care o metodă a unui obiect din clasă derivată

produce o comportare diferită faţă de cea a clasei de bază.

17.2. Tipuri şi structuri de aplicaţii

Structura unui program a fost prezentată, indicând părţile specifice ale

programului principal, pentru un limbaj de programare comun

(procedural şi cu tipuri statice de date) cum sunt C, Pascal sau Java.

Aplicaţii

Page 139: Informatică economică

139

În sine, o aplicaţie cuprinde un program principal care are rol de

„dispecer” pentru prelucrările efective ale aplicaţiei. Lansarea aplicaţiei se realizează la iniţiativa utilizatorului, care înscrie o

comandă (în forma text – linie comandă) sau accesează o pictogramă

într-o interfaţă grafică. Execuţia aplicaţiei începe, în general, cu prezentarea unei interfeţe de interacţiune cu omul (printr-un

interpretor de comenzi sau meniu). De obicei, o aplicaţie este un

program compilat şi stocat în forma executabilă, fiind lansat (adică încărcat în memoria de lucru şi executat pe întreg lotul de instrucţiuni)

la iniţiativa utilizatorului.

Structura generică a unei aplicaţii cuprinde două părţi generice: colecţiile de date („data” - adică valori cu care se lucrează) şi logica

de prelucrare („business logic” - adică acţiunile asupra datelor). De exemplu, o aplicaţie bancară conţine o parte privitoare la conturi şi

valorile lor, o parte privitoare la operaţiuni de transfer între conturi.

Aplicaţii de Baze de Date

O categorie specială de aplicaţii sunt create şi funcţionează prin

intermediul Sistemelor de Gestiune a Bazelor de Date. Aceste aplicaţii

organizează datele în structuri de tip articol care apoi sunt grupate în „tabele” ce pot fi stocate ca fişiere (pe suport extern – disc). Pentru

prelucrarea datelor, se folosesc programe scrise în limbaje proprii

SGBD sau în limbajul standard SQL. Conceptual, o aplicaţie cu baze de date manipulează „obiecte” de tipurile:

tabel – structura pe linii (articole) şi coloane (câmpuri ale

articolelor) ce stochează datele, cu mijloace de modificare şi control a valorilor acestora;

interogare – exprimarea cererii de extragere, după condiţii impuse, a unui set de date din unul sau mai multe tabele, folosind un limbaj (de

ex. SQL) sau o grilă (un tabel generic prin care cererea este ilustrată

cu un exemplu);

raport – document text generat automat, conţinând date sintetice şi

analitice obţinute din tabele sau interogări, prezentate în mod profesionist (cu antet, subsol, etc.);

Page 140: Informatică economică

140

formular – machetă de încărcare şi consultare a datelor, pentru interacţiunea comodă cu utilizatorul (în mod grafic, prin câmpuri şi

indicaţii pe loc);

modul – secţiune de program (scris în limbajul de manipulare a datelor) care realizează prelucrări complexe, eventual combinaţii de

interogări, formulare şi rapoarte generate conform logicii de prelucrare a aplicaţiei.

Programele sunt interpretate sau compilate în cod intermediar, astfel

că execuţia lor nu poate avea loc decât în prezenţa mediului de baze de date (SGBD) care este rezident în memorie şi coordonează toate

acţiunile din program.

O bază de date este constituită din mai multe tabele, cu legături între ele, pe lângă care se prevăd module de prelucrare specifice aplicaţiei

vizate. Cele mai uzuale aplicaţii cu baze de date privesc gestiunea

resurselor într-un domeniu dat: contabil, financiar-bancar, mijloace fixe, stocuri (magazii sau magazine), sisteme de vânzări, resurse

umane. Multe aplicaţii în Internet au în fundal un server de baze de

date (maşinile de căutare, magazine virtuale etc.).

Aplicaţii client-server

Există aplicaţii în reţele de calculatoare care trebuie să asigure

transferul de date şi prelucrarea acestora la distanţă. Datele sunt stocate la un punct central, pe un calculator care le gestionează printr-

un program denumit server pentru că oferă servicii (de acces şi

prelucrare date) la distanță, rulând în permanenţă şi aşteptând cereri de la utilizatori. Pe maşina locală a fiecărui utilizator, există un program

denumit client prin intermediul căruia utilizatorul poate solicita

servicii serverului distant; datele „se descarcă” („download”) de la server pe maşina utilizatorului, unde sunt prelucrate local şi afişate

(prin interfaţa utilizator) de către programul client. Structura de

aplicaţie cu două părţi este denumită, în jargonul informatic, 2-tier.

Primele aplicaţii în reţea realizau toate prelucrările pe o maşină

centrală (numită gazdă), iar maşina locală era folosită doar pentru

afişare text şi preluarea datelor de la utilizator (terminal), adică aveau „o parte” 1-tier. Avantajele modului de lucru 2-tier provin din faptul

Page 141: Informatică economică

141

că datele pot fi gestionate şi asigurate mai bine într-un singur punct

(nu distribuite în mai multe puncte), dar prelucrările nu încarcă doar maşina centrală, ci şi maşinile locale (ele fiind mai multe şi încărcate

temporar). În această structură, partea client conţine programele de

prelucrare locală şi de prezentare a rezultatelor către utilizator, complementar părţii server – care asigură prelucrări de acces şi

transfer a datelor centralizate. Cele două piese software, server şi

client, conlucrează şi comunică prin intermediul unui protocol (ca un limbaj cu set de reguli pentru formularea şi servirea cererilor), iar

comunicaţia fizică se realizează prin infrastructura de comunicaţie

(reţea de calculatoare).

Un exemplu uzual de aplicaţie client-server este WWW, în care partea

server găzduieşte paginile web (şi programele de interacţiune cu utilizatorul) iar partea client o constituie navigatorul Internet

(„browser” ca MS Internet Explorer, Mozilla Firefox, Safari sau

Google Chrome). Protocolul de comunicaţie între cele două piese software server şi client este HTTP (HyperText Transfer Protocol) şi

apare indicat chiar în adresa de acces (URL) a serverului.

Figura 23. Arhitectura Client-Server 2-tier (cu două părţi)

Varianta în care partea server conţine pe aceeaşi maşină și logica de

prelucrare şi datele este ilustrată în Figura 23 şi are două părţi (denumită de aceea arhitectură 2-tier). Un dezavantaj al acestei

arhitecturi este siguranţa precară a datelor în cazul când un utilizator

rău intenţionat, având acces la maşina server, poate depăşi mijloacele de verificare efectuate de logica de prelucrare centrală (programul

server) şi are acces direct la datele stocate pe această maşină.

CLIENT logica de

prelucrare locală

interfaţa cu

utilizatorul

SERVER logica de

prelucrare centrală

date stocate

structurat

Protocol şi infrastructură

de comunicaţie

Page 142: Informatică economică

142

Figura 24. Arhitectura Client-Server 3-tier şi n-tier

Pentru creşterea siguranţei accesului la date, este indicat ca partea

server să fie separată în alte două părţi: una care să conţină logica de prelucrare (SERVER-P) şi este legată direct cu clienţii, alta să conţină

datele (SERVER-D) şi la care are acces doar logica de prelucrare

centrală – v. Figura 24. În acest fel, după accesul utilizatorului la maşina SERVER-P logica de prelucrare centrală verifică autenticitatea

şi drepturile utilizatorului, apoi – doar prin intermediul programului

server, oferă acces la datele aflate pe una sau mai multe servere cu date (SERVER-D1, ... SERVER-Dn-2), Arhitecturile, în acest caz, sunt

de tip 3-tier (dacă există doar un singur server SERVER-D1),

respectiv n-tier (dacă există mai multe servere SERVER-D1... SERVER-Dn-2). Aplicaţii de baze de date pot funcţiona în arhitectura

client-server 2-tier. În forma 3-tier funcţionează aplicaţii distribuite –

cum ar fi de exemplu o aplicaţie de vânzări de acţiuni, în care datele despre cursul acţiunilor, apoi ştirile despre acţionari sau companii,

respectiv tranzacţiile se găsesc pe maşini diferite.

Aplicaţiile în arhitectura client-server sunt cele mai răspândite în Internet astăzi, prezentând şi forme în care cele două părţi sunt

simetrice: serverul poate fi client şi reciproc, în scopul comunicării

bidirecţionale de date stocate pe cele două (sau mai multe) maşini (v. peer-to-peer).

CLIENT logica de

prelucrare locală

interfaţa cu

utilizatorul

SERVER-P

logica de

prelucrare centrală

...

SERVER-D1

date stocate

structurat

SERVER-Dn-2

date stocate

structurat

Page 143: Informatică economică

143

Miniaplicaţii

O categorie specială de program o constituia miniaplicaţia („applet”) – ca program ce nu există de sine stătător, ci doar în cadrul unei (alte)

aplicaţii – de exemplu, o aplicaţie web cu pagini conţinând text şi

imagini. Miniaplicaţia „applet” poate rula doar când este lansată de un

eveniment extern – click pe o imagine, producând, spre exemplu,

animaţia unui obiect pe ecran. Miniaplicaţia „applet”, ca program, este descărcată de pe maşina server pe maşina client şi rulează (de obicei

în mod interpretat) pe clientul web (navigatorul Internet).

Miniaplicaţia „applet”este un program script (adică scris într-un limbaj scriptural) şi interpretat linie cu line din textul sursă, acţiunile

sale fiind astfel permanent controlate; din motive de securitate.

Miniaplicaţia „applet” nu are acces la sistemul de fişiere al maşinii client, iar comunicaţia o poate realiza doar cu maşina server de pe care

provine.

Complementar miniaplicaţiilor „applet” există „servlet”, ce rulează pe maşina server spre a asigura: acces securizat la baze de date, facilităţi

pe maşini de căutare în Internet, generarea de pagini web dinamice. Şi

acest tip de program se scrie în limbaj scriptural şi rulează interpretat, în cadrul unei aplicaţii gazdă (de exemplu serverul web).

17.3. Instrumente software de dezvoltare a aplicaţiilor

În accepţia comună, clasică, programarea constă în scrierea textului sursă într-un limbaj de programare ales, prin care se descrie un

algoritm de prelucrarea a datelor. Această activitate este foarte

laborioasă şi necesită dese reveniri în scrierea textului (pentru corectura sintactică, pentru optimizare sau chiar refacerea codului).

Ingineria programării indică metode şi paşi sistematici prin care

erorile în soluţia problemei şi în realizarea codului se reduc la minim. Totuşi, pentru a obţine o productivitate rezonabilă în munca de

programare sunt necesare instrumente software de asistare a

programatorului. Cele mai importante categorii de instrumente sunt prezentate în cele ce urmează.

Interfeţe, biblioteci şi pachete de programare

Page 144: Informatică economică

144

Limbajele de programare actuale tind să fie cât mai concise – privind

cuvintele cheie şi comenzile de prelucrare sau control de flux (atribuire respectiv repetiţie şi decizie). O mare parte din prelucrări

sunt implementate ca subprograme sau pachete de funcţii şi formează

biblioteci. Programatorul trebuie să cunoască aceste biblioteci, cu inventarul lor şi modul de utilizare a subprogramelor aferente, pe care

le apelează în programul sursă; la faza de editare a legăturilor

(„linking”) ele se includ în codul obiect al programului apelant într-una din modalităţile:

legare statică – codul din bibliotecă este inclus în program la compilare şi formează codul executabil, care poate fi apoi rulat

independent de bibliotecă;

legare dinamică – codul din bibliotecă face parte din sistemul de operare şi este inclus în codul executabil la încărcarea sa în memorie

(„loadtime” - adică la lansarea programului) sau chiar în timpul execuţiei („runtime”).

Legarea statică a subprogramelor din biblioteci este folosită curent de

către mediile de programare pentru limbaje ca Pascal, C, Java, în vederea realizării programului executabil. Fişierele bibliotecă conţin

module precompilate şi sunt parte a compilatorului sau mediului de

programare a limbajului, furnizat de producător. Bibliotecile sunt denumite la limbajul C „headers”, sunt specializate pe tipuri de date şi

prelucrări (standard, pentru şiruri de caractere, pentru funcţii

matematice, etc.) şi se includ în programul obiect dacă au fost apelate cu directivă preprocesor #include la începutul programului sursă. La

limbajul Java, subprogramele sunt de fapt clase predefinite, grupate în

pachete (package) cu o structură arborescentă şi incluse în programul sursă prin directiva import.

Un tip de bibliotecă foarte utilizat este Interfaţa de Programare a

Aplicaţiilor (API), care conţine seturi de funcţii, proceduri, variabile şi structuri de date ce pot fi folosite de către programator în aplicaţii ca

obiecte precompilate, apelate standard. Există API care fac parte din

sistemul de operare sau livrate ca pachet independent, API poate fi

Page 145: Informatică economică

145

proprietară (de exemplu, cea pentru PlayStation a firmei Sony) sau

poate fi distribuită gratuit (cum este cea de la Microsoft Windows).

Sistemele de operare precum Windows şi Linux folosesc legarea

dinamică la încărcarea programului executabil („loadtime”).

Biblioteca de legare dinamică este uzual denumită prin acronimul DLL (Dinamic Link Library) la Windows şi bibliotecă partajată

(„shared library”, ELF) la sisteme UNIX. Biblioteca conţine module

executabile pre-compilate şi este stocată pe disc ca fişier separat. Atunci când mai multe aplicaţii utilizează aceeaşi bibliotecă dinamică,

sistemul de operare o poate încărca pentru fiecare în parte. Un mare

dezavantaj al legării dinamice este faptul că programele executabile depind de existenţa fişierelor bibliotecă pe sistemul pe care rulează,

execuţia aplicaţiei întrerupându-se când aceste fişiere lipsesc, sunt redenumite sau au altă versiune.

La unele sisteme de operare legarea dinamică are loc pe durata

execuţiei programului („runtime”), astfel: programul executabil apelează o Interfaţă de Programare a Aplicaţiilor (API „Application

Programming Interface”), furnizând numele fişierului bibliotecă, un

număr de funcţie şi parametrii acesteia; sistemul de operare rezolvă importul de fişier (îl încarcă în memorie) şi face apelul funcţiei

solicitate, în contul aplicaţiei. Datorită operaţiilor suplimentare

executate la fiecare apel de funcţie, se poate ca execuţia programului să fie foarte lentă, deci să afecteze performanţa aplicaţiei. De aceea

legarea dinamică la momentul execuţiei nu este foarte utilizată în

sistemele de operare actuale.

Există diverse alte tipuri de biblioteci, cum sunt:

biblioteci pentru testare – care includ date de test dezvoltate specific

pentru un tip de aplicaţie anume, cu care se poate verifica comportarea aplicaţiei în situaţii diverse – înainte de a fi dată în exploatare;

biblioteci grafice – care conţin diferite obiecte grafice gata de utilizat la proiecte din diferite domenii;

biblioteci de programe pentru diferite limbaje (Perl, Java) şi diferite utilizări (animaţii în pagini web, clase şi prelucrări uzuale).

Page 146: Informatică economică

146

Trebuie făcută o deosebire clară între „pachete de programe” (sau

clase) – ca biblioteci şi „pachete software” sau „pachete de aplicaţii” – ca modalităţi de distribuţie şi instalare software achiziţionat de la

producători, de exemplu pachete pentru aplicaţii de birou – MS Office

al firmei Microsoft, sau Apache OpenOffice care provine din StarOffice al firmei SUN.

Medii de programare

Dezvoltarea unui program scris într-un limbaj de programare ales, decurge mai uşor dacă toate instrumentele necesare sunt integrate într-

unul singur, adică: editorul de text sursă, compilatorul, editorul de

legături şi chiar depanatorul. Un Mediu de Dezvoltare Integrat (IDE – „Integrated Development Environment”) este un instrument software

care oferă aceste facilităţi, fiind utilizat atât la proiectarea cât şi la implementarea aplicaţiei. Întrucât interfaţa grafică utilizator (GUI –

„Graphical User Interface”) este partea de program care necesită cel

mai mare efort de programare, acestor medii li s-a adăugat modalitatea de proiectare şi implementare vizuală a interfeţei grafice. Prin

programarea vizuală, se plasează obiecte (de tipul fereastră, buton

grafic, casetă de text etc.) pe o suprafaţă de lucru – care, la final, va deveni suprafaţa de lucru a utilizatorului, în fundal, mediul de

programare producând cod prin care rezolvă partea de program ce va

construi obiectele interfeţei. Exemple de medii (IDE) sunt popularele Turbo C sa Turbo Pascal (ale firmei Borland), astăzi prezente şi pe

sistemul de operare Linux în mod gratuit. Medii moderne, cu

posibilităţi de lucru pentru obiecte diverse (grafice şi nu numai) sunt MS Visual Basic şi MS Visual Studio (pentru mai multe limbaje –

C++, C#, Visual Basic), mediul Delphi (bazat pe limbajul Pascal),

medii pentru Java, etc.

Medii pentru Baze de Date

Pentru crearea şi utilizarea aplicaţiilor cu baze de date se folosesc

Sisteme de Gestiune a Bazelor de Date (SGBD, în engleză DBMS – Data Base Management Systems). Acestea sunt medii integrate care

oferă instrumente de creare a obiectelor din aplicaţiile cu baze de date

– ca grile de proiectare tabele sau interogări, cu mijloace vizuale pentru rapoarte şi formulare, dar şi limbaje de descriere şi manipulare

Page 147: Informatică economică

147

a datelor – prin care se creează tabele şi se formulează interogări.

SGBD este un mediu în care se creează obiectele de tip tabel, interogare, formular, raport, iar aplicaţia – ca set de module program

scrise în limbajul de manipulare a datelor, care poate rula numai sub

mediul SGBD (adică în prezenţa acestuia – încărcat în memorie).

Fiindcă aplicaţiile cu baze de date sunt folosite de mai mulţi utilizatori

simultan, SGBD actuale oferă un nucleu de lucru multi-activităţi

(„multitasking”) şi multi-utilizator, precum şi mijloace de comunicare în reţea – de obicei bazate pe servicii ale sistemului de operare de pe

maşina pe care mediul este încărcat, cu utilizare partajată (adică

simultană) a obiectelor SGBD. Aplicaţiile cu baze de date actuale (şi de aici SGBD) integrează mecanisme de lucru în Internet, pentru

generare de pagini web, interogare, autentificare şi autorizare a accesului.

SGBD sunt cele mai folosite medii de implementare a Sistemelor de

Informatizare – ca structuri complexe ce integrează aplicaţii în multiple domenii de activitate din cadrul unei companii (de exemplu

conducere, gestiune, producţie).

Între produse SGBD actuale proprietare („closed source”) se numără: Oracle, Informix, Microsoft Access, Microsoft SQL Server, iar cu cod

liber („open source”) MySQL, PostgreSQL, SQLite.

Instrumente de asistare a dezvoltării software

Complexitatea aplicaţiilor şi timpul scurt disponibil pentru a le

proiecta şi implementa, au impus noi modalităţi de dezvoltare

software. Conceptul de Dezvoltare Rapidă a Aplicaţiilor (RAD – Rapid Application Development) este o soluţie productivă de

proiectare şi implementare rapidă a aplicaţiilor, bazată pe instrumente

vizuale şi asistenţi („wizards”). Programarea foloseşte limbaje de generaţia a 4-a (denumite 4GL - în timp ce 3GL sunt Pascal, C,

COBOL) şi decurge ca o proiectare a aplicaţiei elaborată cu ajutorul

calculatorului; codul propriu-zis este generat de către mediul RAD, în fundal. Exemple de instrumente RAD sunt Visual Basic şi similarul

lui Oracle PowerObjects, apoi C# de la Microsoft – ca limbaj, precum

şi medii de baze de date ca CA Visual Objects sau MS Visual FoxPro.

Page 148: Informatică economică

148

Într-un instrument RAD de tipul VisualBasic se folosesc programarea

orientată pe evenimente („event driven programming” – prin care acţiunile din program sunt ataşate butoanelor grafice) şi componentele

puse la dispoziţie de către mediu.

O altă categorie de instrumente eficiente sunt instrumentele CASE („Computer Aided Software Engineering” sau „Computer Automated

System Engineering”), care oferă asistenţă în una sau mai multe etape

de dezvoltarea a produsului (sau întregului sistem) software dar în special pentru etapele de analiză, proiectare şi testare. Există medii

CASE ce permit crearea modelelor apoi arhivarea şi utilizarea lor

partajată. Funcţiile instrumentelor CASE pot fi:

editarea sau alegerea de modele pentru interfeţe utilizator grafice

(GUI);

generarea automată de cod;

generarea automată a documentaţiei;

verificarea consistenţei între diagramele de proiectare şi modelele

rezultate;

asistenţă pe durata întregului ciclu de viaţă a programului.

Un instrument CASE rulează ca un program care conduce analistul prin etapele obligatorii de dezvoltarea a produsului software, după o

metodologie de analiză / proiectare aleasă din mai multe – oferită de

instrument. Pentru aceasta, se pun la dispoziţie modele şi mijloace de creare a modelelor pentru sistemul ţintă, cum sunt: Diagrame Entitate-

Relaţie, Diagrame de flux („data flow diagrams”), Diagrame Use-

Cases, apoi realizarea arhitecturii sistemului şi în final generarea automată de cod (în limbaje de precum C++, Java) şi generarea

documentaţiei pentru sistemul proiectat. Un instrument CASE permite

„ingineria inversată” („reverse engineering”) adică obţinerea pe cale inversă a modelelor de proiectare – dintr-un program deja

existent/realizat.

Dintre instrumentele CASE existente, se amintesc: Team-Trace (WA Systems), Cradle (3SL) – pentru etapa de analiză a cerinţelor; CAE

Analyst (MacroProject), Cradle (3SL) – pentru analiză structurată;

Page 149: Informatică economică

149

Powerbuilder (Powersoft) – pentru aplicaţii client-server; DOORS

(Telelogic AB), Cradle (3SL) – pentru proiectarea de baze de date; DocEXPRESS (Telelogic AB), Cradle (3SL) – pentru generare

automată de documentaţie; PacDesign (CGI Systems Inc.) Visual

Case (Artiso Corp) – pentru modelarea afacerilor.

Page 150: Informatică economică

150

18. Sisteme de operare şi programe utilitare

Funcţionarea unui calculator nu este posibilă fără un sistem de operare rezident – adică încărcat în memoria de lucru şi în execuţie; el este

denumit software de bază pentru că oferă un mediu de execuţie pentru

alte programe – software de aplicaţie.

Sistemul de operare asigura interfața dintre utilizator și hardware prin

gestionarea resurselor fizice și logice ale sistemului de calcul.

Funcţii ale sistemului de operare

Un sistem de operare trebuie să asigure în principal:

i) alocarea resurselor – adică a spaţiului de memorie, procesorului (sau

procesoarelor), unităţilor de intrare / ieşire.

ii) planificarea şi controlul programelor în execuţie – adică rularea

programelor după priorităţi şi introducerea oprirea lor temporară când

acestea aşteaptă la o resursă partajată (folosită în comun cu alte programe).

iii) interpretarea şi execuţia comenzilor de la operatorul uman – adică

oferirea unui mijloc de furnizare a comenzilor (ca text sau ca evenimente pe o interfaţă grafică), apoi conversia lor în acţiuni

corespunzătoare.

Comenzile sistemului de operare se referă la transferuri de date şi programe între periferice şi chiar cu memoria de lucru, caz în care

transferul se spune că „se deschide” – adică se lansează în execuţie

colecţia de date sau programul. Procesorul este alocat unui program în măsura în care alte programe mai prioritare nu îl solicită sau

programul în cauză aşteaptă la un periferic încheierea unei operaţii de

intrare / ieşire.

Page 151: Informatică economică

151

În general, operarea la un sistem de calcul se poate face în două

moduri:

regim comandă – (CLI - Command-line interface) în care comanda

se furnizează ca un cuvânt (sau o prescurtare), însoţită de parametri;

regim grafic/meniu – (GUI- Graphical user interface)în care

comanda şi parametrii se aleg grafic cu mouse-ul din liste şi subliste de opţiuni (meniuri)-(TUI- Text user interface).

În regimul comandă, trebuie cunoscute cuvintele ce exprimă

comenzile şi parametrii, precum şi sintaxa și modul de combinare a acestora – pentru ca o comandă furnizată să fie corect interpretată şi

executată; în plus, comanda trebuie tastată deci necesită un timp de

editare (eventual şi corectură). În regimul meniu, nu este necesară cunoaşterea comenzilor ci doar recunoaşterea lor din listele de meniu,

iar execuţia lor se face prin selecţia din listă a opţiunii dorite (eventual

cu sub-opţiuni); în plus, se poate oferi şi ajutor pe loc („help”). Sistemele de operare moderne au o interfaţă utilizator grafică şi

programe utilitare eficiente de lucru. În al doilea regim, se spune că un

programul este „prietenos”.

Sistemele de operarea moderne (cum sunt Windows ori LINUX şi alte

sisteme UNIX) oferă facilităţi multitasking – de execuţie a mai multor

programe simultan (sau activităţi – „tasks”), precum şi facilităţi multi-utilizator – de lucru pentru mai mulţi utilizatori simultan, cu acces prin

reţele de calculatoare. Privind modul cum se planifică procesorul

pentru mai multe programe (procese) ce rulează „simultan”, se deosebesc:

sisteme cu divizarea timpului („time sharing”) – în care

procesorul este alocat succesiv câte unui program, pentru o„felie” de timp. Aparent, se execută mai multe programe simultan dar de fapt ele

se succed rapid şi folosesc pe rând procesorul.

sisteme preemptive – în care programul în curs poate fi întrerupt (la momente întâmplătoare) prin evenimente ce provoacă lansarea în

execuţie (eventual reluarea) altor programe. Evenimentele sunt, în

general, cereri de introducere date sau anunţul finalizării unei afişări de date.

Page 152: Informatică economică

152

Pentru funcţionarea multiutilizator, se creează şi se menţin contexte

specifice fiecăruia dar, ca şi pentru programe, fiecare este servit pe rând, rapid, astfel că aparent lucrează simultan.

Tipuri de sisteme de operare

Există diverse categorii de sisteme de operare, după locul şi rolul pe care îl ocupă:

Sisteme de operare „desktop” – care rulează pe calculatoare personale (PC), pentru un singur utilizator sau un număr mic de

utilizatori, controlează puţine dispozitive periferice (de tip mouse,

ecran, tastatură) şi oferă un timp de răspuns convenabil.

Sisteme paralele –utilizează mai multe procesoare şi deci execuţia

programelor este într-adevăr simultană. Acestea pot fi cu multiprocesare simetrică (SMP – „Symetrical MultiProcessing”) în

care fiecare procesor execută o copie identică a sistemului de operare,

respectiv cu multiprocesare asimetrică („Asymetrical MultiProcessing)” în care unele procesoare sunt de tip stăpân

(„master” – au inițiativa) iar altele sunt de tip sclav („slave” – primesc

lucrări de la master).

Sistem în timp real – folosite pentru aplicaţii „de timp critic” – de

exemplu în industrie, unde trebuie executată o operaţiune în timpul şi sincron funcţionării instalaţiilor conduse prin calculator.

Sisteme de operare distribuite – care rulează pe mai multe maşini

interconectate în reţea (locală sau largă ), asigurând partajarea resurselor comune între mai mulţi utilizatori, precum şi sincronizarea

unor operaţiuni executate pe maşini distante.

Sisteme de operare „palmtop” – care rulează pe calculatoare PDA (Personal Digital Assistant – ca un carnet ţinut în palmă), tablete sau

pe telefoane celulare – fiind specifice ca mod de interacţiune cu utilizatorul şi folosind resurse reduse.

Sistemul de operare Windows

Sistemele de operare „descktop” de pe calculatoare personale (IBM PC) au adoptat tehnologii dezvoltate pentru calculatoare puternice însă

cu performanţe mai slabe privind securitatea datelor sau sistemului şi

Page 153: Informatică economică

153

cu mijloace de administrare a resurselor mai reduse. Un exemplu este

sistemul de operare MS Windows, care în ultimele variante oferă:

nucleu multitasking preemptiv pe 32 și 64 biţi;

portabilitate – poate fi instalat pe diverse platforme (cu procesor

din familia Intel), codul dependent de procesor fiind izolat într-o bibliotecă de tip DLL (denumită HAL – hardware abstraction layer);

securitate – foloseşte protecţie hardware pentru memoria virtuală

şi protecţie software pentru mecanismele sistemului de operare;

autentificarea utilizatorului prin „nume utilizator” şi parolă;

posibilităţi de lucru multiprocesor – pentru procesare simetrică

(SMP);

suport pentru internaţionalizare – pentru diferite limbi vorbite,

formate privind ora, moneda, etc. în diferite puncte pe glob;

suport pentru gestiunea discului cu sisteme de toleranţă la

defecte (masive de discuri RAID sau mai multe discuri pe magistrală

SCSI);

suport pentru lucrul în reţea: în mod client-server (server central

şi staţii de lucru care accesează resurse din reţea prin server) sau în

mod „peer-to-peer” (de la egal la egal, adică fiecare staţie de lucru pune la dispoziţia celorlalte resurse proprii disc sau o imprimantă

locale);

conectare la Internet, rezolvarea numelor în Internet, interconectare cu alte sistem de operare în aceeaşi reţea;

mecanisme de prelucrare distribuită (prin NetBIOS, Windows

Sockets, Remote Procedure Call), API pentru conectare în reţea prin socluri (sockets), acces la alte sisteme de fişiere.

Page 154: Informatică economică

154

Programe utilitare

Configurarea resurselor sistemului de operare (de ex. pentru periferice, reţea, limba şi ora locale), manevrele de gestionare a

resurselor (vizualizare, copiere, ştergere directoare şi fişiere) şi

comenzile de lucru pentru transferul datelor între periferice şi memorie (tipărire, lansare programe, acces la reţea) sunt acţiuni

dificile, care se pot executa, în general, prin comenzi complicate.

Pentru a facilita aceste acţiuni, se folosesc programe utilitare – programe considerate între programele de bază şi programele de

aplicaţii, ce asigură manevrarea comodă a setărilor şi resurselor

calculatorului.

Următoarele categorii de programe utilitare sunt mai des folosite:

1. Managere de resurse – care permit vizualizarea conţinutului discurilor (fixe, flexibile, optice) şi manipularea directoarelor şi

fişierelor (copiere, mutare etc.). Exemple sunt Windows Explorer, sau

Windows Commander, care prezintă în panourile de lucru ale ferestrelor acestor utilitare structura arborescentă de directoare şi

fişierele, apoi permit operaţii cu acestea.

2. Arhivatoare – care permit salvarea conţinutului directoarelor şi fişierelor prin compactarea şi organizarea informaţiei în vederea

păstrării pe suport extern un timp îndelungat sau transmiterii prin

poșta electronică. Exemple: WinZip, WinRAR, WinAce.

3. Antiviruşi – care permit controlul şi eliminarea programelor de tip

virus, vierme, cal troian, bombă logică ce pot „infecta” un sistem de

calcul spre a reduce sau anula capacitatea de lucru sau a distruge date şi chiar unităţi periferice. Exemple: Kaspersky, RAV (Romanian

AntiVirus – cumpărat de Microsoft), Bitdefender, MacAfee Antivirus.

Programele utilitare sunt parte a sistemelor de operare moderne, dar pot fi şi produse de la firme specializate.

Page 155: Informatică economică

155

19. Interfeţe utilizator

Interacţiunea om-maşină are atât aspecte tehnice cât şi psihologice. Aceste aspecte trebuie luate în considerare pentru a asigura lucrul

eficient in cadrul utilizării aplicaţiilor pe calculator.

Interfaţa cu utilizatorul reprezintă totalitatea mijloacelor prin care omul interacţionează cu maşina, uzual reprezentate de perifericele de

intrare – ecran tactil, tastatură şi indicator pe ecran (mouse, track-ball,

touch-pad) - cu perifericul de ieşire - ecran şi imaginile afişate/proiectate.

Realizarea unei interfeţe utilizator „prietenoase” priveşte, în principal,

modul de afişare a obiectelor prin care omul interacţionează cu maşina. Aspectul de ansamblu al imaginilor pe ecranul unei aplicaţii

este cunoscut drept „look-and-feel” şi se referă la caracteristicile

vizuale ale interfeţei şi la comportamentul interfeţei ca răspuns la acţiunile utilizatorului.

Interfața utilizator linie comandă

O interfaţă linie de comandă (CLI) reprezintă un mecanism de

interacţiune cu un sistem de operare sau un software, prin tastarea de

comenzi având scopul de a îndeplini sarcini specifice. Această interfaţă text contrastează cu utilizarea indicatorului mouse-ului într-o

interfaţă grafică (GUI), făcând clic pe opţiuni sau pe meniurile dintr-o

interfaţă utilizator text (TUI) pentru a selecta anumite opţiuni. Această metodă de instruire a calculatorului, pentru a îndeplini o sarcină dată,

este menţionată ca fiind "introducerea" unei comenzi. Sistemul

aşteaptă utilizatorul să încheie introducerea comenzii text prin apăsarea tastei "Enter". Un interpretor linie comandă primeşte,

analizează, şi execută comanda solicitată. Interpretorul linie comandă

poate rula într-un terminal text sau într-o fereastră emulată de terminal pentru un client de la distanţă. După finalizare, comanda de obicei

Page 156: Informatică economică

156

întoarce o ieşire pentru utilizator sub formă de linii de text pe

interfață. Această ieșire poate fi un răspuns în cazul în care comanda a fost o întrebare, sau un rezumat al operaţiunii.

Interfata utilizator grafică

O interfaţă grafică (Graphical User Interface-GUI) este o zonă

grafică (de lucru) situată între utilizator şi dispozitivele electronice

cum ar fi calculatoarele, dispozitivele care se țin în mână (hand-held-playere MP3, playere media portabile, dispozitive de jucat,

smartphone-uri, tablete etc.), aparate electrocasnice şi unele

echipamente de birou. Pentru a prezenta toate informațiile şi acţiunile disponibile, un GUI oferă pictograme şi indicatori vizuali, în contrast

cu interfeţele bazate pe text, care oferă navigaţia text sau nume de

comenzi ce trebuiesc tastate.

Interfeţele utilizator actuale se bazează pe grafică (în sensul de

imagine construită punct cu punct), numite de aceea Interfeţe

Utilizator Grafice (în engleză cu acronimul GUI). Acestea respectă câteva principii cum sunt:

utilizatorul controlează programul şi nu invers – adică omul acţionează şi calculatorul răspunde prompt, eventual în mod

personalizat (specific persoanei care lucrează);

utilizatorul operează direct cu datele de pe ecran, astfel ca să constate direct relaţia cauză-efect a acţiunilor sale. Obiectele

reprezentate pe ecran sunt intuitive şi apropiate de obişnuinţa omului.

obiecte şi acţiuni similare în diferite aplicaţii au acelaşi mod de

reprezentare grafică şi se comportă identic;

prezentarea pe ecran este clară (simplă, inteligibilă) şi estetică (atractivă);

interfaţa este tolerantă la greşelile utilizatorului oferind ajutor şi sugestii de rezolvare a problemelor apărute.

În continuare, vor fi prezentate obiecte generice pe ecranul de afişare şi manevre uzuale efectuate cu perifericele de intrare, prin care

utilizatorul interacţionează cu maşina.

Page 157: Informatică economică

157

19.1. Ecranul tactil

Reprezintă dispozitivul periferic de intrare-ieșire cu care puteți efectua activități similare utilizând un mouse și o tastatură.

Funcții tactile: tragere cu degetul, atingere și altele (cf. Microsoft)

Denumire Acțiune Rezultat

Atingere

Atingeți un element. Se deschide, selectează sau

activează oricând atingeți un

element. Similar cu clicul de

mouse.

Apăsare

continuă

Apăsați cu degetul și țineți

cam o secundă.

Arată informații pentru a vă ajuta

să aflați mai multe despre un

element sau deschide un meniu

specific activității efectuate. De

exemplu, apăsați continuu o

pictogramă din ecranul Start pentru

a o rearanja, a o redimensiona sau

a o fixa. Funcționează doar pentru

unele elemente. Similar cu clicul

cu butonul din dreapta al unui

mouse.

Zoom

Apropierea sau depărtarea

degetelor pentru zoom.

Atingeți ecranul sau un

element cu două sau mai

multe degete, apoi mișcați

degetele unul către altul

(apropiere) sau în direcții

opuse (depărtare).

Mărește sau micșorează nivelul de

zoom vizual, ca și cu imaginile sau

hărțile. Un loc bun pentru a explora

aceasta este ecranul Start.

Navigare

Glisați pentru a defila.

Trageți degetul pe ecran.

Se deplasează prin conținutul

ecranului. Similar cu defilarea cu

un mouse.

Repoziționare Glisare pentru a rearanja.

Apăsați și glisați scurt un

element în direcția opusă

celei în care defilează

Mută un element (drag and drop).

Similar cu glisarea cu un mouse.

Page 158: Informatică economică

158

pagina, apoi mutați-l

oriunde doriți. (De

exemplu, dacă ați defila la

stânga sau la dreapta,

trageți elementul în sus sau

în jos.) Atunci când un

element este mutat în noua

locație, eliberați-l.

Trageți

pentru

selecție

Trageți cu degetul un

element cu o mișcare

scurtă, rapidă în direcția

opusă celei de derulare a

paginii.

De exemplu:

Dacă pagina se defilează

la stânga sau la dreapta,

trageți elementul cu

degetul în sus sau în jos

pentru a-l selecta.

Dacă pagina se defilează

în sus sau în jos, trageți

elementul cu degetul la

stânga sau la dreapta

pentru a-l selecta.

Selectați un element și se vor afișa

de multe ori comenzi de aplicație.

Un loc bun pentru a explora acest

gest este aplicația Mail.

Tragere cu

degetul sau

glisare de la

margine

Pornind din margine,

trageți cu degetul rapid sau

glisați transversal pe ecran

fără a vă ridica degetul.

Deschideți butoanele (Căutare,

Partajare, Start, Dispozitive,

Setări). Trageți cu degetul din

marginea din dreapta.

Deschideți o aplicație utilizată

recent. Trageți cu degetul din

marginea din stânga. Continuați să

trageți cu degetul pentru a comuta

între toate aplicațiile utilizate

recent.

Deschideți simultan o altă

aplicație. Glisați din marginea din

stânga fără a ridica degetul și

trageți aplicația până când apare un

separator. Apoi mutați aplicația

unde doriți și glisați separatorul

pentru a ajusta dimensiunea

Page 159: Informatică economică

159

aplicației.

Vedeți o listă cu aplicațiile

utilizate recent. Glisați din

marginea din stânga fără a ridica

degetul și împingeți înapoi

aplicația spre marginea stângă.

Afișați comenzile pentru

aplicațiile curente, cum ar fi Nou și

Reîmprospătare. Trageți cu degetul

din marginea de sus sau de jos.

Închideți o aplicație. Glisați în

jos, pornind din marginea de sus,

fără a ridica degetul, apoi glisați

aplicația spre partea de jos a

ecranului.

Rotire

Puneți două sau mai multe

degete pe un element și

rotiți mâna.

Rotește elementele în direcția în

care întoarceți mâna. Doar unele

elemente pot fi rotite.

19.2. Tastatura şi mouse-ul

Tastatura, ca dispozitiv de intrare, permite atât introducerea simbolurilor de scriere (alfa-numerice) cât şi efectuarea unor acţiuni

(ştergere caracter, deplasare cursor pe ecran, Enter – salt la nou rând

sau execuţie comandă/opţiune curentă). O manevră specială de introducere se efectuează prin apăsarea simultană a tastei Ctrl şi a unei

litere alese (Ctrl-Litera), combinaţia fiind ataşată unei comenzi uzuale

în aplicaţia dată, fiind o „scurtătură” pentru execuţia acesteia (altfel selectată dintr-un meniu, deci cu mai multe apăsări de taste). Spre

exemplu, combinaţia Ctrl-S reprezintă scurtătura pentru salvarea unui

document. Similar, pot fi alocate comenzi pentru scurtături din combinaţia Alt-Litera.

Pentru a indica cu mouse-ul, trebuie aşezată săgeata indicator pe

obiectul ales. Manevrele ce se pot execut cu mouse-ul sunt:

Page 160: Informatică economică

160

1. Indicare – indicatorul atinge un obiect vizat; dacă zăboviţi asupra obiectului, apare un mic mesaj (numit „tool tip”) care conţine o

descriere a obiectului.

2. Click – butonul stânga apăsat scurt (selectează un obiect vizat).

3. Dublu click - butonul stânga apăsat rapid de două ori (deschide documentul sau lansează programul ataşat obiectului vizat).

4. Click dreapta - butonul dreapta apăsat (desfăşoară meniu

contextual, adică specific locului vizat).

5. Glisare – click pe un obiect vizat şi deplasare mouse cu buton

stânga menţinut apăsat spre un alt loc pe ecran (mutare obiect vizat sau selectarea mai multor obiecte).

Când indicaţi anumite obiecte, indicatorul îşi schimbă forma, spre a

anunţa astfel că puteţi executa un anume tip de comenzi. De exemplu, când indicatorul se transformă intr-o mână care arată cu degetul, vă

aflaţi deasupra unui obiect click-abil cum ar fi o hiperlegătură, o

săgeată cu doua capete permite modificarea dimensiunilor unui obiect etc.

19.3. Ferestre şi casete de dialog

2

Page 161: Informatică economică

161

Figura 25. Structura unei ferestre şi a unei casete de dialog

La sistemele bazate pe ferestre, mijloacele prin care utilizatorul poate

comunica cu aplicaţia sunt furnizate de elementele ferestrelor şi casetelor de dialog. Acestea sunt reprezentate, pe un exemplu, în

Figura 25, iar mai jos se oferă detalii lămuritoare.

Suprafaţa de lucru

Aşa cum tăblia mesei de lucru, la birou sau acasă, este ocupată cu

obiecte de uz curent (hârtii, cărţi, creioane, lampa de birou, etc.), tot astfel ecranul este ocupat cu obiecte utile lucrului cu calculatorul.

Fiecare din obiecte este reprezentat printr-o pictogramă (vezi în

Figura 25). Butonul „Start” permite accesul la aplicaţiile instalate pe maşină, precum şi la opţiunile de configurare pentru periferice şi

pentru întregul sistem. Suprafaţa de lucru („desktop”) poate fi configurată, la rândul ei, prin includerea de noi obiecte sau prin

înlăturarea lor.

15

1

Page 162: Informatică economică

162

Bara de activităţi indică aplicaţiile lansate în execuţie, prin butoane grafice asociate; aceste butoane permit, totodată, activarea uneia din

aplicaţii (asupra căreia utilizatorul îşi va focaliza atenţia), precum şi eliminarea ei de pe ecran (minimizarea ferestrei) prin click-uri

succesive pe butonul corespunzător aplicaţiei.

Ferestre aplicaţie

O fereastră aplicaţie este o reprezentare standard a instrumentelor

uzuale de lucru cu aplicaţia. Aceste instrumente sunt reprezentate

grafic în diverse moduri şi permit acţionarea lor cu ajutorul mouse-ului sau al tastaturii. Figura 25 prezintă elementele generice ale unei

ferestre, rolul fiecăreia şi modul său de acţionare.

Tabel 7. Elementele ferestrei generice şi modul lor de acţionare

Element Mod de acţionare

Bara de titlu prezintă numele aplicaţiei (în Figura 25

navigatorul local – „Windows Explorer”), precum şi

numele documentului sau, în cazul navigatorului, locul

vizat – disc (C:, D:, etc.), director pe disc („My

Documents”), calculator din vecinătatea în reţeaua locală

(„Network Neighborhood”).

glisarea Barei

de titlu mută

fereastra pe

suprafaţa de lucru .

Bara de meniu cuprinde categorii (opţiuni) accesibile

în aplicaţia dată, din care trei sunt regăsite la orice

aplicaţie: File (manipularea datelor specifice aplicaţiei),

Edit (copiere, căutare, ştergere date) şi Help (ajutor

imediat - structurat pe conţinut, index şi căutare).

click sau Alt-

Litera dă lista

acţiunilor specifice

aplicaţiei şi datelor

sale

Bara de unelte cuprinde comenzi uzuale ilustrate prin

desene intuitive, acţionate ca butoane grafice. Comenzi de

editare, lucru cu fişiere şi cu ferestre au o replică în bara

de unelte.

click buton grafic

execută comanda

(ex. =

decupare)

Butoane deschis / închis aflate în colţul dreapta sus,

permit punerea în aşteptare a aplicaţiei (minimizarea ),

ocuparea întregului ecran activ (maximizarea) sau

restaurarea ferestrei pentru redimensionare, iar ultimul

închiderea aplicaţiei

minimizare

maximizare

restaurare

închidere

Bara de stare prezintă informaţii privind setări

specifice aplicaţiei

numai vizionare 16

9

4

3

2

14

Page 163: Informatică economică

163

Panouri de lucru prezintă datele specifice aplicaţiei şi

permite manipularea lor conform metodelor specifice

acestora.

prelucrare specifică

a datelor aplicaţiei

Chenarul permite redimensionare ferestrei (lăţire,

lungire şi reciproce, respectiv mărire / micşorare

proporţională ).

glisare chenar

sau colţul dreapta-

jos

Casete de dialog

Prin casetele de dialog utilizatorul poate viziona setările curente ale aplicaţiei şi poate modifica aceste setări prin acţionarea elementelor

casetei, după cum se prezintă în tabelul 8.

Tabel 8. Elementele casetei de dialog generice şi modul lor de acţionare

Element Mod de acţionare

Bara de titlu prezintă numele casetei de dialog (în

Figura 25 opţiunile fişierelor – „Folder Options”). glisarea Barei

de titlu mută caseta

Fişă prezintă un set de setări posibile, de obicei

împărţite pe cadre (secţiuni tematice) – în Figura 25 tipuri

de fişiere („File Types”)

click pe etichetă

selectează fişa

Casete de bifă permit selectarea mai multor opţiuni

dint-un set dat click sau

„spaţiu” bifează

Butoane radio permit selectarea unei singure opţiuni

din setul dat click sau

„spaţiu” selectează

Butoane de derulare pas cu pas permit derularea

informaţiei din panou în fereastra de vizitare (când

aceasta este neîncăpătoare)

click derulează

în sensul dorit ,

Butoane de derulare continuă permit derularea în mod

continuu a informaţiei în fereastra de vizitare glisare

derulează conţinut

Bara de derulare permit derularea pagină cu pagină a

informaţiei în fereastra de afişare a panoului

click pe zona liberă

derulează o pagină

Butoane grafice permit efectuarea de acţiuni specifice

(înscrise pe buton); uzuale sunt „OK”- confirmare şi click – execută ! 13

12

11

10

8

7

6

5

18

17

Page 164: Informatică economică

164

„Cancel” - abandon. (ex. )

Listă derulabilă – care prezintă un set de facilităţi ce pot

fi selectate după derularea listei text până la reperul dorit. derulează cu

click pe reper –

alege

(ex.

)

Casetă de text – care permite înscrierea unui text necesar

în contextul dialogului.

introducere text

dorit

(ex. )

Ajutor („Help”)

Posibilităţile de lucru ale aplicaţiilor actuale sunt multiple şi dificil de

reţinut (mai ales când se lucrează cu ele ocazional) dar interfaţa

utilizator oferă ajutor pe loc şi detaliat asupra acestora. Deci este comod pentru om să lucreze cu aplicaţia chiar atunci când nu a

studiat-o în mod special, ci învaţă „văzând şi făcând”. Mai mult,

ajutorul poate fi dat de un asistent („wizard”) care aşteaptă întrebări în clar de la utilizator şi oferă sugestii asupra opţiunilor (de meniu) sau

chiar asupra chestiunilor de principiu în ceea ce privește aplicaţia şi

posibilităţile ei. Facilităţile de ajutor şi cele de navigare prin informaţia de ajutor sunt prezentate succint în Tabel 9.

Fereastra „Help” oferă, în general, trei modalităţi de căutare şi

prezentare a răspunsurilor, conform fişelor indicate în figura:

1. Cuprins (de fapt întregul conţinut cu informaţii de ajutor – „Contents”),

2. Index (inventarul alfabetic al noţiunilor utilizate în aplicaţie – „Index”),

3. Căutare (după cuvinte cheie sau chiar aluzii la ele – „Search”). 24

22

19

Page 165: Informatică economică

165

Navigarea prin „informaţia de ajutor” se face în modul standard:

Revenire (întoarcerea la ecranul şi informaţia precedente –

„Back”), Avans (înaintare către ecranul şi informaţia curente –

„Forward”).Panoul de afişare prezintă afişează informaţia căutată

ca text în care se află trimiteri ce sunt legături („links”) către noţiuni amintite în text (de ex. „frame” în figura); la finalul textului, se

indică chestiuni legate de conţinutul informaţiei, tot ca legături.

Figura 26. Structura ferestrei de ajutor („Help”)

Tabel 9. Elementele ferestrei generice de ajutor şi modul lor de acţionare

Element Mod de acţionare

Fişa Contents prezintă cuprinsul întregii informaţii de

ajutor, sub formele: titlu ne-explorat, titlu explorat,

foaie cu informaţii.

, ,

Fişele Index şi Search permit căutarea cuvintelor în

conţinutul de informaţie de Ajutor. Index prezintă

inventarul de cuvinte cheie şi caută pe cel dorit. Search

caută un cuvânt sau o expresie în întreg conţinutul de

se înscrie cuvîntul

sau cuvintele

căutate

24 22

19

19 20 21 22 23 24 25 26 27 28

28

27

26

23

21

Page 166: Informatică economică

166

informaţie.

Panou de afişare - prezintă informaţia răspuns la

modulul (din cuprins) sau cuvântul, respectiv cuvintele

căutate.

vizionare

Butoane de navigare înapoi şi înainte – permit

revenire sau avans în panourile cu informaţii afişate. click sau

Trimiteri către cuvinte cheie sau chestiuni legate de

informaţia prezentă în panoul de afişare .

click cuvânt

legătură (ex.

frame)

28

27

23 21

16

Page 167: Informatică economică

167

20. Sisteme virtuale

În prezent suntem părtaşi la discuţii ce pun din ce în ce mai mult accentul pe îmbunătăţirea spectaculoasă a eficienţei, a disponibilităţii

resurselor şi aplicaţiilor, care să fie în strânsă legătură cu reducerea

costurilor de capital şi operaţionale. Practic, toate avantajele enumerate mai sus se obţin printr-o virtualizare a infrastructurii fizice

IT. Obţinem astfel o infrastructură „virtuală”, care conduce la o

creştere a eficienţei, utilizării şi flexibilităţii activelor existente din sistem.

Automatizarea întregii infrastructuri IT presupune nu doar

consolidarea serverului ci şi implementarea unei platforme standard de virtualizare. Conform VMware, virtualizarea infrastructurii IT asigură

resursele, aplicaţiile şi chiar serverele dorite atunci când şi unde

acestea sunt necesare. Folosind puterea oferită de virtualizarea infrastructurii hardware printr-o gestionare mai bună a capacităţii IT

disponibile, beneficiem de o creştere a calităţii serviciilor şi de o

eficienţa crescută a proceselor IT, răspunzând mai rapid şi mai eficient decât oricând la dinamica nevoilor instituţiei şi, de ce nu, a pieţei.

Totuşi, important de menţionat şi reţinut este faptul că în ciuda

avantajelor clare aduse de virtualizare, de cele mai multe ori, reticenţa omului învinge raţiunea, iar sistemul poate funcţiona în parametrii

nedoriţi sau se poate defecta.

20.1. Virtual

Termenul virtual este un concept aplicat în multe domenii, cu oarecare

conotaţii diferite şi, de asemenea, semnificaţii diferite. Termenul a fost

definit în filosofie ca „ceea ce nu este real, dar poate afişa calităţi izbitor de reale”.

Page 168: Informatică economică

168

Astfel, numeroşi filosofi au lansat concepţii avansate cu privire la

virtual, cel mai proeminent din filosofia contemporană fiind Gilles Deleuze, care a utilizat termenul „virtual” atunci când făcea referire la

un aspect al realităţii care nu este palpabil/material, dar care este totuşi

real.

În cea ce priveşte virtualul, conceptul lui Deleuze prezintă două

aspecte:

virtual este un fel de efect de suprafaţă produs de interacţiuni reale de cauzalitate,

efectele sunt la nivelul materialului.

O definiţie însuşită de la scolasticii medievali şi din pseudo-latină

(„virtualis”) afirmă că termenul „virtual” nu se opune „realului”, dar se opune „concretului/existentului”, în timp ce „realul” este opus

„posibilului”.

Recent, această concepţie de virtual a impulsionat cercetarea, astfel Denis Berthier în studiul „Meditations on the real and the virtual” îi

conferă o altă conotaţie, pe baza utilizări în domeniul ştiinţei (imagine

virtuală; lumea virtuală), precum şi etimologic (derivare de la virtute – „Virtus” în latină). La acelaşi nivel ontologic ca „posibil”, „real”, sau

„potenţial”, termenul „virtual” este definit ca cel care nu este real, dar

afişează din plin calităţi reale - într-un mod clar real (adică, nu potenţiale).

În informatică şi în tehnologia informaţiei, cuvântul virtual este folosit

cu sensuri diferite pentru:

abstractizarea infrastructurii hardware, atunci când sistemele

software acţionează ca şi când ar fi sisteme hardware (maşină virtuală, memorie virtuală, disc virtual);

simulări ale realităţii generate de calculator (realitate virtuala),

precum şi a mediilor de joc online unde o întreagă lume este creată (lumea virtuală) sau acolo unde lumea reală este suplimentată cu

imagini virtuale (îmbunătăţirea realităţii).

Page 169: Informatică economică

169

Acest domeniu a căpătat o expansiune rapidă, astfel comunitatea

virtuală, biblioteca virtuală şi clasa virtuală reprezintă alte întrebuinţări ale cuvântului „virtual” cu aplicabilitate în zilele noastre.

Motivaţiile timpurii pentru aplicarea „virtualului” în IT (de exemplu

virtualizarea) au vizat în principal partajarea dispozitivelor de către mai mulţi utilizatori şi operaţiile de coordonare a proceselor multiple,

lucru confirmat de folosirea cu succes a abordării maşini virtuale.

În pus, aceste tehnologii construiesc mediul pentru lucrul virtual în echipe, cu membrii care nu se pot întâlni în persoană. Comunicând cu

ajutorul multiplelor instrumente puse la dispoziţie, sincrone sau

asincrone, lucrând colaborativ cu produse comune pe cale electronică, aceste echipe virtuale produc rezultate vizibile fără a fi co-localizate.

În mod similar, lumea virtuală reprezintă un tip de locuire/găzduire fondată pe tehnologie Web, care permite diverse interacţiuni ale

participanţilor cu preocupări comune, cum ar fi cercetarea,

învăţământul, economia etc.

20.2. Virtualizare. Nor informatic

Virtualizarea sistemului informatic şi norul informatic reprezintă

subiecte intens dezbătute în ultima perioadă, ambele conducând către

strategii numeroase, destul de diferite. Virtualizarea implică transformarea unui număr de componente hardware şi dispozitive de

reţea în software şi încărcarea lui pe o platformă hardware puternică,

cu alte cuvinte, serviciile oferite de o componenta hardware virtualizată sunt abstractizate din componenta fizică.

Virtualizarea se aplică serverelor, mediilor de stocare, reţelei şi

desktop-urilor astfel că, mare parte din discuţiile privind virtualizarea și norul (cloud) evidenţiază accesul nelimitat la resursele de procesare,

stocare şi, în reţea, la lăţimea de bandă. Concret, virtualizarea şi norul

informatic nu pot exista fără un DataCenter şi resursele fizice pe care acesta le înmagazinează.

Page 170: Informatică economică

170

Figura 2.1. Virtualizare resurse hardware(VMware)

Astfel, pe un mediu „bare metal1”

cu ajutorul unui soft de virtualizare2,

se pot crea mai multe maşini virtuale (Figura 2.1), acestea acţionând

ca entităţi distincte.

Figura 2.2 prezintă modalităţile de virtualizare a serverului şi diferenţa

dintre cele două metode.

Menţionăm că prin virtualizare, infrastructura hardware devine un serviciu, maşinile virtuale instalate pe cele hardware devin

preponderente în cadrul infrastructurii astfel modul lor de funcţionare

poate fi afectat de anumite disfuncţionalităţi care pot fi la nivel fizic sau software.

Figura 2.2. Tipuri de virtualizare a serverului (Postolache F. et al., 2010)

1 Un mediu „bare metal” este un sistem de calcul sau o reţea unde o maşină virtuală sau o

reţea virtuală este instalată direct pe hardware. 2 Software-ul utilizat în studiul nostru de caz a fost oferit de VMware prin licență academică.

Page 171: Informatică economică

171

Software-ul, ocupând locul cel mai important în viaţa de zi cu zi,

creşte în importanţă interacţiunea dintre om şi computer, prin urmare, capacitatea de a sprijini interacţiunile, în vederea reutilizării eficiente

a experienţei anterioare, reprezintă o provocare majoră pentru

sistemele actuale.

20.3. Virtualizarea serverului

Dintre modalităţile diferite de virtualizare amintite mai sus,

virtualizarea serverelor este cea mai familiară, de aceea, termenul de „virtualizare”, face referire de obicei la virtualizarea serverelor.

Virtualizarea este „un termen care se referă în linii mari la

abstractizarea resurselor calculatorului” utilizând „o tehnică care ascunde caracteristicile fizice ale resurselor de calcul de modul în

care alte sisteme, aplicaţii, sau utilizatori finali interacţionează cu

aceste resurse”3.

Având la bază descrierile de mai sus, putem enunţa în continuare ce

reprezintă, de ce avem nevoie şi cum se realizează virtualizarea

serverelor.

Software-ul de virtualizare a serverului permite rularea mai multor

maşini client (virtuale) pe un calculator gazdă, având în acest timp

impresia că acele calculatoare client rulează pe propriile lor maşini hardware (Figura 2.1). Datorită acestui considerent obţinem toate

beneficiile oricărui tip de virtualizare: portabilitatea maşinilor virtuale

client, reducerea costurilor de operare, reducerea supraîncărcării din punct de vedere administrativ, consolidarea serverelor, posibilitate de

testare și de formare, precum şi beneficiile de recuperare în caz de

catastrofe şi, cel mai important, o singură consolă de administrare a maşinilor și aplicaţiilor virtuale.

Dintre produsele de virtualizare a serverului cele mai utilizate sunt:

VMware vSphere, ESX Server, Hyper-V – tehnologia de virtualizare Microsoft – inclusă în Windows Server, Xen, etc., acestea oferind

diferite niveluri de virtualizare. Astfel avem:

3 http://en.wikipedia.org/wiki/Virtualisation .

Page 172: Informatică economică

172

emulare – sistemul de operare client este nemodificat, dar acesta rulează pe CPU emulat software;

para-virtualizare - sistemul de operare client este modificat, ca şi în Xen;

virtualizare completă – unde sistemul de operare client este

nemodificat şi rulează pe o maşina virtuală, crezând în acest timp că rulează pe aceeaşi maşină hardware ca sistemul de operare gazdă;

Virtualizarea permite implementarea software-ului fără a modifica

sistemul de operare sau sistemul de fişiere concomitent cu reducerea semnificativă a conflictelor dintre aplicaţii, permiţând astfel folosirea

unei singure aplicaţii pe multiple versiuni ale sistemelor de operare.

Cu alte cuvinte (conform Vmware), aplicaţiile sunt mai uşor de asigurat, implementat, actualizat şi în cazul apariţiei nefuncţionalităţii

ei, se poate reveni la pasul anterior modificării ei (rollback).

20.4. Virtualizarea reţelei

Când vorbim de virtualizarea reţelei, cu siguranţă gândul se îndreaptă

către VLAN. Utilizarea VLAN-urilor în reţeaua internă, nu înseamnă

că avem deja o virtualizare a reţelei deoarece VLAN-ul, reprezintă o reţea LAN „virtuală”, pe când virtualizarea presupune mai mult decât

folosirea de VLAN-uri.

Ca şi alte forme de virtualizare, virtualizarea reţelei nu presupune nimic nou, Sun şi HP aducând în discuţie virtualizarea reţelei de ani

de zile. Mai nou, Cisco a preluat problema virtualizării reţelei

devenind experţi în utilizarea ei la momentul actual, concretizată în mai multe servicii de rutare şi de switch-ing.

Page 173: Informatică economică

173

Figura 2.3. Managementul lăţimii de banda în reţea (VMware ESX Server)

Cele trei componente ale virtualizării reţelei enunţate de Cisco sunt:

controlul accesului, izolarea caii, şi limitarea serviciilor. Concret, în interiorul router-elor şi switch-urilor Cisco găsim serviciile de

securitate, stocare, VoIP, mobilitate, precum şi livrarea de aplicaţii,

ceea ce pentru Cisco reprezintă strategia lor privind îmbunătăţirea infrastructurii de reţea, subliniind totodată importanţa dispozitivelor

de reţea şi modalitatea lor de a reprezenta o pârghie de acţionare

asupra infrastructurii reţelei.

Un alt furnizor de echipamente de reţea care are o iniţiativă la fel de

puternică privind virtualizarea reţelei este compania 3Com. 3Com

conţine un card de memorie care se introduce în router, pe acesta aflându-se un server Linux complet funcţional care prezintă o

conexiune la coloana vertebrală a router-ului. Interesant este faptul că

pe acel server Linux, se pot instala aplicaţii cum ar fi un detector de pachete de date, VoIP, aplicaţii de securitate, şi altele. Din 2010, pe

acest card ce conţine sistemul de operare Linux, poate rula servere

VMware sau Windows. Iniţiativa open-source privind virtualizarea reţelei numită 3Com ON sau reţeaua liberă este încă în stadiu incipient

şi cu siguranţă adevăratele beneficii pentru profesionişti IT nu vor

întârzia să apară.

20.5. Virtualizarea spaţiului de stocare

Pe aceasta temă s-au făcut prezentări de produse, s-au ţinut conferinţe

şi workshop-uri, iar printre cei mai importanţi ofertanţi se numără IBM, HP, Dell şi Datacore.

Page 174: Informatică economică

174

Virtualizarea spaţiului de stocare (SV4), ca şi virtualizarea reţelei, nu

înseamnă doar posesia unui SAN5 ci „abstractizarea la orice nivel în

software-ul de stocare şi stiva hardware”6.

Figura 2.4. Virtualizare spaţiu stocare (VMware)

20.6. Consolidarea serverului

Reprezintă cea mai utilizată tehnica de virtualizare, numărându-se

printre temele dezbătute intens de către comunitatea specialiştilor. În

cadrul infrastructurii IT, folosirea integrală a capacităţii serverelor impune anumite probleme, nu datorită funcţionării defectuoase cât

datorită incapacităţii de gestionare şi antrenare a resurselor. Astfel,

conform datelor furnizate de VMware, într-o infrastructură tradiţională, o maşină fizică pe care este instalat un sistem de operare

şi pe care rulează câteva aplicaţii, utilizează între 10-25% din

capacitatea maşinii fizice, ceea ce ne conduce la faptul că mai mult de 75% din investiţia făcută în infrastructura IT este irosită, iar din punct

de vedere financiar aceasta stare de fapt nu este de dorit. Practic,

ţinând cont de conjunctura existentă, consolidarea serverului reprezintă următorul pas în regândirea arhitecturii, lucru realizabil

doar prin virtualizarea resurselor fizice disponibile.

4 SV – Storage Virtualization

5 SAN - Storage Area Network

6 http://en.wikipedia.org/wiki/Storage_virtualization

Page 175: Informatică economică

175

Figura 2.5. Consolidarea serverului (VMware)

20.7. Abstractizarea infrastructurii IT

Virtualizarea, permiţând utilizarea cât mai eficientă a resurselor hardware disponibile, constituie conform celor afirmate de către

comunitatea specialiştilor IT unul din beneficiile majore aduse unei

organizaţii. Îmbunătăţirea continuă a arhitecturii centrului de date are ca principal scop reducerea costurilor de operare. Într-un proiect

clasic de virtualizare, blocurile hardware vizate sunt: spaţiul de

stocare, servere şi reţelele care le deservesc (Figura 2.6).

Aici menţionăm faptul că nu orice aplicaţie necesită sau beneficiază

de avantajele instalării pe medii virtualizate şi de aceea este necesar ca

infrastructura să prezinte o oarecare flexibilitate care să suporte instalarea aplicaţiilor atât pe hardware dedicat cât şi pe hardware

virtualizat.

Figura 2.6. Blocurile fizice din cadrul infrastructurii

Page 176: Informatică economică

176

Totuşi, pentru a beneficia de toate aceste avantaje pe care le promite

virtualizarea este necesar să dispunem de o infrastructură care întradevăr poate suporta virtualizarea fiecărei componente fizice din

cadrul infrastructurii IT şi implicit a centrului de date (Figura 2.7).

Figura 2.7. Abstractizare blocuri hardware

Astfel, în mod tradiţional, o infrastructura IT virtualizată ce deserveşte întreg spectrul de utilizatori constă din straturi/blocuri care

abstractizează componentele echipamentelor hardware utilizate.

Figura 2.8. Abstractizare infrastructură IT (VMware)

Page 177: Informatică economică

177

1. Utilizatori. Centrul de date furnizează aplicaţii utilizatorilor

conectaţi cu ajutorul oricăror dispozitive fixe sau mobile care le permit acest lucru (notebook-urilor, desktop-urilor tradiţionale sau

virtuale, tablet PC-urilor, telefoanelor inteligente, PDA-urilor etc.).

2. Reţele client. Acestea, în general, sunt optimizate pentru reducerea costului în detrimentul performanţei, de aceea, conectarea la

DataCenter prin intermediul reţelei trebuie să se facă indiferent de

tipul clientului şi de instrumentul folosit pentru conectare.

3. Sistem de operare şi aplicaţii. La nivelul sistemului de operare

accentul este îndreptat către managementul resurselor alocate

aplicaţiei, rata de transfer către HDD, pe numărul proceselor aflate in background cât şi numărul de clienţi conectaţi simultan. La acest

nivel, funcţionalitatea aplicaţiilor reprezintă cel mai important obiectiv ce trebuie atent urmărit.

4. Abstractizare DataCenter. Se face în principal pentru a beneficia pe

cât posibil de capacitatea maximă a resurselor disponibile dar şi de avantajele oferite de stratul de virtualizare în relaţia dintre clienţi şi

aplicaţii.

5. Reţea DataCenter. Centrele de date necesită o reţea sigură şi performantă pentru a suporta mobilitatea aplicaţiilor dintre ele,

asigurată de o conectivitate de viteză în cadrul reţelei.

6. Abstractizare server. Reprezintă stratul software instalat pe platforma hardware, necesar furnizării serviciilor care asigură

managementul resurselor fizice şi a serverelor ce intră în componenţă

infrastructurii virtualizate sau a norul informatic.

7. Servere. Găzduirea pe platforme fizice, puternice a serverelor

virtuale reprezintă o condiţie necesară deoarece consolidarea

serverelor nu se justifică daca avem puţine maşini virtuale per platformă.

8. Abstractizarea spaţiului de stocare. Este necesară atunci când

operaţiile nu trebuiesc întrerupte de un upgrade sau de o înlocuire a unui dispozitiv de stocare.

Page 178: Informatică economică

178

9. Reţea spaţiu de stocare. Orice server trebuie sa aibă partajat spaţiul

de stocare şi să dispună de o conexiune redundantă cu SAN-ul în vederea asigurării mobilităţii maşinii virtuale. Redundanţa impune ca

fiecare centru de date să dispună de cel puţin 2 SAN-uri fizice,

separate legare redundant prin reţele de mare viteză (fibră optică).

10. Spaţiu de stocare. Sistemul de stocare trebuie să fie capabil să

suporte orice tip de aplicaţie întrucât fiecare administrator dispune de

o strategie proprie.

11. Administrare infrastructură. Necesită coordonarea

comportamentului din LAN şi SAN indiferent dacă traficul se

desfăşoară pe acelaşi fir.

Administrarea resurselor disponibile ce intră în componenţa

straturilor/blocurilor, fie că sunt hardware sau software, se face cu ajutorul unor interfeţe separate (Figura 2.8), interfeţe care permit cu

uşurinţă gestionarea, monitorizarea şi configurarea resurselor

disponibile de la o consolă unică.

De asemenea, există și o nouă viziune asupra modelului tradiţional

descris anterior, bazată pe experienţa din depanarea/utilizarea

sistemelor virtuale, în vederea asigurării unui management al resurselor sau cunoştinţelor pentru o diagnoză a defectelor mai

eficientă. Totodată, infrastructura IT virtualizată structurată conform

noii viziuni ne permite o aprofundare în cunoaşterea şi înţelegerea domeniului virtualizării, a componentelor sale şi a relaţiilor dintre

acestea.

Figura 2.9. Grupare blocuri

Din raţiuni pur economice, în cadrul infrastructurii existente s-au

grupat blocurile/straturile ce semnifică reţelele spaţiului de stocare cu

Page 179: Informatică economică

179

cea a centrului de date (reţeaua fizică pentru traficul IP) eliminând

astfel separaţia fizică dintre blocurile aferente reţelelor, desigur fără o îmbinare a serviciilor de reţea. Astfel, datorită virtualizării

componentelor reţelei existente administrăm mai bine următoarele

servicii: controlul accesului, izolarea caii şi limitarea serviciilor. Similar s-a procedat la gruparea straturilor ce deservesc componentele

fizice şi a celor ce abstractizează componentele fizice (nu înseamnă ca

îmbinăm software-ul lor sau componentele hardware).

Această nouă abordare (Figura 2.10, Figura 2.11) privind

abstractizarea infrastructurii IT, pe lângă faptul că nu înlătură nici un

bloc din componenţa modelului standard, a permis gruparea anumitor blocuri fără modificarea interfeţelor de administrare prevăzute pentru

gestionarea, monitorizarea şi configurarea serviciilor, asigurând totodată o funcţionare în parametri optimi.

Figura 2.10. Abstractizare infrastructură IT propusă

Page 180: Informatică economică

180

Figura 2.11. Model implementat

Astfel, pe infrastructura IT, norul informatic şi virtualizarea serverului se completează reciproc datorită următoarelor considerente:

Ambele au necesitat o infrastructură fizică robustă, bazându-se

puternic pe reţea şi implicând o regândire a infrastructurii tradiţionale.

Serviciile norului informatic sunt implementate după ce

DataCenter-ul este virtualizat, altfel spus, doar stratul de virtualizare suportă arhitectura Cloud.

Norul informatic adaugă un nou strat de virtualizare între utilizatorul final şi întregul mediu informatic abstractizat.

Avantaje

Costul. Indiferent de condiţia economică a posesorului

infrastructurii, avem avantajul unui cost scăzut, deoarece că pe „un singur cablu” vom avea tot traficul, eliminând necesarul de

echipamente suplimentare separării reţelelor. Datorită faptului că

echipamentele folosite de LAN şi SAN devin comune, administrarea echipamentelor este mai convenabilă, conducând la o monitorizare

mai facilă a traficului.

Administrarea infrastructurii. Folosirea consolei unice de administrare înlătură inconvenientele întâlnite în cazul arhitecturii

tradiţionale (multiple interfeţe de administrare, timpi de deplasare,

asigurarea funcţionalităţii și rezolvarea conflictelor, etc.).

Page 181: Informatică economică

181

Consolidarea serverului. Se observă o semnificativă diminuare a numărului de servere fizice concomitent cu creşterea gradului de

utilizare a resurselor hardware existente.

Disponibilitatea resurselor. Reprezintă punctul forte al abordării deoarece putem dispune oricând de o anumită resursă chiar dacă ea

este alocată iniţial unei alte maşini virtuale. Aici facem referire la toate resursele fizice abstractizate (disk, reţea, memorie, procesor,

etc.) de care dispunem în cadrul infrastructurii.

Testarea noilor soluţii. Datorită timpului redus şi uşurinţei de a crea noi servere se creează rapid premisele unui mediu propice testării

noului software, update-urilor, patch-urilor etc.

Securitatea. Tehnicile şi instrumentele hackerilor sunt în principal destinate pentru IP sau intranet de aceea ele nu funcţionează în cazul

SAN-urilor Fiber Chanel. Fizic este imposibil să separăm aceste reţele, în schimb administrarea lor se poate face separat. Existenţa

unui strat de separaţie dintre SAN şi sursele de ameninţare din reţelele

IP fac tehnicile de atac inutile.

Infrastructura verde. Conform VMware, pentru fiecare server

virtualizat se economisesc aproximativ 7KW/oră echivalentul a 4 tone de dioxid de carbon/an. Acest aspect nu este deloc de neglijat din

punct de vedere economic, fiind concretizat prin diminuarea facturilor.

Dezavantaje

Constrângerile I/O. Acestea constituie un impediment în ceea ce

priveşte transportul informaţiilor deoarece un număr mic de dispozitive I/O deservesc un număr crescut de maşini virtuale.

Configurările LAN sau SAN. Datorită faptului că fizic este

imposibil să separăm aceste reţele, ele se pot administra separat şi tocmai acest lucru este posibil să afecteze procedurile operaţionale şi

de întreţinere ale infrastructurii. Un posibil dezavantaj îl constituie, în

modelul propus, momentul intervenţiei în configurările de LAN sau SAN. Datorită unificării blocurilor, dacă intervenim în LAN, se

produc modificări implicit şi în SAN şi viceversa.

Page 182: Informatică economică

182

Funcţionalitatea aplicaţiilor. Un alt considerent pe care este posibil sa îl întâlnim îl constituie faptul că nu toate aplicaţiile vor fi

funcţionale în modelul propus. Pot apare posibile întârzieri în cadrul

proceselor de instalare şi accesare a sistemului de operare şi implicit a aplicaţiilor suportate de acesta.

Datorită conjuncturii economice actuale, dar şi problemelor impuse de

securitatea sistemelor informatice, companiile au început să utilizeze tehnologii de virtualizare pentru a-şi proteja cât mai bine cele mai

valoroase active: datele stocate. Micşorarea costurilor implicate de

investiţiile în hardware, software şi de acordare a licenţelor precum şi reducerea facturilor la utilităţi, minimizarea timpilor de nefuncţionare

ale echipamentelor precum şi simplificarea şi raţionalizarea proceselor

de administrare constituie obiective de care putem beneficia prin virtualizare. Această tehnologie schimbă modul în care un centru de

date funcţionează, este gestionat şi administrat. De exemplu, înainte

de a implementa virtualizarea, se ştia în orice moment care sunt aplicaţiile cele mai utilizate, pe ce maşini fizice sunt instalate, cât din

resursele maşinii sunt folosite, care sunt momentele de încărcare

maximă etc. Datorită virtualizării, aceasta legătură tradiţională dintre hardware şi software este ruptă, iar acest lucru creează o mai bună

perspectivă privind funcţionalitatea şi rezolvarea conflictelor.

Virtualizarea are un impact major asupra infrastructurii fizice, datorită puterii de calcul necesară dispozitivelor fizice ce suportă multiple

maşini virtuale, precum şi o anumită capacitate a reţelei pentru a

satisface cererile de transfer dintre maşinile virtuale şi cele fizice. Datorită profilului ciclic de funcţionare a aplicaţiilor, administratorii

au o privire de ansamblu globală asupra sistemului, cunoscând modul

de funcţionare al acestuia şi care sunt aplicaţiile şi momentele ce încetinesc performanţa sistemului. Punctul forte îl constituie

administrarea întregului sistem informatic virtual folosind o singură

consolă. Bineînţeles că ne lovim mereu de noi probleme şi impedimente, de aceea trebuie să ţinem seama că este posibil ca o

aplicaţie pe care astăzi o virtualizăm să trebuiască mutată înapoi pe un mediu fizic, ca urmare a necesarului de putere de calcul sau datorită

unor procese prioritare. Trebuie analizat în detaliu cu ce instrumente

Page 183: Informatică economică

183

operăm pentru migrarea maşinilor şi aplicaţiilor către un mediu

virtual, asigurându-ne că selecţia a fost corectă în cazul în care trecem înapoi la un server fizic sau migram aplicaţia către o altă maşină

virtuală instalată pe o maşină hardware diferită.

Page 184: Informatică economică

184

21. Utilizarea calculatoarelor pentru aplicaţii de

birou

Programele care permit realizarea unei utilităţi umane (în prelucrarea

informaţiilor) se numesc programe de aplicaţie. De fapt, acestea au reprezentat scopul construirii şi programării calculatoarelor, între cele

mai uzuale aplicaţii putând fi enumerate (cu caracteristicile lor

esenţiale):

procesoare de texte – permit editarea, formatarea, corectarea şi

tipărirea textelor;

foi de calcul tabelar – permit crearea de tabele, cu expresii de calcul

şi funcţii diverse, cu facilităţi de creare şi modificare histograme;

aplicaţii de grafică pe calculator – permit crearea, prelucrarea şi

tipărirea materialelor grafice;

navigatoare web – permit accesarea site-urilor distante şi interacţiunea cu ele;

poştă electronică – permite transmiterea de mesaje şi documente la persoane fizice şi instituţii care au o adresă Internet.

Între aceste categorii de aplicaţii, primele două şi ultimele două fac parte, în general, din pachete de tip „Office” (pachete cu aplicaţii de

birou), produse de diferite firme (de ex. Microsoft, SUN etc.).

Lucrarea are ca scop prezentarea sistematică a modului cum se organizează şi apoi cum se prelucrează informaţia pentru primele şi

respectiv ultimele două categorii de aplicaţii. Acest scop se înscrie, de

altfel, în ideea generală al acestui material: introducere în Tehnologia Informaţiei şi Comunicaţiilor (TIC). Astfel, utilizarea pentru diverse

scopuri din viaţa obişnuită a uneltei numită calculator face parte în

mod natural din prezentarea propusă.

Page 185: Informatică economică

185

Pe parcursul acestui material se vor prezenta principii de lucru şi

facilităţi oferite în general de procesoarele de texte şi calcul tabelar, manevre de operare pentru cele mai importante acţiuni desfăşurate la

realizarea, modificarea şi afişarea documentelor cu aceste aplicaţii,

folosind produse din pachetul Office al firmei Microsoft. Totuşi, la prezentarea principiilor de lucru şi elementelor celor două categorii de

produse, se vor folosi capturi de ecran. Pentru a păstra caracterul de

generalitate impus de ideea acestei lucrări, se vor descrie operaţiuni şi facilităţi ce se regăsesc la cele mai multe produse de acest fel, de la

diverşi producători.

Page 186: Informatică economică

186

22. Procesoare de texte

Realizarea şi modificarea documentelor scrise este o muncă migăloasă şi dificilă, fiindcă ea implică nu doar scrierea conţinutului de text, ci

şi:

1. organizarea ideilor – pe module, submodule şi paragrafe;

2. modificarea textului – cu mutarea unor părţi, înlocuirea sau

eliminarea lor;

3. crearea de liste şi tabele;

4. inserarea de imagini, grafice, desene intuitive (cum sunt

diagramele);

5. aranjarea textului în pagină, cu antet, subsol, note de subsol, numerotare de pagini;

6. alegerea tipurilor de caractere, cu dimensiuni, stiluri şi efecte

adecvate unui context dat;

7. corectarea – ortografică şi gramaticală, a textului.

Dacă unele operaţii (primele trei) se execută manual, pe foaia de hârtie

scrisă de mână, următoarele operaţii (la tipografie de exemplu) durează foarte mult şi uneori rezultatul nu arăta aşa cum ne-am dorit.

Folosind un procesor de texte, se poate face nu numai editare textului,

ci toate operaţiile mai sus menționate, dar şi:

8. evidenţa corecturilor în versiuni succesive ale documentului;

9. numerotarea automată a figurilor, tabelelor şi notelor de subsol,

eventual cu indexarea unei liste inventar de figuri şi tabele;

10. trimiteri la module, figuri, paragrafe – ce pot fi utilizate direct în

forma electronică;

11. realizarea de legături cu alte documente.

Page 187: Informatică economică

187

În plus, documentul rezultat poate fi vizualizat, înainte de tipărire, aşa

cum va arăta el la final, urmând a fi tipărit apoi pe foi faţă-verso.

Totodată, materialul prezenta elemente de organizare şi formatare a

documentelor scrise (cu referire la punctele 1.11 de mai sus), unde se

vor evidenţia modalităţile pe care un procesor de texte le pune la dispoziţia utilizatorului pentru a realiza documente cu aspect

profesionist. Exemplificarea acestor aspecte se va face cu pictograme

din interfaţa procesorului de texte MS Word (indiferent de variantă), dar aspectele sunt similare şi la alte procesoare de texte (de la alţi

producători), unele folosind chiar aceleaşi pictograme.

22.1. Structura a unui document scris

În activitatea sa omul creează, modifică şi foloseşte multe tipuri de

documente – funcţie de profesia şi scopurile fiecăruia începând de la

scrisori până la teze de doctorat. Realizarea documentului, oricare ar fi el, prezintă o structură a informaţiei, o structură a foii tipărite şi o

structură a conţinutului de idei. Pentru fiecare din aceste structuri,

procesorul de texte oferă mijloace specifice de realizare, personalizare şi automatizare a operaţiunilor de editare a informaţiei.

Structura informaţiei în document

În continuare, se va prezenta structura de blocuri cu informaţii dintr-un document generic de tip raport care, dependent de destinaţia sa,

poate conţine sau nu elemente mai speciale, prezentate în lista de mai

jos (cum sunt a., c., d., e., f.) dar prezintă obligatoriu conţinut (b.). Fiecare din aceste blocuri de informaţii (codificate prescurtat prin trei

litere) cuprinde elemente specifice denumite câmpuri („fields” –

codificate prescurtat prin două litere) pe care procesorul de texte le gestionează şi ajută astfel la modificarea şi consultarea informaţiei –

în perioada editării şi apoi a utilizării ei. Blocurile și elementele lor, se

prezintă mai jos.

a. Cuprins – inventarul denumirilor de module şi submodule, cu

paginile de început.

Page 188: Informatică economică

188

b. Conţinut – text în care sunt inserate imagini, tabele, figuri, etc.

tratând ideile de interes.

c. Index – inventarul cuvintelor cheie ce apar în text, cu paginile în

care sunt explicate.

d. Listă de figuri – inventarul figurilor, cu numărul de ordine şi textul lămuritor.

e. Listă de table – inventarul tabelelor, cu numărul de ordine şi textul

lămuritor.

f. Bibliografie – inventarul lucrărilor citate în textul documentului.

Cuprinsul este realizat prin intermediul denumirilor de modul şi

submodul („Heading”), etc. fiecare din acestea fiind declarate pe nivelul ierarhic corespunzător Denumire (de nivel) 1 –modul,

Denumire (de nivel) 2 – submodul, Denumire (de nivel) 3 – submodul inferior, etc.). Aceste denumiri sunt declarate la editare şi colectate

apoi automat la realizarea cuprinsului („Table of Contents” - TOC).

Indexul este realizat prin declararea, la editare, a cuvintelor cheie („index entry” - XE) care vor face parte apoi din index; ele sunt

colectate automat şi introduse în lista index („index”).

Lista de figuri şi lista de tabele se realizează automat dacă anterior s-au declarat şi figuri cu număr de secvenţă automat şi tabele cu număr

de secvenţă automat („sequence - SEQ”). Evidenţa figurilor şi

tabelelor este ţinută de procesorul de texte care, la inserarea unei noi figuri (sau tabel) între altele două existente, permite actualizarea şi

menţinerea ordinii corecte a acestor elemente.

Bibliografia se realizează prin mijlocirea referinţelor bibliografice („reference”, „Index and Tables” - câmp TA) introduse în text, iar

apoi colectate şi legate de titlurile cărţilor respective înscrise în

bibliografie ( „Tabel of Authorities” - TOA).

În general, un element cu legătura se numeşte referinţă („reference”)

şi se declară specific (prin meniul Insert Reference). Unor elemente cu

legătură, folosite în blocuri de informaţii, li se ataşează unui câmp prin „captură” („caption”); captura se poate face de exemplu către: o

Page 189: Informatică economică

189

figură, un tabel, o denumire de modul sau submodul („Heading”), notă

de subsol („footnote”) sau relaţie de tip ecuaţie („equation” - EQ).

Structura de conţinut a documentului

Blocul cu informaţiile esenţiale ale unui document reprezintă

conţinutul său. Acesta cuprinde – pe lângă text, imagini, tabele, liste, etc., ca forme de reprezentare a informaţiei - elementele de structură

ale conţinutului:

a. Denumire de modul sau submodul („Heading”) – exprimare generică impersonală a ideilor din modul sau submodul, care nu se

încheie cu punct (chiar propoziţie fiind).

b. Secţiune – parte din conţinut separată prin marcaje speciale (separator de secţiune – „section break”) şi de capetele de document

(început sau sfârşit).

c. Pagini – parte de conţinut tipărită pe o singură foaie, separată de

restul conţinutului prin curgerea naturală a textului sau prin separator

de pagină („page break”).

d. Coloană – aranjare a textului pe verticală, de obicei pe o lăţime mai

mică decât lăţimea paginii, pentru înlesnirea citirii rapide; este

declarată prin coloane multiple („column”).

e. Paragraf – parte de text, formată dintr-una sau mai multe fraze, pe

una sau mai multe linii de text, ce se referă la o singură idee sau un

singur obiect („paragraph”), cuprins intre două Enter-uri.

f. Notă de subsol – informaţie lămuritoare numerotată, înscrisă în

josul pagini (şi separată, în general, cu o linie de restul textului).

Conţine referinţe bibliografice, trimiteri sau note ce detaliază aspecte particulare din text („footnote”).

Fiecare din aceste elemente trebuie declarate specific: denumirile prin

elemente de stil, secţiunile şi paginile prin separatori inseraţi în conţinut, coloanele prin aranjarea textului folosind opţiuni „column”,

paragrafele ca text unitar înscris fără salt la o nouă linie („Enter” sau

„Return”), notele de subsol prin inserarea indicelui superior („footnote”).

Structura foii tipărite

Page 190: Informatică economică

190

Fiind destinat a fi tipărit pe hârtie, documentul trebuie pregătit pentru

a fi încadrat corect pe foaia de hârtie. În structura foii tipărite există:

a. Margini libere („Margins”) – la bordurile sus, jos, stânga, dreapta

ale foii. În aceste borduri nu este recomandat să se înscrie text, fiindcă

procesorul permite totuşi acest lucru, dar nu mai are sens declararea marginii libere).

b. Rigolă („Gutter”) – bordură laterală (stânga – pe pagini impare,

dreapta - pe pagini pare) lăsată liberă pentru legarea foilor documentului într-o carte.

c. Antet („Header”) – zonă de text pe marginea de sus a foii, în care se

înscriu, de obicei, informaţii referitoare la emitentul documentului: numele firmei sau autorului, logo (mică imagine simbol a firmei),

adresa, numere de telefon, numărul de pagină (uneori).

d. Subsol („piciorul” paginii – „footer”) – zonă de text pe marginea de

jos a foii, în care se înscriu, de obicei, informaţii referitoare la

versiunea documentului, data şi ora emiterii, texte predefinite („autotext”), numărul de pagină (eventual „din numărul total” – de ex.

5/22) plasat în extrema dreaptă sau în centrul paginii pe bordura de

jos.

Aceste elemente se stabilesc din opţiunea referitoare la „încadrarea în

pagină” („Page Setup”), iar pentru antet şi subsol din opţiunea de

vizionare a documentului („View” sau „Insert”).

La tipărirea documentului pe foi faţă-verso, rigola se va plasa diferit

pe o faţă şi pe cealaltă – în oglindă („mirror margins”). Similar,

pentru antet şi subsol se pot stabili texte diferite pentru faţă şi pentru verso (pagină pară şi impară) sau diferite doar pentru prima pagină din

modul.

22.2. Scrierea textului – caractere şi paragrafe

Textul propriu-zis este o înşiruire de simboluri de scriere grupate în cuvinte, acestea în fraze pe linii, formând paragrafe. Aceste banalităţi

a fost amintite aici pentru că elementele menţionate constituie

elementele de bază pentru prelucrarea textelor, efectuate de procesorul

Page 191: Informatică economică

191

de texte. Astfel, cuvintele trebuie separate cu un singur spaţiu

(obligatoriu chiar şi atunci când apar semne de punctuaţie) pentru ca procesorul să poată executa analizele ortografice şi gramaticale corect

dar şi pentru respectarea regulilor estetice şi ortografice uzuale.

Selectarea (marcarea) zonelor de text prezintă comenzi speciale

pentru fiecare din elementele menţionate: dublu click – selectează

cuvântul indicat, triplu click – selectează paragraful, indicator pe

marginea stânga a paginii (ia forma ) şi click – selectează rândul indicat, etc.

Caractere

Literele, cifrele, semnele de punctuaţie şi alte semne grafice, folosite în text, pot avea diferite desene şi moduri de plasare pe foaie şi moduri

de evidenţiere. Acestea sunt

a. Tipul caracterului („font”) – desenul literei (simbolului) de scriere, cu un nume:

Times New Roman, Arial, Courier New, Impact, Book Antiqua,

Broadway,

Bamba,

b. Stilul caracterului („font style”) – evidenţierea caracterelor într-unul din modurile:

Îngroşat (aldin – „bold”), Înclinat (cursiv - „italic”), Subliniat

(„underline”).

c. Dimensiunea caracterului – mărimea sa exprimată în puncte

tipografice (pt.):

8 pt, 10 pt, 14 pt, 18 pt, 28 pt, 36 pt, 48 pt.

d. Efecte – indicesuperior

, indiceinferior, Majuscule Mici, Umbrit, Sculptat,

Tăiat

e. Culori – Roşu, Verde, Albastru, Gri.

f. Spaţiul între caractere: Normal, Expanadat, Condensat

g. Poziţia pe rând: pe Mijloc, Ridicat, Coborât

3

2

Page 192: Informatică economică

192

h. Animaţie: Clipire, „Las Vegas Lights” (firme luminoase), „Sparkle

Text” (Artificii)

Obs: Aceste facilităţi ale caracterelor se utilizează cu moderaţie,

pentru a nu încărca textul cu forme prea multe şi inutile.

De exemplu, nu se evidenţiază un text cu mai multe metode simultan

– de exemplu îngroşat-subliniat-înclinat. Dimensiunile caracterelor

se aleg funcţie de partea din text scrisă: Denumire modul, Denumire submodul, Alineat [Fune…..].

Paragrafe

Pe parcursul unui paragraf, saltul la rând nou se face automat, astfel ca utilizatorul să nu fie preocupat de formă ci numai de conţinut.

Sfârşitul de paragraf este ocupat de simbolul , care este şi depozitarul întregii informaţii de formatare a paragrafului. Acest simbol şi altele –

asociate nu unor caractere ci unor acţiuni în text, se fac vizibile prin

apăsarea butonului Hide/Show( ). Asemenea acţiuni, pe lângă saltul la un nou rând, sunt saltul la o pagină nouă, la o nouă secţiune, etc.

Paragrafele pot fi:

a. Aliniate (faţă de marginile libere ale foii) – stânga, dreapta, centrat sau justificat („justify”) - marginile foii sunt şi verticalele de aliniere

ale rândurilor.

b. Indentate – adică adâncite spre interiorul paginii, dinspre stânga sau dinspre dreapta. Cel mai uzual mod de adâncire este al primei linii din

paragraf, spre dreapta („First line indent”). Modificarea adâncirilor se

poate face şi din marcaje situate pe rigla orizontală.

c. Spaţiate – la un rând („Single”), la un rând-jumatate (1/2 Lines), la

două rânduri („Double”).

d. Separate cu spaţii libere înainte sau/şi după paragraf („After”, „Before”).

Page 193: Informatică economică

193

Alinierile şi indentările sunt necesare pentru o înscriere codificată prin

poziţia textului. De exemplu, denumirile de modul sau submodul se aliniază centrat, iar textul spre stânga sau justificat; numerele se

aliniază spre dreapta, pentru a avea ranguri de acelaşi ordin, unele sub

altele - chiar dacă lungimea numerelor de pe coloană diferă.

Figura 27. Marcaje de indentare şi Tabulatori

Alinierea paragrafelor se face numai cu ajutorul opţiunilor de meniu

(„Paragraph”) sau din butoanele aflate în bara de unelte prin pe

unul din butoanele .

Indentarea se realizează din opţiunile de meniu („Paragraph”) sau

din marcajele (cap săgeată „Left indent” cu pătrăţel „Hanging

indent”), („First Line indent”), şi („Right indent”) de pe riglă - v. Figura 27. Indentarea cu un spaţiu predefinit se poate realiza şi cu

butoane pe bara de unelte: - „Increase indent” şi - „Decrease

indent”.

Alinierea sau indentarea folosind spaţii repetate sau tabulatori face din

calculator o maşină de scris, deci nu contribuie de loc la eficientizarea

muncii de editare, din contră, mai mult încurcă, iar investiţia într-un calculator nu se justifică.

Paragrafele pot fi încadrate în chenare – atunci când se doreşte

scoaterea lor în evidenţă, tratând o idee foarte importantă. Încadrarea

7 3

2

1 2 3 4 5 6 7 8

Page 194: Informatică economică

194

în chenar se poate face şi pentru întreaga pagină. Chenarele pot avea

efecte precum umbre, şerpuiri, culori, etc.

Paragrafele care încheie o pagină pot să aibă primul rând pe o pagină

şi restul pe cealaltă (rând văduv) sau ultimul rând să fie singur pe

pagina nouă (rând orfan). Fiindcă acest lucru nu este estetic, se poate seta o opţiune de „paragraf fără rând văduv/orfan” („Widow/Orphan

control”) prin care liniile se menţin grupate (adică) pe aceeaşi pagină

şi se lasă rânduri libere pe pagina precedentă.

Tabulatori

Există caractere care nu sunt simboluri grafice ci execută acţiuni (cum

sunt „Enter”, caracterele asociate tastelor de ştergere Backspace” şi „Delete”); între acestea, se află un caracter (Tab) care efectuează

salturi orizontale între marcaje prestabilite, denumite „Tab-stop”. Fiindcă aceste salturi erau utilizate iniţial pentru parcurgerea

coloanelor unui tabel, aceste caractere sunt denumite tabulatori;

marcajele de tabulare (Tab-stop) se obţin prin apăsarea tastei Tab.

Tipuri principale de tabulatori sunt prezentate mai jos (v. şi Figura 27)

şi se obţin prin click succesiv pe colţul stânga sus al panoului de

afişare document:

tabulare stânga („Left tab” – text aliniat stânga de la Tab-stop),

tabulare centru („Center tab” – text aliniat centrat),

tabulare dreapta („Right tab” – text aliniat dreapta),

Utilizarea tabulatorilor în procesoarele de texte este de mare folos în

linii de text cu structură complexă (alinieri diverse pe aceeaşi linie,

puncte sau linii „de urmărire” pentru linii cu spaţii libere mari în interior).

22.3. Liste şi tabele

Aranjarea textului pe linii marcate (în liste) şi în plus folosind coloane (în tabele) permite observarea mai uşoară a clasificărilor sau ordinii

între idei şi obiecte. Listele şi tabelele sunt deci forme de organizare

vizuală a mai multor obiecte, în cazul tabelelor incluzând şi

4

5

6

Page 195: Informatică economică

195

proprietăţile lor. Utilizarea listelor şi tabelelor este indicată atunci

când se enumeră obiecte sau idei diferite (şi proprietăţile lor), când se face o clasificare sau când se urmăreşte o organizare clară a multor

informaţii diferite privitoare la un set de obiecte.

Liste numerotate şi ne-numerotate (marcatori)

O listă de idei este mai uşor lizibilă decât un text ne-organizat, fiindcă

fiecare idee constituie un reper în listă şi poate fi marcat cu diverse

simboluri (vezi casetele din Figura 28).

Figura 28. Liste numerotate (a, b) şi ne-numerotate (c, d)

Dacă informaţia de bază a reperelor are caracter de succesiune, cronologic sau ierarhic, ordinea trebuie subliniată cu simboluri

ordinale (care deţin ordine intrinsecă), cum sunt numerele (în scriere

arabă sau romană) sau literele (majuscule sau nu).

O listă marcată cu simboluri ordinale se numeşte listă numerotată

(„numbered list”) – v. Figura 28. a). O listă ierarhizată este

numerotată cu subpuncte („outline numbered list”) – v. Figura 28 b). Dacă informaţia de bază nu necesită prezentare ordonată, reperele se

marchează cu simboluri grafice - v. Figura 28 c) - într-o listă ne-

1. Luni ...

2. Marţi ...

3. Miercuri ...

4. Joi ...

5. Vineri ...

6. Sâmbătă ...

7. Duminică ...

1. Luni

1.1.Dimineaţa ...

1.2.Prânz ...

1.3.Seara ...

2. Marţi

2.1.Dimineaţa ...

2.2.Prânz ...

Mere

Pere

Prune

Banane

Struguri

Ananas

Mere

Ionatan

Golden

Lucioase

Pătate

Pere

Prune

Banane

Struguri

Ananas

d)

a) b)

c)

Page 196: Informatică economică

196

numerotată (cu buline – „bulleted list”). Lista poate prezenta la fiecare

reper categorii (adică este ierarhizată) şi devine listă ne-numerotată cu subpuncte v. Figura 28 d).

Listele pot fi create chiar în timpul editării sau la finalul creării ei,

declarând tipul de listă prin opţiunea de meniu („Bullets and

Numbering”) sau prin butoanele . Un subpunct se obţine prin

adâncirea textului cu Tab la început de rând sau cu - „Increase indent”, iar revenirea la nivelul subpunct anterior se face cu Shift-Tab

la început de rând sau cu - „Decrease indent”.

Tabele

Organizarea informaţiilor în tabele este utilă pentru date structurate de tip articol.

Figura 29. Structura unui tabel şi rigla orizontală asociată

Pentru tabelul prezentat în Figura 29 există următoarele elemente şi

modalităţi de lucru:

marcaj tabel prin intermediul căruia se poate selecta şi muta întreg tabelul (diametral opus este marcajul de redimensionare).

marcaj separator de coloană în rigla orizontală – permite

modificarea dimensiunii coloanei, prin glisare . Marcaje similare

există pe rigla verticală – pentru redimensionarea rândurilor.

coloană (rubrică) în care se află celule , cu valori înscrise. 4 3

2

1

2 1 3 4 5 6

Page 197: Informatică economică

197

celulă comasată/îmbinată (opţiunea „Table-Merge Cells”) pentru coloane cu subcoloane. Operaţia inversă, de scindare/despicare a

celulei, se face prin opţiunea „Table-Split Cells”).

este spaţiul unei celule care prezintă (la editarea sa) marcaje specifice de indentare.

Modificarea dimensiunilor coloanelor şi rândurilor se poate face şi

prin glisare , când indicatorul este plasat pe liniatură şi ia forma - pentru coloane sau - pentru rânduri.

Imagini şi plasarea lor în text

Imaginile care se pot introduce într-un document scris pot fi aduse din

biblioteca de clip-uri ataşată produsului („Clip Art”) sau din fişiere

aflate pe disc („From File”), ambele posibilităţi fiind accesibile din meniu („Insert - Pictures”) sau din bara de unelte.

După inserare, se pot stabili diferite proprietăţi ale acestor obiecte

(meniul „Format Object”):

a. Culorile fundalului şi liniei, tipul de linie(„Colors and Lines”);

b. Dimensiunea imaginii („Size”) :poate fi redimensionată la scară

dată sau exprimată dimensiunea explicit în unităţi de măsură – ţoli sau centimetri;

c. Plasarea imaginii în text („Layout”) - indicată sugestiv prin

pictograme ca în Figura 30, adică înconjurată de text (într-un cadru depărtat „Square”, cadru strâns „Tight” sau direct înconjurată

„Through”), peste text (în spate „”Behind text” sau în faţă „În front of

text”) ori separată de text (în continuare „În line with text” sau singură pe lăţimea paginii „Top and Bottom”).

Figura 30. Plasarea imaginii în text

6

5

Page 198: Informatică economică

198

Imaginile sunt obiecte plasate în document, care pot fi redimensionate

(indicator de mouse plasat pe muchia sa, devine apoi este glisat

), pot fi copiate şi mutate (prin manevre de editare), pot fi

transferate între aplicaţii (de prelucrare grafică, de calcul electronic, etc.)

22.4. Verificarea şi corectarea ortografică şi gramaticală

Scriitorii de meserie foloseau maşina de scris direct în momentul creaţiei. În mod similar, astăzi, mulţi folosesc calculatorul. În

momentele în care ideea se aşterne pe hârtie (fie ea şi electronică pe

ecranul calculatorului) nu este posibil, şi nu este indicat ca atenţia creatorului să fie îndreptată spre alte chestiuni decât ideea. De aceea,

este posibil să apară erori ortografice (privind corectitudinea

cuvintelor) şi gramaticale (privind modul de combinare a cuvintelor). Procesorul de texte ajută şi în acest caz, realizând verificarea

ortografică şi gramaticală, prin indicarea cuvintelor şi frazelor eronate

sau chiar corectarea celor la care „recunoaşte” erori sistematice (de exemplu inversarea unor litere într-un anumit cuvânt).

Verificarea ortografică şi gramaticală trebuie „activată” din meniu

corespunzător („Spelling and Grammar – Check spelling as you type” şi Check grammar as you type”). Erorile ortografice apar subliniate

cu linie şerpuită roşie, iar cele gramaticale subliniate cu linie şerpuită

verde.

Figura 31. Fereastra Tezaur – pentru cuvinte în limba engleză

Page 199: Informatică economică

199

Unele cuvinte se pot corecta automat – dacă au fost înscrise cu forma eronată (în coloana „Replace”) şi cea corectă (în coloana „With”) în

lista „Replace text as you type” oferit de Corectorul Automat

(„AutoCorect”) prezentat cu fereastra de dialog specifică în Figura 32.

Corectarea se face folosind tot ajutorul procesorului, astfel, corectura

ortografică: pentru cuvintele subliniate se pot solicita sugestii privind

sinonime sau antonime preluate intr-un dicţionar de cuvinte instalat alături de procesorul de texte;. cuvintele sinonime se pot consulta şi cu

ajutorul opţiunii Tezaur („Thesaurus”) – v. . Dacă unul din cuvinte

este convenabil se înlocuieşte precedentul (v. butonul „Replace” în figură).

După cum se observă în această listă, se pot înlocui şi anumite secvenţe de caractere cu desene explicite – cum sunt „emoticon” din

mesajele text de poştă electronică.

Figura 32. Caseta de dialog pentru auto-corectură

Page 200: Informatică economică

200

22.5. Lucrul cu documente

Crearea textului şi modificarea sa necesită operaţii multiple, cum sunt

de exemplu copierea sau mutarea unor zone de text, căutarea unor şiruri de caractere (frânturi de cuvinte, cuvinte sau chiar fraze) şi,

eventual, înlocuirea lor cu şiruri de caractere. După ce textul a fost

realizat este indicată salvarea lui în forma curentă (chiar ne-finalizată), pentru ca lucrul să fie reluat mai târziu, pentru utilizarea formei

electronice sau pentru tipărirea ulterioară.

Manevre de Editare

O modificare în text cuprinde, de obicei, trei faze:

1. Selectarea zonei text de editat – prin care se face marcarea

(indicarea) zonei de editat, cu manevre descrise; la acestea se adaugă:

glisare peste zonă, parcurgerea ei cu Shift-săgeţi (taste , , ,

).

2. Manevra pregătitoare – prin care se face o copie a zonei de editat într-o memorie anume („Clipboard”); de exemplu comanda „Edit –

Copy” sau „Edit – Cut” .

3. Manevra de modificare – prin care se face efectiv schimbarea

dorită; de exemplu mutarea cursorului clipitor şi comanda „Edit -

Paste” , schimbare font, etc.

Lucrul cu ferestre

Pentru operaţiuni efectuate cu mai multe documente, ferestrele

acestora se pot aranja pentru a înlesni vizionarea lor pe acelaşi ecran,

fără a comuta de pe una pe alta.

Figura 33. Meniu pentru lucrul cu Ferestre

Page 201: Informatică economică

201

Se pot vizualiza mai multe ferestre prin opţiunea „Arrange All”, (v. Figura 33) dar se pot vizualiza două părţi ale aceluiaşi document

simultan, prin opţiunea „Split” – care „despică” documentul şi permite

derularea independentă a fiecărei părţi, pentru vizionarea lor simultană (de exemplu atunci când se doreşte consultarea uneia din părţi în timp

ce se lucrează la cealaltă).

După cum se observă în Figura 33, documentele deschise apar în lista de meniu şi pot fi activate pe rând (cea activă indicată prin ).

Lucrul cu fişiere document

La încheierea lucrului cu documentul sau ori de câte ori este nevoie, se face salvarea documentului într-un fişier pe disc (ce prezintă

extensia corespunzătoare – la MS Word .doc, .docx”), cu comanda

„File - Save” sau ; se recomandă salvarea cât de des posibil, pentru a evita surprize neplăcute care pot apare în timpul lucrului, incidente

ce duc la pierderea de date. Salvarea documentului se poate face şi în

alte formate decât cel implicit, cum sunt formatele standard RTF („Rich Text Format” – extensia .rtf), pagină Web (format HTML -

extensia .html), sau text simplu (extensia .txt). Formatul RTF permite

portarea documentului pe alte procesoare de texte, iar formatul HTML permite publicarea documentului ca pagină web pe o maşină server

Web (numită generic „site”).

Ulterior salvării, documentul se „deschide” prin comanda „File – Open” sau .

Tipărirea documentului se face prin comanda „File - Print” sau prin

, în care se vor selecta diverse opţiuni privind modul cum va avea loc tipărirea:

a. Parte din document care se tipăreşte (tot, pagina curentă, paginile

indicate);

b. Numărul de copii ale părţii tipărite, apoi dacă face tipărirea multiplă

la fiecare pagină sau repetă tipărirea întregului document pentru

fiecare copie;

Page 202: Informatică economică

202

c. Tipărirea paginilor impare (iar apoi pare) – pentru tipărire faţă-

verso;

d. Setări ale imprimatei – privind rezoluţia (în puncte pe inch - dpi)

sau culorile, dimensiunea foii (uzual A4).

e. Tipărirea se face într-un fişier care ulterior va fi listat pe imprimantă; în acest caz, se pot obţine fişiere document de tip

PostScript (pentru imprimanta selectată corespunzător), ce pot fi

vizionate pe pagini web sau transferate în forma tipăribilă în alt loc.

Şabloane şi scrisori tip

Pentru documente uzuale, procesorul de text pune la dispoziţie

şabloane („Template”) care pot fi completate cu conţinutul dorit de utilizator. Forma şablonului este preluată din biblioteca de şabloane,

uzual fiind oferite şabloane pentru scrisori, fax-uri, CV-uri, Agendă etc.

Pentru realizarea de scrisori tip, ce trebuie transmise la mai mulţi

destinatari, acestea se pot personaliza folosind Asistentul de scrisori multiple – „Mail merge Wizard” (meniu „Tools” sau „Mailings”).).

Astfel, se poate „construi” un text care să conţină şi o structură de

câmpuri în care se vor înscrie automat informaţii dintr-un tabel cu date asupra persoanelor destinatare: apelativul (Dl., D-nă, Dr., etc.) numele

şi prenumele, adresa, şi altele. În final, scrisoarea tip va afişa în locul

câmpurilor datele concrete şi se va putea tipări. Se poate parcurge printr-o opţiune de meniu (sau buton) întreaga lista de persoane,

tipărindu-se pentru caz toate sau pentru fiecare înregistrare,

exemplarul dedicat. În acest mod se îmbină date (despre persoane) şi documente (scrisori) prin procesorul de texte.

22.6. Indicaţii de tehnoredactare computerizată

Procesorul de texte pune la dispoziţia utilizatorului toate mijloacele

pentru crearea de documente cu aspect profesionist care, în plus, pot fi modificate uşor sau pot fi elaborate în echipă. Pentru a utiliza corect şi

complet un procesor de texte, este bine ca la crearea documentului să

se respecte recomandările făcute în acest submodul.

Page 203: Informatică economică

203

Definirea stilurilor de formatare

Funcţie de destinaţia documentului se stabileşte o mulţime de stiluri dorite (sau impuse) pentru structura şi modul cum vor apare pe hârtie.

Lista de stiluri disponibile este predefinită dar se poate completa cu

altele după trebuinţă. Stilurile de formatare se referă la:

a. Caractere – privind caracteristici precum: tipul, dimensiunea, stilul

caracterului pentru diferite părţi ale documentului (denumiri de modul

– „Headings”, textul „Normal”, note de subsol „Footnotes” etc.), spațierea între caractere, etc.

b. Paragraf – aliniere, indentare, stop-uri Tab, spaţiul între linii/rânduri

și paragrafe, chenare, caracteristici ale literelor din paragraf. În acest context se definesc efectiv denumirile de modul („Headings”)

indicând, spre exemplu, că denumirea de nivel 1 apare pe pagină nouă.

c. Tabel – privind îmbinarea sau scindarea celulelor, tipul de chenar,

umbriri pe coloane, culori, numele generic şi tipul de numerotare

automată.

d. Listă – privind modul de numerotare şi indentare a linilor, pentru

diferite tipuri de liste.

e. Figură – redimensionare, numele generic (prescurtat Fig.) şi tipul de numerotare automată.

f. Cuprins – modul cum va fi indicat inventarul denumirilor de module

şi pagini de start.

Paşi în redactarea corectă şi eficientă a documentului

i) Se realizează structura de denumiri de modul pe niveluri ale

documentului, fiecare declarat de tip „Heading”1, 2, etc. Această structură este vizibilă prin „Document map” sau „Navigation Pane”.

ii) Se înscriu informaţiile de antet şi subsol (logo, texte

lămuritoare), eventual antet diferit pe pagină pară şi impară, numere de pagină (cu număr total sau nu), data emiterii documentului, etc.;

numerotarea paginilor se poate face şi în antet.

Page 204: Informatică economică

204

iii) Se folosesc corect semnele de punctuaţie: spaţiu obligatoriu după

semnul de punctuaţie dar niciodată înainte – excepţie parantezele ‘(‚ şi ‚)’.

iv) Alinierea şi indentarea paragrafelor se face doar utilizând

mijloacele oferite de procesorul de texte.

v) Se declară figuri şi tabele (cu stiluri stabilite anterior) folosind

captură („Caption”), pentru a iniţia numerotarea automată a acestora.

vi) Se fac trimiteri în text la figuri şi Tabele prin legarea acestora cu ajutorul referințelor incrucișate („Cross-reference”). Trimiterile se

pot face pentru orice fel de element declarat anterior prin captură

(„Caption”). În acest mod, orice modificare în ordinea elementelor capturate nu afectează şi legăturile din text.

vii) Se activează verificarea ortografică şi gramaticală.

viii) Se scrie conţinutul documentului fără a da mare atenţie formei,

pentru a se focaliza atenţia pe idei.

ix) Se verifică corectitudinea textului (urmărind sublinierile şerpuite) şi formatarea conform stilurilor prestabilite.

Page 205: Informatică economică

205

23. Foi de calcul tabelar

Foile de calcul tabelar („spreadsheet”) sunt poate cele mai puternice

instrumente de calcul puse la dispoziţia utilizatorilor obişnuiţi. De la crearea lor – de către Dan Bricklin şi Bob Frankston prin produsul

VisiCalc, au apărut o mulţime de alte produse (Lotus 1-2-3, Quattro

Pro, Excel) care au preluat aproape neschimbate ideile creatorilor, extinzând facilităţile foii de calcul – cu funcţii, prelucrări analitice (de

detaliere) şi sintetice (de modelare şi sinteză).

O foaie de calcul tabelar (numită şi foaie electronică de calcul) este o imitare a unui registru contabil prevăzut cu caroiaj pentru a înşira

coloane de cifre şi linii cu semnificaţii de valori de obiecte sau

operaţiuni, însă forma electronică permite înscrierea directă în foaie a unor formule care sunt „vii” – adică îşi modifică valoarea imediat ce

unul din operanzi s-a modificat. Mai mult, se pot realiza şi afişa uşor

grafice complexe, tabele similare celor din baze de date, programe de prelucrare locală sau de automatizare a unor operaţiuni folosind

macrocomenzi.

23.1. Structura foii de calcul tabelar

Fereastra de calcul tabelar – v. Figura 34, prezintă un set de foi de

calcul („Sheets”) grupate într-un caiet de calcul („Workbook”). Fiecare foaie de calcul are un nume (implicit denumite Sheet1, Sheet2,

...) între care una este activă (Sheet1). Foaia de calcul este împărţită

prin caroiaj pe rânduri numerotate şi coloane denumite cu litere

, ce delimitează celule („Cells”).

După cum se observă, într-o celulă se pot înscrie informaţii – de

exemplu în şirul „Celula de lucru curent” care însă nu este vizibil

integral fiind acoperit de (capul) şirului din celula . Fiecare celulă prezintă o adresă (referinţă) specificată prin denumirea coloanei şi

numărul rândului – de exemplu celula curentă are adresa C5. 15

16

15

15

4 12

13

1 14

Page 206: Informatică economică

206

Celulele pot fi grupate în zone rectangulare denumite blocuri de celule

(sau domenii - „ranges”); un bloc este referit prin adresele celulelor din colţurile stânga-sus şi dreapta jos – de exemplul blocul celulelor

vizibile în fereastra din Figura 34 este referit A1: G11.

În structura unui caiet de calcul se pot afla: foi de calcul („work sheet”) – ce conţin celule cu informaţii, foi de grafice („chart sheet”) –

ce conţin grafice denumite, foi cu macro-comenzi („macro sheets”) –

ce conţin comenzi în limbajul specific foilor de calcul. Derularea

foilor din cadrul caietului de foi se face prin butoanele , foaia

curentă fiind denumită foaie activă.

Elementele din structura ferestrei caietului de calcul sunt:

Bara de meniu specifică, Bara de unelte cu butoane specifice

pentru funcţii (sumare), sortare , sau grafice , apoi bara de

stare şi bare de derulare şi - similare altor aplicaţii.

Elementele din structura ferestrei foii de calcul sunt:

Bara de nume – ce indică numele celulei sau blocului de celule sau, în cazul lipsei numelui, adresa celulei curente;

Bara de formule – ce indică conţinutul celulei curente şi permite scrierea unei formule; după introducerea completă a formulei, în

celula curentă din foaie se afişează rezultatul formulei, iar în bara de

formule expresia acesteia.

Bara de editare – ce permite editarea conţinutului celulei curente

introducând, de exemplu, o funcţie dorită în formulă prin pe ,

confirmarea editării prin pe sau renunţarea la editarea celulei

prin pe („Escape”).

3

7

2

19 17 18

10 9 8

6 5

13

11

Page 207: Informatică economică

207

Figura 34. Fereastra de calcul tabelar

Foaia de calcul prezintă un număr de 256 coloane, denumite cu literele alfabetului, apoi cu litere duble: A, B, C,…Z, AA, AB, AC,…AZ,

BA, BB, BC,…BZ, CA,…IA, IB,…IV, .... şi 65.536 de rânduri, cu

celule suficiente pentru volume mari de date.

23.2. Conţinutul celulelor foii de calcul

În celulele foii de calcul se pot înscrie date de diferite tipuri, dar şi

prelucrări, care sunt afişate conform formatării celulei (opţiunea „Format - Format Cell”). Atât datele cât şi prelucrările sunt

„recunoscute” şi tratate corespunzător:

tip General – celula nu are un format definit de număr.

1 2 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19

3

Page 208: Informatică economică

208

număr – conţine numai cifre şi este aliniat la dreapta implicit. Afişarea unui număr mare se poate face prin mantisă şi exponent –

dacă prin lungimea sa nu încape (deci nu este vizibil integral) în

celulă; de exemplu numărul 15.000.000.000 va apare 1.50E+10. Se poate indica numărul de zecimale şi modalitatea de afişare a

numărului: număr obişnuit („Number”), însoţit cu simbol de monedă

(„Currency”), procent („Percentage”), în format ştiinţific („Scientific”), ca număr special („Special” de exemplu cod poştal,

număr de telefon, cod numeric personal).

șir de caractere („Text) – conţine orice simboluri de scriere şi începe cu o literă, fiind aliniat la dreapta implicit. Într-o celulă se

poate înscrie un şir de maxim 256 caractere.

dată şi oră – reprezentate ca numere astfel: data ca întreg indicând

numărul zilei începând cu 31 Dec. 1899, iar ora ca număr zecimal

fracţie a zilei (de 24 ore) – de exemplu ora 12 la prânz reprezentată ca 0,5. Formatul de afişare a datei şi orei este însă ales după dorinţă de

utilizator: ex. 15.03.2003, 15 martie 2003, 15.03.03, etc.

formulă – expresie care începe cu semnul ‘=’, conţine operanzi,

operatori şi funcţii. Operanzii pot fi literali (valori directe) sau adrese

ale celulelor cu care se doreşte efectuarea calculelor.

Figura 35. Exemplu de structură a formulei

Pe exemplul din Figura 35 se prezintă cele mai importante caracteristici ale unei formule şi modul cum se prezintă ea în foaia de

calcul:

Formula este înscrisă în celula C1 (vezi ), cu adresa indicată de

caseta de nume . 1

4

1 2 3 4 9 5 6 7 8

Page 209: Informatică economică

209

Conţinutul celulei C1 este vizibil în bara de formule iar în foaia de calul (celula C1) apare valoarea rezultat a formulei.

Operanzii formulei sunt literalul şi funcţia (ROUND - rotunjire) care are doi parametri: primul parametru este valoarea de

rotunjit - raportul între celulele A1 şi B1 - (vezi şi ) iar al doilea

este numărul de zecimale la care se face rotunjirea – în exemplul dat 0 adică rotunjire la întreg.

23.3. Lucrul cu foaia de calcul

În general, foile de calcul sunt utile pentru prelucrarea unor blocuri de valori, care se înscriu în celule şi sunt folosite ca date de intrare pentru

expresii (formule) aflate în alte celule. Blocurile cu rezultate pot fi în

final reprezentate grafic (prin histograme).

Adrese relative şi absolute

Datele de tipurile prezentate mai sus şi formulele se înscriu în celule şi

se pot edita prin manevre similare celor prezentate la procesoare de texte, adică prin marcare urmată de copiere sau mutare. În plus, în

foaia de calcul, se pot copia o celulă şi multiplica într-un bloc de

celule. (copii multiple); această facilitate este foarte utilă la multiplicarea formulelor care se aplică similar mai multor seturi de

date.

În exemplul din Figura 36 se prezintă un tabel de produse pentru care se calculează valoarea fiecăruia. Formula înscrisă în coloana

„Valoare” celula D2 este un produs între „Preţ unitar” şi „Cantitate” la

fiecare produs; formula de calcul se scrie o singură dată în D2: = B2*C2, iar apoi se replică în celulele D3:D7 prin copiere multiplă. La

această operaţie de copiere, formulele se actualizează automat (privind adresele operanzilor) relativ la noua poziţie pe care o are formula.

Astfel, în celula D3 se obţine (prin copiere) = B3*C3, în D4 = B4*C4

şi aşa mai departe. Această modalitate de copiere este evident avantajoasă în cazul formulelor şi este posibilă fiindcă în mod special

adresarea unei celule prin indicarea simplă a liniei şi coloanei este o

adresare relativă.

9

8 7

6 5

Page 210: Informatică economică

210

Există şi situaţii în care adresarea relativă nu este avantajoasă, de

exemplu calculul valorii cu TVA indicată în Figura 36. Celula B10 conţine procentul de TVA şi apare ca operand în E2, cu denumirea

coloanei şi numărul liniei precedate de simbolul special $, care are ca

efect transformarea adresei B10 în adresă absolută.

Astfel, operandul indicat prin $B$10 nu va fi actualizat la copierea în

alte celule, adică va rămâne indicat în mod absolut. În acest fel se

poate evita înscrierea procentului TVA în mod explicit în fiecare din formule – adică în E2 ar fi =D2*(1+0.19) – valoarea TVA înscrisă ca

literal, dar nici nu ar trebui înscrisă pentru fiecare din rânduri (spre a

folosi celule operand cu procent TVA – dedicat fiecăruia din rânduri).

Figura 36. Exemplu de multiplicare şi utilizare a adreselor relative sau

absolute

Mai mult, dacă valoarea procentului TVA s-ar modifica, nu este

nevoie să se intervină în fiecare din celulele care o folosesc (cum ar fi cazul pentru cele două exemple descrise mai sus), ci s-ar modifica o

singură dată celula B10 – cu noua valoare a procentului.

Funcţii

Foile de calcul electronic conţin multe funcţii – fiecare dedicată unei

prelucrări anume, care poate fi apelată printr-o formulă (ca un

subprogram) prin nume şi parametri (argumente) între paranteze, furnizând rezultatul corespunzător. Parametrii pot fi (v. Figura 36):

Page 211: Informatică economică

211

literali, adrese de celule (de ex. D2) şi/sau adrese de blocuri (de ex.

D2:D7).

În Tabel 10 se prezintă categorii de funcţii comune accesibile în foi de

calcul electronic, cu câteva exemple de funcţii în fiecare categorie.

Tabel 10. Funcţii pe categorii şi rolul lor

Categoria Exemple de funcţii

Matematice

ABS(număr) – furnizează valoarea absolută pentru număr.

SIN(număr) – furnizează valoarea sinusului pentru număr.

PI() – furnizează valoarea numărului .

RAND() – furnizează un număr subunitar aleator.

ROUND(număr, nr_zec) – furnizează rotunjirea număr la nr_zec

zecimale.

EXP(număr) – furnizează e (Neper) la puterea număr.

COMBIN(n,m) – furnizează combinaţii de n luate câte m (Cnm).

Logice

AND(l1, l2, ... ) – furnizează valoarea logică TRUE dacă toate

valorile logice l1, l2, ... (maxim l30) sunt TRUE

OR(l1, l2, ... ) – furnizează valoarea logică FALSE dacă toate

valorile logice l1, l2, ... (maxim l30) sunt FALSE

NOT(l1) – furnizează valoarea logică TRUE dacă valoarea logică

l1 este FALSE şi reciproc

IF(expr_logica, val_DA, val_NU) – evaluează expresia logică

expr_logica şi la rezultat TRUE furnizează val_DA altfel val_NU.

Statistice

AVERAGE(n1, n2, ...) – furnizează media aritmetică a numerelor

n1, n2, ... (maxim n30).

COUNT(v1, v2, ...) – furnizează numărul de valori numerice din

setul de valori v1, v2, ... (maxim v30); argumentul poate fi un bloc

de celule cu valori de orice tip pentru care se indică pe cele

numerice.

VAR(n1, n2, ...) – furnizează abaterea medie pătratică (varianţa)

pentru numerele n1, n2, ... (maxim n30).

CORREL(b1, b2) – furnizează corelaţia (măsura relaţiei) între

valorile a două blocuri de celule b1, b2, ca un număr subunitar în [-

1, 1].

Page 212: Informatică economică

212

MAX(n1, n2, ...) şi MIN(n1, n2, ...) – furnizează maximul respectiv

minimul numerelor n1, n2, ... (maxim n30).

Financiare

AMORDEGRC(cost, data_ac, per1, val_r, per, rata, baza) –

furnizează amortizarea pentru numărul per de perioade, conform

ratei de amortizare rata pe o perioadă (lună, an), pentru bunul

achiziţionat la data_ac şi sfârşitul primei perioade de amortizare

per1 (la amortizări nelineare), cu baza de calcul baza (o valoare

între 0 şi 4 indicând sistemul de datare – pe 360 sau 365 zile).

IRR(valori, eval) – furnizează rata internă de revenire a unui flux

de capital (sumele predate la intervale fixe – lună, an), adică

dobânda pentru o investiţie cu depuneri periodice (sume negative)

sau un venit periodic (sume pozitive); eval este estimarea dobânzii

dorite.

FV(dob, nper, prima, pv, mom) – furnizează valoarea viitoare a

unei investiţii cu dobânda dob făcută prin plăţi periodice prima, pe

un număr nper perioade (pentru fiecare primind dobânda dob).

Parametrii pv şi mom sunt opţionali, indicând valoarea evaluată în

prezent a unei serii de investiţii respectiv momentul când se face

plata primei (la începutul sau sfârşitul perioadei).

PMT(dob, nper, pv, fv, mom) – furnizează valoarea ratei (ca sumă

plătită) pentru un împrumut cu plăţi periodice (v. parametrii mai

sus).

NPER(dob, pmt, pv, fv, mom) – furnizează numărul de perioade

pentru o investiţie cu plăţi pmt şi dobândă dob constante (v.

parametrii mai sus).

IPMT(dob, per, nper, pv, fv, mom) – furnizează valoarea dobânzii

plătite pentru o ipotecă cu plăţi periodice în perioada per (număr

între 1 şi nper – numărul total de perioade), pentru un împrumut pv

(fv şi mom sunt opţionali, cu semnificaţii de mai sus).

Baze de

Date

(Tabele)

Toate funcţiile au ca argumente: blocul ce conţine baza de date,

coloana (câmpul) pentru care se doresc prelucrările şi blocul unde

se află criteriile de selecţie

DGET(baza, coloana, criteriile) – furnizează valoarea din coloana

specificată din baza de date, care satisface criteriile.

DAVERAGE(baza, coloana, criteriile) – furnizează media

valorilor din baza de date pentru coloana şi criteriile specificate.

DSUM(baza, coloana, criteriile) – furnizează suma valorilor din

Page 213: Informatică economică

213

baza de date pentru coloana şi criteriile specificate.

DMAX(baza, coloana, criteriile) – furnizează maximul valorilor

din baza de date pentru coloana şi criteriile specificate.

Funcţiile se utilizează în formule care, în general, sunt multiplicate în

fiecare celulă din coloana care se doreşte să conţină rezultatele, iar datele de prelucrare se găsesc în coloane alăturate.

Utilizarea numelor

Pentru uşurinţa înscrierii formulelor cu operanzi referiţi prin adrese de celule sau de blocuri, se ataşează acestor celule nume sugestive. De

exemplu, în foaia de calcul din Figura 36 celula B10 cu procentul

TVA va putea fi denumită simplu TVA, astfel că formula de calcul din E2 va deveni: =D2*(1+TVA). Definirea numelor pentru celule şi

blocuri se face prin comanda Define în caseta de dialog conform

Figura 37, care permite gestionarea numelor (adăugare, ştergere, indicarea adreselor în câmpul „Refers to:”

Figura 37. Caseta de dialog pentru definirea numelor de celule sau blocuri

Se pot defini mai multe nume pentru acelaşi bloc de celule; de

exemplu, o celulă cu valoarea unei sume de bani poate fi denumită

SumaDisponibila şi SumaImprumutata, pentru a fi folosită intuitiv într-o funcţie, în contextul parametrilor acesteia.

Page 214: Informatică economică

214

23.4. Facilităţi de prezentare calitativă şi sintetică a informaţiilor

Volumele mari de date, ce se pot stoca şi prelucra într-o foaie de

calcul electronic, constituie o prezentare analitică a unei situaţii din lumea reală. Pentru a manipula aceste date şi pentru a extrage

informaţii utile deciziilor, acestea trebuie prelucrate şi prezentate în

mod sintetic şi calitativ, pentru care foile de calcul electronic oferă diferite modalităţi. Unele dintre acestea se prezintă succint în

continuare.

Structuri de tip listă şi tabel

Organizarea informaţiilor în liste şi tabele este foarte avantajoasă

vizionării şi prelucrării lor. În foile de calcul electronice, listele sunt

înşiruiri de obiecte cu o singură dimensiune (pe o linei sau pe o coloană), iar tabelele prezintă linii (fiecare indicând un obiect) şi

coloane (fiecare indicând o proprietate generică). De fapt, o listă sau

un tabel ocupă un bloc de celule cu o singură dimensiune, respectiv cu două dimensiuni.

Foile de calcul tabelar îşi trag numele de la facilitatea de bază a

acestora – crearea de tabele. Un tabel poate conţine date de tipuri diferite şi poate reprezenta orice situaţie din lumea reală: se poate

referi la persoane şi date asupra lor, la un inventar de obiecte (de

exemplu în contabilitate, cu valori şi diverse rezultate prelucrate asupra fiecărui obiect), se poate referi la informaţii tehnice şi calcule

ştiinţifice asupra lor. Tabelul realizat este posibil de utilizat în acelaşi

mod în care se lucrează cu baze de date.

Similar produselor de baze de date, se poate lucra cu fiecare coloană

prin numele său de câmp şi se pot face sortări şi apoi filtrări ale

datelor pe baza unor criterii specificate. De exemplu, pentru tabelul din Figura 36 se definesc nume pentru coloane astfel: coloana A –

Produs, coloana B – Pret_unitar, coloana D – Valoare.

Pe acest exemplu, se poate face sortarea produselor după valoarea din

magazie, în sens crescător (ascendent), specificând prin meniu „Data-Sort” numele câmpului şi modul de sortare – v. Figura 38. Urmare a

acestei comenzi, apar liniile ordonate crescător după câmpul Valoare

(denumit acum cheie de sortare). Se poate face sortarea după mai

Page 215: Informatică economică

215

multe chei, pentru cazul în care primul câmp cheie de sortare are

valori identice în unele rânduri – de exemplu pentru sortarea unui tabel cu date despre persoane, întâi sortat după nume apoi după

prenume, fiindcă se pot găsi persoane cu nume identice şi este

necesară ordonarea acestora după altă cheie – prenumele.

Figura 38. Caseta de dialog pentru sortare în baza de date (tabel din Figura

36)

Se poate face filtrarea datelor din tabel, adică vizualizarea doar a acelor linii care satisfac condiţii impuse. Filtrarea poate avea loc în

unul din modurile:

Filtrare prin selecţie („Data-Filter-AutoFilter”) – prin care se indică baza de date (tabelul conform Figura 39), după care se selectează o

valoare în lista derulabilă la o coloană dorită (v. Preț unitar);

se afişează lista de linii cu această valoare.

Filtrare după criterii specificate (cu formular - „Data-Filter-Advanced Filter”) – prin care se indică un bloc în foaie care conţine

criteriile de selecţie (în exemplul din Figura 39 blocul A1:E2, cu criteriul de selecţie în celula B2); se afişează rândurile care satisfac

aceste criterii.

Page 216: Informatică economică

216

Figura 39. Baza de date pregătită pentru filtrare după valori ale coloanei

Preț unitar

Grafice

O altă facilitate foarte utilă în foile de calcul electronic o reprezintă

graficele. Acestea sunt folosite pentru a prezenta în mod calitativ şi

sintetic informaţia numerică, sub diferite forme, astfel că se pot compara „dintr-o privire” situaţii cantitative. Graficele sunt o

reprezentare a uneia sau mai multor serii cantitative, relative la

momente sau situaţii discrete date. O serie cantitativă este o listă de numere (înscrisă pe o linie sau pe o coloană) în care elementele indică

starea la un moment dat în evoluţia unei mărimi (de exemplu vânzări

lunare ale unui produs pe fiecare lună din an) sau valorile statice ale mai multor mărimi (de exemplu proporţia – în procente, a vânzărilor

primelor 5 cele mai vândute produse). Privind reprezentarea grafică a

numerelor, se pot face uşor şi clar o comparaţii sau se pot stabili relaţii calitative între mărimi cantitative – necesare în luarea deciziilor.

Reprezentarea grafică a seriilor de numere se poate face în diferite

sisteme de coordonate:

Carteziene – sistem de axe perpendiculare în două sau trei

dimensiuni (2D sau 3D). De obicei axa orizontală transversală (pe lăţime) este denumită „Axa X” reprezintă situaţiile de referinţă (de ex.

momente de timp în evoluţia mărimii ilustrate grafic). Axa verticală –

„AxaY”, este cea pe care se reprezintă cantităţile (numerele efective din serie). La graficele 3D există o a treia axă – „Axa Z”, orizontală în

Page 217: Informatică economică

217

profunzime, care indică fiecare serie atunci când se ilustrează mai

multe serii (mai multe mărimi) simultan pe acelaşi grafic.

Polare – sistem de reprezentare circulară în două dimensiuni, care

ilustrează intuitiv cantităţi comparative ce împreună fac un întreg (ca de exemplu grafic „tort” în care fiecare felie reprezintă vânzarea unui

produs pe o lună anume din întregul an). Graficele polare au efecte 3D

dar numai pentru o ilustrare mai estetică.

Tabel 11. Tipuri de grafice cu caracteristici şi situaţia de utilizare

Denumire grafic, cu caracteristici şi situaţii de

utilizare

Reprezentare grafică

Grafic de bare: verticale („Columns”) sau

orizontale („Bars”), în coordonate carteziene:

a) pentru o singură serie, 2D

b) pentru o singură serie, cu efecte estetice 3D;

c) pentru serii multiple 2D, cu coloane suprapuse;

d) pentru serii multiple 3D, cu seriile pe axa Z.

Utilizate pentru a ilustra evoluţii în timp discret (de

ex. volumul vânzărilor pe luni) sau situaţii discrete

(de ex. vârstele persoanelor dintr-un grup).

Ilustrarea s-a făcut doar pentru grafice coloană, cele

cu bare orizontale fiind similare.

Grafic linie („Line”): puncte legate prin linii în

coordonate carteziene:

e) linii pentru una sau mai multe serii 2D,

f) linii cu punte marcate pentru serii 2D,

g) pamblică pentru serii 3D.

Utilizate pentru a ilustra evoluţii continue în timp.

e) f) g)

Grafice plăcintă („Pie”) – ca un tort cu felii, în

coordonate polare pe un cerc închis: cu felii

„explodate”

h) plăcintă 2D compactă;

i) plăcintă 3D pentru efect estetic.

h) i) j)

a) b

)

c) d

)

Page 218: Informatică economică

218

j) plăcintă cu „felii explodate”;

Utilizate pentru ilustrarea de mărimi statice ce fac

un întreg (de ex. vânzările pe trimestre ale unui an).

Grafice arie („Area”):

k) arie 2D;

l) arie 3D

m) arie comparativă: o mărime reprezintă 100%

iar cealaltă proporţia din ea.

Utilizate pentru ilustrarea unor mărimi cu caracter

integrator sau cumulativ (de ex. pentru evoluţia

investiţiilor).

k) l) m)

Grafice curs („Stock”)– ca segmente sau bare cu

liniuţe:

n) curs maxim-minim-la închidere („high-low-

close”) care indică valorile maxim şi minim prin

capetele de segment verticale şi valoarea la

închidere prin liniuţa laterală;

o) curs volum-maxim-minim-la închidere („volume-

high-low-close”) ca mai sus, în plus volumul

tranzacţiilor indicat prin înălţimea barei verticale.

Utilizate pentru ilustrarea evoluţiei zilnice a

acţiunilor sau tranzacţiilor financiare (eventual şi

volumului).

n) o)

Grafice speciale – care sunt variante ale celor

amintite până aici dar cu alte forme decât cele

„clasice”:

p) gogoaşă americană („Doughnut”) – grafic în

coordonate polare, similar celui plăcintă;

q) radar („Radar”) – grafic polar prin segmente în

locul sectoarelor de cerc ale plăcintei, pe mai multe

axe;

r) Buline („Bubble”) – grafic polar şi cartezian prin

buline în locul sectoarelor de cerc ale plăcintei

(pentru cantităţile seriei) şi mărimi de referinţă

pentru de seria de bază pe axele carteziene.

p) q) r)

Page 219: Informatică economică

219

Graficele pot fi realizate rapid şi apoi se pot completa cu toate informaţiile utile folosind un asistent („wizard”) care conduce

utilizatorul prin paşi, fiecare prezentând o casetă de dialog:

a. Alegerea tipului de grafic – dintr-o listă de tipuri; în Tabel 11 se prezintă aceste tipuri şi situaţiile în care sunt utile fiecare.

b. Indicarea seriilor de numere ca blocuri în foaia de calcul, pentru

axele X, Y şi Z. La graficele care prezintă mai multe serii de numere în acelaşi sistem de coordonate este necesară denumirea fiecărei serii

în parte.

c. Completarea graficului cu informaţii suplimentare lămuritoare şi plasarea acestora în imaginea finală: titlul şi subtitlul graficului,

denumirea axelor şi marcarea diviziunilor pentru mărimile cantitative pe care le reprezintă, legenda, alte informaţii lămuritoare (valorile

numerice efective, etichete cu comentarii ataşate unor valori din

serie), culori şi modele grafice de haşură (linii paralele trasate oblic, orizontal, vertical) sau poşare (umbrire sau culoare uniformă sau în

degradé).

d. Denumirea şi plasarea graficului în foaia de calcul sau într-o foaie separată, dedicată (foaie de grafic).

23.5. Indicaţii de proiectare şi construire a foilor de calcul

După cum s-a arătat până aici, foile de calcul electronic oferă mijloace

puternice şi uşor de folosit pentru prelucrări complexe. De exemplu, se poate analiza starea şi perspectiva unei afaceri (folosind şiruri de

date privitoare la situaţiile financiare sau tehnice ale firmei, cu

formule şi funcţii adecvate), se poate face o analiză a variantelor de dezvoltare a afacerii şi, în final, se poate prezenta calitativ atât starea

actuală cât perspectiva prin grafice intuitive şi printr-un document

tipărit.

Totuşi, pentru a structura corect şi a prelucra eficient un volum mare

de informaţii, este necesar un mod de lucru sistematic iar apoi

utilizarea corectă şi completă a mijloacelor puse la dispoziţie de foaia

Page 220: Informatică economică

220

de calcul. Trebuie remarcat din capul locului faptul că foile de calcul

sunt utile la rezolvarea problemelor ce implică date diverse, statistici şi calcule, cu ilustrări calitative (grafice) şi sintetice (sume de total,

tabele pivot, etc.). Paşii de lucru urmaţi în rezolvarea problemei cu

foaia de calcul sunt cei indicaţi – proprii realizării unei aplicaţii.

Formularea cerinţelor şi analiza problemei

Cunoscând problema de rezolvat şi scopul acesteia, se face un plan

corect, care se bazează pe datele (eventual statisticile) de care se dispune în prezent şi cele necesare în rezolvarea problemei. Se face un

inventar al funcţiilor care vor fi utilizate în prelucrarea datelor şi în

compararea rezultatelor, apoi se stabileşte cum se doreşte prezentarea rezultatelor (grafic, tabele, rapoarte). Se analizează şi se stabilesc:

Intrările: valori cunoscute – cele ce urmează a fi prelucrate efectiv în foaie, variabile de decizie –prin care se pot alege variante şi se

poate optimiza modelul (de exemplu, utilizând scenarii ).

Ieşirile: variabile obiectiv – care se doresc calculate (prin formule, funcţii) şi variabile de restricţie – care impun limite sau condiţii de

compromis ce trebuie respectate (limite de buget).

Relaţiile: relaţii între variabile cunoscute, de decizie (care le

condiţionează pe primele) şi utilizarea unui şablon – oferit de produsul foaie de calcul sau preluat din alte.

Aceste date sunt preluate de pe documente scrise sau din fişiere aflate

pe disc, în ultimul caz foile de calcul electronic oferind mijloace de import (din baze de date sau din fişiere text – de exemplu de tip CSV

adică date înscrise pe linii şi separate prin spaţii, şirurile de caractere

între ghilimele). Relaţiile se identifică şi se înscriu pe hârtie, în documentul de analiză. La realizarea foii de calcul sunt necesare,

uneori, variante de lucru şi calcule suplimentare; indicat executate în

altă foaie de calcul – foaie de manevră, care va fi salvată sau nu alături de foaia (caietul) de bază.

Proiectarea şi realizarea foii de calcul

Date fiind mijloacele puse la dispoziţie de o foaie de calcul electronică, cele două etape: proiectarea şi realizarea aplicaţiei, se

Page 221: Informatică economică

221

parcurg simultan; în plus, este indicată documentarea foii de calcul pe

măsura realizării ei – aşa cum se prezintă în paşii ce urmează:

1. Introducerea şi organizarea datelor. Se introduc datele cunoscute

chiar dacă încă nu se ştie exact cum vor fi folosite. Astfel, se înscriu:

valori constante – indicat să fie păstrate într-o zonă separată a foii, denumite corespunzător (v. TVA în Figura 36), - astfel ca la

modificarea lor să nu se „cotrobăie” în întreaga foaie de calcul;

structura de linii şi coloane – care poate copia un tabel uzual sau este realizată ad-hoc, cu denumiri corespunzătoare.

2. Documentarea foii. Este bine ca în cadrul foii să se înscrie textul

care descrie problema, scopul şi modalitatea rezolvării ei, ca documentare generală. În plus, celulelor importante li se pot adăuga

nume şi comentarii explicite (prin meniul „Insert-Comment”), aceste celule fiind indicate cu un colţ roşu şi prezintă o etichetă vizibilă la

indicare cu mouse-ul .

3. Crearea formulelor. Înscrieţi formule ori de câte ori este nevoie;

acestea se pot copia multiplu şi edita specific locului unde apar iar

funcţiile oferite acoperă un spectru larg de utilizări. Evitaţi înscrierea numerelor (literali) direct în formule, mai bine se fac referiri la celule

care conţin valorile respective (exemplu la final cu valoarea TVA). Se

recomandă folosirea numelor în loc de adrese de celule (pentru ca formula să fie uşor inteligibilă) şi se păstrează rezultate intermediare

(de ex., subotaluri). În general este bine ca formulele să fie simple –

folosind ca operanzi rezultate intermediare mai degrabă decât a înscrie o formulă complicată, ne-inteligibilă. Derularea calculelor trebuie

ilustrată într-un flux de prelucrări (prin formule), cu etichete şi în

ordinea naturală a evoluţiei lui.

4. Prezentarea rezultatelor. Datele obţinute prin calcule nu sunt uşor

de urmărit şi înţeles dacă acestea nu se prezintă în forme sintetice

(totaluri sau chiar modele matematice) şi forme calitative (grafice). În final, documentul cu tabele şi imagini se poate tipări, adăugând antet

şi subsol, titluri, formatare text şi liniaturi la tabele.

Page 222: Informatică economică

222

Pentru obţinerea rezultatului urmărit se poate apela la mijloace de

analiză şi sinteză pe loc – prin tabele pivot, regresii sau analize statistice, care ajută la găsirea metodei de soluţionare a problemei.

Page 223: Informatică economică

223

24. Reţele de calculatoare şi comunicaţii

Organizaţiile actuale – de producţie şi comerţ, administrative, de educaţie sau cu scop caritabil, manipulează informaţii care circulă

între membrii acestora, între departamente sau sedii proprii, schimbă

informaţii cu alte organizaţii. Aceste informaţii trebuie să fie transferate la modul sigur, în timp scurt şi să permită totodată

comunicare interactivă între entităţi, fie acestea oameni sau aplicaţii

pe calculator.

Comunicaţiile pot avea loc prin voce (de exemplu prin telefon),

imagine (video), pe suport hârtie (documente şi texte în diferite

formate) sau prin date reprezentate numeric pentru prelucrarea directă pe calculator. Tendinţa actuală este de integrare a acestor categorii de

comunicaţii prin digitizarea informaţiei şi transferul acesteia prin

medii diferite (cabluri de cupru, fibră optică, eter), sub formă de unde electromagnetice. Se pot transmite prin aceleaşi medii de transfer atât

date numerice cât şi sunete sau imagini realizând astfel comunicarea

totală între entităţi .

Page 224: Informatică economică

224

25. Problematica reţelelor de calculatoare

Studiile de trafic telefonic arată că 80% din comunicaţii au loc în interiorul întreprinderii şi 20% în afara sa. Pe această constatare se

bazează şi adoptarea tehnicilor implicate în comunicaţiile de date:

pentru a asigura traficul intens în interiorul întreprinderii se folosesc aşa numite reţele locale - bazate pe medii şi tehnici speciale şi cu rată

mare de transfer, iar pentru traficul spre exterior se folosesc reţele

largi - bazate pe infrastructura unor operatori (firme de telecomunicaţii), care prezintă rată mai mică de transfer dar la distanţe

mari. Aplicaţiile multimedia sau de educaţie la distanţă necesită

„bandă largă” (debit mare de date) astfel că astăzi se extind tehnologii de transfer de mare viteză – pe fibră optică sau chiar Wi-Fi.

Un calculator poate fi singular („stand-alone”) sau staţie de lucru

conectată în reţea („workstation”); diferenţele între acestea constau în piesele hardware şi software adăugate primului pentru a obţine pe al

doilea. Pentru PC-uri aceste piese sunt în general o cartelă electronică

(placă de reţea sau modem wireless) şi pachete software "client", adică programe care rulează pe maşina utilizatorului şi oferă acestuia

accesul la servicii prin comunicaţii în reţea. Între servicii se pot

enumera: oferirea spaţiului de stocare pe discuri, prelucrarea la distanţă pe maşini puternice pentru calcul intensiv, tipărire la distanţă,

acces la informaţii aflate pe maşini distante, comerţ electronic etc.

Schimburile de date şi prelucrarea pe mai multe procesoare comportă două abordări principale – privind modalitatea de interconectare a

elementelor de prelucrare:

Interconectare prin cuplaj strâns, în care procesoarele împart o magistrală sau o memorie comună, rata de transfer a datelor este mare

(cea a magistralei interne a procesorului), iar distanţele sunt foarte

Page 225: Informatică economică

225

mici (centimetri). Elementele de prelucrare se află în general în

aceeaşi carcasă.

Interconectare prin cuplaj slab, în care procesoare independente

schimbă date prin interfeţe specializate (interfeţe de comunicaţie) şi prin medii de transfer exterioare, pe distanţe la nivelul clădirilor sau la

nivel global.

În general, se înţelege prin reţea de calculatoare un ansamblu de elemente de prelucrare cuplate slab. Elementele de prelucrare pot fi

calculatoare (cu putere de calcul mai mare sau mai mică) dar şi

imprimante, arii de discuri, SAN sau NAS, instalaţii pentru comunicaţie prin cablu, fibră optică sau instalaţii pentru comunicaţii

prin satelit.

25.1. Componente ale reţelelor de calculatoare

Transferul datelor în reţele de calculatoare se face doar prin unde

electromagnetice, în spectrul invizibil (unde radio, unde infraroşu şi

microunde) sau în cel vizibil (lumină).

În structura reţelei de calculatoare intră diverse echipamente şi

suportul undelor electromagnetice (formând infrastructura de

comunicaţie) În cele ce urmează se face un inventar scurt al componentelor reţelelor de calculatoare:

Echipamente de prelucrare a datelor

Aceste echipamente găzduiesc programele de prelucrare sau efectuează servicii diverse către utilizatorul uman şi pot fi:

staţie de lucru („work station”) – calculator la care lucrează utilizatorul uman;

server – calculator care oferă diverse servicii utilizatorilor în reţea;

imprimantă de reţea – care oferă pe lângă serviciul de imprimare şi gestionarea lucrărilor de tipărire;

arie de discuri („disk array”, RAID, SAN, NAS) – ca set de discuri fixe, eventual conectate la un calculator care face gestiunea lor.

Page 226: Informatică economică

226

Modul de lucru uzual în reţele de calculatoare este bazat pe

arhitectura client-server, în care programul de lucru este împărţit în două părţi (client şi server) ce conlucrează între ele. Există însă şi

modalităţi de lucru în arhitectura gazdă-terminal („host-terminal”), în

care întreg programul se execută pe o maşina gazdă (care rulează logica aplicaţiei şi găzduieşte datele) iar operaţiile de intrare / ieşire

spre utilizatorul uman se execută de terminal.

Mediu de transfer

Undele electromagnetice transportă date între echipamentele din reţea

dar ele necesită un suport de propagare care poate fi:

cablu – pentru propagarea undei electromagnetice în spectrul invizibil (prin cupru) sau în spectrul vizibil prin (fibră optică);

eter7 – spaţiul deschis atmosferic sau cosmic (vid), asigurând

comunicaţii în spectrul invizibil (radio, infraroşu, microunde) sau în

spectrul vizibil (laser).

În oricare din situaţii, o secţiune de mediu neîntreruptă se numeşte

segment; acesta poate fi segment de cablu sau doar spaţiul dintr-o

încăpere prin care se face legătura directă între staţii interconectate prin infraroşu sau Wi-FI.

Cablurile de cupru sunt de diferite tipuri, dependent de numărul de fire

şi modul lor de plasare în cablu (de exemplu prin împletire – fire torsadate), de gradul de ecranare faţă de perturbaţii din exterior, de

tipul mantalei de izolaţie. Tipul de cablu folosit la realizarea unei

reţele se alege după cerinţele de performanţă ale reţelei în compromis cu costul cablului - cat 5, 6, 7.

Echipamente de interconectare

Pentru direcţionarea pachetelor de date pe drumul către destinaţie, pe unul din mediile de propagare din reţea, se folosesc echipamente care

au rol de dispecer – denumite echipamente de interconectare. Acestea

sunt adesea construite în jurul unui sistem de calcul dedicat, pe care nu lucrează utilizatorul uman (eventual se poate conecta

7 Noţiune apărută în secolul al XIX-lea, indicând un suport material pentru propagarea

undelor în vid, care însă nu a fost susţinut de experimente.

Page 227: Informatică economică

227

administratorul de reţea doar pentru a realiza anumite configurări).

Echipamentele de interconectare pot fi de tipurile:

repetor („hub”) – care practic prelungeşte două sau mai multe

segmente ale mediul de transfer, realizând amplificare de semnal şi intervenţii sumare în pachetele de date;

comutator („switch”) – care recepţionează, memorează şi înaintează pachetele de date spre segmente conectate direct la alte echipamente

(de prelucrare sau interconectare);

punte („bridge”) – care interconectează reţele locale de tipuri diferite, asigurând despachetarea şi reîmpachetarea datelor specific

fiecărui LAN.

dirijor („router”, numit impropriu „gateway” în jargonul Internet) – care interconectează reţeaua locală (LAN) la reţeaua largă (WAN), de

obicei printr-un operator de servicii de comunicaţii;

releu de cadre („frame relay”) – care face interconectarea la reţele

de mare viteză, cu comutare (similare celor telefonice ca mod de funcţionare), asigurând transfer de date, voce şi imagine, toate

digitizate.

Echipamentele de interconectare asigură canale de transfer a datelor între echipamentele de prelucrare şi în plus pot mixa diverse medii de

propagare (cabluri de cupru, fibră optică, eter). Astăzi, aproape toate

tipurile de echipamente de mai sus asigură şi posibilităţi de administrare a resurselor în reţea, adică: configurarea de la distanţă a

diverselor echipamente, auto-anunţarea defectului, locului şi

momentului în care a survenit, identificarea tipului de echipament şi producătorul pentru generarea automată a schemei actuale de

configurare a reţelei. Aceste mijloace şi software-ul adecvat sunt

instrumente puternice în mâna administratorului de reţea, pentru asigurarea funcţionării corecte şi neîntrerupte a reţelei.

25.2. Clasificări ale reţelelor de calculatoare

Interconectarea calculatoarelor se face prin infrastructuri diferite ca modalităţi de lucru, ca forme fizice şi ca extindere spaţială. Pentru

Page 228: Informatică economică

228

familiarizarea cu noţiunile ce privesc aceste modalităţi, se prezintă în

continuare câteva clasificări uzuale.

Clasificare după extinderea spaţială

Extinderea spaţială a reţelei este strâns legată de utilizarea sa; reţeaua

unei organizaţii sau de departament este restrânsă spaţial, dar prezintă şi caracteristici de acces şi rată de transfer diferite de reţelele publice –

care sunt extinse spaţial. O clasificare uzuală se prezintă mai jos

i) Reţele foarte restrânse „cluster” sunt interconectări prin medii de transfer cu lungimi de la centimetri la zeci de metri, în general

localizată într-o singură încăpere. Mediile şi tehnicile folosite permit

rate foarte mari de transfer iar aplicaţiile vizate sunt în general cele de prelucrare paralelă a datelor.

ii) Reţele locale LAN („Local Area Network”) sunt interconectări de calculatoare la nivelul departamentului întreprinderii (de exemplu:

serviciul Aprovizionare, serviciul Tehnic etc.). Acestea au extinderi de

până la 10 km şi prezintă rate mari de transfer, tehnici de acces specifice şi câteva tehnologii (implementări ale tehnicilor) care s-au

impus ca standarde.

iii) Reţele metropolitane MAN („Metropolitan Area Network”) se extind la nivelul unui oraş, de la 10 la 100 km. Se folosesc în comun

medii de transfer pentru diferite categorii de comunicaţii astfel ca

transferul să se facă direct de la sursă la destinaţie - prin difuzare, cu tehnici asemănătoare celor din LAN.

iv) Reţele largi WAN („Wide Area Network”) sunt reţele care

integrează tehnici de acces şi producători diferiţi (sunt reţele eterogene), cu extindere peste 100 km. WAN sunt ori reţele publice de

date asemănătoare reţelelor de distribuţie telefonice (sau poştale) ori

reţele private – de obicei ale unor firme multinaţionale. Interconectarea între reţele se face prin linii închiriate sau comutate

prin operatori de telecomunicaţii (companii de tip Telecom - de stat şi

particulare în Europa, sau companii particulare în SUA).

v) Reţele globale GAN („Global Area Network”) sunt interconectări

de reţele între continente, folosind comunicaţii prin satelit sau cabluri

transoceanice, care acoperă întreg globul pământesc cu o reţea de

Page 229: Informatică economică

229

calculatoare. Astfel de reţea este Internet (reţeaua de reţele) care, în

fapt, este o reţea de servicii şi se bazează pe infrastructura de comunicaţie a diferitelor firme.

Reţelele locale (LAN) sunt astăzi obişnuite în orice tip de organizaţie

(firmă mare sau mică, instituţie de educaţie sau administraţie), oferind un mijloc de comunicaţie rapid şi complet, pentru lucrul obişnuit sau

pentru teleconferinţe. În România au apărut companii cu caracter

privat ce asigură interconectare MAN şi WAN – prin infrastructura proprie şi cu servicii proprii, oferind comunicaţii pentru sedii diferite

ale aceleiaşi firme, legături între firme sau conectare la Internet.

Pentru integrarea comunicaţiilor prin imagine (TV), voce şi date se dezvoltă o infrastructură de comunicaţie de bandă largă

(„broadband”) care, pe lângă viteza mare de transfer, va permite funcţionarea aplicaţiilor multimedia în informare, educaţie şi comerţ.

Clasificare după topologie

Structura fizică a reţelei este importantă prin avantajele care le poate oferi privind flexibilitatea de configurare, fiabilitatea reţelei şi nu în

ultimul rând privind lungimea cablului folosit. Topologia reţelei se

referă la forma acesteia, adică la modul de amplasare spaţială a componentelor ei, aşa cum sunt ilustrate în Figura 40 şi Figura 41,

unde s-au reprezentat:

- staţie de lucru, - server, - repetor, - dirijor

Topologii ale reţelelor de calculatoare cu structura de principiu, avantaje şi dezavantaje, precum şi cu utilizările lor, sunt descrise mai

jos:

Topologia stea (v. Figura 40 a) – prezintă un nod central (de obicei un echipament de interconectare de tip repetor sau comutator) iar

echipamentele de prelucrare au fiecare o linie de conectare dedicată către nodul central. Avantajele majore sunt flexibilitatea (se poate

configura uşor) şi fiabilitatea (se poate depista rapid un defect de

cablu sau staţie şi se poate izola automat prin echipamentul central);

Page 230: Informatică economică

230

dezavantajul major este lungimea mare de cablu necesară pentru

realizarea interconectării staţiilor. Este cea mai utilizată topologie în reţelele locale actuale de tip Ethernet.

Topologia inel (v. Figura 40 b) – toate echipamentele sunt conectate două câte două formând un inel. Pachetele de date parcurg întreg

inelul pentru a ajunge de la o staţie sursă la una destinaţie. Avantajele

majore sunt extensibilitatea reţelei (inelul se poate mări fără a consuma cablu mult) şi disciplina de acces impusă prin chiar poziţia

staţiilor în reţea, fiind o topologie utilizată la reţele cu pasare de jeton.

Este o topologie utilizată în reţele locale, difuzarea asigurându-se prin faptul că datele emise de o staţie parcurg întreg inelul spre a reveni la

staţia sursă, trecând astfel pe la staţia destinaţie dar pachetele fiind

„ascultate” de toate staţiile de pe parcurs.

Topologia inel în formă de stea – în care există un echipament

central de la care pleacă un cablu cu fire dus-întors către staţii; combină avantajele celor două topologii.

Topologia magistrală – în care staţiile sunt conectate la o linie comună pe care o împart la momentul emisiei. În Figura 41 a) se

prezintă o magistrală aşa cum este ea utilizată mai des astăzi, anume

pentru „coloana vertebrală” („backbone”) a unei reţele mari (de exemplu reţea metropolitană MAN). Se observă că la magistrală sunt

conectate dirijoare, care apoi transmit datele la reţele locale. Se

asigură astfel o cale simplă şi relativ ieftină (pentru distanţe mari) în care datele sunt transferate cu viteză mare, iar traficul pe magistrală nu

este încărcat decât cu date schimbate între reţelele locale (traficul din

interiorul lor fiind „ascuns” prin dirijorul propriu R). Avantajul major îl constituie lungimea de cablu – minimă între toate tipologiile, dar şi

posibilitatea de emisie a unui pachet care poate fi „auzit” de toţi

abonaţii magistralei; dezavantajul major îl constituie fiabilitatea slabă – un defect nu se poate localiza uşor, el blocând toată magistrala în

orice punct ar surveni (pe cablu, în conectori, etc.).

Topologia plasă – în care staţiile au legături multiple între ele (două câte două). Este o topologie utilizată în reţele largi, în Figura 41 b)

fiind ilustrată o reţea largă cu interconectare plasă a mai multor

Page 231: Informatică economică

231

dirijoare, fiecare fiind o „poartă” către o reţea locală. În această

topologie importantă este redundanţa căilor pentru date între staţii (adică existenţa mai multor trasee pentru transferul de date); prin

redundanţă, se poate menţine funcţionarea reţelei largi chiar la apariţia

defectelor pe o linie sau la un dirijor, pentru că se pot folosi trasee ocolitoare – stabilite pe loc de către celelalte dirijoare în momentul

când cel implicat în defect nu mai răspunde.

Figura 40. Topologia stea a) şi topologia inel b)

Figura 41. Topologia magistrală a) şi topologia plasă b)

Reţelele de calculatoare reale mixează mai multe tipuri de topologii. O

topologie este aleasă corespunzător dacă se ține seama de tehnicile de acces utilizate, scopul reţelei şi avantajele economice pe care aceasta

le aduce.

a

) b

)

a

)

R R

R

b)

Page 232: Informatică economică

232

25.3. Comunicaţii prin reţele de calculatoare

Transferul de date în reţele de calculatoare presupune suportul fizic

(echipamente şi medii de comunicaţie), dar şi programe prin care se asigură controlul comunicaţiei şi găsirea destinaţiilor şi prezentarea

comodă a informaţiilor la utilizatori.

Făcând o comparaţie cu serviciile poştale se poate considera că, lângă clădirile şi mijloacele de transport ale poştei, sunt necesare persoane

care să realizeze înscrierea expeditorului şi destinaţiei pe plicuri,

cartarea şi distribuirea plicurilor pe destinaţii, efectuarea de servicii speciale la cerere (transport rapid sau peste rând, confirmare de

primire), gestiunea codurilor poştale, apoi controlul şi rezolvarea

plicurilor rătăcite, etc. Aceste operaţiuni se realizează în serviciile poştale de către personalul uman, dar pentru calculatoare asemenea

acţiuni se efectuează de către software.

Stratificarea în modelul de referinţă ISO/OSI

Aşa cum personalul uman din serviciile poştale este specializat pe

anumite activităţi, fiecare având un rol bine definit şi interacţiuni de

conlucrare (pe orizontală) cu colegii şi interacţiuni ierarhice (pe verticală) sau cu şefii sau departamente de nivel superior, tot astfel

piesele software implicate în comunicaţia de date sunt stratificate şi

conlucrează între ele în cadrul unui strat şi comunică cu straturile superioare şi inferioare.

Modelul de Referinţă ISO/OSI prezintă conceptele de stratificare a

prelucrărilor necesare în comunicaţia de date şi se bazează pe noţiunile de mesaj – ca informaţie ce are o semnificaţie de sine

stătătoare (de exemplu fişier de date, mesaj de poştă electronică, etc.)

şi pachet – ca structură de date utile (fragment de mesaj – fără semnificaţie) cu date de control al transportului de date. În modelul de

referinţă se consideră şapte niveluri (straturi), fiecare cu rol în

comunicaţia de date după cum urmează:

1. Nivel Fizic – cuprinde piesele fizice (hardware) prin care se

transformă succesiunea de biţi din pachetele de date în semnal

electromagnetic, care circulă apoi prin mediul de comunicaţie între echipamente de interconectare şi de prelucrare.

Page 233: Informatică economică

233

2. Nivelul Legătură de Date – cuprinde piese software care asigură

informaţia de control al erorilor şi debitului de date, precum şi adresa de direcţionare a pachetelor de date spre vecinul cel mai apropiat (pe

traseul către destinaţia mesajului), realizând şi controlul comunicaţiei

(verificarea erorilor şi controlul de flux); funcţionează în echipamente de interconectare şi de prelucrare.

3. Nivelul Reţea – cuprinde piese software care asigură informaţia de

control a transferului de date între capete, precum şi adresa de direcţionare a pachetelor de date spre destinaţia finală pe traseul

optim (în orice condiţii şi oricât de îndepărtată ar fi ea); funcţionează

în echipamente de interconectare şi de prelucrare.

4. Nivelul Transport – cuprinde piese software care asigură

fragmentarea mesajului (la sursă) şi defragmentarea sa (la destinaţie) în pachete, precum şi indicarea tipului de serviciu (calitatea

serviciului, transport peste rând, etc.); funcţionează în echipamente de

prelucrare (sursă şi destinaţie).

5. Nivelul Sesiune – cuprinde piese software care asigură desfăşurarea

„discuţiei” bidirecţionale între cele două capete, cu rezolvarea

incidentelor care pot apare pe durata sesiunii de lucru (cum sunt întreruperea comunicaţiei la defecte sau la iniţiativa unuia din

parteneri); funcţionează în echipamente de prelucrare (sursă şi

destinaţie).

6. Nivelul Prezentare – cuprinde piese software care asigură

compatibilizarea reprezentării datelor între cele două maşini sursă -

destinaţie (înţelegând aici şi partea hardware – tipul calculatorului, dar şi partea software – tipul sistemului de operare) În plus, acest nivel

este responsabil de asigurarea confidenţialităţii transferului de date

(criptarea şi decriptarea datelor), de autentificarea emiţătorului şi receptorului de mesaj (adică de certificare a identităţii lor), precum şi

de integritatea mesajelor (adică de anunţarea pierderilor sau

modificărilor de mesaj). Funcţionează în echipamente de prelucrare (sursă şi destinaţie).

7. Nivelul Aplicaţie – care asigură piese software de prezentare şi

interacţiune standard cu utilizatorul uman pentru o utilitate anume. De

Page 234: Informatică economică

234

exemplu, toate aplicaţiile de poştă electronică prezintă câmpuri

similare pentru adresa destinatarului, subiect, mesaj, ataşamente. Utilizatorul operează similar la aplicaţii de comunicaţie similare, iar

programele au protocoale de comunicaţie identice – indiferent de

producător.

Figura 42. Comunicaţia între niveluri şi pe fiecare nivel la transferul de

fişiere (FTP)

În modelul stratificat, nivelurile comunică între ele direct, solicitând şi

oferind servicii, iar un serviciu este realizat prin cooperarea dintre piesele software de pe acelaşi nivel (omoloage) care „se înţeleg” prin

intermediul unui set de coduri şi convenţii standard de interpretare a

acestora – numit protocol.

Efectiv, comunicarea între straturi are loc ierarhic (v. Figura 42): un

nivel cere un serviciu nivelului imediat inferior. De exemplu, serverul

FTP cere transport cu confirmare de primire care se rezolvă în stratul 4 prin protocolul TCP). Stratul 4 adaugă datelor utile informaţii

specifice, rezolvă problemele sale şi cere un serviciu în consecinţă

nivelului inferior, 3 (de exemplu indicarea traseului minim către destinaţie, rezolvată prin protocol IP); nivelul 3 cere nivelului 2 să

facă transportul pachetelor de date către vecinul cel mai apropiat spre

destinaţie (asigurat în LAN prin protocolul Ethernet). În final, nivelul fizic, execută efectiv transferul de date prin unde electromagnetice. De

fapt, fiecare protocol în cadrul unui strat este o „discuţie” între piese

software aflate pe cele două maşini, care are loc prin intermediul

2

3

4

2

3 4 Nivel

Nivel

Nivel

Nivel 1

TCP

IP Ethernet

FTP

client

Server

FTP

Page 235: Informatică economică

235

informaţiilor de control adăugate de fiecare nivel la informaţiile utile –

preluate de la nivelul superior. La maşina distantă (care a solicitat transferul de fişiere – clientul FTP) se preiau de către fiecare nivel

informaţiile de control provenite de la nivelul omolog şi care indică ce

anume trebuie făcut cu informaţiile utile, după care acestea sunt transmise nivelului superior. În final informaţiile utile ajung ca mesaj

(în cazul nostru fişier) la utilizatorul uman.

Aşa cum o scrisoare se pune într-un plic pe care se înscrie adresa şi indicaţia „Par Avion”, apoi se încarcă într-un container special pe care

este aplicată eticheta cu numărul de zbor cu care va pleca, urmând ca

la destinaţie să se extragă plicul din container şi în final scrisoarea din plic. Tot astfel, fiecare nivel împachetează datele (utile) primite de la

nivelul superior, adaugă informaţii suplimentare specifice şi îl predă nivelului inferior. Informaţiile suplimentare sunt destinate stratului

omolog (adică de pe acelaşi nivel) ale transportorilor de pe traseul

până la destinaţie, care „se înţeleg” între ei deoarece respectă acelaşi protocol.

Resurse accesibile în reţea

Toate mijloacele fizice (hardware) şi logice (software) folosite în comun de mai mulţi utilizatori constituie resurse ale reţelei. Tipuri de

resurse uzuale sunt:

fişiere şi directoare pe discuri (fixe, optice, etc.), montate la server, la staţiile de lucru, sau în arii de discuri conectate direct la reţea şi

accesibile prin intermediul unui sistem de fişiere (cum sunt NTFS –

MS Windows, NFS – SUN, Linux / UNIX);

imprimante folosite în comun de utilizatori, eventual imprimante de

reţea – care sunt conectate direct la reţea şi nu prin intermediul unui calculator;

programe server: server de fişiere (de acces la fişiere folosite în comun), server de poştă electronică (de acces emisie/recepţie mesaje

text), server web (de găzduire pagini web), server FTP (de transfer

fişiere);

Page 236: Informatică economică

236

diverse periferice speciale: mese de desen, interfeţe de comunicaţie, echipamente multimedia, interfeţe de proces.

Fiind folosite în comun, resursele trebuie gestionate adică alocate pe

rând fiecărui utilizator care solicită accesul la resursă; de obicei, sarcina de gestionare a unei resurse revine unui program server (care

lucrează permanent – este „rezident” în memoria de lucru) pe

calculatorul sau la dispozitivul unde se află resursa (de exemplu, imprimanta de reţea are programul server instalat în memoria sa).

Resursele trebuie apoi administrate adică întreţinute periodic

(verificate şi eliminate erorile minore sau informaţiile inutile), dezvoltate (perfecţionate sau completate cu noi facilităţi), asigurate

(protejate împotriva defectelor şi accesului neautorizat).

O resursă care se doreşte folosită în comun – partajată („shared”) în reţea, se declară ca atare şi se indică pentru fiecare utilizator modul de

acces la resursă.

Utilizatori şi drepturi de acces la resurse

Lucrul în reţea a mai multor utilizatori presupune comunicaţie între

aceştia, folosirea în comun a unor resurse dar şi posibilitatea de a se

perturba reciproc – prin ştergerea voită sau accidentală a unor fişiere, prin acces neautorizat la anumite informaţii etc. Pentru evitarea

acestor neajunsuri, utilizatorii se conectează („logon”, „login”) la

sistemul de calcul în reţea, indicând următoarele informaţii proprii de anunţare şi certificare a identităţii:

nume de utilizator („user name”) – ce identifică persoana în lista de utilizatori admişi la sistem şi permite acces acesteia la contul personal

(de obicei numele este prenumele persoanei sau o prescurtare a

numelui);

parola („password”) – care certifică identitatea utilizatorului, este

secretă şi cuprinde o combinaţie de caractere (litere mari/mici, cifre) greu de ghicit (recomandat a fi schimbată din când în când);

grupul de utilizatori („user group” / „domain”) – autorizează

accesul utilizatorului la un lot de resurse (fizice – ca maşini în reţea, sau logice – ca fişiere şi directoare).

Page 237: Informatică economică

237

Conform grupului din care face parte, utilizatorul are un set de

drepturi de acces la resursele disponibile în reţea – numite şi drepturi de încredere („trustee rights”) sau permisiuni („permissions”). Aceste

drepturi indică pentru fiecare resursă sau lot de resurse operaţiile

permise utilizatorului, de exemplu pentru fişiere: „numai citire”, „citire şi scriere”, „modificare drepturi de acces”. Un utilizator poate

indica, drepturi pe care la acordă altor utilizatori la resursele proprii -

de obicei diferenţiat după grupul din care fac parte („din grupul propriu” şi „alţii”).

Există următoarele tipuri generice de utilizatori (clasificare după

drepturile de încredere şi după atribuţiile în funcţionarea reţelei):

utilizator obişnuit („user”) – persoană înscrisă în registrele

sistemului, care utilizează doar resursele permise, în perioadele de timp permise şi la nivelul permis (privind volumul de date transferat,

spaţiul de stocare alocat etc.);

manager de grup („group manager”) – persoană desemnată din cadrul grupului, care face operaţiuni de gestionare a resurselor proprii,

ale grupului şi ajută pe ceilalţi utilizatori la rezolvarea unor incidente simple;

administrator de reţea („superuser”, „network administrator”) – persoană care are ca atribuţii de lucru gestionarea tuturor resurselor

reţelei şi menţinerea acestora în bună funcţionare.

Între aceşti utilizatori doar administratorul de reţea este obligatoriu cu calificare în domeniul informaticii, el fiind răspunzător de bunul mers

al reţelei (starea de funcţionare, tipul şi disponibilitatea resurselor,

dezvoltarea reţelei) dar şi de administrarea eficientă a resurselor şi echipamentelor de interconectare în reţea. Pentru aceasta, el deţine

drepturi de acces complete la toate resursele, fiind totodată primul

răspunzător de integritatea şi confidenţialitatea lor.

Unele resurse au ataşate atribute ce indică modul de acces şi starea

lor, pentru a le proteja de manevre greşite ce pot veni din partea

oricărui tip de utilizator (simplu sau administrator) ori pentru a efectua salvarea de siguranţă („backup”) a acestora pe suport extern (benzi

magnetice, CD, DVD etc.).

Page 238: Informatică economică

238

Tipuri de servicii în reţele locale şi largi

De obicei, accesul la o resursă partajată poartă numele de serviciu în reţea (acordat unui utilizator). De obicei, serviciile în reţea sunt

realizate prin arhitectura client-server (două piese software legate: una

pe staţia de lucru alta pe server). După locul unde se află resursa şi după modul de „proprietate” asupra ei, serviciul (accesul la resursă)

pot fi:

orientat server – în care resursa este „publică”, se află pe o maşină dedicată care gestionează resursa şi care o alocă pe rând utilizatorilor;

de-la-egal-la-egal („peer-to-peer”) – în care resursa este „proprietatea” unui utilizator, se află pe staţia sa de lucru şi este

oferită de acesta spre a fi partajată („shared”) cu alţi utilizatori prin reţea.

Serviciile sunt oferite (şi gestionate) de programe care fac parte direct

din sistemul de operare sau sunt programe separate – ce sunt lansate şi rămân rezidente în memoria de lucru, aşteptând cereri de la utilizatori

şi oferind date şi/sau prelucrări specifice.

În reţele locale (LAN) sistemul de operare oferă mai ales servicii de acces la fişiere şi la periferice; serviciile sunt orientate server sau, cel

mai adesea, sunt de la egal la egal, caz în care resursele puse în comun

de către utilizatori sunt montate pe staţiile de lucru proprii.

În reţele largi (WAN), programele server se instalează peste sistemul

de operare– fiecare pentru un serviciu anume, acesta fiind accesat de

la distanţă prin intermediul unei adrese unice în toată reţeaua largă (spre exemplu în Internet adresa IP şi numărul de port). Serviciile

uzuale în reţele largi vizează schimbul de informaţii, mai rar fiind

întâlnite servicii de partajare a resurselor sau lucru la distanţă. Aceste servicii sunt realizate în arhitectură client-server, cu programul server

aflat la o locaţie („site”) cu adresa unică în reţeaua largă.

Exemple de servicii în reţeaua Internet sunt: căutare şi afişare de informaţii sub formă de documente (pagini web sau documente scrise

în format electronic), tranzacţii comerciale sau financiare prin

Page 239: Informatică economică

239

Internet, vot prin Internet, discuţii în grupuri cu moderator, rețele de

socializare etc.

Un serviciu special (care se oferă implicit sau explicit) este „serviciul

de nume”, prin care se caută şi găseşte un nume de persoană sau

locaţie. Serviciul implicit (DNS) este utilizat pentru convertirea adreselor Internet sub formă de nume în adrese sub formă de numere

(folosite apoi efectiv la căutarea locaţiilor în Internet) şi reciproc.

Oferta de servicii în reţele largi (în special în Internet) creşte şi se diversifică continuu, în principal prin posibilităţile de interacţiune pe

care le prezintă limbajul XML ca standard de comunicare prin mesaje.

Serviciile Web sunt aplicaţii modulare, auto-descriptibile şi auto-conţinute, reprezentând viitorul în schimbul de informaţii bazat pe

standarde deschise lucrând pe orice platformă, orice model de obiecte şi orice limbaj de programare.

Page 240: Informatică economică

240

26. Internet şi Intranet

La începuturile sale, Internet-ul a fost o reţea experimentală finanţată de Departamentul Apărării a SUA şi dezvoltată de câteva universităţi

americane, în scopul realizării unei comunicaţii de date fiabile şi care

să funcţioneze, chiar dacă este distrusă parţial. Ideea de bază era aceea de a înlocui comunicaţia „tradiţională” – prin „centrale” (telefonice) şi

linii către fiecare abonat (în stea), cu o reţea de dispozitive de tip

dispecer (dirijoare – „routers”) plasate într-o reţea de tip plasă. În prima abordare, dacă se distruge centrala se blochează orice

comunicaţie, pe când în a doua abordare, dacă se distruge o parte din

reţea, restul poate funcţiona şi chiar în zona atacată datele pot sosi pe alte căi disponibile încă în reţea prin redundanţa lor (v. Figura 41 b).

Prin faptul că această reţea a fost gratuită la începuturi şi prin

posibilităţile de comunicaţie oferite (schimb de mesaje, fişiere, aplicaţii la distanţă), ea s-a extins repede.

Astăzi, reţeaua globală Internet vine cu o deschidere nemaiîntâlnită

spre comunicare, fiind mediul de convergenţă a informaţiilor din aproape toate mediile de activitate şi către orice utilităţi umane.

Internet-ul a valorizat comunicarea totală, fiindcă a permis, prin

caracterul său deschis şi non-profit, ca oricine doreşte să ofere şi să consume informaţii, să aibă această posibilitate. Internet-ul a devenit o

„piaţă” în care fiecare poate, de bună voie, să etaleze şi, respectiv, să

găsească produse de tip „informaţie”. Pe această piaţă virtuală se pot astăzi vinde şi cumpăra produse reale, fiindcă orice tranzacţie este

întâi de toate un schimb de informaţii, iar acest schimb se poate face

între persoane aflate în orice colţ al lumii. Evident, ca şi o piaţă reală, Internet-ul este nestructurat şi uneori acoperit de „zgomot”. De aceea

există şi grupuri de interes (ca nişte magazine specializate sau ca nişte

cluburi), cu deschidere mai mult sau mai puţin liberă publicului, prin

Page 241: Informatică economică

241

care se poate focaliza interesul şi registrul de căutare după

preocupările membrilor grupului.

26.1. Evoluţia Internet-ului

Conceptualizarea reţelei de calculatoare în care datele se transmit sub

formă de datagrame sau pachete, care pot fi comutate, înlocuind comutarea de circuite se realizează în 1960, iar prima reţea de

calculatoare de arie mare (WAN - wide area network) se realizează în

1965. În anul 1968 a fost iniţiat în S.U.A. un proiect de interconectare a calculatoarelor pe spaţii geografice extinse, coordonat de agenţia

ARPA (Advanced Research Project Agency – înființată în 1958),

concretizat prin crearea rețelei ARPAnet in 1969, care interconecta între ele mai multe universitati (practic o reţea de calculatoare în

beneficiul guvernului S.U.A.) şi MILNET (reţea de calculatoare în

domeniul militar). Prin standardizarea în 1974 a protocoalelor TCP/IP s-au pus bazele reţelei DARPA iar apoi a Internet-ului („reţeaua de

reţele”) care, după 1992, a început să înglobeze alte reţele (create

începând cu 1980 independent de mai multe universităţi). Astfel, în 1989 se inventează WWW (World Wide Web) iar începând cu 1996,

Internet-ul a devenit din mediu academic unul comercial, acoperind

astăzi practic toate ţările lumii şi interconectând milioane de calculatoare aflate în instituţii şi locuinţe personale.

Structura Internet-ului

Reţeaua Internet are o structură ierarhică, dezvoltată în jurul unui „miez” („Internet core”) drept coloană vertebrală („backbone” – v.

Figura 41 a) a întregii reţele dar cu magistrala circulară. Structura

ierarhică cuprinde Sisteme Autonome (v. Figura 43) legate la coloana vertebrală, în care există Zone şi în ele reţele de calculatoare. Zonele

sunt interconectate prin intermediul Sistemelor Intermediare (IS -

dirijor) iar staţiile de lucru sau servere se numesc Sisteme Finale (ES - staţii).

Modul de funcţionare a dirijoarelor diferă funcţie de locul acestora –

în interiorul sistemelor autonome sau între/şi la graniţa acestora. Un Sistem Autonom este o colecţie de reţele sub administrație comună,

Page 242: Informatică economică

242

fiecare având o coloană vertebrală denumită „Zona 0”. Această

structură ierarhică este adoptată şi de ISO (International Standards Organization) a cărei terminologie a fost de fapt folosită mai sus.

În Internet se folosesc denumiri de domenii care desemnează zone

geografice (ţări) sau sectoare de ocupaţie, având fiecare la rândul lor o structură ierarhică în care numele desemnează organizaţia (ca

instituţie comercială, de administraţie, de educaţie etc.).

Figura 43. Structura ierarhică a Internet-ului

Exemple de numele de domenii sunt:

tipuri de organizaţii: com sau co – comerciale, edu sau ac –

educaţie, org – organizaţii non-profit, net – reţea sau furnizori de servicii în reţea, gov – guvern, biz – afaceri, coop – cooperaţii, name –

indivizi;

zone geografice: fr – Franţa, ro – Romania, uk – Anglia, nl – Olanda.

Administrarea globală a adreselor de identificare a domeniilor se face de către forul denumit NIC (Network Information Center), iar

conducerea (tehnică) a Internet este efectuată de forul IETF (Internet

Executive Task Force).

Internet şi WWW

Page 243: Informatică economică

243

În 1989 Tim Berners Lee de la Laboratorul European de Fizica

Particulelor din Geneva (CERN), a propus un sistem de informare bazat pe hipertext pentru echipele de cercetători, acestea fiind situate

în zone geografice diferite, folosind calculatoare diferite şi documente

realizate în tehnologii diferite. Scopul sistemului era de a oferi o interfaţă standard pentru operare şi prezentarea documentelor, precum

şi posibilitatea de integra diferite tipuri de servicii (existente la acel

moment în Internet). Sistemul a fost denumit „World Wide Web” (reţea largă cât lumea), prescurtat www sau web. Această soluţie de

prezentare standard şi de integrare a serviciilor a revoluţionat Internet-

ul, astfel că astăzi – când se discută de Internet se subînţelege în cele mai multe cazuri www.

Hipertextul („hypertext”) este un text electronic „în trei dimensiuni”: pe lângă organizarea pe linii care se succed în pagină, există legături

(„hyperlinks”, „links”) cu alte pagini aflate pe maşina curentă sau pe o

maşină distantă. Legăturile sunt de fapt trimiteri (ce se regăsesc şi în cărţile tipărite) care însă în pagina electronică permit „saltul” la

informaţia indicată şi vizualizarea documentului pe loc. Limbajul de

descriere a paginii web se numeşte HTML (Hyer Text Markup Language) şi are caracteristic faptul că separă conţinutul documentului

(text şi imagini) de informaţia de formatare.

Paginile web reprezintă documente de informare către utilizator, cu facilităţi de acces interactiv în preluarea de date de la utilizator. Pagina

web şi mijloacele de interacţiune sunt găzduite de o maşină într-o

locaţie anume („site”) pe glob. Publicarea paginii web se face prin intermediul unui program server web, iar utilizatorul poate accesa şi

vizualiza pagina de la calculatorul propriu – prin intermediul unui

program client web denumit navigator („browser”).

Utilizarea web-ului constă în „navigarea” prin intermediul adreselor

web şi a legăturilor din hipertextul aflat în paginile web, pentru

vizualizarea şi, eventual, furnizarea informaţiilor de interes. Serviciile oferite de web sunt foarte diverse, însă interfaţa generală de lucru şi

modul de navigare este standard.

Adrese Internet

Page 244: Informatică economică

244

Pentru a fi accesată, o maşină conectată la reţeaua de calculatoare

trebuie să aibă alocată o adresă unică în reţea, astfel ca la emisia datelor să indice destinaţia fără echivoc iar la recepţie datele să fie

îndrumate către ea prin sistemele intermediare. În Internet, adresele

sunt specificate prin numere – „patru numere cu punct” în IPv4 (sau cu 16 numere pentru IPv6), de exemplu 192.168.11.33. Este dificil

pentru om să reţină aceste numere; în locul lor se folosesc cuvinte,

care au semnificaţie pentru om şi sunt deci uşor de memorat şi utilizat.

Exprimarea locului şi obiectului ce se doreşte accesat în Internet se

face prin URL („uniform resource locator”) care este o înşiruire de

cuvinte separate cu puncte, fiecare cuvânt exprimând numele de domeniu, organizaţie, maşină şi obiect – în ordinea invers ierarhică a

acestora. Structura generică a URL – denumit pe comun „adresă Internet” este:

<protocol>://<maşină.organizaţie.domeniu>:<port>/<obiect>

unde <protocol> indică tipul aplicaţiei de acces la date ( şi convenţia sa de lucru) iar <port> adresa pe maşina locală a programului (folosită

în unele cazuri). Un exemplu de adresă Internet este următoarea:

prin care se accesează pagina de prezentare a universităţii „Danubius”

din Galaţi. Pe acest exemplu se indică rolul fiecărui cuvânt din structura unui URL.

Fiindcă WWW integrează diverse tipuri de aplicaţii, fiecare din

acestea poate fi accesată indicând protocolul specific ei; de exemplu, aplicaţia de transfer fişiere pe un site foarte cunoscut este

ftp://ftp.funet.fi. – în care s-a indicat protocolul şi serverul FTP de la

„reţeaua academică finlandeză”.

În cazul în care adresa Internet se referă la o căsuţă poştală („e-mail

box”), adresa va conţine un indicativ (nume) al persoanei sau

http://www.univ-danubius.ro/index.php

protocol

server

domeniul

organizaţiei domeniul

geografic

obiect

[email protected]

idicativ

persoană

„at”

domeniul

organizaţiei domeniul

geografic

Page 245: Informatică economică

245

departamentului, proprietare a căsuţei poştale:

Simbolul @ se pronunţă „at” (în engleză) indicând locaţia unde se află contul de poştă electronică a persoanei; deseori acest simbol este

indicat prin expresia „a rond” când se citează adresa de poştă

electronică.

26.2. Aplicaţii uzuale în Internet

Deseori în activitatea umană apar situaţii care solicită comunicaţii la

distanţă; în asemenea cazuri, se pot folosi aplicaţii în Internet, care permit:

a. navigare şi vizualizare informaţii pe pagini web (hipertext);

b. căutare după cuvinte cheie a documentelor sau locaţiilor cu anumite informaţii de interes (folosind „maşini de căutare”);

c. căutarea de persoane sau instituţii după nume sau după organizaţia

din care fac parte;

d. operaţiuni efectuate de la distanţă – pentru comerţ, tranzacţii

financiare, dezvoltare/ up-grade de aplicaţii;

e. transfer de fişiere la distanţă de la un server de fişiere („down-load”) sau către acesta („up-load”) pentru utilizatori înregistraţi sau ca

vizitator („guest”, „anonymous”);

f. lucru la distanţă prin care se pot da comenzi şi datele de prelucrare de pe maşina proprie către o maşină distantă (de obicei mai puternică)

– ca şi cum utilizatorul s-ar afla la consola acesteia din urmă, folosind

comenzi ale sistemului ei de operare;

g. mesagerie electronică („e-mail”) prin care se transmit mesaje text

însoţite de imagini şi fişiere de date – direct în mesaj (MHS sau X-

400) ori ataşate (poşta electronică SMTP);

h. grupuri de discuţii pe teme de interes comun mai multor persoane,

în care este permis accesul la informaţii specializate sau cu circulaţie

restrânsă şi au loc dezbateri la distanţă, între persoane ce s-au înregistrat fiecare ca membru al grupului.

Page 246: Informatică economică

246

Diverse alte servicii, cum sunt educaţie de la distanţă („e-learning”),

teleconferinţe (video sau doar prin voce şi date), informaţii şi acţiuni administrative sau vot la distanţă („e-government”), acţiuni de

informare şi ajutor în sănătate („e-health”), se bazează pe combinaţii

ale serviciilor de mai sus şi în special pe navigare („browsing”). De obicei, serviciile sunt oferite de un program server aflat într-o locaţie

cunoscută („site”), în conexiune cu alte locaţii.

Aplicaţii uzuale care oferă serviciile enumerate mai sus:

a) Server şi navigator Web – client şi server pentru găzduirea,

respectiv afişarea paginilor web, în principal prin interpretarea

limbajului HTML pentru descrierea documentelor. Alte limbaje utilizate pentru descrierea documentelor la partea client sunt

JavaScript şi XML, iar pentru implementarea operaţiunilor desfăşurate la server pentru client (în scopul animaţiei şi interactivităţii) sunt PHP,

Perl. Exemple de produse uzuale pentru partea client sunt MS Internet

Explorer, Mozilla, Opera, Safari, Chrome, iar pentru partea server sunt MS Internet Information Server (IIS), Apache, HomePage etc.

b) Maşini de căutare – program server care permite introducerea unei

expresii ce conţine cuvinte cheie de interes (folosind operatori de tipul +, - sau AND, OR pentru restrângerea căutării). Maşinile de căutare

prezintă baze de date şi legături către locaţiile unde se pot găsi

informaţiile căutate şi sunt rezidente pe un site cunoscut – cum sunt Google, Yahoo, Baidu, Bing, Ask etc.

c) Căutarea de persoane prin serviciile de nume sau prin server şi

client ICQ (ca pronunţie a expresiei în engleză „I seek you” – te caut). Utilizatorul care doreşte să caute sau să fie căutat prin Internet (în

scopul unei discuţii pe loc – ca şi cea telefonică, dar în scris) se înscrie

ca abonat la un server ICQ. Clientul ICQ anunţă serverul atunci când utilizatorul s-a conectat la sistem (la calculatorul personal conectat la

Internet) iar serverul anunţă persoanele care doresc să comunice cu

acesta; din acest moment, poate începe discuţia între doi abonaţi prin intermediul clienţilor ICQ.

d) Programe CGI rezidente pe maşinile server web, care sunt lansate

prin intermediul navigatorului de către utilizatorul uman şi execută

Page 247: Informatică economică

247

operaţiuni specifice paginii (preluarea şi încărcarea cu date prin

formulare completate de utilizator, preluarea tipului şi cantităţii unui produs cumpărat prin Internet etc.). Programele sunt foarte diverse,

dedicate unei funcţii anume şi realizate în diverse limbaje de

programare (de obicei script).

e) Server şi client FTP – care găzduiesc şi respectiv permit accesul la

fişiere cu conţinut divers (documente, programe, arhive). Serverele şi

navigatoarele web furnizează servicii FTP, dar există şi produse dedicate (CuteFTP) sau servere FTP în sistemele de operare (de tip

UNIX, Windows).

f) Telnet – aplicaţie uzuală de lucru la distanţă în care partea server este oferită de sistemul de operare iar partea client este un emulator de

„terminal virtual” standard, a căror funcţii privesc introducerea şi afişarea datelor (de la tastatură şi respectiv pe ecran) – ca şi cum

maşina utilizatorului ar fi terminal la sistemul distant. Server-ul şi

clientul telnet fac parte din sistemul de operare în reţea (de tip UNIX, Windows) – instalate pe maşina locală şi distantă.

g) Server şi client de poştă electronică – în care serverul are rolul de a

găzdui căsuţele poştale ale utilizatorilor la sistemul respectiv, de a primi şi a distribui mesajele către căsuţele poştale ale utilizatorilor, de

a lua legătura şi a transmite mesajele de la utilizatori la destinaţiile

indicate (prin adrese de poştă electronică); partea client este un program care face parte din navigatorul web sau poate fi un produs

dedicat (cum este Eudora, Pegasus Mail), care oferă o interfaţă cu

câmpuri standard pentru a indica destinaţia, subiectul, conţinutul mesajului şi fişierele ataşate acestuia. Server-ul de poştă electronică

face parte din sistemul de operare în reţea pentru sisteme UNIX, sau

din IIS la sisteme Windows. Toate aceste implementări privesc poşta electronică de tip SMTP. Pentru poşta tip MHS există produse

dedicate, în general scumpe.

h) Chat şi Forum sunt numele generice ale aplicaţiilor care permit discuţii de grup în Internet. Chat (IRC – Internet Relay Chat) este

utilizat pentru discuţia sincronă – toţi cei implicaţi în discuţie sunt

prezenţi simultan, iar Forum permite discuţia asincronă, cei implicaţi pot să citească mesajele şi să răspundă mai târziu, în momentul când

Page 248: Informatică economică

248

s-au conectat la sistem sau au găsit timp pentru aceasta. În Chat, există

un server care găzduieşte mai multe grupuri simultane (camere, „rooms”), discuţiile fiind supravegheate de un moderator prezent la

server. Clientul Chat este ori un produs ca MS NetMeeting sau MS

mIRC ori este oferit de site-ul ce găzduieşte serverul. O variantă de discuţie pe Internet este oferită de unele site-uri de poştă electronică

gratuită prin clienţi de tip „Mesenger” pentru discuţie între doi abonaţi

la site care se află conectaţi simultan în reţea.

Există multe alte aplicaţii care se bazează pe comunicaţii la mare

distanţă (de exemplu iChat, Viber, Hangouts, Google Apps etc.);

unele din acestea au ca scop prelucrarea distribuită în reţele largi, bazându-se, de exemplu, pe standardul CORBA (Common Object

Request Broker Architecture) sau pe standardul DCE (Distributed Computing Environment), prin care se integrează aplicaţii diverse, pe

maşini diferite şi de generaţii diferite, folosind interfeţe software

standard ce permit lansarea şi operarea cu aceste aplicaţii de pe maşini distante.

26.3. Conectarea la Internet

Un calculator poate folosi servicii în Internet dacă este „conectat la

Internet”, adică este inclus în reţeaua largă prin infrastructura de comunicaţie şi apoi are alocată o adresă Internet (adresă IP) pentru a fi

accesat în reţea prin intermediul unui Furnizor de Servicii Internet

(ISP – „Internet service provider”). Conectarea unui calculator la reţeaua largă şi la furnizorul de servicii se poate face în diverse

moduri, după cum se prezintă în continuare.

Conectare prin modem la linia telefonică

La transportul pe linii telefonice a semnalelor digitale (impulsuri)

acestea sunt deformate şi comunicaţia nu poate avea loc; de aceea,

semnalul digital se „încarcă” peste un semnal analogic prin modulare (la emisie) şi se „descarcă” prin demodulare la recepţie. Dispozitivul

care face modularea şi demodularea se numeşte modem de linie

telefonică. Constructiv, modemul poate fi modem intern – ca placă ce se montează pe magistrala sistemului de calcul (ISA sau PCI), sau

Page 249: Informatică economică

249

poate fi modem extern – ca dispozitiv independent conectat la

interfaţa serială RS232 sau la magistrala USB a sistemului de calcul.

Un sistem de operare modern permite depistarea modemului şi

includerea sa în setul de periferice al sistemului de calcul, printr-un

program „driver” ce controlează funcţionarea modemului. Debitul de comunicaţie la conectarea prin modem de linie telefonică poate fi de

14 Kbps până la 56 Kbps (Kilo bit pe secundă).

Conectarea modemului la furnizorul de servicii se poate face prin linie comutată (prin centrala telefonică) sau prin linie închiriată – linie

directă folosită numai pentru transferul de date al beneficiarului.

Evident, costurile diferă dar viteza de transfer este mult mai mare în cazul folosirii liniilor închiriate.

Conectare la linii de bandă largă

Aplicaţiile actuale prin care se oferă servicii în Internet necesită

„bandă largă” („broadband”) adică un debit mare la transferul de date

(impropriu considerate „viteze mari”). Furnizorii de servicii Internet oferă infrastructura de comunicaţie şi dispozitive pentru a asigura

aceste debite (viteze) mari, cu una din tehnologiile:

ISDN (Integrated Services Digital Network) – ca infrastructură de mare viteză care digitizează şi mixează comunicaţii de date, voce

(telefon), fax, video pe aceleaşi linii. Când serviciul este oferit de

furnizori de telefonie digitală se prevăd două canale a 64 Kbps de date şi unul de 16 Kbps de control – astfel că rata maximă de transfer este

de 144 Kbps, dar când serviciul este oferit prin fibră optică poate

ajunge până la 2 Mbps (pe baza a maxim 30 canale de date).

ATM (Asynchronous Transfer Mode) – denumit şi B-ISDN, permite

telecomunicaţii de bandă largă (de 622 Mbps dar poate ajunge şi până la 2,48 Gbps) mixând date, voce şi imagine digitizate. Transmisia se

face prin pachete mici de date, (53 octeţi) în reţele comutate (pe

principiul centralelor telefonice), totdeauna la viteza maximă, prin fibră optică, local (în interiorul organizaţiei) sau la mare distanţă.

Bandă largă prin CATV (Community Antenna Television) – transfer de date prin cablu TV la furnizori de televiziune prin cablu,

Page 250: Informatică economică

250

prin cablu coaxial (pe canale de 6 MHz lărgime de bandă) sau prin

fibră optică (DQDB de la 50 Mbps la 600 Mbps) în reţele MAN.

Pentru fiecare categorie de conectare este necesar un modem special şi

plata serviciului.

Conectare prin reţeaua locală

Atunci când organizaţia dispune de o reţea (reţea locală LAN – dacă

organizaţia este mică, sau interconectare de reţele locale – la

organizaţii mari) fiecare calculator este conectat la mediul de transfer în LAN prin intermediul unei plăci de reţea (sau „adaptor/controller

de reţea”). Mediul de transfer este de obicei cuprul - prin cablu

torsadat ne-ecranat (UTP) sau Wi-Fi, iar reţeaua locală prezintă echipamente de interconectare, de obicei prin „switch”.

Uzual, reţelele locale sunt de tip Ethernet (pe cablu UTP) având rate de transfer de 10 Mbps sau 1 Gbps. Efectiv, rata de transfer în Internet

este însă determinată de tipul de acces la Internet a organizaţiei: prin

linie telefonică (comutată sau închiriată) sau prin linie de bandă largă (fibră optică şi servicii de bandă largă).

Dependent de tehnologia reţelei locale, placa de reţea prezintă o

adresă fizică (pentru nivelurile 1 şi 2) prin care este accesată în reţeaua locală, precum şi o adresă Internet (adresă IP – pentru nivelul 3) prin

care este accesată în Internet. Adresa fizică este, de obicei, înscrisă fix

în placa de reţea iar adresa IP este înscrisă de administratorul de reţea în sistemul de operare sau este furnizată pe loc – la conectarea în

Internet, de către un server specializat (RARP). Pentru conectarea

organizaţiei la Internet, este necesar un echipament de interconectare de tip dirijor („router”), eventual fiind emulat prin sistemul de operare

al maşinii server pentru Internet (web, e-mail, etc.) al organizaţiei.

26.4. Intranet

Prin Intranet se înţelege aplicarea tehnicilor şi conceptelor Internet în interiorul unei organizaţii, folosind protocoale TCP/IP şi tehnologii

WWW. Astfel Intranet devine un Internet privat în care utilizatorii pot

folosi navigatoare şi celelalte facilităţi de comunicare WWW pentru a

Page 251: Informatică economică

251

schimba informaţii între ei. În plus, Intranet-ul este separat de restul

reţelei Internet prin sisteme de protecţie de tip „firewall”, prin care se urmăresc toate operaţiile de acces din afară către Intranet şi se

blochează operaţii nepermise sau care reprezintă un pericol pentru

datele şi programele organizaţiei.

Cum astăzi se tinde spre o integrare a tuturor tipurilor de comunicaţii,

Intranet permite utilizarea în interiorul organizaţiei a platformei

universale de comunicaţie (multimedia şi hipermedia) pe care navigatoarele web le pun la dispoziţie. În fapt, este necesar ca în

fiecare loc din mediul organizaţional Intranet, de unde se doreşte să se

facă publice informaţii, să existe un server web, la care se pot conecta prin clienţi web (navigatoare web) membrii organizaţiei.

Page 252: Informatică economică

252

27. Utilizarea aplicaţiilor de comunicaţie în Internet

Dintre aplicaţiile uzuale în Internet, cele mai importante sunt navigatoarele web şi poşta electronică. Navigatorul este folosit pentru

vizualizarea paginilor web, pentru interacţiunea cu servere în locaţii

distante („site-uri”), precum şi pentru căutare în Internet. Poşta electronică (simplă - SMTP) este folosită pentru transmiterea şi

recepţionarea de mesaje text, eventual cu fişiere ataşate. Utilizarea

acestor aplicaţii este posibilă dacă maşina pe care ele se află instalate este conectată la Internet (prin intermediul unui ISP) şi dacă există un

server adecvat pentru fiecare. În continuare, se prezintă utilizarea

părţii client pentru navigator şi poşta electronică, cu exemple de implicare şi exploatare a părţii server.

27.1. Navigator Web

Produsele de tip navigator constituie partea client a aplicaţiei de vizualizare a paginilor web. După conectarea la Internet se poate

accesa serverul web (denumit „site”) care găzduieşte pagina cu

informaţii de interes. Prima pagină vizitată este numită pagina de start („home page” v.

Page 253: Informatică economică

253

Figura 44) care poate fi pagina de prezentare a organizaţiei proprii sau o altă pagină preferată. Utilizatorul va executa „salturi” spre alte

locaţii („site”-uri) prin intermediul legăturilor oferite de hipertextul din paginile pe care le vizitează sau poate înscrie direct, în bara de

adresă , adrese (URL) cunoscute.

6

1 2 3 4 5 6 7 8 9 10

Page 254: Informatică economică

254

Figura 44. O pagină web de start („home page”)

Bara de unelte a ferestrei navigatorului (de exemplu MS Internet Explorer în

Page 255: Informatică economică

255

Figura 44) conţine elemente necesare parcurgerii paginilor web – ce au

fost vizualizate: „parcurgere înapoi” - vizionarea paginii

precedente, „parcurgere înainte” - vizionarea paginii următoare

(dacă s-a revenit la una precedentă), oprirea încărcării paginii cu

adresa curentă, reîncărcarea paginii curente, salt la pagina de

start, casetă de text pentru înscrierea adresei URL ce se doreşte

vizitată, colecţie de adrese (URL) preferate (păstrate ca

„favourites” sau semne de carte „bookmarks”), acces la client de

poştă electronică disponibil în navigator, pagina web vizualizată,

buton de iniţiere a saltului la pagina cu adresa indicată în .

Pagina curentă se poate salva şi tipări, se poate declara ca pagină de start, se poate vizualiza în formatul sursă al limbajului de descriere

HTML (opţiune în meniul „Edit”), se poate include între paginile preferate (opţiune în meniul „Favorites”).

În general, o pagină web prezintă chiar în conţinutul său hiperlegături

de navigare: „parcurgere înapoi” şi „parcurgere înainte”, salt la început şi salt la sfârşitul paginii. Aceste facilităţi şi hiperlegăturile din

pagină dau utilizatorului senzaţia de libertate de alegere a căilor şi

obiectelor de vizitare în „spaţiul cibernetic” – cum este denumit Internet-ul.

27.2. Motoare de căutare

Navigarea fără o ţintă precisă se reduce la „hoinăreală” – bună

eventual pentru distracţie nu pentru realizarea unui acţiuni. De aceea, există în Internet „motoare de căutare” care au rolul de a reduce

spaţiul de parcurs la o acţiune de informare. Un motor de căutare este

o interfaţă interactivă care accesează Internetul în mod automat și frecvent, permite formularea de interogări către o bază de date care

conţine cuvinte cheie şi legături spre locaţii ce deţin documente unde

apar aceste cuvinte cheie. În momentul în care un utilizator apelează la un motor de căutare pentru a găsi o informație, o anumită frază sau un

cuvânt, motorul de căutare se va uita în această bază de date și, în

6 10

9

8

7

6

5 4

3

2

1

Page 256: Informatică economică

256

funcție de anumite criterii de prioritate, va crea și afișa o listă de

rezultate.

Interfaţa interactivă prezintă obligatoriu o casetă de text pentru

introducerea interogării - sub forma cuvântului sau combinaţiei de

cuvinte de căutat. În Figura 45 se indică elementele uzuale ale interfeţei unei maşini de căutare, prin exemplificare pe maşina

www.google.com:

Figura 45. Pagină cu rezultate ale căutării utilizând Google

Uzual, în josul paginii afişate, se găsesc butoane de navigare către

pagini ulterioare (şi precedente) în mulţimea de elemente afişate. Să

presupunem că s-a dorit căutarea unor informaţii despre universitatea „Danubius”. După cum se constată din Figura 45, căutarea după

cuvântul cheie „Danubius” a produs 822.000 rezultate, din care doar

primele 10 (cele mai des utilizate) afişate în pagina curentă; pentru a ajunge la informaţiile dorite, trebuie parcurse foarte multe elemente

(prin căutare secvenţială – adică pagină cu pagină). Pentru a reduce

acest spaţiu de căutare, se pot formula expresii logice folosind cuvintele cheie căutate. Spre exemplu, se restrânge spaţiul de căutare

Page 257: Informatică economică

257

dacă se adaugă la cuvântul „Danubius” şi cuvântul „universitate”, ca

în Figura 46, numărul de elemente găsite scăzând la 17.900 - primul fiind chiar legat de informaţia căutată.

Figura 46. Rafinarea rezultatelor căutării cu Google

Operatorii folosiţi în expresii de interogare complexe - pentru rafinarea căutării, pot fi:

„” cuvinte între ghilimele înseamnă că pagina trebuie să conţină exact fraza dintre ghilimele;

+ cuvântul care are plus înainte (ex. +universitate) trebuie neapărat

să existe în pagină;

- cuvântul care are minus înainte (ex. –hotel) nu trebuie să se

găsească în pagină (echivalent cu NOT);

AND – de exemplu: danubius AND galati (prin care se caută pagini

care conţin obligatoriu ambele cuvinte); cuvintele pot fi scrise cu iniţiale majuscule sau nu.

OR – de exemplu: danubius OR universitate (prin care se caută pagini care conţin măcar unul din cuvinte sau amândouă).

Se fac următoarele recomandări pentru o căutare eficientă:

Page 258: Informatică economică

258

i) Se specifică cât mai simplu şi direct interogarea (indicând cuvântul

căutat).

ii) În cazul unui set mare de elemente rezultat, se analizează aspectele

efectiv dorite pentru informaţia căutată şi se precizează sinonime sau

antonime.

iii) Se creează expresii de interogare (folosind operatori), care să

includă sau să excludă cuvinte specifice aspectelor vizate (sinonime,

respectiv antonime).

iv) Se parcurg măcar 50 de elemente din primele pagini rezultat al

interogării.

v) Se parcurg pagini similare sugerate de maşina de căutare.

Există diverse locaţii care oferă maşini de căutare cu diferite facilităţi:

www.altavista.com (oferă expresii eficiente de restrângere a căutării), www.lycos.com (oferă cataloage organizate după subiecte),

www.infoseek.com (oferă cu catalog extensiv de locaţii clasificate

după subiect), www.yahoo.com (mai curând un catalog cu clasificarea locaţiilor pe domenii), Baidu, Bing etc.

Page 259: Informatică economică

259

28. Securitatea datelor și informațiilor

28.1. Conturi

Protejarea unui cont trebuie sa constituie o prioritate pentru utilizator.

În stabilirea gradului de securitate a contului trebuie să aveți în vedere următoarele:

1. Informații privind securitatea contului

a. Mențineți informațiile de securitate a contului la zi (up to date)

b. Informațiile privind securitatea unui cont (declararea unui număr de

telefon sau o adresă alternativă de e-mail) sunt solicitate pentru a

verifică adevărata identitate a posesorului de cont în cazul uitării parolei sau în cazul furtului de identitate (altcineva încearcă să preia

contul). De obicei aceste date declarate de utilizator nu sunt utilizate

în alte scopuri.

2. Complexitate parolă. Utilizarea unei parole complexe, care să fie

schimbată la un interval scurt de timp sau la un anumit număr de accesări ale contului și care să:

a. conțină cel puțin 8 caractere;

b. conțină o combinație de cifre, litere și simboluri;

c. nu conțină numele utilizatorului, al companiei sau numele real al

persoanei deținătoare;

d. nu conțină cuvinte întregi;

e. să fie total diferită de parola anterioară;

f. să fie diferită de parola utilizată pentru alte conturi web, mai ales

față de cele de e-mail sau online banking;

3. Activare autentificare avansată. Anumite aplicații/site-uri care

necesită logare oferă posibilitatea verificării identității prin doi pași

(two-step verification). Această măsură sporește securitatea contului,

Page 260: Informatică economică

260

îngreunând sarcina unui hacker de a fura identitatea unui utilizator,

chiar dacă ar avea o cât de mică idee referitoare la cunoașterea/ghicirea parolei. Activarea acestei opțiuni va cere, pe

langă informațiile clasice ale unui logări, un cod suplimentar de

securitare, transmis pe telefon sau contul de e-mail alternativ/suplimentar inserat la pasul 1.

4. Instalare /actualizare ultima versiune software (sistem operare,

browser, programe, etc.). Majoritatea dezvoltatorilor de aplicații și servicii își îmbunătățesc continuu produsele cu ajutorul update-uri de

securitate, înlăturând totodată breșele de securitate descoperite. Aceste

actualizări blochează atacurile produse de viruși și malware.

5. Instalare antivirus. Fără știința utilizatorului, contul poate deveni

vulnerabil. Prin simpla accesare a diferitelor site-uri sau descărcând anumite programe sau fișiere, hacker-ii pot afla parola contului, prin

intermediul malware (malicious software), care se instalează fără

știința utilizatorului pe calculator. Prin urmare, este important ca în momentul schimbării parolei sau a informațiilor privind securitatea

contului, calculatorul să fie ”scanat și curățat” cu un program antivirus

pentru a fi în siguranță.

6. Preventivitate. Utilizatorul trebuie întotdeauna să fie atent la

mesajele și site-urile web care prezintă anumite elemente de îndoială.

a. Nu deschideți mesajele sau fișierele atașate lor, transmise de către utilizatori necunoscuți;

b. Virușii atașați mesajelor se pot răspândi cu repeziciune odată cu

accesarea fișierelor;

c. Este recomandat sa nu deschideți un fișier atașat, decât dacă acesta

este transmis de către un cunoscut sau dacă vă așteptați să primiți acel

fișier;

d. Asigurați-vă ca sursa de unde faceți un download este de încredere;

e. Fiți prevăzători când descărcați aplicații sau fișiere din Internet.

7. Accesare nedorită. Urmăriți îndeaproape activitățile neobișnuite sau suspecte din history sau recent activity (dacă aceste opțiuni sunt

disponibile). Aici aveți informații referitoare la logare și schimbările

Page 261: Informatică economică

261

aduse contului. Dacă observați ceva suspect, nu amânați schimbarea

parolei sau a informațiilor privind securitatea contului.

8. Setare browser. Browser-ul web poate identifica anumite site-uri

web care prezintă elemente de suspiciune sau malware, dacă versiunea

este actualizată. Totodată, este indicat să blocăm toate acele informații care ne invadează spațiul de lucru prin activarea pop-up bloker-ului.

Chiar dacă majoritatea informațiilor pe care nu le dorim reprezintă

reclame, acestea pot conține coduri ascunse nesigure sau malware. Prin activarea pop-up bloker-ului, aceste informații nedorite nu vor

mai fi afișate.

9. Secretizare date. Datele de logare trebuiesc ținte secrete. Acestea nu se transmit. Este indicat, pentru a preveni eventualele inconveniente

produse de uitarea datelor de logare, ca acestea să fie notate și depozitate într-un loc ferit, doar de noi știut.

10. Partajare PC. În cazul în care un calculator este utilizat de către

mai mulți utilizatori, este indicat ca fiecare să se logheze individual cu propriile date de logare (user și parola). Pentru a evita neplăcerile

cauzate de partajarea tehnicii de calcul este indicat să:

a. vizualizați aplicațiile active imediat după logare;

b. blocați contul de utilizator de fiecare dată când părăsiți incinta unde

este amplasat calculatorul;

c. schimbați frecvent parola, ținând cont de complexitate;

d. salvați datele vitale/sensibile pe un alt mediu de stocare decât cel

intern;

e. asigurați backup-ul datelor cât de des posibil.

28.2. Servicii

Memorați Codul dumneavoastră de utilizator și parola și nu le

dezvăluiți nimănui, verbal, telefonic sau prin e-mail/formular, chiar

dacă persoanele respective sunt reprezentanți autorizați sau reprezintă oricare altă autoritate.

Page 262: Informatică economică

262

Doar dumneavoastră trebuie să știți parola. Toate introducerile eronate

de parolă sunt înregistrate de unele site-uri. După 3 încercări nereușite, accesul este blocat, deblocarea intervenind după 24 de ore, printr-o

procedura automată, în condițiile în care nu există alte tentative de

accesare în acest interval și parola introdusă este cea corectă. În caz de pierdere, furt sau uitare a Parolei, puteți primi o nouă parolă, doar

dacă asigurați date suplimentare care să permită identificarea corectă a

posesorului contului.

Anumite servicii prevăd un anumit număr de conexiuni ce pot fi

efectuate cu aceeași Parola. După atingerea acestei limite, este

recomandată schimbarea Parolei prin intermediul site-ului accesând opțiunea: "Schimbare Parola". Totodată, este indicat să schimbați

parola la intervale regulate de timp, cel puțin de 2 ori pe an.

Codul de utilizator și parola

Accesul dumneavoastră pe un site specializat se face doar pe baza

celor 2 elemente de securitate: cod de utilizator și parola, pe care le introduceți în ecranul intitulat "Identificare/Login" (introducerea

acestor date este indicat să se efectueze în protocol securizat).

Codul de Utilizator și Parola sunt indispensabile utilizării oricărui serviciu care utilizează autentificare și trebuie să fie cunoscute numai

de dumneavoastră. Le veți utiliza ori de cate ori vă veți conecta la

contul / conturile dumneavoastră. Din motive de securitate este recomandat să schimbați Parola imediat după prima conexiune la

anumite servicii, în special ca cele care o generează automat.

Cod de utilizator, parola și SMS. Acest profil de utilizare folosește cele 2 elemente de securitate: cod de utilizator și parola pentru

funcționalitățile de bază, iar suplimentar pentru funcționalitățile care

prezintă un grad mai ridicat de risc se utilizează o parolă unică primită prin SMS. Parola unică este recepționată pe numărul de telefon

principal declarat de către utilizator și este utilizată pentru a semna

anumite tranzacții. Aceasta este transmisă în momentul inițierii transferului și poate fi utilizată doar pentru acea tranzacție, având o

perioada de valabilitate limitată.

Cod de utilizator, parola și Digipass

Page 263: Informatică economică

263

Acest profil de utilizare folosește cele 2 elemente de securitate: cod de

utilizator și parola pentru funcționalitățile de bază, iar suplimentar pentru funcționalitățile care prezintă un grad mai ridicat de risc se

utilizează Digipass-ul mobil sau hardware.

Digipass-ul (token) este o soluție avansată de semnare tranzacții, utilizează un proces de autentificare bazat pe doi factori. Digipass-ul

mobil funcționează la fel ca cel hardware, însă nu mai este necesar un

dispozitiv suplimentar, generarea parolei și semnarea tranzacției se face direct în cadrul aplicației de pe mobil.

Cod de utilizator și Digipass

Acest profil folosește 2 elemente de securitate: cod de utilizator și parola generată prin intermediul Digipass-ului mobil sau hardware,

pentru toate funcționalitățile serviciului oferit de furnizor.

Acesta este o soluție avansată de semnare tranzacții, utilizează un

proces de autentificare bazat pe doi factori. Digipass-ul mobil

funcționează la fel ca cel hardware, însă nu mai este necesar un dispozitiv suplimentar, generarea parolei și semnarea tranzacției se

face direct în cadrul aplicației de pe mobil.

28.3. Infracţiuni prin diverse tehnici de comunicare

Poliţia de Investigare a Fraudelor vă atenţionează despre tentativele unor persoane rău intenţionate de a vă înşela, săvârşind o serie de

infracţiuni prin diverse tehnici de comunicare - telefonie, mms, sms,

poştă electronică etc. Vă atenţionăm că în situaţia în care veţi da curs acestor oferte iluzorii, sunteţi pasibili de prejudicii materiale. Pentru a

preîntâmpina comiterea unor asemenea fapte, vă prezentăm concret

ofertele frauduloase frecvent folosite de infractori:

trimiterea de mesaje de tip text (sms), în cadrul reţelelor mobile, cel

ce recepţionează mesajul este anunţat că a fost declarat câştigător, fiindu-i oferit şi un cod unic de înregistrare. Potenţiala victimă este

invitată să sune la un anumit număr, unde trebuie să comunice

numărul unic pentru a fi validat ca şi câştigător, însă trebuie să achite o taxă de curierat, care de multe ori este destul de mare;

Page 264: Informatică economică

264

trimiterea de e-mail-uri la diferite persoane, prin care potenţialele victime sunt informate că pot câştiga sume fabuloase. Adresa de e-

mail conţine o listă de 5 persoane cu adresele complete, precum şi un

set de instrucţiuni pentru a intra în posesia premiului. Pentru câştigarea premiului, cel desemnat câştigător trebuie să trimită pe

adresa primei persoane din cele 5 un plic sigilat cu o anumită sumă,

urmând ca e-mail-ul său să îl trimită la alte 10 persoane din adresa de e-mail;

primirea de apeluri telefonice de la persoane necunoscute, prin care potenţiala victimă este anunţată că a câştigat un concurs, cu produsele

unei mărci cunoscute, câştig condiţionat de transmiterea a 10 coduri

de cartele reîncărcabile ale unui anumit operator de telefonie mobilă în valoare de 10 dolari fiecare;trimiterea de mesaje de tip text (sms) în

cadrul reţelelor mobile, cu promisiunea făcută potenţialei victime, că

va primi un premiu de 3000 Euro dacă va cumpăra cartele preplătite de telefonie mobilă în valoare de 30 Euro şi va comunica seriile şi

numerele de cod ale cartelelor.

Pentru prevenirea acestor tipuri de fraude Poliţia de Investigare a Fraudelor recomandă insistent să:

nu luaţi în considerare eventualele mesaje în care sunteţi desemnat câştigător, fără temei, al vreunui concurs/sondaj organizat de o firmă

de renume şi cu o puternică reputaţie;

nu trimiteţi date personale sau copii după C.I., buletin, cărţi credit/debit etc. pe mail/fax;

nu acceptaţi în niciun caz să trimiteţi persoanelor necunoscute bani în avans pentru aducerea unui autoturism sau alt bun, la care aţi fost

anunţat câştigător;

nu furnizaţi date confidenţiale prin telefon dacă apelul provine de la un număr ascuns sau un număr de mobil pe care nu-l cunoaşteţi;

niciodată o societate nu va solicita aşa ceva, garantat este o tentativă de fraudare!

Page 265: Informatică economică

265

Bibliografie

1. Ariton, V. & Postolache, F. (2006). The Diagnosis by Abduction

using Human Expert Knowledge. Acta Universitatis Danubius.

Œconomica, nr. 1(2)/2006, ISSN: 2065-0175, pp. 161-178.

2. Ariton, Viorel; Panfiloiu, Gh; Postolache, F. & Răileanu, Alina

Beatrice (2010). Bazele Informaticii. Galați: Editura Universitară

Danubius.

3. Bott, Ed & Woody, Leonard (2002). Microsoft Office XP.

București: Teora.

4. Cowart, R. & Knittel, B. (2002). Microsoft Windows Professional. București: Teora.

5. Craig Stinson, Carl Siechert, (2008). Microsoft Windows 2000

Professional, Teora, 2001;

6. Davis, C. et al. (eds). (1983). Entity-Relationship approach to

Software Engineering. North Holland.

7. Fehily, Chris (2008). Microsoft Windows Vista. Ghid vizual. București: Teora.

8. Glenn, Walter (2003). Microsoft Windows XP in imagini. Teora.

9. Granor, Tamar E.; Carr, Scott & Hiser, Sam (2003). OOoSwitch: 501 Things You Want to Know About Switching To OpenOffice.org

from Microsoft Office. Hentzenwerke Publishing.

10. Jacobson, I.; Ericsson, M. & Jacobson, A. (2001). The Object Advantage: business process engineering with object technology.

Addison-Wesley.

11. Johnson, Steve (2004). Microsoft Office 2003. Perspection Inc.: Teora.

12. Johnson, Steve (2008). Microsoft Office - Excel 2007. Teora.

Page 266: Informatică economică

266

13. Johnson, Steve (2008). Microsoft Office - Outlook 2007. Teora.

14. Johnson, Steve (2008). Microsoft Office - PowerPoint 2007. Teora.

15. Johnson, Steve (2008). Microsoft Office - Word 2007. Teora.

16. Leete, Gurdy; Finkelstein, Ellen & Leete, Mary (2004). OpenOffice.org for Dummies.Wiley Publishing. Inc.

17. Norton, Peter (2001). Irfan Chaudhry, Tom Burke, Microsoft

Windows 2000 Server. Teora.

18. Odăgescu, I.; Smeurean, I. & Ştefănescu, I. (1993).

Programarea avansată a calculatoarelor personale. București: Ed.

Militară.

19. Ogletree, Terry (2007). Reţele de calculatoare - depanare și

modernizare.Teora.

20. Ottino, J. (2009). Engineering Complex Systems and Complex

Systems Engineering. Northwestern University.

21. Popovici, P. (2006). Bazele Informaticii. Ed. Eurostampa.

22. Postolache, F. (2011). Teza de doctorat: Contribuţii la achiziţia

şi structurarea cunoştinţelor în sisteme inteligente pentru diagnoza

defectelor.

23. Postolache, F. (2012). Achiziţia și structurarea cunoştinţelor în

sistemele IT virtualizate. Galați: Zigotto.

24. Postolache, F. (2012). Diagnoza defectelor. Abordări privind alocarea dinamică și echilibrarea încărcării resurselor în sistemele IT

virtualizate. Galați: Zigotto.

25. Postolache, F.; Bumbaru, S. & Ariton, V. (2010). Complex systems virtualization in the current’s economical context.

EuroEconomica, Nr. 3(26)/2010 - ISSN 1582-8859, pp. 29-50.

26. Postolache, F.; Bumbaru, S. & Ariton, V. (2010). Knowledge acquisition and structuring for diagnosis in complex virtual systems,

The 1st International Conference “Advances in Engineering &

Management” ADEM 2010 – Drobeta Turnu-Severin, ISBN 978-606-510-899-8.

Page 267: Informatică economică

267

27. Postolache, F.; Bumbaru, S. & Constantin, F.A. (2010).

Framework on virtualisation applications and benefits, The 4th International Workshop on Soft Computing Applications -

SOFA2010, Arad, Romania, IEEE Catalog Number: CFP1028D-

CDR, ISBN: 978-1-4244-7983-2.

28. Rumbaugh, J. et al. (1991). Object Oriented modeling and

design, Prentice Hall Int. Englewood Cliffs.

29. Sams, Greg Perry (2005). Teach Yourself OpenOffice.org All in One (Sams Teach Yourself). Sams Publishing.

30. Sams, Greg Perry (2008). Microsoft Office 2007 - 5 in 1.

București: Teora.

31. Scholtz-Reiter, B. et al. (1996). Business Process Modelling.

Heidelberg, Springer.

32. Schreiber, G.; Wielinga, B & Breuker, J. (1993). KADS: A

Principled Approach to Knowledge-Based System Development.

Academic Press, London, UK.

33. Solveig, Haugland (2005). The OpenOffice.org Guidebook.

34. Stanciu, A. Pana, ş.a. (2003). Informatică generală. Bucureşti:

DualTech.

35. Stroustrup, B. (1991). The annotated C++ Reference manual.

Addison Wesley.

36. Tardieu, H. et al. (1986). La methode MERISE. Principes et outils, Les editions d’organisation.

37. Weber, Jean (2004). OpenOffice.org Writer: The Free

Alternative to Microsoft Word [ILLUSTRATED]. O'Reilly.

38. Wilson, D. A. (1998). Managing Information. Butterworth-

Heinemann.

39. Zadeh, L. A. (1965). Fuzzy sets, Information and Control.

40. Zorkoczy, P. & Heap, N. (1995). Information Technology – an

introduction. Pitman Publishing.

Page 268: Informatică economică

268

Webografie

41. http://why.openoffice.org/why_edu.html *** Why

OpenOffice.org 3***

42. http://www.politiaromana.ro/fraude_tehnici_comunicare.htm

43. http://www.vmware.com

44. http://sofa2010.org/index.html