Sunteți pe pagina 1din 14

MTNTSTERUL EDUCATIET NATIONALE

Mariana Milogescu

lltlorlnallci
Prolilul real
Specializarea:
matematici-informatici, intensiv informatici

Monuol penlru closo o lX. o

ffiffi
WdF* d

EDrruRA DtDAcrol g, ,roouoctcA, R.A.


4-3
Cuprins 4.4.q
Evaluart,
l.Informatica qi societatea. 4.5. B
...................3 4.q
1.1. Prelucrarea informa!ii1or............ ........... 3 4-5
1.2. lnformatica ............. ...............,... ...........4
1.3. Etapele rezolvdrii unei probleme................
4-t
............7
\ 1.4. Algoritmul ....... 8
4-q
45
45
4-5
2.1. Definilia datelor........ .......12 45
2.1.1. Clasificarea datelor........ ............ 13 45
2.1.2.Tipul datelor........ ....................... 19 4.5
2.2. Operatorii................ ........21 4.5
2.3. Expresii1e............... .........26 Evaluart
Evaluare ..................30 4.6. h
4-6
3. A1goritmii............... ..........36 4.8
3.1. Reprezentarea algoritmilor ................ 36 4.6
3.2. Principiile programdrii structurate................. ........ 38 ,Le
3.2.1. Structura liniard.. ..... 3g 4-0
3.2.2. Structura a|ternativ5............... .......................39 Evaluart
3.2.3. Structura repetitiva................. ....................... 43
3.3. Algoritmi elementari ........50 5. Implr
3.3.1. Algoritmi pentru interschimbare................ ....................... S0 5.1. S
3.3.2. Algoritmipentru determinarea maximului(minimului) .....52 5.2.T1
3.3.3. Algoritmi pentru prelucrarea cifrelor unui numdr .............54 5.3. h
3.3.4.Algoritmipentrucalculareac.m.m.d.c. 5-!
3.3.5. Algoritmi pentru testarea unui numdr prim.......1... ...........62 st
3.3.6. Algoritmi pentru prelucrarea divizorilor unui numir. ........65 5.4. A
3.3.7. Algoritmi pentru conversiiintre sisteme de numeralie.......................68 5-{
3.3.S.Algoritmipentrugenerareagirurilorrecurente.... .............71 5-{
3.4. Eficienla a|goritmi|or...............................;.... .........73
3.5. Aplicarea algoritmilor................. ........18 5-1
3.5.1. Rezolvarea problemelor de matematici.............. ............78 5-{
3.5.2. Rezolvarea problemelor de fizici .................82 5-{
Evaluare .................. 85 5:l
5.1
4. Implementarea algoritmilor................ ...............89
4.1. Caracteristicile limbajului de programare ............... ................. Bg Evaluan
4.2. Structura programului............... ......... 91 5.s. F
4.3. lnstrucliunile declarative............. .......93 5.6.1
4.3.1. Tipuri de date..... ..... 93
4.3.2. Constantele........
5I
.....95 5-l
4.3.3. Declararea variabilelor de memorie..... ......... 96 5J
4.3.4. Declararea constantelor simbolice ............. .....................9g
4.3.5. Declararea tipurilor de datl utilizator...... ......99
4.4. Operaliile de citire gi scriere..... ........ 100
Evaluare ................1C,4
4.5. Expresia gi instrucliunea expresie .............. ........ 106
4.5.1. Operatorii aritmetici............... ...107
4.5.2. Operatorul'pentru conversie implicitd .........109
4.5.3. Operatorii pentru incrementare 9i decrementare.............................. 1.11
4.5.4. Operatorii rela!iona1i.............. ...113
4.5.5. Operatorii logici .....113
4.5.6. Operatorii logici pe bi{i .............114
4.5.7. Operatorii de atribuire .............. 181
4.5.8. Operatorulcondiliona|............ .....................121
4.5.9. Operatorul virgulS ....................123
4.5.10. Operatoruldimensiune ..........125
4.5.1f. Precedenla giasociativitatea operatorilor............. .......125
Evaluare ................127
4.6. lnstrucliunile de control ................... 131
4.6.1. lnstructiunea if...else ............... 131
4.6.2. lnstrucliunea switch...case................. .......134
4.6.3. lnstrucliunea while......... .........137
4.6.4. lnstrucliunea for.............. .........139
4.6.5. lnstrucliunea do...while.. .........146
Evaluare ...............149
5. Implementarea structurilor de date.. ..............155
5.1. Structurile de date.. ......155
5.2. Tablourile de memorie ............... ...... 158
5.3. lmplementarea tablourilor de memorie in limbajul C++............ ................162
5.3.l.Tabloulcuosinguridimensiune-vectorul ..................162
5.3.2. Tabloulcu doud dimensiuni- matricea ......164
5.4. Algoritmi pentru prelucrarea tablourilor de memorie ............. 166
5.4.1. Algoritmi pentru parcurgerea tablourilor dememorie .... 166
.,.....,..,..,,..71 5.4.2. Algoritmi pentru cdutarea unui element intr-un tablou
de memorie ...........174
5.4.3. Algoritm pentru gtergerea unui element dintr-un vector ...................176
5.4.4. Algoritm pentru inserarea unui element intr-un vector .....................177
5.4.5. Algoritmi pentru sortarea unui vector.. ........179
5.4.6. Algoritm pentru interclasarea a doi vectori ....................188
5.4.6. Aplicarea algoritmilor pentru prelucrarea tablourilor
memorie
de ...........190
Evaluare ............... 193
5.5. Fi9iere1e................. ........201
............
5.6. lmplementarea figierelor text in limbajul C++ ............204
.............
5.6.1. Fluxuri de date pentru figiere text .....................205
5.6.2. Citiri gi scriericu format ...........210
figiere
5.6.3. Aplicalii cu prelucriri de ...................213
f'

I
{
I
I
fl
T
fl

{
il
i
fl
.d.8e"-,

Informatica

2. Datele
lndiferent de tipul der
printr-un gir de oiti I
2.1. Definifia datelor
gramare are impleru
Datele sunt obiecte prelucrate de algoritm. dintre tipul de data g r

Agadar, orice sistea


aibi definit clar ql
nirea urmdtoarelor el
/ cum poate fi ider{
Din punct de vedere logic, data este definitd printr-o tripleti: / cum va fi reprezerl
data elementari = (identificator, valoare, atribute)
/ ce propriet5ti are r
/ cum potfi grupab
ldentificatorul datei
2.1.1. Clasificar
ldentificatorul datei este un nume format din unul sau mai multe caractere gi este
atribuit unei date de cdtre cel care definegte data, pentru a o putea distinge de alte Clasificarea datelor s
date gi pentru a putea face referiri la ea in procesul de prelucrare a datelor. De f . in functie de mcr
exemplu alfa, al l sau b1_1. / date de intrar
Fiecare limbaj de programare are implementat diferit conceptul de identificator al
/ date intermed
datei, practicAnd constrAngeri pentru:
/ date de iegire
/ numirul maxim de caractere din nume (de exemplu, 10 caractere in 2. in funclie de valo
limbajului programare Visual Basic
cazul / date variabih
Ai 64 de caractere in cazul limbajului de pro- / date constaril
gramare Pascal),
/ caracterele acceptate in nume (de exemplu, majoritatea limbajblor de progra- 3. in funclie de mod
mare nu accepti in nume decdt cifre, Iitere 9i caracterul linie de subliniere), gi
/ dale elemert
/ / structuri ded
caracterul care poate fi folosit la inceputul numelui (de exemplu, marea ma-
joritate a limbajelor de programare nu accepti ca numele unei date si inceapd 4. in functie de tip
cu o cifri).
/ dale numeril
/ date logice;
De aceea, atuncicAnd invdlalisd definitigisi manipulalidate folosind un anumit limbaj / dale giruride
de programare, trebuie sd aflalice constrangeriexistd pentru identificatoruldatei.
Valoarea datei Clasificarea in fun
Valoarea datei reprezintd conlinutul zonei de memorie in care este stocatd data. Datele se clasifici in:
Se definegte ca domeniu de definitie a! datei mul[imea valorilor pe care le poate / Date de intrare. I
lua data in procesul de prelucrare. algoritmului. Sunt
produse in urma I
Atributele datei eveniment. De ex
Atributeie sunt proprietd{i ale datelor care determii i modul prelucrate de pm
in care sistemul va
trata datele. Cel mai important atribut este tipul datei. torului. lntroducer
Informatica 13

, Datele
lndiferent de tipul de date ales, reprezentarea datei in memoria calculatorului se face
printr-un gir de bi{i. Pentru a realiza aceastd reprezentare, frecare limbaj de pro-
gramare are implementali algoritmi de codificare care asiguri corespondenta
dintre tipulde datd gi girul de bi!i, atdt la scrierea datelor, cdt gi la citirea lor.

Agadar, orice sistem care prelucreazi informatia sub formi de date trebuie si
aibi definit clar conceptul de dati. Definirea conceptului de datii implicd defi-
nirea urmitoarelor elemente:
/ cum poate fi identificatd data?
/ cum va fi reprbzentatd data in memoria calculatorului?
/ ce proprietS{iare data?
}} / cum pot fi grupate datele in coleclii de date?
2.I.1. Clasifi carea datelor
ts caractere qi este
ba drstinge de alte Clasificarea datelor se poate face folosind mai multe criterii:
rare a datelor. De 't. in functie de momentul in care se produc in fluxul de informatie:
/ date de intrare;
/ date intermediare;
I de rdentificator al / date de iegire.
caractere in cazul
2. in funclie de valoare:
/ datevariabile;
IFmbajului de pro- / dateconstante.

rtajelor de progra-
3. in funclie de modul de compunere:
/ date elementare;
de subliniere), gi / structuri de date.
emplu. marea ma- 4. in functie de tip:
ei date si inceapd / dale numerice;
/ date logice;
ird un anumit limbaj / date giruride caractere.
batoruldatei.
Clasificarea in functie de momentul in care se produc
Datele se clasificd in:
este stocatd data. / Date de intrare. EIe reprezintd datele care urmeazd si fie prelucrate in cadrul
r pe care le poate algoritmului. Sunt folosite pentru a descrie diverse evenimente gi sunt informafii
produse in urma realizdrii unui eveniment, adicd evaludri neprelucrate ale acelui
eveniment. De exemplu, pot fi date de intrare notele unui elev. Pentru a putea fi
prelucrate de procesor, datele sunt introduse in memoria interni a calcula-
r care sistemul va
torului. lntroducerea datelor se face prin intermediul unor echipamente speci-
14 llatele Infonnaticr
alizate in citirea informa$ei, numlte dispozitive de intrare (tastaturS, scanner,
creion optic etc.). Dispozltivul standard de intrare este tas{afnra.
/ Date de iegire. Ele sunt folosite pentru a descrie rezultatete ob$nute in urma
prelucdrilor din cadrul algoritmului gi fumizeazd informafiile pentu care a fost Scop:
realizat algoritmul, ca de exemplu mediile semesbiale gi anuale ale elevului- Enunlut
Datele de iegire sunt produse de procesor in urma opera$ei de prelucrare gi de la
sunt depuse in memoria intemd- Pentu afivzualizatede om, el6 suntexhasedin
memoria intemi prin intermediul unor ecfripamente specializate in scrierea inbr- in urma
ma$ei, numite dispozitive de iegirc (ecran, imprimanEi etc.). Dispozitivul r' Funclia
standard de iegire elte xnnul- gisei
/ Date intermediarc sau de manevri. Ele sunt folosite in cadrul atgorifnului
pentru realizarea unor prelucrdri. merele
le de
in vederea prelucrdrii, datete pot fi pdskate temporar in memoria intemd sau in
memoria extemd (discul flexibil, hard{iscul, discul compact etc-)- openatia se nu-
/ Pentru
meqte stocarea datelor. diare
pnn
introdus de
pentru a
tastaturi,
(inainte de
r' lnformalia
interni a
SC
suma la
Agadar, datele
/ Date de
/ Date
/ Date de
iar algoritmul
se calculeazi
Pasul 1.
Pasul 2.
Pasul 3.
Pasul 4.

. preluuare Pasul 5.
Pasul 6.
in memoria extemi datele sunt pdstrate in figiere- un figier este o colecfie de Pasul 7.
date organizate ca o singuri unitate. Dacd datele sunt @sbate in figiere" ete
vor putea fi folosite ulterior ca date de intrare int-un alt algorihn. Pasul 8.
Agadar, orice rezolvare de problemd incepe prin definirea datelor, oontinud cu Pasul 9.
prelucrarea lor in conformihte cu algorihnul futosit gi se termind fie cu afiEarea vabrii Pasu! 10. T
lor, fie cu stocarea lor pe un mediu de memorare in vedelea prelucrdrii tor utbrbr-
Detele Informatica 15

scanner,

!n urma
se a fost scop: exemplificarea tipurilor de date care pot sd apard intr-un algoritm.
ale ebvului. problemei: Sd se calculeze media aritmeticd a n numere intregi introduse
_Enunful
9r de la tastaturd.
ednasedin
anbr- in urma analizei problemei se obfine specificafia programului:
Ilspeitivul r' Funclia programului. Se calculeazd suma numerelor introduse de la tastaturi
gi se imparte la numirul de elemente n.
algodfnului / lnformatiile de intrare sunt: numirulde elemente ale mul{imiide numere gi nu-
merele care se citesc. Reprezentarea interni a informaliei se va face prin date-
le de intrare: n pentru numdrul de numere gi a pentru un numdr citit curent.
sau in r' Pentru operafiile executate in cadrul algoritmului se vor folosi datele interme-
se nu-
diare suma in care se calculeazd suma numerelor introduse de la tastaturi,
prin intermediul datei de intrare a, 9i i prin care se numiri c6te numere s-au
introdus de la tastaturi la un moment dat. Data intermediard i este necesari
pentru a afla cAnd se termini procesul de introducere a celor n numere de la
tastaturi, avdnd funclia unui contor. Valoarea inilial5 a sumei gi a contorului
(inainte de a se citi primul numdr) este 0.
z lnformatia de iegire va fi media aritmeticd a celor n numere. Reprezentarea
internd a mediei aritmetice se va face prin data de iegire media a cireivaloare
se calculeazd prin impi(irea sumei calculate cu ajutorul datei intermediare
suma la numirul de elemente memorat in data de intrare n.
Agadar, datele folosite pentru rezolvarea acestei probleme sunt:
/ Date de intrare: n gi a.
/ Date intermediare: suma 9i l.
/ Date de iegire: media.
iar algoritmul de rezolvare a problemei va prezenta un set unic de operalii prin care
se calculeazi valoarea mediei, oricare ar fi numirul de numere gi valorile lor:
Pasu! f. inceput.
Pasul 2. Comunicd valoarea pentru n.
Pasul 3. Atribuie vatorile ini[iale datelor suma gi i: suma=O gi i=0.
Pasul4. compard i<n. Dacd este adevdrat, executd pasut i; atttel, executd
Pasul 8.
Pasul 5. Comuiicd valoarea pentru a.
Pasul 6. calculeazd suma=suma+a (adund ta sumd noua valoare a tuia).
colectie de Pasul 7. Calculeazd i=i+l (cregte contorul i cu 1 deoarece s-a maicitit un numdr a).
figiere, ele Mergi la Pasul 4.
Pasul8. Catcuteazdmedia=sumaln.
continui cn
Pasul g. Comunicd valoarea datei media
Preul 10. Terminat.
valorii
ulterirr.
16 Datele Informatica

Observalii: / lnformafiile ds i
1. Pagiicare conlin acliunide comunicare folosesc numaidate de intrare gide iegi- se va face prin I
re, nu gi date intermediare. Datele intermediare apar numai in pagi care conlin matematicS. arir
acliuni de calcul, de atribuire sau de comparare. Algoritmul de rezolvl
2. Valoarea datelor de iegire se calculeazd in cadrul algoritmului 9i se comunici calculeazi valoaree,
printr-o opera[ie de scriere. Pentru calcularea datelor de ieqire se folosesc date
de intrare gi/sau date intermediare. Aceste date trebuie sd aibi o ialoare inainte
Pasul f. incepd-
de a fi folosite in pagii care conlin acliuni de calcul. Valoarea datelor de intrare
Pasul2. Comw*
este comunicatd prin opera[ia de citire de la tastaturd. Datelor intermediare li se
Pasul3. Atnbubt
atribuie o valoare ini[iald in cadrul algoritmului. - a Pasul4. Compd
Pasul5. Comur*
3. Orice noui operatie de citire executati cu o dati de intrare ais- <ffi> Pasul6. Calculq
truge vechea vatoare memorati in dati. PasulT.
'F Comur*
Pasu!8. Calculq
Clasificarea tn functie de valoare MergibJ
Datele se clasificd in: Pasul9. Termint
/ Date variabile sau variabile de memorie. Pe parcursul procesului de prelu- Datele n, i, arie gi rs
crare, valoarea acestor date se poate modifica, in limitele domeniului de defini- execulie a algoritmd
mai multe valori
!ie. ln timpul execuliei programului ele pot avea o valoare iniliald, telor i, r gi ana se rn
intermediare gi o valoare finald. in exemplul precedent pentru calcularea mediei a za gi se calculeazi ;
n numere introduse de la tastaturi, data suma are o valoare ini(iali 0, mai multe stanti. lndiferent de
valori intermediare, c€rte una pentru fiecare operalie de citire a unui numdr a, 9i o este aceeagi qi corer
valoare finalS, oblinutd dupa ce s-au citit toate cele n numere'
/ Date constante sau constante. Pe tot parcursul procesului de prelucrare, data Enunful problemei I
igi va pdstra aceeagi valoare din domeniul de defini[ie al datei. in urma analizei prd
/ Funclia proglirl
/ lnformafiile de I
mei rezultd ci a=,
Scop: exemplificarea tipurilor de date care pot sd apard intr-un algolitm. cu doud cifre), rt
intrare constant
Enunful problemei 1: Sd se calculeze aria pentru n cercuri, fiecare cerc avdnd o trebuie citite de b
razd precizatd r. / lnformatia de ie1
in urma analizei problemei se obline specificalia programului: internd a unui nrn
/ Functia programului. Se calculeazd aria pentru n cercuri folosind formula culeazi prin incre
matematici aria=Exf2, unde r este raza unuia dintre cele n cercuri. Algoritmulde rezolm
,z lnformatiile de intrare sunt: numirul de cercuri, razele cercurilor gi valoarea
numirului n. Reprezentarea internd a informaliei se va face prin datele de Pasul 1. inceput.
intrare: n pentru numirul de cercuri, r pentru raza unui cerc, 9i pi pentru Pasul 2. Atribuiet
numdrul a Pasul 3. Compad
/ Pentru opera[iile executate in cadrul algoritmului se va folosi data intermediari i Pasul4. Calculq
care reprezintd numdrul cercului pentru care se calculeazd aria. Aceasti datd
Pasul5. Comunki
intermediard este necesard pentru a afla cAnd se termind procesul de calculare a
Pasul6. TerminaL
ariei celor n cercuri qi are valoarea ini[iald 0 (nu s-a calculat aria nici unui cerc).
Datele Informatica 17
z lnformafiile de iegire vor fi ariile celor n cercuri. Reprezentarea internd a ariei
ntare 9i de iegi- se va face prin data de iegire aria a cdrei valoare se calculeazd prin formula
pagi care con{in matematicd . aria= rxr2.
Algoritmul de rezolvare a problemei va prezenta un set unic de operalii prin care se
9i se comunicd calculeazi valoarea ariei, oricare ar fi numirul de cercuri gi valoarea razelor lor:
;e fo;osesc date
r valoare inainte Pasul {. inceput.
ateior de intrare Pasul 2. Comunicd valoarea pentru n.
terrnediare li se Pasul 3. Atribuie valoarea iniliatd contorului i: i=0.
Pasul4. Compard ist. Dacd este adevdrat, executd Pasul 5; altfel, executd Pasul 9.
Pasul 5. Comunicd valoarea pentru r.
edis-.)EHl Pasul 6. Calculeazd 2yil=pixtz.
Pasul 7. Comunicd valoarea ariei pentru cercul i.
Pasu! 8. Calculeazd i=i+1 (cregte contorul i cu 1 deoarece s-a citit raza unuicerc r).
Mergila iasul4.
Pasuf 9. Terminat.
su ;. de prelu- Datele n,i,arie gi rsuntdatevariabile.Valoareadatei nsemodificapentrufiecare
niul- de defini-
execufie a algoritmului (corespunde valorii introduse de la tastaturi). Valoarea da-
nai :rulte valori
telorl, rgi aria se modificd in funclie de numdrul cercului pentru care se citegte ra-
ularea mediei a
za gi se calculeazd aria in timpul execu[iei algoritmului. Data pi este o datd con-
116 0 mai multe
stanti. lndiferent de datele de intrare cu care se executd algoritmul, valoarea ei
ui n.:mdr a, gi o
este aceeagi gi corespunde valorii numdrului z

rei*crare, data Enunlul problemei 2: sd se afigeze numerele pare care au doud cifre.
in urma analizei problemei se obfine specificalia programului:
/ Funclia programului. se genereazi numerele pare dintr-un interval [a,b].
z lnformatiile de intrare sunt limitele intervalului. Deoarece din enunlul proble-
mei rezultd cd a=10 (primul numir par cu doui cifre) gi b=98 (ultimul numir par
ritr^ cu doud cifre), reprezentarea internd a informafiei se va face prin datele de
intrare constante: 70 gi 98. Deoarece aceste date au valori constante. ele nu
e cerc avand o
trebuie citite de la tastaturi.
"' Informafia de iegire vor fi numerele pare din intervalul precizat. Reprezentarea
internd a unui numir par se va face prin data de iegire n a cdrei valoare se cal-
closind formula culeazi prin incrementarea cu 2 a valorii anterioare.. n=n+2.
uri
Algoritmul de rezolvare a problemeiva fi:
ilor 9i valoarea
prin datele de Pasul 1. fnceput.
c, gi pi pentru Pasul 2. Atribuie valoarea initiald numdrului n: n=l0.
Pasul 3. Compard n3l8. Dacd es,r- adevdrat executdPasul4, altfel executdpasul 6.
t intermediari I
Pasul 4. Calcuteazd n--n+2.
Pasul 5. Comunicd valoarea lui n. Mergila pasul 3.
r- Aceastd datd
rlde calculare a Pasul6. Terminat.
ci unui cerc).

W'
W Ii!

wtb-
a
"$L,A ,n,

18 Datele Informatica

Glasificarea in functie de modul de compunere


Datele se clasificS in:
/ Date simple sau date elementare. Sunt date independente unele de altele din
punct de vedere al reprezentdrii lor in memorie. Chiar daci ele pot depinde din
punct de vedere logic (valoarea unei date este dependenti de valoarea altei problen-i fi
date), ele nu depind din punct de vedere fizic (localizarea unei date pe suportul
F.l"!r.t
b tastaturd. yt
de memorare nu se face in func[ie de localia unei alte date pe suport). in caliu-
Enunlul problenrci
larea ariei unui cerc, datele n, i, r gi ara sunt date elementare.
numere otdonate
/ Date compuse sau structuri de date. Sunt coleclii de date intre care existi anu-
mite relalii. Fiecare componentd a structurii are o anumitd pozifie in cadrul struc- Penbu problema 1

turii, iar toate componentele formeazd un intreg, astfel incit prelucrarea se poate unui numdr prin
face atit la nivelul structurii de date (care poate fi considerati o entitate de sine 9i variabila de
stitdtoare), cit gi la nivelul fiecdrei componente. Pentru fiecare tip de structurd de Pentru problema 2
date in limbajul de programare trebuie si fie defini(i algoritmi de localizare a com- ranjarea intro
ponentelor in cadrul structurii de date. intre componentele structurii existd gi Sbeze in memorb
legituri de confinut, adicd intregul ansamblu de date din colecfie poate carac- in vederea ordoniri_
teriza un obiect, o persoanS, un fenomen, un proces etc. De exemplu, o coleclie
cu 12 elemente in care se memoreazi valorile lunare ale unui contor electric.
Structura de date caracterizeazd in acest caz un proces: consumul lunar de ener- 2.12. Tipul da
gie electrici. Agadar orice obiect, proces sau fenomen din lumea reald poate fi
caracterizat printr-o listd de proprietifi. Valorile proprietd[ilor din listd pot fi repre- Tpuldatei determklt
zentate in calculator (lumea virtuald) sub forma unei colec{ii de date.
/ dimensiunea
r' operatorii carc
Sd ne inchipuim ci intr-un algoritm trebuie reprezentati o clasi: profesorul gi cei n / modul in care
elevi. Ei reprezintd datele pe care le prelucreazi algoritmul. Profesorului ii va cores- care in binar a
punde o dati elementarS, iar grupului de elevi o structuri de date. Locul ocupat in
clasd de fiecare dintre ei reprezinti zona de memorie alocati datei: catedra este zona Tipuldateieste deffil
de memorie alocati profesorului, iar grupul de bdnci, zona de memorie alocatd elevilor.
V = domeniul de d{
Cele doud zone sunt independente. in schimb, in cadrul zonei de binci (zona de 0= mu[imea oper{
memorie a structurii de date), fiecdrui element de structuri (elevul) i se aloci un loc Limbajere*r,*I
intr-o bancd, pozilia sa putAnd fi identificatd dupd numdrul bdncii. Daci pentru grupul
de elevi nu s-ar folosi o structuri de date, ci date elementare, fiecdrei date elementare
va trebui si ii dim un nume, iar algoritmul ar fi foarte greu de scris. ln primul rind nu
gtim cite date elementare si folosim pentru elevi. Algoritmul trebuie si fie general,
deci si funclioneze gi pentru o clasi cu 25 de elevi, dar gi pentru o clasi cu 30 de
elevi. ln timpulanuluigcolar, poate sd vind in clasi un elev nou sau poate si plece din Tipul numeric i
clasi un elev. Ce se intdmpli in acest caz cu datele elementare, deoarece la o
execulie a algoritmului, atunci cdnd vine un elev nou in clasd ar trebui si apari o noui
Tipul numenc a rost
zecimale, pozitive san I
i
dati elementari, iar la o alti execu$e a algoritmului, atunci c6nd pleaci un elev din lice intilnite in
clasi, trebuie si dispari o dati elementard? Solulia este de a folosi o colecfie de date. nracfi{
Colec[ia va avea atAtea elemente cAte binci sunt in clasi. Se va folosi un singur nume Deci: V =R(mulff
de datd care se va atribuicolecliei, fiecare element identificindu-se apoidupi numdrul O =lvll wi
bdncii.

: r*ra,rt*r{
' "r$rn",
Mul[mea operatorilor rd
Informatica
19

; altele din
Scop: exemplificarea moduluide compunere a datelor.
epinde din
fea altei Enunlul problemei 1: Sd se calculeze media aritmeticd a n
numere introduse de
e suportul la tastaturd.
)- ln calcu-
Enuntu! probtemei 2: Se introduc n numere de ta tastaturd.
Sd se afigeze acesfe
n u me re ord on ate cre scdtor.
xbtd anu-
tul struc- Pentru problema 1 se pot folosi numai date elementare, deoarece, dupd citirea
I se poate unui numir prin intermediul datei a, el se pretucreazi
imediat (se aduni la sumi)
b de sine givariabila de memorie va putea fi refolositd apoi pentru
citirea unui alt numir.
nrcturd de Pentru problema
Ie a com- 2 nu sepoate fotosi dec6t o coleclie de date, deoarece, pentru
aranjarea intr-o anumitii ordine a celor n numere citite
i existd de la tastaturd trebuie si se
9i pdsfeze Cn memorie toate
.udre.ruesre date penru
aceste oare pentru a se putea compara
& carac- in vederea ordondrii.
compa intre ele
o colecfie jF(
I electric,
ide ener- 2.12. Tiput datei
E poate fi
f, fi repre- Tipul datei determind:
/ dimensiunea zonei de memorie arocate datei (se m5soard in
octe{i);
/ operatorii care pot fi aplicali pe acea datd;
ilgicein / modul in care data este reprezentatii in memoria interni (metoda
uzl cores- de codifi-
care in binar a valorii datei).
otpat in
Tipuldateieste definit prin dubtetut( V,O
Este zona ), unde:
V = domeniul de definitie intem al datel;
E elevilor.
(zona de o= mulfimea operatorilor care se pot aplica pe mul[imea de valori
ale datei.
p un loc Limbajele de programare acceptd urmdtoarele tipuri
de date:
|u gruput
bmentare
I rano nu
i general,
ur 30 de
phce din Tipul numeric
tce la o Tipul numenb a fost imp6mentat pentru reprezentarea numerelor
16 o noui intregi sau cu
zecimale, pozitive sau negative, gi pentru a iealiza majoritatea
I elev din opera{iilor matema-
tice intAlnite in practicd. pentu tipuinumeric exisu
; de date. suniipuriG rea-l'giintreg.
EIr nume Deci: v = R (mur[imea numereror reare) sau r (murfimea numereror intregi)
I numdrul O =*11 wR2

' Mulgmea operatorilor matematici.


' Multimea operatorilor relationali (de comparare).
20 Datele Inforrrd!

Constantele de tip numeric se reprezintd prin numere cu semn sau semn, folosin- firi 2.2.OJ
du-se punctul pentru separarea pd(ii intregi de partea zecimalS: 2; -0.15;3.175;20.0.
Ce"'atqr
eic ) pril i
Tipul logic --- atgrl
Tipul logic sau boolean a fost implementat pentru reprezentarea datelor care nu Er. iF 2ce!
pot lua decdt doui valori: adevdrat (frue), pe care o notdrh cu f, sau fals (false), ds-ca qt
pe care o notdm cu F.

Deci: V = L (mullimea valorilor logice) = {7, n


O=-C3

Tipul gir de caractere


Tipul gir de caractere a fost implementat pentru reprezentarea unei mul[imi ordo- 3le"atu- I
nate de caractere care este tratatd ca un tot unitar. :,e-': anf
Deci: V = {Pc} (mulfimea pd(ilor mullimii C4) ::,.-' an *
O=8,.u Cs zi ^a] req
in memoria internd, fiecare caracter din gir se reprezintd prin codul sdu ASCll.
Constantele de tip gir de caractere se specifici prin mullimea ordonati de carac-
tere care compun girul, delimitatS, in funclie de limbajul de programare, de T
anumite semne speciale: apostrofuri ('Buna ziua') sau ghilimele ("Buna ziua"). {=d
alfa ----> identificator de datd elementard
"alfa' I constructii
'alfa" f gregite
"alfa"'\
'alfa' - constante de tip
I --+
I

"500" srr de caractere Operaffi


'5OO' J

500 ---+ constantd de tip numeric


Se apti:I g
Constanta de tip numeric 500 este diferiti de constanta de tip gir de caractere "500"
at6t din punct de vedere al modului de reprezentare in memoria interni a calcu- Operator l
latorului, cAt gi din punct de vedere al operatorilor acceptali. De exemplu, asupra con- + ,adtrt
stantei numerice se pot aplica operatori matematici gi relalionali, iar asupra constantei r-----ffi
de tip gir de caractere operatori de concatenare gi relalionali. Constanta de tip numeric ?
-l 'l'r,partrc
este reprezentatd in memoria interni prin conversia in binar a numirului, iar constanta ' ' innrd
de tip gir de caractere este reprezentatd prin conversia fiecdrui caracter din gir in B , *1e ,

lrirdh
cifre bi nare corespu nzdtoare cod ul ui ASC I I al caracteru lu i respectiv.
, puEn

t Cwinte ru
3
Multimea operatorilor logici. un inteles E
' Multimea caracterelor care este formatd din litere, cifre gi semne speciale. Conv-rrF
u
Mrliirea operatorilor de concatenare. sal adi:i g
Datele Informatica 21

mn, folosin- 2.2. Operatorii


.175. 20.0.
operatorii sunt caractere speciale (*, /, >, = etc.) sau cuvinte cheieo (mod, and
etc.) prin intermediul cdrora se reprezintd operatiile care se efectueazd in cadrul
unui algoritm. Fiecare limbaj de programare are implementat propriul set de opera-
tori. in acest capitol vor fi prezentali operatorii care se folosesc in cadrul unui algoritm.
br care nu
ftals (false),

uhimi ordo-

sdu ASCll.
i de carac- Tipuloperanzilor Tipuloperatorului;'Tipulrezultatului
ramare, de
'. b
,6tgi #.', r- c ,

ziua"). numeric matematic ( lvl ) numeric


numeric retalionat ( 7L ) togic
gir de caractere concatenare ( C ) gir de caractere
gir de caractere rela[ional(fr.) togic
logic logic ( -C) togic

Operatorii matematici
1,,; .$:1ffi,1ft+i fi,i,ifio *i*;
se aplicd pe date de tip numeric ai furnize azd un rezultat de tip numeric.
ttere "500"
rni a calcu- Operator Semnificatie xemnlu
asupra con- + (adunare Aduni matematic cei doioperanzi. 5+2=7
a constantei - (scidere Scade al doilea operand din primulooerand. 7-3=4
e tip numeric / iimpartire reale lmparte primul operand la al doilea operand. 712=3.5
ir constanta ulttre lnmulteste cei doi operanzi. 2*4=B
r din gir in 8
l^ (ridicare la Ridici primul operand la puterea furnizati de 2**3=8
outere) cel de al doilea operand.

" Cuvinte
rezervate, care nu mai pot fi folosite ca identificatori pentru date, deoarece ele au
-n in,teles bine stabilit pentru limbajul de programare.
Convenlie de notare: Semnul I plasat intre doud elemente are semnificalia conjuncliei
::v. adicd pentru operafia de ridicare la putere pot fi folosite simbolurile ** sau simbolul '
^.

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