Sunteți pe pagina 1din 3

PROGRAMARE 1

LUCRAREA NR. 2

Pentru nici una din problemele care se vor rezolva la disciplina


Programare 1
NU SE FOLOSESC VARIABILE GLOBALE

ELEMENTE INTRODUCTIVE ALE LIMBAJULUI C


1. PRIMUL PROGRAM N C
Programele pe care le scriem n C lucreaz cu variabile, constante, funcii i
instruciuni.
n variabile stocm diferite informaii care se pot modifica pe parcursul execuiei
programului (de aici i numele de variabil), constantele sunt valori care nu se
modific pe parcursul execuiei programului.
Funciile sunt poriuni de cod (similare rutinelor din limbajul de asamblare) care
pot face o prelucrare bine determinat a unor informaii (de exemplu putem avea o
funcie care, avnd la dispozie lungimile laturilor unui triunghi, s calculeze aria
triunghiului). Pentru a putea scrie o funcie trebuie s avem specificm informaiile pe
care le are la dispoziie o funcie pentru a face o anumit prelucrare. Aceste informaii
le vom numi n contnuare date de intrare pentru funcie sau parametri de intrare ai
funciei. De asemenea, trebuie s cunoatem ce rezultat avem dup ce funcia face
toate calculele. De fapt, pentru a putea scrie sau a folosi o funcie trebuie s
cunoatem ce fel de rezultat ateptm de la funcie (Valoarea rezultat este de tip
ntreg sau real?). Pe msur ce naintm n cunoaterea limbajului vomvedea c o
funcie poate avea i altfel de rezultat, dar deocamdat este suficient s tim mcar
acest lucru.
Programele scrise n C respect urmtorul principiu: nu lucreaz dect cu lucruri
pe care le cunosc.
Din acest motiv nainte de a folosi o variabil trebuie s specificm ce fel de
variabil este. Acest lucru se face indicnd tipul (ntreg sau real) variabilei (sau
variabilelor cu care lucrm).
Exemple:
a) dac vrem s lucrm cu o variabil de tip ntreg pe care s o
denumim a vom scrie:
int a;
b) dac vrem s lucrm cu o variabil de tip real n simpl precizie care
s aib numele ma:
float ma;
Pentru o variabil de tip real n dubl precizie vom avea:
double ma;
n cazul unei funcii, indicarea modului n care vom lucra cu funcia respectiv
nseamn s indicm informaiile pe care funcia trebuie s le primeasc la intrare
(care se numesc parametri de intrare) i tipul rezultatului pe care l primete funcia.
De exemplu dac vom lucra cu o funcie care calculeaz media aritmetic a dou
numerre ntregi vom scrie prototipul (modelul) funciei astfel:

PROGRAMARE 1

LUCRAREA NR. 2

double mediaAritmetica(int a, int b);


n care:
double

mediaAritmetica

(int a, int b)

Prototipul
funciei
trebuie ntotdeauna s
se termine cu acest
semn de punctuaie.
Parametri de intrare ai funciei. Reprezint
informaiile de care are nevoie funcia
pentru a calcula rezultatul cerut.
n acest caz pentru a calcula media aritmetic
a dou numere ntregi avem nevoie de cele
dou numere ntregi.
Numele funciei; numele trebuie s fie sugestiv pentru ce calculeaz
funcia.
Tipul funciei care coincide cu tipul rezultatului calculat de funcie
n acest caz pentru c media aritmetic a dou numere este un numr real,
rezultatul calculat de funcie este un numr real, deci funcia va fi de tip real.

TEMA 1
Problema nr. 1.1
Se citesc de pe dispozitivul de intrare 3 numere care reprezint lungimile laturilor
unui triunghi. S se calculeze aria triunghiului folosind formula lui Heron.

A=

p(p a)(p b)(p c )

unde p este semiperimetrul triunghiului.


Observaie: pentru calculul radicalului se folosete funcia sqrt al crui prototip
se gsete n fiieul header math.h.
Problema nr. 1.2.
S se scrie un program care citete de la tastatur trei numere ntregi i afieaz
maximul lor.
Problema nr. 1.3.
S se scrie un program care citete de la tastatur cinci numere ntregi (nu se
vor folosi vectori), dup care determin i afieaz media lor aritmetic (pentru
mprire se folosete operatorul '/'; pentru a lucra cu numere reale - necesar
probabil pentru medie se folosete tipul de data float / double pentru reprezentarea
n simpl /dubl precizie, cu specificatorii de conversie '%f' i respectiv '%lf').

PROGRAMARE 1

LUCRAREA NR. 2

Problema nr. 1.4


Fie urmtoarea funcie:

x 2 + 3x + 5, x ( ,2]

f (x ) = 3x,
x (2,8)
x
e + 2,
x [8, )

S se calculeze valoarea funciei f pentru un x citit de pe dispozitivul de intrare.


Problema nr. 1.5.
S se scrie un program care citete de la tastatur trei numere ntregi i
determin dac aceste numere pot reprezenta lungimile laturilor unui triunghi. n caz
afirmativ, programul trebuie s determine i tipul triunghiului (isoscel sau dreptunghic
sau echilateral sau oarecare). (Rezolvarea va cuprinde funcii pentru determinarea
calitii de triunghi, triunghi echilateral, triunghi isoscel sau triunghi dreptunghic).
TEMA 2
Problema nr. 2.1.
Se citesc de pe dispozitivul de intrare 3 numere reale care reprezint coeficienii
unei ecuaii de gradul 2. S se determine rdcinile acestei ecuaii. n cazul n care
ecuaia nu poate fi rezolvat se vor afia mesaje corespunztoare.
Problema nr. 2.2.
Un punct din plan este dat prin coordonatele sale (x, y). S se stabileasc poziia
punctului prin indicarea cadranului (1, 2, 3, 4) n care este plasat. Pentru un punct
situat pe una din semiaxe se vor preciza cadranele separate de semiaxa respectiv
(de exemplu 2-3).
Problema nr. 2.3.
S se calculeze durata unei conexiuni Internet cunoscndu-se momentul
conectrii (dat prin or, minut i secund) i momentul deconectrii (de asemenea dat
prin or, minut i secund). Trebuie s se ia n consideraie cazul n care o conexiune
ncepe ntr-o zi i se ncheie n ziua urmtoare. Atenie: rezultatul trebuie afiat sub
forma ore, minute, secunde, deci pentru calcul NU se va transforma totul n secunde.
Problema nr. 2.4.
S se calculeze momentul ntreruperii unei conexiuni Internet dac se cunoate
momentul de conectare (dat prin or, minut i secund) i durata total a conexiunii
(dat prin ore, minute i secunde). Se ia n consideraie i cazul n care o conexiune
nceput ntr-o anumit i se poate ncheia n ziua urmtoare. Atenie: rezultatul
trebuie afiat sub forma ore, minute, secunde, deci pentru calcul NU se va transforma
totul n secunde.

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