Sunteți pe pagina 1din 6

LUCRARE ATESTAT

Absolvent:Sorescu Bogdan

Profesor coordonator:
Giorgescu Emilia-Mihaela

Motru
2015

CUPRINS

C/C++ Un limbaj de nivel mediu si structurat

C este adesea numit limbaj de programare de nivel mediu, dar asta nu nseamn c este
mai slab sau greu de folosit fa de un limbaj de nivel nalt de programare, cum
este BASIC sau Pascal. Este considerat limbaj de nivel mediu deoarece combin elementele unui
limbaj de programare nalt cu controlul i flexibilitatea limbajelor de asamblare (assembler
language).
C permite manipularea biilor, byte-urilor (octeilor) i adreselor (de memorie) - elementele
de

baz

cu

care

lucreaz

calculatorul.

Limbajul C este de asemenea portabil, adic este uor s adaptai un software scris pentru un
anumit sistem de operare (sau calculator) la alt sistem de operare. De exemplu, dac putei
converti uor un program scris pentru UNIX ntr-unul care s funcioneze pe Windows, atunci
acel

program

este

portabil.

Un alt aspect important al C este c dispune de puine cuvinte-cheie (keywords). De


exemplu, C89 definete doar 32 de cuvinte-cheie, n timp ce C99 definete, n plus, nc 5
cuvinte. Unele limbaje de programare pot avea mai multe; cum este BASIC care are peste 100 de
cuvinte-cheie!
C este un limbaj structurat nsemnnd c putei scrie subrutine (funcii), suport structuri de
control, cum ar fiwhile, for, do-while. Un limbaj structurat v permite s plasai instruciunile
oriunde

pe

linie.

Principala component a limbajului C este funcia. Funciile sunt elementele de baz n care
se defoar ntreaga activitate a programelor. Ele v permit s scriei, s definii, codul separat,
avnd

astfel

un

program modular.

O alt cale de a v structura programul este folosirea blocurilor de cod. Blocul de cod este un
grup de instruciuni tratat ca o unitate (ca o singur instruciune compus). n C, blocurile de
instruciuni sunt delimitate de acolade ({}):

Ce sunt functiile ?
Din punct de vedere conceptual, functia reprezinta o aplicatie definita pe o multime D
(D=multimea, domeniul de definitie), cu valori in multimea C (C=multimea de valori,
codomeniul), care indeplineste conditia ca oricarui element din D ii corespunde un unic element
din C.

Sa lasam aceasta definitie complicata,ceea ce este mai usor de retinut si la fel de corect: Un
program C/C++ este un ansamblu de functii.

Forma generala

tip_functie nume_functie(parametru 1,parametru 2,parametru 3, ,parametru n)


{
secventa de instructiuni
}
Unde:
- tip_functie este tipul valorii pe care o intoarce functia ;
-nume_functie este numele pe care dorim sa i-l punem functiei ;
- parametru 1, parametru 2, parametr 3, , parametru n reprezinta lista de parametrii (nr vom
lamuri in scurt timp ce sunt parametrii ) ;
-secventa de instructiuni este practic ceea ce vrem sa faca functia .
Exemplu:
Sa vedem si un exemplu clar de functie:
?
1
#include <iostream.h>
2
#include <conio.h>
3
int inmultire(int nr1,int nr2)
4
{
5
int rezultat;
6
rezultat=nr1*nr2;
7
return rezultat;
8
}
9
int main()
10
{
11
int nr1,nr2;
12
cout<<"Dati primul numar: ";cin>>nr1;
13
cout<<"Dati al doilea numar: ";cin>>nr2;
14
cout<<"Rezultat: "<<inmultire(nr1,nr2);
15
getch();
16
return 0;
17
}
Sper ca ati observat ca am declarat functia imediat dupa ce am declarat bibliotecile pe care le-am
folosit. Acum sa analizam putin programul Am creat o functie inmultire( ) , cu

parametrii nr1 si nr2. In variabila rezultat am calculat produsul celor 2 variabile parametru. Am
spus ca functia va returna acest rezultat prin return rezultat;
In functia principala am declarat 2 variabile, le-am citit de la tasatura si am afisat produsul
acestora cu ajutorul functiei.

Parametrii functiilor

Parametrii sunt elementele de care depind functiile. In exemplus de mai sus acestia erau nr1 si
nr2. De ce depinde functia inmultire( ) de acesti parametrii ? Pentru ca pe ei se bazeaza cand
calculeaza rezultatul, de ei are nevoie. Pentru a stoca produsul parametrilor am folosit variabila
auxiliara rezultat.
Exemplu:
?
1
#include <iostream.h>
2
3
#include <conio.h>
4
5
int adunare (int a, int b)
6
{
7
int r;
8
r=a+b;
9
return (r);
10
}
11
12
int main ()
13
{
14
int z;
15
z = adunare (7,3);
16
cout << "The result is " << z;
17
18
getch();
19
20
return 0;
21
}
Functia adunare ( ) calculeaza suma numerelor 7 si 3. O atribuie variabile z in cadrul functiei
principale. In final vom afisa variabila z.

Functii fara tip

Functiile care nu ai niciun tip nu trebuie sa returneze o valoare, pot afisa un mesaj. Numite
si void functions aceste functii sunt la fel de importante ca si cele cu un tip bine definit.
Declaram o functie de acest gen astfel:
void functie(void)

Exemplu
1
#include <iostream.h>
2
#include <conio.h>
3
void mesaj(void)
4
{
5
cout<<"Sunt o functie void !";
6
}
7
int main()
8
{
9
mesaj();
10
getch();
11
return 0;
12
}
Functia mesaj ( ) afiseaza pur si simplu: Sunt o functie void ! . La ce folosesc astfel de functii ?
Vom vedea imediat.Programul de mai jos citeste de la tastatura elementele unui vector de n
elemente, iar cand gaseste ca suma a 2 numere de pe pozitii consecutive este numar par afiseaza
mesajul am gasit !
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

#include <iostream.h>
#include <conio.h>
void gasit(void)
{
cout<<"am gasit ! "<<endl;
}
int main()
{
int v[10],i,n;
cout<<"n=";cin>>n;
for (i=0;i<n;i++)
{
cout<<"v["<<i+1<<"]=";cin>>v[i];
}
for (i=0;i<n;i++)
if ( (v[i]+v[i+1])%2==0) gasit();
getch();
return 0;
}