Informatica - Clasa 9 - Manual. Profilul real (Mate Info ... · Valoarea datei reprezintd...

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.

Transcript of Informatica - Clasa 9 - Manual. Profilul real (Mate Info ... · Valoarea datei reprezintd...

MTNTSTERUL EDUCATIET NATIONALE

Mariana Milogescu

lltlorlnallciProlilul real

Specializarea:matematici-informatici, intensiv informatici

Monuol penlru closo o lX. o

ffiffiWdF* d

EDrruRA DtDAcrol g, ,roouoctcA, R.A.

Cuprins

l.Informatica qi societatea. ...................31.1. Prelucrarea informa!ii1or............ ........... 31.2. lnformatica ............. ...............,... ...........41.3. Etapele rezolvdrii unei probleme................ ............7\ 1.4. Algoritmul ....... 8

2.1. Definilia datelor........ .......122.1.1. Clasificarea datelor........ ............ 132.1.2.Tipul datelor........ ....................... 19

2.2. Operatorii................ ........212.3. Expresii1e............... .........26

Evaluare ..................30

3. A1goritmii............... ..........363.1. Reprezentarea algoritmilor ................ 363.2. Principiile programdrii structurate................. ........ 38

3.2.1. Structura liniard.. ..... 3g3.2.2. Structura a|ternativ5............... .......................393.2.3. Structura repetitiva................. ....................... 43

3.3. Algoritmi elementari ........503.3.1. Algoritmi pentru interschimbare................ ....................... S03.3.2. Algoritmipentru determinarea maximului(minimului) .....523.3.3. Algoritmi pentru prelucrarea cifrelor unui numdr .............543.3.4.Algoritmipentrucalculareac.m.m.d.c.3.3.5. Algoritmi pentru testarea unui numdr prim.......1... ...........623.3.6. Algoritmi pentru prelucrarea divizorilor unui numir. ........653.3.7. Algoritmi pentru conversiiintre sisteme de numeralie.......................683.3.S.Algoritmipentrugenerareagirurilorrecurente.... .............71

3.4. Eficienla a|goritmi|or...............................;.... .........733.5. Aplicarea algoritmilor................. ........18

3.5.1. Rezolvarea problemelor de matematici.............. ............783.5.2. Rezolvarea problemelor de fizici .................82Evaluare .................. 85

4. Implementarea algoritmilor................ ...............894.1. Caracteristicile limbajului de programare ............... ................. Bg4.2. Structura programului............... ......... 914.3. lnstrucliunile declarative............. .......93

4.3.1. Tipuri de date..... ..... 934.3.2. Constantele........ .....954.3.3. Declararea variabilelor de memorie..... ......... 964.3.4. Declararea constantelor simbolice ............. .....................9g

4-34.4.q

Evaluart,4.5. B

4.q4-54-t4-q45454-545454.54.5

Evaluart4.6. h

4-64.84.6,Le4-0

Evaluart

5. Implr5.1. S5.2.T15.3. h

5-!st

5.4. A5-{5-{

5-1

5-{5-{5:l5.1

Evaluan5.s. F5.6.1

5I5-l5J

4.3.5. Declararea tipurilor de datl utilizator...... ......994.4. Operaliile de citire gi scriere..... ........ 100

Evaluare ................1C,44.5. Expresia gi instrucliunea expresie .............. ........ 106

4.5.1. Operatorii aritmetici............... ...1074.5.2. Operatorul'pentru conversie implicitd .........1094.5.3. Operatorii pentru incrementare 9i decrementare.............................. 1.11

4.5.4. Operatorii rela!iona1i.............. ...1134.5.5. Operatorii logici .....1134.5.6. Operatorii logici pe bi{i .............1144.5.7. Operatorii de atribuire .............. 1 184.5.8. Operatorulcondiliona|............ .....................1214.5.9. Operatorul virgulS ....................1234.5.10. Operatoruldimensiune ..........1254.5.1f. Precedenla giasociativitatea operatorilor............. .......125

Evaluare ................1274.6. lnstrucliunile de control ................... 131

4.6.1. lnstructiunea if...else ............... 1314.6.2. lnstrucliunea switch...case................. .......1344.6.3. lnstrucliunea while......... .........1374.6.4. lnstrucliunea for.............. .........1394.6.5. lnstrucliunea do...while.. .........146

Evaluare ...............149

5. Implementarea structurilor de date.. ..............1555.1. Structurile de date.. ......1555.2. Tablourile de memorie ............... ...... 1585.3. lmplementarea tablourilor de memorie in limbajul C++............ ................162

5.3.l.Tabloulcuosinguridimensiune-vectorul ..................1625.3.2. Tabloulcu doud dimensiuni- matricea ......164

5.4. Algoritmi pentru prelucrarea tablourilor de memorie ............. 1665.4.1. Algoritmi pentru parcurgerea tablourilor de memorie .... 1665.4.2. Algoritmi pentru cdutarea unui element intr-un tablou

de memorie ...........1745.4.3. Algoritm pentru gtergerea unui element dintr-un vector ...................1765.4.4. Algoritm pentru inserarea unui element intr-un vector .....................1775.4.5. Algoritmi pentru sortarea unui vector.. ........1795.4.6. Algoritm pentru interclasarea a doi vectori ....................1885.4.6. Aplicarea algoritmilor pentru prelucrarea tablourilor

de memorie ...........190Evaluare ............... 193

5.5. Fi9iere1e................. ........2015.6. lmplementarea figierelor text in limbajul C++ ............ ............204

5.6.1. Fluxuri de date pentru figiere text ............. .....................2055.6.2. Citiri gi scriericu format ...........2105.6.3. Aplicalii cu prelucriri de figiere ...................213

.,.....,..,..,,..71

f'

I{

I

IflT

fl

{ilifl

.d.8e"-,

2.1. Definifia datelorDatele sunt obiecte prelucrate de algoritm.

Informatica

lndiferent de tipul derprintr-un gir de oiti I

gramare are implerudintre tipul de data g r

Agadar, orice sisteaaibi definit clar qlnirea urmdtoarelor el/ cum poate fi ider{/ cum va fi reprezerl/ ce propriet5ti are r

/ cum potfi grupab

2.1.1. ClasificarClasificarea datelor sf . in functie de mcr

/ date de intrar/ date intermed/ date de iegire

2. in funclie de valo/ date variabih/ date constaril

3. in funclie de mod/ dale elemert/ structuri ded

4. in functie de tip/ dale numeril/ date logice;/ dale giruride

Clasificarea in fun

Datele se clasifici in:/ Date de intrare. I

algoritmului. Suntproduse in urma Ieveniment. De exprelucrate de pmtorului. lntroducer

2. Datele

Din punct de vedere logic, data este definitd printr-o tripleti:

data elementari = (identificator, valoare, atribute)

ldentificatorul datei

ldentificatorul datei este un nume format din unul sau mai multe caractere gi esteatribuit unei date de cdtre cel care definegte data, pentru a o putea distinge de altedate gi pentru a putea face referiri la ea in procesul de prelucrare a datelor. Deexemplu alfa, al l sau b1_1.

Fiecare limbaj de programare are implementat diferit conceptul de identificator aldatei, practicAnd constrAngeri pentru:/ numirul maxim de caractere din nume (de exemplu, 10 caractere in cazul

limbajului programare Visual Basic Ai 64 de caractere in cazul limbajului de pro-gramare Pascal),

/ caracterele acceptate in nume (de exemplu, majoritatea limbajblor de progra-mare nu accepti in nume decdt cifre, Iitere 9i caracterul linie de subliniere), gi

/ caracterul care poate fi folosit la inceputul numelui (de exemplu, marea ma-joritate a limbajelor de programare nu accepti ca numele unei date si inceapdcu o cifri).

De aceea, atuncicAnd invdlalisd definitigisi manipulalidate folosind un anumit limbajde programare, trebuie sd aflalice constrangeriexistd pentru identificatoruldatei.

Valoarea datei

Valoarea datei reprezintd conlinutul zonei de memorie in care este stocatd data.Se definegte ca domeniu de definitie a! datei mul[imea valorilor pe care le poatelua data in procesul de prelucrare.

Atributele datei

Atributeie sunt proprietd{i ale datelor care determii i modul in care sistemul vatrata datele. Cel mai important atribut este tipul datei.

Informatica

lndiferent de tipul de date ales, reprezentarea datei in memoria calculatorului se faceprintr-un gir de bi{i. Pentru a realiza aceastd reprezentare, frecare limbaj de pro-gramare are implementali algoritmi de codificare care asiguri corespondentadintre 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 siaibi 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 datelorClasificarea datelor se poate face folosind mai multe criterii:'t. in functie de momentul in care se produc in fluxul de informatie:

/ date de intrare;/ date intermediare;/ date de iegire.

2. in funclie de valoare:/ datevariabile;/ dateconstante.

3. in funclie de modul de compunere:/ date elementare;/ structuri de date.

4. in functie de tip:/ dale numerice;/ date logice;/ date giruride caractere.

Clasificarea in functie de momentul in care se producDatele se clasificd in:/ Date de intrare. EIe reprezintd datele care urmeazd si fie prelucrate in cadrul

algoritmului. Sunt folosite pentru a descrie diverse evenimente gi sunt informafiiproduse in urma realizdrii unui eveniment, adicd evaludri neprelucrate ale aceluieveniment. De exemplu, pot fi date de intrare notele unui elev. Pentru a putea fiprelucrate de procesor, datele sunt introduse in memoria interni a calcula-torului. lntroducerea datelor se face prin intermediul unor echipamente speci-

13

, Datele

}}

ts caractere qi esteba drstinge de alterare a datelor. De

I de rdentificator al

caractere in cazulI Fmbajului de pro-

rtajelor de progra-de subliniere), gi

emplu. marea ma-ei date si inceapd

ird un anumit limbajbatoruldatei.

este stocatd data.r pe care le poate

r care sistemul va

14 llatele

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 urmaprelucdrilor din cadrul algoritmului gi fumizeazd informafiile pentu care a fostrealizat algoritmul, ca de exemplu mediile semesbiale gi anuale ale elevului-Datele de iegire sunt produse de procesor in urma opera$ei de prelucrare gisunt depuse in memoria intemd- Pentu afivzualizatede om, el6 suntexhasedinmemoria intemi prin intermediul unor ecfripamente specializate in scrierea inbr-ma$ei, numite dispozitive de iegirc (ecran, imprimanEi etc.). Dispozitivulstandard de iegire elte xnnul-

/ Date intermediarc sau de manevri. Ele sunt folosite in cadrul atgorifnuluipentru realizarea unor prelucrdri.

in vederea prelucrdrii, datete pot fi pdskate temporar in memoria intemd sau inmemoria extemd (discul flexibil, hard{iscul, discul compact etc-)- openatia se nu-meqte stocarea datelor.

. preluuare

in memoria extemi datele sunt pdstrate in figiere- un figier este o colecfie dedate organizate ca o singuri unitate. Dacd datele sunt @sbate in figiere" etevor putea fi folosite ulterior ca date de intrare int-un alt algorihn.

Agadar, orice rezolvare de problemd incepe prin definirea datelor, oontinud cuprelucrarea lor in conformihte cu algorihnul futosit gi se termind fie cu afiEarea vabriilor, fie cu stocarea lor pe un mediu de memorare in vedelea prelucrdrii tor utbrbr-

Infonnaticr

Scop:

Enunlutde la

in urmar' Funclia

gisei

merelele de

/ Pentrudiarepnnintrodus depentru atastaturi,(inainte de

r' lnformaliainterni aSC

suma la

Agadar, datele/ Date de/ Date/ Date deiar algoritmulse calculeazi

Pasul 1.Pasul 2.Pasul 3.Pasul 4.

Pasul 5.Pasul 6.Pasul 7.

Pasul 8.Pasul 9.Pasu! 10. T

Detele

scanner,

!n urmase a fost

ale ebvului.9r

ednasedinanbr-

Ilspeitivul

algodfnului

sau inse nu-

colectie defigiere, ele

continui cnvalorii

ulterirr.

Informatica

scop: exemplificarea tipurilor de date care pot sd apard intr-un algoritm.

_Enunful problemei: Sd se calculeze media aritmeticd a n numere intregi introdusede la tastaturd.

in urma analizei problemei se obfine specificafia programului:r' Funclia programului. Se calculeazd suma numerelor introduse de la tastaturi

gi se imparte la numirul de elemente n./ 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.r' Pentru operafiile executate in cadrul algoritmului se vor folosi datele interme-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-auintrodus de la tastaturi la un moment dat. Data intermediard i este necesaripentru a afla cAnd se termini procesul de introducere a celor n numere de latastaturi, 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. Reprezentareainternd a mediei aritmetice se va face prin data de iegire media a cireivaloarese calculeazd prin impi(irea sumei calculate cu ajutorul datei intermediaresuma 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 carese 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).Pasul 7. Calculeazd i=i+l (cregte contorul i cu 1 deoarece s-a maicitit un numdr a).

Mergi la Pasul 4.Pasul8. Catcuteazdmedia=sumaln.Pasul g. Comunicd valoarea datei mediaPreul 10. Terminat.

15

16 Datele

Observalii:1. Pagiicare conlin acliunide comunicare folosesc numaidate de intrare gide iegi-

re, nu gi date intermediare. Datele intermediare apar numai in pagi care conlin

acliuni de calcul, de atribuire sau de comparare.

2. Valoarea datelor de iegire se calculeazd in cadrul algoritmului 9i se comuniciprintr-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

de a fi folosite in pagii care conlin acliuni de calcul. Valoarea datelor de intrare

este comunicatd prin opera[ia de citire de la tastaturd. Datelor intermediare li se

atribuie o valoare ini[iald in cadrul algoritmului. - a

3. Orice noui operatie de citire executati cu o dati de intrare ais- <ffi>truge vechea vatoare memorati in dati. 'F

Clasificarea tn functie de valoare

Datele se clasificd in:/ Date variabile sau variabile de memorie. Pe parcursul procesului de prelu-

crare, valoarea acestor date se poate modifica, in limitele domeniului de defini-

!ie. ln timpul execuliei programului ele pot avea o valoare iniliald, mai multe valori

intermediare gi o valoare finald. in exemplul precedent pentru calcularea mediei a

n numere introduse de la tastaturi, data suma are o valoare ini(iali 0, mai multe

valori intermediare, c€rte una pentru fiecare operalie de citire a unui numdr a, 9i o

valoare finalS, oblinutd dupa ce s-au citit toate cele n numere'

/ Date constante sau constante. Pe tot parcursul procesului de prelucrare, data

igi va pdstra aceeagi valoare din domeniul de defini[ie al datei.

Scop: exemplificarea tipurilor de date care pot sd apard intr-un algolitm.

Enunful problemei 1: Sd se calculeze aria pentru n cercuri, fiecare cerc avdnd o

razd precizatd r.

in urma analizei problemei se obline specificalia programului:/ Functia programului. Se calculeazd aria pentru n cercuri folosind formula

matematici aria=Exf2, unde r este raza unuia dintre cele n cercuri.

,z lnformatiile de intrare sunt: numirul de cercuri, razele cercurilor gi valoarea

numirului n. Reprezentarea internd a informaliei se va face prin datele de

intrare: n pentru numirul de cercuri, r pentru raza unui cerc, 9i pi pentru

numdrul a/ Pentru opera[iile executate in cadrul algoritmului se va folosi data intermediari i

care reprezintd numdrul cercului pentru care se calculeazd aria. Aceasti datd

intermediard este necesard pentru a afla cAnd se termind procesul de calculare a

ariei celor n cercuri qi are valoarea ini[iald 0 (nu s-a calculat aria nici unui cerc).

Informatica

/ lnformafiile ds ise va face prin ImatematicS. arir

Algoritmul de rezolvlcalculeazi valoaree,

Pasul f. incepd-Pasul2. Comw*Pasul3. AtnbubtPasul4. CompdPasul5. Comur*Pasul6. CalculqPasulT. Comur*Pasu!8. Calculq

MergibJPasul9. Termint

Datele n, i, arie gi rsexeculie a algoritmdtelor i, r gi ana se rnza gi se calculeazi ;

stanti. lndiferent deeste aceeagi qi corer

Enunful problemei I

in urma analizei prd/ Funclia proglirl/ lnformafiile de I

mei rezultd ci a=,cu doud cifre), rtintrare constanttrebuie citite de b

/ lnformatia de ie1internd a unui nrnculeazi prin incre

Algoritmulde rezolm

Pasul 1. inceput.Pasul 2. AtribuietPasul 3. CompadPasul4. CalculqPasul5. ComunkiPasul6. TerminaL

Datele

ntare 9i de iegi-pagi care con{in

9i se comunicd;e fo;osesc dater valoare inainteateior de intrareterrnediare li se

edis-.)EHl

su ;. de prelu-niul- de defini-nai :rulte valoriularea mediei a116 0 mai multeui n.:mdr a, gi o

rei*crare, data

ritr^

e cerc avand o

closind formulauri

ilor 9i valoareaprin datele dec, gi pi pentru

t intermediari Ir- Aceastd datdrlde calculare aci unui cerc).

Informatica

z lnformafiile de iegire vor fi ariile celor n cercuri. Reprezentarea internd a arieise va face prin data de iegire aria a cdrei valoare se calculeazd prin formulamatematicd . aria= rxr2.

Algoritmul de rezolvare a problemei va prezenta un set unic de operalii prin care secalculeazi valoarea ariei, oricare ar fi numirul de cercuri gi valoarea razelor lor:

Pasul {. inceput.Pasul 2. Comunicd valoarea pentru n.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.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.

Datele n,i,arie gi rsuntdatevariabile.Valoareadatei nsemodificapentrufiecareexecufie a algoritmului (corespunde valorii introduse de la tastaturi). Valoarea da-telorl, rgi aria se modificd in funclie de numdrul cercului pentru care se citegte ra-za gi se calculeazd aria in timpul execu[iei algoritmului. Data pi este o datd con-stanti. lndiferent de datele de intrare cu care se executd algoritmul, valoarea eieste aceeagi gi corespunde valorii numdrului zEnunlul 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 parcu doud cifre), reprezentarea internd a informafiei se va face prin datele deintrare constante: 70 gi 98. Deoarece aceste date au valori constante. ele nutrebuie citite de la tastaturi.

"' Informafia de iegire vor fi numerele pare din intervalul precizat. Reprezentareainternd a unui numir par se va face prin data de iegire n a cdrei valoare se cal-culeazi prin incrementarea cu 2 a valorii anterioare.. n=n+2.

Algoritmul de rezolvare a problemeiva fi:

Pasul 1. fnceput.Pasul 2. Atribuie valoarea initiald numdrului n: n=l0.Pasul 3. Compard n3l8. Dacd es,r- adevdrat executdPasul4, altfel executdpasul 6.Pasul 4. Calcuteazd n--n+2.Pasul 5. Comunicd valoarea lui n. Mergila pasul 3.Pasul6. Terminat.

17

W wtb-

W'Ii!

a"$L,A

18 Datele

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 dinpunct de vedere logic (valoarea unei date este dependenti de valoarea alteidate), ele nu depind din punct de vedere fizic (localizarea unei date pe suportulde memorare nu se face in func[ie de localia unei alte date pe suport). in caliu-larea ariei unui cerc, datele n, i, r gi ara sunt date elementare.

/ 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-turii, iar toate componentele formeazd un intreg, astfel incit prelucrarea se poateface atit la nivelul structurii de date (care poate fi considerati o entitate de sinestitdtoare), cit gi la nivelul fiecdrei componente. Pentru fiecare tip de structurd dedate in limbajul de programare trebuie si fie defini(i algoritmi de localizare a com-ponentelor in cadrul structurii de date. intre componentele structurii existd gi

legituri de confinut, adicd intregul ansamblu de date din colecfie poate carac-teriza un obiect, o persoanS, un fenomen, un proces etc. De exemplu, o colecliecu 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-gie electrici. Agadar orice obiect, proces sau fenomen din lumea reald poate ficaracterizat printr-o listd de proprietifi. Valorile proprietd[ilor din listd pot fi repre-zentate in calculator (lumea virtuald) sub forma unei colec{ii de date.

Sd ne inchipuim ci intr-un algoritm trebuie reprezentati o clasi: profesorul gi cei nelevi. Ei reprezintd datele pe care le prelucreazi algoritmul. Profesorului ii va cores-punde o dati elementarS, iar grupului de elevi o structuri de date. Locul ocupat inclasd de fiecare dintre ei reprezinti zona de memorie alocati datei: catedra este zonade memorie alocati profesorului, iar grupul de bdnci, zona de memorie alocatd elevilor.Cele doud zone sunt independente. in schimb, in cadrul zonei de binci (zona dememorie a structurii de date), fiecdrui element de structuri (elevul) i se aloci un locintr-o bancd, pozilia sa putAnd fi identificatd dupd numdrul bdncii. Daci pentru grupulde elevi nu s-ar folosi o structuri de date, ci date elementare, fiecdrei date elementareva trebui si ii dim un nume, iar algoritmul ar fi foarte greu de scris. ln primul rind nugtim 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 deelevi. ln timpulanuluigcolar, poate sd vind in clasi un elev nou sau poate si plece dinclasi un elev. Ce se intdmpli in acest caz cu datele elementare, deoarece la oexeculie a algoritmului, atunci cdnd vine un elev nou in clasd ar trebui si apari o nouidati elementari, iar la o alti execu$e a algoritmului, atunci c6nd pleaci un elev dinclasi, trebuie si dispari o dati elementard? Solulia este de a folosi o colecfie de date.Colec[ia va avea atAtea elemente cAte binci sunt in clasi. Se va folosi un singur numede datd care se va atribuicolecliei, fiecare element identificindu-se apoidupi numdrulbdncii.

,n,

F.l"!r.t problen-i fib tastaturd. yt

Informatica

Enunlul problenrcinumere otdonate

Penbu problema 1

unui numdr prin

9i variabila de

Pentru problema 2ranjarea introSbeze in memorbin vederea ordoniri_

2.12. Tipul daTpuldatei determklt/ dimensiunear' operatorii carc/ modul in care

care in binar a

Tipuldateieste deffilV = domeniul de d{0= mu[imea oper{

Limbajere*r,*I

Tipul numeric iTipul numenc a rost izecimale, pozitive san Ilice intilnite in nracfi{Deci: V =R(mulff

O =lvll wi

: "r$rn", r*ra,rt*r{

' Mul[mea operatorilor rd

Informatica19

; altele dinepinde dinfea alteie suportul)- ln calcu-

xbtd anu-tul struc-I se poateb de sinenrcturd deIe a com-i existd 9i& carac-o colecfieI electric,ide ener-E poate fif, fi repre-

ilgiceinuzl cores-otpat inEste zonaE elevilor.(zona dep un loc

|u gruputbmentareI rano nui general,ur 30 dephce dintce la o16 o nouiI elev din; de date.

EIr numeI numdrul

Scop: exemplificarea moduluide compunere a datelor.Enunlul problemei 1: Sd se calculeze media aritmeticd a n numere introduse dela tastaturd.

Enuntu! probtemei 2: Se introduc n numere de ta tastaturd. Sd se afigeze acesfen u me re ord on ate cre scdtor.

Pentru problema 1 se pot folosi numai date elementare, deoarece, dupd citireaunui numir prin intermediul datei a, el se pretucreazi imediat (se aduni la sumi)givariabila de memorie va putea fi refolositd apoi pentru citirea unui alt numir.Pentru problema 2 nu sepoate fotosi dec6t o coleclie de date, deoarece, pentruaranjarea intr-o anumitii ordine a celor n numere citite de la tastaturd trebuie si sepdsfeze Cn memorie toate aceste date pentru a se putea compain vederea ordondrii.

.udre.ruesre oare penru a se putea compara intre ele jF(

2.12. Tiput dateiTipul datei determind:/ dimensiunea zonei de memorie arocate datei (se m5soard in octe{i);/ operatorii care pot fi aplicali pe acea datd;/ modul in care data este reprezentatii in memoria interni (metoda de codifi-

care in binar a valorii datei).

Tipuldateieste definit prin dubtetut( V,O ), unde:V = domeniul de definitie intem al datel;o= mulfimea operatorilor care se pot aplica pe mul[imea de valori ale datei.

Limbajele de programare acceptd urmdtoarele tipuri de date:

Tipul numericTipul numenb a fost imp6mentat pentru reprezentarea numerelor intregi sau cuzecimale, pozitive sau negative, gi pentru a iealiza majoritatea opera{iilor matema-tice intAlnite in practicd. pentu tipuinumeric exisu suniipuriG rea-l'giintreg.Deci: v = R (mur[imea numereror reare) sau r (murfimea numereror intregi)

O =*11 wR2

' Mulgmea operatorilor matematici.' Multimea operatorilor relationali (de comparare).

20 Datele

Constantele de tip numeric se reprezintd prin numere cu semn sau firi semn, folosin-du-se punctul pentru separarea pd(ii intregi de partea zecimalS: 2; -0.15;3.175;20.0.

Tipul logic

Tipul logic sau boolean a fost implementat pentru reprezentarea datelor care nupot lua decdt doui valori: adevdrat (frue), pe care o notdrh cu f, sau fals (false),pe care o notdm cu F.

Deci: V = L (mullimea valorilor logice) = {7, nO=-C3

Tipul gir de caractere

Tipul gir de caractere a fost implementat pentru reprezentarea unei mul[imi ordo-nate de caractere care este tratatd ca un tot unitar.

Deci: V = {Pc} (mulfimea pd(ilor mullimii C4)

O=8,.u Csin 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, deanumite semne speciale: apostrofuri ('Buna ziua') sau ghilimele ("Buna ziua").

alfa ----> identificator de datd elementard

constructiigregite

- constante de tip--+srr de caractere

---+ constantd de tip numeric

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-latorului, cAt gi din punct de vedere al operatorilor acceptali. De exemplu, asupra con-stantei numerice se pot aplica operatori matematici gi relalionali, iar asupra constanteide tip gir de caractere operatori de concatenare gi relalionali. Constanta de tip numericeste reprezentatd in memoria interni prin conversia in binar a numirului, iar constantade tip gir de caractere este reprezentatd prin conversia fiecdrui caracter din gir in B

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

3 Multimea operatorilor logici.' Multimea caracterelor care este formatd din litere, cifre gi semne speciale.u Mrliirea operatorilor de concatenare.

"alfa' I'alfa" f"alfa"'\'alfa' I

"500" I'5OO' J

500

Inforrrd!

2.2.OJCe"'atqreic ) pril i--- atgrlEr. iF 2ce!

ds-ca qt

3le"atu- I

:,e -': anf::,.-' an *zi ^a]

Operaffi

Se apti:I g

-l

Operator l

+ ,adtrtr-----ffi? 'l'r,partrc' ' , innrd, *1e

lrirdh, puEn

t Cwinte ruun inteles E

Conv-rrFsal adi:i g

req

T=d{

Datele

mn, folosin-.175. 20.0.

br care nuftals (false),

uhimi ordo-

sdu ASCll.i de carac-ramare, deziua").

ttere "500"rni a calcu-asupra con-a constanteie tip numericir constantar din gir in 8

Informatica

2.2. Operatoriioperatorii sunt caractere speciale (*, /, >, = etc.) sau cuvinte cheieo (mod, andetc.) prin intermediul cdrora se reprezintd operatiile care se efectueazd in cadrulunui 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.

21

Tipuloperanzilor Tipuloperatorului;'Tipulrezultatului'. ,6tgi b #.', r- c ,

numeric matematic ( lvl ) numericnumeric retalionat ( 7L ) togic

gir de caractere concatenare ( C ) gir de caractererela[ional(fr.) togic

logic ( -C) togic

gir de caracterelogic

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.

" 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 ^.

'

Operator Semnificatie xemnlu+ (adunare Aduni matematic cei doioperanzi. 5+2=7- (scidere Scade al doilea operand din primulooerand. 7-3=4

/ iimpartire reale lmparte primul operand la al doilea operand. 712=3.5ulttre lnmulteste cei doi operanzi. 2*4=B

l^ (ridicare laoutere)

Ridici primul operand la puterea furnizati decel de al doilea operand.

2**3=8