Sunteți pe pagina 1din 10

Limbajul de programare in C++

-este o varianta imbunataTITA A LIMBAJULUI c APARUT IN 1970


-C++ apare la inceputul anilor 80
-este un limbaj de programare de nivel inalt, a carui stil de programare este
programarea structurata si folosirea structurilor de control(structuri de control
secventiale si repetitive).

Programare structurata
foloseste
structuri de control
seventiale
alternative
repetitive
OBS: C++ are o versiune care foloseste programare orientata pe obiecte C# (C
sharp),
Limbajul de programare C++ sta la baza limbajului de programare PHP
Un program C++ este format din mai multe fisiere sursa.
Program C++

Fisier sursa( se poate mai multe)

Fisiere Header
Functia MAIN
Alte functii

EX:
#Include <iostream>
using namespace std;
int main
{
cout << Hello
World;
return 0;
}

}
Obs: Un program poate contine unul sau mai multe fisiere sursa. Fiecare fisier sursa
are un cod sursa si contine atat fisiere header, cat si functiile folosite de
programator pentru realizarea algoritmului problemei.
Codul sursa este introdus in fisierul sursa. Codul sursa este un fisier text sctis de
programator in sintaxa limbajului C++.
Functia MAIN este functia principala a unui program, deoarece executia programului
incepe cu executia acestei functii care poate apela apoi la randul ei alte functii din
program.

Obs: Toate functiile folosite in program trebuie sa fie definite in fisierul sursa, intr-un
fisier header sau in functia MAIN.
Def: Fisierele header sunt fisiere aflate deja in sistem sau create de programator si
contine 2 puncte:
- Functii predefinite existente deja in limbaj
- Declaratii si definitii de functii si variabile, care se gasesc deja in limbaj sau
sunt prescrise de programator.
DEF: O functie in limbajul de programare C++ este un set de instructiuni.
Ex: Functie instructiuni
- de atribuire
- de afisate
-de apelare a altei functii
Obs: O instructiune este o expresie valida din puncte de vedere al sintaxei, limbajul
de programare este tot timpul urmat de ;.
Fisiere Header
Obs: 1. Un fisier header are extesia .h
2. Un fisier header este introdus intr-un limbaj de programare C++ prin
directiva procesor.
#include <iostream>
# -> simbolul care reprezinta o directiva procesor.
< > -> simbolul care indica faptul ca iostream este un fisier header.
Ex: directive procesor : # include pentru includerea fisierului header.
# define pentru definirea unor constante si functii .
EX #define TRUE 1 sau define #define FALSE 0
Ex1: iostream.h permite afisarea datelor din program intr-o fereastra numita
consola.
-contine instructiunile de intrare si iesire (i/o) cin si cout.
2.conio.h - clrscr (); (clear screen)
- getch (); (get char)
3.Studio.h
4.math.h functia header care contine functiile matematice elementare.
Functia
Functia
Functia
Functia
Functia

putere
radical
exponentiala
sinus
cosinus

Pow(x,n)
Sqrt(x)
Exp(x)
Sin(x)
Cos(x)

x^n
Radx
e^x (e nr lui euler =~ 2.7
sinx
cosx

4.cmath.h avem definite constanta pi -> M-pi =~ 3.14


Vocabular C++
Alfabet: litere A->Z(a->z)
cifre 09
caracter -> operatori +, -, *, /, etc.
`
- delimitatori: \n (newline) \t(new tab);

perechi de caractere : -() este folosita la denumirea functiei si incadreaza


- se foloseste pentru schimbarea ordinii
efectuarii operatiilor in expresii matematice
- {} -> delimiteaza blocul unei functii sau a unei
instructiuni compuse
- -> incadreaza o constanta char sau un sir
- -> icadreaza o constanta char
-// -> comentariu
- /* */-> incadreaza un comentariu
Unitati lexicale: - grupuri de caractere special care au o semnificatie anume
pentru limbajul de programare C++/
Identificatori - numele pe care il da programatorul pentru a identifica
variabilele functiei main sau altor functii din algoritm, precum si numele
unor functii speciale(ex: aria, suma numerelor)
Cuvinte cheie cuvinte proprii limbajului C++, care au o alta semnificatie
decat in limbajul uzual
-pot reprezenta tipuri de date : int , double, char etc.
-instructiuniL if for etc.
-operatori : sizeof
Obs: Sa nu folosim ca si denumiri de identificatori cuvintele cheie.
(NICIODATA)!
Datele in C++
Datele in limbajul de programare C++ apar sub doua forme:
Variabile- zone de memorie a caror continut sunt valori care pot fi
modificate in timpul executiei programului.
Constante- reprezentarea datelor sub forma de valori si de caractere
cunoscute anticipat, care nu se pot modifica in timpul executiei
programului prin operatii sau instructiuni
Obs:Numele unei date este un identificator si poate sa contina maxim 32
de caractere.
Variabilele
-Char caractere
-int numere intregi
-float numere reale cu precizie simpla
-double-numere reale cu precizie dubla

Obs: Din tipurile de date variabile principale se pot obtine tipuri de


derivate prin completarea unui calificator.

Calificatori : -signed
-unsigned
-short
-long
Tipuri de variabile derivate :
Char signed char
Unsigned char
Int - -unsigned int
-Short int
-long int
-long long int
Double
-long double
1.Tipuri de date unsigned int reprezinta numere naturale.
2.Tipul int -> memorat pe 2 bytes(2 octeti)
Long int -> 4 octeti
Float -> 4 octeti
Double
-> 8 octeti
Long double-> 12 octeti
Ex: int -> 2 octeti = 16 biti
Val min = -2^16-1 = -2^15 = -32 768
Val max = 2^16-1 = 2 ^15 = 32 768
Declararea variabilelor
Tipvariabila numevariabila;
Ex: double a, b;
Int x;
Constante
Def: O constanta este o forma de reprezentare externa a unei date, numita
literal:
-numeric
-caracter
Constatnte numere intregi:
in baza 10 ( ex 250)
In baza 8 (0712)
In baza 2(110010101001)
In baza 16( 0X2A3D)
Tipurile derivate (23.179.345.634)

Constante numere reale:


3.712457 -> double
-5.16 F(f) -> float
Constante caracter
Ex:a
Obs: O constanta character este tot timpul memorata pe un octet\]
Constante sir de caracter:
Ex: clasa 9a este cuminte
Caractere neimprimabile:
Ex:
\n rand nou
\t- tabulator orizontal
\v- tabulator vertical
\a- sunet
Declararea constantelor:
Const tip_constanta
Nume_constanta = expresie/valoare
Ex:const double Pi = 3.1415
I/O ops
Def: Operatiile de intrare/iesire ale datelor sunt realizate in C++ cu ajutorul
dispozitivelor de intrare si iesire care sunt instructiunile cin si cout.
cin console input (tastatura) operatia de intrare
cout - console output ( ecran) operatia de iesire
Operatori specifici->
cin>> operator de intrare
Cout << operator de iesire
Ex:

cout << Hello World;


Cout << L=; ( se afisaza L= ) cin >> L;

Operatori C++
Operator = legatura (operatia algebrica) dintre doua sau mai multe date ,
care se vor numi in acest context operanzi.
Tipuri de operatori
-> unari se aplica unui singur operator
-> binari-face legatura intre doi operanzi
->ternari-face legatura intre trei operanzi
Expresia = o combinatie formata din mai multi operanzi si operatori
Ex: [(2+3)/4]*5
Obs: O expresie are 2 caracteristici
tip
-valoare
Ex:
double expr.1 , a, b;
Expr.1 = (a*b)/2+a;

1.Operatorul unar adresa -> &


Ex:
int a, b;
Cout<< Adresa variabilei a este << &a << \n;
2. Operatorul binar de atribuire -> =
Sintax: nume_var = expresie / valoare;
Expresie1 = expresie2
Ex: int a, b;
a=b=10;
Obs: Asociativitatea operatorului de atribuire este de la dreapta la stanga
adica in program prima data variabila b=10 si apoi variabila a= valoarea
variabilei b.
3.Operatorii aritmetici unari- - operator de schimbare a semnului
- ++ incrementare
---- decrementare
Notatie si ex:
-x (2 devine -2)
-a++ /++a(a+1)
-a-- /--a(a-1)
4. Operatori aritmetici binari
- + adunare
-- scadere
-* inmultire
-/ - impartire
-% impartirea modulelor ) rezultatul va fi restul
Obs:
-operatorii / si % dau rezultatele mentionate mai sus in int
-

In float sau double da cu zecimale


5.Operatori relationari binari compusi:
== - a==b a egal cu b
!= - a!=b a diferit de b
> - a>b a mai mare ca b
< - a<b a mai mic ca b
>= - a>= b a mai mare sau egal cu b
<= - a<=b a mai mic sau egal cu b

EX:
void main();
{
Int a, b, c;
a = 5;
b = 2;
if (a == 6)
{
C=a*b;
}
Else
C=a%b;
Cout << c;
}
7.Operatori logici
! - !(a==b) negatie
&& - (a>b)&&(b>c) si
|| - (a>b)||(b>c) sau
8.Operator conditional ?:
#include <iostream>
Using namespace std;
Int main()
{
Double x;
Cout<< x = ; cin>>x;
Int s;
S = (x>=0 ?1:-1);
If(semn == 1)
Cout<< numarul este pozitiv\n;
Else cout<<numarul este negativ\n;
Return 0;
}
9.Operator unar size of()
Obs: Se aplica unei date sau unui tip de date
Cout <<int ii pe << size of(int)<<bytes;
Cout <<sirul de caractere
10.Operatorul unar(tip)
Obs: este operator de conversie
A: in -> double

Structurile de control din limbajul C++


Datele se prelucreaza in interiorul calculatorului cu ajutorul
algoritmilor. Acesti algoritmi trebuie implementati intr-un limbaj
de programare. Un algoritm este format dintr-un set de
instructiuni ordonate de catre programator, aceasta ordine a
executarii instructiunilor defineste structura de control
Obs: Limbajele de programare moderne sunt realizate pe baza
principiului programarii structurate adica algoritmii sunt realizati
prin intermediul structurii de control.
C++
-secventiala
-alternativa(de decizie)
-repetitiva (ciclica)
Structura secventiala = O insiruire de instructiuni in ordinea in
care programatorul doreste executarea acestora
Sintaxa:
Instruction1;
Instruction2;
Etc:
Int x,y;
X=3;
Y=7;
X=3*y-1;
Y=x%2;
Cout<< y;
// se afiseaza 0
Clasificarea instructiunilor:
1. Instructiunea simpla :
instructiune; x=7;
2. Instructiunea compusa :
se delimiteaza cu acolada
{} :D
3. Instructiunea expresie sau apelare functie:
sin (x)
Structura de decizie = instructiunea if:
Sintaxa: if (expresie) {instructiune 1;}
Else {instructiune 2;}

Ramura else e optionala. La intalnirea instructiunii if de


evaalueaza expresie(care reprezinta o conditie) din paranteze.
Daca valoarea expresiei e 1 se executa instructiune 1, iar daca nu
se executa instructiune2
Observatii:
1 instructiune1 si instructiune2 pot fi instructiuni compuse
(blocuri), sau chiar alte instructiuni if
Ex: int x=1,y=2;
If(x<y){x=x-y}else{x=y-x};
Cout<< x;
//se afiseaza 1
2 se observa ca observatia din paranteza este o conditie
Problema: sa se verifice daca nr. natural n citit de la tastatura e
par.
Tema: 1. F:R->R, f(x)=(x^2, x<0; x+1,x=>0)
2. f:R->R, f(x)=(x-1, x<-5;2*x+3,x=[-5;0))
3. n nat. n%6=0?
Structurile repetitive: de 2 tipuri: test initial si test final
Test initial: while si for
While: sintaxa: while(expresie){instructiune;}
Mod de operare: se evalueaza expresia din
paranteza;instructiunea se executa atata timp cat expresia are val
1, iar cand expresia va lua valoarea 0 instructiunea nu se va mai
executa (Obs: expresia e de obicei o conditie)
Obs: instructiunea while e cu test initial deoarece prima data se
evalueaza expresia si doar daca expresia are valoarea 1 se
executa instructiunea(daca de la inceput val expresiei e 0,
instructiunea nu se va executa niciodata
Ex: sa se calculeze suma primelor n numere naturale.
#include <iostream>
using namespace std;

int main()
{
unsigned int x=1, n, sum1=0, sum2=0, sum3=0;
cout<<"introdu n=";cin>>n;cout<<"\n";
while(x<=n)
{sum1=sum1+x;sum2=sum2+x*x;sum3=sum3+x*x*x;x++;};
cout<<sum1<<endl<<sum2<<endl<<sum3<<endl;
}