Professional Documents
Culture Documents
Cuprins
Bibliografie
á Software de sistem şi software de aplicaţie 3
SOFTWARE
DE
SISTEM
S
O
F
W Limbaje de Baze de date Comunicaţii Grafică
A programare
R
E
SOFTWARE
DE Proiectare
APLICAŢIE
U U
T SISTEM T
I I
L BIOS L
I I
Z HARD Z
A A
T BIOS T
O DE OPERARE O
R R
I PROGRAME UTILITARE I
SOFTWARE DE APLICAŢIE
á 1. Software de sistem
Definiţie
Sistemul de operare reprezintă o colecţie de programe
destinată a organiza o gestiune eficientă a resurselor hardware
şi software ale sistemelor de calcul. Sistemul de operare
adaptează resursele hardware ale calculatorului la cerinţele
utilizatorului asigurând interfaţa cu utilizatorul, de cele mai
multe ori într-un mod interactiv.
Un sistem de operare constă din unul sau mai multe programe
á Software de sistem şi software de aplicaţie 7
Observaţie
Fiecare sistem de operare este conceput pentru a lucra cu o
anumită arhitectură hardware (inclusiv BIOS-ul). Un sistem de
operare proiectat pentru un calculator Macintosh nu va
funcţiona pe un PC. Un PC mai vechi bazat pe microprocesorul
8088 nu are resursele necesare pentru rularea unui sistem de
operare destinat să funcţioneze pe un Pentium.
á File Manager
á Memory Manager
á Interfeţe grafice
Observaţie
La actualizarea unui produs, acesta primeşte un număr al noii
versiuni. Dacă actualizarea presupune modificări esenţiale,
atunci se schimbă partea întreagă a numărului ce exprimă
versiunea. De exemplu, DOS 4.0 a reprezentat o actualizare
esenţială a sistemului DOS 3.0. Dacă au loc numai modificări
minore, se schimbă doar cifra ce urmează numărului versiunii:
DOS 3.0 - DOS 3.1. În cadrul referirii la software, termenul
„3.x” semnifică orice versiune 3 (3.0, 3.1, 3.22). „3.x sau mai
nou” înseamnă orice versiune de software cu numărul egal sau
mai mare decât 3.0.
Desktop
Taskbar
Ferestre
Toolbar
Format Bar
Vertical
Scroll
Bar
Window
Borders
Pictograme
hardware
Sistemele de operare conţin utilitare necesare operaţiilor
minimale de gestionare a dispozitivelor. De exemplu, DOS conţine
următoarele utilitare:
| FORMAT, utilizat pentru pregătirea unui disc în vederea stocării
de date
| COPY, utilizat pentru copierea fişierelor dintr-o locaţie în alta
| RENAME, utilizat pentru modificarea numelui unui fişier
| BACKUP şi RESTORE, utilizate pentru efectuarea unor copii ale
fişierelor pe un alt disc
| UNDELETE, pentru regăsirea fişierelor şterse din greşeala
| DEL, utilizat pentru ştergerea fişierelor
á Software de sistem şi software de aplicaţie 17
Fişiere
Directoare
á 2. Programare tabelară
Ieşire Excel
Observaţie
Există un istoric al ultimelor fişiere editate. Acest istoric poate fi
folosit pentru relansarea în editare a acestora.
- matematice şi trigonometrice
- logice
• Operatorii, împreună cu ordinea lor de evaluare sunt
descrişi în următoarea tabelă :
Operator Nivel
^ (exponenţial) 1
+ (pozitiv), - (negativ) 2
* (înmulţire), / (împărţire) 3
+ (adunare), - (scădere) 4
= (egal), <> (diferit)
< (strict mai mic)
> (strict mai mare)
<= (mai mic sau egal cu)
>= (mai mare sau egal cu) 5
Exemplu
Foaie electronică de calcul a rădăcinilor ecuaţiei de gradul 2,
pentru diferite valori ale coeficienţilor a, b, c:
30 á Software de sistem şi software de aplicaţie
E3 : =B4^2-4*B3*B5 (b2 – 4· a· c)
E4 : =IF(E3>=0;(-B4+SQRT(E3))/(2*B3);F2)
E5 : =IF(E3>=0;(-B4 - SQRT(E3))/(2*B3);F2)
celulele E4, E5, pentru determinarea rădăcinilor x1, x2, conţin
funcţia de testare IF (“dacă”) şi funcţia SQRT (radical). Dacă
delta≥ 0 atunci afişează numerele reale, în caz contrar afişează
mesajul „complex”.
1
Inserare Rânduri/Coloane
32 á Software de sistem şi software de aplicaţie
Schimbarea dimensiunii unei coloane/linii se poate realiza prin
meniu (Format, Column, Width... / Format, Row, Height...)2 sau
utilizând mouse-ul, prin culisarea liniilor grilă pentru coloane şi
rânduri.
2
Format, Coloană, Lăţime… / Format, Rând, Înălţime…
3
Editare, Copiere
á Software de sistem şi software de aplicaţie 33
á Funcţii de calcul
4
Editare, Decupare
5
Format Celule
6
Format Stil… Modificare
7
Inserare, Funcţie…
34 á Software de sistem şi software de aplicaţie
• Numărul de perioade (nper) – numărul total de plăţi
sau perioade ale unei investiţii.
• Valoarea actualizată (pv) – valoarea unei investiţii sau
a unui împrumut la începutul perioadei de investiţie. De
exemplu, valoarea actualizată a unui împrumut este capitalul
de bază care este împrumutat.
• Rata (rate) – rata dobânzii sau rata de actualizare
pentru un împrumut sau o investiţie.
• Tip (type) – intervalul la care sunt efectuate plăţile în
timpul perioadei de plată, ca de pildă la începutul unei luni
sau la sfârşitul acesteia.
Observaţii
Unele funcţii financiare se folosesc pentru anuităţi. O anuitate
constă dintr-o serie de plăţi constante efectuate pe o perioadă
continuă (de exemplu un împrumut pentru un autoturism, sau un
împrumut ipotecar).
În funcţiile de anuităţi, sumele plătite, cum ar fi depozitele
pentru economii, sunt reprezentate de numere negative; sumele
primite, cum ar fi un cec de dividente, sunt reprezentate prin
numere pozitive.
Se recomandă consecvenţă în legătură cu unităţile utilizate
pentru specificarea argumentelor rate şi nper (de exemplu, pentru
plăţi lunare la un împrumut pe un număr de ani, rata dobânzii va fi
împărţită întotdeauna cu 12, iar nper va fi înmulţit cu 12 şi cu
numărul de ani).
á Funcţia FV
FV(rate;nper;pmt;pv;type)
á Software de sistem şi software de aplicaţie 35
Exemplu
O persoană fizică depune 8 milioane lei într-un cont de economii
cu o dobândă anuală de 26% şi îşi planifică să mai depună câte un
milion de lei la începutul fiecăreia din următoarele 12 luni. Câţi bani va
avea în cont la sfârşitul celor 12 luni?
=FV(26%/12;12;-1000000;-8000000;1) 24.178.497 lei
á Funcţia PV
PV(rate;nper;pmt;fv;type)
36 á Software de sistem şi software de aplicaţie
Exemplu
Ca urmare a depunerii cu o dobândă anuală de 25% a unei
sume, o bancă returnează lunar 2 milioane de lei timp de cinci ani.
Care este valoarea acestei sume?
=PV(25%/12;5*12;2000000) -68.140.028 lei
á Funcţia NPER
Observaţie
Valoarea returnată este de tip real, de aceea aceasta trebuie
rotunjită.
Exemple
á Funcţia PMT
PMT(rate;nper;pv;fv;type)
Exemplu
Cât trebuie să economisiţi lunar ca, după 10 ani, contul în bancă
să fie de 150 milioane lei la o dobândă lunară de 1% ?
=PMT(1%;-10*12;-150000000) -652.064 lei
á Funcţia IPMT
IPMT(rate;per;nper;pv;fv;type)
Exemplu
Care este dobânda datorată în al doilea an pentru un împrumut
de 100 milioane de lei pe trei ani la o rată a dobânzii anuale de 30% ?
=IPMT(30%;2;3;100000000) - 22.481.203 lei
Celula de intrare
Formula
I
n Re-
t zul-
r ta-
ă te
r
i
Formula I n t r ă ri
I
n
t Rezultate
r
ă
r
i
Exemplu
10
Celulă de intrare pe rând, Celulă de intrare pe coloană
á Software de sistem şi software de aplicaţie 43
)
Se va construi un tabel de date cu două variabile. Celula de
intrare pentru coloană este C5 iar pentru linie este C4. Formula
de calcul (în B8) va conţine funcţia PMT.
Observaţii
• Etichetele prin care sunt precizate câmpurile tabelului de date
trebuie să fie diferenţiate în mod corespunzător. Dacă un titlu de
coloană trebuie scris pe mai multe rânduri se poate folosi
combinaţia de taste Alt + Enter sau se poate utiliza opţiunea
Format, Cells...11 Opţiunea menţionată permite ca în tab-ul
Alignment (aliniere) să se facă precizări legate de afişarea textului
cum ar fi:
o alinierea textului pe orizontală sau pe verticală
(Horizontal, Vertical),
o scrierea multirând (Wrap text),
o adaptarea dimensiunii textului la dimensiunea celulei
(Shrink to fit),
o contopirea mai multor celule (Merge cells),
o orientarea direcţională a textului (Orientation).
• datele de pe coloană trebuie să fie de acelaşi tip;
• liniile (coloanele) nu trebuie să fie goale sau întrerupte;
• datele de tip text nu trebuie să înceapă cu spaţiu (se pot crea
probleme la căutarea sau sortarea în listă);
• pentru a uşura citirea tabelului este recomandat a se formata
coloanele (câmpurile) în mod diferit.
11
Format, Celule…
12
Date, Machetă…
á Software de sistem şi software de aplicaţie 45
Prelucrare
Adaugă
Şterge
Anulează
Trece la
înregistrarea
precedentă
Trece la înreg.
următoare
Caută o
înregistrare
conform unui
criteriu
Observaţie
Pentru a reafişa întreaga listă (toate înregistrările) se
selectează (Data, Filter, Show All), iar pentru a dezactiva
opţiunile AutoFilter se selectează Data, Filter, AutoFilter (astfel
se va reafişa vechiul mod de afişare al listei, fără săgeţile de
derulare).
15
Date, Filtrare
16
Filtrare automată
á Software de sistem şi software de aplicaţie 47
Observaţii
• pentru a putea stabili corelaţii între diverse serii de date se
recomandă reprezentare simultană pe acelaşi grafic a unui a
mai multor serii de date, dar nu a mai mult de şase;
• marcarea axelor, scrierea titlurilor şi folosirea legendelor;
• folosirea, dacă este necesară identificarea unor valori pe
grafic, a liniilor paralele verticale care prelungesc gradaţiile
verticale;
• marcarea valorilor reprezentative pe grafic;
17
Inserare Diagramă…
18
Vizualizare, Bare de instrumente, Diagramă
50 á Software de sistem şi software de aplicaţie
á 3. Internet
Ce este INTERNET-ul ?
INTERNET este cea mai mare colecţie de reţele de calculatoare, în
sistem descentralizat care a devenit cel mai popular mijloc de schimb de
informaţii. Prin intermediul INTERNET-ULUI abonaţii trimit şi primesc
corespondenţă comercială, particulară (e-mail), angajează discuţii de grup
pe orice temă (grupuri de discuţii), oferă servicii sau primesc oferte, se
informează din domeniul comercial, marketing, cultură, tehnică etc.
INTERNET-ul trebuie văzut ca o reţea globală formată din mii de
reţele de calculatoare aparţinând diverselor instituţii guvernamentale,
universităţi, companii private, servicii informaţionale comerciale precum şi
abonaţi individuali. Oricine poate să aibă acces la informaţiile oferite, gratuit
sau în schimbul unor taxe. Biblioteca Congresului SUA, de exemplu, oferă
gratuit accesul la cele 100 milioane de obiecte din colecţia sa - cărţi, filme,
hărţi, partituri, fotografii.
TCP/IP (Transmission Control Protocol/Internet Protocol) este
protocolul de transmisie utilizat de INTERNET. Reţeaua INTERNET din SUA
este CIX (Commercial INTERNET Exchange) iar în Europa EUNet. Pentru a
utiliza CIX sau EUNet utilizatorul trebuie să fie membru al INTERNET. Un
instrument oferit de INTERNET este Mosaic, o interfaţă grafică ce permite
utilizatorilor să vizioneze filme, imagini fotografice sau text, însoţite de
sunet. Multe firme din lume comercializează software pentru accesul la
INTERNET. Noile sisteme de operare pentru PC-uri începând cu Windows'95,
Windows NT, Unix incorporează module software necesare conectării la
INTERNET. Toţi utilizatorii de PC-uri pot comunica între ei, în mod text sau
video/audio. Astfel această reţea multimedia devine o magistrală
informaţională.
Utilizare Internet
• E-MAIL. Prin poşta electronică se poate realiza schimbul de mesaje, ce
reprezintă documente scrise, cu toţi abonaţii INTERNET din întreaga lume.
Spre deosebire de mijloacele clasice schimbul de mesaje se poate face
aproape instantaneu, eliminându-se riscul pierderii.
• FAX. Fax-urile transmise prin INTERNET vor putea fi recepţionate rapid
(faxurile transmise interurban se plătesc la tariful telefonic local, datorită
conectării la un nod local).
• Culegerea de informaţii din INTERNET. În INTERNET informaţiile se
găsesc sub formă de fişiere ca pagini WEB. Apelarea fişierelor se face cu
ajutorul unor programe FTP (File Transfer Protocol). Prin această
metodă, se poate face transferul de fişiere spre şi dinspre orice server legat
la INTERNET la tarife telefonice locale. Paginile WEB sunt documente ce
conţin texte şi imagini. Utilizatorul îşi poate defini tema ce îl interesează,
aceste programe putând căuta pe toate serverele legate la INTERNET toate
informaţiile legate de tema căutată.
• Publicitate în INTERNET. INTERNET-ul dă posibilitatea utilizatorului de a
se prezenta cu ajutorul uneia sau a mai multor pagini WEB (texte, poze,
grafice, animaţii, sunete) şi prin aceasta să se facă cunoscut.
• Comerţul prin INTERNET. La paginile de prezentare (ale firmei proprii de
exemplu) se pot adăuga şi cataloage de comandă pentru produse. Pe baza
acestora orice client poate s| facă comenzi prin completarea unui formular
aflat pe aceeaşi pagină WEB. După completarea formularului acesta este
transmis prin INTERNET, iar comanda poate fi onorată în scurt timp.
• Conferinţele tematice (FORUMS). În prezent există un număr mare de
forumuri organizate după cele mai diverse criterii, aderarea la aceste
forumuri fiind liberă.
• Discuţii prin INTERNET. Prin INTERNET se pot purta discuţii libere cu toţi
cei care sunt conectaţi la acest sistem.
52 á Software de sistem şi software de aplicaţie
á 3.1. Structura reţelei Internet
Internet
Document
Protocol Web
á Servicii Internet
á Adrese Internet
Deşi din punct de vedere tehnic World Wide Web este doar o
porţiune a lnternet-ului, acesta permite accesul la tot mai multe
servicii. Web-ul reprezintă o combinaţie între TCP/IP, protocolul de
transmitere a documentelor în reţea, cu o metodă complet nouă de
localizare şi acces la documentele aflate pe diverse reţele.
Mecanismul de localizare a informaţiilor transmise prin reţeaua
Internet utilizează un şir de caractere numit localizator universal
de resurse (URL - Universal Resource Locator), care identifică
numele şi adresa fiecărui document disponibil în Web:
Tipul protocolului de server utilizat în locaţia
54 á Software de sistem şi software de aplicaţie
documentului. Un server configurat special pentru
documentele Web utilizează protocolul de transfer al
hipertextelor (HTTP – Hyper Text Transfer Protocol).
Tipul site-ului, în general WWW, FTP sau Gopher.
á Browser
Un document din Web se numeşte pagină Web. Un Browser
(Navigator, Viewer) este un pachet deschis şi integrat de software
pentru Internet, care furnizează un set complet de instrumente
integrate pentru toate categoriile de utilizatori, de la servicii
á Software de sistem şi software de aplicaţie 55
á Instrumente de căutare
Un instrument de căutare (numit şi motor de căutare) este
o aplicaţie din Web care permite căutarea anumitor site-uri Web pe
baza unor cuvinte sau concepte cheie. Motoarele de căutare (ex.
Altavista, Google) utilizează un program numit spider (robot) care se
deplasează automat prin structura hipertext a Web-ului, găseşte un
document, apoi identifică toate documentele referite de primul. După
regăsirea documentelor, acestea sunt trecute într-o listă de index prin
care utilizatorul este dirijat spre pagina Web corespunzătoare.
Navigarea prin Web necesită cunoaşterea diferitelor
instrumente de căutare disponibile şi a particularităţilor acestora. De
exemplu, Yahoo este organizat după subiect, deci este foarte potrivit
pentru căutarea unor colecţii de resurse legate de un singur subiect.
Fiecare instrument de căutare este prevăzut cu propriile reguli de
dirijare a unui proces de căutare (de aceea se recomandă citirea
fişierelor de Help disponibile în homepage-ul instrumentului).
Cel mai popular motor de căutare este Google. Google
utilizează tehnici sofisticate de căutare pentru a găsi paginile care
sunt importante şi relevante. De exemplu, când Google analizează o
pagină, urmăreşte ce relevanţă au inclusiv legăturile din acea pagină.
De asemenea, Google preferă paginile în care termenii căutării sunt
unii lângă alţii. Caracteristici Google:
o "şi" este implicit. Google afişează doar paginile care includ toţi
termenii căutării. Nu este necesară includerea unui "and" între
termeni. Pentru a rafina căutarea, se pot adăuga alţi termeni.
o Cuvinte stop. Google ignoră cuvinte şi caractere comune,
cunoscute drept cuvinte stop. Google sare automat termeni ca "http"
á Software de sistem şi software de aplicaţie 57
Exemple:
Internet Internet
CONSUMATOR
Produsul expediat la
consumator
C Structuri de date şi
programare structurată
C 1. Conceptul de algoritm
Definiţie
Algoritmul este un concept intuitiv reprezentând o mulţime
finită şi ordonată de paşi executabili descrişi fără echivoc, care,
pornind de la o mulţime de valori, numită domeniul de definiţie
(intrarea), produce în timp finit o altă mulţime de valori
(ieşirea).
Algoritm
Problema + Program
Date
abstractizare codificare
False
C Structuri de date şi programare structurată 71
va nota: False
Acţiune b
IF C THEN a ELSE b
c Structura D.
i=n
Acţiune an
s1 s2
s3
True a1 a2
False
C1 a3 C4 a6
True
True
False
C2 False
a5
False True
a4 C3
s5
s4
P: s1; s2; a6
s1: IF C1 THEN s3 ELSE s4
s3: a1; a2
s4: IF C2 THEN a3 ELSE s5
s5: REPEAT a4 UNTIL C3
s2: WHILE C4 a5
Definiţie
O structură de date defineşte un grup de date (omogene sau
eterogene) între care s-au stabilit o serie de legături în scopul
realizării unor mecanisme de identificare, selecţie şi prelucrare a
componentelor acestui grup.
Materiale Produse
M4 0
M2 0 P1 legături interne
legături externe
M1 0 0 P2
M3 0
S2 0 0 M2
0 M3
S3 0
C Structuri de date şi programare structurată 75
0 S1
G1 0 0 S3
0 S5
G2 0
0 S2
0 S4
Materiale Produse
M4 0
M2 0 P1
0 P3
M1 0 0 P2
M3 0
S1 M1
M2
F1
S2 M4
F2 S3 M3
Nivel 1 a1 a2 a3
Nivel 2 b1 b2 b3 b4 b5 b6 b7
Nivel 3 c1 c2
C Structuri de date şi programare structurată 77
P1 P2
Nivel 0
Clienţi Materiale
C1
M1 M3
C2 M2
Nivel 1
Furnizori Comenzi
F4 F1 Com1
Com2
F2 F3
Nivel 2
Nivel 0 r1 r2
Nivel 1 a1 a2 a3
Nivel 2 b1 b2 b3 b4 b5 b6 b7
Nivel 3 c1 c3
Clienţi Furnizori
F1
C1 F2
Nivel 0
Note de
Contracte comanda
Ct2 N1
Ct1 N3
Ct3 N2
Nivel 1
Produse Materiale
P1 M1
P2 M2
Nivel 2 P3
d1 d2 dn
d1 d2 dn
a1 a2 a3
b1 b2 b3
c1 c2
P1 P1
M1 M2 M3 M4 M4
Definiţie
Dată fiind o colecţie de mulţimi D1, D2,....Dn,numite domenii, nu
neapărat distincte, R este o relaţie pe aceste n mulţimi, dacă există o
mulţime de n-tupluri (d1, d2,......dn) astfel încât d1∈D1, d2∈D2,
....dn∈Dn.
Convenţii de scriere:
relaţia: Model[Firma, Culoare]
domenii: Firma {FIAT, BMW, VW, …}
Culoare {Roşu, Alb, Verde,….}
atribut Model.Firma, Model.Culoare
tuplu (FIAT, Roşu)
(BMW, Roşu)
Observaţii
• Atributele sunt unice (nu pot exista coloane cu
nume identice).
• Ordinea liniilor şi a coloanelor în tabel este
indiferentă.
• Atributele reprezintă o mulţime finită de valori
inclusă în mulţimea valorilor posibile dintr-un
anumit domeniu (a nu se face confuzie între
domeniu şi atribut).
din cel puţin un atribut (cheie simplă). Când mai multe atribute
contribuie la constituirea cheii, cheia se numeşte cheie compusă (din
chei primare, chei secundare).
Exemplu
În relaţia Marca, atributul Marca.Cod permite identificarea într-o
manieră unică a unui tuplu (cheia este singulară). Se poate accepta
următoarea convenţie de scriere (cheia este subliniată):
Marca[Cod, Firma, Culoare]
Exemplu
Fie relaţiile Marca[Cod, Firma, Culoare]
Clienţi[Cod, Client, Data, Cantitate]
În aceste relaţii atributul Cod, comun celor două relaţii este
cheie în relaţia Marca deci trebuie să conţină toate valorile cuprinse în
atributul Clienţi.Cod.
¾ Reuniunea
Notaţii: R = R1 ∪ R2 = { t | t∈R1, sau t∈R2 } t -tuplu
Simbol
R1 R2 R = OR (R1, R2)
R = APPEND (R1, R2)
∪ R = UNION (R1, R2)
Exemplu: Model3 = Model1 ∪ Model2
R3
Model1 Firma Culoare Model2 Firma Culoare
FIAT Roşu BMW Roşu
BMW Roşu FIAT Alb
FIAT Alb BMW Alb
BMW Alb VW Alb
VW Alb
¾ Intersecţia
Notaţii: R = R1 ∩ R2 = { t | t∈R1, şi t∈R2 } t -tuplu
Simbol
R1 R2 R = AND (R1, R2)
R = INTERSECT (R1, R2)
∩
Exemplu: Model3 = Model1 ∩ Model2
R3
Model1 Firma Culoare Model2 Firma Culoare
FIAT Roşu BMW Roşu
BMW Roşu FIAT Alb
FIAT Alb BMW Alb
BMW Alb VW Alb
VW Alb
R3
Exemplu: Model3 = Model1 Model2
¾ Produsul cartezian
Simbol
R1 R2 Notaţii: R = R1 X R2= {(t1, t2)|t1∈R1, t2∈R2 } t -tuplu
R = PROD (R1, R2)
X R = TIMES (R1, R2)
¾ Selecţia
Simbol
R
Notaţii: S = σ condiţie (R)
S = SELECT (R, condiţie)
Condiţie S = RESTRICT (R, condiţie)
Exemplu: Auto1 = σ Culoare=Alb (Auto)
S
Culoare=Alb
Firma,
Culoare
¾ Joncţiunea
R3
Exemplu: Modele = Auto >< Tip
Culoare
Observaţie: Această operaţie poate fi echivalată în felul următor:
J = R1 >< R2 = σ condiţie (R1 X R2)
=
Culoare
Utilizatori
Definiţie
Baza de date este un ansamblu de date stocate în unul sau mai
multe fişiere de date, aflate în interdependenţă, împreună cu
descrierea datelor şi a relaţiilor între ele.
92 C Structuri de date şi programare structurată
Baza de date, astfel definită, trebuie să îndeplinească
următoarele condiţii:
• structura bazei de date trebuie să fie astfel concepută
încât să asigure informaţiile necesare şi suficiente de
acces;
• să asigure o redundanţă minimă şi controlată a datelor;
• să asigure accesul rapid la datele stocate;
• să asigure independenţa datelor faţă de programele de
prelucrare şi invers.
5. Restricţii:
SGBD permite respectă regula de unicitate a cheii şi regula de
restricţie referenţială.
C 4. Limbaje algoritmice
C 4.1. Datele
C Criteriul variabilităţii
constante - nu se modifică în intervalul de timp destinat
execuţiei programului:
- constante numerice (numere întregi şi reale
reprezentate în mod uzual);
- constante booleene (logice), cu valori de
adevărat (true) sau fals (false);
variabile - se modifică pe durata derulării programului
(se poate vorbi de valori iniţiale, intermediare şi finale).
Acest grup de date este pus în corespondenţă cu anumiţi
identificatori.
CInstrucţiunea de atribuire:
variabilă = expresie
CInstrucţiunea de oprire:
stop
repetă
secvenţa
până condiţie
Se execută, cel puţin o dată, pentru condiţie adevărată.
C 4.3.1. Proceduri
C 4.3.2. Funcţii
Observaţii
• O procedură sau o funcţie poate avea un număr oarecare de
parametrii (eventual nici unul).
• Între parametrii formali şi cei efectivi se realizează o
corespondenţă biunivocă, în sensul că parametri actuali şi cei
efectivi trebuie să corespundă ca număr şi tip.
• Apelul funcţiei este considerat ca un operand al expresiilor.
Lista de parametrii formali conţine doar parametri de intrare,
singurul parametru de ieşire fiind chiar numele funcţiei.
Aplicaţii
C1. Definirea şi apelul unei funcţii de calcul.
> Formularea problemei.
Să se calculeze:
n!
C nk =
k!(n − k )!
Definirea funcţiei
funcţia FACT(m)
FACT = 1
pentru i= 1, m, 1
execută FACT=FACT*i
sfârşit
Apelarea funcţiei
citeşte n,k
c=FACT(n)/FACT(k)/FACT(n-k)
scrie c
stop
stop
> Metoda 1
Se execută comparări succesive începând cu primul element.
> Prezentarea algoritmului
citeşte n, (a[i], i=1, … ,n)
min=a[1]
max=a[1]
pentru i= 2, n, 1
execută dacă a[i] < min atunci min=a[i]
stop
> Metoda 2
În funcţie de paritatea lui n, se începe cu una din următoarele
iniţializări:
- dacă n par ⇒ min = minim (a1, a2), max = maxim (a1, a2)
- dacă n impar ⇒ min = a1, max = a1
Se consideră perechi succesive de elemente de forma:
(ak, ak+1) unde:
k = 3,5, ... ,n-1 pentru n par
k = 2,4, ... ,n-1 pentru n impar.
Se compară min cu minim(ak, ak+1) şi max cu maxim (ak, ak+1)
actualizându-se eventual valorile lui min şi max.
104 C Structuri de date şi programare structurată
> Prezentarea algoritmului
citeşte n, (a[i], i = 1, … ,n)
altfel
dacă a[k+1]<min atunci min=a[k+1]
stop
altfel u=i-1
scrie cod, p
stop
> Test: A = (3, 5, 7, 8, 11, 15)
- pentru x=7 ⇒ cod=1, p=3
- pentru x=10 ⇒ cod=0, p=5
- pentru x=2 ⇒ cod=0, p=1
repetă
gata=true
pentru i= 1, n-1, 1
execută
dacă a[i] > a[i+1] atunci w=a[i]
a[i]=a[i+1]
a[i+1]=w
gata=false
până gata
stop
pentru i= 1, n, 1
execută k[i]=0
pentru j= 2, n, 1
execută pentru i= 1, j-1, 1
execută
dacă a[i] < a[j]
atunci k[j]=k[j]+1
altfel k[i]=k[i]+1
pentru i= 1, n, 1
execută b[k[i]+1]=a[i]
scrie (b[i], i=1, … ,n)
stop
C Structuri de date şi programare structurată 107
pentru j= 2, n, 1
execută x=a[j]; k=0; gata=false; i=j-1
repetă
dacă a[i] ≤ x atunci k=i; gata=true
stop
stop
stop
C Structuri de date şi programare structurată 109
PROGRAM
SURSĂ
Analizorul
lexical Analizorul
sintactic Generatorul
de cod
PROGRAM
OBIECT
Bibliografie
Chan M., Java, 1001 Secrete pentru programatori, Ed. Teora, 2001
Griffith S., Iasi A.