Upload
petru-talpa
View
234
Download
0
Embed Size (px)
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
1/64
REPROGRAFIA UNIVERSITII "TRANSILVANIA" DIN BRAOV
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
2/64
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
3/64
Programarea calculatoarelor n limbajul C++
-2-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
4/64
Programarea calculatoarelor n limbajul C++
-3-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
5/64
Programarea calculatoarelor n limbajul C++
-4-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
6/64
Programarea calculatoarelor n limbajul C++
-5-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
7/64
Programarea calculatoarelor n limbajul C++
-6-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
8/64
Programarea calculatoarelor n limbajul C++
-7-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
9/64
Programarea calculatoarelor n limbajul C++
-8-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
10/64
Programarea calculatoarelor n limbajul C++
-9-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
11/64
Programarea calculatoarelor n limbajul C++
-10-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
12/64
Programarea calculatoarelor n limbajul C++
-11-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
13/64
Programarea calculatoarelor n limbajul C++
-12-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
14/64
Programarea calculatoarelor n limbajul C++
-13-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
15/64
Programarea calculatoarelor n limbajul C++
-14-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
16/64
Programarea calculatoarelor n limbajul C++
-15-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
17/64
Programarea calculatoarelor n limbajul C++
-16-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
18/64
Programarea calculatoarelor n limbajul C++
-17-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
19/64
Programarea calculatoarelor n limbajul C++
-18-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
20/64
// primul program in C++
#include
using namespace std;
int main ()
{
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
21/64
// primul program in C++
#include
using namespace std;
int main ()
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
22/64
return 0;
int main () { cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
23/64
int i,j;
float a,b;
//declararea variabilelor
float a,b;
//afisarea unui mesaj pentru introducerea unui numar:
cout > a;
a = a+b;
//adunare - rezultatul este stocat n variabila a
a += b;
//adunare - acelasi efect ca n instructiunea de mai
Programarea calculatoarelor n limbajul C++
-22-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
24/64
sus
b = b-a;
//scadere - rezultatul este stocat n variabila b
b -= a;
//scadere - acelasi efect ca n instructiunea de maisus
c = a*b;
//nmultire
c = a/b;
//mpartire
a = a+b/(b+1);
//efectul executiei instructiunii de mai sus estesimilar cu secventa:
c = b+1;
b = b/c;
a = a+b;
asm, auto, bool, break, case, catch, char, class,const, const_cast, continue, default, delete, do,double, dynamic_cast, else, enum, explicit, export,extern, false, float, for, friend, goto, if, inline,
Programarea calculatoarelor n limbajul C++
-23-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
25/64
int, long, mutable, namespace, new, operator, private,protected, public, register, reinterpret_cast, return,short, signed, sizeof, static, static_cast, struct,switch, template, this, throw, true, try, typedef,typeid, typename, union, unsigned, using, virtual,
void, volatile, wchar_t, while
and, and_eq, bitand, bitor, compl, not, not_eq, or,or_eq, xor, xor_eq
Programarea calculatoarelor n limbajul C++
-24-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
26/64
#include
//variabile globale
int a, b;char c;
char sir[20];
int read_vars()
{
//citirea valorilor variabilelor a si b
cout > a;
cout > b;
}
int main ()
{
//variabile locale
int result;
//citirea variabilelor
read_vars();
// procesare:
Programarea calculatoarelor n limbajul C++
-25-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
27/64
result = a - b;
// afisarea rezultatului:
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
28/64
int result;
// valoarea initiala nedeterminata
a = a + 3;
result = a - b;
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
29/64
string mystring = "Acesta este un sir";
string mystring("Acesta este un sir");
Programarea calculatoarelor n limbajul C++
-28-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
30/64
a = 5 ;
75
// zecimal
0113
// octal
0x4b
// hexazecimal
Programarea calculatoarelor n limbajul C++
-29-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
31/64
75
// int
75u// unsigned int
75l
// long
75ul
// unsigned long
3.14159
6.02e23
1.6e-19
3.0
3.14159L
// long double
6.02e23f
// float
Programarea calculatoarelor n limbajul C++
-30-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
32/64
'z'
'p'
"Hello world""Introduceti o valoare:"
x
'x'
Programarea calculatoarelor n limbajul C++
-31-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
33/64
"sir scris pe \
doua linii de cod"
"aceste subsiruri" "formeaza" "un singur" "sir decaractere"
L"Acesta este un sir format din caractere wide"
#define identificator valoare
#define PI 3.14159265
Programarea calculatoarelor n limbajul C++
-32-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
34/64
#define NEWLINE '\n'
// constante definite: calculul circumferintei
#include
using namespace std;
#define PI 3.14159
#define NEWLINE '\n';
int main ()
{
double r=5.0; // raza
double circle;
circle = 2 * PI * r;
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
35/64
a = 5 ;
a = b ;
// operatorul de asignare
#include
using namespace std;
int main ()
{
int a, b;
// a:?, b:?
a = 10;
// a:10, b:?
b = 4 ;
Programarea calculatoarelor n limbajul C++
-34-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
36/64
// a:10, b:4
a = b ;
// a:4, b:4
b = 7 ;
// a:4, b:7
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
37/64
a = 1 1 % 3 ;
// asignarea compusa
#include
using namespace std;
int main ()
{
int a, b=3;
a = b ;
a+=2;
// echivalent cu a=a+2
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
38/64
a+=1;
a=a+1;
b=3;
a=++b;
//a contine 4, b contine 4
b=3;
a=b++;
//a contine 3, b contine 4
a=++a;
a=a++;
Programarea calculatoarelor n limbajul C++
-37-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
39/64
(7 == 5)
// evaluat ca false(5 > 4)
// true
(3 != 2)
// true
(6 >= 6)
// true
(5 < 5)
// false
a=2; b=3; c=6;
(a == 5)
// evaluat ca false deoarece a nu este egal cu 5
(a*b >= c)
// true deoarece (2*3 >= 6) este adev#rat
(b+4 > a*c)
// false deoarece (3+4 > 2*6) este fals
((b=2) == a)
// true
!(5 == 5)
// evaluat ca false deoarece expresia din dreapta (5 ==5) este true
!(6
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
40/64
// evaluat ca true deoarece (6 6 ) )
// evaluat ca false ( true && false )
( ( 5 = = 5 ) | | ( 3 > 6 ) )
// evaluat ca true ( true || false )
conditie ? rezultat1 : rezultat2
Programarea calculatoarelor n limbajul C++
-39-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
41/64
7 = = 5 ? 4 : 3
// ntoarce 3, deoarece 7 nu este egal cu 5
7==5+2 ? 4 : 3
// ntoarce 4, deoarece 7 este egal cu 5+2
5 > 3 ? a : b
// ntoarce valoarea lui a, deoarece 5 este mai maredect 3
a > b ? a : b
// ntoarce valoarea cea mai mare, a sau b
// operatorul conditional
#include
using namespace std;
int main ()
{
int a,b,c;
a=2;
b=7;c = ( a > b ) ? a : b ;
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
42/64
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
43/64
// exemplu I/O
#include
using namespace std;
int main ()
{int i;
cout > i;
cout " iar dublul acesteia este " a >> b;
cin >> a;
cin >> b;
Programarea calculatoarelor n limbajul C++
-42-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
44/64
if (conditie) instructiune;
if (x == 100)
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
45/64
if (x == 100)cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
46/64
//exemplu switch
switch (x)
{case 1:cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
47/64
while (conditie) instructiune
// numaratoare inversa cu while
#include
using namespace std;
int main ()
{int n;
cout > n;
while (n>0) {cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
48/64
do instructiune while (conditie);
#include
using namespace std;
int main ()
{
unsigned long n;do {cout > n;
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
49/64
// numaratoare inversa ntr-o bucla for:
#include
using namespace std;
int main ()
{for (int n=10; n>0; n--) {cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
50/64
{// instructiuni...
}
// exemplu de ntrerupere a unei bucle
#include
using namespace std;
int main ()
{int n;
for (n=10; n>0; n--)
{cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
51/64
// exemplu de salt peste un pas al buclei
#include
using namespace std;
int main ()
{for (int n=10; n>0; n--) {if (n==5) continue;
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
52/64
void exit (int exitcode);
Programarea calculatoarelor n limbajul C++
-51-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
53/64
tip nume ( parametru1, parametru2, ...) { instruc#iuni}
#include
using namespace std;
int suma (int a, int b)
{int r;
r=a+b;
return (r);
}
int main ()
{int z;
z = suma (5,3);
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
54/64
// exemplu de utilizare a functiilor
#include
using namespace std;
int diferenta (int a, int b) {
int r;
r=a-b;
return (r);
}
int main ()
{int x=5, y=3, z;
z = diferenta (7,2);
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
55/64
tip nume ( parametru1, parametru2, ...) { instruc#iuni}
// exemplu de functie void
#include
using namespace std;
void afisare_mesaj ()
{cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
56/64
afisare_mesaj ();
afisare_mesaj;
int x=5, y=3, z;
z = addition ( x , y );
// transmiterea parametrilor prin referinte
#include
using namespace std;
void duplicate (int& a, int& b, int& c)
{a*=2;
b*=2;
c*=2;
}
int main ()
{
Programarea calculatoarelor n limbajul C++
-55-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
57/64
int x=1, y=3, z=7;
duplicate (x, y, z);
cout
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
58/64
tip nume [elemente];
char sir [20];
Programarea calculatoarelor n limbajul C++
-57-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
59/64
struct nume_structura {tip_membru1 nume_membru1;
tip_membru2 nume_membru2;
tip_membru3 nume_membru3;
.
.
} nume_obiecte;
Programarea calculatoarelor n limbajul C++
-58-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
60/64
class nume_clas# {specificator_acces_1:membru_1;
specificator_acces_2:membru_2;
...
} nume_obiecte;
Programarea calculatoarelor n limbajul C++
-59-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
61/64
Programarea calculatoarelor n limbajul C++
-60-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
62/64
Programarea calculatoarelor n limbajul C++
-61-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
63/64
Programarea calculatoarelor n limbajul C++
-62-
7/24/2019 Programarea Calculatoarelor Si Limbaje de Programare-libre
64/64
Programarea calculatoarelor n limbajul C++