informatica

112
INFORMATICĂ Constantin Zăvoianu SISTEME DE NUMERAŢIE ŞI CODIFICAREA INFORMAŢIILOR 1.Noţiuni introductive Definiţia 1. Un sistem de numeraţie este format din totalitatea regulilor de reprezentare a numerelor cu ajutorul unor simboluri numite cifre. Definiţia 2. Numărul total de cifre distincte, utilizate într-un sistem de numeraţie se numeşte baza sistemului şi se notează de obicei cu b. Există sisteme de numeraţie cu baze diferite, baza fiind un număr natural mai mare decât 1, iar cifrele unui sistem de numeraţie cu baza b, sunt cuprinse între 0 şi (b-1) inclusiv. Sistemele de numeraţie sunt poziţionale si nepoziţionale, iar în cele ce urmează, ne vom ocupa numai de sistemele de numeraţie poziţionale, acestea prezentând interes din punctul de vedere al codificării informaţiilor ce urmează a fi prelucrate cu ajutorul unui calculator electronic folosind un anumit limbaj de programare. Definiţia 3. Un sistem de numeraţie se numeşte poziţional dacă valoarea unei cifre este dată de poziţia pe care aceasta o ocupă în cadrul unui număr. De exemplu, dacă în sistemul de numeraţie zecimal (b=10) cosiderăm numărul: n = 1 9 9 9 numărul de unităţi │ ││└ numărul de zeci │ │└─ numărul de sute │ └── └─── numărul de mii constatăm că, în funcţie de poziţia pe care o ocupă, cifra 9 are valori diferite. 2.Reprezentarea poziţională a unui număr în baza b Pentru numerele care au numai parte întreagă, reprezentarea poziţională este de forma: (1) [] N aa aa p n n 1 1 0 , iar pentru numerele care au atât parte întreagă cât şi parte fracţionară, reprezentarea poziţională este de forma: (2) , unde a X p = [] m n n a a a a a a a ± 2 1 0 1 1 , i sunt cifre în baza b, =− i m , . n 3.Reprezentarea algebrică a unui număr în baza b Orice număr care are reprezentarea poziţională de forma (1) are reprezentarea algebrică de forma: (1') [] ( ) N ab a b ab ab a n n n n = ± + + + + 1 1 1 1 0 0 , iar numerele a căror reprezentare poziţională este de forma (2), au reprezentarea algebrică de forma: (2') [] ( ) X ab a b ab ab a b a b a n n n n m m = ± + + + + + + + 1 1 1 1 0 0 1 1 , unde a i sunt cifre în baza b, =− i m , . n Exemplu:Dacă în sistemul de numeraţie zecimal considerăm numerele: Np = 54678 şi Xp = - 8759,45 ; acestea se află în reprezentarea poziţională, iar reprezentarea algebrică a acestor numere este: N a = 5·10 4 + 4·10 3 + 6·10 2 +7·10 1 + 8·10 0 , respectiv: X a = -(8·10 4 + 7·10 3 + 5·10 2 + 7·10 1 + 9·10 0 + 4·10 -1 + 5·10 -2 ). 1

description

informaticaLiceul de informaticaFacultatea de stiinte Petrosanicurs

Transcript of informatica

Page 1: informatica

INFORMATICĂ Constantin Zăvoianu

SISTEME DE NUMERAŢIE ŞI CODIFICAREA INFORMAŢIILOR

1.Noţiuni introductive

Definiţia 1. Un sistem de numeraţie este format din totalitatea regulilor de reprezentare

a numerelor cu ajutorul unor simboluri numite cifre. Definiţia 2. Numărul total de cifre distincte, utilizate într-un sistem de numeraţie se

numeşte baza sistemului şi se notează de obicei cu b. Există sisteme de numeraţie cu baze diferite, baza fiind un număr natural mai mare decât

1, iar cifrele unui sistem de numeraţie cu baza b, sunt cuprinse între 0 şi (b-1) inclusiv. Sistemele de numeraţie sunt poziţionale si nepoziţionale, iar în cele ce urmează, ne vom

ocupa numai de sistemele de numeraţie poziţionale, acestea prezentând interes din punctul de vedere al codificării informaţiilor ce urmează a fi prelucrate cu ajutorul unui calculator electronic folosind un anumit limbaj de programare.

Definiţia 3. Un sistem de numeraţie se numeşte poziţional dacă valoarea unei cifre este dată de poziţia pe care aceasta o ocupă în cadrul unui număr.

De exemplu, dacă în sistemul de numeraţie zecimal (b=10) cosiderăm numărul: n = 1 9 9 9 numărul de unităţi │ ││└ numărul de zeci

→│ │└─

numărul de sute →

→│ └──

└─── numărul de mii →

constatăm că, în funcţie de poziţia pe care o ocupă, cifra 9 are valori diferite.

2.Reprezentarea poziţională a unui număr în baza b

Pentru numerele care au numai parte întreagă, reprezentarea poziţională este de forma:

(1) [ ]N a a a ap n n= ± −1 1 0… ,

iar pentru numerele care au atât parte întreagă cât şi parte fracţionară, reprezentarea poziţională este de forma: (2) , unde aX p = [ ] mnn aaaaaaa −−−−± …… 21011 , i sunt cifre în baza b, ∀ = −i m , .n

3.Reprezentarea algebrică a unui număr în baza b Orice număr care are reprezentarea poziţională de forma (1) are reprezentarea algebrică de forma: (1') [ ]( )N a b a b a b a ba n

nn

n= ± + + + +−−

11

11

00… ,

iar numerele a căror reprezentare poziţională este de forma (2), au reprezentarea algebrică de forma: (2') [ ]( )X a b a b a b a b a b a ba n

nn

nm

m= ± + + + + + + +−−

−−

−−

11

11

00

11… … ,

unde ai sunt cifre în baza b, ∀ = −i m , .n Exemplu:Dacă în sistemul de numeraţie zecimal considerăm numerele: Np = 54678 şi

Xp = - 8759,45 ; acestea se află în reprezentarea poziţională, iar reprezentarea algebrică a acestor numere este: Na = 5·104 + 4·103 + 6·102 +7·101 + 8·100, respectiv: Xa = -(8·104 + 7·103 + 5·102 + 7·101 + 9·100 + 4·10-1 + 5·10-2).

1

Page 2: informatica

INFORMATICĂ Constantin Zăvoianu

Comentariu: Cea mai simplă generalizare a sistemului de numeraţie zecimal, se obţine când facem ca baza să fie orice număr întreg mai mare decât 1, iar cifrele sistemului să fie cuprinse între 0 şi (b-1) inclusiv.

Pentru sistemele de numeraţie a căror bază este mai mică decât 10, avem suficiente simboluri cu care să reprezentăm cifrele ( simbolurile din sistemul de numeraţie zecimal), iar pentru sistemele de numeraţie cu baza mai mare decât 10, trebuie să introducem simboluri noi, cu care să codificăm cifrele mai mari decât 9, pentru a evita unele situaţii confuze. În acest sens se recurge la literele alfabetului latin A,B,C,D,E,F,G,... care corespund în ordine cifrelor 10,11,12,13,14,15,16,... . Deoarece după scriere nu se poate afirma în mod unic, în ce bază este scris un număr, se va scrie baza ca indice.

Dezvoltarea istorică a reprezentării numerelor este o poveste fascinantă, deoarece ea merge în paralel cu însăşi dezvoltarea civilizaţiei. O mare parte a istoriei recente, privind sistemele de numeraţie, este legată de dezvoltarea maşinilor de calcul. Pentru construcţia calculatoarelor se folosesc elemente electronice cu două stări stabile, stări cărora le asociem din punct de vedere logic valorile 0 şi 1, motiv pentru care la baza funcţionării majorităţii calculatoarelor, stă sistemul de numeraţie binar (b=2).

În colaborarea omului cu calculatorul, se dovedesc a fi instrumente intermediare, deosebit de utile sistemul de numeraţie octal (b=8) şi sistemul de numeraţie hexazecimal (b=16), deoarece permit utilizarea unui număr mai mic de semne, pentru simbolizarea unei informaţii şi pentru că există reguli simple de trecere din binar în octal sau hexazecimal, dar şi invers.

Procedeul de trecere a unui număr dintr-un sistem de numeraţie în altul poartă numele de conversie şi se face în conformitate cu anumiţi algoritmi. Precizăm că dacă numărul este negativ se face conversia valorii absolute, iar în faţa rezultatului obţinut se pune semnul "-" (minus), fapt pentru care în cele ce urmează vom trece în revistă modul în care se face conversia numerelor pozitive.

4.Conversia numerelor întregi din baza 10 în baza b Fie.x Z∈ +. Dacă x < b , atunci x10 = xb , iar dacă x b, conversia din baza 10 în baza b se

face astfel: ≥

Conform teoremei împărţirii cu rest a numerelor întregi, putem scrie şirul de egalităţi: x = b · q0 + r0 ; 0 ≤ r0 < b q0 = b · q1 + r1 ; 0 ≤ r1 < b .................. ; .......... qk-1 = b · qk + rk ; 0 ≤ rk < b oprindu-ne la acel k pentru care qk = 0. În acest caz avem că: ( bkk rrrrx 01110 …−= ) adică se iau resturile, în odinea inversă obţinerii lor.

Problemă. Să se convertească numărul x=843 din baza 10 în bazele 2, 8 şi 16. Rezolvare. Vom avea că:

8431101001011151334

10

2

8

16

=

⎨⎪

⎩⎪ B

deoarece:

2

Page 3: informatica

INFORMATICĂ Constantin Zăvoianu

a) b=2. 843 = 2 · 421 + 1 b) b=8. 843 = 8 · 105 + 3 421 = 2 · 210 + 1 105 = 8 · 13 + 1 210 = 2 · 105 + 0 13 = 8 · 1 + 5 105 = 2 · 52 + 1 1 = 8 · 0 + 1 52 = 2 · 26 + 0 26 = 2 · 13 + 0 13 = 2 · 6 +1 c) b=16. 843 = 16 · 52 + 11

52 = 16 · 3 + 4 6 = 2 · 3 + 0 3 = 16 · 0 + 3 3 = 2 · 1 + 1

1 = 2 · 0 + 1

5.Conversia numerelor subunitare din baza 10 în baza b

Fie y (0,1).Conversia lui y din baza 10 în baza b se face prin înmulţiri succesive cu baza, separând de fiecare dată partea întreagă rezultată, după cum urmează:

y · b = r-1 + y1 ; 0 ≤ r-1 < b ; y1∈(0,1) y1 · b = r-2 + y2 ; 0 ≤ r-2 < b ; y2∈(0,1) ........................ ; ............. ; ............. ym-1 · b = r-m + ym ; 0 ≤ r-m < b ; ym∈(0,1) ......................... .............. .............. Procedeul acesta, are în general, un număr infinit de paşi, totuşi în practică se face conversia luând în considerare un număr finit de paşi, în funcţie de precizia aleasă. Dacă ne vom limita la m cifre la partea zecimală, avem că: y10 = (0,r-1r-2...r-m)b.

Problemă. Să se convertească numărul y = 0,273 din baza 10, în bazele 2, 8 şi 16. Rezolvare. Vom avea:

a) b=2. 0,273 · 2 = 0,546 b) b=8. 0,273 · 8 = 2,184 0,546 · 2 = 1,092 0,184 · 8 = 1,472 şi deci: 0,092 · 2 = 0,184 0,472 · 8 = 3,776

0,184 · 2 = 0,368 0,776 · 8 = 6,208 0,368 · 2 = 0,736 0,736 · 2 = 1,472 0,472 · 2 = 0,944 c) b=16. 0,273 · 16 = 4,368

0 2730 0100010110 21360 45

10

2

8

16

,,,,

=

⎨⎪

⎩⎪ E

0,944 · 2 = 1,888 0,368 · 16 = 5,888 0,888⋅ 2 = 1,776 0,888 ⋅ 16 = 14,208

6.Conversia numerelor reale din baza 10 în baza b

Fie z∈R+. Numărul z se poate exprima în mod unic sub forma: z = [z] + {z}, unde prin [z] şi {z} am exprimat partea întreagă şi respectiv, partea fracţionară a numărului z. Pentru a realiza conversia lui z din baza 10 în baza b, se parcurg următoarele etape: i) - se face conversia părţii întregi;

3

Page 4: informatica

INFORMATICĂ Constantin Zăvoianu

ii) - se face conversia părţii fracţionare; iii) - se concatenează cele două rezultate plasând virgula între ultima cifră rezultată în urma conversiei părţii întregi şi prima cifră obţinută în urma conversiei părţii fracţionare.

Dacă, de exemplu, [z]= x şi {z} = y, unde x şi y admit reprezentările din paragrafele precedente, atunci: z10 = (rkrk-1...r1r0,r-1r-2...r-m)b. Observaţie. Se constată că în urma conversiei din baza 10 în baza b, se obţine reprezentarea poziţională a numărului în baza b.

Problemă .Să se convertească numărul z = 843,273 din baza 10, în bazele 2, 8 şi 16.

Rezolvare. Folosindu-ne de rezultatele din problemele precedente avem că:

843 2731101001011 0100010111513 213634 45

10

2

8

16

,,

,,

=

⎨⎪

⎩⎪ B E

7.Conversia numerelor reale din baza b în baza 10

Pentru a realiza conversia unui număr real, din baza b în baza 10, se procedează astfel:

i) - se trece de la reprezentarea poziţională a numărului în baza b, la reprezentarea algebrică în baza b;

ii) - se exprimă cifrele numărului şi exponenţii care apar în reprezentarea algebrică, prin cifre sau numere în baza 10;

iii) - se efectuează calculele în baza 10 şi se obţine tocmai reprezentarea poziţională a numărului în baza 10. Problemă. Să se convertească în baza 10, numerele: a) n1 = 1101001011,0100010112 b) n2 = 1513,21368 c) n3 = 34B,45E16. Rezolvare. Vom avea: a) n1 = 1·29+1·28+0·27+1·26+0·25+0·24+1·23+0·22+1·21+1·20+0·2-1+1·2-2+0·2-3+0·2-4+0·2-5 +1·2-

6+ +0·2-7+1·2-8+1·2-9 =512+256+64+8+2+1+ 14

164

1256

1512

+ + + .

După efectuarea calculelor vom obţine că: n1 = 843,271484410. b) n2 = 1·83+5·82+1·81+3·80+2·8-1+1·8-2+3·8-3+6·8-4 = 512+320+8+3+ 2

8164

3512

64096

+ + + .

După efectuarea calculelor vom obţine că: n2 = 843,272949210.

c) n3 = 3·162+4·161+B·160+4·16-1+5·16-2+E·16-3=768+64+11+ 416

5256

144096

+ + .

După efectuarea calculelor vom obţine că: n3 = 843,272949210.

8.Conversia numerelor reale din binar în octal, în hexazecimal şi invers

4

Page 5: informatica

INFORMATICĂ Constantin Zăvoianu

a) Conversiile binar ⇔ octal, se fac ţinând cont de faptul că: 08 = 0002 48 = 1002 18 = 0012 58 = 1012 28 = 0102 68 = 1102 38 = 0112 78 = 1112

Practic, se procedează în felul următor: dacă numărul este scris în binar, conversia în octal se face alcătuind din cifrele de la partea întreagă grupe de câte 3 de la dreapta la stânga, iar din cifrele de la partea facţionară grupe de câte 3 de la stânga la dreapta ( prima grupă de la partea întreagă şi ultima grupă de la partea fracţionară se completează eventual în faţă, respectiv în spate cu unul sau două zerouri ) şi apoi fiecare grupă de trei cifre binare se înlocuieşte cu cifra octală corespunzătoare ei.

Invers, dacă numărul este scris în octal, conversia în binar se face înlocuind fiecare cifră octală cu grupul de trei cifre binare, corespunzătoare ei. Problemă. Să se convertească numărul x = 1101001011,010001011 din baza 2 în baza 8. Rezolvare. Avem că: x = 001 101 001 011,010 001 0112 = 1513,2138. Problemă. Să se convertească numărul x = 1513,2136 din baza 8 în baza 2. Rezolvare. Avem că: x = 1513,21368 = 001 101 001 011,010 001 011 110 2, adică: 1513,21358 = 1101001011,010001011112. b) Conversiile binar hexazecimal, se fac ţinând cont de faptul că: ⇔ 016 = 00002 816 = 10002 116 = 00012 916 = 10012 216 = 00102 A16 = 10102 316 = 00112 B16 = 10112 416 = 01002 C16 = 11002 516 = 01012 D16 = 11012 616 = 01102 E16 = 11102 716 = 01112 F16 = 11112.

În acest caz conversia se face la fel ca în cazul precedent, cu precizarea că se vor lua în considerare grupe de câte 4 cifre binare.

Problemă. Să se convertească numărul x = 1101001011,010001011 din baza 2 în baza 16.

Rezolvare. Avem că: x = 0011 0100 1011,0100 0101 11002 = 34B,45C16.Problemă. Să se convertească numărul x = 34B,45E din baza 16 în baza 2. Rezolvare. Avem că: x = 34B,45E16= 0011 0100 1011,0100 0101 11102 , adică:

34B,45E16 = 1101001011,010001011112. 9. Operaţii aritmetice cu numere reprezentate în baza b

Fie Rb mulţimea numerelor reale reprezentate în baza b. Această mulţime are o structură

algebrică de corp comutativ. Cele două legi de compoziţie, adunarea şi înmulţirea le definim astfel: se adună, respectiv se înmulţesc numerele din baza 10 corespunzătoare cifrelor din baza b, iar rezultatul obţinut se converteşte în baza b. Exemple:

5

Page 6: informatica

INFORMATICĂ Constantin Zăvoianu

1) dacă b=2, avem: 2) dacă b=8, avem:

Observaţie.Într-un mod cu totul analog, se alcătuieşte tabla adunării şi tabla înmulţirii

în orice alt sistem de numeraţie. De exemplu, dacă în sistemul de numeraţie hexazecimal, dorim să aflăm cât face D * F, procedăm astfel:

- calculăm 13 * 15 = 195, deoarece D16=1310 şi F16=1510 ; - convertim numărul 195 din baza 10 în baza 16 şi constatăm că D * F = C3.

Problemă:Se dau numerele: x = 111,012

y = 10,112şi se cere să se calculeze : x + y , x - y , x · y şi x : y, calculele efectuându-se în baza 2.

Rezolvare.Operaţiile aritmetice în baza 2 (şi în general în baza b) se efectuează după aceleaşi reguli ca şi în baza 10, cu precizarea că trebuie să se ţină cont de tabla adunării şi tabla înmulţirii în baza respectivă. a) Pentru adunare şi scădere, vom avea: 111 1 ← transport împrumut → 0 10 x 111,01 + x = 1 1 1 , 0 1 - y = 10,11 y = 1 0 , 1 1 x + y = 1010,00 x - y = 1 0 0 , 1 0

Observaţie.Dacă la adunare întâlnim, de exemplu, 1+1 care face 10, scriem 0 şi păstram 1 (caz analog cu 3+7 în baza 10, când scriem 0 şi păstrăm 1 pentru poziţia imediat superioară). Cifrele care se păstrează (se transportă) se vor scrie pentru comoditatea efectuării calculelor, în partea de sus, iar dacă la scădere trebuie scăzut 1 din 0, recurgem la împrumut din prima cifră 1 a descăzutului, întâlnită spre stânga. În acest caz în locul cifrei 1 se pune 0 (deci prima cifră din stânga, diferită de zero se decrementează cu o unitate) şi toate zerourile consecutive ce urmează de la stânga la dreapta după cifra de împrumut se înlocuiesc cu (b-1), adică cu 1, iar ultimul zero se înlocuieşte cu b, adică cu 10 şi apoi se poate face scăderea. b) Pentru înmulţire şi împărţire, vom avea:

+ 0 1 * 0 1 0 0 1 0 0 0

1 0 1

* 0 1 2 3 4

1 1 10

5 6 7 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 7 7 2 0 2 4 6 10 12 14 16 3 0 3 6 11 14 17 22 25 4 0 4 10 14 20 24 30 34 5 0 5 12 17 24 31 36 43 6 0 6 14 22 30 36 44 52 7 0 7 16 25 34 43 52 61

+ 0 1 2 3 4 5 6 7 0 0 1 2 3 4 5 6 7 1 1 2 3 4 5 6 7 10 2 2 3 4 5 6 7 10 11 3 3 4 5 6 7 10 11 12 4 4 5 6 7 10 11 12 13 5 5 6 7 10 11 12 13 14 6 6 7 10 11 12 13 14 15 7 7 10 11 12 13 14 15 16

6

Page 7: informatica

INFORMATICĂ Constantin Zăvoianu

111,01 · 11101 1011 10,11 1011 10,101 11101 1110 1101 1011 11101 1100 10011,1111 1011 1 şi deci x · y = 10011,11112 , iar x : y = 10,1012.

10.Codificarea informaţiilor

Elementele electronice, care stau la baza consrtucţiei calculatoarelor, au un număr finit

de stări stabile. Notându-se cu b numărul stărilor,informaţiile se pot reprezenta ca numere scrise în baza b. În unele cazuri, informaţia, care este de fapt un număr scris în baza b, poate reprezenta şi altceva decât numere. Fie, de exemplu, tabela de corespondenţă:

o literă fiind codificată cu două cifre. Să presupunem, că dispunem de 8 beculeţe, marcate cu pătrăţele puse în linie şi că unele dintre ele pot fi aprinse (starea 1), iar altele stinse (starea 0).Dacă avem, de exemplu, configuraţia:

prin decodificare, conform tabelei menţionate, obţinem cuvântul ABAC, iar dacă vom avea configuratia:

nu ştim să o decodificăm, deoarece în tabel nu se precizează cărui caracter îi corespunde combinaţia de cifre 11.

Se poate constata că semnificaţia unei informaţii cifrice, depinde de regulile sau de raţionamentele pe baza cărora o interpretăm şi deci o succesiune de cifre binare, poate fi considerată ca fiind un număr sau o succesiune de litere, în conformitate cu codul ales. Într-un sens mai larg, putem defini noţiunea de codificare astfel: - fie X = {x1,x2,...,xp} mulţimea simbolurilor primare emise de o sursă de informaţie; - fie B = {b1,b2,...,bn} o mulţime de simboluri elementare; - prin operaţia de codificare, i se asociază fiecărui element xi ∈ X, o secvenţă de simboluri elementare din B, astfel încât să existe o corespondenţă biunivocă între mulţimea X şi mulţimea S formată din secvenţe de simboluri. De exemplu, corespondenţa poate fi de forma:

0 0 1 0 0 1 0 0

0 1 0 0 0 1 1 0

00 A 01 B 10 C

x1 b1b3b6b4b9 = s1 x2 b5b3b2b1 = s2 .................................................... xp b1b1b1b1 = sp.

7

Page 8: informatica

INFORMATICĂ Constantin Zăvoianu

Secvenţele de simboluri s1, s2, ... , sp se numesc cuvinte de cod şi ele formează de fapt nouă mulţime { }psssS ,,, 21 …= Deci, codificarea se poate defini, ca fiind o aplicaţie bijectivă de forma: f : X→ S.

Codul este uniform, dacă toate cuvintele s1, s2, ... , sp au aceeaşi lungime şi este neuniform în caz contrar.

Pentru codificarea informaţiilor, ce urmează a fi prelucrate cu ajutorul unui calculator electronic, mulţimea B este formată din elementele 0 şi 1, adică B ={0,1}, iar cuvintele mulţimii S (care constituie codurile pentru informaţia primară) sunt cuvinte binare de o anumită lungime, în general de 8, 16, 24 sau 32 de biţi. Pentru microprocesorul standard, lungimea cuvântului este de 8 biţi, iar suportul fizic care implementează cuvântul este un registru sau o locaţie de memorie cu capacitatea de 8 biţi (figura 1).

Un cuvânt de 8 biţi se numeste octet sau bait.

b7 b6 b5 b4 b3 b2 b1 b0

└→ bitul cel mai semnificativ └→ bitul cel mai puţin semnificativ Fig.1. Structura unui cuvânt memorie, cu lungimea de 8 biţi.

Informaţiile primare, care se codifică prin cuvinte, în vederea prelucrării ulterioare, cu ajutorul unui calculator electronic, pot fi compuse atât din date numerice cât şi din date alfanumerice, fapt pentru care vom avea două tipuri de coduri: coduri numerice şi coduri alfanumerice.

11.Coduri numerice Prin intermediul cuvintelor binare se pot codifica numere din sistemul de numeraţie

binar, octal, zecimal, hexazecimal, etc., rezultând coduri binare, octal-binare, zecimal-binare, hexazecimal-binare, etc.

11.1. Coduri binare

Există mai multe categorii de coduri binare, dar ne rezumăm la prezentarea codurilor

referitoare la reprezentarea numerelor întregi în cod complementar şi reprezentarea numerelor reale în virgulă mobilă. a) Fie x un număr întreg şi n numărul de poziţii binare pe care se realizează reprezentarea acestuia. Reprezentarea în cod complementar a numărului x, pe care o notăm cu xc se defineşte astfel:

xx x

x xc n=≥

+ <⎧⎨⎩

;;

02 0 unde, de regulă, n ∈ {8,16,24,32}.

De exemplu: 1) dacă x = 5 şi n = 8, atunci xc = 000001012; (se reprezintă 5 în baza 2). 2) dacă x = -5 şi n = 8, atunci xc = 111110112 ; ( se reprezintă 251 în baza 2).

Din definiţia acestui cod se deduce că, dacă numărul este negativ, prima cifră binară este

8

Page 9: informatica

INFORMATICĂ Constantin Zăvoianu

1, iar dacă numărul este pozitiv, prima cifră binară este 0. b) Fie x un număr real oarecare. Forma generală a unui astfel de număr este:

x = [±] xnxn-1...x1x0 ,x-1x-2...x-m unde x ii ∈ ∀ = −{ , , , . . . , } , , .0 1 2 9 m n

Prin înmulţiri succesive cu puteri ale bazei în care este scris numărul, virgula se poate muta la stânga (în acest sens este numită virgulă mobilă), iar forma echivalentă:

x=[±]0,xnxn-1...x1x0x-1x-2...x-m · 10(n+1) = M · 10e

se numeşte formă normalizată ( M = mantisa, e = exponent).

În ceea ce priveşte reprezentarea în virgulă mobilă, aceasta se face pe 4, 6, 8 sau 10 octeţi în simplă sau dublă precizie. Practic, în memoria unui calculator, reprezentarea unui număr real, în virgulă mobilă simplă precizie pe 4 octeţi, se face astfel: într-o sucesiune de 32 de biţi (4 octeţi), a cărei adresă de început este multiplu de 4, se reprezintă pe primul octet, exponentul şi semnul acestuia, iar pe următorii 3 octeţi se reprezintă mantisa şi semnul acesteia, ca în figura 2.

± b6 b5 ... b1 b0 ± b22 b21 ... b16 b15 ... b9 b8 b7 ... b1 b0 └──── ─────┘ └──────────────→→ ←e ←M ───────────────────┘ Fig.2. Reprezentarea unui număr real în virgulă mobilă simplă precizie.

Într-un mod cu totul analog se face şi reprezentarea numerelor reale în dublă precizie,

singura precizare ce trebuie facută este că mantisa se înregistrează 5, 7 sau 9 octeţi şi deci precizia este mult mai mare. Trebuie remarcat faptul că punctul zecimal nu se înregistrează.

11.2. Codul octal-binar

Codul octal-binar, realizează corespondenţa biunivocă între cifrele sistemului de numeraţie octal şi cuvintele formate din trei biţi, aşa cum s-a precizat anterior.

11.3. Codul hexazecimal-binar

Codul hexazecimal-binar, realizează corespondenţa biunivocă între cifrele sistemului de

numeraţie hexazecimal şi cuvintele formate din patru biţi, aşa cum s-a precizat anterior.

12. Coduri alfanumerice

Codificarea datelor alfanumerice este necesară, pentru a putea memora mesaje, dar şi pentru a prelucra informaţii (constante şi variabile) de tip alfanumeric. În mod normal, este necesar să se codifice 88 de caractere distincte, în care sunt cuprinse 52 de simboluri pentru literele mari şi mici ale alfabetului latin, 10 simboluri pentru cifrele sistemului de numeraţie zecimal şi 26 de simboluri corspunzătore caracterelor speciale: (+,-.*,/,=,<,>, etc). Deoarece cu ajutorul cuvintelor de cod formate din n biţi se pot codifica 2n simboluri, deducem că pentru codificarea acestor caractere sunt necesare cuvinte de cod a căror lungime trebuie să fie de cel puţin 7 biţi, pentru că: 64 = 26 < 88 <27 = 128.

Deoarece unitatea constructivă de memorie şi de măsură a memoriei unui calculator este octetul, în care se pot înregistra opt biţi, fiecare caracter alfanumeric se codifică prin 8 biţi

9

Page 10: informatica

INFORMATICĂ Constantin Zăvoianu

şi deci, se pot codifica de fapt 256 de caractere (cele cu codurile mai mari de 128 se numesc caractere speciale).

Cele mai utilizate coduri sunt : ASCII şi EBCDIC. De exemplu, codul ASCII al caracterului A este 65 şi deci octetul în care se înregistrează acest caracter are valoarea binară 01000001. Caracterele ASCII imprimabile sunt prezentate în capitolul TIPURI DE DATE STRUCTURATE, unde se arată şi cum se deduce codul fiecărui caracter. Trebuie precizat că, nici un calculator nu face distinctie între codul unui număr şi codul unui caracter, sarcina aceasta revenind programatorului.

13. Probleme propuse 1. Alcătuiţi tabla adunării şi tabla înmulţirii în baza 16. 2. Să se alcătuiască tabla adunării şi tabla înmulţirii în baza b, unde b∈{3,4,5,6,7,8,9}. 3. Se dau numerele: x=1994,199 şi y=579,436 scrise în sistemul de numeraţie zecimal. Se

cere să se convertescă aceste numere în octal şi hexazecimal şi apoi în fiecare bază, să se calculeze:x+y, x-y, x·y, x:y. Rezultatele obţinute să se convertescă în baza 10 şi apoi să se verifice corectitudinea calculelor efectuate.

4. Se dau numerele x=257,1875 şi y=63,25 scrise în baza 10. Se cere să se convertească în baza b, b {2,3,4,5,6,7} si apoi în fiecare bază, să se calculeze valorile expresiilor: x+y, x-y, x·y, x:y.

5. Să se demonstreze că suma celor mai mari cifre din baza b este numărul 1 2( b − ) din baza b, adică să se demonstreze că ( ) ( ) (b b b− + − = −1 1 1 )2 . 6. Să se demonstreze că produsul celor mai mari cifre din baza b este numărul ( b − 2 1) din

baza b, adică să se demonstreze că ( ) ( ) ( )b b b− × − = −1 1 2 1 .

10

Page 11: informatica

INFORMATICĂ Constantin Zăvoianu

ARHITECTURA UNUI CALCULATOR PERSONAL

Orice calculator personal este alcătuit din componente fizice (hardware) şi componente logice (software) aflate în interacţiune . Componentele logice transformă ansamblul componentelor fizice într-o unealtă plină de viaţă. Ele sunt imparţite în două categorii: 1) - componente logice de bază, fară de care utilizarea calculatorului nu este posibilă. Aceste componente constituie sistemul de operare. Sistemul de operare este format dintr-un ansamblu de programe cu funcţii precise, ce sunt păstrate fie în memoria internă, fie pe un suport extern de informaţie (floppy disc, hard disc sau compact disc). 2) - componente logice pentru aplicaţii, care sut ansambluri de programe, elaborate de utilizatorii calculatorului pentru soluţionarea diferitelor probleme practice, cu care se confruntă în activitatea de zi cu zi. Componentele fizice sunt unitatea centrală, unitatea de memorie, perifericele de intrare şi perifericile de ieşire. Schematic, arhitectura unui alculator personal este prezentată în fig.1, existând totuşi unele particularităţi în funcţie de configuraţia pentru care optează un anumit utilizator.

UNITATEA DE MEMORIE INTERNĂ EXTERNĂ

ROM RAM DISC CD-ROM

PERIFERICE DE

IEŞIRE

PERIFERICE DE

INTRARE

UNITATEA CENTRALĂ

Fig.1. Arhitectura generala a unui calculator personal

UNITATEA CENTRALĂ are rolul de a efectua prelucrarea datelor în conformitate cu instrucţiunile unui program, de a evalua unele funcţii logice, de a gestiona memoria precum şi de a coordona şi sincroniza toate funcţiile calculatorului, fiind componenta principală a oricărui sistem de prelucrare a datelor. Ea este construită în jurul unui microprocesor pe 16, 32 sau 64 de biţi. UNITATEA DE MEMORIE are rolul de a păstra nucleul sistemului de operare, programele utilizatorului, datele de intratre şi datele de ieşire aferente unor programe, precum şi unele rezultate parţiale pe parcursul executării unui program. Unitatea constructivă de memorie şi de măsură a memoriei este octetul sau baitul, în care se pot inregistra opt biţi, fapt pentru care orice octet poate avea 256 de valori distincte. Memoria este organizată ca o mulţime de locaţii de memorie (o locaţie putând fi formată din unul sau mai mulţi octeţi), iar fiecare locaţie este identificată cu o adresă. Adresele sunt numere începând cu zero pentru prima locaţie de memorie (primul octet) şi crescând din unu în unu pentru fiecare octet, până la capacitatea maximă a memoriei. Aceasta capacitate se masoară in kilobaiţi (KB), în megabaiţi (MB) sau gigabaiţi (GB). 1KB=210 baiţi =1024 baiţi; 1MB=210KB, iar 1GB=210MB.

Unitatea de memorie are două componente inconfundabile:memoria intrnă şi memoria externă.

Memoria internă este alcătuită din două zone: 1) memoria ROM (Read Only Memory), care conţine informaţii predefinite, înscrise aici de fabricantul calculatorului, utilizatorul neavând posibilitatea de a modifica aceste informaţii, ci doar să le citească; 2) memoria RAM (Random Acces Memory), în care utilizatorul poate citi şi poate scrie. Spre deosebire de memoria ROM această memorie se şterge odată cu oprirea sau scoaterea calculatorului de sub tensiune.

11

Page 12: informatica

INFORMATICĂ Constantin Zăvoianu

Memoria externă (memoria de masă) este utilă pentru stocarea unor date, a unor programe aplicative sau a unor programe de sistem atât în timpul funcţionării calculatorului cât şi după. Ea poate fi formată din discuri magnetice: floppy discuri (dischete), discuri rigide (hard- discuri) şi compact discuri. PERIFERICELE DE INTRARE servesc pentru transmiterea programelor şi a datelor ce urmează a fi prelucrate, precum şi pentru transmiterea unor comenzi către unitatea centrală şi unitatea de memorie. Principalul periferic de intrare este tastatura, dar rolul de periferic de intrare poate fi indeplinit şi de unităţile de disc magnetic sau de CD-ROM, atunci când programele şi/sau datele sunt citite de pe acestea. PERIFERICELE DE IEŞIRE asigură redarea informaţiilor . Principalul periferic de ieşire este monitorul (alb-negru sau color), dar se mai pot utiliza: imprimanta, unitatea de floppy disc sau cea de hard disc atunci când informaţiile se înregistrează pe suporţi magnetici.

SISTEMUL DE OPERARE MS - DOS (Micro Soft-Disk Operating System)

1.Noţiunea de sistem de operare (SO)

SO reprezintă un ansamblu de programe care permit coordonarea operaţiilor din calculator. Executarea unor programe ale utilizatorilor este întotdeauna insoţită de executarea anumitor programe ale SO. Acestea asigură satisfacerea solicitărilor de resurse în aşa fel încât să permită atât realizarea cerinţelor programului utilizator cât şi cerinţele de optimizare a funcţionării calculatorului. SO îndeplineşte funcţiile:

-gestionarea resurselor unităţii centrale; -gestionarea resurselor dispozitivelor periferice;

-automatizarea efectuării prelucrărilor; -organizarea şi accesul la datele de prelucrat; -simplificarea activităţii de programare.

2.Noţiunea de fişier. Identificarea fişierelor

MS-DOS-ul este un SO portabil (independent faţă de calculatorul pe care este implementat) şi utilizează noţiunea de fişier.

Fişierul este o colecţie organizată de date de acelaşi tip: instrucţiunile unui program scris în limbaj de nivel înalt sau în limbaj de asamblare, o mulţime de articole de acelaşi tip (articolul este format dintr-o mulţime de informaţii care caracterizează total sau parţial un anumit obiect), diferite documente, imagini grafice, etc.. Din punct de vedere al SO un fişier este un şir de octeţi de lungime neprecizată, terminat cu un caracter special care marchează sfârşitul de fişier. Fişierele se înregistrează de obicei pe suporţi magnetici (floppy disc, hard disc, compact disc) şi în acest caz se numesc fişiere disc, dar putem avea şi fişiere de intrare de la tastatură, precum şi fişiere de ieşire la imprimantă.

Identificarea unui fişier disc, se face printr-o construcţie de forma:

[u:][cale] numef[.ext]

unde: u - reprezintă unitatea de disc pe care se află fişierul şi se notează cu o literă urmată de caracterul două puncte(:). Unitatea de floppy disc se identifică prin literele A şi B, unităţile de hard disc se identifică prin literele C, D, E, ..., iar cu ultima literă din această succesiune se identifică unitatea de

12

Page 13: informatica

INFORMATICĂ Constantin Zăvoianu

CD-ROM. cale - reprezintă o ramură dintr-o structură arborescentă definită pe disc; numef - reprezintă numele fişierului şi poate fi format din maxim 8 caractere consecutive; ext - reprezintă extensia şi poatefi formată din maxim 3 caractere consecutive.Caracterele acceptate sunt: - literele mari sau mici de la A la Z; - cifrele sistemului de numeratie zecimal de la 0 la 9; - caracterele speciale: $, &, @, !, %, ',(,), -, _, {,}.

De regulă, numele şi extensia sunt date de utilizator. Printr-o convenţie tacit acceptată, extensia determină clasa din care face parte fişierul respectiv. Astfel: - fisierele care au extensia COM, BAT sau EXE, conţin programe direct executabile (dacă se tastează numele unui astfel de fişier, sistemul de operare îl caută pe disc şi dacă îl găseşte îl incarcă în memoriea internă şi-l lansează automat în execuţie); - fişierele care au extensia BAS, conţin programe sursă scrise în GWBASIC sau QBASIC; - fişierele care au extensia PAS, conţin programe sursă scrise în TURBO PASCAL.

Pentru precizarea numelui de fişier şi a extensiei se pot folosi şi caracterele "?" şi "*" denumite specificatori multiplii. Aceste caractere au semnificaţia: - "?" înlocuieste orice caracter din nume sau extensie, dar numai unul; - "*" înlocuieste unul sau mai multe caractere consecutive din nume sau din extensie. Exemple: -prin PROG?.BAS se face referire la toate fişierele care au extensia BAS si numele format din 5 caractere, primele 4 fiind PROG, iar al cincilea poate fi orice caracter; -prin *.EXE se face referire la toate fişierele care au extensia EXE şi orice nume. Precizare: Nu se pot folosi ca nume de fişier disc, cuvintele CON şi LPT1 sau PRN, prin care se identifică tastatura (consola) ca fişier de intrate şi respectiv imprinanta ca fişier de iesire. Sfârşitul fişierului CON se specifică prin Ctrl+Z sau acţionând tasta fierbinte F6 (în ambele cazuri, pe ecran se afişează ^Z).

3.Structura de arbore a directoarelor Deoarece pe un disc pot exista foarte multe fişiere, cu conţinuturi diferite, este necesară o

grupare sau o clasificare a acestora din punctul de vedere al utilizatorului. Această clasificare se face cu ajutorul unei structuri arborescente, care se poate defini, de exemplu, pe discul din unitatea C, ca în figura:

În această structură avem: C:\ ├────EDITOR ├────BAZA │ ├────STOC │ ├────PLATI │ │ SECT1.TXT │ │ SECT2.TXT │ └────INCASARI BENEF1.TXT │ BENEF2.TXT │ └TP

- directorul rădăcină ( \ ); - directoarele: EDITOR, BAZA şi TP situate pe nivelul 1; -directoarele: STOC,PLATI si INCASARI situate pe nivelul 2; -fişierele: SECT1.TXT si SECT2.TXT situate în directorul PLATI; - fisierele: BENEF1.TXT si BENEF2.TXT situate în directorul INCASARI.

Identificarea fişierului SECT2.TXT se face prin:

a) C:\BAZA\PLATI\SECT2.TXT - dacă suntem pe o altă unitate de disc; b) BAZA\PLATI\SECT2.TXT - dacă suntem în directorul rădăcină din unitatea C; c) PLATI\SECT2.TXT - dacă suntem în directorul BAZA din unitatea C; d) SECT2.TXT - dacă suntem în subdirectorul PLATI din directorul BAZA din unitatea C; e) \BAZA\PLATI\SECT2.TXT - dacă suntem în oricare din directoarele EDITOR, STOC, INCASARI sau GW situate pe discul din unitatea C.

Fişierul BENEF2.TXT se identifică prin: C:\BAZA\INCASARI\BENEF2.TXTdacă

13

Page 14: informatica

INFORMATICĂ Constantin Zăvoianu

suntem pe o altă unitate de disc sau într-un mod cu totul analog modului în care se identifică fişierul SECT2.TXT când suntem în unitatea C .

Descrierile: \BAZA\PLATI\ şi \BAZA\INCASARI\ reprezintă căile de căutare. Observaţie. Pentru a evita calea de căutare se poate intra într-un subdirector şi aici se poate poate lucra ca şi cum am fi în directorul rădăcină al discului.

4.Componentele sistemului de operare MS-DOS

Sistemul de operare MS-DOS este modularizat şi are şase părţi principale: ROM - BIOS , BOOT RECORD, BIO.COM, DOS.COM, COMMAND.COM şi comenzile externe.

1. - programul ROM-BIOS (Basic Input Output System), este un program localizat în memoria ROM a calculatorului şi conţine informaţii despre structura hard a acestuia. Pornirea sistemului începe cu execuţia acestui program care face o testare a funcţionării modulelor calculatorului şi iniţializează unele dintre acestea.Ca ultimă operaţie ROM-BIOS- ul predă controlul programului încărcător de sistem.

2.- programul încărcător de sistem BOOT RECORD, ocupă sectorul 1 de pe faţa 0, pista 0 a oricărui disc, şi rolul lui este de a încărca în memoria ROM fişierele BIO.COM şi DOS.COM. Aceste fisiere sunt "invizibile" şi nu pot fi citite copiate sau lansate în execuţie prin comenzile care manevrează fişierele obişnuite.

3. - programul BIO.COM este specific unui anumit SO. El semnalează erorile depistate de ROM-BIOS şi coordonează dispozitivele noi: discheta de 8", ploterul, discul de mare capacitate, etc.

4. - programul DOS.COM conţine comenzile intrne ale sitemului de operare MS-DOS. Acestea rămân rezidente în memorie pe tot timpul funcţionării calculatorului.

5. - programul COMMAND.COM numit şi interpretorul de comenzi. Acest program este căutat automat după pornirea sistemului şi lansat în execuţie. El caută pe discul sistem, în directorul rădăcină (desemnat prin "\") fişierul de comenzi AUTOEXEC.BAT. Dacă-l găseşte, sunt executate automat comenzile din acest fişier, iar în caz cotrar interpretorul de comenzi lansează un dialog cu utilizatorul pentru introducerea datei şi orei curente, după care afişează promptul de sistem format din numele unităţii de disc implicitite şi caracterul ">" , dacă promptul nu a fost setat altfel, de exemplu, C>. Din acest moment utilizatorul poate introduce comenzile dorite. Menţionăm că unitatea implicită poate fi schimbată cu o altă unitate prin simpla introducere a numelui acesteia din urmă, urmată de caracterul ":" , de exemplu: C:\>E: schimbă unitatea C cu unitatea E.

6.- comenzile externe sunt de fapt programe executabile, care trebuie să se găsească pe disc în momentul în care se doreşte utilizarea lor. Acestea sunt programe scrise de firme specializate, iar în vederea utilizării lor utilizatorul trebuie să consulte literatura de specialitate pentru a le putea folosi în cunoştinţă de cauză. Precizare:Toate programele menţionate mai sus, în afară de primul se vor încărca de pe discul sistem. Un disc sistem trebuie să conţină în mod obligatoriu fişierele BIO.COM, DOS.COM şi COMMAND.COM. Initializarea sistemului se face numai cu un disc sistem şi după iniţializare avem acces la comenzile interne ale SO, conţinute în fişierul DOS.COM.

5.Comenzile interne ale sistemului de operare MS-DOS

Comenzile interne sunt memorate în fişierele sistemului de operare, fapt pentru care sunt

accesibile odată cu acesta. Pentru fiecare comandă vom prezenta sintaxa şi efectul comenzii.

5.1. Comandă referitoare la directoare şi fişiere - comanda DIR Sintaxa:

DIR [u:][cale] [numef[.ext]][/P][/W]

14

Page 15: informatica

INFORMATICĂ Constantin Zăvoianu

Efectul: Afişează pe ecran denumirile tuturor fişierelor ( care nu sunt "ascunse") de pe discul din unitatea u, fişiere situate în directorul precizat la sfârşitul traseului indicat prin cale, precum şi denumirile tuturor subdirectoarelor acestuia.Pentru fiecare fişier se afişează pe o linie, numele, extensia, lungimea exprimat în număr de octeţi, data si ora la care a fost creat, iar pentru subdirectoare în locul lungimii se pune <DIR>. În final se afişează o statistică referitoare la numărul de fişiere, spaţiul ocupat de acestea exprimat în număr de octeţi (baiţi) , numărul de directoare şi dinensiunea spaţiului liber exprimată tot în număr de octeti.

Semnificatia parametrilor /P şi /W este următoarea: /P -determină executarea unei pauze ori de câte ori ecranul este plin cu informaţii şi se

foloseşte atunci când numărul de fişiere şi directoare este mai mare de 21. În acest caz, după afişarea unei pagini se tipăreşte mesajul:

Press any key to continue ... (Acţionaţi o tastă pentru a continua...) /W -produce o afişare condensată a informaţiilor din director, se afişează numai numele şi

extensia fiecărui fişier separate prin punct, afişarea făcându-se pe cinci coloane, iar numele directoarelor vor fi încadrate de paranteze drepte.Cele două opţiuni se pot utilza separat sau concomitent. Observaţie.Comanda DIR este prima care se utilizează atunci când într-o unitate de disc se introduce o nouă dischetă sau imediat după ce s-a trecut pe o altă unitate de disc.

5.2. Comenzi referitoare la directoare

a) Crearea unui director - comanda MKDIR Sintaxa:

⎭⎬⎫

⎩⎨⎧

MDMKDIR

[u:][cale]numed

Efectul:Crează sub-directorul cu numele simbolic numed pe discul din unitatea u, la sfârşitul traseului indicat prin cale. Dacă pe disc există deja un sub-director cu acest nume în poziţia indicată prin cale, se tipăreşte mesajul de eroare: Directory already exists

b) Ştergerea unui director - comanda RMDIR Sintaxa:

RMDIRRD

⎧⎨⎩

⎫⎬⎭

[u:][cale]numed

Efectul: Şterge sub-directorul cu numele simbolic numed situat pe discul din unitatea u, sub-director aflat la sfârşitul traseului indicat prin cale. Atenţie! Ştergerea unui sub-director se poate face numai în cazul în care acesta este vid, adică numai atunci când nu conţine alte sudirectoare sau fişiere. Tentativa de ştergere a unui sub-director care nu este vid, este semnalată prin următorul mesaj de eroare:

Invalid path, not directory, or directory not empty c) Schimbarea unui director - comanda CHDIR

Sintaxa: CHDIR

CD⎧⎨⎩

⎫⎬⎭

[u:][cale]numed

Efectul: Schimbă sub-directorul curent cu cel aflat pe discul din unitatea u la sfârşitul traseului indicat prin cale şi care are numele simbolic numed . Dacă pe disc nu există sub-directorul invocat, se tipăreşte mesajul de eroare:

Invalid directory Observaţii:

15

Page 16: informatica

INFORMATICĂ Constantin Zăvoianu

1°. - prin comanda CD.. se revine dintr-un sub-director în directorul precedent; 2°. - prin comanda CD\ se revine din orice sub-director în directorul rădăcină. 5.3. Comenzi referitoare la fisiere

a) Copierea unui fişier - comanda COPY

Sintaxa: COPY [u1:][cale1]f1[.ext1] [u2:][cale2][f2.[ext2]]

Efectul: Copiază fişierul desemnat prin f1[.ext1], aflat pe discul din unitatea u1 în sub-directorul indicat la sfârşitul traseului specificat prin cale1 şi îl depune în fişierul f2[.ext2], care se creează pe discul din unitatea u2 în sub-directorul specificat la sfârşitul traseului cale2. Observaţii.

1°.Prin comanda COPY se pot concatena două sau mai multe fişiere de acelaşi tip în vederea obţinerii unui singur fişier. De exemplu, prin:

C:\>COPY P1.PAS+P2.PAS+P3.PAS PROG.PAS - se concatenează fişierele P1.PAS, P2.PAS şi P3.PAS şi se obţine un nou fişier, cu numele PROG.PAS care va conţine informaţiile din cele trei fişiere în ordinea specificată prin comanda COPY. Fişierele P1.PAS, P2.PAS şi P3.PAS nu se distrug.

2°.Dacă nu se specifică argumentul f2[.ext2] fişierul din unitatea u2 situat în directorul de la

sfârşitul traseului indicat prin cale2 va avea acelaşi nume cu cel din unitatea u1, iar în cazul concatenării mai multor fişiere numele fişierului din u2 va coincide cu numele primului fişier specificat în COPY.

3°. Dacă folosesc specificatorii multipli "*" si "?", printr-o singură comandă COPY, se

pot copia mai multe fişiere dintr-un director în altul. De exemplu, prin comanda: A:\>COPY *.* C:\SAH\MAT - se copiază toate fişierele din directorul rădăcină de pe

discul din unitatea A, în subdirectorul MAT din directorul SAH de pe discul din unitatea C, iar prin comanda:

C:\> COPY SAH\MAT\?????.EXE \SAH - se copiază toate fişierele al căror nume este format din maxim cinci caractere şi au extensia EXE, din subdirectorul MAT în directorul SAH.

4°.Cu ajutorul comenzii COPY se poate lista conţinutul unui fişier pe hârtia de la

imprimantă, dacă imprimanta este cuplată la calculator şi este operaţională. În acest caz sintaxa comenzii este următoarea:

COPY [u:][cale]numef[.ext] LPT1

Exemplu: A:\>COPY C:\SAH\MAT\PROG1.BAS LPT1

5°. Cu ajutorul comenzii COPY se poate creea un fişier pe disc, introducând înregistrările de la tastatură (fişierul CON), caz în care sintaxa comenzii este următoarea:

COPY CON [u:][cale]numef[.ext]

Exemplu: A:\>COPY CON C:\SAH\MAT\MINIM4.BAS

b) Ştergerea unui fişier - comanda DEL Sintaxa:

DEL [u:][cale][numef[.ext]] Efectul: Şterge fişierul precizat prin numele simbolic numef[.ext] aflat pe discul din unitatea u, în sub-directorul de la sfârşitul traseului specificat prin cale . Exemple:

A>DEL B:\SAH\FIS1.DAT - şterge fişierul FIS1.DAT din directorul SAH de pe discul

16

Page 17: informatica

INFORMATICĂ Constantin Zăvoianu

din unitatea B. c:\>del fis?.dat - şterge toate fişierele aflate pe discul din unitatea c în directorul rădăcină,

care au extensia dat şi numele format din 4 caractere:(fis+orice caracter). A>del b:\sah\*.* - şterge toate fisierele aflate în directorul SAH de pe discul din unitatea

B. În prealabil se tipăreşte mesajul interogativ: All files in directory will be deleted ! Are you sure (Y/N)?

şi atunci când există dubii în ceea ce priveşte stergerea tuturor fişierelor, se răspunde cu N. A:\> DEL SAH - şterge toate fişierele din directorul SAH, dacă la mesajul interogativ afişat

după introducerea comenzii se răspunde cu Y (Yes). Observaţie.

Ştergerea unui fişier sau a unui grup de fişiere se poate face şi cu comanda ERASE, care are aceeaşi sintaxă şi acelaşi efect ca şi comanda DEL.

c) Tipărirea conţinutului unui fişier pe ecran - comanda TYPE Sintaxa:

TYPE [u:][cale]numef[.ext] Efectul: Tipăreşte pe ecran conţinutul fişierului numef[.ext] aflat pe discul din unitatea u, în sub-directorul specificat la sfârşitul traseului indicat prin cale. În cazul în care se doreşte şi listarea la imprimantă a fişierului care se tipăreşte pe ecran, se acţionează în prealabil combinaţia de taste Ctrl+P şi se verifică dacă imprimanta este operaţională.

d) Schimbarea numelui unui fşier - comanda REN[AME] Sintaxa:

REN[AME] [u:][cale]nume1[.ext1] nume2[.ext2] Efectul: Schimbă numele fişierului nume1[.ext1] de pe discul din unitatea u situat în sub-directorul indicat la sfârşitul traseului indicat prin cale în nume2[.ex2]. Conţinutul fişierului nume1[.ext1] nu se pierde ci se va regăsi în fişierul nume2[.ext2].

5.4. Comenzi refritoare la ecran, dată şi timp

a) Ştergerea ecranului - comanda CLS Sintaxa:

CLS Efectul:Şterge ecranul şi mut cursorul luminos în colţul din stânga-sus, unde apare şi promptul de sistem.

b) Modificarea promptului de sistem - comanda PROMPT Sintaxa:

PROMPT [text] Efectul: Se foloseşte pentru a defini un nou prompt de sistem. Dacă nu se specifică argumentul text, sistemul de operare repoziţionează promptul normal, format din numele unităţii şi caracterul “>”. Notă: În text pot fi folosite şi meta-şiruri de forma: $c , unde c poate fi: t-timpul curent n-discul curent

Exemple: A:>PROMPT VICTORIE VICTORIEprompt $n$l$q A<=PROMPT $P$G A:\BASICDIR> -dacă directorul în care ne aflăm este BASICDIR

d-data curenta g-caracterul > p-directorul curent l-caracterul < v-versiunea sistemului q-caracterul =

17

Page 18: informatica

INFORMATICĂ Constantin Zăvoianu

c) Afişarea datei curente - comanda DATE Sintaxa:

DATE [ll-zz-aa] Efectul: Introdusă fără parametru afişează data curentă existentă în sistem şi solicită eventual modificarea ei, în urma dialogului lansat de sistem cu utilizatorul, iar dacă este urmată de parametrul: ll-zz-aa (luna-ziua-anul) modifică data curentă din sistem, conform noilor specificaţii. Dacă nu se doreşte modificarea datei afişate, se acţionează tasta <ENTER>.

d) Afişarea timpului curent - comanda TIME Sintaxa:

TIME [hh:mm[:ss[.xx]]] Efectul: Introducerea comenzii fără parametru permite vizualizarea timpului curent existent în sistem şi eventual modificarea lui , în urma dialogului lansat de sistem cu utilizatorul, iar dacă este urmată de parametrul hh:mm:ss.cc (ora:minutul:secunda.sutimea de secundă) modifică timpul curent conform noilor specificaţii. În cazul în care nu se doreşte modificarea timpului afişat se acţionează tasta <ENTER>.

5.5. Alte comenzi

a) Validarea întreruperii programelor - comanda BREAK

Sintaxa: BREAK [ON / OFF]

Efectul: Validează / invalidează întreruperea programelor, care nu lucrează cu dispozitive standard de intrare/ieşire, la acţionarea tastelor Ctrl+C sau Ctrl+Break. Implicit se consideră BREAK OFF.

b) Afişarea versiunii sistemului de operare - comanda VER Sintaxa:

VER Efectul: Afişează versiunea curentă a sistemului de operare MS-DOS. Există mai multe versiuni ale sistemului de operare MS-DOS. Incepând de la versiunile V2.00 si V2.10 s-au definitivat structura şi conceptele de bază ale MS-DOS şi toate versiunile ulterioare respectă aceste concepte, aducând doar îmbunătăţiri unor comenzi existente sau introducând comenzi noi. Cea mai utilizată versiune în momentul actual este versiunea 6.20.

c) Afişarea etichetei de volum - comanda VOL Sintaxa:

VOL [u:] Efectul:Această comandă afişează eticheta volumului din unitatea u. Dacă nu s-a specificat unitatea, se presupune unitatea implicită, iar dacă nu este inregistrată eticheta de volum, cu comanda externă LABEL, se tipăreşte mesajul:

Volume in drive u has no label .

18

Page 19: informatica

INFORMATICĂ Constantin Zăvoianu

6. Problemă rezolvată

1.Să se creeze pe discul din unitatea E, în directorul rădăcină, următoarea structură de directoare

Rezolvare: a) E:\> MD SD1 b) E:\> MD SD1

E:\> MD SD2 E:\> MD SD2 E:\> MD SD3 E:\> CD SD2 E:\> MD SD2\SD21 E:\SD2> MD SD21 E:\> MD SD2\SD22 E:\SD2> MD SD22 E:\> MD SD3\SD31 E:\SD2> CD.. E:\> MD SD3 E:\> CD SD3 E:\SD3> MD SD31

E:\SD3> CD\

E:\ Rădăcină │ ├──────SD1 │ ├──────SD2 │ ├─────SD21 │ │ │ └─────SD22 │ └──────SD3 └─────SD31

2. Să se creeze prin copiere de la tastatură în subdirectorul SD21 fişierul FIS1.PAS , iar în subdirectorul SD22 fişierul FIS2.PAS, care să conţină următoarele linii (liniile conţin secvenţe dintr-un program scris în TURBO PASCAL): FIS1.PAS

FIS2.PAS

3. Să se concateneze cele două fişiere, cu ajutorul comenzii de copiere şi să se creeze fişierul FIS12.PAS în SD1. Tot cu ajutorul comenzii de copiere să se realizeze următoarele copieri: - FIS1.PAS din SD21 în SD31 ; - FIS2.PAS din SD22 în rădăcină; - la sfârşitul lui FIS12.PAS să se adauge următoarele linii:

(*)

Observaţie.

Rezolvare: E:\> COPY CON SD2\SD21\FIS1.PAS - se introduce conţinutul lui FIS1.PAS - se acţionează simultan Ctrl+Z sau F6 E:\> COPY CON SD2\SD22\FIS2.PAS - se introduce conţinutul lui FIS2.PAS - se acţionează simultan Ctrl+Z sau F6 E:\>

PROGRAM minim; {Aflarea minimului din 3 numere reale} VAR a,b,c,m:REAL;

BEGIN WRITE (‘a=’); READLN(a); WRITE (‘b=’); READLN(b); WRITE (‘c=’); READLN(c);

IF a<b THEN m:=a ELSE m:=b; IF m>c THEN m:=c; WRITELN(‘Minimul este m=’,m:8:2); END.

Rezolvare: E:\> COPY SD2\SD21\FIS1.PAS+SD2\SD22\FIS2.PAS SD1\FIS12.PAS E:\.> COPY SD2\SD21\FIS1.PAS SD3\SD31 E:\> COPY SD2\SD22\*.* E:\>COPY SD1\FIS12.PAS+CON SD1 SD1\FIS12.PAS CON - se introduc liniile marcate cu (*) - se acţionează simultan Ctrl+Z sau F6

Pentru a vizualiza structura arbores-centă de directoare şi fişiere se poate folsi comanda externă TREE/F , iar pentru a vizualiza numai structura de directoa-

19

Page 20: informatica

INFORMATICĂ Constantin Zăvoianu

re se foloseşte TREE 4.Să se afişeze pe ecran denumirile fişierelor şi directoarelor din fiecare director. Rezolvare E:\> DIR - se afişează denumirile fişierelor şi directoarelor din directorul rădăcină E:\> DIR SD1 - se afişează denumirile fişierelor şi directoarelor din directorul SD1 :\> DIR SD2 - se afişează denumirile fişierelor şi directoarelor din directorul SD2 E:\> DIR SD2\SD21 - se afişează denumirile fişierelor şi directoarelor din directorul SD21 E:\> DIR SD2\SD22 - se afişează denumirile fişierelor şi directoarelor din directorul SD22 E:\> DIR SD3 - se afişează denumirile fişierelor şi directoarelor din directorul SD3 E:\> DIR SD3\SD31 - se afişează denumirile fişierelor şi directoarelor din directorul SD31 5. Să se tipărească pe ecran conţinutul fişierelor din structură, în două moduri: a) - indicând din rădăcină calea spre fişier; b) - după ce în prealabil s-a efectuat plasarea în director lângă fişier. Rezolvare:

a) E:\> TYPE FIS2.PAS E:\> TYPE SD1\FIS12.PAS E:\> TYPE SD2\SD21\FIS1.PAS E:\> TYPE SD2\SD22\FIS2.PAS E:\> TYPE SD3\SD31\FIS1.PAS

b) E:\> TYPE FIS2.PAS E:\> CD SD1 E:\SD1> TYPE FIS12.PAS E:\> CD \SD2\SD21 - trecerea se face prin rădăcină E:\SD2\SD21> TYPE FIS1.PAS E:\SD2\SD21> CD .. - se revine în SD2 E:\SD2> CD SD22 E:\SD2\SD22> TYPE FIS2.PAS E:\SD2\SD2> CD \SD3\SD31 E:\SD3\SD31> TYPE FIS1.PAS E:\SD3\SD31> CD\

6. Să se schimbe denumirea fişierului FIS12.PAS în MINIM.PAS şi apoi să se tipărească pe ecran şi să se listeze la imprimantă conţinutul acestui fişier. Rezolvare:

sau: E:\> CD SD1 E:\SD1> RENAME FIS12.PAS MINIM.PAS E:\SD1> TYPE MINIM.PAS E:\SD1> COPY MINIM.PAS LPT1 E:\SD1> CD..

Obs. Nu se face listarea dacă nu există o imprimantă conectată la calculator.

E:\> REN SD1\FIS12.PAS MINIM.PAS E:\> TYPE SD1\MINIM.PAS E:\> COPY SD1\MINIM.PAS LPT1

7. Să se şteargă întreaga structură de fişiere şi directoare creată anterior. Rezolvare: Fişierele se sterg cu DEL sau ERASE, iar directoarele cu RD numai dacă sunt vide. E:\> DEL *.* E:\> RD SD1 E:\> DEL SD1\*.* E:\> RD SD2\SD21 E:\> ERASE SD2\SD21\*.* E:\> RD SD2\SD22 E:\> ERASE SD2\SD22\*.* E:\> RD SD2 E:\> DEL SD3\SD31\*.* E:\> RD SD3\SD31 E:\> RD SD3 8.Să se şteargă ecranul şi apoi să se vizualizeze data şi timpul curent fără a le modifica: Rezolvare: E:\> CLS E:\> DATE - afişează data curentă, iar pentru a nu o modifica se acţionează ENTER E:\> TIME - afişează timpul curent, iar pentru a nu-l modifica se acţionează ENTER

20

Page 21: informatica

INFORMATICĂ Constantin Zăvoianu

10. Să se vizualizeze versiunea sistemului de operare existent, eticheta de volum a discului din unitatea C şi apoi să se revină în WINDOWS.

9. Să se seteze promptul sistemului de operare în diferite moduri. Rezolvare: E:\> PROMPT testare testarePROMPT $D$G xxx ll-zz-aaaa>PROMPT $T$G hh:mm:ss.cc>PROMPT $P$G E:\>

Rezolvare: E:\> VER E:\> VOL C: E:\> WIN sau EXIT

7. Probleme propuse

Problema 1. 1. Să se creeze pe discul din unitatea E, urmăroarea structură de directoare:

2. Să se creeze prin copiere de la tastatură, fişierele: IARNA în directorul ALFA1 PRIMAVAR în directorul ALFA2 VARA în directorul BETA1 TOAMNA în directorul BETA2 Fiecare fişier va conţine câte o strofă dintr-o

poezie specifică anotimpului respectiv (denumirile a cinci discipline sportive specifice anotimpului).

E:\ │ ALFA ├─── ALFA1 │ ├─────── ALFA2 │ └─────── │ BETA ├─── BETA1 │ ├─────── └───────BETA2 │ │ GAMA └─── GAMA1 ├────── └──────GAMA2

3. Să se concateneze fişierele IARNA şi PRIMAVAR şi să se creeze fişierul cu numele IARNA-P în directorul GAMA1, iar apoi să se concateneze fişierele VARA şi TOAMNA şi să se creeze fişierul VARA-T în GAMA2.

4. Să se tipărească pe ecran conţinutul celor şase fişiere în două moduri: a) - indicând din rădăcină calea către fişier; b) - după ce în prealabil s-a făcut plasarea în director lângă fişier. 5. Să se concateneze fişierele IARNA-P şi VARA-T şi să se cereeze fişierul POEZII în

directorul ALFA (SPORTURI în directorul ALFA). 6. Să se tipărească pe ecran conţinutul fişierului POEZII (SPORTURI) după ce în prealabil

I s-a schimbat numele în POEZII.TXT (SPORTURI.TXT). 7. Să se copieze toate fişierele în directorul rădăcină. 8. Să se şteargă întreaga structură definită anterior pe discul din unitatea E.

Problema 2. Pe discul din unitatea G, există următoarea structură arborescentă de directoare şi fişiere: \ ALFA ├───── ALFA1 │ ├──── F1A.TXT │ │ ALFA2 │ └──── F2A.TXT │ GAMA └───── GAMA2 └──── F2G.TXT

Se cere: - să se creeze directorul GAMA1 în directorul GAMA; - să se tipărescă pe ecran conţinutul celor trei fişiere; - să se concateneze câte două, în toate modurile posibile cele trei fişiere, iar fişierele rezultate să se depună în GAMA1; - să se vizualizeze conţinutul ultimului fişier creat în GAMA1, după ce în prealabil s-a efectuat plasarea în director lângă fişier; - să se şteargă directoarele ALFA şi GAMA de pe discul din unitatea G.

21

Page 22: informatica

INFORMATICĂ Constantin Zăvoianu

Precizare. Dacă de exemplu, se concatenează fişierele F2A.TXT şi F2G.TXT fişierul rezultat să aibă numele F2AF2G.TXT.

22

Page 23: informatica

INFORMATICĂ Constantin Zăvoianu

SISTEMUL DE OPERARE WINDOWS 1. Introducere După cum s-a precizat în capitolul precedent, pentru a putea lucra cu fişiere şi directoare, în sistemul de operare MS-DOS există un set de comenzi cu un format bine stabilit. Plecând de la ideea că folosirea acestor comenzi este destul de greoaie, s-a încercat, dea lungul timpului, să se ajungă la o interfaţă om-calculator cât mai “prietenoasă”. S-au creat astfel programe utilitare (Norton Commander, Xtree-Gold, Dos-Navigator) prin care comenzile DOS au fost înlocuite cu apăsarea uneia sau mai multor taste sau combinatii de taste. Acest proces evolutiv nu s-a oprit nici azi, ajungându-se acum ca, prin pachete de programe de tip Windows, toate operaţiile referitoare la fişiere şi directoare să se facă prin simpla selecţie, cu ajutorul mouse-ului, a acestor fişiere sau directoare şi “apăsarea”, tot cu ajutorul mouse-ului a unor butoane de pe ecran, butoane pe care apar desenate pictograme sugestive şi care sunt, de obicei, însoţite de mesaje explicative. Primele versiuni ale sistemelor de operare de tip Windows au fost Windows 3.x, pe 16 biţi, utilizate pentru lucru în reţele de calculatoare şi se lansau din MS-DOS.

Versiunile următoare: Windows 95, 98, 2000, Me şi XP sunt sisteme de operare în sine, pe 32 de biţi, şi se lansează automat odată cu pornirea calculatorului. Aceste versiuni au ataşate o mulţime de aplicaţii pentru text, grafică, scanare, multimedia, navigare pe internet sau programme utilitare. Totodată Windows-ul dispune şi de alte facilităţi cum ar fi, de exemplu, acest Plug and Play (cuplează şi merge), care ne permite o instalare şi o configurare aproape automată a dispozitivelor hardware (CD-ROM-uri, plăci de sunet, modemuri, etc.) cu care este echipat calculatorul. Sistemele de operare Windows 98, 2000, Me şi XP includ şi suporturi pentru reţea care dispun de o interfaţă tipizată, care facilitează accesul rapid la resursele reţelei. Windows-ul cunoaşte fiecare componentă hardware şi software a calculatorului şi le face pe toate acestea să lucreze eficient împreună, fără a se obstrucţiona reciproc. Spre deosebire de sistemul de operare MS-DOS şi Windows 3.x, începând cu Windows 95 noţiunea de director (directory) este înlocuită cu noţiunea de pliant (folder), pliant care, ca şi directorul, conţine mai multe fişiere (files), iar fiecare pliant şi fiecare fişier este însoţit de o mică pictogramă numită icon. Activitatea în Windows se desfăşoară în ecranul de lucru (desktop), ecran în care, pentru fiecare mediu de lucru, se deschide o fereastră (window) specifică, fereastră care este dotată, în partea de sus, cu o bară de titlu; sub bara de titlu este bara de meniu cu mai multe opţiuni specifice mediului de lucru respectiv; imediat sub meniu este o bară de butoane şi, în partea de jos a ferestrei, o bară de stare (bara de operaţii). Bara de butoane (“Toolbar”) şi bara de stare (“Status Bar”) au o afişare opţională în fereastră, afişare controlată prin setările făcute din meniu. 2. Ecranul de lucru (desktop) Interfaţa Windows-ului cu utilizatorul este o inerfaţă de tip graphic. Pentru a face o apropiere de lumea reală, programatorii de la Microsoft Corporation, care au creat Windows-ul, au imaginat suprafaţa ecranului ca şi cum ar fi suprafaţa de lucru a unui birou (desk – birou), unde de obicei ne punem documentele (dosare) şi ustensilele de zi cu zi (blocnotes, creioane, radiere, coli albe, telefon, fax, etc). Deci, Desktop-ul este ecanul de lucru, care are aceeaşi funcţie cu suprafaţa unui birou plin cu dosare, acte şi documente. Pe ecran apar ferestre,

22

Page 24: informatica

INFORMATICĂ Constantin Zăvoianu

pictograme şi casete de dialog. În partea de jos, este afişată bara de operaţii cu butonul Start. În partea stângă a acestui ecran, de obicei, există o listă de pictograme (“icon”-uri), care fac parte din elementele grafice constructive ale sistemului de operare Windows şi arată ca nişte mici imagini.

Prin intermediul acestor pictograme sunt identificate toate componentele software

(programme, fişiere, pliante) precum şi dispozitivele hardware din care este alcătuit calculatorul (hard discuri, floppy Disck, CD-ROM, tastatură, mouse, imprimante, scanere). Sub fiecare pictogamă este scrisă denumurea aplicaţiei pe care o conţine. Astfel: • aplicaţia My Computer (calculatorul meu) poate fi selectată cu ajutorul mouse-ului care

trebuie deplasat astfel încât cursorul să ajungă deasupra pictogramei, moment în care se apasă o singură dată butonul stânga (clic). Apăsând de două ori acelaşi buton într-o succesiune rapidă se deschide fereastra My Computer, adică aplicaţia este lansată în execuţie (la fel se lansează în execuţie orice altă aplicaţie). Aplicaţia My Computer este locul de unde avem acces la toate resursele calculatorului. Unităţile de hard discuri, floppy discuri şi CD-ROM-uri îşi au aici pictogramele. Dacă dăm dublu-clic pe pictograma unei astfel de unităţi, într-o ferestră se vor afişa denumirile pliantelor şi fişierelor de pe acea unitate. În colţul din dreapta-sus al ferestrei (bara de titlu) este prezent butonul , iar dacă executăm clic stânga pe acest buton, fereastra se închide. Dacă nu am închis fereastra şi executăm dublu-clic stânga pe un pliant, se deschide o nouă fereastră în care în care sunt afişate, precedate de pictograme specifice, denumirile fişierelor şi pliantelor din pliantul respectiv, iar la sfârşit o statistică. Închiderea ferestrei se face cu clic stânga pe butonul din bara de titlu . Alte resurse ale calculatorului se găsesc în dosarul Control Panel (modem, monitor, mouse, tastatură, programme pentru instalarea componentelor hardware şi software), iar în dosarul printers sunt trecute tipurile de imprimante instalate.

• aplicaţia Network Neighborhood (vecinătăţile în reţea) poate fi utilizată doar în situaţia în

care calculatorul este configurat astfel încât să poată utiliza un serviciu de gestiune a fişierelor în reţea (deci în situaţia în care acest calculator este cuplat la reţea). La deschiderea acestei ferestre se afişează care sunt calculatoarele ce figurează în acelaşi grup de lucru cu calculatorul de pe care s-a deschis această fereastă.

23

Page 25: informatica

INFORMATICĂ Constantin Zăvoianu

• aplicaţia Internet Explorer se foloseşte pentru cuplarea calculatorului la reţeaua internaţională de calculatoare Internet.

• aplicaţia The Microsoft Network (reţeaua Microsoft) este un “service soft” (un pachet de

programe “service”) cu ajutorul căruia se pot schimba mesaje cu alte calculatoare cuplate într-o astfel de reţea, se pot citi ştiri, noutăţi, informaţii tehnice şi chiar informaţii meteo aflate în bazele de date din calculatoarele aflate în reţeaua respectivă sau se poate face cuplarea la o reţea locală sau la reţeaua “Internet”.

• aplicaţia Recicle Bin (cutia de reciclare) este o fereastră la apelul căreia se afişează un tabel

cu toate entităţile din locul temporar de depunere a entităţilor care au fost şterse (fişiere sau pliante). Se poate folosi acest tabel pentru a recupera fişiere sau pliante care au fost şterse din greşală. Acest lucru este posibil datorită faptului că, prin ştergerea unor entităţi (fişiere, pliante, scurtături) acestea nu sunt şterse fizic, ci doar mutate în acest pliant (director). Pentru a şterge definitiv o astfel de entitate, trebuie să se golească acest “Recicle Bin” (un fel de coş de gunoi). Aceasta se poate face prin poziţionarea cursorului mouse-ului pe pictograma respectivă şi apăsarea butonului din dreapta al acestuia, după care, din submeniul afişat, se selectează opţiunea Empty Recycle Bin (golirea cutiei de reciclare);

Observaţie: Pentru a nu se ţine ocupat inutil spaţiul de pe disc, trebuie golit periodic acest pliant a cărui pictogramă seamănă cu un coş de gunoi. • aplicaţia My Briefcase (servieta mea) este folosită pentru a face o actualizare a documentelor

în situaţia în care utilizatorul lucrează atât pe calculatorul de pe birou cât şi pe un calculator portativ (Laptop);

• Shortcut-urile (scurtăturile) oferă posibilitatea unui acces rapid la un anumit program sau

pachet de programe din Windows sau din sistemul de operare MS-DOS, la un document, la o imprimantă, la un disc sau chiar la alt calculator din reţea;

• butonul Start este butonul prin intermediul căruia se pot face o mulţime de operaţii şi anume:

∗ lansarea în execuţie a unor programe utilitare sau programe utilizator; ∗ deschiderea unui document în vederea adăugării, ştergerii, modificării unor informaţii sau

în vederea citirii, respeciv tipării lui; ∗ schimbarea unor caracterirtici (setări) ale sistemului de operare Windows ; ∗ obţinerea asistenţei din partea sistemului de operare (ieşirea în prompterul sistemului de

operare MS-DOS); ∗ multe alte operaţiuni.

3. Lansarea Windows-ului

La pornirea calculatorului, sistemul de operare Windows începe să fie încărcat automat, iar singura operaţie care trebuie efectuată este introducerea parolei utilizatorului, în caseta Password atunci când calculatorul este cuplat la o reţea locală de calculatoare. În cazul în care calculatorul nu este cuplat la reţea, prima dată când se cere o parolă se poate acţiona tasta <Enter>, pentru a nu avea parolă.

Atunci când pe calculator este instalat Windows XP, dacă pe calculator sunt mai multe conturi utilizator sau dacă acesta este cuplat la o reţea, după pornirea calcultorului trebuie introdus un nume de utilizator şi o parolă. Aceste informaţii vor fi transmise Windows-ului în timpul configurării, după procedura de instalare şi sistemul de operare va şti cine este utilizatorul şi ce poate face pe acel calculator.

24

Page 26: informatica

INFORMATICĂ Constantin Zăvoianu

4. Ieşirea din Windows

Nu se oprişte niciodată calculatorul imediat după ce s-a terminat lucrul. Prima dată se închide sesiunea de lucru Windows (după ce s-au închis toate ferestrele în care s-a lucrat).

• Pentru Windows 98, se execută mai întâi clic stânga pe butonul Start, după care se selectează opţiunea Shut down (în caseta de dialog, în care este această opţiune, mai sunt şi opţiunile: Stand by – reduce consumul de energie, Restart – care îl restartează şi Restart in MS-DOS mode – care comută în sistemul de operare MS-DOS).

• Pentru Windows XP, după ce se dă clic stânga pe Start se allege opţiunea Turn off computer…, iar din caseta de dialog se selectează opţiunea Turn off.

5. Lansarea în execuţie a unei aplicaţii Windows şi închiderea ei

Pentru a lansa în execuţie o aplicaţie Windows se parcurg următoarele etape: ∗ se execută clic stânga pe butonul Start şi din (sub)meniul afişat se alege opţiunea

Programs (programe); ∗ din submeniul acestei opţiuni, se selectează grupul de programe ce conţine programul

care se doreşte a fi lansat în execuţie sau chiar programul respectiv (dacă acesta nu face parte dintr-un grup);

∗ în cazul unui grup de programe, numele grupului este însoţit de semnul ►(vârf de săgeată), se trece cursorul mouse-ului în submeniul afişat la poziţionarea acestui cursor şi se execut clic stânga pe programul care se doreşte să fie lansat în executie. Acesta se va lansa în execuţie, deschizându-şi propria-i fereastră în zona de lucru Windows;

Pentru a închide o aplicaţie Windows, se apelează opţiunea Exit sau Close a meniului File sau se execuţă clic stânga pe butonul , situat în colţul din dreapta sus.

Observaţie. Înainte de închiderea unei aplicaţii trebuie salvat pe disc tot ceea ce s-a lucrat. 6. Lansarea în execuţie a unei aplicaţii DOS, fără a părăsi temporar Windows-ul Pentru a lansa în executie o aplicaţie DOS, fără a părăsi temporar Windows-ul, se parcurg următoarele etape:

∗ se execută clic stânga pe butonul Start şi din submeniul afişat se alege opţiunea Programs (programe);

∗ din submeniul acestei opţiuni, se selectează opţiunea MS-DOS Prompt, selecţie în urma căreia va apare pe ecranul de lucru fereastra MS-DOS prompt;

∗ în dreptul promptului DOS din această fereastră, se poate introduce orice comandă MS-DOS şi se poate lansa în execuţie orice program care rulează sub MS-DOS.

∗ pentru a reveni din MS-DOS în Windows la prompterul din DOS, se introduce

comanda Exit, după care se acţionează tasta <Enter>.

7. Căutarea pe disc a unui pliant (fişier)

Pentru a găsi pe disc un pliant sau un fişier se parcurg următorii paşi: P1. Se execută clic stânga pe butonul Start. P2. Din meniul Search se selectează For Files or Folders…

25

Page 27: informatica

INFORMATICĂ Constantin Zăvoianu

P3. Din panoul din stânga se alege tipul obiectului căutat, iar apoi trebuie să se răspundă la întrebările suplimentare, care se schimbă în funcţie de obiectul ales. De regulă se solicită numele obiectului. P4. Se introduce numele obiectului căutat (fişier,pliant). Folosind specificatorii multipli * şi ? pentru a indica numele pot fi căutate mai multe pliante (fişiere) simultan. Dacă nu se ştie numele unui fişier, dar se cunoaşte o frază din acesta, ea poate fi introdusă ca şi criteriu de căutare. P5. Se selectează cu clic stânga butonul Search şi se aşteaptă apariţia rezultatelor căutării în panoul din dreapta. Dacă sunt mai multe entităţi cu acelaşi nume se precizează sub fiecare numele pliantului în care se află. (Dacă doreşte întreruperea căutării se selectează cu cu clic stânga butonul Stop). P6. Cu dublu-clic stânga se lansează, de exemplu, în execuţie aplicaţia selectată. Mai precis, dacă este vorba de un pliant acesta se deschide, iar în panoul din dreapta se afişează denumirile pliantelor şi fişierelor din acesta. Cu dublu-clic stânga se poate deschide unul din pliantele afişate sau un fişier. În cazul fişierelor se deschide automat şi aplicaţia cu care a fost creat. De fapt, sistemul de operare Windows deschide un fişier, utilizând extensia acestuia

pentru a decide ce program va lansa în execuţie. De exemplu: • dacă fişierul are extensia doc se lansează în execuţie aplicaţia Microsoft Word cu care a fost

creat; • dacă fişierul are extensia xls se lansează în execuţie aplicaţia Microsoft Excel cu care a fost

creat; • dacă fişierul are extensia pas se lansează în execuţie aplicaţia Borland Pascal cu care a fost

creat; • dacă fişierul are extensia COM sau EXE se lansează în execuţie aplicaţia pe care o conţine.

8. Crearea unei scurtături Scurtătura este un mic simbol grafic, plasat pe desktop, care selectat cu dublu-clic

stânga permite accesarea rapidă a unei aplicaţii (deschiderea unui pliant, deschiderea unui fişier şi implicit lansarea în execuţie a aplicaţiei cu care a fost creat, încărcarea şi lansarea în execuţie a unui program executabil). Scurtătura unei entităţi este diferită de entitatea în sine, ea putând fi creată, redenumită sau ştearsă fără a afecta acel obiect (program, fişier sau pliant).

Pentru a crea o scurtătură spre o aplicaţie DOS sau Windows direct din ecranul de lucru (desktop) se parcurg următorii paşi:

P1. Se poziţionează cursorul mouse-ului într-o zonă liberă de pe ecran şi se execută clic dreapta. P2. Din meniul afişat se selectează opţiunea New cu clic stânga, iar din submeniul acesteia opţiunea Shortcut (scurtătură). P3. În fereastra Create Shortcut se execută clic stânga pe butonul Browse... (răsfoire). Procedând astfel, se deschide o nouă fereastră în care sunt vizibile pictogramele şi denumirile aplicaţiilor de pe desktop. Aplicaţiile ale căror pictograme sunt precedate de butonul conţin alte aplicaţii care pot fi vizualizate cu clic stânga pe acest buton. P4. Se execută clic stânga pe butonul corespunzător aplicaţiei My Computer şi apoi clic stânga pe butonul corespunzător unităţii de disc în care se află aplicaţia. P5. Se caută, în structura arborescentă de pliante şi fişiere, aplicaţia dorită şi se execută dublu-clic stânga pe numele acesteia, iar apoi se acţionează butonul Ok, moment în care adresa aplicaţiei se înscrie în fereastra Create Shortcut sub forma: [u:][cale]nume-aplicaţie.

26

Page 28: informatica

INFORMATICĂ Constantin Zăvoianu

P6. Se acţionează butonul Next, iar în noua fereastră apare informaţia nume-aplicaţie, informaţie care poate fi înlocuită cu un nume sugestiv pentru scurtătura respectivă. P7. Se execută clic stânga pe butonul Finish. Pe ecranul de lucru se desenează pictograma aplicaţiei şi dedesubt se tipăreşte numele scurtăturii.

Observaţii.

1. Pentru a muta pictograma scurtăturii, împreună cu numele acesteia, într-un alt loc de pe ecran poziţionăm cursoul mouse-ului pe pictogramă, ţinem apăsat butonul din stânga şi mişcăm mouse-ul până când ajungem în poziţia dorită, după care eliberăm mouse-ul.

2. Pentru a şterge o scurtătură se execută clic dreapta pe pictograma ei, iar din meniul afişat se selectează opţiunea Delete.

9.Aplicaţia My Computer Aplicaţia My Computer este locul de unde avem acces la toate resursele calculatorului şi putem efectua o mulţime de operaţii cu pliante şi fişiere. Printr-un dublu-clic stânga deasupra pictogramei omonime de pe desktop se deschide fereastra acestei aplicaţii (aplicaţia este lansată în execuţie). Structura ferestrei se prezintă astfel:

Bara de titlu

Bara de meniuri Bara de butoane

Bara de adresă Fereastra de lucru, formată din două panouri: - panoul din stânga cu submeniuri pe verticală; - panoul din dreapta cu submeniuri pe orizontală Bara de derulare orizontală Bara de stare (operaţii)

În bara de titlu avem pictograma şi numele aplicaţiei în partea stângă, iar în partea

dreaptă trei butoane, care acţionate prin clic stânga au ca efect: - minimizează fereastra si o plasează în bara de opraţii de pe desktop, iar dacă executăm

clic stânga pe numele ferestrei, din bara de opraţii, se revine în punctul din care s-a făcut minimizarea aplicaţiei;

- măreşte fereastra la dimensiunea întregului ecran şi butonul se transformă în , dacă executăm clic stânga pe acest buton se revine la starea dinaintea maximizării;

- închide aplicaţia care lucrează în ferestră.

Pentru a vizualiza o diagramă grafică a spaţiului de pe o unitate de disc se execută clic dreapta pe numele unităţii, iar apoi din caseta afişată se selectează opţiunea Properties cu clic stânga. Se revine la starea precedentă cu clic stânga într-o zonă liberă din fereastră.

27

Page 29: informatica

INFORMATICĂ Constantin Zăvoianu

Pentru a vizualiza, în panoul din dreapta, denumirile pliantelor şi fişierelor de pe un disc sau dintr-un pliant se execută dublu-clic stânga pe numele acestuia.

Dând clic stânga pe View şi apoi pe Status Bar din caseta afişată, devine vizibilă bara de stare (bara de operaţii). Dacă executăm clic stânga pe butonul Folders, în panoul din stânga apare reprezentarea grafică a tuturor unităţilor de disc instalate pe calculator şi a pliantelor aflate pe desktop. Dacă executăm clic stânga pe butoanele sau care preced unităţile de disc sau pliantele din acest panou, putem extinde sau restrânge schiţa afişată aici, pentru a vizualiza, şi eventual accesa, toate pliantele şi fişierele situate în aceste entităţi. Selectând butonul Folders cu clic stânga se revine la starea precedentă.

Pictogramele sunt, de obicei, sugestive şi anume:

• coperţile de dosar reprezintă pliantele, care conţin grupuri de fişiere şi/sau grupuri de pliante;

• paginile scrise reprezintă fişiere de tip document sau fişiere de date; fişierele de tip document sunt, de obicei, marcate în aşa fel încât să sugereze şi editorul de texte în care au fost create;

• micile ecrane cu butoane deasupra reprezintă fişiere ce conţin programe executabile (aplicaţii);

• alte pictograme sugerează tipul entităţilor pe care le însoţesc. Exemplu:

Fişierul COMBN-M.PAS conţine un program sursă scris în Turbo Pascal Fişierul COMBN+M.EXE conţine un program executabil Fişierul CAP-5-R.doc conţine un document tehnoredactat în Word Pliantul LIMBAJUL-C, poate conţine alte pliante sau fisiere

9.1. Deschiderea unui pliant sau a unui fişier

Pentru a deschide un pliant aflat într-o anumită unitate de disc, care poate conţine mai

multe fişiere de diferite tipuri (unele cu programe executabile) şi/sau subpliante, se parcurg următorii paşi:

28

Page 30: informatica

INFORMATICĂ Constantin Zăvoianu

P1.În fereastra My Computer se execută dublu clic-stânga pe pictograma corespunzătoare unităţii de disc. Se va afişa astfel o fereastră cu pliantele şi fişierele din discul respectiv, corespunzătoare directorului (pliantului) rădăcină al acestui disc. P2. În fereastra deschisă mai sus, fereastră ce conţine în bara de titlu numele unităţi de disc, se execută clic stânga pe pliantul sau fişierul dorit. P3. Din meniul File al ferestrei curente se selectează opţiunea Open (deschide).

Observaţii.

1. Efectul echivalent al ultimilor doi paşi se obţine executând un dublu-clic stânga pe pictograma corespunzătoare pliantului sau fişierului dorit.

2. Paşii P2 şi P3 se pot repeta ori de câte ori este nevoie să se deschidă un subpliant al pliantului curent (cel al cărui nume se află în bara de titlu a ferestrei curente).

9.2. Crearea unui pliant

Pentru a crea un pliant se parcurg următoarii paşi: P1. În fereastra My Computer se execută dublu-clic stânga pe pictograma corespunzătoare unităţii de disc în care se doreşte să se creeze pliantul (se vor afişa pliantele şi fişierele din pliantul rădăcină al unităţii, iar dacă dorim să creăm pliantul în interiorul altui pliant se execută dublu-clic stânga pe pictograma corespunzătoare acestuia, procedeul putând continua din aproape în aproape până când se ajunge în poziţia dorită). P2. Din meniul File al ultimei ferestre afişate se selectează opţiunea New (nou), iar din submeniul afişat, opţiunea Folder . P3. După efectuarea acestor paşi, în fereastra respectivă, va apare pliantul cu denumirea New Folder, denumire care poate fi ştearsă şi înlocuită cu cea dorită (după ce s-a executat clic stânga pe ea). P4. Se acţionează tasta <Enter> pentru a confirma modificarea numelui. 9.3. Copierea unui pliant (fişier) dintr-un loc în altul

Pentru a copia un pliant (cu tot ceea ce conţine) sau un fişier, dintr-un loc în altul, se parcurg următoarii paşi:

P1. În fereastra My Computer se execută clic stânga pe butonul Folders. P2. Se execută, în panoul din stânga, dublu-clic stânga pe pictograma unităţii de disc în care se găseşte pliantul (fişierul), iar dacă pliantul (fişierul) este în interiorul altui pliant se execută dublu-clic stânga pe pictograma acestuia. P3. În panoul din dreapta, în rubrica Name apar numele pliantelor şi fişierelor din pliantul rădăcină sau din pliantul selectat în pasul precedent. Prin clic stânga se selectează pliantul (fişierul) ce urmează a fi copiat (pictograma şi numele lui vor fi afişate pe fond albastru).

P4. Din meniul Edit al ferestrei curente se selectează opţiunea Copy (copiere). P5. Se selectează prin dublu-clic stânga în panoul din stânga unitatea de disc în care se doreşte să se facă copierea. Procedând astfel, copierea se va face în pliantul rădăcină. Dacă dorim să copiem pliantul (fişierul) selectat într-un alt pliant, executăm dublu-clic stânga pe numele acestuia. P6. Din meniul Edit al ferestrei curente se selectează opţiunea Paste (lipire).

Observaţie: Pentru a copia mai multe pliante şi/sau fişiere în acelaşi timp, în pasul P3 se ţine apăsată tasta <Ctrl> şi se executa clic stânga pe fiecare entitate ce urmează a fi copiată.

29

Page 31: informatica

INFORMATICĂ Constantin Zăvoianu

9.4. Mutarea unui pliant (fişier) dintr-un loc în altul

Pentru a muta un pliant (cu tot ceea ce conţine) sau un fişier, dintr-un loc în altul, se parcurg aceiaşi paşi ca şi în cazul copierii, numai că în pasul P4, din meniul Edit al ferestrei curente se selectează opţiunea Cut (decupare).

9.5. Schimbarea numelui unui pliant (fişier)

Pentru a schimba numele unui pliant (fişier), se parcurg următorii paşi: P1. În fereastra My Computer se execută dublu-clic stânga pe numele unităţii de disc (în panoul din dreapta se vor afişa pliantele şi fişierele din pliantul rădăcină). P2. Se execută clic dreapta pe numele pliantului (fişierului) care trebuie redenumit. P3. Din submeniul afişat se selectează opţiunea Rename. P4. Se şterge vechiul nume, se introduce cel nou, iar apoi se acţionează tasta <Enter> sau se execută clic într-o zonă liberă de pe ecran.

Observaţii. 1. Dacă pliantul (fişierul) nu se află în directorul rădăcină se execută dublu-clic stânga pe

numele pliantului în care se află entitatea al cărei nume trebuie schimbat. 2. Pentru a vă descurca mai uşor puteţi selecta butonul Folders din fereastra My

Computer. 9.6. Ştergerea unui pliant (fişier)

Pentru a şterge un pliant (fişier), se parcurg următorii paşi:

P1. Din ferestra My Computer se selectează cu dublu-clic stânga pictograma unităţii de disc în care se află pliantul (fişierul) ce urmează a fi şters. P2. Se acţionează butonul Folders. P3. Din panoul stâng se selectează, dacă este cazul, cu dublu-clic stânga numele pliantului în care se află pliantul (fişierul) care trebuie şters. P4. Se selectează cu clic stânga numele pliantului (fişierului) care urmează a fi şters. P5. Se selectează din meniul File opţiunea Delete, iar din caseta de confirmare se alege opţiunea Yes.

Observaţii. 1. Pentru a şterge mai multe pliante şi/sau fişiere în acelaşi timp, în pasul P4 se ţine apăsată

tasta <Ctrl> şi se execută clic stânga pe fiecare entitate ce urmează a fi ştearsă. 2. În unele situaţii pliantul (fişierul) care urmează a fi şters este “Read Only” adică este

protejat la ştergere, caz în care apare o casetă de reconfirmare a ştergerii, casetă în care, dacă totuşi se doreşte ştergerea, se alege răspunsul “Yes to all” (da pentru toate).

3. Reamintim faptul că dacă un pliant (fişier) a fost şters din greşeală, acesta poate fi recuperat şi adus înapoi în locul de unde au fost şters folosind opţiunea Restore a meniului File din fereastra obţinută prin dublu-clic stânga pe pictograma Recicle Bin a ecranului de lucru (desktop).

30

Page 32: informatica

INFORMATICĂ Constantin Zăvoianu

10. Aplicaţia Internet Explorer 10.1. Crearea unei adrese de e-mail Adresele de e-mail sunt asemănătoare ca funcţie cu adresele poştale şi au următoarea

formă nume@server , unde nume este numele utilizatorului, iar server este numele serverului de poştă unde este localizată cutia poştală a destinatarului. Cu ajutorul conectării la Internet se poate realiza comunicarea între doi utilizatori prin intermediul a două căsuţe de e-mail. Pentru accesarea unei căsuţe de e-mail este necesară existenţa unui cont de e-mail, care este format din două elemente: adresa de e-mail şi parola de acces, elemente pe baza cărora serverul identifică utilizatorul căsuţei respective. Crearea unui cont de e-mail se poate face parcurgând următorii paşi:

P1. Se deschide aplicaţia Internet Explorer executând dublu-clic pe pictograma ei. P2. În fereastra acestei aplicaţii se introduce adresa: www.yahoo.com şi acţionează tasta <Enter>. P3. În ferestra deschisă se execută clic stânga pe opţiunea Mail. P4. Se execută clic stânga pe butonul Sign Up. P5. În caseta Create Your Yahoo! ID se completează informaţiile solicitate:

- First name (numele de familie), de exemplu: Gagarin - Last name (prenumele), de exemplu: Valeriu - Gender (sexul), se selectează de exemplu: Male (masculin) - Yahoo! ID (adresa de e-mail), de exemplu: gagarin_val, caz în care adersa completă

de e-mail va fi [email protected] - Password (parola formată din minim 6 caractere), de exemplu: doipedoi - Re-type password (se reintroduce parola), adică doipedoi.

P6. În caseta If You Forget Your Password... se selectează o întrebare din lista Select a Question, de exemplu: What is pet’s name? (Care este numele mic?), întrebare la care se răspunde în caseta Your answer (răspunsul tău), de exemplu Vali, după care se introduc informaţiile referitoare la data naşterii în Birthday, iar în Postal Code se introduce codul poştal. P7. În caseta Customizing Yahoo!, prin selecţie se introduc informaţii în casetele: Industry, Title şi Specialization. P8. În caseta Verify Your Registration se introduce în caseta Enter the code shown, codul afişat de calculator, scris cu alb pe fond negru, respectând ortografia scrierii (fără a înlocui literele mari cu litere mici sau invers). P8. Din caseta Terms of Service se selectează opţiunea Agree.

10.2. Trimiterea unui mesaj prin e-mail

Pentru a trimite un mesaj prin e-mail se parcurg următorii paşi:

P1. Se deschide aplicaţia Internet Explorer executând dublu-clic pe pictograma ei. P2. În fereastra acestei aplicaţii se introduce adresa: www.yahoo.com şi acţionează tasta <Enter>. P3. În ferestra deschisă se execută clic stânga pe opţiunea Mail. P4. Se introduce adresa de e-mail şi parola expeditorului în casetele Yahoo! ID: (de exemplu: gagarin_val), respectiv Password (de exemplu: doipedoi), iar apoi se acţionează butonul Sign In. P5. Se selectează opţiunea Compose cu clic stânga, iar apoi se introduc următoarele informaţii:

31

Page 33: informatica

INFORMATICĂ Constantin Zăvoianu

- adresa de e-mail a destinatarului în caseta To: (de exemplu: [email protected]);

- un rezumat al mesajului care se trimite în caseta Subject (de exemplu: forme de salut);

- mesajul care se transmite, se scrie în caseta de la baza ferestrei (de exemplu: bună ziua, bună seara, bună dimineaţa).

P6. Se execută clic pe opţiunea Send (trimite).

10.3. Vizualiza un mesaj primit prin e-mail

Pentru a vizualiza un mesaj primit prin e-mail se parcurg următorii paşi:

P1. Se deschide aplicaţia Internet Explorer executând dublu-clic pe pictograma ei. P2. În fereastra acestei aplicaţii se introduce adresa: www.yahoo.com şi acţionează tasta <Enter>. P3. În ferestra deschisă se execută clic stânga pe opţiunea Mail. P4. Se introduce adresa de e-mail şi parola destinatarului în casetele Yahoo! ID, respectiv Password, iar apoi se acţionează butonul Sign In. P5. Se execută clic stânga pe pliantul Inbox. Se va deschide în partea dreaptă fereastra Inbox - fereastră în care întâlnim, printre altele, meniul Sender (Expeditor) şi meniul Subject (rezumatul mesajului). Dând clic stânga pe un rezumat de mesaj, mesajul se va afişa în zona inferioară a ferestrei din partea dreaptă.

11. Aplicaţia Windows Explorer

Pentru a deschide fereastra corespunzătoare programului Windows Explorer, se execută clic stânga pe butonul Start, se selectează opţiunea Programs, iar din submeniul afişat se selectează opţiunea Windows Explorer. Partea din stânga a ferestrei divizate Windows Explorer enumeră toate unităţile de disc ale calculatorului, iar în cadrul unităţii de disc curente, toate pliantele existente. La executarea unui clic stânga pe un pliant, în partea dreaptă a ferestrei Windows Explorer se va afişa conţinutul pliantului respectiv (pliante şi/sau fişiere). Pliantele care conţin, la rândul lor, alte pliante, sunt precedate de un semn “+” plasat într-un pătrăţel. Executarea unui clic stânga pe acest pătrăţel are ca efect transformarea semnului respectiv în “-” şi afişarea, sub formă arborescentă, a subpliantelor conţinute. Executarea unui dublu-clic stânga pe unul din pliantele din dreapta are ca efect deschiderea pliantului respectiv (afişarea, tot în partea dreaptă, a conţinutului acestuia). Executarea unui dublu-clic stânga asupra pictogramei unui fişier are ca efect lansarea acestuia în execuţie (dacă este fişier executabil) sau editarea lui prin intermediul editorului de texte cu care a fost creat (dacă este fişier document). Folosind opţiunea Arange Icons (aranjarea pictogramelor) a meniului View, entităţile (pliante sau fişiere) din lista detaliată din dreapta pot fi aranjate în ordinea alfabetică a numelui (opţiunea by Name), în ordinea alfabetică a tipului (opţiunea by Type), în ordinea mărimii (opţiunea by Size) sau cronologic în funcţie de data ultimei modificări (opţiunea by Date). Folosind opţiunea Find (caută) a meniului Tools (unelte) şi selectând, în continuare, opţiunea Files or Folders …, se pot căuta fişiere şi/sau pliante într-un mod identic cu cel descries în § 7. O caracteristică foarte utilă a mediului Windows Explorer este copierea fişierelor şi/sau pliantelor (cu tot cu conţinut) prin “tragerea” cu mouse-ul. Pentru aceasta, se selectează unul sau mai multe fişiere din partea dreaptă a ferestrei, se poziţionează cursorul mouse-ului (“cu fişierele

32

Page 34: informatica

INFORMATICĂ Constantin Zăvoianu

după el”) pe pliantul în care se doreşte să se facă copierea, după care se eliberează butonul mouse-ului. La fel se procedează cu pliantele din stânga ferestrei Windows Explorer dacă se doreşte copierea lor în alte pliante. Copierea, însă, prin această metodă, pe aceeaşi unitate de disc, a unui pliant sau a unui fişier, dacă nu se face explicit prin folosirea opţiunii Copy a meniului Edit, este interpretată ca mutare de către Windows Explorer; această operaţie nu este indicată tot timpul deoarece, în această situaţie, scurtăturile nu mai “ştiu” calea corectă spre pliantul sau aplicaţia pentru care s-a făcut scurtătura respectivă. Observaţie: Toate operaţiile referitoare la fişiere şi pliante (creare, copiere, mutare şi ştergere) se pot face şi în Windows Explorer la fel ca şi în My Computer (folosind opţiunea New din meniul File, opţiunile Copy, Cut şi Paste din meniul Edit, opţiunile Rename şi, respectiv, Delete din meniul File). 12. Probleme propuse Problema 1.

1. Să se deschidă aplicaţia My Computer. 2. Să se vizualizeze diagramele grafice referitoare la spaţiul de memorie de pe fiecare

unitate de disc. 3. Să se vizualizeze în panoul din dreapta denumirile pliantelor şi fiţierelor de pe fiecare

unitate de disc. 4. Să se afişeze în panoul în panoul din stânga reprezentarea grafică a unităţilor de disc

şi a pliantelor de pe desktop. 5. Să se extindă fiecare schiţă de pe fiecare unitate de disc, iar apoi să se restrângă. 6. Să se revină la starea precedentă, iar apoi să se închidă aplicaşia My Computer.

Problema 2. 1. Să se cautute cel puţin trei fişiere care au extensia doc. 2. Pentru unul din fişierele găsite să se creeze o scurtătură pe desktop. 3. Să se lanseze în execuţie aplicaţia pentru care s-a creat scurtătura. 4. Să se inchidă aplicaţia lansată, anterior, în execuţie.

Problema 3. Utilizând aplicaţia My Computer: 1. Să se creeze pe discul din unitatea C pliantul cu numele lucru în piantul rădăcină. 2. În pliantul lucru să se creeze următoarea structură arborescentă de pliante:

3. Să se minimizeze ferastra aplicaţiei My

Computer. 4. Să se lanseze editorul de texte Notepad,

parcurgând succesiunea de comenzi: Start→Programs→Accessories→Notepad,

iar apoi să se creeze fişierele: IARNA în pliantul ALFA1, PRIMAVARA în pliantul ALFA2, VARA în pliantul BETA1,

TOAMNA în pliantul BETA2. Fiecare fişier va conţine câte o strofă dintr-o poezie specifică anotimpului respectiv (denumirile a cinci discipline sportive specifice anotimpului).

ALFA ├─── ALFA1 │ ├─────── ALFA2 │ └─────── │ BETA ├─── BETA1 │ ├─────── └───────BETA2 │ │ GAMA └─── GAMA1 ├────── └──────GAMA2

5. Să se maximizeze ferastra aplicaţiei My Computer şi să se vizualizeze conţinutul fiecărui fişier.

6. Să se copize primele două fişiere în pliantul GAMA1, iar următoarele două să se mute în pliantul GAMA2.

7. Să se vizualizeze în panoul din stînga structura de pliante şi fisiere din pliantul lucru, iar apoi să se şteargă acest pliant.

33

Page 35: informatica

INFORMATICĂ Constantin Zăvoianu

Editorul de texte MICROSOFT WORD 1. Introducere Cel mai cunoscut şi cel mai utilizat procesor de texte este Microsoft Vord. El face parte din pachetul de programe Microsoft Office, produs de firma Microsoft Corporation. Scopul urmărit în acest capitol este de a familiariza utilizatorul începător cu facilităţile de bază ale editorului Word 2003, pentru a putea lucra cât mai eficient cu minimum necesar de cunoştinţe.

2. Lansarea în execuţie a aplicaţiei Microsoft Word

Lansarea în execuţie a aplicaţiei Microsoft Word se face parcurgând următorii paşi: P1. Se execută clic pe butonul Start situat pe desktop în bara de opraţii. P2. Se selectează cu mouse-ul opţiunea Programs , care la rândul ei este un meniu, meniu din care selectăm opţiunea Microsoft Office , în care vom găsi o pictogramă cu simbolul W urmată de (numele aplicaţiei). Executând clic stânga pe numele aplicaţiei, aceasta va fi lansată în execuţie. Alte modalităţi de a lansa Word-ul în execuţie sunt următoarele: - se execută dublu clic stânga pe pictograma scurtăturii, corespunzătoare acestei aplicaţii,

afişate pe desktop (dacă există o astfel de scurtătură); - se execută dublu clic stânga pe o pictogramă cu simbolul W sau pe numele unui fişier

cu extensia doc. După lansarea în execuţie a aplicaţiei Microsoft Word pe ecran se va deschide fereastra

de lucru a editorului Word 2003, fereastră care, într-un anumit context, se prezintă astfel:

1 2 3 4 5

6 7 8

În această fereastră distingem:

1. Bara de titlu în care este prezentă pictograma şi numele fişierului în care vom salva documentul, numele aplicaţiei cu care se face editarea şi trei butoane în partea dreaptă. 2. Bara de meniuri în care sunt înscrise cele nouă meniuri utilizate pentru a avea acces la toate facilităţile din Word. Selectarea unui meniu se face cu clic stânga. În urma selectării apare o listă cu comenzi sau opţiuni înrudite, listă care poate fi extinsă dacă se execută clic pe săgeata dublă de la subsolul listei. Selectarea unei comenzi din listă se face cu clic stânga. În

34

Page 36: informatica

INFORMATICĂ Constantin Zăvoianu

cazul în care o comandă afişată în listă este urmată de o săgeată spre dreapta, în urma selectării comenzii se afişează o listă cu opţiuni necesare completării acelei comenzi. Orice opţiune poate fi selectată cu clic stânga, iar atunci când opţiunea este urmată de puncte de suspensie (...) se va deschide o casetă de dialog în care trebuie introduse informaţii suplimentare sau în care trebuie să se facă selecţii pentru a completa comanda respectivă, după care se acţionează butonul OK din casetă pentru a se executa comanda. 3. Bare de butoane în care sunt o serie de pictograme corespunzătoare unor comenzi mai des folosite. Executând clic stânga pe un buton se execută comenda corespunzătoare lui (denumuirea comenzii poate fi vizualizată prin poziţionarea cursorului de la mouse pe buton). 4. Rigla orizontală gradată în inchi (în stănga ferestrei există şi o riglă verticală). 5. Zona de editare este acea porţiune de pe ecran unde se introduce documentul. În această zonă indicatorul mouse-ului apare sub forma literei I. El îşi modifică forma în funcţie de poziţia în care ne aflăm în fereasrta deschisă după lansarea Word-ului. Documentul introdus în această zonă trebuie salvat într-un fişier, numit fişier document. Numele fişierului trebuie introdus de utilizator, iar extensia va fi doc (extensia o pune automat Word-ul). 6. Bara de derulare orizontală (în dreapta ferestrei există şi o bară de derulare verticală). 7. Bara de butoane pentru desen. 8. Bara de stare care furnizează informaţii referitoare la configurările şi comenzile curente. 3. Închiderea aplicaţiei Microsoft Word Închiderea aplicaţiei Microsoft Word se face selectând opţiunea Exit din meniul File . La ieşirea din Word suntem întrebaţi dacă dorim să salvăm ultime modificări efectuate în documetul tehoredactat şi putem selecta unul din butoanele:

• Yes – în caz afirmativ; • No – în caz contrar; • Cancel – în cazul în care dorim să anulăm comanda. Observaţie. O altă modalitate de a ieşi din Word constă în executarea unui clic stânga pe

butonul din bara de titlu, dar în acest caz nu mai este formulată întrebarea referitoare la ultimile modificări. 4. Deschiderea unui fişier document După lansarea în execuţie a aplicaţiei Microsoft Word pe ecran se va deschide fereastra de lucru a editorului Word 2003, fereastră în care în bara de titlu numele fişierului document este Document1, iar indicatorul mouse-ului, sub forma literei I, este vizibil în zona de editare.

După editarea unui text, dacă salvăm documentul introdus, el va fi plasat pe disc în pliantul My Documents, în fişierul cu numele Doc1.doc. La următoarea lansare în execuţie fişierul din bara de titlu va avea tot numele Document1.doc, iar salvarea se va face tot în pliantul My Documents, dar în fişierul Doc2.doc, şi procedeul poate continua. Nu se recomandă

35

Page 37: informatica

INFORMATICĂ Constantin Zăvoianu

utilizarea acestei metode, deoarece numele unui fişier trebuie să fie sugestiv şi în concordanţă cu conţinutul său, astfel încât să-l putem identifica destul de uşor. De aceea, după lansarea în execuţie a aplicaţiei Microsoft Word, vom specifica locul şi numele fişierului în care salvăm documentul, parcurgând următorii paşi:

P1. Din meniul File selectăm comanda Save As... care deschide fereastra Save As. P2. Din lista derulantă Save in: alegem unitatea de disc şi pliantul în care va fi plasat fişierul. P3. În caseta File name: introducem numai numele fişierului, extensia lui va fi doc. P4. Acţionăm butonul Save din fereastră. După efectuarea acestor opraţii, în zona de editare putem introduce textul, iar din când în

când salvăm ceea ce am introdus, selectând din meniul File comanda Save. Deschiderea, în vederea actualizării, a unui fişier deja creat, se poate face selectând

meniul File, caz în care avem două variante: a) Înaintea comenzii Exit sunt afişate adresele de pe disc ale ultimelor patru documente,

iar dacă executăm clic stânga pe numele unui document se relizează deschiderea automată a acestuia.

b) Dacă nu putem opta pentru varianta precedentă, parcurgem următorii paşi: P1. Selectăm comanda Open..., care deschide fereastra Open. P2. Din lista derulantă Look in: alegem unitatea de disc şi pliantul în care se află fişierul. P3. Executăm clic stânga pe numele fişierului şi apoi acţionăm butonul Open din fereastră (executăm dublu clic stânga pe numele fişierului).

Deschiderea unui document nou, după închiderea unui fişier, se face parcurgând următorii paşi:

P1. Din meniul File selectăm comanda New... care deschide fereastra New Document. P2. Se execută clic stânga pe butonul Blank document, iar după executarea acestei operaţii în bara de titlu numele fişierului document este Document2, iar indicatorul mouse-uluieste vizibil în zona de editare. P3. Din lista derulantă Save in: alegem unitatea de disc şi pliantul în care va fi plasat fişierul. P4. În caseta File name: introducem numele fişierului. P5. Acţionăm butonul Save din fereastră.

5. Închiderea unui document După încheierea sesiunii de lucru, documentul editat trebuie închis după ce, în prealabil, acesta a fost salvat. Realizarea acestei operaţii se face selectând din meniul File opţiunea Close. Observaţie. Dacă nu au fost salvate ultimile modificări, se deschide fereastra Microsoft Office Word în care putem acţiona unul din butoanele:

• Yes – dacă salvăm şi ultimile modificări efectuate în document; • No – dacă nu salvăm şi ultimile modificări efectuate în document; • Cancel – dacă renunţăm la opraţia de închidere a documentului.

6. Definirea paginii de lucru

36

Page 38: informatica

INFORMATICĂ Constantin Zăvoianu

6.1.Setarea paginii Word-ul oferă posibilitatea setării paginii. Prin setarea paginii se înţelege stabilirea formatului paginii (A4, A3…), orientarea paginii (în picioare Portrait sau culcat Lanscape ) şi dimensiunile marginilor. Setarea paginilor se poate face parcurgând următorii paşi: P1. Din meniul File se selectează comanda Page setup…, selecţie în urma căreia se va deschide fereastra Page setup care are trei componente: Margins, Paper şi Layout. P2. Selectăm componenta Paper; iar din lista Paper size se alege formatul paginii. P3. Selectează componenta Margins din aceeaşi fereastră, pentru a seta dimensiunile marginilor şi orientarea paginilor se. Marginile se setează în câmpurile Left , Right , Top , Bottom , din lista Margins iar orientarea paginii se setează din lista Orientation. P4. După efectuarea acestor setări, din lista Apply to se va alege poţiunea din document asupra căreia au efect setările: Whole document (întregul document), This point forward (din acest punct înaite) sau This section (de la început până în acest punct). 6.2. Antete şi subsoluri

Antetele şi subsolurile apar pe fiecare pagină sau numai pe anumite paginii ale documentului. Definirea unui antet/subsol se face parcurgând următorii paşi:

P1. Din meniul View se selectează comanda Header and Footer (partea de sus- antetul şi partea de jos- subsolul), selecţie în urma căreia se va afişa o bară de butoale specifice acestei comenzi, iar cursorul de la mouse se poziţionează în antet. P2. Prin poziţionarea cursorului de la mouse pe un anumit buton aflăm funcţia acestuia, în cazul în care ea nu este descrisă explicit. Pentru a comuta între editarea unui antet sau a unui subsol se foloseşte butonul Header and Footer. Atât în antet cât şi în subsol putem introduce: texte, elemente grafice, numărul de pagină, data şi ora curentă, etc. P3. Se acţionează butonul Close.

6.3. Numerotarea paginilor unui document Pentru a numerota paginile unui document se parcurg următorii paşi:

P1. Din meniul Insert se selectează opţiunea Page numbers..., care deschide fereastra Page numbers. P2. Din lista Position se selectează zona în care va fi scris numărul paginii: Header (în antet) sau Footer (în subsol). P3. Din lista Alignment se selectează modul de aliniere a numărului de pagină: Left (la stânga), Center (în centru), Right (la dreapta). P4. Se acţionează butonul Format, care deschide fereastra Page Number Format, iar în caseta Start at: se introduce numărul de la care începe numerotarea pginilor. P5. Se acţionează butonul OK din fereastra curentă şi apoi butonul OK din fereastra Page numbers.

Observaţie. Numerele de pagină sunt vizibile numai în modul de lucru Print Layout .

7. Modurile de afişare a unui document

37

Page 39: informatica

INFORMATICĂ Constantin Zăvoianu

Word–ul permite opt moduri de afişare a documentelor, iar fiecare mod, poate fi selectat din meniul Wiew. Denumirile şi facilităţile oferite de aceste moduri de afişare sunt:

1. modul Normal - recomnadat pentru dactilografiere, editare şi formatare; 2. modul Web Layout – afişează documentul sub forma în care va apărea pe Web (pagină

de Internet) 3. modul Print Layout - mod în care documentul poate fi văzut aşa cum arată atunci când

va fi listat la imprimantă. Acest mod se mai foloseşte atunci când se doreşte inserarea figurilor, frame-urilor (ferestre separate care pot fi puse oriunde pe pagină, pot avea orice dimensiune şi care conţin figuri sau texte) şi imaginilor în text;

4. modul Reading Layout - oferă o vizualizare mai confortabilă pentru citirea documentelor (afişarea pe ecran se face pe două coloane similare unei cărţi deschise);

5. modul Outline - facilitează lucrul cu documentele mai lungi. În acest mod documentul poate fi restrâns doar la liniile principale, sau poate fi extins înapoi la textul complet;

6. modul Document Map - permite organizarea documentelor lungi, cum ar fi cărţile, divizate în mai multe subdocumente;

7. modul Thumbnails – permite poziţionarea rapidă pe diferite pagini ale documentului. Paginile vor fi afişate la dimensiune redusă în partea stângă a ecranului, unde este afişat şi numărul paginii, iar cu clic stânga poate fi selectată pagina dorită. Ieşirea din acest mod se face selectându-l încă o dată cu clic stânga.

8. modul Full Screen - afişează documentul pe întregul ecran, fără alte elemente. Pentru ieşirea din acest mod se apasă tasta Esc .

Observaţii.

1. În fiecare mod se poate face tehnoredactare. 2. Afişarea unui document numai în vederea vizualizării se poate face selectând cu clic

stânga opţiune Print Preview din meniul File. 8. Editarea documentelor

Când se lansează Word-ul , se deschide un document nou gata pentru dactilografiere. Cursorul are forma unei bare verticale pâlpâitoare şi indică locul în care urmează a fi introdus textul; acest loc se numeşte punct de inserare. La sfârşitul de rând nu este nevoie să se acţioneze tasta <Enter> , Word-ul rupând linia şi trecând automat la rândul următor. Tasta <Enter> se foloseşte doar atunci când se doreşte trecerea la un nou paragraf. De obicei, un document conţine mai mult text decât se poate vizualiza pe ecran. În cazul în care se doreşte vizualizarea unei porţiuni de text din afara zonei de afişare se foloseşte barele derulante aflate în dreapta şi în partea de jos a ferestrei de editare. Pentru schimbarea scării de vizualizare se foloseşte lista ascunsă Zoom din bara de butoane sau se stabileşte scara de afişare selectând din meniul Wiew opţiunea Zoom şi se introduce noua scară în caseta Percent.

8.1. Mutarea, copierea sau ştergerea unei porţiuni de text Selectarea unei porţiuni din text pentru mutare, copiere sau ştergere se face trecând cu

mouse-ul peste porţiunea dorită şi ţinând clic stânga apăsat. Atunci când porţiunea de text este mai mare se poziţionează cursorul, cu ajutorul mouse-ului pe primul caracter din text, se ţine apăsată tasta Shift, iar apoi:

- prin acţionarea tastei săgeată-dreapta selectăm textul, la drerapta, caracter cu caracter; - prin acţionarea tastei săgeată-stânga selectăm textul, la stânga, caracter cu caracter;

38

Page 40: informatica

INFORMATICĂ Constantin Zăvoianu

- prin acţionarea tastei End selectăm întreaga linie; - prin acţionarea tastei săgeată-jos selectăm, în jos, atâtea caractere căte încap pe o linie; - prin acţionarea tastei săgeată-sus selectăm, în sus, atâtea caractere căte încap pe o linie; - prin acţionarea tastei Page Down selectăm în jos o întreagă pagină; - prin acţionarea tastei Page Up selectăm în sus o întreagă pagină.

Cea mai uşoară metodă pentru mutarea sau copierea textului este metoda Drag and Drop (târâre şi lăsare). Totuşi pentru documentele lungi se folosesc comenzile Cut , Copy şi Paste din meniul Edit .

Pentru mutarea textului folosind metoda Drag and Drop se parcurg paşii: P1. Se selectează textul. P2. Se plasează cursorul de la mouse peste textul selectat. P3. Se mută cursorul de la mouse ţinând butonul din stânga apăsat până la destinaţie, după care se relaxează butonul. Pentru copierea textului prin aceaşi metodă, în timp ce se deplasează mouse-ul se va ţine apăsat şi butonul Ctrl . Pentru copierea/mutarea textului prin intermediul comenzilor Cut , Copy şi Paste, se parcurg paşii: P1. Se selectează textul ce urmează a fi mutat/copiat. P2. Se selectează comanda Copy (copiază) / Cut (decupează) din meniul Edit .

P3. Se poziţionează punctul de inserare în noua poziţie, după care se selectează comanda Paste (lipeşte) din meniul Edit . Pentru ştergerea unui text, după selectarea lui, se acţionează tasta Delete. 8.2. Copierea sau mutarea unei porţiuni de text dintr-un alt document Word Pentru a copia sau muta, în documentul curent,o prţiune de text care se găseşte în alt

document Word se parcurg următorii paşi: P1. Din meniul File selectăm comanda Open..., care deschide fereastra Open, iar din lista derulantă Look in: alegem unitatea de disc şi pliantul în care se află documentul. P2. Executăm clic stânga pe numele fişierului şi apoi acţionăm butonul Open din fereastră (executăm dublu clic stânga pe numele fişierului). P3. Selectăm din documen textul ce urmează a fi copiat/mutat, iar apoi, din meniul Edit, selectăm comanda Copy/Cut .

P4. Închidem, cu sau fără salvare, documentul din care s-a făcut selecţia şi astfel se revine în documentul curent. P5. Poziţionăm punctul de inserare în noua poziţie, după care se selectăm comanda Paste din meniul Edit .

8.3. Copierea datelor din Excel Pentru a copia porţiuni mici de date dintr-un document Excel se parcurg următorii paşi: P1. Se lansează în execuţie aplicaţia Microsoft Excel şi se execută clic stânga pe butonul

care minimizează fereastra aplicaţiei şi o plasează în bara de opraţii de pe desktop. P2. Se deschide documentul Word în care se doreşte introducerea datelor din Excel.

39

Page 41: informatica

INFORMATICĂ Constantin Zăvoianu

P3. Se comută în Excel executând clic stânga pe numele aplicaţia Microsoft Excel din bara de operaţii (documentul Word va trece în bara de operaţii). P4. Se deschide registrul în care este foaia de calcul care conţine datele ce urmează a fi copiate, se selectează foaie de calcul, iar apoi domeniul care conţine datele. P5. Din meniul Edit se alege comanda Copy. P6. Se comută în documentul Word şi se execută clic stânga în locul în care se doreşte inserarea datelor. P7. Din meniul Edit se alege comanda Paste Special. P8. Se execută clic stânga pe Microsoft Office Excel Worksheet Object şi apoi pe Ok.

8.4. Inserarea simbolurilor şi a caracterelor speciale

Pe lângă literele, cifrele şi semnele de punctuaţie marcate pe tastatură, se pot introduce în text simboluri, caractere speciale, diacritice, etc. Pentru a introduce o atfel de entitate se parcurg următorii paşi: P1. Se selectează comanda Symbol din meniul Insert . P2. Din lista Font se alege setul de caractere care conţine simbolul dorit. P3. Se execută dublu-clic stânga pe simbolul selectat sau cu clic stânga urmat de Insert. P4. Se selectează butonul Close . Un simbol mai des folosit se poate introduce în text mai simplu dacă i se asociază o combinaţie de taste. Acest lucru se realizează parcurg următorii paşi: P1. Se selectează comanda Symbol din meniul Insert . P2. Din lista Font se alege setul de caractere care conţine simbolul dorit. P3. Se execută clic stânga pe simbolul respectiv. P4. Se activează butonul Shortcut Key . P5. În câmpul Press new shortcut key se tastează combinaţia de taste dorită. P6. Se acţionează butonul Assign şi după ce se termină asignarea butonul Close .

8.5. Căutarea şi înlocuirea

Pentru a căuta un caracter/text în vederea înlocuirii cu un alt caracter/text se parcurg următorii paşi:

P1. Din meniul Edit se selectează comenda Replace..., care deschide fereastra Find and Replace (găseşte şi înlocuieşte). P2. În caseta Find wath: se introduce caracterul/textul care trebuie căutat în vedrea înlocuirii, iar în caseta Replace with: se introduce caracterul/textul nou (se poate înlocui un caracter cu alt caracter su cu un text, iar un text se poate înlocui cu alt text sau cu un caracter). P3. Se acţionează butonul:

• Replace All – dacă înlocuirea se face în întregul document: • Replace – caz în care se caută prima entitate ce trebuie înlocuită. Dacă dorim să

o înlocuim acţionăm din nou butonul Replace, iar în caz contrar acţionăm butonul Find Next, în vederea găsirii următoarei entităţi, care va fi înlocuită dacă acţionăm butonul Replace. Procedeul continuă până când nu mai nu va mai fi găsită nici o entitate de înlocuit.

P4. Se acţionează butonul OK şi apoi se închide fereastra Find and Replace.

40

Page 42: informatica

INFORMATICĂ Constantin Zăvoianu

8.6. Scrierea pe coloane Pentru a trece din modul de editare pe o singură coloană (implicit) într-un mod de editare

pe mai multe coloane se parcurg următorii paşi: P1. Din meniul Format se selectează opţiunea Columns. Pe ecran se dechide fereastra Columns. P2. În această fereastră din lista Presets se poate alege una din opţiunile:

• One pentru lucru pe o singură coloană; • Two pentru lucru pe două coloane; • Three pentru lucrul pe trei coloane; • Left pentru lucrul pe două coloane, din care cea din stânga este mai mică; • Right pentru lucrul pe două coloane, din care cea din dreapta este mai mică.

P3. Se acţionează butonul OK din fereastra Columns. Observaţii.

1. Dacă nu se doreşte nici una din aceste opţiuni, utilizatorul poate să stabilească numărul de coloane cu ajutorul casetei Number of columns, iar lăţimea şi distanţa dintre coloane cu ajutorul casetelor Width şi Spacing.

2. Alegerea porţiunii din document care va fi afectată de modificare se face din caseta Apply to, unde sunt disponibile următoarele opţiuni:

• Whole document - întreg documentul; • This point forward - schimbarea va avea efect numai asupra textului

situat după punctul de inserare. 3. Dacă se doreşte afişarea pe coloane doar a unei porţiuni din text, în prealabil se face

selectarea acesteia, iar apoi se stabileşte modul de afişare.

9. Formatarea textelor

9.1. Formatarea la nivel de caracter Pentru a modifica aspectul caracterelor, acestea trebuiesc selectate mai întâi şi abia după aceea li se aplică formatul dorit. Dacă se alege o comandă de formatare fără a fi selectat o porţiune de text în prealabil, atunci doar caracterele care se introduc în continuare vor fi afectate de comanda dată. Cele mai comune formate se pot aplica sau şterge cu ajutorul butoanelor de formatare din bara de butoane Formating.

deplasarede

butoane

numerotarede

butoane

alinierede

butoaneSizeFontFont

↑↑↑↑↑↑↑↑

Din această bară se pot alege următoarele formate pentru caractere: - setul de caractere din lista Font; - dimensiunea caracterelor din lista Font Size ; - caracteristicile cele mai utilizate, folosind butoanele B (scris îngroşat), I (scris înclinat), U (scris subliniat), sau combinaţii ale acestora.

41

Page 43: informatica

INFORMATICĂ Constantin Zăvoianu

Formatele mai speciale la nivel de caracter se pot seta, alegând comanda Font a meniului Format . De aici se pot seta caracteristici cum ar fi: culoarea caracterelor, indici superiori sau inferiori, etc. 9.2. Formatarea la nivel de paragraf Se pot modifica următoarele aspecte ale formatului unui paragraf: alinierea, indentarea, distanţa dintre rânduri, distanţa dintre paragrafe, chenarele (border), umbrirea şi numerotarea. Pentru a realiza aceste modificări, primul pas este întotdeauna selectarea paragrafului respectiv. Următorii paşi sunt specifici fiecărui aspect în parte. Prin opţiunea Paragraph din meniul Format se pot seta următoarele aspecte: - indentarea - zona Indentation , câmpurile Left şi Right ; - distanţa dintre rânduri – lista Line spacing ; - distanţa dintre paragrafe – câmpurile After şi Before; - alinierea – din lista Alignment sau din butoanele de aliniere din bara de butoane. Un paragraf mai poate fi scos în evidenţă prin aplicarea unor chenare sau prin aplicarea unui fond cu diferite nuanţe de gri, modele sau culori.

Pentru a aplica un chenar unui paragraf, se parcurg etapele: - din meniul Format se alege comanda Borders and Shading . În acest moment pe

ecran va apărea o fereastră cu două componente, Borders şi Shading . Se alege cu mouse-ul componenta Borders ;

- se stabileşte stilul liniei cu care va fi înconjurat paragraful; - se selectează una din opţiunile: Box pentru aplicarea liniei simplu sau Shadow

pentru aplicarea unei linii cu umbră. - se acţionează butonul OK. Ştergerea chenarului se face selectând din meniul Format comanda Borders and

Shading, iar apoi opţiunea None. Pentru a schimba fondul, din fereastra Borders and Shading se alege componenta

Shading , iar apoi nuanţa de gri dorită sau modelul, culoarea. Pentru a dezactiva aceste caracteristici se parcurg paşii anteriori, numai că se aleg şi în

cazul liniilor şi în cazul fondurilor opţiunea None . Numerotarea paragrafelor sau punctarea permite evidenţierea etapelor unui algoritm sau

ale unei enumerări. Aceasta se realizează cu comanda Bullets and Numbering a meniului Format .

10. Lucru cu frame-uri (chenare) şi figuri

Frame-urile sunt importante în cazul în care se lucrează cu elemente grafice, reprezentate prin figuri, imagini, poze, grafice de funcţii, etc. Unele dintre acestea – care sunt mai simple – pot fi realizate chiar în Word, iar altele se realizează cu ajutorul unor programe specializate, după care pot fi importate într-un document Word.

10.1. Crearea frame-urilor Pentru a crea un frame, se parcurg următorii paşi:

42

Page 44: informatica

INFORMATICĂ Constantin Zăvoianu

P1. Din meniul Wiew se selectează modul de afişare Print Layout. P2. Din meniul Insert se selectează opţiunea Text Box, selecţie în urma căreia cursorul

se transformă în semnul +. P3. Se poziţionează cursorul pe ecran în locul în care va fi colţul stânga-sus al

chenarului, după care se apasă butonul din stâga al mouse-ului şi ţinâdu-l apăsat se trage spre dreapta-jos, până câd frame-ul are dimensiunea dorită.

Selectarea unui frame se face executând clic stânga pe una din laturile lui sau în

interiorul acestuia. Conturul unui frame selectat apare haşurat şi sunt evidenţiate 8 mânere, de forma unor cerculeţe, folosite pentru redimensionarea acestuia.

Pentru a muta un frame într-o anumită zonă se poziţionează mouse-ul pe una din laturile chenarului, iar în momentul în care cursorul se transformă în se apasă butonul din stânga al mouse-ului şi ţinâdu-l apăsat se trage spre locul în care se doreşte să se mute frame-ul, după care se eliberează mouse-ul.

10.2. Importul si manipularea elementelor grafice Word-ul permite atât importul unor imagini create de alte programe specializate, dar şi

crearea şi editarea imaginilor cu ajutorul instrumentelor din bara de butoane de desen. Pentru a importa o imagine creată cu un alt program se parcurg următorii paşi: P1. Se creează frame–ul în care se va insera imaginea. P2. Se poziţionează punctul de inserare în chenarul respectiv. P3. Din meniul Insert se selectează comanda Picture, iar din submeniurile acestei

comenzi opţiunea From File..., care deschide fereastra Insert Picture. P4. Din lista derulantă Look in: alegem unitatea de disc şi pliantul în care se află fişierul. P5. Executăm dublu clic stânga pe numele fişierului. Observaţii. 1. Importarea unei imagini se poate face şi din alte medii de programare. 2. Începând de la poziţia curentă a cursorului se poate insera, în documentul curent, un

alt document, într-un mod similar cu inserarea unei imagini, dar cu precizarea că din meniul Insert se selectează comanda File….

11. Editorul de ecuaţii

Pentru a scrie formule matematice, se va poziţiona punctul de inserare în locul în care

urmează a fi scrisă formula, după care se selectează butonul α . Pe ecran se deschide o fereastră specifică acestei aplicaţii, va apărea bara de butoane Equation şi se editează automat un frame în care vom scrie fomula matematică, apelând atât la instrumentele din bara de butoane cât şi la facilităţile oferite de meniurile din bara de titlu a ferestrei.

După introducerea formulei matematice, se execută clic stânga în afara frame–ului. Observaţie. Dacă într-o formulă s-au srecurat unele erori, se deshide fereastra cu formula

executând dublu-clic stânga pe fereastra respectivă, iar apoi se fac corecturile. 12. Lucrul cu tabele 12.1. Crearea unui tabel

43

Page 45: informatica

INFORMATICĂ Constantin Zăvoianu

Un tabel este alcătuit din linii şi coloane la intersecţia cărora se găsesc celulele în care se

pot insera texte şi/sau imagini grafice. Pentru a crea un tabel se parcurg următorii paşi: P1. Se poziţionează cursorul pe ecran în punctul în care va fi inserat tabelul. P2. Se selectează din meniul Table opţiunea Insert şi apoi opţiunea Table, operaţii în urma cărora se va deschide fereastra Insert Table. P3. Se introduce numărul de linii în caseta Number of rows şi numărul de coloane în caseta Number of columns, iar apoi se selectează opţiunea Auto Format în vederea stabilirii tipului de tabel, selecţie în urma căreia se deschide fereastra Table AutoFormat. P4. Se selectează prin clic stânga din lista derulantă Table styles tipul tabelului (acesta se afişează în partea de jos a ferestrei), iar dacă se optează pentru un anumit tip de tabel se acţionează butonul OK. 12.2. Modificarea unui tabel Prin modificarea unui tabel înţelegem adăugarea/ştergerea de linii şi coloane.În general,

înaintea oricărei modificări într-un tabel, celulele, liniile sau coloanele afectate de modificare trebuiesc selectate. Pentru a adăuga o linie într-un tabel se parcurg următorii paşi:

P1. Se poziţionează cursorul într-o celulă oarecare din linia înaintea căreia sau după care urmează să se adauge noua linie. P2. Se selectează din meniul Table opţiunea Insert, iar din submeniul acestei opţiuni selectăm Rows Above (dacă linia se adaugă deasupra) sau Rows Below (dacă linia se adaugă dedesubt).

Pentru a adăuga o coloană într-un tabel se parcurg următorii paşi: P1. Se poziţionează cursorul într-o celulă oarecare din coloana înaintea căreia sau după care urmează să se adauge noua coloană. P2. Se selectează din meniul Table opţiunea Insert, iar din submeniul acestei opţiuni selectăm Columns to the Left (dacă adăugarea se face la stânga) sau Columns to the Right (dacă adăugarea se face la dreapta).

Pentru a şterge o linie/coloană, o celulă sau întregul tabel se parcurg următorii paşi: P1. Se poziţionează cursorul într-o celulă oarecare din linia/coloana care trebuie ştearsă, în celula care trebuie ştearsă sau într-o celulă oarecare când trebuie şters întregul tabel. P2. Se selectează din meniul Table opţiunea Delete, iar din submeniul acestei opţiuni selectăm opţiunea:

• Rows – dacă ştegem linia; • Columns – dacă ştergem coloana; • Cells... – dacă ştergem celula; • Table – dacă ştergem întregul tabel.

12.3. Prelucrarea datelor dintr-un tabel

12.3.1. Noţiuni de bază Într-un table pot fi înregistrate date de tip numeric şi date de tip alfanumeric. Datele de tip numeric sunt numere întregi şi numere reale, cu precizarea că în cazul numerelor reale marca zecimală este materializată prin punct şi nu prin virgulă. Datele de tip alfanumeric sunt alcătuite din şiruri de caractere.

44

Page 46: informatica

INFORMATICĂ Constantin Zăvoianu

O informaţie de un anumit tip se înregistrează într-o celulă. Fiecare celulă are o adresă formată dintr-o literă urmată de un număr (litera precizează coloana, iar numărul pecizează linia). Prima coloană se identifică prin litera A, a doua prin litera B, ş.a.m.d. Prima linie are numărul 1, a doua are numărul 2, ş.a.m.d. De exemplu, celula situată în coloana 2, linia 3 are adresa B2, iar celula sitată în linia 2, coloana 3 are adresa C2. Identificarea informaţiilor dintr-un tabel, în vederea perucării, se face prin intermediul adreselor. Adresele pot face referire la o singură celulă sau la un grup de celule adiacente, caz în care spunem că avem de a face cu un domeniu. Un domeniu poate fi format dintr-o succesiune de celule situate pe aceeaşi linie, situate pe aceeaşi coloană sau situate într-o zonă dreptunhiulară dintr-un tabel. De exemplu, domeniul format din celulele situate pe coloana a doua începând din linia a doua până în linia a cincea are adresa B2:B5, domeniul format din celulele situate pe linia trei începând din prima coloană până în coloana a cincea are adresa A3:A5, iar domeniul care are colţul stânga-sus linia 2, coloana 3 şi colţul dreapta-jos în linia 6, coloana 5 are adresa C2:E6. Adresele pot fi invocate atunci când informaţiile dintr-un tabel sunt supuse unor prelucrări.

Editorul de texte Word 2003 oferă posibilitatea prelucrării datelor dintr-un tabel cu ajutorul unor formule de calcul, iar acest lucru se poate realiza parcurgând următorii paşi:

P1. Se poziţionează cursorul în celula în care se doreşte să se înregistreze rezultatul. P2. Din meniul Table se selectează comanda Formula... care deschide fereastra cu numele sinonim, fereastră în care este prezentă caseta de dialog Formula, casetă în care este prezent semnul = (urmat eventual o formulă de calcul). P3. După semnul = se tastează formula de calcul, iar din caseta Number format: se selectează formatul de tipărire a rezultatului. De exemplu, pentru afişarea rezultatului sub formă de procent se execută clic pe 0.00%, iar pentru afişarea rezultatului cu două cifre zecimale se execută clic pe 0.00. P4. Se acţionează butonul Ok. Observaţie. O altă modalitate de introducere a unei formule este următoarea: P1. Se poziţionează cursorul în celula în care se doreşte să se înregistreze rezultatul. P2. Se acţioneză combinaţia de taste Ctrl+F9, care are ca efect deschiderea unei perechi de paranteze acoladă şi poziţionarea cursorului în interiorul parantezelor. P3. Se tastează formula, de exemplu: {=A1+B1}, care este vizibilă în celulă (rămâne editată). Procedând astfel putem introduce mai multe formule în celule diferite. P4. Se selectează celula care conţine formula, iar apoi din meniul Table se selectează comanda Formula... care deschide fereastra cu numele sinonim, se selectează formatul de tipărire şi se acţionează butonul Ok. Pasul P4 se repetă şi pentru şi pentru celelalte celule cu formule. Dacă expresia formulei de calcul este corectă din punct de vedere sintactic, în celula în

care a fost poziţionat cursorul se înregistrează valoarea calculată, iar dacă formula nu este corectă se afişeză un mesaj de eroare explicativ.

O formulă este o informaţie care descrie în mod riguros o operaţie sau un grup de

operaţii ce se efectuează asupra unui set de date în vederea obţinerii unui rezultat. Sintaxa unei formule este următoarea: Efectul: se evaluează expresia introdusă după semnul = şi rezultatul obţinut se

înregistrează în celula în care a fost introdusă formula. Expresia se defineşte ca fiind o

= expresie

45

Page 47: informatica

INFORMATICĂ Constantin Zăvoianu

succesiune de operanzi, operatori şi eventual paranteze rotunde, succesiune în care calculele se efectuează după anumite reguli.

Un operand poate fi exprimat printr-un număr, poate fi indicat prin adresa unei celule care conţine o valoare numerică sau poate fi rezultatul returnat de o funcţie (în Word sunt disponibile 17 funcţii predefinite şi instrucţiunea IF care permite selectatrea unei alternative din două posibile). După tipul operatorilor expresiile pot fi aritmetice (numerice), relaţionale şi logice.

12.3.2. Expresii aritmetice O expresie aritmetică reprezintă un algoritm pentru calcularea unei valori numerice.

Operanzii utilizaţi într-o expresie aritmetică pot fi de tip întreg sau de tip real. Operatorii aritmetici sunt: +, -, *, / şi ^ . Aceşti opratori corespund în ordine operaţiilor aritmetice de adunare, scădere, înmulţire, împărţire, ridicare la putere.

Evaluarea unei expresii aritmetice va începe întotdeauna cu evaluarea celor mai

interioare perechi de paranteze rotunde, iar într-o expresie fără paranteze ordinea de efectuare a operaţiilor aritmetice este următoarea :

1. – ridicarea la putere, după regula stânga – dreapta; 2. – înmulţirea, împărţirea, restul împărţirii întregi, după regula stânga – dreapta; 3. - adunarea , scăderea, după regula stânga – dreapta. Exemplu: Se dă 2=a şi . Se cere să se determine valorile expresiilor: , 3=b ba + ba − ,

, , . ba ∗ 22 ba − 3)( ba +Rezolvare. Se crează un tabel cu două linii şi opt coloane (figura 1.), tabel în care pe

prima linie se introduce notaţiile menţionate în enunţ, iar în linia a doua valorile lui şi b . a A B C D E F G H

a b ba + ba − ba ∗ ba / 22 ba − 3)( ba +

2 3

1

2

Figura 1. Pentru a calcula valorile expresiilor din enunţ, introducem formulele de calcul, după cum

urmează: Celula: C2 D2 E2 F2 G2 H2 Formula: =A2+B2 =A2-B2 =A2*B2 =A2/B2 =C2*D2 =C2^3 Calculează:

ba + ba − ba ∗ ba / 22 ba − 3)( ba +

În final, vom obţine tabelul: A B C D E F G H

a b ba + ba − ba ∗ ba / 22 ba − 3)( ba +

2 3 5 -1 6 0.67 -5 125

1

2

12.3.3. Expresii relaţionale O expresie relaţională se construieşte cu ajutorul a doi operanzi numerici legaţi între ei

print-un oprator relaţional.

46

Page 48: informatica

INFORMATICĂ Constantin Zăvoianu

Opratorii relaţionali sunt elementele mulţimii: Ro = { < , <= , = , <> , >= , > }, iar sintaxa unei expresii relaţionale este :

unde r∈Ro.

Evaluarea unei expresii relaţionale se face astfel: se determină mai întâi valorile celor doi operanzi (în cazul în care aceştia sunt precizaţi prin expresii) şi apoi se verifică dacă este îndeplinită relaţia specificată prin operatorul r, caz în care valoarea expresiei va fi 1 (TRUE), iar dacă relaţia specificată prin operatorul r nu este satisfăcută, valoarea expresiei va fi 0 (FALSE).

Exemplu: Se dă şi . Se cere să se determine valorile: , , 2=a 3=b ba < ba ≤ ba = ,

, , . ba ≠ ba ≥ ba >Rezolvare. Se crează un tabel cu două linii şi opt coloane (figura 2.), tabel în care pe

prima linie se introduce notaţiile menţionate în enunţ, iar în linia a doua valorile lui şi b . a A B C D E F G H

a b ba < ba ≤ ba = ba ≠ ba ≥ ba > 2 3

Figura 2. Pentru a calcula valorile expresiilor din enunţ, introducem formulele de calcul, după cum

urmează: Celula: C2 D2 E2 F2 G2 H2 Formula: =A2<B2 =A2<=B2 =A2=B2 =A2<>B2 =A2>=B2 =A2>B2 Calculează:

ba < ba ≤ ba = ba ≠ ba ≥ ba >

În final, vom obţine tabelul: A B C D E F G H

a b ba < ba ≤ ba = ba ≠ ba ≥ ba > 2 3 1 1 0 1 0 0

12.3.4. Expresii logice O expresie logică se poate construi cu ajutorul operanzilor de tip logic , al funcţiilor

logice şi al parantezelor rotunde. Operanzii de tip logic pot fi esprimaţi prin funcţiile logice TRUE (adevărat) care returnează valoarea 1 (unu) şi FALSE (fals) care returnează valoarea 0 (zero). Reţinem şi faptul că o valoare numerică egală cu zero este considerată ca finnd FALSE, iar o valoare numerică diferită de zero este considerată ca fiind TRUE.

Operanzii de tip logic pot fi transmişi ca argumente următoarelor funcţii logice: NOT (negaţie logică), AND (şi logic), OR (sau logic). Funcţia NOT admite un singur argument, iar funcţiile AND şi OR admit două argumente. Argumentul unei funcţii logice poate fi o expresie relaţională sau o expresie logică şi mumim un astfel de argument propoziţie logică. Dacă P şi Q sunt două propoziţii logice, funcţiile logice mentionate mai sus, determină rezultatul după cum urmează:

P Q NOT( P) AND(P, Q) OR(P,Q) TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE

1

2

1

2

operand_1 r operand_2

47

Page 49: informatica

INFORMATICĂ Constantin Zăvoianu

Evaluarea unei expresii logice va începe întotdeauna cu evaluarea celor mai interne perechi de paranteze, iar într-o expresie fără paranteze ordinea de evaluare a funcţiilor este următoarea: NOT, AND, OR.

12.3.5. Funcţii predefinite

Pe lângă funcţiile logice, prezentate anterior, în Word mai sunt disponibile încă 12

funcţii predefinite, iar fiecare funcţie determină o valoare numerică. Argumentul unei funcţii poate fi o expresie x sau un domeniu d. Un domeniu poate fi contiguu când celulele selectate sunt adiacente sau necontiguu când celulele selectate nu sunt adiacente. De exemplu, pentru fiecare din cazurile evidenţiate mai jos, s-a precizat expresia domeniului d. A1 B1 C1 A2 B2 C2 A3 B3 C3

d=B1:B3

A1 B1 C1 A2 B2 C2 A3 B3 C3

d=A2:C2

A1 B1 C1A2 B2 C2A3 B3 C3

d=A1:B2

A1 B1 C1 A2 B2 C2 A3 B3 C3

d=A1:C2

A1 B1 C1A2 B2 C2A3 B3 C3

d=A1,C1,B2,C3

În următorul tabel este prezentată sintaxa şi efectul funcţiilor predefinite.

Nrc. Numele / Sintaxa Efectul

1. ABS(x) Returnează valoarea absolută a argumentului x. 2. AVERAGE(d) Returmează media aritmetică a valorilor din domeniul d. 3. COUNT(d) Returnează numărul de valori numerice din domeniul d. 4. DEFINED(x) Returnează valoarea 1 (TRUE) dacă expresia x este corectă sau

valoarea 0 (FALSE) dacă expresia nu poate fi calculată. 5. INT(x) Returnează partea întreagă a numărului real x atunci când x este

pozitiv sau partea întreagă a lui )1( +x dacă x este negative. 6. MIN(d) Returnează valoarea minimă din domeniul d. 7. MAX(d) Returnează valoarea maximă din domeniul d. 8. MOD(x,y) Returnează restul împărţirii întregi a lui x la y. 9. PRODUCT(d) Returnează produsul valorilor din domeniul d. 10. ROUND(x,n) Returnează valoarea lui x rotunjită cu n cifre la partea zecimală.

Dacă cifra din poziţia )1( +n este mai mare sau egală cu 5, cifra din poziţia se majorează cu o unitate. n

11. SIGN(x) Returnează valoarea 1 dacă x este pozitiv sau valoarea -1 dacă x este negative.

12. SUM(d) Returnează suma valorilor din domeniul d. Exemplu: Se dă o matrice cu 4 linii şi 3 coloane ale cărei elemente sunt numere reale. Se

cere să se determine:

- suma, produsul, maximul, minimul şi media aritmetică a elementelor de pe fiecare linie; - suma, produsul, maximul, minimul şi media aritmetică a elementelor de pe fiecare coloană; - suma, produsul, maximul, minimul şi media aritmetică a elementelor din întreaga matrice.

Rezolvare. Vom crea un tabel cu 10 linii şi 9 coloane, tabel în care vom introduce în domeniul B2:D5 (care are colţul din stânga-sus în linia 2, coloana 2) elementele matricei, iar apoi vom introduce formulele de calcul după cum urmează:

48

Page 50: informatica

INFORMATICĂ Constantin Zăvoianu

Celula Ei, i=2,5 Fi, i=2,5 Gi, i=2,5 Hi, i=2,5 Ii, i=2,5 Formula =SUM(Bi:Di) =PRODUCT(Bi:Di

) =MAX(Bi:Di) =MIN(Bi:Di) =AVERAGE(Bi:Di

) Calculează pe fiecare linie Suma Produsul Maximul Minimul Media aritmetică

Celula X6, X∈{B,C,D} X7, X∈{B,C,D} X8, X∈{B,C,D} X9, X∈{B,C,D} X10, X∈{B,C,D} Formula =SUM(X2:X5) =PRODUCT(X2:X5) =MAX(X2:X5) =MIN(X2:X5) =AVERAGE(X2:X5) Calculează pe fiecare coloană

Suma Produsul Maximul Minimul Media aritmetică

Celula E6 F7 G8 H9 I10 Formula =SUM(B2:D5) =PRODUCT(B2:D5) =MAX(B2:D5) =MIN(B9:D9) =AVERAGE(B2:D5) Calculează pentru matice

Suma Produsul Maximul Minimul Media aritmetică

După efectuarea acestor operaţii obţinem tabelul: B C D Suma Produsul Maximul Minimul Media

aritmetică 2 2.20 3.80 5.20 11.20 43.47 5.20 2.20 3.73 3 2.80 1.60 2.30 6.70 10.30 2.80 1.60 2.23 4 1.25 3.82 2.23 7.30 10.65 3.82 1.25 2.43 5 5.00 1.00 3.23 9.23 16.15 5.00 1.00 3.08

Suma 11.25 10.22 12.96 34.43 Produsul 38.50 23.23 86.15 77031.12 Maximul 5.00 3.82 5.20 5.20 Minimul 1.25 1.00 2.23 1.00 Media aritmetică 2.81 2.56 3.24 2.87

12.3.6. Sortarea datelor dintr-un tabel Datele dintr-un tabel pot fi reorganizate prin procedeul de sortare. Sortarea presupune

ordonarea liniilor dintr-un tabel după valorile dintr-o coloană sau după valorile din mai multe coloane (maxim trei), valori care pot fi de tip text, de tip numeric sau dată calendaristică. Sortarea după valorile dintr-o anumită coloană se poate face crescător sau descrescător. În cazul datelor de tip alfanumeric, sortarea crescătoare presupune ordonarea alfabetică de la A la Z. Sorta datelor dintr-un tabel se poate face după cel mult trei criterii, parcurgând următorii paşi:

P1. Se poziţionează cursorul într-o celulă oarecare din tabel, iar apoi din meniul Table se alege opţiunea Select►, iar din submeniul acesteia Table (se selectează întregul tabel).

P2. Din meniul Table selectăm comanda Sort…, care deschide o fereastra Sort, fereastră în care vom introduce criteriile de sortare după cum urmează: - din lista derulantă Sort by selectăm coloana (câmpul în cazul în care coloanele au

anete) corespunzătoare primului criteriu de sortare, din lista derulantă Type asociată listei Sort by selectăm tipul datelor (Text, Number sau Data), iar apoi stabilim criteriul de sortare executând clic pe opţiunea Ascendig dacă sortarea se face crescător sau pe opţiunea Descending dacă sortarea se face descrescător;

- din prima listă derulantă Then by selectăm coloana (câmpul) corespunzătoare celui de-al doilea criteriu de sortare, iar apoi selectăm tipul datelor şi stabilim criteriul de sortare (dacă este cazul);

49

Page 51: informatica

INFORMATICĂ Constantin Zăvoianu

- din a doua listă derulantă Then by selectăm coloana (câmpul) corespunzătoare celui de-al treilea criteriu de sortare, iar apoi selectăm tipul datelor şi stabilim criteriul de sortare (dacă este cazul).

P3. Se acţionează butonul Ok din fereastra Sort. Exemplu: La un examen pentru ocuparea unor posturi vacante s-au înscris 10

concurenţi, care au obţinut notele din tabelul:

Nrc. Numele şi prenumele Proba 1 Proba 2 Proba 3 1. ANDREI P. GEORGE 7.40 8.20 9.302. ARCANU B. VIRGIL 9.90 8.90 9.003. CIOBANU A. ELENA 6.70 8.50 6.904. BULZAN V. ION 10.00 9.00 10.005. BARBU G. NICOLAE 9.00 10.00 10.006. CUCU T. COSMIN 10.00 9.00 10.007. MARCU V. MARIUS 10.00 10.00 9.008. FAUR N. SORIN 4.00 8.00 7.509. HAGI T. MARIA 9.00 10.00 10.0010. DUMA H. HORIA 8.30 4.20 8.60

Se cere: 1. să se determine media fiecărui candidat; 2. să se stabilească pentru fiecare candidat rezultatul concursului ( 1- dacă toate notele

sunt mai mari sau egale cu 5 sau 0 – dacă cel puţin o notă este mai mică decât 5); 3. să se ordoneze candidaţii admişi descrescător după medii, iar în cazul în care două

sau mai multe medii sunt egale se va face va face ordonarea descrescătoare după notele obţinute la prima probă, la adoua probă şi alfabetic după nume şi prenume;

4. candidaţii respinşi se vor afişa în odine alfabetică. 5. să se împartă tebelul în două tabele, primul să conţină candidaţii admişi, iar al doilea

să conţină candidaţii respinşi. Desupra fiecărui tabel să se scrie, în poziţie centală, textul CANDIDAŢI ADMIŞI, respectiv CANDIDAŢI RESPINŞI.

Rezolvare. 1 & 2. Ne poziţionăm într-o celulă oarecare din ultima coloană, iar apoi din meniul

Table alegem comanda Insert► şi apoi Columns to the Right (inserăm o coloană la dreapta). Repetăm din nou procesul descries anterior, iar în antetele celor două coloane scriem denumirile câmpurilor ale căror valori urmează a fi determinate (Media şi Rezultat). În continuare vom introduce formulele de calcul după cum urmează:

Celula Fi, i=2,11 Gi, i=2,11 Formula =AVERAGE(Ci:Ei) =AND(AND(Ci>=5,Di>=5),Ei>=5) Determină Media arithmetică Rezultatul concursului

După efectuarea acestor operaţii obţinem tabelul:

Nrc. Numele şi prenumele Proba 1 Proba 2 Proba 3 Media Rezultat 1. ANDREI P. GEORGE 7.40 8.20 9.30 8.30 1 2. ARCANU B. VIRGIL 9.90 8.90 9.00 9.27 1 3. BARBU G. NICOLAE 9.00 10.00 10.00 9.67 1

50

Page 52: informatica

INFORMATICĂ Constantin Zăvoianu

4. BULZAN V. ION 10.00 9.00 10.00 9.67 1 5. CIOBANU A. ELENA 6.70 8.50 6.90 7.37 1 6. CUCU T. COSMIN 10.00 9.00 10.00 9.67 1 7. DUMA H. HORIA 8.30 4.20 8.60 7.03 0 8. FAUR N. SORIN 4.00 8.00 10.50 7.50 0 9. HAGI T. MARIA 9.00 10.00 10.00 9.67 1 10. MARCU V. MARIUS 10.00 10.00 9.00 9.67 1

3. Sortăm liniile tabelului descrescător după câmpul Rezultat şi crescător după câmpul

Numele şi prenumele. În acest sens, selectăm tabelul (Table →Select►→Table), stabilim criteriile de sortare (Table →Sort...→Sort by: Rezultat, Type: Number, Descending, Then by: Numele şi prenumele, Type:Text, Ascending), iar apoi acţionăm butonul Ok. După efectuarea acestor operaţii obţinem tabelul: Nrc. Numele şi prenumele Proba 1 Proba 2 Proba 3 Media Rezultat

1. ANDREI P. GEORGE 7.40 8.20 9.30 8.30 1 2. ARCANU B. VIRGIL 9.90 8.90 9.00 9.27 1 3. BARBU G. NICOLAE 9.00 10.00 10.00 9.67 1 4. BULZAN V. ION 10.00 9.00 10.00 9.67 1 5. CIOBANU A. ELENA 6.70 8.50 6.90 7.37 1 6. CUCU T. COSMIN 10.00 9.00 10.00 9.67 1 9. HAGI T. MARIA 9.00 10.00 10.00 9.67 1 10. MARCU V. MARIUS 10.00 10.00 9.00 9.67 1 7. DUMA H. HORIA 8.30 4.20 8.60 7.03 0 8. FAUR N. SORIN 4.00 8.00 10.50 7.50 0

4. Selectăm domeniul care conţine candidaţii admişi şi sortăm liniile din acest domeniu

descrescător după coloanele 6, 3 şi 4 (în această ordine) şi obţinem tabelul: Nrc. Numele şi prenumele Proba 1 Proba 2 Proba 3 Media Rezultat 10. MARCU V. MARIUS 10.00 10.00 9.00 9.67 1 4. BULZAN V. ION 10.00 9.00 10.00 9.67 1 6. CUCU T. COSMIN 10.00 9.00 10.00 9.67 1 3. BARBU G. NICOLAE 9.00 10.00 10.00 9.67 1 9. HAGI T. MARIA 9.00 10.00 10.00 9.67 1 2. ARCANU B. VIRGIL 9.90 8.90 9.00 9.27 1 1. ANDREI P. GEORGE 7.40 8.20 9.30 8.30 1 5. CIOBANU A. ELENA 6.70 8.50 6.90 7.37 1 7. DUMA H. HORIA 8.30 4.20 8.60 7.03 0 8. FAUR N. SORIN 4.00 8.00 10.50 7.50 0

Observaţie. Constatăm că operaţia de sortare are, în cazul de faţă, un efect colateral neplăcut deoarece schimbă numerele curente şi prin urmare trebuie corectată manual prima coloană.

5. Inserăm în tabelul precedent o linie deasupra candidaţilor respinşi, executăm clic pe linia adăugată, iar apoi din meniul Table selectăm comanda Split Table (rupe tabelul) şi astfel tabelul se împarte în două tabele. În continuare, selectăm antetul din primul tabel şi îl copiem în prima linie din cel de-al doilea tabel, corectăm coloana Nrc. din ambele tabele şi deasupra fiecărui tabel scriem centrat ceea ce conţine. După efectuarea acestor operaţii vom obţine:

CANDIDAŢI ADMIŞI

51

Page 53: informatica

INFORMATICĂ Constantin Zăvoianu

Nrc. Numele şi prenumele Proba 1 Proba 2 Proba 3 Media Rezultat 1. MARCU V. MARIUS 10.00 10.00 9.00 9.67 1 2. BULZAN V. ION 10.00 9.00 10.00 9.67 1 3. CUCU T. COSMIN 10.00 9.00 10.00 9.67 1 4. BARBU G. NICOLAE 9.00 10.00 10.00 9.67 1 5. HAGI T. MARIA 9.00 10.00 10.00 9.67 1 6. ARCANU B. VIRGIL 9.90 8.90 9.00 9.27 1 7. ANDREI P. GEORGE 7.40 8.20 9.30 8.30 1 8. CIOBANU A. ELENA 6.70 8.50 6.90 7.37 1

CANDIDAŢI RESPINŞI Nrc. Numele şi prenumele Proba 1 Proba 2 Proba 3 Media Rezultat

1. DUMA H. HORIA 8.30 4.20 8.60 7.03 0 2. FAUR N. SORIN 4.00 8.00 10.50 7.50 0

Notă. Pentru a îmbina două tabele în unul singur, se şterg paragrafele dintre ele. 13. Reprezentarea grafică a datelor dintr-un tabel 13.1. Generarea unui grafic Un grafic (chart) este o reprezentare vizuală, mai sugestivă, a datelor dintr-un tabel. Se

recomandă reprezentarea grafică a datelor dintr-un tabel pentru a atrage atenţia cititorului asupra tendinţelor evolutive ale acestora, graficul putând evidenţia şi relaţiile semnificative dintre date. Word–ul oferă posibilitatea reprezentării grafice a datelor dintr-un tabel sub diferite forme, numite diagrame. Tabelul trebuie să conţină un antet orizontal (de coloane) şi un antet vertical (de linii) pentru ca reprezentarea grafică să fie cât mai sugestivă (câmpurile din aceste antete apar de obicei în grafic). Fiecărui grafic îi este asociată o legendă în care se specifică semnificaţia culorilor (o culoare folosită în grafic corespunde unui câmp din antetul de linii).

Crearea unei diagrame se face parcurgând următorii paşi: P1. Se selectează tabelul cu datele care se reprezintă grafic. P2. Se execută clic stânga pe butonul Insert Chart din bara de butoane Standard. Dacă acest buton nu este în bara de butoane, îl puteţi adăuga prin metoda Drag and drop parcurgând succesiunea de comenzi: Tools→Customize...→Comands→Insert (din lista derulantă Categories:) →Chart (din lista derulantă Comands:). În urma efectuării acestei operaţii se crează automat un frame în care sedesenează un grafic implicit format din bare verticale, iar tabelul de date, selectat în pasul precedent, va fi afişat în fereastra Datasheet (dacă modificăm datele din această fereastră se modifică şi graficul, dar nu se modifică datele din tabelul creat în Word). Reţinem faptul că bara de meniu implicită se modifică şi noua bară conţine opţiuni specifice graficelor. P3. Dacă diagrama desenată în pasul precedent nu este relevantă, selectăm din meniul Chart comanda Chart Type... care deschide fereastra cu numele sinonim, fereastră din care putem selecta diferite tipuri de grafice corespunzătoare celor două variante Standard Types şi Custom Types. Variantei Standard Types îi este asociată lista derulantă Chart type care conţine denumirile tipurilor de grafice, iar pentru fiecare tip putem selecta din Chart sub-type un anumit tip de grafic, tip pe care îl putem vizualiza dacă executăm clic pe butonul

52

Page 54: informatica

INFORMATICĂ Constantin Zăvoianu

Press and Hold to View Sample. Variantei Custom Types îi este asociată lista derulantă Chart type care conţine denumirile tipurilor de grafice, iar pentru fiecare tip selectat, se afişează în panoul Sample: specimenul de grafic. P4. După ce s-a optat pentru un anumit tip de diagramă se acţionează butonul Ok. Dimensiunile frame-ului în care s-a generat diagrama, pot fi modificate prin poziţionarea

cursorul pe unul din mânere până când se transformă într-o dublă săgeată (↔) orizontală, oblică sau înclinată, iar apoi se trage, cu butanul din stânga de la mouse apăsat, în direcţia dorită.

13.2. Modificarea unui grafic Pentru a îmbunătăţi aspectul unei diagrame şi pentru spori claritatea reprezentării

datelor, putem adăuga în diagramă obiecte noi, cum ar fi titluri şi adnotări sau putem schimba poziţia legendei care face legătura între culorile sau modelele din diagramă şi datele reprezentate grafic. Se poate introduce un titlu principal referitor la scopul diagramei, precum şi titluri pentru fiecare axă. O adnotare este un text introdus în diagramă pentru a atrage atenţia asupra unei tendinţe sau a unei zone de interes. Reţinem şi faptul că putem schimba tipul unei diagrame.

Pentru a adăuga un titlu se parcurg următorii paşi: P1. Se execută dublu-clic stânga pe diagramă. P2. Din meniul Chart se selectează comanda Chart Options... care deschide fereastra cu acelaşi nume, ferestră din care selectăm butonul Titles, după care introducem titlul principal precum şi titlurile fiecărei axe. P3. Se acţionează butonul Ok din ferestră. Pentru a adăuga o adnotare se parcurg următorii paşi: P1. Se execută dublu-clic stânga pe diagramă. P2. Se introduce textul adnotării, iar apoi se acţionează tasta Enter. În diagamă se cerează un frame care conţine textul introdus. Acest frame poate fi mutat înntr-o altă zonă. P3. Se execută clic în afara frame-ului. Pentru a schimba poziţia legendei se parcurg următorii paşi: P1. Se execută dublu-clic stânga pe diagramă. P2. Din meniul Chart se selectează comanda Chart Options... care deschide fereastra cu acelaşi nume, ferestră din care selectăm butonul Legend, iar apoi selectăm una din opţiunile referitoare la locul în care va fi plasată legenda faţă de grafic: Bottom (jos), Corner (colţul dreapta-sus), Top (sus), Right (dreapta), Left (stânga). P3. Se acţionează butonul Ok din ferestră. Pentru a schimba tipul unei diagrame parcurgem următorii paşi: P1. Executăm dublu-clic stânga pe diagramă. P2. Selectăm din meniul Chart comanda Chart Type... care deschide fereastra cu numele sinonim, fereastră din care selectăm şi vizualizăm diferite tipuri de diagrame. P4. După ce optăm pentru un anumit tip de diagramă se acţionăm butonul Ok.

13.3. Aplicaţie practică Societatea Comercială ELECTROSTAR S.A. are ca obiect de activitate comercializarea

produselor electrocasnice. Vânzările în mil. ROL, din primul trimestru al anului 2005, sunt cele din tabelul următor: Televizoare Frigidere Aragaze Alte produse Ianuarie 500 300 250 600 Februarie 400 350 380 500

53

Page 55: informatica

INFORMATICĂ Constantin Zăvoianu

Martie 550 400 200 700 Se cere: 1. – să se reprezinte grafic, datele din tabel, sub forma unei diagrame cu coloane; 2. – să se introducă un titlu care să conţină numele firmei; 3. – să se introducă adnotarea Graficul vânzărilor din Trim.1 şi să se plaseze între titlu şi

grafic, în colţul din dreapta-sus; 4. – să se facă o copie a acestei diagrame la un rând sub ea; 5. – să se schimbe tipul ultimei diagrame (cea rezultată în urma copierii) cu o diagramă cu

tuburi. Adnotarea să se plaseze după tubul cel mai scurt. Rezolvare. 1. Selectăm întregul tabel, acţionăm butonul Insert Chart, închidem fereastra Datasheet,

poziţionăm cursorul pe mânerul din mijloc al laturii din dreapta a frame-ului până când se transformă în ↔ şi apoi tragem spre dreapta, cu butonul din stânga da la mouse apăsat.

2. Executăm dublu-clic pe diagramă, selectăm din meniul Chart comanda Chart Option..., în caseta Chart Title: introducem textul S.C. ELECTROSTAR S.A., acţionăm butonul Ok, iar apoi executăm clic în fara diagramei.

3. Executăm dublu-clic pe diagramă, clic în interiorul acesteia, introducem adnotarea, iar apoi tragem frame-ul cu această adnotare în colţul din dreapta-sus, în zona liberă dintre titlu şi grafic.

4. Executăm clic pe diagramă, selectăm din meniul Edit comanda Copy, poziţonăm cursorul la un rând sub diagramă şi selectăm din meniul Edit comanda Paste.

5. Executăm dublu-clic pe diagramă, selectăm din meniul Chart comanda Chart Type..., iar din Custom Types tipul Tubes, după care acţionăm butonul Ok. În continuare, mutăm frame-ul cu adnotarea în dreapta celui mai scurt tub şi introducem din nou titlul.

După efectuarea acestor operaţii vom obţine graficele:

0

100

200

300

400

500

600

700

Televizoare Frigidere Aragaze Alte produse

S.C. ELECTROSTAR S.A.

IanuarieFebruarieMartie

Graficul vânzărilor din Trim

54

Page 56: informatica

INFORMATICĂ Constantin Zăvoianu

SC ELECTROSTAR S.A.

500

300250

600

400

350380

500

550

400

200

700

0 200 400 600 800 1000 1200 1400 1600 1800 2000

Televizoare

Frigidere

Aragaze

Alte produse

Ianuarie Februarie Martie

Graficul vânzărilor din Trim.1

14. Configurarea si gestionarea barelor de butoanelor 14.1. Activarea si dezactivarea anumitor bare de butoane Pentru utilizatorii avansaţi Word-ul oferă posibilitatea gestionării barelor de butoane şi

permite personalizarea acestei aplicaţii. Fiecare opţiune din meniurile afişate în partea superioară a ecranului are definit un buton propriu. Creatorii Word-ului au predefinit câteva bare de butoane, care conţin comenzi mai frecvent utilizate, dintre care menţionăm:

conţine unele butoane corespunzătoare comenzilor din meniurile File şi Edit;

conţine butoane corespunzătoare meniului Format ;

conţine butoane pentru liniile din cadrul tabelelor;

conţine butoane pentru desen.

Activarea sau dezactivarea unei bare de butoane se face selectând din View opţiunea Toolbars, moment în care pe ecran apare o fereastră care conţine o listă cu toate barele de butoane. O bară activă va avea în dreptul ei o bifă. Pentru activare/dezactivare se pune sau se ia cu clic stânga bifa din dreptul barei respective.

14.2. Adăugarea/ştergerea unui buton Pentru adăugarea unui buton care nu se află afişat în barele de butoane separcurg

următorii paşi: P1. Din meniul Tools se selectează opţiunea Customize..., selecţie în urma căreia se deschide fereastra Customize. P2. Se selectează opţiunea Toolbars, iar în lista afişată se bifează bara. Aceasta apare pe ecran într-una din barele de butoane (în partea de sus a ecanului sau în partea de jos) sau

55

Page 57: informatica

INFORMATICĂ Constantin Zăvoianu

în zona de lucru, caz în care prin procedeul Drag and drop poate fi dusă într-o zonă cu bare de butoane. P3. Se selectează opţiunea Commands şi din cele două liste se selectează mai întâi categoria comenzii (Categories), iar apoi comanda (Commands). P4. Prin metoda Drag and drop se copiază butonul dorit în bara de butoane. Observaţie Paşii P3 şi P4 se repetă atunci când se doreşte adăugarea mai multor butoane. P5. Se închide fereastra acţionând butonul Close sau dând clic stânga pe simbolul . Pentru a şterge un buton dintr-o bară se parcurg următorii paşi: P1. Din meniul Tools se selectează opţiunea Customize..., selecţie în urma căreia se deschide fereastra Customize. P2. Se poziţionează cursorul mouse-ului pe butonul şi prin procedeul Drag and drop se trage în afara zonei de butoane. Procedeul se repetă, dacă este cazul, şi pentru alte butoane. P3. Se închide fereastra acţionând butonul Close sau dând clic stânga pe simbolul . 15. Listarea unui document la imprimantă Pentru tiparirea unui document la imprimantă trebuie avut grijă ca imprimanta selectată

să coincidă sau sa fie o emulare a imprimantei care este fizic legată de calculator. Pentru a selecta o imprimantă se parcurg următorii paşi:

P1. Din meniul File se selectează comanda Print, operaţie în urma căreia se dechide fereastra Print, fereasrtă în care sunt incluse mai multe casete de dialog. P2. În caseta Printer, din lista derulantă Name se va alege tipul imprimantei. P3. Se acţionează butonul OK din fereastră. Observaţie: Selectarea imprimantei se face de obicei chiar la începerea sesiunii de lucu

pentru a evita rearanjarea ulterioară a textului.

Pentru tipărirea unui document, la o imprimantă deja selectată, se parcurg următorii paşi: P1. Din meniul File se selectează comanda Print, operaţie în urma căreia se dechide fereastra Print. P2. În caseta Page range specificăm, prin clic în cercul alb, ce anume se tipăreşte din documentul aflat pe ecran:

• All – întregul document (opţiune implicită); • Current page – pagina curentă; • Pages – numai anumite pagini, caz în care numerele de pagină trebuie introduse

de către utilizator, conform specificaţiilor afişate în casetă. P3. Se acţionează butonul OK din fereastră. Observaţie. În cazul în care se tipăreşte întregul document, pentru a face economie de

hârtie, putem opta pentru o tipărire faţă-verso. În acest caz, documentul se va lista în două etape. În prima etapă, în pasul P2 selectăm din lista derulantă Print: opţiunea Odd pages (paginile impare). În etapa a doua, după rearanjarea foile de hârtie şi introducerea acestora din nou în talerul imprimantrei, în pasul P2 selectăm din lista derulantă Print: opţiunea Even pages (paginile pare). Reţinem că paritatea sau imparitatea nu se referă la numărul efectiv înregistrat pe pagină, ci la ordinea cronologică a acestora în cadrul documentului.

56

Page 58: informatica

INFORMATICĂ Constantin Zăvoianu

57

Pogramul de calcul tabelar EXCEL 1. Introducere Microsoft Office Excel este un program de calcul tabelar şi face parte din pachetul de programe Microsoft Office, produs de firma Microsoft Corporation. Scopul urmărit în acest capitol este de a familiariza utilizatorul începător cu facilităţile de bază ale programului Excel 2003, pentru a putea lucra cât mai eficient cu minimum necesar de cunoştinţe. 2. Lansarea în execuţie a aplicaţiei Microsoft Excel

Lansarea în execuţie a aplicaţiei Microsoft Excel se face parcurgând următorii paşi:

P1. Se execută clic pe butonul Start situat pe desktop în bara de opraţii. P2. Se selectează cu mouse-ul opţiunea Programs , care la rândul ei este un meniu, meniu din care selectăm opţiunea Microsoft Office , în care vom găsi o pictogramă cu simbolul X urmată de (numele aplicaţiei). Executând clic stânga pe numele aplicaţiei, aceasta va fi lansată în execuţie. Alte modalităţi de a lansa Excel-ul în execuţie sunt următoarele: - se execută dublu clic stânga pe pictograma scurtăturii, corespunzătoare acestei aplicaţii,

afişate pe desktop (dacă există o astfel de scurtătură); - se execută dublu clic stânga pe o pictogramă cu simbolul X sau pe numele unui fişier

cu extensia xls. După lansarea în execuţie a aplicaţiei Microsoft Excel pe ecran se va deschide fereastra

de lucru a editorului Excel 2003, fereastră care se prezintă astfel:

În această fereastră distingem: 1. Bara de titlu în care este prezentă pictograma şi numele aplicaţiei, numele fişierului în care va fi salvat registru de calcul şi trei butoane în partea dreaptă. Fişierul are numele prestabilit Book1, iar dacă dăm o comandă de salvare, acesta va fi salvat Book1.xls şi plasat pe disc în pliantul My Documents. 2. Bara de meniuri în care sunt înscrise cele nouă meniuri utilizate pentru a avea acces la toate facilităţile din Excel. Selectarea unui meniu se face într-un mod cu totul analog selectării unui meniu din Word.

1 2 3 4 5 6 7 8

Page 59: informatica

INFORMATICĂ Constantin Zăvoianu

58

3. Două bare de butoane (bara Standard şi bara Formating) în care sunt inserate pictogramele corespunzătoare comenzilor folosite frecvent din meniurile File, Edit şi Format. Executând clic stânga pe un buton se execută comenda corespunzătoare lui (denumuirea comenzii poate fi vizualizată prin poziţionarea cursorului de la mouse pe buton, vezi Copy). 4. Bara de formule xf , bară precedată de butonul Name Box (numele celulei), unde este înscrisă adresa celulei curente, formată din litera coloanei şi numărul liniei, în cazul nostru adresa este C3. În bara de formule vor fi afişate datele din celula activă. 5. Zona de editare este acea porţiune de pe ecran unde se introduc informaţiile în registrul de calcul (panoul din stânga). Un registru este format în mod implicit din 16 foi de calcul: Sheet1, Sheet2, ... , Sheet16 (sheet-foaie), dar pot fi adăugate şi altele, în funcţie de necesităţi. Numele unei foi de calcul poate fi modificat (vezi fereastra, în loc de Sheet1 avem FC-1). După cum se poate constata, foile de calcul sunt de fapt nişte tabele care au liniile desemnate prin numere şi coloanele prin literele sau grupări de litere, la intersecţia cărora se găsesc celulele. În fiecare celulă pot fi introduse de la tastatură date de diferite tipuri, cum ar fi: texte, numere, date calendaristice, fomule şi funcţii, dar este posibil ca informaţiile din unele celule să fie rezultatul unor operaţii (de exemplu: o sumă, o medie, etc.). Pentru a ne poziţiona într-o celulă trebuie mai întâi să o selectăm. Cursorul mouse-ului este de forma atunci când Excel-ul este pregătit pentru executarea unei noi operaţii. Pentru a selecta o celulă, în vederea intoducerii unor informaţii, se poziţionează cursorul în celulă şi se execută clic stânga, iar apoi se introduc informaţiile (după introducerea primului caracter indicatorul mouse-ului se transformă în I). Un text se poate înregistra pe două sau mai multe celule (orizontale şi/sau verticale), iar un număr într-o singură celulă (dacă nu încap toate cifrele în celulă editarea numărului se va face în reprezentarea cu punct zecimal şi exponent). Părăsirea unei celule (grup de celule) se face executând clic stânga pe o altă celulă. În panoul de lucru, situat în partea dreaptă a zonei de editare, apar într-o fereastră diferite opţiuni legate de activitatea curentă. De exemplu, atunci când dorim să deschidem un registru nou (File New), în acest panou se deschide automat fereastra New Workbook (noul registru). Dacă executăm clic stânga pe butonul Blank workgrup fereastra se închide (se măreşte zona de editare) şi se dechide un nou registru de lucru, care are numele prestabilit Book2. Ştergerea sau reactivarea panoului de lucru se face selectând din meniul View opţiunea Task Pane. Observaţii.

1. Numele prestabilite ale fişierelor pot fi înlocuite cu nume mai sugestive. 2. Putem avea deschise simultan mai multe registre de lucru (fişiere). Pictograma şi

numele acestora sunt vizibile în bara de operaţii de pe desktop, iar trecerea de la un registru la altul se face executând clic stânga pe numele fişierului sau pe pictograma lui.

6. Bara de derulare orizontală (în dreapta ferestrei există şi o bară de derulare verticală). În faţa barei de derulare orizontală există o listă cu etichetele foilor de calcul. Executând clic stânga pe o etichetă, putem să ne delasăm de la o foaie la alta. 7. Bara de butoane pentru desen. 8. Bara de stare care furnizează informaţii referitoare la configurările şi comenzile curente.

Page 60: informatica

INFORMATICĂ Constantin Zăvoianu

59

3. Închiderea aplicaţiei Microsoft Excel

Închiderea aplicaţiei Microsoft Excel se face selectând opţiunea Exit din meniul File sau executând clic stânga pe butonul din bara de titlu. La ieşirea din Excel suntem întrebaţi dacă dorim să salvăm ultime modificări efectuate în documetul tehoredactat şi putem selecta unul din butoanele:

4. Deschiderea unui fişier

După lansarea în execuţie a aplicaţiei Microsoft Excel pe ecran se va deschide fereastra de lucru a programului de calcul tabelar Excel 2003, fereastră în care, în bara de titlu, numele fişierului în care se salvează registru de lucru este Book1, iar indicatorul mouse-ului, sub formă de , este vizibil în zona de editare.

După întroducerea datelor în registru de lucru, dacă salvăm conţinutul acestuia, el va fi plasat pe disc în pliantul My Documents, în fişierul cu numele Book1.xls. Dacă închidem aplicaţia Microsoft Excel, la următoarea lansare în execuţie fişierul din bara de titlu va avea tot numele Book1, iar tentativa de salvare ne conduce tot către pliantul My Documents şi fişierul Book1.xls, dar suntem atenţionaţi că fişierul există şi intrebaţi dacă dorim să-l înlocuim; după caz acţionăm unul din butoanele Yes sau No. Procedeul descris anterior poate continua. Nu se recomandă utilizarea acestei metode, deoarece numele unui fişier trebuie să fie sugestiv şi în concordanţă cu conţinutul său, astfel încât să-l putem identifica destul de uşor. De aceea, după lansarea în execuţie a aplicaţiei Microsoft Excel, vom specifica locul şi numele fişierului în care salvăm conţinutul registrului, parcurgând următorii paşi:

P1. Din meniul File selectăm comanda Save As... care deschide fereastra Save As. P2. Din lista derulantă Save in: alegem unitatea de disc şi pliantul în care va fi plasat fişierul. P3. În caseta File name: introducem numai numele fişierului, extensia lui va fi xls. P4. Acţionăm butonul Save din fereastră. După efectuarea acestor opraţii, în zona de editare putem introduce informaţii, iar din

când în când salvăm ceea ce am introdus, selectând din meniul File comanda Save. Deschiderea, în vederea actualizării, a unui fişier deja creat, se poate face selectând

meniul File, caz în care avem două variante: a) Înaintea comenzii Exit sunt afişate adresele de pe disc ale ultimelor patru fişiere, iar

dacă executăm clic stânga pe numele unui fisier se relizează deschiderea automată a acestuia.

b) Dacă nu putem opta pentru varianta precedentă, parcurgem următorii paşi: P1. Selectăm comanda Open..., care deschide fereastra Open. P2. Din lista derulantă Look in: alegem unitatea de disc şi pliantul în care se află fişierul. P3. Executăm clic stânga pe numele fişierului şi apoi acţionăm butonul Open din fereastră (executăm dublu clic stânga pe numele fişierului).

Deschiderea unui registru nou, după închiderea unui fişier, se face parcurgând următorii paşi:

• Yes – în caz afirmativ; • No – în caz contrar; • Cancel – în cazul în care dorim să anulăm comanda.

Page 61: informatica

INFORMATICĂ Constantin Zăvoianu

60

P1. Din meniul File selectăm comanda New... care deschide fereastra New Workbook (noul registru).

P2. Se execută clic stânga pe butonul Blank workgrup, operaţie în urma căreia fereastra se închide (se măreşte zona de editare) şi se dechide un nou registru de lucru, care are numele prestabilit Book2, iar indicatorul mouse-ului este vizibil în zona de editare. P3. Din lista derulantă Save in: alegem unitatea de disc şi pliantul în care va fi plasat fişierul. P4. În caseta File name: introducem numele sugestiv al fişierului. P5. Acţionăm butonul Save din fereastră.

5. Închiderea unui fişier După încheierea unei sesiuni de lucru, fişierul care conţine registrul curent trebuie închis după ce, în prealabil, acesta a fost salvat. Realizarea acestei operaţii se face selectând din meniul File opţiunea Close sau executând clic stânga pe butonul x din bara de titlu a ferestrei Microsoft Excel. Observaţie. Dacă nu au fost salvate ultimile modificări, se deschide o nouă fereastră, de dimensiuni mai mici, care are tot numele Microsoft Excel, fereastră în care putem acţiona unul din butoanele:

• Yes – dacă salvăm şi ultimile modificări efectuate în document; • No – dacă nu salvăm şi ultimile modificări efectuate în document; • Cancel – dacă renunţăm la opraţia de închidere a documentului. 6. Modul de lucru cu foile de calcul Selectarea unei foi de calcul se face executând clic pe eticheta foii respective. Etichetele

implicite sunt Sheet1, Sheet2,Sheet3, dar pot fi inserate şi alte foi de calcul, unele din ele pot fi şterse, iar fiecare foaie poate fi redenumită astfel încât numele ei să fie sugestiv şi în corelaţie cu conţinutul ei. O foaie de calcul poate fi formată din una sau mai multe pagini. După selectarea unei foi de calcul este necesar să se realizeze, înaite de editarea ei, setarea paginilor, adăugarea de antete şi subsoluri, numerotarea paginilor.

6.1.Inserarea unei foi de calcul

Pentru a inserarea o nouă foaie de calcul parcurgem următorii paşi:

P1. Selectăm cu clic stânga foaia înaintea căreia se va insera noua foaie de calcul. P2. Selectăm din meinul Insert comanda Worksheet. Foaia inserată devine activă.

6.2.Ştergerea unei foi de calcul Pentru a şterge fizic o foaie de calcul, care nu mai este necesară, parcurgem următorii paşi:

P1. Selectăm cu clic stânga foaia care trebuie ştersă. P2. Selectăm din meinul Edit comanda Delete Sheet, iar în ferestra afişată acţionăm

butonul Delete.

6.3.Schimbarea numelui unei foi de calcul Pentru a schimba numele unei foi de calcul parcurgem următorii paşi:

P1. Selectăm cu clic stânga foaia al cărui nume trebuie scimbat.

Page 62: informatica

INFORMATICĂ Constantin Zăvoianu

61

P2. Selectăm din meinul Format comanda Sheet, iar din submeniul acesteia comanda Rename. Numele vechi va fi scis cu alb pe fond negru.

P3. poziţionăm cursorul în pe vechiul nume, îl ştergem şi introducem noul nume, iar apoi executăm clic stânga în zona de lucru de pe ecran.

Observaţii. 1. Paşii P1 şi P2 sunt echivalenţi cu executarea unui dublu-clic stânga pe foaia al cărui

nume trebuie scimbat. 2. Mutarea unei foi de calcul, în cadrul aceluiaşi registru, se poate realiza astfel: se

execută clic stânga pe eticheta foii care se mută şi se ţine apăsat butonul mouse-lui până când ia forma unei coli de hârtie, iar apoi se trage în dreapta sau în stânga foii lângă care se face mutarea, după care se eliberează butonul de la mouse.

6.4. Setarea paginilor dintr-o foaie de calcul Excel-ul oferă posibilitatea setării paginilor din fiecare foaie de calcul. Prin setarea paginii se înţelege stabilirea formatului (A4, A3…), orientarea paginii (în picioare Portrait sau culcat Lanscape ) şi dimensiunilor pentru margini, antet şi subsol. Setarea paginilor se face parcurgând următorii paşi: P1. Din meniul File se selectează comanda Page setup…, selecţie în urma căreia se va

deschide fereastra Page setup care are patru componente: Page, Margins, Header/Footer şi Sheet. P2. Selectăm componenta Page, pentru a stabili orientarea paginii(Portrait sau Lanscape)., iar din lista Paper size: se alege formatul (A4, A3…). P3. Selectăm componenta Margins , pentru a seta dimensiunile marginilor în câmpurile: Left: , Right: , Top: şi Bottom: , precum şi dimensiunile antetului şi subsolului în câmpurile: Header: şi Footer: .

P4. Acţionăm butonul OK. 6.5. Antete şi subsoluri

Antetele şi subsolurile pot să apară pe fiecare pagină sau numai pe anumite pagini. Atât în antet cât şi în subsol putem introduce: texte, elemente grafice, numărul de pagină, data şi ora curentă, etc.Definirea unui antet/subsol se face parcurgând următorii paşi:

P1. Din meniul View se selectează comanda Header and Footer... (partea de sus- antetul şi partea de jos- subsolul), selecţie în urma căreia se va deschide fereastra Page Setup, fereastră în care sunt prezente listele derulante Header: şi Footer:, liste din care putem selecta categoria informaţiei care se va scrie în antet şi respectiv, în subsol. Dacă dorin să introducem, de exemplu în antet, alte informaţii care nu se găsesc în lista derulantă Header, selectăm butonul Custom Header... care deschide fereastra Header, formată din trei secţiuni: stânga, centru şi dreapta, iar cursorul se poziţionează în secţiunea din stânga. Dacă aici dorim să introducem un text, acţionăm butonul cu litera A, care deschide fereastra Font. În această fereastră, din lista Font: selectăm setul de caractere, din lista Font Style: selectăm stilul caracterelor, din lista Size: selectăm dimensiunea caracterelor, iar apoi închidem fereastra Font, operaţie după care se revine în fereastra Header în secţiunea din care a fost deschisă fereastra Font (în cazul de faţă, secţiunea din stânga), unde se introduce textul. La fel, se poate proceda şi cu celelalte

Page 63: informatica

INFORMATICĂ Constantin Zăvoianu

62

două secţiuni, după ce în prealabil ne-am poziţionat într-una din ele cu clic stânga. Analog, pot fi introduse informaţii şi în subsol, numai că de această dată trebuie selectat butonul Custom Footer... din fereastra Page Setup. P2. Se acţionează butonul OK.

6.6. Numerotarea paginilor dintr-o foaie de calcul Numerotarea paginilor unei foi de calcul se face în antetul sau în subsolul paginii, iar pentru a realiza acest lucru se parcurg următorii paşi:

P1. Din meniul View se selectează comanda Header and Footer..., selecţie în urma căreia se va deschide fereastra Page Setup, fereastră în care sunt prezente listele derulante Header: şi Footer:. În fiecare listă există mai multe opţiuni predefinite referitoare la numrotarea paginilor, fiecare opţiune este precedată de cuvântul Page. P2. Selectăm cu clic stânga pe o opţiune dintr-una din listele derulante Header: sau Footer: , iar opţiunea selectată se înscrie în antet sau în subsol şi deci poate fi vizualizat modul de afişare a numărului de pagină. Dacă optăm pentru unul din aceste moduri acţionăm butonul Ok din fereastra Page Setup, iar dacă nu optăm pentru nici unul din aceste moduri executăm pasul P3. P3. Acţionăm, după caz, unul din butoanele Custom Header... sau Custom Footer..., care deschide una din ferestrele Header sau Footer. Fiecare fereastră este formată din trei secţiuni: stânga, centru şi dreapta. Se stabileşte secţiunea în care se înscrie numărul de pagină, iar apoi se acţionează butonul în care este simbolul # şi numerotarea paginilor se va face automat începând de la 1. În continuare se vor închide în ordine inversă ferestrele deschise.

Observaţii. 1. Pentru fiecare foie de calcul numerotarea paginilor va începe de la 1. Dacă într-un

registru sunt mai multe foi de calcul şi dacă dorim ca numerotarea paginilor să se facă la nivelul registrului trebuie să se creeze o legătură între foile de calcul (să le concatenăm). Legătura între două foi de calcul, de exemplu Sheet2 se leagă de Sheet1, se poate realiza prcurgând următorii paşi: P1. Selectăm foaia de calcul care se leagă (clic stânga pe Sheet2), iar apoi toate paginile acestei foi executând clic stânga pe butonul Select All, buton invizibil pe ecran, dar care se află în colţul din stânga-sus al zonei de editare, la intersecţia dintre capetele liniilor şi capetele coloanelor. P2. Din meniul Edit selectăm comanda Copy. P3. Selectăm foaia de calcul la care se leagă (clic stânga pe Sheet1), iar apoi ne poziţionăm în coloana A după ultima înregistrare din această foaie. P4. Din meniul Edit selectăm comanda Paste.

2. Numerorarea paginilor din Sheet1 se face începând de la 1 până la numărul total de pagini, iar numărul de pagină rămâne poziţionat conform setării iniţiale pentru această foaie de calcul.

7. Introducerea informaţiilor într-o foaie de calcul Celulele dintr-o foaie de calcul pot conţine: etichete, valori, formule sau pot fi libere. Conţinutul celulelor poate fi modificat cu ajutorul tastaturii sau al mouse-ului. Dacă, accidental, conţinutul unei celule a fost modificat, se poate folosi comanda Undo Zoom din meniul Edit pentru a anula ultima modificare făcută.

Page 64: informatica

INFORMATICĂ Constantin Zăvoianu

63

7.1. Introducerea etichetelor într-o foaie de calcul O etichetă este un text sau un număr introdus într-o celulă pentru identificarea datelor dintr-o foaie de calcul, astfel încăt utilizatorul să poată interpreta informaţiile. Excel-ul nu foloseşte etichetele în calcule. Introducerea unei etichete se face parcurgând următorii paşi: P1. Se execută clic stânga pe celula în care se introduce eticheta şi se acţionează tasta F2.

P2. Se tastează eticheta. În cazul în care este de tip text poate conţine litere mari şi mici, spaţii, semne de punctuaţie şi cifre (de exemplu: Trim. 1), iar în cazul în care este de tip numeric trebuie să fie precedată de caracterul apostrof ( de exemplu: ’2007), care este prefixul etichetei şi nu apate în foaia de calcul. P3. Se acţionează tasta Enter sau se execută clic stânga pe butonul Enter din bara de formule. 7.2. Introducerea valorilor într-o foaie de calcul Valorile care pot fi introduse într-o celulă pot fi de tip numeric, alfanumeric, logic, data

calendaristică sau oră. Introducerea valorilor într-o celulă se face parcurgând următorii paşi: P1. Se execută clic stânga pe celula în care se introduce eticheta şi se acţionează tasta

F2. P2. Se tastează valoarea după cum urmează:

- numerele negative trebuie să fie precedate de semnul minus sau trebuie închise între paranteze rotunde; marca zecimală se materializează prin punct şi numerele se aliniază la dreapta;

- datele alfanumerice se introduc ca atare şi sunt aliniate la stânga; - valorile de tip logic sunt TRUE şi FALSE şi se introduc ca atare, iar între ele

există relaţia de ordine TRUE>FALSE; - data calendaristică se introduce sub una din formele: ll/zz/aa, ll-zz-aa; - ora curentă se introduce sub forma: hh:mm a sau hh:mm p, unde hh este o

valoare cuprinsă între 1 şi 12, iar a şi p sunt în loc de A.M. respectiv P.M.; P3. Se acţionează tasta Enter.

Observaţii. 1. Pentru a introduce numere cu un număr fix de zecimale se parcurge succesiunea de

comenzi: Tools→Options...→Edit→Fixed decimal şi din caseta Places se selectează numărul de zecimale.

2. Dacă într-o celulă nu încap toate cifrele numărului editarea lui se va face în reprezentarea cu punct zecimal şi exponent (de exemplu numărul -123456789123456789 se va edita sub forma -1.23457E+17, ceea ce înseamnă că valoarea introdusă este

171023457.1 ×− ). 3. Introducerea rapidă a unei valori constante în mai multe celule consecutive dintr-o foaie

de calcul se face astfel: se introduce valoarea, se poziţionează cursorul de mouse în colţul din dreapta-jos până când se transformă ăn semnul +, iar apoi cu butonul din stânga apăsat se trage spre spre dreapta, spre stânga, în sus sau în jos.

4. Pentru a numerota automat liniile sau coloanele unui tabel (crearea unei serii complexe) se introduce în celula de start prima valoare, în a doua celulă a doua valoare, se selectează domeniul celor două celule, se poziţionează cursorul de mouse în colţul din dreapta-jos al domeniului selectat până când se transformă ăn semnul +, iar apoi cu

Page 65: informatica

INFORMATICĂ Constantin Zăvoianu

64

butonul din stânga apăsat se trage spre spre dreapta sau în jos până în poziţia dorită. Valoarile care se vor înscrie în celule sunt în progresie aritmetică cu raţia egală cu diferenţa dintre valoarea înscrisă în celula a doua şi cea din prima celulă (raţia poate fi pozitivă sau negativă). 7.3. Introducerea formulelor într-o foaie de calcul

O formulă este o informaţie care descrie în mod riguros o operaţie sau un grup de

operaţii ce se efectuează asupra unui set de date în vederea obţinerii unui rezultat. Sintaxa unei formule este următoarea: Efectul: se evaluează expresia introdusă după semnul = şi rezultatul obţinut se

înregistrează în celula în care a fost introdusă formula. Expresia se defineşte ca fiind o succesiune de operanzi, operatori şi eventual paranteze

rotunde, succesiune în care calculele se efectuează după anumite reguli. Un operand poate fi exprimat printr-un număr, poate fi indicat prin adresa unei celule care conţine o valoare sau poate fi rezultatul returnat de o funcţie.

Pentru a introduce o formulă într-o celulă se parcurg următorii paşi: P1. Se selectează celula în care se va introduce formula şi se acţionează tasta F2. P2. Se tastează semnul = şi apoi se introduce expresia formulei. Ea va fi vizibilă şi în bara de formule xf . P3. Se execută clic stânga la sfârşitul formulei din bara de formule urmat de Enter sau se acţionează tasta Enter. În celulă va apare rezultatul calculat.

Observaţii.

1. Dacă selectăm celula în care este scris rezultatul, formula apare în bara de formule şi eventual poate fi modificată.

2. După tipul operatorilor expresiile pot fi aritmetice (numerice), relaţionale, logice şi alfanumerice. O expresie aritmetică reprezintă un algoritm pentru calcularea unei valori numerice.

Operanzii utilizaţi într-o expresie aritmetică pot fi de tip întreg sau de tip real. Operatorii aritmetici sunt: +, -, *, / şi ^ . Aceşti opratori corespund în ordine operaţiilor aritmetice de adunare, scădere, înmulţire, împărţire, ridicare la putere. Restul împărţirii întregi se află cu operatorul MOD. De exemplu, pentru a afla restul împărţirii întregi a numărului 57 la 9 vom introduce formula =MOD(57,9).

Evaluarea unei expresii aritmetice va începe întotdeauna cu evaluarea celor mai interioare perechi de paranteze rotunde, iar într-o expresie fără paranteze ordinea de efectuare a operaţiilor aritmetice este următoarea :

1. – ridicarea la putere, după regula stânga – dreapta; 2. – înmulţirea, împărţirea, restul împărţirii întregi, după regula stânga – dreapta; 3. – adunarea , scăderea, după regula stânga – dreapta.

O expresie relaţională se construieşte cu ajutorul a doi operanzi numerici, alfanumerici

sau logici legaţi între ei print-un oprator relaţional. Opratorii relaţionali sunt elementele mulţimii: R = { < , <= , = , <> , >= , > }, iar sintaxa unei expresii relaţionale este :

unde r∈R.

= expresie

operand_1 r operand_2

Page 66: informatica

INFORMATICĂ Constantin Zăvoianu

65

Evaluarea unei expresii relaţionale se face astfel: se determină mai întâi valorile celor doi operanzi (în cazul în care aceştia sunt precizaţi prin expresii) şi apoi se verifică dacă este îndeplinită relaţia specificată prin operatorul r, caz în care valoarea expresiei va fi TRUE, iar dacă relaţia specificată prin operatorul r nu este satisfăcută, valoarea expresiei va fi FALSE.

În cazul în care cei doi operanzi sunt de tip alfanumeric evaluarea expresiei relaţionale se face comparând codurile ASCII ale caracterelor din şirurile s1 şi s2, obţinute după evaluarea celor doi operanzi, compararea făcându-se caracter cu caracter, fără a face distincţie între literele mici şi literele mari.

O expresie logică se poate construi cu ajutorul operanzilor de tip logic, al operatorilor logici şi al parantezelor rotunde. Asupra operanzilor de tip logic se pot aplica operatorii logici NOT (negaţie logică), AND (şi logic), OR (sau logic). Operatorul logic NOT este un operator unar, înţelegând prin aceasta că poate precede o propoziţie logică iar, operatorii AND şi OR sunt operatori binari, înţelegând prin aceasta că leagă două propoziţii logice. Prin propoziţie logică înţelegem o expresie relaţională sau o expresie logică. Dacă P şi Q sunt două propoziţii logice, operatorii logici mentionaţi mai sus, determină rezultatul după cum urmează:

P Q NOT( P) AND(P, Q) OR(P,Q) TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE

Evaluarea unei expresii logice va începe întotdeauna cu evaluarea celor mai interne perechi de paranteze,iar într-o expresie fără paranteze,ordinea de efectuare a operaţiilor este următoarea: NOT, AND, OR

O expresie alfanumerică poate fi rezultatul concatenării mai multor date de tip alfanumeric. Concatenarea se face cu ajutorul funcţiei CONCATENATE. De exemplu, dacă în celula A1 este scris cuvântul Microsoft, în celula B1 se tastează un spaţiu urmat de cuvântul Office, iar în celula C1 se introduce formula =CONCATENATE(A1,B1) şi se acţionează tasta Enter, rezultatul din celula C1 va fi Microsoft Office.

7.4. Aplicaţie practică Într-o foaie de calcul să se introducă în coloanele B şi C, începând din rândul 2 valorile

3, 3, 4, 3 corespunzătoare variabilei 1n , respectiv 4, 3, 3, 2 corespunzătoare variabilei 2n . Se cere să se determine valorile expresiilor:

2/)( 21 nnma += ; 231 nne −= ; )( 211 nne ≤= ; )5.3(2 == ame ; 13 ee ¬= ; 214 eee ∧= ;

215 eee ∨= , şi să se introducă în rândul 1 începând din coloana B etichetele corespunzătoare notaţiilor folosite. Rezolvare: Introducem mai întâi etichetele corespunzătoare coloanelor din tabel, iar apoi formulele de calcul, după cum urmează:

Celula: D2 E2 F2 G2 H2 I2 J2 Formula: =(B2+C2)/2 =B2^3-C2 =B2<=C2 =D2=3.5 =NOT(F2) =AND(F2,G2) =OR(F2,G2) Calculează: am e

1e 2e 3e 4e 5e

Page 67: informatica

INFORMATICĂ Constantin Zăvoianu

66

După introducerea unei formule, poziţionăm cursorul de la mouse în colţul din dreapta jos al celulei cu formula şi el se va transforma în semnul +, iar apoi cu butonul din stânga al mouse-ului apăsat tragem în jos până în rândul 5 (formula se repetă în rândurile 3, 4 şi 5). În urma efectuării acestor operaţii vom obţine tabelul:

8. Modurile de adresare a celulelor Fiecare celulă dintr-o foaie de calcul are o dresă unică formată din litera coloanei şi

numărul rândului, numită adresă de referinţă. Adresele de referinţă pot fi adrese absolute şi adrese relative. O adersă absolută este de

forma $c$r, iar o adesă relativă este de forma cr, unde c este litera coloanei, iar r este numărul rândului. Pentru a înţelege care este deosebirea dintre o adresă absolută şi o adersă relativă analizăm următorul exemplu: pentru datele din coloanele A şi B, ale foii de calcul din Fig.2, introducem în celulele din rândul 1 formulele: Coloana: D E F G Formula: =A1+B1 =$A$1+B1 =A1+$B$1 =$A$1+$B$1

După introducerea unei formule, poziţionăm cursorul de la mouse în colţul din dreapta jos al celulei cu formula şi el se va transforma în semnul +, iar apoi cu butonul din stânga al mouse-ului apăsat tragem în jos până în rândul 4. În urma efectuării acestor operaţii vom obţine rezultatele din coloanele D, E, F şi G.

În coloana D avem suma valorilor situate pe aceelaşi rând în coloanele A şi B. Dacă executăm clic pe valoarea 8 din coloana D, în bara de formule xf se afişează formula =A3+B3, formulă cu care s-a calculat această valoare.

În coloana E avem suma dintre valoarea din celula A1 (în formulă a fost introdusă adresa absolută a celulei) şi valorile situate pe acelaşi rând în coloana B. Dacă executăm clic pe valoarea 9 din coloana E, în bara de formule xf se afişează formula =$A$1+B4, formulă cu care s-a calculat această valoare.

În coloana F avem suma dintre valoarile situate pe acelaşi rând în coloana A şi valoarea din celula B1 (în formulă a fost introdusă adresa absolută a celulei). Dacă executăm clic pe valoarea 12 din coloana F, în bara de formule xf se afişează formula =A2+$B$1, formulă cu care s-a calculat această valoare.

În coloana G avem suma dintre valoarea din celula A1 şi valoarea din celula B1 (în formulă au fost introduse adresele absolute ale celor două celule). Dacă executăm clic pe orice valoare din această coloană, în bara de formule xf se afişează formula =$A$1+$B$1, formulă cu care s-a calculat acea valoare.

Constatăm că adresele relative dintr-o formulă se modifică astfel încât să adeseze celulele aflate în aceeaşi poziţie relativă faţă de formulă, iar adresele absolute nu se modifică.

Fig. 2.

Page 68: informatica

INFORMATICĂ Constantin Zăvoianu

67

Observaţie. Introducerea unei adrese relative într-o formulă se poate face foarte simplu executând clic pe celula a cărei valoare se introduce se introduce ca operand în formulă, iar transformarea unei adrese relative în adresă absolută se face acţionând tasta F4 după espresia adresei relative.

9. Adăgarea de rânduri şi coloane Excel-ul oferă posibilitatea inserării de rânduri şi coloane libere între cele existente fără a

afecta informaţiile din foaia de calcul. Celulele existente vor fi repoziţionate pentru a face loc noilor rânduri sau coloane şi ajustează formulele existente, astfel încât acestea să adreseze corect celulele. Coloanele se inserează la stânga coloanei selectate, iar rândurile se inserează deasupra rândului selectat. Pentru a adăuga un rând sau o coloană se parcurg paşii:

P1. Se execută clic stânga în dreapta locului în care se inserează noua coloană sau pe rândul aflat imediat sub locul în care se inserează noul rând. P2. Se execută clic pe meniul Isert, iar apoi pe comanda Columns sau Rows. 10. Ştergerea de rânduri şi coloane Ştergerea de rânduri şi coloane se face, relativ simplu, şa fel ca şi adăugare, parcurgănd

paşii: P1. Se selectează butonul de antet al rândului sau al coloanei cu clic stânga. P2. Se execută clic pe meniul Edit, iar apoi pe comanda Delete. 11. Ajustarea lăţimii coloanelor şi a înălţimii rândurilor

Există posibilitatea ca anumite informaţii introduse într-o celulă să nu fie vizibile, caz în

care în celulă apare semnul <. Excel-ul oferă posibilitatea de a lărgi sau îngusta coloanele şi de a modifica după plac înălţimea rândurilor. Aceste ajustări se pot realiza parcurgând următorii paşi:

P1. Se selectează butonul de antet al coloanei sau al rândului care se ajustează. P2. Se selectează din meniul Format:

- comanda Column şi apoi Width..., după care se introduce lăţimea coloanei în puncte; - comanda Rows şi apoi Height..., după care se introduce înălţimea rândului în puncte.

P3. Se acţionează butonul Ok. 12. Mutarea, copierea sau stergerea unui domeniu

Pentru a muta/copia un domeniu se parcurg următorii paşi: P1. Se selectează domeniul. P2. Din meniul Edit se selectează comanda Cut / Copy. P3. Se selectează celula în care va fi colţul din dreapta sus al domeniul în care se face

mutarea sau copierea. P4. Din meniul Edit se selectează comanda Paste. Pentru a şterge un domeniu mai întâi se face selectarea lui, iar apoi din meniul Edit se

selectează comanda Delete.

13. Crearea unei diagrame

Page 69: informatica

INFORMATICĂ Constantin Zăvoianu

68

O diagramă (chart) numită şi grafic, este o reprezentare vizuală a datelor selectate dintr-o foaie de calcul. Se recomandă utilizarea diagramelor pentru a atrage atenţia cititorului asupra datelor importante, diagrama ilustrând tendinţe şi evidenţiind relaţiile semnificative dintre numere. Excel –ul oferă o varietate de tipuri de diagrame, iar utilizatorul este singurul care poate opta pentru un anumit tip. Crearea unei diagrame se face parcurgând următorii paşi:

P1. Se selectează domeniul de date care se reprezintă în diagramă. P2. Se execută clic stânga pe butonul Chart Wizard din bara de butoane Standard care deschide fereastra cu acelaşi nume. Din caseta Chart type: se alege tipul diagramei, iar din caseta Chart sub-type: subtipul diagramei. Executând clic stânga pe butonul Pres and Hold to View Sampe se previzualizează selecţia făcută. P3. După ce s-a optat pentru un anumit tip de diagramă se acţionează butonul Finish. Exemplu: Diagramele din foaia de calcul de mai jos s-au obţinut astfel:

a) – pentru prima diagramă am selectat domeniul A3:B6, am executat clic stânga pe butonul Chart Wizard, din caseta Chart type: am selectat Column, iar din caseta Chart sub-type: imaginea din colţul stânga-sus;

b) – pentru a doua diagramă am selectat domeniul A12:A17, am executat clic stânga pe butonul Chart Wizard, din caseta Chart type: am selectat Pie, iar din caseta Chart sub-type: imaginea din colţul stânga-sus.

14. Aplicaţii

14.1. Utilizarea EXCEL-ului pentru prelucrarea unor date statistice Fie nxxx ,,, 21 … valorile individuale ale unei caracteristici X . Prelucrarea statistică a acestor date, presupune printre altele, efectuarea unor calcule cu caracter general, determinarea indicatorilor medii, determinarea indicatorilor variaţiei.

A. Prelucrări generale:

1. - suma elementelor din fiecare vector, adică: ∑==

n

iixS

1 ;

Page 70: informatica

INFORMATICĂ Constantin Zăvoianu

69

2. - suma elementelor care au valoarea mai mare decât 5, adică: ∑=

⎩⎨⎧

>=

n

xi

i

i

xS5

1

' ;

3. - valoarea elementului minim, adică: { }inixx

,1min min=

= ;

4. - valoarea elementului maxim, adică: { }inixx

,1max max=

= ;

5. - numărul de elemente mai mici decât 5, notat cu 5n .

B. Indicatorii medii:

1. - media aritmetică simplă: n

xx

n

ii∑

= =1 ;

2. - media geometrică: nn

iig xx ∏=

=1 ;

3. - media armonică: hx =∑=

n

i ix

n

1

1 ;

4. - media pătratică: n

xx

n

ii

p

∑= =1

2

.

C. Indicatorii variaţiei:

1. – amplitudinea absolută: minmax xxA −= ;

2. - abaterea medie liniară: n

xxd

n

ii∑

=

−= 1 ;

3. – dispersia: ( )

n

xxn

ii∑

=

−= 1

2

2σ ;

4. – abaterea medie pătratică: 2σσ = .

5. – coeficientul de variaţie: 100⋅=xσυ .

Problema 1. Se dau variabilele: ( )9,6,3,5=X , ( )5,8,7,4=Y , )5,8,6,9(=Z , ( )5,7,6,10=U , ( )5,4,4,6=V şi se cere să se determine, pentru fiecare variabilă în parte, valorile mărimilor

statistice descrise anterior. Rezolvare. Deschidem un registru în Excel, iar într-una din foile de calcul introducem datele:

Selectăm domeniul B2:E6 , din meniul Edit alegem comanda Copy, iar apoi selectăm

celulele B9, B15 şi B21; după selectarea fiecărei celule, introducem comanda Paste din meniul

Page 71: informatica

INFORMATICĂ Constantin Zăvoianu

70

Edit. Procedând astfel, datele de intrare vor fi copiate în domeniile: B9:E13, B15:E19, B21:E25.

Introducem textele Prelucrări generale , Indicatorii medii şi Indicatorii variaţiei, începând din celulele B8, B14 şi B20.

A. În vederea efectuării prelucrărilor generale, introducem formulele de calcul după cum urmează:

Celula: G9 H9 I9 J9 K9 Formula: =SUM(B9:E9) =SUMIF(B9:E9,”>5”) =MIN(B9:E9) =MAX(B9:E9) =COUNTIF(B9:E9,”<5”) Calculează:

S 'S minx maxx 5n

B. În vederea calculării indicatorilor medii, introducem formulele de calcul după cum urmează:

Celula: G15 H15 I15 J15 Formula: AVERAGE(B15:E15) GEOMEAN(B15:E15) HARMEAN(B15:E15) SUMSQ(B15:E15)/4 Calculează: x

gx hx px

C. În vederea calculării indicatorilor variaţiei, introducem formulele de calcul după cum urmează:

Celula: G21 H21 I21 J21 K21 Formula: =J9-I9 =AVEDEV(B21:E21) =VAR(B21:E21) =STDEV(B21:E21) =J21/G15*100 Calculează:

A d 2σ σ v

După introducerea unei formule, poziţionăm cursorul de la mouse în colţul din dreapta jos al celulei cu formula şi el se va transforma în semnul +, iar apoi cu butonul din stânga al mouse-ului apăsat tragem în jos până în rândul 13, în primul caz, până în rândul 19 în al doilea caz şi până în rândul 25 în al treilea caz. În urma efectuării acestor operaţii vom obţine tabelul:

Problema 2. Se cunosc datele statistice din tabelul:

i ix in ii nx ⋅ h

axi − ii nh

ax⋅⎟⎠⎞

⎜⎝⎛ −

ii

nx

⋅1 ii nx ⋅2 *

in *in

ix iF

1 60 50 2 100 70 3 140 90 4 180 100 5 220 50

Page 72: informatica

INFORMATICĂ Constantin Zăvoianu

71

6 260 20 Total - Se cere să se determine valorile din coloanele libere ştiind că:

40,180 == ha ; ∑

=

=

6

1

*

jj

ii

n

nn ; ∑ =∀==

i

jji inF

16,1; .

Rezolvare. Deschidem un registru de lucru în Excel, şi într-una din foile de calcul alcătuim tabelul:

Totalul din coloana B s-a astfel: am selectat domeniul B3:B8, iar apoi am acţionat butonul ∑ din bara de instrumente. Analog, s-a obţinut şi totalul din coloana C. Pentru a abţine valorile corespunzătoare coloanelor notate cu c1, c2, ..., c8, utilizăm formulele:

c1 c2 c3 c4 c5 c6 c7 c8 =B3*C3

în celula D3 =(B3-180)/40

în celula E3 =E3*C3 în celula F3

=C3/B3 în celula G3

=B3^2*C3 în celula H3

=C3/380 în celula I3

=B3^I3 în celula J3

=C3 -în celula K3 =K3+C4 -în celula K4

După introducerea unei formule, poziţionăm cursorul de la mouse în colţul din dreapta jos al celulei cu formula şi el se va transforma în semnul +, iar apoi cu butonul din stânga al mouse-ului apăsat tragem în jos până în rândul 8. În final vom calcula sumele de pe coloanele c1, c2, ..., c7, într-un mod cu totul analog modului de obţinere a totalului din coloana B. În final vom obţine tabelul:

14.2. Sortarea şi filtrarea datelor

Problema 1. Notele obţinute de şase candidaţi care au participat la un concurs sunt cele din tabelul de mai jos:

Rezolvare:

1. Se selectează celula G36, se execută dublu-clic stânga în celulă şi apoi se scrie textul, după care se execută aceleaşi operaţii pentru celula H36.

Se cere: 1. Să se scrie în celula G36 textul Media, iar în celula H36 textul Rezultat. 2. Să se calculeze mediile aritmetice ale notelor obţinute la cele trei probe şi să se treacă în domeniul G37:G42. 3.Să se stabilească rezultatul concursului ştiind că un candidat este declarat admis dacă la toate probele a obţinut note mai mari sau egale cu 5.

Page 73: informatica

INFORMATICĂ Constantin Zăvoianu

72

2. Se selectează celula G37 se execută dublu-clic stânga în celulă şi apoi se scrie formula: =AVERAGE(D37:F37), iar apoi se poiziţionează cursorul de la mouse în colţul din dreapta jos al casetei cu semnul = , caz în care cursorul se transformă în semnul +, iar apoi se trage cursorul mouse-ului în jos până în celula G42.

3. Se selectează celula H37 se execută dublu-clic stânga în celulă şi apoi se scrie formula: =IF( OR(D37<5,E37<5,F37<5),"RESPINS","ADMIS") , iar apoi se poiziţionează cursorul de la mouse în colţul din dreapta jos al casetei cu semnul = , caz în care cursorul se transformă în semnul +, iar apoi se trage cursorul mouse-ului în jos până în celula H42. Problema 2. După efectuarea acestor operaţii tabelul extins se va prezenta astfel:

Rezolvare.

1. Selectăm celulele G37:G42, iar din meniul Format selectăm comanda Cells..., care deschide fereastra Format Cells, din care selectăm butonul Number. Din lista derulantă Category: alegem opţiunea Nnumber , în caseta Decimal places: introducem valoarea 2, iar apoi acţionăm butonul Ok.

2. Selectăm domeniul B37:H42, iar din meniul Data selectăm comanda Sort..., care deschide fereastra Sort Warning, fereastă în care acţionăm butonul Sort..., buton care deschide fereastra Sort. Din lista Sort by: selectăm Column H şi executăm clic pe Ascending iar apoi pe butonul Ok. Procedând astfel candidaţii admişi vor fi afişaţi în partea de sus a tabelului în ordine alfabetică, iar cei respinşi în partea de jos tot în ordine alfabetică. Pentru a afişa candidaţii admişi în ordinea descrescătoare a mediilor, iar la medii egale în ordinea descrescătoare a notelor obţinute la prima probă, procedăm astfel: selectăm domeniul B37:H39 (unde sunt candidaţii admişi), iar din meniul Data selectăm comanda Sort..., care, de data aceasta, deschide direct fereastra Sort. Din lista Sort by: selectăm Column G şi executăm clic pe Descending, din lista lista Then by: selectăm Column D şi executăm clic pe Descending, iar din următoarea listă Then by: selectăm Column B şi executăm clic pe Ascending, pentru ca în cazul în care sunt egale atât mediile cât şi notele de la prima probă, aranjarea în tabel să fie în odine alfabetică. După efectuarea acestor operaţii tabelul se va prezenta astfel:

Problema 3. Informaţiile referitoare la cifrele de şcolarizare (date fictive) pentru liceele din zona de est a Văii Jiului sunt cele din tabelul:

Se cere: 1. Mediile să fie afişate numai cu două zecimale. 2. Candidaţii admişi să fie afişaţi în ordinea

descrescătoare a mediilor, iar la medii egale în ordinea descrescătoare a notelor obţinute la prima probă. Candidaţii respinşi se vor afişa în ordine alfabetică.

Page 74: informatica

INFORMATICĂ Constantin Zăvoianu

73

Se cere să se proceseze datele din acest tabel astfel încât în coloana A să se înregistreze numărul curent, în coloana H numărul total de elevi din fiecare liceu, în rândul 7 totalul pe clase şi licee, efectuat pe coloane, iar în celula A9 totalul pe licee ca sumă a totalurilor corespunzătoare claselor. Rezolvare.

1. Selectăm celula A1, iar apoi dim meniul Insert comanda Columns. 2. Selectăm butonul B, iar apoi în celula A1 introducem textul Nrc. 3. Selectăm domeniul A1:A6, apoi butonul de centrare şi introducem începând din celula

A2 numerele curente: 1,2,3,4,5. 4. Scriem cuvântul Total în celula A7 şi îl aliniem la dreapta, precum si în celula H1 unde îl

centrăm. 5. Ne poziţionăm în celula H2 şi acţionăm butonul ∑ din bara de instrumente. În celulă se

scrie automat formula =SUM(D2:G2) şi executăm clic după paranteza rotundă închisă. Poziţionăm cursorul de la mouse în colţul din dreapta jos al celulei cu formula şi el se va transforma în semnul +, iar apoi cu butonul din stânga al mouse-ului apăsat tragem în jos până în celula H6. Astfel se calculează sumele pe linii şi vor fi aliniate la dreapta.

6. Ne poziţionăm în celula D7 şi acţionăm butonul ∑ din bara de instrumente. În celulă se scrie automat formula =SUM(D2:D6) şi executăm clic după paranteza rotundă închisă. Poziţionăm cursorul de la mouse în colţul din dreapta jos al celulei cu formula şi el se va transforma în semnul +, iar apoi cu butonul din stânga al mouse-ului apăsat tragem spre dreapta până în celula G7. Astfel se calculează sumele pe coloane, care vor fi aliniate la dreapta.

7. Ne Ne poziţionăm în celula H7 şi acţionăm butonul ∑ din bara de instrumente. În celulă se scrie automat formula =SUM(H2:H6), executăm clic după paranteza rotundă închisă, iar apoi acţionăm tasta Enter.

8. Centrăm datele numerice de pe ultima linie şi de pe ultima coloană. 9. Ne poziţionăm în celula A9, introducem formula =SUM(D7:G7), iar apoi acţionăm tasta

Enter. După efectuarea acestor operaţii tabelul se va prezenta astfel:

14.3 Prelucrări matriceale Problemă. Să se rezolve următorul sistem de ecuaţii liniare:

⎪⎪⎩

⎪⎪⎨

−=+++−=+++

−=−+−=+−+

34243

132222

4321

4321

4321

4321

xxxxxxxxxxxx

xxxx

Rezolvare: Folosind notaţiile matriceale, sistemul se poate scrie sub forma bxA =⋅ , unde:

Page 75: informatica

INFORMATICĂ Constantin Zăvoianu

74

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−

=

142111311312

2121

A ;

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

4

3

2

1

xxxx

x ;

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

341

2

b .

Dacă 0det ≠A există inversa matricei A notată cu 1−A şi dacă înmulţim ecuaţia bxA =⋅ la stânga cu 1−A obţinem bAxAA ⋅=⋅⋅ −− 11 ceea ce este echivalent cu bAxI ⋅=⋅ −1

4 , adică bAx ⋅= −1 ( 4I este matricea unitate de ordinul 4). Pentru efectuarea calculelor vom deschide în

Excel un registru de calcul, iar într-una din foile de calcul alcătuim tabelul:

În continuare vom efectua următoarele operaţii:

1. Introducem textul detA= în celula A7, textul Ainv= în celula A11 şi textul Solutie= în celula G11.

2. Selectăm celula B7, acţionăm butonul xf care deschide fereastra Insert Function, iar din lista Or select a caregory: selectăm opţiunea Math&Trig şi din lista Select a function: alegem funcţia MDETERM (care determină valoarea unui determinant) şi apoi butonul Ok, care deschide fereastra Function Arguments. Selectăm domeniul B2:E5 care va fi trecut automat în Array şi apoi butonul Ok. În celula B7 se scrie valoarea determinantului.

3. Selectăm domeniul B9:E12, acţionăm în ordine Ctrl+C, Ctrl+V, Ctrl+’ , iar apoi butonul xf şi în continuare procedăm la fel ca în pasul precedent, numai că de această dată alegem funcţia MINVERSE (care determină inversa unei matrice), căreia îi transmitem ca argument tot domeniul B2:E5. În celula din stânga-sus din domeniul B9:E12 se scrie valoarea elementului din poziţia (1,1) din matricea inversă. Acţionăm tasta F2, iar apoi simulta tastele Ctrl+Shift+Enter, operaţii în urma cărora se vor scrie şi celelalte elemente ale matricei inverse.

4. Selectăm domeniul H9:H12, acţionăm în ordine Ctrl+C, Ctrl+V, Ctrl+’ , iar apoi butonul xf şi în continuare procedăm la fel ca în pasul precedent, numai că de această dată alegem funcţia MMULT (care determină produsul a două matrice), căreia îi transmitem ca prim argument domeniul B9:E12, iar al doilea argument va fi domeniul G2:G5. Acţionăm butonul Ok şi în celula H9 se scrie valoarea lui 1x . Pentru a afişa şi valorile celorlalte necunoscute acţionăm tasta F2, iar apoi simulta tastele Ctrl+Shift+Enter.

După efectuarea acestor operaţii foaia de lucru se va prezenta astfel:

Page 76: informatica

INFORMATICĂ Constantin Zăvoianu

75

Temă: Să se verifice dacă 4

11 IAAAA =⋅=⋅− şi dacă bxA =⋅ . 15. Probleme propuse

1. Vectorul R r r rn= ( , , , )1 2 … , conţine numărul de piese realizate în n luni consecutive într-un atelier (n > 2), iar vectorul P p p p n= ( , , , )1 2 … conţine numărul planificat de piese pentru cele n luni. Să se introducă aceste date într-o foaie de calcul şi să se facă prelucrarea lor astfel încăt să se obţină o situaţie de forma:

Colţul din stânga-sus, al tabelului final, să fie în celula A8, iar n=6.

2. Vectorul P p p p n= ( , , , )1 2 … , conţine preţurile unitare a n produse fabricate într-un atelier (n > 2). Să se introducă aceste date într-o foaie de calcul , iar apoi să se facă actualizarea preţurilor ştiind că se face o majorare de 15%; în final să se afişeze o situaţie de forma:

Colţul din stânga-sus, al

tabelului final, să fie în celula A3, iar n=8.

3. Vectorul C c c c n= ( , , , )1 2 … conţine cantităţile din cele n produse fabricate într-un atelier (n > 2), şi în vectorul P p p p n= ( , , , )1 2 … conţine preţurile unitare ale fiecărui produs. . Să se introducă aceste date într-o foaie de calcul şi să se facă prelucrarea lor astfel încăt să se obţină o situaţie de forma:

Luna Producţia realizată

Producţia planificată

Procent de îndplinire a

planului 1. xxxxxx xxxxxx xxx.xx % 2. xxxxxx xxxxxx xxx.xx % … …….. …….. ……….. n. xxxxxx xxxxxx xxx.xx %

Total: xxxxxxx xxxxxxx xxx.xx %

Nrc. Preţ unitar vechi

Preţ unitar nou

Diferenţa de preţ (nou-vechi)

1. xxxxxx.xx xxxxxx.xx xxxxxx.xx 2. xxxxxx.xx xxxxxx.xx xxxxxx.xx … …….. …….. ………….. n. xxxxxx.xx xxxxxx.xx xxxxxx.xx

Media preţurilor:

xxxxxxx

xxxxxx.xx

xxxxxx.xx

Page 77: informatica

INFORMATICĂ Constantin Zăvoianu

76

Colţul din stânga-sus, al tabelului final, să fie în celula A3, iar n=7.

4. Vectorii M m m m n= ( , , , )1 2 … şi I i i in= ( , , , )1 2 … conţin notele celor n studenţi dintr-o grupă (n > 10), obţinute la disciplinele Matematică şi Informatică.. Să se introducă aceste note într-o foaie de calcul şi să se facă prelucrarea lor astfel încăt să se obţină o situaţie de forma:

Colţul din stânga-sus, al tabelului final, să fie în celula A5, iar n=10.

5. Matricea E cu n linii şi m coloane, conţine notele obţinute într-un an universitar de cei n studenţi dintr-o grupă la cel m discipline din planul de învăţământ. ă.. Să se introducă aceste note într-o foaie de calcul şi să se facă prelucrarea lor astfel încăt să se obţină o situaţie de forma:

Media generală a grupei este xx.xx. Colţul din stânga-sus, al tabelului final, să fie în celula A10, iar n=8 şi m=10.

6. Matricea E cu n linii şi m coloane, conţine notele obţinute într-un an universitar de cei n studenţi dintr-o grupă la cel m discipline din planul de învăţământ. ă.. Să se introducă aceste note într-o foaie de calcul şi să se facă prelucrarea lor astfel încăt să se obţină o situaţie de forma:

Nrc. Cantitatea fabricată

Preţul unitar

Valoarea producţiei

1. xxxxx xxxxxx.xx xxxxxxxx.xx 2. xxxxx xxxxxx.xx xxxxxxxx.xx … …….. …….. ……..…….. n. xxxxx xxxxxx.xx xxxxxxxx.xx

Total: xxxxxx - xxxxxxxx.xx

Nrc. Nota la Matematică

Nota la Informatică

Media notelor

1. xx xx xx.xx 2. xx xx xx.xx … … ... …. n. xx xx xx.xx

Media: xx.xx xx.xx xx.xx

S/D 1 2 3 … m Media anuală: 1. xx xx xx … xx xx.xx 2. xx xx xx … xx xx.xx … … … … … … … n xx xx xx … xx xx.xx

Page 78: informatica

INFORMATICĂ Constantin Zăvoianu

77

Media generală a grupei este xx.xx. Colţul din stânga-sus, al tabelului final, să fie în celula A10, iar n=7 şi m=10.

S/D 1 2 3 … m 1. xx xx xx … xx 2. xx xx xx … xx … … … … … … N xx xx xx … xx

Media disciplinei:

xx.x

x

xx.xx

xx.xx

xx.xx

Page 79: informatica

INFORMATICĂ Constantin Zăvoianu

ALGORITMI

1.Noţiunea de algoritm

Definiţie. Prin algoritm se înţelege un sistem de calcule, care permit ca din datele

iniţiale ale unei probleme să se obţină soluţia acesteia, cu ajutorul unor operaţii succesive, univoc determinate, efectuate mecanic, de om sau de maşină, fără aportul creator al omului. Din punct de vedere structural, orice algoritm este format din mai mulţi paşi, corespunzători diferitelor etape de calcul. În cazul cel mai general, orice algoritm este format din următorii paşi:

P1. Citirea datelor de intrare specifice problemei ce urmează a fi rezolvată. P2. Prelucrarea datelor de intrare, în conformitate cu un anumit model matematic, în vederea obţinerii valorilor datelor de ieşire.

P3. Scrierea valorilor datelor de ieşire, care reprezintă de fapt soluţia problemei.

2.Proprietăţile algoritmilor

Claritatea, adică descrierea precisă a operaţiilor ce urmează a fi efectuate, într-un mod riguros, fără ambiguităţi. Deci, un algoritm trebuie să precizeze toate etapele de calcul pe care le va urma calculatorul (omul sau maşina), toate situaţiile ce se pot ivi, astfel încât să se ajungă la soluţia problemei.

Generalitatea. Un algoritm este util, nu dacă rezolvă o problemă particulară concretă, ci dacă rezolvă o clasă întreagă de probleme. Se subînţelege, că orice problemă particulară din clasa respectivă poate fi rezolvată cu ajutorul algoritmului corespunzător clasei.

Finititudinea. Un algoritm trebuie să se termine întotdeauna, într-un număr finit de paşi. Această cerinţă trebuie respectată deoarece operaţiile descrise într-un algoritm sunt efectuate de calculator într-un anumit interval de timp, iar un algoritm este cu atât mai eficient cu cât timpul în care rezolvă o anumită problemă este mai mic.

Observaţie. Un sistem de calcule care se bucură de proprietăţile de claritate şi generalitate, dar nu şi de proprietatea de finititudine se numeşte metodă de calcul, şi nu poate constitui un algoritm. De exemplu, procedeul de extragere a rădăcinii pătrate dintr-un număr care nu este pătrat perfect este o metodă de calcul, atâta timp cât nu s-a specificat numărul de zecimale sau cu ce aproximaţie se extrage rădăcina pătrată şi se transformă în algoritm dacă se precizează unul din aceste elemente. În cadrul disciplinelor matematice, tehnice, economice, etc., există o multitudine de metode de calcul, care prin diverse artificii pot fi transformate în algoritmi şi implicit, problemele din aceste domenii pot fi rezolvate cu ajutorul calculatorului electronic.

Rezolvarea unei probleme concrete, nu se poate mărgini doar la elaborarea unui algoritm, fapt pentru care orice algoritm, trebuie codificat într-un limbaj de programare. În urma acestei codificări se obţine un program, care este format dint-o înşiruire de instrucţiuni şi poate fi executat în mod automat de un calculator electronic

3.Clasificarea datelor utilizate în elaborarea algoritmilor

Datele utilizate în elaborarea algoritmilor, pot fi clasificate după trei criterii: tip, natură şi mod de organizare.

1. Prin tip se înţelege mulţimea din care pot lua valori anumite date. După tip datele pot fi: numerice, alfanumerice şi logice.

Datele de tip numeric pot fi întregi şi reale, datele de tip alfanumeric pot avea ca valoare

77

Page 80: informatica

INFORMATICĂ Constantin Zăvoianu

orice şir de caractere alfanumerice, iar datele de tip logic, pot lua valori dintr-o mulţime formată din două elemente care corespund valorilor logice de adevărat, respectiv fals.

2. Natura datelor, se referă la comportamentul acestora pe parcursul executării algoritmului. După natură, datele pot fi constante şi variabile. Atât constantele cât si variabilele, pot fi de unul din tipurile precizate anterior. O constantă este o dată a cărei valoare nu se modifică pe parcursul executării unui algoritm, iar o variabilă este o dată a cărei valoare se modifică pe parcursul executării unui algoritm. De fapt, o variabilă se defineşte ca fiind o pereche (x,a), unde x este numele variabilei, iar a este o constantă care reprezintă valoarea variabilei. Numele unei variabile poate fi format dintr-un şir de caractere alfanumerice (litere şi/sau cifre), primul caracter fiind în mod obligatoriu o literă.

3. Datele prelucrate într-un algoritm pot fi organizate sub formă de: variabile simple, variabile indexate şi fişiere.

O variabilă simplă este desemnată printr-un nume simbolic şi are la un moment dat o singură valoare. Referirea la valoare se face precizând în algoritm numele variabilei.

O variabilă indexată este desemnată tot printr-un nume simbolic, dar spre deosebire de o variabilă simplă ea poate avea la un moment dat mai multe valori de acelaşi tip. Putem utiliza: - variabile indexate cu un indice (vectori), variabile indexate cu doi indici (matrice) sau variabile indexate cu trei sau mai mulţi indici. Referirea la valoarea unui element se face precizând numele variabilei, iar apoi într-o pereche de paranteze rotunde se trece indicele (indicii separaţi prin virgulă). Un fişier este o mulţime de date, formată din una sau mai multe componente de acelaşi tip, care sunt înregistrate pe un suport extern de informmaţie. Componentele unui fişier se numesc înregistrări sau articole.

Prin articol se înţelege o mulţime de informaţii, care caracterizează total sau parţial un anumit obiect. Un articol este format din unul sau mai multe câmpuri. Un câmp este specificat prin nume şi tip. Numele este un identificator (nume de variabilă), iar tipul poate fi unul din cele precizate anterior (numeric, alfanumeric sau logic).

4.Operaţii utilizate în descrierea algoritmilor

Pentru a obţine valorile datelor de ieşire, asupra datelor de intrare pot fi efectuate oreaţii de calcul numeric (aritmetic) şi operaţii de decizie.

1. Operaţiile de calcul numeric se efectuează asupra datelor de tip numeric ( constante , variabile simple, componente de variabile indexate sau funcţii), numite operanzi, cu ajutorul opratorilor numerici : + , - , * , / , ** sau ↑ , care corespund în ordinea dată operaţiilor de: adunare, scădere, înmulţire, împărţire şi ridicare la putere.

Cu ajutorul operatorilor şi al operanzilor de tip numeric, se introduce noţiunea de expresie aritmetică, ca fiind o succesiune de: operanzi, operatori şi eventual paranteze rotunde, succesiune în care calculele se efectuează după anumite reguli.. În momentul evaluării unei expresii aritmetice, toţi operanzii care intră în componenţa ei, trebuie să aibă valori.

Evaluarea unei expresii aritmetice, începe cu perechea cea mai interioară de paranteze rotunde, iar într-o expresie fără paranteze, calculele se efectuează în următoarea ordine:

i) - ridicările la putere, după regula dreapta-stânga; ii) - înmulţirile şi împărţirile, după regula stânga-dreapta; iii) - adunările şi scăderile, după regula stânga-dreapta. 2. Operaţiile de decizie determină valoarea de adevăr a unei propoziţii logice, valoare care

poate fi adevărat sau fals. Prin propoziţie logică înţelegem o expresie relaţională sau o expresie logică.

O expresie relaţională se construieşte cu ajutorul a doi operanzi de acelaşi tip (numeric,

78

Page 81: informatica

INFORMATICĂ Constantin Zăvoianu

alphanumeric) legaţi între ei printr-unul din operatorii relaţionali: <, ≤, =, ≠, ≥, >. Determinarea valorii unei expresii relaţionale se face astfel: se evaluează mai întâi cei doi operanzi şi apoi se compară rezultatele obţinute; dacă relaţia respectivă are loc, expresiei relaţionale i se asociază valoarea logică adevărat, iar în caz contrar i se asociază valoarea logică fals.

O expresie logică se construieşte cu ajutorul datelor de tip logic şi al operatorilor logici de disjuncţie ( ), conjuncţie ( ) şi negaţie (⎤ ), valoarea obţinută fiind tot o valoare logică. Cu ajutorul acestor operatori se determină rezultatul, după cum urmează: fie P şi Q două propoziţii logice, care pot lua oricare din valorile adevărat (A) sau fals (F). Vom avea:

∧ ∨

P Q ⎤ P P Q ∧ P Q

A A F A A A F F F A F A A F A F F A F F

5.Descrierea algoritmilor

Cele mai utilizate tehnici folosite pentru descrierea algoritmilor sunt schemele logice şi

pseudocodurile. În lucrarea de faţă, toţi algoritmii vor fi descrişi sub formă de pseudocod, avantajele unei astfel de reprezentări fiind incontestabile.

5.1. Descrierea algoritmilor în pseudocod

Pseudocodul este format dintr-un număr redus de instrucţiuni, care conţin condensat câteva subscheme frecvent utilizate, cu ajutorul cărora se pot realiza algoritmi destul de expresivi, scrierea acestora fiind foarte apropiată atât de scrierea obişnuită din matematică, cât şi de scrierea folosită pentru codificarea algoritmilor într-un limbaj de programare de nivel înalt.

Instrucţiunile utilizate pentru descrierea algoritmilor sub formă de pseudocod, se împart în două categorii:

- declaraţii de date; - instrucţiuni efective;

iar structura formală a unui algoritm descris în pseudocod este următoarea:

unde: - prin comentariu se precizează destinaţia algoritmului; - prin declaraţiile de date se fac precizări referitoare la tipul variabilelor utilizate în algoritm, precum şi precizări referitoare la modul de organizare al acestor variabile; - prin secvenţa formată din instrucţiune-1, instrucţiune-2, ..., instrucţiune-k se precizează operaţiile care se efectuează asupra datelor de intrare, astfel încât după un număr finit de paşi să se obţină valorile datelor de ieşire; - prin instrucţiunea stop se pune în evidenţă sfârşitul logic al algoritmului, iar prin instrucţiunea end se pune în evidenţă sfârşitul fizic.

┌/comentariu/ │declaraţii de date │instrucţiune-1 │instrucţiune-2 │ .................... │ instrucţiune-k │stop └end

5.2.Declaraţiile de date din pseudocod

O declaraţie de date este formată dintr-o listă de variabile separate prin virgulă şi precedate de unul din cuvintele rezervate: integer, real, string sau boolean prin care se precizează că variabilele din listă sunt de tip întreg, real, alfanumeric sau logic, iar pentru a preciza modul de organizare al datelor se foloseşte unul din cuvintele rezervate array sau file după cum datele sunt organizate sub formă de tablouri (variabile indexate) sau sunt organizate sub formă de fişiere.

79

Page 82: informatica

INFORMATICĂ Constantin Zăvoianu

Exemplu: │. ………………………….. Comentariu: Prin aceste declaraţii, s-au făcut următoarele precizări: │ integer n,m,k,x n,m,k - sunt variabile simple de tip întreg; │ real a,b,y,aux x -este variabilă indexată cu un indice şi are n elemente de tip întreg; │ string strada,nume,functia

a -este variabilă indexatăcu doi indici şi are n*m elemente de tip real; │ boolean u,v │ array a(n,m),b(m),x(n) b -este variabilă indexată cu un indice şi are m elemente de tip real;

y,aux -sunt variabile simple de tip real; nume,strada,functia -sunt variabile simple de tip alphanumeric;

│ ……………………………

u,v -sunt variabile simple de tip logic;

5.3.Instrucţiunile efective din pseudocod

Definiţie. O instrucţiune este o informaţie care descrie în mod riguros, o operaţie sau un grup de operaţii pe care trebuie să le execute algoritmul.

Conform teoremei de structură, furnizată de Böhm şi Jacopini, orice algoritm, care are o singură intrare şi o singură ieşire, poate fi descris ca o combinaţie a trei structuri de control: • secvenţa - succesiune de instrucţiuni simple (de atribuire, de citire, de scriere); • selecţia - alegerea unei structuri din două alternative posibile (instrucţiunea if); • iteraţia - repetarea unei structuri atâta timp cât o condiţie este îndeplinită (instrucţiunea • while);

numite structuri fundamentale. Observaţie. Programarea structurată admite şi folosirea instrucţiunii case în cadrul selecţiei, precum şi utilizarea instrucţiunilor for şi do-until în cadrul iteraţiei, deoarece se poate demonstra echivalenţa acestora cu if, respectiv while.

5.3.1.Instrucţiunile simple

Instrucţiunea

Sintaxa Efectul

comentariu / şir de caractere / Rezultatul parcurgerii acestei instrucţiuni este nul şi ea poate să apară oriunde într-un algoritm. Se foloseşte cu scopul de a introduce unele mesaje explicative, referitoare la destinaţia şi documentarea algoritmului.

de atribuire ev ← Se evaluează expresia e, iar rezultatul obţinut în urma evaluării se atribuie variabilei v. Rezultatul obţinut în urma evaluării trebuie să fie de acelaşi tip cu tipul variabilei v, tipurile permise fiind integer, real, string şi boolean.

de citire read nvvv ,,, 21 … Se citesc de pe un mediu de intrare, n valori şi se atribuie în ordine variabilelor v1,v2,...,vn . Între tipul valorilor citite şi tipul variabilelor din lista instrucţiunii read, trebuie să existe compatibilitate.

de scriere write d1,d2,...,dm

Se scriu pe un mediu de ieşire valorile datelor d1,d2,...,dm. Precizăm că pot fi scrise valorile variabilelor şi constantelor de orice tip, precum şi valorile expresiilor sau funcţiilor.

stop stop Determină încheierea execuţiei algoritmului (marchează sfârşitul logic al acestuia).

end end Marchează sfârşitul fizic al unui algoritm.

80

Page 83: informatica

INFORMATICĂ Constantin Zăvoianu

5.3.2.Instrucţiunile alternative

Instrucţiune

a Sintaxa Efectul

if-then ┌│ A

if c then

└ endif Dacă condiţia c este adevărată se execută secvenţa de instrucţiuni precizată prin A şi se trece la instrucţiunea imediat următoare instrucţiunii if.

if-then-else if c then A ┌ │ else B └ endif

Dacă condiţia c este adevărată se execută secvenţa de instrucţiuni precizată prin A şi se trece la instrucţiunea imediat următoare instrucţiunii if, iar în caz contrar se execută secvenţa de instrucţiuni precizată prin B şi se trece la instrucţiunea imediat următoare.

case

┌ case c1:A1 │ c :A2 2 │ ....... │ c :An n │ [else An+1 ]

└ end case

În cazul în care este indeplinită o condiţie oarecare ci,∀ i n= 1, se execută secvenţa de instrucţiuni corespunzătoare ei, notată prin Ai şi se trece la instrucţiunea imediat următoare istrucţiunii case. În cazul în care nici o condiţie nu este îndeplinită, instrucţiunea este inefectivă dacă lipseşte opţiunea else şi deci se trece la instrucţiunea imediat următoare, iar dacă este prezentă această opţiune se execută secvenţa de instrucţiuni precizată prin An+1 şi se trece la instructiunea imediat următoare instrucţiunii case.

5.3.3.Instrucţiunile repetitive

Instruc-ţiunea

Sintaxa Efectul

while

┌ while │ A

c

└ repeat

Secvenţa de instrucţiuni precizată prin A, numită corpul ciclului, se execută repetat, atâta timp cât condiţia c este adevărată. În cadrul secvenţei A, trebuie să se modifice unele din elementele condiţiei c pentru a se evita fenomenul de ciclare. Dacă condiţia c este falsă de la început, secvenţa A nu se execută niciodată.

do-until

┌do │ A

Secvenţa de instrucţiuni precizată prin A, numită corpul ciclului, se execută repetat, până când condiţia c devine adevărată. În cadrul secvenţei A, trebuie să se modifice unele din elementele condiţiei c, pentru că în caz contrar secvenţa A s-ar executa la infinit, caz în care se spune că algoritmul ciclează. Nici în acest caz, nu se cunoaşte apriori, de câte ori se execută secvenţa de instrucţiuni A, dar cu siguranţă ea se execută cel puţin o dată.

└until c

┌for v=

A vi,vf[,p]

for │└ repeat

Secvenţa de instrucţiuni precizată prin A, numită corpul ciclului se execută repetat de N ori, pentru diferitele valori ale variabilei de control v cuprinse între valoarea iniţială vi şi valoarea finală vf, trecerea de la o valoare la alta făcându-se cu pasul p, p≠0. Dacă p = 1, acest argument nu se mai trece în linia de definiţie a instrucţiunii for. Valoarea lui N se determină cu ajutorul relaţiei: N

v vp

f i=−⎡

⎣⎢

⎦⎥⎥+ 1 , unde notaţia [x] înseamnă partea întreagă a lui x, şi

deci în cazul acestei instrucţiuni se cunoaşte de la început de câte ori

81

Page 84: informatica

INFORMATICĂ Constantin Zăvoianu

se execută secvenţa de instrucţiuni din corpul ciclului. Comentariu: Între instrucţiunile while, do-until şi for există următoarea echivalenţă:

6. Probleme rezolvate Problema 1. Se dau trei numere reale pozitive a, b, c despre care se ştie că pot reprezenta

lungimile laturilor unui triunghi oarecare ABC. Să se elaboreze algoritmul prin care se determină aria şi înălţimile triunghiului. Rezolvare.Utilizând notaţiile obişnuite din matematică avem că:

(1) S p p a p b p c= − − −( )( )( ) , unde

(2) p a b c=

+ +2

, iar din relaţia:

(3) S a ha b hb c hc=

⋅=

⋅=

⋅2 2 2

, deducem că:

Paşii algoritmului Descrierea algoritmului în pseudocod

Problema 2:Se dau trei numere reale: a, b, c. Se cere să se elaboreze algoritmul prin care se ordonează crescător aceste numere.

Rezolvare.Vom compara şi vom schimba între ele valorile celor trei variabile astfel încât să obţinem în final că a ≤ b ≤ c. Practic, vom proceda astfel: comparăm mai întâi pe a cu b şi apoi pe a cu c, iar dacă a>b sau a>c vom schimba valoarea lui a cu valoarea lui b sau a lui c. Procedând astfel, variabila a va primi valoarea cea mai mică. În continuare vom schimba între ele valorile variabilelor b şi c, dacă b>c.

A c b B ha a D C

( )4

2

2

2

haS

ahb

Sb

hcS

c

=⋅

=⋅

=⋅

⎪⎪⎪

⎪⎪⎪

P1. Citim datele de intrare a, b, c. P2. Calculăm semiperimetrul p, în conformitate cu relaţia (2). P3. Calculăm aria S cu relaţia (1). P4. Calculăm înălţimile ha, hb şi hc conform relaţiilor (4). P5. Tipărim rezultatele S, ha, hb, hc.

┌/Aria şi înălţimile unui triunghi/ │ real a,b,c,p,s,ha,hb,hc │ read a,b,c │ p ← (a+b+c)/2 │ s ← (p*(p-a)*(p-b)*(p-c))^0.5 │ ha ← 2*s/a ⏐ hb ← 2*s/b ⏐ hc ← 2*s/c │ write s,ha,hb,bc │ stop └ end

┌│ A

for v=vi,vf[,p]

└ repeat

ivv ← ┌ while fvv ≤ │ ┌ A │ └ pvv +← └ repeat

ivv ← do ┌ │ ┌ A │ └ v pv← + └until fvv >

82

Page 85: informatica

INFORMATICĂ Constantin Zăvoianu

Temă. Se dau trei numere reale x, y, z. Se cere să se elaboreze algoritmul sub formă de

pseudocod, prin care se ordonează descrescător mărimile x+2, y-1, z+4.

Paşii algoritmului: P1. Citim datele de intrare: a, b, c. P2. Dacă a > b schimbăm între ele valorile celor două variabile. P3. Dacă a > c schimbăm între ele valorile celor două variabile. P4. Dacă b > c schimbăm între ele Valorile celor dou variabile. P5.Tipărim valorile variabilelor a, b, c.

Descrierea algoritmului în pseudocod ┌/Ordonarea crescătoare a trei numere reale./ │ real a,b,c,aux │ read a,b,c │ ┌ ┌ if a>b then aux ←a │ │ │ a ← b │ │ └b ←aux │ └ endif │ ┌ if a>c then a ↔ c │ └ endif │ ┌ if b>c then b ↔ c │ └ endif │ write a,b,c │ stop └end

Comentariu: În general, pentru a schimba între ele valorile a două variabile de acelaşi tip, notate simbolic cu a şi b trebuie să utilizăm o a treia variabilă, pe care o notăm, de exemplu, cu aux şi schimbarea se va face efectuând în odine următoarele atribuiri: aux ← a; a ← b; b ← aux. În cazul în care a şi b sunt de tip numeric, schimbarea valorilor celor două variabile se poate face fără a folosi o a treia variabilă auxiliară, efectuând operaţiile: a ← a+b; b ← a-b; a ← a-b.

Problema 3:Se dau trei numre reale:a, b şi c. Se cere să se elaboreze algoritmul prin care se determină maximul dintre aceste numere.

Rezolvare. Trebuie să determinăm valoarea m=max{a,b,c}=max{max{a,b},c}, motiv pentru care vom compara mai întâi pe a cu b şi vom reţine în variabila m valoarea cea mai mare, adică maximul dintre a şi b, iar dacă valoarea lui m astfel determinată, este mai mică decât valoarea lui c, vom reţine în variabila m valoarea variabilei c.

Temă. Fie a,b,c,d R. Să se elaboreze algorimii prin care se determină: ∈m = min{a,b,c}; m = max{a,b,c,d}; m = min{a,b,c,d} şi algoritmul prin care se ordonează descrescător valorile: a+1, b-5 şi 4*d.

Problema 4. Să se elaboreze algoritmul pentru rezolvarea ecuaţiei de gradul I, a x b⋅ + = 0

, în cazul în care a şi b sunt numere reale oarecare. Rezolvare: Este posibil să întâlnim trei cazuri distincte, pe care le vom evidenţia cu

ajutorul unei variabile k , după cum urmează: 1. şi , caz în în care cuaţia este nedeterminată, adică ∀ x0=a 0=b ∈R este soluţie, ( ); 1=k2. şi , caz în în care cuaţia esteimposibilă, (0=a 0≠b 2=k );

Paşii algoritmului: Descrierea algoritmuli în pseudocod ┌/Aflarea maximului din trei numere reale./ P1. Citim datele de intrare:a, b, c.

P2.Dacă a>b reţinem în m valoarea lui a, iar în │ real a,b,c,m │ read a,b,c caz contrar reţinem în m valoarea lui b. │ ┌ if a>b then m ← a

P3.Dacă m este mai mic decât c reţinem în m │ │ else m ← b │ └ endif valoarea lui c. │ ┌ if m<c then m ← c │ └ endif P4. Tipărim valoarea variabilei m. │ write m │ stop └end

3. şi , caz în care ecuaţia are soluţia 0≠a Rb∈ Rabx ∈

−= , ( 3=k ).

Vom face investigaţii asupra coeficienţilor a şi b pentru a stabili valoarea variabilei k şi apoi în

83

Page 86: informatica

INFORMATICĂ Constantin Zăvoianu

funcţie de valoarea acestei variabile vom furniza soluţia problemei.

Paşii algoritmului P1. Citim datele de intrare a şi b. P2. Iniţializăm pe k cu valoarea 3. P3. Dacă (a=0) (b=0) îi atribuim ∧ lui k valoarea 1. P4. Dacă (a=0) (b≠0) îi atribuim ∧ lui k valoarea 2. P5. În cazul în care: k=1 : tipărim mesajul:

Problema 5. Să elaboreze algoritmul pentru a afla cel mai mic multiplu comun a două numere naturale n şi m.

Rezolvare. Ţinând cont de faptul că cel mai mic multiplu comun a două numere naturale este cel mai mic număr natural care are proprietatea că se divide cu ambele numere, putem presupune pentru început, că acesta este cel mai mare dintre cele două numerele şi îl notăm cu n (dacă n<m schimbăm între ele valorile celor două variabile). Atâta timp cât n nu se împarte exact la m, vom dubla, vom tripla, ş.a.m.d. valoarea lui n. Procedând astfel, după un număr finit de paşi (maxim m, atunci când cele două numere sunt prime între ele) valoarea lui n va fi tocmai cel mai mic multiplu comun al celor două numere.

Problema 6. Să se elaboreze algoritmul, pentru a calcula cu o aproximaţie dată ε , valoarea radicalului de ordinul doi dintr-un număr real pozitiv a, ca fiind limita şirului recurent: x x a

xn nn

+ = +⎞

⎠⎟

⎝⎜⎜1

12

, ∀ n≥1 ştiind că x0 se alege convenabil, dar pozitiv.

Rezolvare. Fie x xm m=→∞

lim . Trecând la limită în relaţia precedentă obţinem că: x x ax

= +⎛⎝⎜

⎞⎠⎟

12

şi rezolvând această ecuaţie obţinem că x1 2, = ± a . Deoarece şirul este cu termeni pozitivi, avem

că limn nx→∞

= a . Vom considera că primul termen este a/2 şi apoi vom determina cu ajutorul

formulei de recurenţă, ceilalţi termeni din şir până când diferenţa dintre doi termeni consecutivi va fi în modul mai mică decât un ε pozitiv, oricât de mic, de exemplu, se poate lua şi în acest caz limita este determinată cu o precizie de 10 cifre zecimale exacte (radicalul se

1010−=ε

'Ecuaţie nedeterminată' k=2 : tipărim mesajul: 'Ecuaţie imposibilă' k=3 : determinăm valoarea lui x ca fiind -b/a şi o tipărim.

Descrierea algoritmului în pseudocod /Rezolvarea ecuatiei de gradul I a⋅x+b=0./ ┌ real a,b,x │ integer k │ string mesaj1,mesaj2 │ read a,b │ k ← 3 │ mesaj1 ← 'Ecuatie nedetermminată' │ mesaj2 ← 'Ecuatie imposibilă' │ if (a=0)│ ┌ ∧ (b=0) then k ← 1 endif │ └ if (a=0)│ ┌ ∧ (b≠0) then k ← 2 endif │ └ case k=1 : write mesaj1 │ ┌ k=2 : write mesaj2 │ │ k=3 : x ← -b/a │ │ ┌ └ write x │ │ end case │ └ stop │ └end

Descrierea algoritmului în pseudocod /Cel mai mic multiplu comun/ ┌ integer n,m,aux │ read n,m │ if n<m then n │┌ ↔ m endif │└ aux ← n │ while [n/m]*m ≠ n

Paşii algoritmului: P1. Citim datele de intrare:n şi m. P2. Dacă n<m schimbăm între ele valorile acestor variabile. P3. Reţinem în aux valoarea cea mai mare, adică valoarea lui n. P4. Atâta timp cât n nu se împarte exact la m, vom aduna la n valoarea lui aux. P5. Tipărim valoarea lui n.

│ ┌ n ← n+aux │ │ repeat │ └ write aux,m,n │ stop │ └end

84

Page 87: informatica

INFORMATICĂ Constantin Zăvoianu

calculează cu zece cifre exacte la partea fracţionară). Valoarea aproximativă a radicalului va fi tocmai valoarea ultimului termen determinat aşa cum am precizat mai sus. Descrierea algoritmului în pseudocod

┌ /Calcularea radicalului de ordinul doi/ │ real a,x0,x1,eps

Comentariu: În acest exemplu, condiţia c este: |x1-x0|<eps, iar două din cele trei elemente ale aceteia ( x0 şi x1 ) se modifică în corpul ciclului, şi astfel se asigură ieşirea din ciclu după un număr finit de paşi, deoarece şirul este convergent.

Temă: Fie n un număr natural, n>9. Se cere să se elaboreze algoritmul prin care se verifică dacă numărul n este divizibil cu 9 (un număr este divizibil cu 9 dacă şi numai dacă suma cifrelor sale este divizibilă cu 9).

Indicaţie. Pentru a calcula suma cifrelor numărului n, este necesar să selectăm aceste cifre una câte una şi să le însumăm. Ultima cifră a numărului n este egală cu n-[n/10]*10, iar penultima este de fapt ultima cifră a numărului m=[n/10], unde nataţia [x] reprezintă partea întreagă a lui x.

Paşii algoritmului: P1. Citim datele de intrare: a, eps. P2. Iniţializăm pe x1 cu a/2. P3. Efectuăm operaţiile: x0 ← x1 1←(x0+a/x0)/2 până când | x1 - x0 | < eps. P4. Tipărim valoarea lui x1.

│ read a,eps │ x1 ← a/2

do │┌││ ┌ x0 ← x1 ││ └ x1 ← (x0+a/x0)/2

until |x1-x0|<eps │└│write x1 │stop └end

Problema 7. Se dă numărul natural n ; n ≥ 2. Se cere să se elaboreze algoritmul prin care se determină suma numerelor pare şi produsul numerelor impare, cuprinse între 1 şi n inclusiv.

Rezolvare.Vom nota suma cu s, produsul cu p şi vom introduce o variabilă intermediară de lucru, notată cu i, care va primi succesiv valorile 1,2,...,n. Pentru a verifica dacă variabila i are ca valoare un număr par sau un număr impar, vom utiliza următorul rezultat: dacă m,k∈N, atunci m este divizibil cu k dacă şi numai dacă [m/k]*k=m, motiv pentru care vom considera că variabila i are ca valoare un număr par, dacă şi numai dacă [i/2]*2=i. Paşii algoritmului Descrierea algoritmului în pseudocod

┌/Suma şi produs / │ integer n,i,s,p P1. Citim valoarea lui n.

/ P2. Iniţializăm pe s cu 0 şi pe p cu 1. │ read n │ s ← 0; p ← 1 P3. Pentru

Temă: Să se elaboreze algoritmii prin care se caculează:

(2) Produsul a două numere naturale n şi m prin adunări repetate, adică ; . P mi

n

==∑

1P n

i

m

==∑

1

(3) Valoarea lui an, unde a∈R şi n N, prin înmulţiri repetate, adică ∈ P ai

n

==∏

1

∀ =i n1, dacă [i/2]*2=i vom aduna for i=1,n │┌if [i/2]*2=i then s ← s+i ││┌ valoarea lui i la s, iar în caz contrar îl vom else p ← p*i │││ înmulţi pe p cu i. endif ││└

repeat │└P4. Tipărim valorile lui s şi p. │write s,p │stop └end

(1) S n ni

n

= ⋅ + ⋅ + + ⋅ + = ⋅ +=∑1 2 2 3 1 1

1

… ( ) (i i )

85

Page 88: informatica

INFORMATICĂ Constantin Zăvoianu

ELEMENTE DE PROGRAMARE ÎN TURBO PASCAL

1. Introducere Prin limbaj de programere înţelegem un limbaj artificial care poate fi utilizat pentru a

defini un şir de instrucţiuni ce pot fi, în final, prelucrate şi executate de un calculator. Un şir de instrucţiuni care pot fi prelucrate şi executate de calculator constituie un program. Persoana care scrie şi depanează un program este programatotul, iar activitatea realizată de această persoană poartă numele de programare. Programarea reprezintă de fapt arta şi ştiinţa de a crea programe pentru calculator. Programarea are la bază învăţarea unuia sau mai multor limbaje de programare, cum ar fi BASIC, C, PASCAL sau limbajul de asamblare. Cunoaşterea unui limbaj de programare nu este suficientă pentru a crea un program performant; în acest scop mai sunt necesare şi cunoştinţe privind teoria algoritmilor, proiectarea interfeţei cu utilizatorul, analiza dispozitivelor hardware, etc. Calculatoarele sunt maşini bazate pe o logică riguroasă şi, ca urmare, proiectarea, scrierea (codificarea), verificarea şi depanarea unui program necesită o logică asemănătoare. Atunci când se utilizează o abordare modulară, proiectul este împărţit în module mici cu care se lucrează mai uşor. Modulele sunt unităţi funcţionale individuale, care pot fi proiectate, scrise, testate şi depanate separat înainte de încorporarea lor în programul mare. Scrierea unui program sau a unui modul de program se face în cod sursă, înţelegând prin aceasta că instrucţiunile scrise într-un limbaj de programare pot fi citite de oameni, dar nu pot fi citite direct de calculator. Pentru a putea fi executat de calculator, un program sursă trebuie transformat într-un program executabil. Procesul de transformare a unui program sursă în program executabil se realizează în trei etape:

1. – compilarea codului sursă de nivel înalt în cod sursă în limbaj de asamblare; 2. – asamblarea codului sursă din limbaj de asamblare în fişiere obiect scrise în cod maşină; 3. – legarea fişierelor obiect din cod maşină la diferite fişiere de date, fişiere run-time şi

fişiere de bibliotecă, obţinându-se programul executabil. Unul dintre cele mai utilizate limbaje de programare de nivel înalt este limbajul PASCAL,

care a fost creat între anii 1967 şi 1971 de către profesorul Niklaus Wirth de la Universitatea Tehnică din Zürich pentru a înlesni învăţarea programării. Limbajul PASCAL poate fi folosit cu succes pentru scrierea aplicaţiilor în majoritatea domeniilor în care se utilizează calculatorul electronic, oferind avantaje atât în ceea ce priveşte instrucţiunile de control, care sunt chiar cele impuse de tehnica programării structurate cât şi facilităţi deosebit de puternice pentru prelucrări grafice şi reprezentarea datelor. Popularitatea şi eficienţa limbajului se datorează versiunii TURBO PASCAL elaborată de firma americană BORLAND, prin cuplarea editorului de texte şi a compilatorului, cu numeroase îmbunătăţiri, oferind programatorilor un instrument comod de dezvoltare. În timp, au apărut mai multe versiuni ale limbajului TURBO PASCAL, iar în momentul de faţă cele mai utilizate sunt 6.0 şi 6.2.

Ca orice limbaj de programare de nivel înalt, limbajul TURBO PASCAL are la bază un vocabular şi o gramatică.

Vocabularul conţine cele mai simple elemente cu semnificaţie lingvistică, iar gramatica este formată dintr-un ansamblu de reguli referitoare la modul în care se combină elementele vocabularului pentru a obţine fraze corecte (instrucţiuni, secvenţe de instrucţiuni, definiţii de tipuri de date, definiţii de constante, declaraţii de variabile şi etichete, declaraţii şi definiţii de proceduri şi funcţii).

2. Vocabularul limbajului PASCAL

86

Page 89: informatica

INFORMATICĂ Constantin Zăvoianu

Cele mai simple elemente cu semnificaţie lingvistică, se numesc unităţi lexicale şi sunt alcătuite din caractere. Unităţile lexicale, care formează vocabularul limbajului PASCAL sunt: simbolurile speciale, identificatorii, literalele, etichetele, comentariile şi directivele de compilare.

2.1. Simbolurile speciale

Simbolurile speciale sunt elementele mulţimilor :

S1={+,-,*,/,=,<,>,(,),[,],{,},.,,,;,:,^,@, ,’,$,&,#,<>,<=,>=,..,:=,(*,*)}

S2={ABSOLUTE, AND, ARRAY, BEGIN, CASE, CONST, DIV, DO, DOWNTO, ELSE, END, EXTERNAL, FILE, FOR, FORWARD, FUNCTION, GOTO, IF, IMPLEMENTATION, IN, INLINE, INTERFACE, INTERRUPT, LABEL, MOD, NIL, NOT, OF, OR, PROCEDURE, PROGRAM, RECORD, REPEAT, SET, SHL, SHR, STRING, THEN, TO, TYPE, UNIT, UNTIL, USES, VAR, WHILE, WITH, XOR}.

Elementele mulţimii S2 se numesc cuvinte cheie şi sunt rezervate, adică sunt utilizate în programe numai cu semnificaţia dată explicit prin definiţia limbajului, iar elementele mulţimii S1 sunt folosite ca operatori şi separatori.

2.2. Identificatorii

Identificatorii sunt nume asociate constantelor, variabilelor, etichetelor, tipurilor de date,

procedurilor, funcţiilor, fişierelor şi unit-urilor. Un nume poate fi alcătuit din maxim 63 de caractere (pot fi şi mai multe dar pentru compilator sunt semnificative numai primele 63), din care primul trebuie să fie o literă, iar următoarele pot fi litere, cifre zecimale sau _ (liniuţa de subliniere). De reţinut că _ pote fi folosită şi ca prim caracter. În cadrul unui identificator , se pot folosi atât literele mari cât şi literele mici, compilatorul PASCAL considerându-le identice.

În marea majoritate a cazurilor, identificatorii sunt definiţi de programator, dar limbajul PASCAL defineşte un număr de identificatori standard prin care se precizează: tipul unor date, anumite constante, anumite variabile, numele unor funcţii, numele unor proceduri şi numele unit-urilor standard.

Orice identificator standard poate fi redefinit, dar în acest caz îşi pierde semnificaţia anterioară. Se recomandă totuşi, tratarea identificatorilor standard ca şi cuvinte rezervate, fapt pentru care facem convenţia că orice cuvânt rezervat îl vom scrie cu litere mari, iar identificatorii definiţi de utilizator îi vom scrie cu litere mici.

Exemple: WRITE,WRITELN,READ,READLN,TRUE,FALSE ,IF,data_nasterii,media_aritmetica,nume,sex,alfa,x1, x11,beta23,max, x2,pret_unitar,alfa,n,m,p,q, r,v ,w Se constată că utilizarea unor identificatoti formaţi din mai multe cuvinte legate prin

liniuţa de subliniere oferă o mai bună lizibilitate, dar în acelaşi timp ridică şi unele probleme deoarece se tastează mai greu şi pot constitui o sursă de eroare la compilare. Astfel, trebuie făcut un compromis între lungimea şi claritatea unui identificator.

87

Page 90: informatica

INFORMATICĂ Constantin Zăvoianu

2.3. Literalele Literalele sunt de două tipuri: numerice şi alfanumerice. Literalele numerice sunt

numerele întregi (în reprezentarea zecimală sau hexazecimală) şi numere reale (în reprezentarea cu punct zecimal sau în reprezentarea cu punct zecimal şi exponent).

Exemple : 720 , -540 - numere întregi în reprezentarea zecimală; $3F , -$4D - numere întregi în reprezentarea hexazecimală; 2.71, -9.45 - numere reale în reprezentarea cu punct zecimal;

2.223e-7,1.E+4 - numere reale în reprezentarea cu punct zecimal şi exponent; Literalele alfanumerice sunt şiruri de caractere imprimabile, delimitate de apostrof.

Dacă apostroful face parte din şir, atunci el trebuie dublat. Exemple : ’Suma primelor n numere naturale este : ‘ ’Caracterul : ’’ - este apostroful’

2.4. Etichetele

Etichetele sunt numere întregi din domeniul 0..9999 sau identificatori declaraţi de programator în directiva LABEL şi care nu pot fi folosiţi în alte scopuri în programul respectiv.

2.5. Comentariile

Comentariile sunt şiruri de caractere precedate de { şi urmate de } sau precedate de (* şi urmate de *). Comentariile se pot imbrica, dar numai o dată, folosind cele două moduri de delimitare.

Exemple : { Acesta este un comentariu corect introdus } {Acest (*comentariu*) este corect} {Acest { comentariu } nu este cotect }

2.6. Directivele de compilare

Directivele de compilare se pot introduce ca un comentariu cu o sintaxă specială şi prin intermediul lor pot fi controlate o serie de facilităţi ale compilatorului PASCAL.

Exemple : {I+} , {$I INCLUDE.FIL} , {$R+} {$D-,R+,V-} , (*$U+*) , {O+F+}

Directivele de compilare pot fi globale sau locale. Cele globale sunt valabile pe tot parcursul compilării şi trebuie plasate imediat după antetul unui program, iar cele locale au efect între momentul cuplării (+) şi decuplării (-) lor. Directivele de compilare pot fi stabilite şi în cadrul mediului de programare Turbo Pascal, în meniul Options, cu comenzile Compile şi Memory Sizes.

3. Gramatica limbajului PASCAL Gramatica limbajului PASCAL, conţine un ansamblu de reguli de agregare a unităţilor

lexicale pentru a forma structuri mai complexe. Aceste reguli, vor fi prezentate în mod eşalonat, începând cu prezentarea structurii programelor PASCAL şi continuând cu trecerea în revistă a elementelor componente ale acestora.

4.Structura programelor PASCAL

88

Page 91: informatica

INFORMATICĂ Constantin Zăvoianu

Caracteristica principală a limbajului PASCAL este modularitatea, care stă la baza

principiului programării structurate (procesul de organizare a unui program într-o formă ierarhică de sus în jos, din rutine semiindependente). Această abordare structurată conduce la realizarea unor programe uşor de întreţinut, de citit şi de înţeles. Orice program PASCAL este format dintr-un antet de program urmat de un bloc de program. Din punct de vedere formal, structura unui program PASCAL este următoarea:

PROGRAM nume; {Antetul}

↑ ↑ ⎢ ⎢ ⎢ ⎢ ⎢

Blocul de

program

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

USES unit_1, unit_2,...,unit_k; LABEL { declaraţii de etichete }; TYPE {definiţii de tipuri de date}; CONST { definiţii de constante }; VAR { declaraţii de variabile }; PROCEDURE numep[(p1,p2,...,pn)][opţiune]; {blocul procedurii numep }; FUNCTION numef[(f1,f2,...,fm)]:tip[opţiune]; {blocul funcţiei numef }; BEGIN instrucţiune_1; instrucţiune_2; …………… instrucţiune_k;

END.

1°.Antetul este format din cuvântul cheie PROGRAM, urmat de identificatorul nume care este introdus de programator şi care reprezintă numele programului. Antetul este opţional.

2° .Blocul de program este format din: a)- o directivă USES, în care se vor specifica toate unit-urile care vor fi folosite în

program şi care vor fi legate în timpul compilării; b)- o zonă de declaraţi şi definiţii, care poate conţine: definiţii de tipuri de date şi

constante, declaraţii de variabile şi etichete, declaraţii şi definiţii de proceduri şi funcţii; c)- o zonă de instrucţiuni, formată din una sau mai multe instrucţiuni executabile grupate

în instrucţiunea compusă BEGIN...END.

Comentariu: a) Prin unit, se înţelege un ansamblu alcătuit din: declaraţii de tipuri de date, definiţii

de constante, declaraţii de variabile, declaraţii şi definiţii de proceduri şi funcţii stocate sub formă compilată într-un fişier disc cu extensia TPU (Turbo Pascal Unit), care pot fi folosite la editarea programelor, dacă se face specificarea unit-ului în clauza USES.

Unit-urile pot fi clasificate în două mari categorii: unit-uri standard şi unit-uri utilizator. Unit-urile standard sunt deja construite, deci putem spune că fac parte integrantă din mediul de programare TURBO PASCAL, iar unit-urile utilizator se definesc de către programator. Din mulţimea acestor unit-uri, vor fi specificate în clauza USES numai cele necesare unui anumit program. Există opt unit-uri standard, darn e limităm la a menţiona următoarele: SYSTEM - care conţine toate procedurile şi funcţiile de bază din TURBO PASCAL,precum şi

un set de constante şi variabile predefinite. Pentru toate aceste elemente,

89

Page 92: informatica

INFORMATICĂ Constantin Zăvoianu

programatorul trebuie să cunoască numele, semnificaţia şi modul de utilizare, pentru a le putea folosi în diferite programe. Acest unit se găseşte în fişierul TURBO.TPL şi se încorporează automat în orice program PASCAL, fără a fi necesar să-i precizăm numele în USES. Elementele acestui unit vor fi trecute în revistă eşalonat, în funcţie de necesităţile ivite pe parcurs.

CRT - care conţine pe lângă unele constante şi variabile predefinite şi un set de proceduri şi funcţii necesare pentru: folosirea ecranului în modul text, citirea tastaturii şi generarea sunetelor. Menţionăm anticipat, că dacă-l precizăm în USES putem apela procedura CLRSCR; (sub această formă), care are rolul de a şterge ecranul şi de a muta cursorul în colţul stânga-sus.

PRINTER - care conţine variabila predefinită LST de tip TEXT (tip ce va fi studiat ulterior), variabilă căreia partea de iniţializare a unit-ului îi asignează imprimanta LPT1 şi o deschide pentru scriere. Deci, dacă specificăm acest unit în USES, putem redirecţiona scrierea rezultatelor către imprimantă.

b)-În orice program PASCAL trebuiesc declaraţi sau definiţi toţi identificatorii introduşi

de programator. Acest lucru se face în zona de declaraţii şi definiţii, cu menţiunea că fiecare directivă (LABEL, TYPE, CONST, VAR, PROCEDURE, FUNCTION) prin care se face o declaraţie sau se dă o definiţie, poate să apară o dată sau de mai multe ori în această zonă, în orice ordine, singura restricţie referindu-se la faptul că o anumită entitate nu poate fi folosită pentru declararea sau definirea altei entităţi, decât dacă ea a fost definită sau declarată în prealabil. Într-un program PASCAL, toate declaraţiile şi definiţiile sunt opţionale.

c)-Singura parte obligatorie a oricărui program scris în TURBO PASCAL, este instrucţiunea compusă BEGIN...END., care conţine una sau mai multe instrucţiuni executabile. O instrucţiune este o informaţie care descrie în mod riguros, o operaţie sau un grup de operaţii pe care trebuie să le execute calculatorul.

Exemple de programe:

PROGRAM Suma_Gauss; USES CRT; VAR n,s,i: INTEGER; BEGIN CLRSCR; WRITE(’n=’); READLN(n); s:=0; FOR i:=1 TO n DO s:=s+i; WRITELN(’1+2+…+’,N,’=’,s); END.

BEGIN WRITE(‘Primul program ‘); WRITELN(‘scris în TURBO PASCAL!’); END.

După lansarea în execuţie a acestui program, pe ecran se va tipări mesajul:

Primul program scris în TURBO PASCAL!

Concluzie. Din cele prezentate, constatăm că orice program scris în TURBO PASCAL, conţine o descriere a operaţiilor ce trebuie să fie executate de calculator atunci când se lansează programul în executie şi descrierea datelor ce sunt prelucrate prin aceste operaţii. Operaţiile sunt descrise cu ajutorul instrucţiunilor, iar datele se descriu cu ajutorul declaraţiilor şi definiţiilor.

5. Declaraţii şi definiţii TURBO PASCAL

90

Page 93: informatica

INFORMATICĂ Constantin Zăvoianu

5.1. Declararea etichetelor. Directiva LABEL În cadrul unui program PASCAL se pot eticheta unele instrucţiuni. Etichetele se pot

declara la începutul oricărui bloc, şi ele pot fi referite numai în cadrul blocului respectiv. Declararea etichetelor se face în directiva LABEL, care are următorea sintaxă :

unde :et1,et2,...,etk - sunt identificatori definiţi de

programator şi care nu pot fi folosiţi în alte scopuri în cadrul blocului curent sau sunt numere întregi, fără semn, din domeniul 0..9999.

LABEL et1,et2,...,etk;

5.2. Definirea tipurilor de date. Directiva TYPE

Fiecare variabilă şi fiecare constantă utilizată într-un program PASCAL trebuie să aibă

un tip. Tipul precizează mulţimea din care poate lua valori variabila sau constanta respectivă, precum şi operaţiile care pot fi efectuate cu elementele din acea mulţime. Fiecare tip se specifică printr-un nume. Ca nume, se poate utiliza: cuvântul cheie STRING (atunci când datele sunt exprimate prin şiruri de caractere), un identificator standard (BOOLEAN, CHAR, INTEGER, REAL, etc) sau un identificator definit de programator în directiva TYPE. Tipurile, adică mulţimile din care pot lua valori datele, pot fi:

a) - tipuri simple: logic, caracter, întreg, enumerare, subdomeniu, real; b) - tipuri structurate: mulţime, tablou, şir de caractere, articol, fişier, obiect; c) - tipuri speciale: procedură, funcţie; d) - tipuri referinţă: referinţă fără tip, referinţă cu tip. Datele care aparţin tipurilor simple se numesc date elementare, iar datele care aparţin

tipurilor structurate se numesc date compuse. Mai întâi vom trece în revistă tipurile simple, iar după prezentarea instrucţiunilor

limbajului TURBO PASCAL, vom aborda şi o parte din tipurile structurate. Prin tip simplu se înţelege de fapt, un tip ordinal sau tipul real. Tipurile ordinale sunt

mulţimi finite de valori, elementele fiecărei mulţimi fiind ordonate. În acest caz se poate face referire la numărul de ordine al unui element, se poate determina un element pe baza numărului său de ordine, se poate specifica elementul predecesor şi elementul succesor al unui element dat. Tipurile ordinale sunt: tipul logic, tipul caracter, tipul întreg, tipul enumerare şi tipul subdomeniu.

5.2.1.Tipul logic

Tipul logic este un tip standard, se precizează prin BOOLEAN, şi este o mulţime formată din două elemente referite prin constantele predefinite FALSE şi TRUE care corespund valorilor logice fals, respectiv adevărat. Reprezentarea acestor constante în memorie, se face pe câte un octet a cărui valoare numerică este 0 pentru FALSE şi 1 pentru TRUE.

Relaţia de ordine care există între elementele tipului logic este FALSE < TRUE. 5.2.2.Tipul caracter

91

Page 94: informatica

INFORMATICĂ Constantin Zăvoianu

Tipul caracter este un tip standard, se precizează prin CHAR, iar valoile posibile ale acestui tip sunt caracterele ASCII extinse, ale căror coduri numerice sunt cuprinse în domeniul 0..255. Reprezentarea internă a unui element din această mulţime se face pe un octet , a cărui valoare este egală cu codul caracterului ASCII corespunzător. În cadrul unui program constantele de tip caracter pot fi introduse în diferite moduri şi anume :

1. un caracter imprimabil încadrat de apostrofuri : ‘a’,’A’,’’’’,’%’,’5’; 2. un număr din domeniul 0..255 precedatde caracterul # (diez) : #13 (codul tastei ENTER),

#65 (caracterul A), #32 ( caracterul spaţiu); 3. un caracter precedat de simbolul ^ (permite exprimarea caracterelor de control, care au

codurile în domeniul 0..31, aceste caractere fiind neimprimabile). Relaţia de ordine existentă între elementele tipului CHAR este tocmai relaţia existentă

între codurile ASCII ale acestor elemente. De exemplu, ’a’>’A’ deorece litera a are codul 96, iar litera A are codul 65 (literele mici sunt mai mari decât aceleaşi litere mari).

5.2.3. Tipul întreg

Tipul întreg, pune în evidenţă submulţimi finite ale mulţimii numerelor întregi. Reprezentarea internă a elementelor din aceste submulţimi se face în cod complementar sau în binar. Submulţimile tipului întreg se specifică prin cinci tipuri standard, care au caracteristicile:

Tipul Domeniul de valori Modul de reprezentare SHORTINT -27 .. 27 - 1 8 biţi cu semn INTEGER -215 .. 215 - 1 16 biţi cu semn LONGINT -231 .. 231 - 1 32 biţi cu semn BYTE 0 .. 28 - 1 8 biţi fără semn WORD 0 .. 216 - 1 16 biţi fără semn

Constantele de tip întreg pot fi introduse în programe sub forma zecimală sau sub forma hexazecimală. Există constantele predefinite MAXINT şi MAXLONGINT, care sunt egale cu 215-1, respectiv 231-1.

Relaţia de ordine existentă între elementele tipului întreg este cea cunoscută din matematică.

5.2.5.Tipul subdomeniu

Un tip subdomeniu este o parte a unui tip ordinal deja definit. În definiţia acestui tip se indică atât limita inferioară cât şi limita superioară a subdomeniului, în conformitate cu următoarea sintaxă :

TYPE sd_1=li_1..ls_1; sd_2=li_2..ls_2; ……………..

sd_n = li_n..ls_n;

unde : sd_j - este numele subdomeniului j , V j=1,n;

li_j - este limita inferioară a subdomeniului j , V j=1,n; ls_j - este limita superioară a subdomeniului j , V j=1,n.

Necesitatea utilizării tipului subdomeniu apare în anumite aplicaţii în care se cunosc limitele între care pot lua valori anumite variabile.

92

Page 95: informatica

INFORMATICĂ Constantin Zăvoianu

Exemplu : TYPE litere_mici = ‘a’..’z’; cifre = 0..9; vara = iun..aug; natural = 0..MAXLONGINT;

Observaţie. Compilatorul PASCAL, verifică apartenenţa unei valori la un tip subdomeniu numai în cazul în care este prezentă în program, directiva de compilare { $R+ }, care trebuie să fie plasată imediat după antetul programului.

5.2.6.Tipul real Tipul real pune în evidenţă submulţimi ale mulţimii numerelor raţionale. Reprezentarea

internă a elementelor din aceste submulţimi se face în virgulă mobilă simplă sau dublă precizie. Submulţimile tipului real se precizează prin tipurile standard: REAL, SINGLE, DOUBLE, EXTENDED şi COMP, care au următoarele caracteristici:

Tipul Domeniul de valori absolute

Reprezentarea se face pe:

Cifre semnificative

REAL 2.9E-39..1.7E+38 6 octeţi 11-12 cifre SINGLE 1.5E-45..3.4E+38 4 octeţi 7-8 cifre DOUBLE 5.0E-324..1.7E+308 8 octeţi 15-16 cifre EXTENDED 3.4E-4932..1.1E+4932 10 octeţi 19-20 cifre COMP -263+1..263-1 8 octeţi 19-20 cifre

Observaţie. Tipul COMP, are de fapt numai valori întregi din intervalul specificat,

dar în calcule intră ca un număr real fără parte zecimală. Relaţia de ordine existentă între elementele tipului real este cea cunoscută din

matematică. Implicit este acceptat numai tipul REAL, dar dacă se activează directiva de compilare {$N+} pot fi utilizate şi celelalte tipuri.

5.3. Definirea constantelor. Directiva CONST Constantele sunt date ale căror valori nu se modifică pe parcursul executării unui

program. În PASCAL, constantele pot fi utilizate fie direct prin valoarea lor sau prin intermediul unui identificator căruia i s-a atribuit o valoare printr-o definiţie de constantă. Exprimarea directă a unei constante se face cu ajutorul unui literal numeric sau alfanumeric. Pentru a exprima o constantă printr-un identificator, aceasta trebuie definită în directiva CONST. În cadrul acestei directive se pot defini două categorii de constante :

a) - constante simbolice (constante propriu-zise); b) - constante cu tip (variabile iniţializate).

O constantă simbolică poate lua valori de tip numeric, caracter, logic sau STRING, iar valoarea unei astfel de constante nu se poate modifica într-un program. Constantele cu tip sunt de fapt variabile declarate şi iniţializate în cadrul secţiunii CONST. Declararea acestora cuprinde trei elemente: numele, tipul şi valoarea iniţială a variabilei, valoare cu care se intră în zona de instrucţiuni a programului. Valoarea unei constante cu tip se poate modifica într-un program. După caz, sintaxa directivei CONST este de una din formele:

93

Page 96: informatica

INFORMATICĂ Constantin Zăvoianu

Constante simbolice Constante cu tip CONST nc_1 =c_1 ; nc_2 = c_2 ; ..................... nc_k = c_k ;

CONST nc_1 : tip_1 = c_1 ; nc_2 : tip_2 = c_2 ; ................................ nc_k : tip_k = c_k ;

unde : nc_i - este numele constantei i, V i=1,k; c_i - este un literal numeric sau alfanumeric, dar poate fi si o expresie care poate fi

evaluată de compilator în momentul întâlnirii definiţiei, expresie a cărei valoare se atribuie constantei nc_i; tip_i - este tipul la care aparţine constanta (variabila) respectivă şi poate fi un tip standard, un tip definit de programator în directiva TYPE sau poate fi chiar o definiţie de tip. Exemplu: CONST zero = 0 ; capitala = ‘BUCURESTI’ ; x = 639 ;eps = 1.E-10 ; fals = FALSE ; y = x = 640*1 ; max_natural = MAXLONGINT ; adevar = NOT fals; CONST s:INTEGER= 0; alfa:REAL =0; um:STRING[2]=’Km’;

Comentariu: În programul în care se fac aceste definiţii poate exista, de exemplu, următoarea secvenţă de instrucţiuni: s:=s+10; alfa:=alfa+0.01; um:=’Kg’; care modifică valorile constantelor s, alfa şi um. Acest lucru este permis deoarece constantele în cauză sunt constante cu tip, adică variabile iniţializate.

Avantajele utilizării constantelor definite de programator sunt: - sporirea clarităţii programului prin utilizarea unor identificatori sugestivi; - modificarea simplă a programelor care folosesc aceeaşi constantă în mai multe locuri.

5.4. Declararea variabilelor. Directiva VAR

Variabilele sunt date a căror valoare se modifică pe parcursul executării unui program. Orice variabilă are un nume desemnat printr-un identificator, nume prin intermediul căruia se face referirea la valoarea variabilei. În PASCAL este necesar să se declarare toate variabilele, înainte de utilizarea lor. Declararea variabilelor se face în secţiunea VAR, unde se precizează numele variabilei şi tipul acesteia, adică mulţimea din care poate lua valori variabila respectivă. Sintaxa directivei VAR este următoarea :

VAR v11,v12,...,v1p : tip_1 ; v21,v22,...,v2q : tip_2 ; ......................... ..... vn1,vn2,...,vnr : tip_n ;

unde: tip_i - reprezintă un tip standard, un tip definit de utilizator în secţiunea TYPE sau chiar definiţia unui tip, dacă această definiţie nu s-a dat în secţiunea TYPE. vij - sunt identificatori introduşi de programator şi reprezintă de fapt numele variabilelor. De regulă, numele variabilelor dintr-un program coincid cu numele variabilelor utilizate în algoritmul care se codifică prin programul respectiv. Exemplu:

94

Page 97: informatica

INFORMATICĂ Constantin Zăvoianu

VAR a,b,c,d:BOOLEAN; {Variabilele a,b,c,d sunt de tip logic} c1,c2 :CHAR; {Variabilele c1 si c2 sunt de tip caracter} n,m,i,j :INTEGER; {Variabilele n,m,i,j sunt de tip intreg} p,q :1..100; {Variabilele p si q sunt de tip subdomeniu} x,y,z,t :REAL; {Variabilele x,y,z,t sunt de tip real}

6. Operaţiile definite pe tipurile simple de date

6.1. Consideraţii generale Aşa după cum s-a precizat anterior, orice program PASCAL este alcătuit dintr-un

ansamblu de instrucţiuni, aranjate într-o anumită ordine, prin care se prelucrează o mulţime de informaţii, desemnate prin date de diferite tipuri. Orice program trebuie să poată executa trei operaţii de bază:

1.– citirea datelor de intrare, specifice unei clase de probleme; 2.– prelucrarea datelor de intrare, în conformitate cu paşii unui algoritm, în vederea

obţinerii valorilor datelor de ieşire; 3.– scrierea datelor de ieşire, care reprezintă soluţia problemei.

În cele ce urmează, vom trecem în revistă procedurile din unit-ul SYSTEM, cu ajutorul cărora se face citirea şi scrierea datelor.

6.2.Procedurile pentru citire/scriere încorporate în unit-ul SYSTEM

Citirea datelor în TURBO PASCAL se face cu ajutorul procedurilor READ şi READLN,

iar scrierea datelor se face cu procedurile WRITE şi WRITELN. În continuare, vom prezenta sintaxa şi efectul acestor proceduri pentru cazul în care citirea datelor de intrare se face de la tastatură, iar afişarea rezultatelor se face pe monitor sau la imprimantă. NUMELE/SINTAXA E F E C T U L READ(v1,v2,...,vn); v1,v2,...,vn - sunt nume de variabile simple sau componente de variabile indexate de tip numeric sau alfanumeric. Observaţie. Nu se pot citi valori pentru variabilele de tip logic.

Citeşte de la tastatură n valori introduse de utilizator şi le atribuie în ordine variabilelor v1,v2,...,vn. Valorile introduse trebuie să fie compatibile cu tipul variabilelor şi se disting următoarele cazuri: a) - dacă v1,v2,...,vn sunt variabile de tip numeric, separarea celor

n numere se poate face prin spaţiu (blanc) sau ENTER. b) - dacă v1,v2,...,vn sunt variabile de tip caracter (CHAR), între

valorile tastate nu se mai lasă spaţiu, deoarece spaţiul este un caracter (are codul ASCII 32) şi prin urmare va fi atribuit ca valoare pentru una din variabile;

c) - dacă se doreşte ca pe aceeaşi linie să se tasteze valori de tipuri diferite lucrurile se complică puţin, deoarece după o valoare numerică trebuie să urmeze neapărat un terminator (spaţiu sau ENTER) ceea ce nu se întâmplă în cazul valorilor de tipul CHAR.

NUMELE/SINTAXA E F E C T U L READLN(v1,...,vn); sau READLN;

Această procedură poate fi apelată cu sau fără parametri. READLN cu listă de parametri este echivalentă cu READ urmată de aceeaşi listă de parametri şi un READLN fără parametri. Printr-un READLN fără parametri se ignoră restul necitit al liniei curente

95

Page 98: informatica

INFORMATICĂ Constantin Zăvoianu

şi cursorul se mută pe linia următoare. WRITE(d1,..,dm);

Afişează pe ecran valorile datelor d1,d2,...,dm. Datele din listă pot fi desemnate prin: literale numerice sau alfanumerice (constante), nume de variabile simple, componente de variabile indexate, expesii sau funcţii care pot fi evaluate în momentul în care trebuie tipărită valoarea în cauză. Fiecare parametru poate fi urmat opţional de un format de tipărire de forma :n[m]. Parametrul n reprezintă lungimea (exprimată în număr de caractere) zonei în care se face afişarea datei (aliniată la dreapta), iar parametrul m se foloseşte numai în cazul datelor de tip real şi reprezintă numărul de cifre de la partea zecimală. Dacă m este zero, nu se afişează nici punctul şi nici partea zecimală a numărului.. Dacă nu specifică formatul de tipărire, valoarea unei date se tipăreşte începând de la poziţia curntă a cursorului, iar datele de tip real se vor tipări în reprezentarea cu punct zecimal şi exponent într-o zonă de 17 caractere. Dacă pentru datele de tip real nu se specifică parametrul m tipărirea se va face tot în reprezentarea cu punct zecimal şi exponent, dar într-o zonă de n caractere.

WRITELN(d1,...,dm); sau WRITELN;

Această procedură realizează funcţiile procedurii WRITE şi în plus după efectuarea afişării se mută cursorul pe următoarea linie de ecran. Valorile parametrilor din următoarea procedură WRITE sau WRITELN se vor scrie astfel pe o linie nouă. Procedura WRITELN fără parametri are ca efect mutarea cursorului pe o linie nouă.

Observaţii.

1. Dacă se doreşte afişarea datelor la imprimantă trebuie folosită clauza USES pentru a se încărca unit-ul PRINTER, iar sintaxa procedurilor de scriere în acest caz, este următoarea:

WRITE(LST,d1,d2,...,dm); WRITELN(LST,d1,d2,...,dm); WRITELN(LST,’ ’);

2.Pentru a spori lizibilitatea programelor se recomandă ca datele de intrare şi datele de ieşire să fie precedate de mesaje explicative, care sunt de fapt literale alfanumerice introduse cu WRITE sau WRITELN.

6.3. Operaţii elementare definite pe tipurile simple de date Operaţiile definite pe tipurile simple sunt desemnate prin operatori şi funcţii predefinite.

Precizăm că operatorii şi funcţiile predefinite care se pot aplica operanzilor de tip subdomeniu sunt cele asociate tipului în care acesta este inclus. De regulă, operaţiile definite pe un anumit tip de date sunt operaţii interne, în sensul că se pot face operaţii cu date de acelaşi tip (din aceeaşi mulţime), iar rezultatul obţinut aparţine tot tipului respectiv. Există şi cazuri speciale, asupra cărora se va atrage atenţia la momentul oportun. Într-un context mai larg putem considera că o funcţie predefinită este un operator, fapt pentru care vom presupune că pentru un anumit tip (mulţime finită sau infinită de valori), avem la dispoziţie o mulţime de operanzi (operanzii sunt elementele mulţimii respective) şi o mulţime de operatori.

96

Page 99: informatica

INFORMATICĂ Constantin Zăvoianu

Cu ajutorul operanzilor şi al operatorilor se introduce noţiunea de expresie ca fiind: o succesiune de operanzi, operatori şi eventual paranteze rotunde, succesiune în care calculele se efectuează după anumite reguli.

Funcţiile predefinite vor fi prezentate în §6.4, iar după tipul operatorilor expresiile pot fi: aritmetice (numerice), relaţionale, logice şi alfanumerice.

6.3.1. Expresii aritmetice O expresie aritmetică reprezintă un algoritm pentru calcularea unei valori numerice.

Operanzii utilizaţi într-o expresie aritmetică pot fi de tip întreg sau de tip real. Asupra opranzilor de tip întreg sau real putem efectua operaţiile aritmetice de adunare (+), scădere (-), înmulţire (*) şi împărţire (/). În cazul operatorului (/) rezultatul este întotdeauna de tip real. Pentru operatorii (+) , (-) şi (*) rezultatul este :

- de tip întreg dacă ambii operanzi sunt de tip întreg (tipul este LONGINT dacă unul din operanzi este de tip LONGINT, WORD dacă unul din operanzi este de tip WORD iar celalălt este de tip WORD sau BYTE iar în celelalte cazuri tipul rezultatului este INTEGER) ;

- de tip real dacă cel puţin unul din operanzi este de tip real (tipul este REAL când se foloseste directiva de compilare {$N-} sau EXTENDED când se foloseste directiva de compilare {$N+} ).

Câtul împărţirii întregi se află cu operatorul DIV (-4 DIV 3 = -1) iar, restul împărţirii întregi se află cu operatorul MOD ( -5 MOD 3 = -2 ).

Evaluarea unei expresii aritmetice se face în conformitate cu următoarele reguli : • - se calculează mai întâi valorile funcţiilor componente şi valorile indicilor variabilelor indexate. Pentru parametrii funcţiilor sau pentru indici de forma unor expresii, se vor aplica aceleaşi reguli; • - evaluarea unei părţi cuprinsă într-o pereche de paranteze rotunde, se va face înainte ca aceasta să intervină în expresie. Rezultă că evaluarea unei expresii va începe întotdeauna cu evaluarea celor mai interioare perechi de paranteze rotunde; • - într-o expresie fără paranteze ordinea priorităţilor de efectuare a operaţiilor aritmetice este:

i) - înmulţirea (*), împărţirea (/), împărţirea întreagă (DIV), restul împărţirii întregi (MOD); ii) - adunarea (+), scăderea (-). Observaţie. La priorităţi egale se aplică regula stânga-dreapta.

6.3.2. Expresii relaţionale Deoarece toate tipurile simple sunt mulţimi ordonate de valori, între elementele acestor

tipuri se pot efectua operaţii de comparare cu ajutorul operatorilor relaţionali. Operatorii relaţionali utilizaţi în TURBO PASCAL sunt elementele mulţimii:

R = { < , <= , = , <> , >= , > }. Sintaxa unei expresii relaţionale este :

operand_1 r operand_2

unde r∈R, iar între cei doi operanzi trebuie să existe compatibilitate de tip. Operanzii pot fi constante sau variabile simple care au deja valori în momentul în care se face evaluarea

97

Page 100: informatica

INFORMATICĂ Constantin Zăvoianu

expresiei relaţionale, dar pot fi şi expresii de tip numeric, relaţional, logic sau alfanumeric.Valoarea unei expresii relaţionale este de tip BOOLEAN, adică TRUE sau FALSE.

Evaluarea unei expresii relaţionale se face astfel: se determină mai întâi valorile celor doi operanzi (în cazul în care aceştia sunt precizaţi prin expresii) şi apoi se verifică dacă este îndeplinită relaţia specificată prin operatorul r, caz în care valoarea expresiei va fi TRUE, iar dacă relaţia specificată prin operatorul r nu este satisfăcută, valoarea expresiei va fi FALSE.

În cazul în care cei doi operanzi sunt de tip numeric, dar în urma evaluării expresiilor componente s-au obţinut rezultate de tipuri diferite (un rezultat de tip întreg şi unul de tip real), înaite de evaluarea expresiei relaţionale, se va converti rezultatul de tip întreg într-un rezultat de tip real.

În cazul în care cei doi operanzi sunt expresii relaţionale sau expresii logice, se ţine cont de faptul că valoarea unei astfel de expresii este TRUE sau FALSE, iar între aceste valori există relaţia TRUE>FALSE.

În cazul în care cei doi operanzi sunt de tip alfanumeric (CHAR sau STRING) evaluarea expresiei relaţionale se face comparând codurile ASCII ale caracterelor din şirurile s1 şi s2, obţinute după evaluarea celor doi operanzi, compararea făcându-se caracter cu caracter, după cum urmează. Fie: s1=’a1a2...an’ , ai fiind caractere ASCII, ∀ =i n1, ; s2=’b1b2...bm’ , bj fiind caractere ASCII, ∀ =j m1, ; Dacă ai=bi, ∀ =i 1, k , unde k<mim{n,m}, iar ai+1>bi+1, atunci s1>s2. Dacă ai=bi, ∀ =i 1, k , unde k<mim{n,m}, iar ai+1<bi+1, atunci s1<s2.

Dacă m=n, iar ai=bi, ∀ =i 1, n , atunci s1=s2.

6.3.3. Expresii logice Asupra operanzilor de tip BOOLEAN se pot aplica operatorii logici NOT (negaţie

logică), AND (şi logic), OR (sau logic) şi XOR (sau exclusiv logic).Operatorul NOT este un operator unar, înţelegând prin aceasta că poate precede un operand de tip logic, iar operatorii AND, OR şi XOR sunt operatori binari, înţelegând prin aceasta că leagă doi operanzi de tip logic. Dacă P şi Q sunt două propoziţii logice, operatorii logici mentionaţi mai sus, determină rezultatul după cum urmează:

P Q NOT P P AND Q P OR Q P XOR Q TRUE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE FALSE FALSE FALSE

Cu ajutorul operanzilor de tip BOOLEAN, al operatorilor logici şi al parantezelor rotunde se pot construi expresii logice.

Evaluarea unei expresii logice va începe întotdeauna cu evaluarea celor mai interne perechi de paranteze, iar într-o expresie fără paranteze, ordinea de efectuare a operaţiilor este următoarea: NOT, AND, OR, XOR.

6.3.4. Expresii alfanumerice O expresie alfanumerică poate fi un literal alfanumeric, o variabilă de tipul CHAR sau

STRING, sau o combinaţie a acestora care produce o singură valoare de tip CHAR sau

98

Page 101: informatica

INFORMATICĂ Constantin Zăvoianu

STRING. Singura operaţie care se poate efectua asupra şirurilor de caractere este operaţia de concatenare (+). Sintaxa unei expresii de tip alfanumeric, în acest caz este : Exemplu:

Comentariu: După lansarea în execuţie a programului listare, se va tipări pe ecran,următorul mesaj de eroare:Printer out of paper dacă imprimanta nu este operaţională, iar în caz contrar se vor tipări la imprimantă valorile: IONESCUMARIAN MARIAN IONESCU aliniate la dreapa în primele 30 de coloane. 6.4. Subprogramele unit-ului SYSTEM care operează asupra datelor de tip simplu De foarte multe ori, în aplicaţiile practice, programatorii sunt nevoiţi să evalueze frecvent, anumite funcţii uzuale folosite în mod curent în matematică, cum ar fi: [ ]sin , cos , ln , , , , , ,x x x e x x xx arctg x x2 , etc. , iar pentru a face o astfel de evaluare trebuie scrisă o secvenţă de program. Pentru a simplifica munca de programare, în limbaj au fost introduse o serie de funcţii predefinite, care sunt încorporate în unit-ul SYSTEM şi care pot fi pur şi simplu apelate în cadrul oricărui program. Aceste funcţii operează asupra datelor de tip simplu, iar programatorul le poate apela dacă ştie care este efectul lor, de ce tip trebuie să fie argumentul şi care este tipul rezultatului obţinut în urma evaluării unei astfel de funcţii. Pe lângă funcţii, în unit-ul SYSTEM, există şi unele proceduri care operează asupra datelor de tip simplu, motiv pentru care în cele ce urmează vom trece în revistă aceste subprograme.

Pentru subprogramele prezentate în acest paragraf precizăm în prima coloană a tabelului, numele şi sintaxa ce trebuie folosită la apelul subprogramului, cu menţiunea că la cele de tip funcţie, precizăm şi tipul rezultatului. De asemenea, sub sintaxa folosită la apelare, precizăm tipul parametrilor actuali, care trebuiesc transmişi la apelarea subprogramului. Aceştia pot fi: variabile, constante sau expresii, dar atunci când în faţa unui astfel de parametru figurează cuvântul VAR, parametrul trebuie să fie în mod obligatoriu o variabilă de tipul respectiv.

NUMELE/SINTAXA TIPUL E F E C T U L INT(x):REAL x:REAL;

funcţie

Returnează partea întreagă a numărului real x, dacă x este pozitiv sau partea întreagă a lui (x+1), dacă x este negativ. De exemplu: INT(3.8) este 3, iar INT(-3.8) este -3.

PROGRAM listare; USES PRINTER; CONST nume=’IONESCU’; prenume=’MARIAN’; BEGIN WRITELN(LST,nume+prenume:30); WRITELN(LST,prenume+’ ‘+nume:30); END.

operator_1 [ + operator_2 [+ ... [ + operator_k ] ] ]

99

Page 102: informatica

INFORMATICĂ Constantin Zăvoianu

FRAC(x):REAL x:REAL;

funcţie Returnează partea fracţionară a numărului real x. De exemplu: FRAC(-3.78) este -0.78.

TRUNC(x):LONGINT x:REAL;

funcţie

Returnează valoarea trunchiată a argumentului x, dacă ea aparţine mulţimii LONGINT, iar în caz contrar generează o eroare de execuţie. Prin trunchiere se renunţă la partea fracţionară a numărului rezultat în urma evaluării argumentului x. De exemplu: TRUNC(-3.49) este -3 şi TRUNC(3.51) este 3.

ROUND(x):LONGINT x:REAL;

funcţie

Returnează voloarea rotunjită a argumentului x, dacă ea aparţine mulţimii LONGINT, iar în caz contrar generează o eroare de execuţie. Dacă prima cifră zecimală este mai mare sau egală cu 5, rezultatul este [x]+1 atunci când x≥0 şi este [x] dacă x<0. De exemplu: ROUND(3.5) este 4, iar ROUND(-3.5) este -4. Dacă prima cifră zecimală este mai mică decât 5, rezultatul este [x] dacă x≥0 şi [x]+1 dacă x<0. De exemplu: ROUND(3.49) este 3, iar ROUND(-3.49) este -3.

SIN(x):REAL x: REAL; x: INTEGERş

funcţie

Returnează valoarea funcţiei trigonometrice: sin:R→[-1,1], de argument x, exprimat în radiani. Dacă în documentele primare argumentul este exprimat în grade, acestea se vor transforma în radiani ţinând cont de faptul că la 180 de grade corespund 3.1415926536 radiani.

COS(x):REAL x: REAL; x: INTEGER;

funcţie

Returnează valoarea funcţiei trigonometrice: cos:R→[-1,1], de argument x. Argumentul trebuie furnizat în radiani.

ARCTAN(x):REAL x:REAL;

funcţie

Returnează valoarea funcţiei trigonometrice: arctg :R→( - π/2, π/2 ) de argument x. Rezultatul este exprimat în radiani.

ABS(x):tip_argument x:REAL; x:INTEGER;

funcţie Returnează valoarea absolută a argumentului x.Tipul rezultatului este identic cu tipul argumentului, adică REAL sau INTEGER.

SQRT(x):REAL x:REAL; x:INTEGER;

funcţie Returnează rădăcina patrată a argumentului x, adică valoarea lui x . Argumentul x trebuie să fie nenegativ.

SQR(x):tip_argument x:REAL; x:INTEGER;

funcţie Returnează pătratul argumentului x, adică valoarea lui x2. Tipul rezultatului este identic cu tipul argumentului, adică REAL sau INTEGER.

EXP(x):REAL x:REAL;

funcţie Returnează valoarea functiei exponenţiale ƒ(x) = ex , x fiind un număr real oarecare.

LN(x):REAL x:REAL;

funcţie Returnează valoarea logaritmului natural (în baza e) al unui număr real pozitiv, precizat prin argumentul x.

PI:REAL funcţie Returnează valoarea numărului π (numărul lui Ludolph), adică 3.1415926536.

NUMELE/SINTAXA TIPUL E F E C T U L RANDOMIZE;

proce-

Iniţializează generatorul intern de numere aleatoare cu o valoare aleatoare. Precizăm că primul număr aleator, obţinut din ora curentă din sistem, este depus în variabila predefinită RANDSEED de tipul WORD, din unit-ul

100

Page 103: informatica

INFORMATICĂ Constantin Zăvoianu

dură SYSTEM, iar funcţia RANDOM de generare a următoarelor numere pseudoaleatoare porneşte de la valoarea depusă în această variabilă. Pentru a obţine deci, acelaşi eşantion de numere pseudoaleatoare, variabila RANDSEED trebuie iniţializată cu aceeaşi valoare.

RANDOM:REAL

funcţie Returnează un număr pseudoaleator din intervalul [0,1), adică un număr care are repartiţie uniformă pe acest interval (orice număr are aceeaşi probabilitate de apariţie).

RANDOM(d):WORD d:WORD;

funcţie Returnează un număr pseudoaleator situat în domeniul 0..(d-1).

Observaţie. În TURBO PASCAL nu există operatorul de ridicare la putere, dar această operaţie

poate fi simulată ţinând cont de următoarea egalitate evidentă: a = e lna ; V a>0, din care se deduce că: şi deci, într-un program PASCAL, pentru a evalua valoarea expresiei

vom folosi instrucţiunea de atribuire y:=EXP(x*LN(a));. a ex x= ln a

y ax= 7. Instrucţiunile limbajului TURBO PASCAL Secvenţa de program PASCAL, care conţine instrucţiuni, defineşte acţiunea pe care

trebuie s-o îndeplinească programul. PASCAL-ul este un limbaj de programare secvenţial, înţelegând prin aceasta că instrucţiunile sale se execută una după alta, în timp şi nu simultan. Secvenţa de instrucţiuni este încadrată de cuvintele cheie BEGIN ... END. Instrucţiunile limbajului PASCAL, pot fi simple sau structurate, iar cu ajutorul lor se codifică, relativ simplu, instrucţiunile utilizate în pseudocod pentru descrierea algoritmilor.

7.1. Instrucţiunile simple Instrucţiunile simple sunt instrucţiuni care nu conţin la rândul lor alte instrucţiuni. Ca

instrucţiuni simple avem : instrucţiunea de efect nul, instrucţiunea de atribuire, instrucţiunea de salt necondiţionat şi instrucţiunea apel de procedură.

7.1.1. Instrucţiunea de efect nul

Sintaxa: BEGIN END;

sau ; ;

Efectul: Nu face nimic, dar este necesară utilizarea ei, atunci când sintaxa limbajului cere o instrucţiune, dar nu trebuie executat nimic. Pe parcurs, vom îtâlni astfel de situaţii.

7.1.2. Instrucţiunea de atribuire

Sintaxa: Efectul: Se evaluează expresia e, iar rezultatul obţinut se atribuie variabilei v. Atribuirea este posibilă pentru orice tip de variabilă (mai puţin tipul fişier

când atribuirea se face cu procedura ASSIGN), atâta timp cât v şi e sunt de acelaşi tip. Excepţie: dacă v este de tip real, e poate fi şi de tip întreg.

;: ev =

101

Page 104: informatica

INFORMATICĂ Constantin Zăvoianu

Exemple : media_aritmetica := (a+b+c)/3; nume_p := nume+prenume;

7.1.3. Instrucţiunea de salt necondiţionat

Sintaxa: Efectul: Se realizează saltul necondiţionat la instrucţiunea a cărei etichetă este precizată după GOTO. Eticheta poate fi un identificator PASCAL sau un număr întreg din domeniul 0..9999. Ea trebuie să fie declarată

în directiva LABEL şi trebuie să eticheteze o instrucţiune din program. O instrucţiune etichetată, are sintaxa:

GOTO eticheta;

Observaţie.Nu este permis, saltul în interiorul unei

proceduri sau funcţii şi nici saltul dintr-o procedură sau funcţie în afara acesteia. Folosirea instrucţiunii GOTO nu este recomandată, deoarece diminuează lizibilitatea programelor şi poate constitui o sursă de erori la compilarea acestora.

eticheta : instructiune;

Exemplu:Următorul program : PROGRAM etichete ; LABEL unu,10,3; BEGIN GOTO unu; 10 : WRITELN(‘DOI’); GOTO 3; unu : WRITELN(‘UNU’); GOTO 10;

va afişa pe ecran, după lansarea în execuţie: UNU DOI TREI 3 :

WRITELN(‘TREI’); END. 7.1.4. Instrucţiunea apel de procedură

Sintaxa: Efectul:

Se întrerupe execuţia programului curent şi se transferă controlul execuţiei către procedura numep.

numep[(a1,a2,...,an]);

Deci: - se înlocuiesc parametrii formali din antetul procedurii numep cu parametrii actuali a1,a2,...,an; - se execută instrucţiunile din blocul proceduri numep; - se revine la instrucţiunea imediat următoare din programul care a făcut apelul. O parte din parametrii actuali pun în evidenţă datele de intrare în procedură, iar ceilalanţi pun în evidenţă datele de ieşire din procedură.

7.2. Instrucţiunile structurate Instrucţiunile structurate sunt construcţii formate din alte instrucţiuni. Există trei

categorii de instrucţiuni structurate: - instrucţiunea compusă BEGIN...END; - instrucţiunile alternative IF şi CASE; - instrucţiunile repetitive WHILE, REPEAT şi FOR.

102

Page 105: informatica

INFORMATICĂ Constantin Zăvoianu

7.2.1. Instrucţiunea compusă BEGIN ... END Instrucţiunea compusă este utilă pentru a plasa în locurile din program în care nu este

permisă decât o singură instrucţiune (după cuvintele cheie DO, THEN, ELSE) instrucţiuni mai complexe.Ea are următoarea sintaxă:

Comentariu: Instrucţiunea compusă este formată dintr-o listă de instrucţiuni separate între ele prin caracterul punct şi virgulă (;) şi delimitate de cuvintele cheie BEGIN şi END.

BEGIN instructiune_1; instructiune_2; ..................... Efectul: Instrucţiunile din listă se execută secvenţial, una după

alta strict în ordinea apariţiei lor, atâta timp cât nu intervine o instrucţiune de salt de tip GOTO.

instructiune_k;

Observaţie. O instrucţiune compusă poate face parte din lista de instrucţiuni a unei alte instrucţiuni compuse, caz în care perechile BEGIN...END se grupează după principiul parantezelor.

END

7.2.2.Instrucţiunile alternative De regulă, în marea majoritate a problemelor practice care urmează a fi rezolvate cu

ajutorul calculatorului, apare necesitatea selectării unei alternative din două sau mai multe situaţii posibile, în funcţie de valoarea de adevăr a unei propozitii logice. Această problemă se poate rezolva în TURBO PASCAL, cu ajutorul instrucţiunilor alternative de decizie (IF) şi de selecţie (CASE).

1o. Instrucţiunea IF

Sintaxa: IF condiţie THEN instrucţiune_1 [ELSE instrucţiune_2];

unde: condiţie - este o expresie relaţională sau o expresie logică; instrucţiune_1 sau instrucţiune_2 - poate fi orice instrucţiune simplă sau structurată. Efectul: Dacă valoarea de adevăr a expresiei condiţie este TRUE (adevărat) se execută instrucţiunea specificată după THEN ( instrucţiune_1) şi apoi se trece la instrucţiunea imediat următoare instrucţiunii IF. Dacă valoarea de adevăr a expresiei condiţie este FALSE (fals) se trece la instrucţiunea imediat următoare instrucţiunii IF în cazul în care lipseşte opţiunea ELSE, iar dacă este prezentă această opţiune se execută instrucţiunea specificată după ELSE (instrucţiune_2) şi apoi se trece la instrucţiunea imediat următoare instrucţiunii IF. Atenţie! Înainte de ELSE nu se pune punct şi virgulă. Problemă. Fie a, b, c trei numere reale pozitive. Se cere să se elaboreze algoritmul şi programul PASCAL prin care să se determine media aritmetică a acestor numere dacă a<b, iar dacă să se determine media lor geometrică. ba ≥ Rezolvare. Dacă a<b, determinăm valoarea:

3cbam a

++= ,

103

Page 106: informatica

INFORMATICĂ Constantin Zăvoianu

iar în caz contrar vom determina valoarea:

( )31

3 cbacbamg ⋅⋅=⋅⋅= . Deoarece în TURBO PASCAL nu există operaţia de ridicare la putere, pentru a determina mărimea recurgem la următorul artificiu: aplicăm funcţia ln în egalitatea gm

3 cbam g ⋅⋅= şi obţinem că:

3

lnlnlnln cbamg++

= , motiv pentru care vom determina mai întâi valoarea expresiei

3lnlnln cba ++ şi o vom reţine în variabila x, iar apoi din egalitatea deducem că

.

xmg =lnx

g em = Comentariu: Din cele prezentate, observăm că prin operaţia de logaritmare, calculul mediei geometrice se reduce, de fapt, la calculul unei medii aritmetice. Acest lucru este foarte important în aplicaţiile practice, deoarece în cazul în care avem de calculat media geomertică a n numere, s-ar putea ca produsul lor să conducă la un rezultat care să nu poată fi inregistrat în memoria calculatorului, iar pentru a evita o astfel de situaţie se aplică un procedeu similar cu cel descris anterior. Descrierea algoritmului în pseudocod Programul PASCAL ┌/Calcul medie/ │real a,b,c,ma,mg,x │read a,b,c │┌ ┌if a<b then ma←(a+b+c)/3 ││ └ write ma ││ ┌ + else x←(lna lnb+lnc)/3 ││ │ mg←ex ││ └write mg │└endif

Temă. Fie a, b, c trei numere reale

pozitive. Să se elaboreze algoritmul sub formă de pseudocod şi programul PASCAL corespunzător acestuia, prin care se verifică dacă aceste numere pot reprezenta lungimile laturilor unui triunghi, iar în caz afirmativ să se determine aria şi înălţimile triunghiului.

PROGRAM medie; VAR a,b,c,ma,mg,x:REAL; BEGIN WRITE(‘a=’);READLN(a); WRITE(‘b=’);READLN(b); WRITE(‘c=’);READLN(c); IF a<b THEN BEGIN ma:=(a+b+c)/3; WRITELN(‘ma=’:10,ma:10:5); END ELSE BEGIN x:=(LN(a)+LN(b)+LN(c))/3; mg:=EXP(x); WRITELN(‘mg=’:10,mg:10:5); END;

│stop └end

2o. Instrucţiunea CASE După cum s-a constatat, instrucţiunea IF oferă posibilitatea de a selecta una din cele

două instrucţiuni în funcţie de valoarea de adevăr a expresiei condiţie. Spre deosebire de IF instrucţiunea CASE permite alegerea unei singure instrucţiuni dintr-un grup de instrucţiuni, în funcţie de valoarea unei expresii numită selector. Această instrucţiune are sintaxa:

END.

CASE expresie OF e11,e12,...,e1p : instrucţiune_1; e21,e22,...,e2q : instrucţiune_2; ........................................... en1,en2,...,enr : instrucţiune_n; END;

CASE expresie OF e11,e12,...,e1p : instrucţiune_1; e21,e22,...,e2q : instrucţiune_2;

104 ........................................... en1,en2,...,enr : instrucţiune_n; ELSE instrucţiune_(n+1); END;

Page 107: informatica

INFORMATICĂ Constantin Zăvoianu

Efectul: La întâlnirea acestei instrucţiuni se detemină valoarea selectorului expresie şi apoi se execută instrucţiunea a cărei etichetă coincide cu această valoare. Dacă nu există nici o instructiune etichetată, pentru care valoarea unei etichete eij coincide cu valoarea obţinută în urma evaluării selectorului se trece la executarea instrucţiunii ce urmează după ELSE, dacă această opţiune este prezentă, sau nu se execută nimic dacă lipseşte opţiunea ELSE. După executarea unei înstrucţiunii astfel selectate, se trece la executarea primei instrucţiuni de după END. Observaţie. Elementele care preced instrucţiunile etichetate, le-am numit printr-un abuz de limbaj etichete, dar precizăm că acestea nu trebuie declatare neapărat în directiva LABEL şi pot fi: constante numerice, constante alfanumerice sau subdomenii ale unui tip ordinal. Exemple:

7.2.3. Instrucţiunile repetitive Limbajul PASCAL pune la dispoziţia programatorului trei instrucţiuni (WHILE,

REPEAT şi FOR) cu ajutorul cărora o secvenţă formată din una sau mai multe instrucţiuni, numită corpul ciclului, se poate executa repetat de mai multe ori.

1o. Instrucţiunea WHILE Sintaxa :

Efectul:

PROGRAM numar_zile; {$R+} { Se determina cite zile are o anumita luna dintr-un an oarecare } VAR an : INTEGER; luna : 1..12; nz : 28..31; BEGIN WRITE(’luna = ’) ; READLN(luna); WRITE(’anul = ’) ; READLN(an); CASE luna OF

4,6,9,11 : nz := 30; 2 : IF an MOD 4 = 0 THEN nz := 29 ELSE nz := 28;

ELSE nz:=31; END; WRITELN(’Numar zile=’,nz) END.

PROGRAM numar_zile; { Se determina cite zile are o anumita luna dintr-un an oarecare } VAR an : INTEGER luna : 1..12; nz : 28..31; BEGIN WRITE(’luna = ’) ; READLN(luna); WRITE(’anul = ’) ; READLN(an); CASE luna OF 1,3,5,7,8,10,12 : nz := 31; 4,6,9,11 : nz := 30; 2 : IF an MOD 4 = 0 THEN nz := 29 ELSE nz := 28; END; WRITELN(’Luna ’,luna,’ din anul ’,an,’ are ’,nz,’ zile’) END.

WHILE condiţie DO instrucţiune;

105

Page 108: informatica

INFORMATICĂ Constantin Zăvoianu

La întâlnirea acestei instrucţiuni, atâta timp cât expresia condiţie are valoarea logică adevărat (TRUE), se execută corpul ciclului format din instrucţiunea specificată după cuvântul DO. Dacă expresia condiţie are de la început valoarea fals (FALSE), corpul ciclului nu se execută nici o dată. În corpul ciclului trebuie să se modifice unele din elementele expresiei condiţie pentru a se evita fenomenul de ciclare. Problemă: Să se elaboreze algoritmul şi programul PASCAL, pentru a determina câtul şi restul împărţirii îtreagi a două numere naturale m şi n prin scăderi suscesive. Rezolvare. Din teorema împărţirii cu rest a numerelor întregi, ştim că dacă m şi n sunt două numere întregi, cu n diferit de zero, atunci există două numere întregi q şi r, unice, astfel încât: m = n*q+r , unde 0 ≤ r < n. Pentru a determina valorile lui q şi r procedăm astfel: îl initializăm pe q cu 0 şi atâta timp cât m ≥ n, scădem din valoarea lui m valoarea lui n şi adunăm la q o unitate (numărăm câte scăderi am făcut). Ultima valoare a lui m reprezintă restul împărţirii, iar valoarea lui q reprezintă câtul. Paşii algoritmului: P1.Citim datele de intrare: m şi n. P2.Reţinem valoarea lui m în m1 şi îl iniţializăm pe q cu zero. P3.Atâta timp cât m ≥ n, efectuăm operaţiile: m← m-n şi q← q+1. P4.Tipărim valorile variabilelor: m1,n,q şi m. Descrierea algoritmului în pseudocod Programul PASCAL

PROGRAM impartire; VAR m,n,m1,q:INTEGER; BEGIN WRITE(‘m = ‘);READLN(m) ;

2o. Instrucţiunea REPEAT

Sintaxa: Efectul:

WRITE(‘n = ‘);READLN(n); m1:=m; q:=0; WHILE m>=n DO BEGIN m:=m-n; q:=q+1; END; {end while} WRITELN(m1,’ = ‘,n,’*’,q,’+’,m); END.

┌/ Împărtirea prin scăderi succesive/ │

read m,n integer m,n,q,m1 │

m1 ← m;q ← 0 │while m ≥ n │┌

m ← m - n ││┌q ← q + 1 ││└

repeat │└write m1,n,q,m │ stop │└end

Temă. Să se elaboreze algoritmul şi programul PASCAL prin care se determină cel mai mic multiplu comun a două numere naturale n şi m.

106

Page 109: informatica

INFORMATICĂ Constantin Zăvoianu

La întâlnirea acestei instrucţiuni, corpul ciclului, format din instrucţiunile cuprinse între REPEAT şi UNTIL se execută repetat până când valoarea expresiei condiţie devine adevărată (TRUE). Prin urmare, corpul ciclului se execută cel puţin o dată. Instrucţiunile din corpul ciclului trebuie să modifice unele din elementele expresiei condiţie pentru a se evita fenomenul de ciclare.

REPEAT instrucţiune_1; instrucţiune_2; ....................... instrucţiune_k; UNTIL condiţie;

Observaţie. Corpul ciclului, poate să conţină o altă instrucţiune REPEAT şi în acest caz cuvintele cheie REPEAT şi UNTIL se grupează după principiul parantezelor. Problemă: Să se elaboreze algoritmul şi programul PASCAL pentru a afla cel mai mare divizor comun al numerelor naturale n şi m, notat (n,m). Rezolvare. Vom utiliza algoritmul lui Euclid. Presupunem că n ≥ m, iar conform teoremei împărţirii cu rest a numerelor întregi, există două numere naturale q şi r unice, astfel încât să fie satisfăcută relaţia: n = m*q+r , unde 0 ≤ r < m. Dacă r = 0 atunci (n,m) = m, iar dacă r este diferit de zero, avem că:

a) - orice număr care divide pe n şi m va divide şi numărul r = n - q*m; b) - orice număr care divide numerele m şi r va divide şi numărul n = m*q+r .

Pe baza celor două observaţii, putem concluziona că toţi divizorii comuni ai numerelor n şi m sunt şi divizori comuni ai numerelor m şi r , motiv pentru care se vor căuta în continuare divizorii comuni ai acestor numere. Paşii algoritmului: P1.Citim datele de intrare: n şi m. P2.Dacă n < m schimbăm între ele valorile celor două variabile. P3.Efectuăm următoarele operaţii:

- determinăm restul împărţirii lui n la m şi îl reţinem în variabila r; - atribuim variabilelor n şi m valorile variabilelor m, respectiv r;

până când restul devine egal cu zero. P4.Tipărim valoarea variabilei n (ultimul rest diferit de zero, care este de fapt c.m.M.d.c.) Descrierea algoritmului în pseudocod Programul PASCAL

PROGRAM CmMdc; { Se determină c.m.M.d.c. a doua numere} VAR n,m,n1,m1,r : INTEGER; BEGIN WRITE(’n = ’);READLN(n); WRITE(’m = ’);READLN(m); n1:=n;m1:=m;

Temă. 1. Să se elaboreze algoritmul şi programul PASCAL prin care se verifică dacă un număr natural n este divizibil cu 9.

2. Acelaşi enunţ, numai că se cere să se verifice dacă numărul este divizibil cu 3. 3o. Instrucţiunea FOR

Sintaxa:

IF n<m THEN BEGIN r:=n;n:=m;m:=r; END; REPEAT r:=n MOD m; n:=m; m:=r; UNTIL r=0; WRITELN(’CmMdc(’,n1,’,’,m1,’)=’,n); END.

┌/Algoritmul lui Euclid/ │

read n,m integer n,m,n1,m1,r │

n1← n;m1← m │if n<m then r← n │┌ ┌ n← m ││ │ └m← r ││ endif │└do │┌

r← n-[n/m] ││┌n← m │││m← r ││└

until r=0 │└write n1,m1,n │stop │└end

107

Page 110: informatica

INFORMATICĂ Constantin Zăvoianu

FOR v := vi TO vf DO

unde: v - este variabila de control a ciclului;

vi - este valoarea iniţială pe care o ia variabila v; vf - este valoarea finală pe care o ia variabila v.

Efectul:Corpul ciclului, format din instrucţiune, se execută repetat de n ori pentru diferitele valori ale variabilei de control v, cuprinse între valoarea iniţială vi şi valoarea finală vf, trecerea de la o valoare la alta făcându-se cu pasul 1 în varianta cu TO şi cu pasul -1 în varianta cu DOWNTO. Evaluarea lui n se face o singură dată, la intrarea în ciclu după formula:

în varianta cu DO; în varianta cu DOWNTO.

Dacă n este negativ, corpul ciclului nu se execută niciodată, iar în caz contrar variabila v se iniţializează cu şi se incrementează cu o unitate (forma cu TO) sau se decrementează cu o unitate (forma cu DOWNTO), în mod automat după executarea instrucţiunii care desemnează corpul ciclului.

vi

Observaţii. 1.Variabila v poate fi de orice tip ordinal (deci nu REAL) iar vi şi vf trebuie să fie de

tipul lui v. 2.Modificarea variabilelor vi sau vf, în corpul ciclului nu afectează numărul de iteraţii,

dar modificarea variabilei v afectează acest număr. 3.Nu se recomandă modificarea variabilei v în corpul ciclului. 4.La ieşirea normală din ciclu, variabila v va avea valoarea vf.

Problemă. Să se elaboreze algoritmul sub formă de pseudocod prin care să se rezolve n ecuaţii de gradul II, de forma : ax iar apoi să se scrie programul PASCAL corespunzător acestui algoritm.

bx c a b c R2 0+ + = ∀ ∈, , , ,

Rezolvare. Aşa după cum s-a menţionat în Capitolul I, într-un algoritm trebuie să fie analizate toate situaţiile posibile care s-ar putea ivi în rezolvarea unei probleme, motiv pentru care vom evidenţia următoarele cazuri: 1. a = 0, b = 0 şi c = 0 , caz în care ecuaţia este nedeterminată (∀ ∈x R este soluţie). 2. a = 0, b = 0 şi c ≠ 0 , caz în care ecuaţia este imposibilă. 3. a = 0, b≠ 0 şi , caz în care ecuaţia se reduce la o ecuaţie de gradul I: bx+c=0, care are soluţia :

c R∈

xc

b=

− .

4. a ≠ 0, , caz în care avem ecuaţie de gradul II, a cărei rezolvare se face după metodologia uzuală cunoscută de la matematică. În acest sens, mai întâi se determină valoarea

b c R, ∈

Δ = −b a2 4 c , iar în funcţie de acestă valoare se ivesc următoarele cazuri:

4.1. Δ > 0 , caz în care avem rădăcinile reale şi distincte : xb

a1 2 2, ;=− ± Δ

4.2. Δ = 0 , caz în care avem rădăcinile reale şi egale: x xba1 2 2

= =−

;

4.3. Δ < 0 , caz în care avem rădăcinile complexe xb i

apr i pi1 2 2, =

− ± −= ± ⋅

Δ , unde pr

şi pi reprezintă coeficentul părţii reale şi coeficientul părţii imaginare pentru numerele complexe x1 şi x2 .

instrucţiune; FOR v := vi DOWNTO vf DO instrucţiune;

nv vv v

f i

i f=

− +− +

⎧⎨⎩

11

;;

108

Page 111: informatica

INFORMATICĂ Constantin Zăvoianu

Se constată, din cele prezentate, că problema poate avea şase soluţii posibile, motiv pentru care vom face mai întâi investigaţii asupra coeficienţilor ecuaţiei şi vom stabili în care din cele şase cazuri ne încadrăm. În acest sens vom folosi o variabilă k care va lua valori cuprinse între 1 şi 6, iar apoi în funcţie de valoarea acestei variabile vom furniza soluţia problemei.

PROGRAM ecuatie_gr_2; USES CRT; VAR n,i,k:INTEGER; a,b,c,x,x1,x2,pr,pi,d,a2:REAL; m1,m2:STRING[25]; BEGIN WRITE(’n=’); READLN(n); m1:=’Ecuatie nedeterminata’; m2:=’Ecuatie imposibila’; FOR i:=1 TO n DO BEGIN WRITE(’a=’);READLN(a); WRITE(’b=’);READLN(b); WRITE(’c=’);READLN(c); k:=4; IF (a=0)AND (b=0) AND (c=0) THEN k:=1; IF (a=0)AND(b=0)AND (c<>0) THEN k:=2; IF (a=0) AND (b<>0) THEN k:=3; IF k=4 THEN BEGIN d:=SQR(b)-4*a*c; a2:=2*a; IF d=0 THEN k:=5; IF d<0 THEN k:=6; END; CASE k OF 1: WRITELN(m1); 2: WRITELN(m2); 3: BEGIN x:= -c/b; WRITELN(’x=’,X:10:4); END; 4: BEGIN x1:=(-b+SQRT(d))/a2; x2:=(-b-SQRT(d))/a2; WRITELN(’x1=’,x1:10:4); WRITELN(’x2=’,x2:10:4); END; 5: BEGIN x1:= -b/a2; x2:=x1; WRITELN(’x1=’,x1:10:4);

Comentariu: Pentru a verifica corectitudinea programului din punct de vedere logic, introduceţi mai întâi pentru n valoarea 6, iar pentru a, b, c următoarele valori:

şi apoi verificaţi dacă rezultatele furnizate de program coincid cu cele obţinute prin rezolvarea acestor ecuaţii cu creionul şi hârtia. Temă. Alcătuiţi o lucrare în care să prezentaţi sintaxa şi efectul instrucţiunilor din pseudocod şi a celor din TURBO PASCAL utilizate în rezolvarea problemei precedente.

3. Probleme propuse

WRITELN(’x2=’,x2:10:4); END; 6: BEGIN pr:= -b/a2; pi:=SQRT(-d)/a2; WRITELN(’pr=’,pr:10:4); WRITELN(’pi=’,pi:10:4); END; END; END; END.

┌/Rezolvarea a n ecuaţii de gradul II/ │integer n,i,k │ a,real b,c,x,x1,x2,pr,pi,d,a2 │string m1,m2 │read n │m1 ←’Ecuatie nedeterminata’ │ 2 m ← ’Ecuatie imposibila’ │┌ i = for 1,n ││ read a,b,c ││ k ← 4 ││ ┌ (a= if 0) Λ (b=0) Λ (c=0) then k ← 1 ││ └ endif ││ ┌ (a=0 if ) Λ (b=0) Λ (c≠ 0) then k ← 2 ││ └ endif ││ ┌ (a= if 0) Λ (b≠ 0) then k ← 3 ││ └ endif ││ ┌ ┌ if k=4 then d ←b*b-4*a*c ││ │ │ a2 ← 2*a ││ │ │ ┌ if d=0 then k ← 5 ││ │ │ └ endif ││ │ │ ┌ if d<0 then k ← 6 ││ │ └ └endif ││ └ endif ││ ┌ case ││ │ k=1 : write m1 ││ │ k=2 : write m2 ││ │ ┌x - k=3 : ← c/b ││ │ └ write x ││ │ ┌ k=4 : x1 ← (-b+d↑0.5)/a2 ││ │ │ x2 ← (-b-d↑0.5)/a2 ││ │ └ write x1,x2 ││ │ ┌x1 k=5 : ← -b/a2 ; x2 ← x1 ││ │ └ write x1,x2 ││ │ ┌ k=6 : pr ← -b/a2 ││ │ │ pi ←(-d) ↑0.5/a2 ││ │ └ write pr,pi ││ └end case │└repeat │stop └end

k a b c 1 0 0 0 2 0 0 1 3 0 1 -1 4 1 -5 4 5 1 -6 9 6 1 -1 1

109

Page 112: informatica

INFORMATICĂ Constantin Zăvoianu

1. Să se elaboreze algoritmul şi programul PASCAL pentru a afla minimul din trei numere

reale a, b, c ; adică pentru a afla valoarea m a b c= m in{ , , }. 2. Să se elaboreze algoritmul şi programul PASCAL pentru a afla maximul din trei numere

reale a, b, c ; adică pentru a afla valoarea m a b c= m ax{ , , }. 3. Să se elaboreze algoritmul şi programul PASCAL pentru a afla minimul din patru numere

reale a, b, c şi d, adică pentru a afla valoarea m a b c d= m in{ , , , }. 4. Să se elaboreze algoritmul şi programul PASCAL pentru a afla maximul din patru numere

reale a, b, c şi d, adică pentru a afla valoarea m a b c d= m ax{ , , , }. 5. Să se elaboreze algoritmul şi programul PASCAL pentru a ordona crescător trei numere

reale a, b, c. 6. Să se elaboreze algoritmul şi programul PASCAL pentru a ordona descrescător mărimile

x y z+ − +1 3, , 4 ştiind că x y z R, , .∈ 7. Să se elaboreze algoritmul şi programul PASCAL pentru a verifica dacă trei numere reale a,

b, c sunt în progresie aritmetică, iar în caz afirmativ să se determine raţia acesteia. 8. Să se elaboreze algoritmul şi programul PASCAL pentru a verifica dacă trei numere reale a,

b, c sunt în progresie geometrică, iar în caz afirmativ să se determine raţia acesteia. 9. Să se elaboreze algoritmul şi programul PASCAL prin care se determină valoarea lui a ; a

> 0, ca limită a şirului recurent x xax

nn nn

+ = +⎛⎝⎜

⎞⎠⎟ ∀ >1

12

0; ştiind că x a0 2= .

10. Să se elaboreze algoritmul şi programul PASCAL pentru a calcula suma primelor n numere naturale, adică: S n i

i

n

= + + + = >=∑1 2 0

1; .n

n

n .

.

11. Să se elaboreze algoritmul şi programul PASCAL pentru a calcula produsul primelor n numere naturale, adică: P n i

i

n

= × × × = >=∏1 2 0

1; .

12. Să se elaboreze algoritmul şi programul PASCAL pentru a calcula suma: S n n i i

i

n

= ⋅ + ⋅ + + + = + >=∑1 2 2 3 1 1 0

1( ) ( ) ;

13. Să se elaboreze algoritmul şi programul PASCAL pentru a calcula produsul a două numere naturale n şi m prin adunări repetate, adică: . P n n n n

m ori i

m

= + + + ==∑

1

14. Să se elaboreze algoritmul şi programul PASCAL pentru a calcula valoarea lui prin

înmulţiri repetate, adică:

an

P a a a a a R n Nn ori i

n

= × × × = ∈ ∈=∏

1; ,

15. Fie a, b, c numere reale, iar n un număr natural. Să se elaboreze algoritmul şi programul PASCAL prin care se determină valoarea expresiei:

; dacă n=1

Ea b c

a b ca b c

=+ +⎧

⎨⎪

⎩⎪

m a x { , , }m i n { , , }

; dacă n=2 ; dacă n=3.

110