Sunteți pe pagina 1din 2

Limbaje de Programare

Laboratorul 4: Organizarea Programelor


Dan Novischi
13 martie 2017

1. Introducere
Scopul acestui laborator este lucrul cu funct, iile si fis, ierele ı̂n vederea structurării programelor
ı̂n limbajul de prgramare C. Obiectivul fiind acela de a structura programele relizate ı̂n
laboratoarele anterioare.
Forma generala a unei funcitii este:

1 tip_date_output nume_functie(lista_parametrii){
2 // Intructiuni din coprul functiei
3 }

2. Exemple de Definitii
1 double square(double x){
2 double s = x*x;
3 return s;
4 }
5

6 double max(double a, double b){


7 return (a > b)?(a):(b);
8 }
9

10 void printNaturals(int n){


11 if(n < 0)
12 return;
13 for(int i = 0; i <= n; i++)
14 printf("%d ", i);
15 printf("\n");
16 }

1
3. Cerint, e
Cerint, a 1 (3p) Realizati un program care sa implementeze urmatoarele functii:

• myAbs – Functia calculeaza modulul unui numar real.

• myCeil – Functia rotunjes, te un numar real la un intregul imediat superior.

• myFloor – Functia rotunjes, te un numar real la un intregul imediat inferior.

• mySqrt – Functia aproximeaza radicalul unui numar real.

• myExp – Functia aproximeaza functia ex folosind seria Taylor.

si sa afiseaza rezultatul apilicarii acestora, impreuna cu rezultatul aplicarii functiilor analoage


din libraria matematica.

Cerint, a 2 (1p) Structurat, i programul de la cerint, a 1 in 3 fisiere: main.c, MyMath.c s, i


MyMath.h pastrand functionalitatea anterioră.

Cerint, a 3 (3p) Modificat, i programul de la cerint, a 2 astfel incat sa permita o selectiei


intre funct, iile implementate prin intermediul construct, ie switch-case. Selectia se va face
prin citirea unei optiuni aferente de la tastatura. Daca optiunea introdusa nu exista se va
afisa un mesaj corespunzator. Altfel afis, arile rezultatelor se vor realiza individual in funct, ie
de optiunea aleasa.

Exemplu Rulare corecta a programului in urma alegerii optiunii sqrt:

Introduceti numarul: 2
Alegeti optiunea [1-5]: 4
1) abs
2) ceil
3) floor
4) sqrt
5) exp

mySqrt: 1.4166; sqrt: 1.41421

Cerint, a 4 (1p) Definit, i două funct, ii locale fis, ierului MyMath.c, din cadrul cerint, ei 3, care
sa transforme un unghi din radiani in grade rad2grad s, i una care sa transforme un unghi
din grade in radiani grad2rad.

Cerint, a 5 (2p) Pe baza funct, iilor definite la cerint, a 4 s, i cele din librăria matematică
math.h implementat, i două funct, ii noi pentru calculul sinusului mySinDegrees s, i consinusul
myCosDegrees al unui unghi exprimat in grade. Adăugat, i opt, iuni si afis, ari de rezultate
aferente celor două funct, ii in meniul realizat la cerint, a 3.

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