Sunteți pe pagina 1din 45

INFORMATICĂ MANAGERIALĂ

CURS 4

Prof.univ.dr. Mares Daniel


CAPITOLUL 2.

CONCEPTE PRIVIND LIMBAJELE


DE PROGRAMARE ŞI BAZELE DE
DATE
CUPRINS
2. CONCEPTE PRIVIND LIMBAJELE DE
PROGRAMARE ŞI BAZELE DE DATE

 2.1. Concepte generale – date, informaţii,


cunoştinţe
 2.2. Conceptul de limbaj de programare
2.3. Noţiunea de fişier
2.4. Conceptul de bază de date
2.5. Verificare + Teste
2.1. Concepte generale
– date,
– informaţii,
– cunoştinţe
2.1. Concepte generale

Concepte generale:
date, informaţii şi cunoştinţe.
Taylor (1996) afirma că cele mai multe
organizaţii asimilează “cunoştinţele” sau
"informaţiile" cu “date”. Datele pot fi un
material pentru informaţii şi cunoştinţe,
2.1. Concepte generale
Date

• datele sunt fapte, evenimente, tranzacţii şi


aşa mai departe, care au fost înregistrate;
• datele pot fi înşiruiri de caractere numerice
şi alfanumerice cu o anumită semnificaţie;
2.1. Concepte generale
Date

DEFINIŢIE :
Noţiunea de date se defineşte ca un şir sau
ansamblu de valori primare („materie
primă”) asociate activităţilor şi
evenimentelor ce apar într-o organizaţie
sau într-un mediu fizic natural, înainte de a
fi organizate şi prelucrate/prezentate, într-o
formă care să fie înţeleasă şi utilizabilă de
către om;
2.1. Concepte generale
Informaţii
• informaţiile sunt date care au fost
transformate (procesate) într-un mod care
să fie util receptorului din materiale de
intrare brute (neprelucrate);
• "informaţiile" sunt fundamentate pe acele
date care au dobandit semnificaţie, scop
sau utilitate în urma prelucrării (procesării)
lor;
• "informaţiile“ sunt date corelate printr-o
relaţie sau structura sintactică
2.1. Concepte generale
Informaţii
DEFINIŢIE :
Noţiunea de informaţie este asociată cu
aceea de „date organizate, prelucrate şi
prezentate” într-o formă care să fie
înţeleasă şi utilă, sau utilizabilă de către
om. Informaţia are prin urmare o valoare
reală, percepută de om şi care se adaugă la
ceea ce omul ştie, relativ la un domeniu de
interes.
2.1. Concepte generale
Relaţia date - informaţii

intrări Ieşiri

Prelucrări i1.
d1
manuale .
.
sau . informaţii
. date
automate
.
dn in
2.1. Concepte generale
Valoarea informaţiilor
• Informaţia nu are valoare ea însăşi,
valoarea derivă din valoarea schimbată în
comportamentul decizional cauzate de
informaţia disponibilă minus costul
producerii informaţiei.

• Valoarea informaţiilor = informaţia


disponibilă – costul producerii informaţiei
Clasificarea informaţiilor
O clasificare a informaţiilor este făcută de
Lucey[1995] în funcţie de:
• sursă : interne, externe, primare, secundare,
guvernamentale;
• natură : cantitative, calitative, formale,
informale;
• nivel : strategic, tactic, operativ;
• timp : istorice, prezent, viitor;
• frecvenţă : continue (timp real), orare,
zilnice, lunare, anuale;
• utilizator: planificare, control, luarea deciziilor;
• forma : scrise, orale, vizuale, senzoriale;
• eveniment : la intervale planificate, ocazionale, la
cerere;
2.1. Concepte generale
Cunoştinţe
• cunoştinţele cuprind totalitatea noţiunilor,
ideilor, informaţiilor pe care o persoană sau
un sistem bazat pe cunoştinţe le are într-un
domeniu oarecare ;
• Cunoştinţele sunt informaţii corelate printr-o
relaţie sau structură semantică;
DEFINIŢIE :
Cunoştinţele sunt date cărora li s-au adăugat
două dimensiuni suplimentare : oameni şi
procese ;
2.1. Concepte generale
Cunoştinţe
Dacă datele provin direct din măsurători, iar
informaţiile din prelucrarea şi prezentarea
acestora într-o formă care reprezintă, de
exemplu, starea proceselor/ activităţilor la
un moment dat, cunoaşterea este mai
mult, ea caută să înţeleagă procesele/
activităţile, să producă asocieri cauzale,
să facă predicţii, care stau la baza unor
decizii.
2.1. Concepte generale
Cunoştinţe
• Informaţiile constituie baza deciziilor
manageriale în timp ce cunoştinţele sunt
utilizate în procesul de luare al deciziilor.
Cunoaşterea bazată pe însuşirea
informaţiei produce decizii.
• Cunoaşterea reprezinta ceea ce învaţă o
organizaţie, ceea ce ştie să realizeze şi
cum poate utiliza ceea ce ştie, cât de
repede poate învaţa sau asimila ceva nou.
2.1. Concepte generale
Relaţia informaţii - cunoştinţe
Intrări Ieşiri

Prelucrarea
d1 informaţiilor i1
+
Cunoştinţele .
. .
. informaţii omului sau ale
unui sistem . decizii
.
bazat pe
cunoştinţe in
dn
2.2. Conceptul de limbaj de
programare
2.2. Conceptul de limbaj de programare

 Calculatorul “ştie” să execute prelucrări


complexe pe baza unui algoritm prin
combinarea unui set de operaţii simple.
 Conceptul de algoritm este foarte vechi, înţelesul
mai larg fiind acela de procedeu, metodă de
rezolvare a unei probleme.
 În programare, conceptul de algoritm are un
rol fundamental şi se poate defini ca un set de
reguli ce descrie secvenţa de operaţii ce trebuie
executate de calculator pentru soluţionarea unei
probleme.
2.2. Conceptul de limbaj de programare
 Limbajul de programare, ca şi limbajul matematic, este
un limbaj artificial, destinat pentru a comunica cu
calculatorul prin intermediul
instrucţiunilor.[Wikipedia]
 Uni dar nu toţi autorii restricţionează termenul de
"limbaj de programare" la acele limbaje care pot fi
exprimate prin algoritmi. [1] [2]
 Limbajul de programare poate fi utilizat pentru a creea
programe specificate prin algoritmi riguroşi pentru a
controla comportamentul calculatorului. [1]
 Programul este definit ca fiind o reprezentare
(codificare) a unui algoritm într-un limbaj de
programare.
2.2. Conceptul de limbaj de programare
 limbajul de programare realizează conexiunea
în ambele sensuri între universul problemei de
rezolvat şi universul sistemului de calcul:
 utilizatorul furnizează sistemului de calcul datele
iniţiale şi etapele de parcurs necesare pentru
rezolvarea unei probleme;
 sistemului de calcul furnizează utilizatorul
(mediului extern) rezultatele prelucrărilor într-o
formă specificată.
2.2. Conceptul de limbaj de programare
 Rezolvarea unei probleme cu calculatorul presupune
parcurgerea următoarelor etape:
 specificarea problemei – ce constă în formularea
problemei şi impune specificarea datelor de intrare şi
a datelor de ieşire (rezultatelor).
 proiectarea algoritmului – se face utilizând o metodă
de reprezentare:
• Pseudocodul se foloseşte în general, pentru
algoritmi ce vor fi implementaţi într-un limbaj de
programare de nivel înalt ;
• Organigrama este mai adecvată pentru
implementarea unui algoritm în limbaj de
asamblare ;
 codificarea algoritmului într-un limbaj de programare
sub forma unui program. Alegerea limbajului de
programare depinde de natura aplicaţiei şi de
programator.
2.2. Conceptul de limbaj de programare
 Un limbaj de programare se defineşte prin:
1. vocabular – format dintr-un set de primitive, adică
mulţimea semnelor şi cuvintelor din care se pot
forma propoziţii.
Setul de primitive este utilizat pentru a descrie datele
şi procesele sau transformările aplicate acestora
(cum ar fi adăugarea a două numere sau selectarea
unui element dintr-o colecţie).
Aceste primitive sunt definite prin norme sintactice şi
semantice, care descriu structura şi sensul;
2.2. Conceptul de limbaj de programare
2. sintaxa – descrie combinaţiile posibile de
simboluri care formează un program corect
din punct de vedere sintactic sau altfel spus
se referă la mulţimea regulilor ce descriu
modul de alcătuire a propoziţiilor;
3. semantica – redă înţelesul combinaţiei de
simboluri, adică specifică regulile ce definesc
înţelesul (semnificaţia) propoziţiilor.
2.2. Conceptul de limbaj de programare
Un limbaj de programare operează cu două categorii de
date:
 date elementare (date ale căror structură internă nu
este accesibilă programatorului) sunt de mai multe
tipuri:
 date numerice, având valori în mulţimi cunoscute din
matematică (N,I.R,C);
 date alfanumerice, având valori de tip caracter sau şiruri de
caractere, pentru gestionarea textelor;
 date logice, având valori “adevărat” sau “fals”.
 date structurate (date constituite din mai multe
componente toate accesibile programatorului) sunt
două categorii:
 tablouri: cuprind mai multe date elementare de acelaşi tip;
 înregistrări: cuprind date elementare de tipuri diferite.
2.2. Conceptul de limbaj de programare

 Un program, din punct de vedere al valorilor,


operează cu două categorii de valori:
 constante - valorile acestora nu se modifică în
timpul execuţiei unui program;
 variabile - valorile acestora se modifică în
timpul execuţiei programului; valorile
acestor variabile sunt păstrate în locaţii de
memorie.
2.2. Conceptul de limbaj de programare
 Limbajele de programare sunt definite
printr-un program sursă pe baza unui
document de specificație (de exemplu,
limbajul de programare C este specificat
de un standard ISO),
2.2. Conceptul de limbaj de programare
 Comunicarea direct cu calculatorul se
realizează pe baza unui set de operaţii simple
sau instrucţiuni prin intermediul:
 Limbajului maşină sau cod maşină - operaţiile simple
sau instrucţiuniile sunt reprezinte prin coduri
(valori) numerice pentru a putea fi executate;
 Limbajului de asamblare – instrucţiunile sunt
specificate printr-un nume simbolic (mnemonică);
 Un program în cod maşină este o secvenţă de
coduri binare, ce poate fi executată de către
microprocesor şi acest program se numeşte
program executabil.
2.2. Conceptul de limbaj de programare
Caracteristicile limbajelor maşină şi de asamblare:
 Unei instrucţiuni în limbaj de asamblare îi corespunde
o instrucţiune în limbaj maşină sau cod maşină
(corespondenţă 1-1);
 Asemănări:
 sunt specifice fiecărui calculator;
 setul de instrucţiuni este stabilit în etapa de proiectare ;
 Deosebiri:
 o instrucţiune în limbaj cod maşină se specifică printr-un
cod numeric iar o instrucţiune în limbaj de asamblare se
specifică printr-un nume simbolic (mnemonică);
 un program în cod maşină este un program executabil faţă
de unul în limbaj de asamblare care este un program sursă.
2.2. Conceptul de limbaj de programare
 Limbajele de programare se clasifică în:
 limbaje de asamblare (limbaje de nivel coborât);
 limbaje de nivel înalt.
 Deosebiri:
 Limbajul de asamblare este apropiat de codul maşină
şi de aceea se utilizează în general, în aplicaţii ce
necesită acces direct la resursele hardware ale
sistemului de calcul sau în aplicaţii ce necesită
viteză mare de execuţie (animaţie) spre deosebire de
limbaj de nivel înalt a cărui instrucţiuni sunt mai
apropiate de utilizator, de raţionamentul uman, decât
de maşină.
2.2. Conceptul de limbaj de programare
 Deosebiri:
 limbajul de asamblare fiind specific fiecărui microprocesor,
aplicaţiile scrise în limbaj de asamblare nu sunt portabile însă
programele scrise în limbaj de nivel înalt sunt, în general,
independente de maşină, fiind portabile de pe un calculator
pe altul;
 complexitatea operaţiilor limbajului de nivel înalt este mult
mai mare decât în cazul limbajelor de asamblare, de aceea
unei instrucţiuni în limbaj de nivel înalt îi corespunde o
secvenţă de instrucţiuni în limbaj de asamblare sau cod
maşină.
 un program scris într-un limbaj de nivel înalt este un
program sursă
2.2. Conceptul de limbaj de programare

Calsificarea limbajelor de programare de nivel înalt


 În funcţie de modul de specificare al problemei, limbajele de
programare de nivel înalt se pot clasifica în:
 limbaje de programare procedurale (limbaje imperative) – în
care programatorul descrie modul de rezolvare a problemei,
secvenţa de operaţii ce trebuie executate pentru rezolvarea
problemei. Astfel de limbaje de programare sunt cele
convenţionale FORTRAN, COBOL, PASCAL, ADA,
BASIC, C, C++.
 limbaje de programare neprocedurale (limbaje declarative) în
care programatorul precizează mai degrabă problema decât
modul de rezolvare.
2.2. Conceptul de limbaj de programare

 limbaje de programare neprocedurale sunt de


mai multe tipuri:
 limbaje de programare funcţionale, de
exemplu LISP;
 limbaje de programare logice cum este
PROLOG;
 limbaje de programare orientate pe obiecte ca
SMALTAUK;
 limbaje de programare bazate pe flux de date
spre exemplu VAL.
2.2. Conceptul de limbaj de programare
 Programele scrise în limbaje de nivel înalt se numesc
programe sursă, iar instrucţiunile acestora pentru a fi
executate trebuie transformate în instrucţiuni în
limbaj maşină. Această operaţie de transformare sau
translatare a unui program din limbaj de nivel înalt în
limbaj maşină se realizează cu ajutorul unui program
special numit translator.
 Limbajele de programare sunt definite printr-un
program sursă pe baza unui document de specificaţie
(de exemplu, limbajul de programare C este specificat
de un standard ISO).
2.2. Conceptul de limbaj de programare

 Translatarea unui program scris în limbaj de


asamblare în limbaj maşină se realizează cu
ajutorul unui program numit asamblor.
 Translatoarele se împart în două categorii:
 compilatoare – translatarea are loc în 2 paşi;
 Interpretoare - translatarea are loc în 1 pas.
2.2. Conceptul de limbaj de programare
 Compilatoarul :
- translatează un program scris în limbaj de nivel
înalt (program sursă) într-un program în limbaj
maşină (program executabil) în 2 paşi;
- înlocuieşte fiecare instrucţiune din programul
sursă cu secvenţa echivalentă de instrucţiuni ale
limbajului maşină(pasul 1) după aceea la a doua citire
a programului sursă face analiza semantică a
programului iar după încheierea pasului 2 are loc
execuţia;
 Interpretorul
- analizează fiecare instrucţiune din programul
scris în limbaj de nivel înalt şi execută secvenţa
echivalentă de instrucţiuni în limbaj maşină, după
care trece la următoarea instrucţiune din programul
sursă.
2.2. Conceptul de limbaj de programare
 Un program poate fi în una din cele trei stări :
 cod sursă – un program în acest cod poate fi format
din mai multe subprograme, fiecare fiind complet
separat şi având propriul său cod sursă;
 codul obiect se obţine prin compilarea codului sursă
al programului; prin compilare codul sursă este
analizat sintactic şi semantic după care este
transformat în cod obiect;
 codul executabil se obţine prin link-editarea codului
obiect sau codurile obiect ale tuturor
subprogramelor constituiente ale programului sunt
legate şi transformate în cod executabil.
2.2. Conceptul de limbaj de programare
 Stările unui program :

Analiză
sintactică
şi
Cod sursă Cod obiect Cod
executabil

semantică
Verificare

1. Definiţi conceptele de date, informaţii


şi cunoştinţe.
2. Care este diferenţa dintre date şi
informaţii?
3. Ce se înţelege prin valoarea
informaţiilor?
4. În ce situaţie informaţiile devin
cunoştinţe?
EXEMPLE DE TESTE
TESTE
1. Avem definiţiile următoare :
a) fapte, evenimente înregistrate şi necorelate între ele;
b) colecţie de date între care există o relaţie sau structură
sintactică;
c) colecţie de informaţii între care există o relaţie sau
structură semantică;
d) colecţie de date între care există o relaţie sau o structură
sintactică şi semantică;
e) fapte, evenimente, tranzacţii necorelate între ele;

Indicaţi care dintre variantele de mai jos reprezintă definiţia :


A. date B. informaţiei C. cunoştinţelor

Răspuns : date=a,e informaţii=b cunoştinţe= c,d


TESTE
3. Avem definiţiile următoare :
a) ansamblu de valori primare („materie primă”)
asociate activităţilor dintr-o organizaţie;
b) date organizate, prelucrate şi prezentate” într-o
formă care să fie înţeleasă şi utilă omului;
c) date cărora li s-au adăugat două dimensiuni
suplimentare : oameni şi procese;
d) ansamblu de valori primare („materie primă”)
asociate evenimentelor ce apar într-un mediu
fizic natural;
Indicaţi care dintre variantele de mai jos reprezintă
definiţia: A. datelor B. informaţiei C.
cunoştinţelor

Răspuns : date=a,d informaţii=b cunoştinţe= c


TESTE

4. Indicaţi care este definiţia instrucţiunii


a) set de reguli ce defineşte secvenţa de operaţii
ce trebuie executate de calculator pentru
soluţionarea unei problem
b) ansamblu de resurse fizice şi un pachet de
programe sistem ce realizează prelucrarea
c) operaţie elementară executabilă de către
unitatea centrală a unui calculator
d) secvenţă de mai multe instrucţiuni executate
una după cealaltă
Raspuns:c.
TESTE

5. Un program pot fi în trei stări. Indicaţi


starea incorectă
a) cod sursă
b) cod obiect
c) cod compilat
d) cod executabil
Raspuns: c.
TESTE

6. Care dintre codurile următoare este


analizat sintactic şi semantic după care
este transformat în alt cod.
a) cod sursă
b) cod obiect
c) cod compilat
d) cod executabil
Raspuns:a
TESTE

7. În ce cod este transformat un program în


urma analizei sintactice şi semantice.
a) cod sursă
b) cod obiect
c) cod compilat
d) cod executabil
Raspuns: b.

S-ar putea să vă placă și