Programarea calculatoarelor si limbaje de programare
Transcript of Programarea calculatoarelor si limbaje de programare
// primul program in C++
#include <iostream.h>
using namespace std;
int main ()
{
cout << "Bun venit in lumea C++!";
return 0;
}
Programarea calculatoarelor în limbajul C++
-19-
// primul program in C++
#include <iostream.h>
using namespace std;
int main ()
cout << "Bun venit in lumea C++!";
Programarea calculatoarelor în limbajul C++
-20-
return 0;
int main () { cout << "Bun venit in lumea C++!"; return0; }
Programarea calculatoarelor în limbajul C++
-21-
int i,j;
float a,b;
//declararea variabilelor
float a,b;
//afisarea unui mesaj pentru introducerea unui numar:
cout << "Introduceti un numar real: ";
//instructiunea pentru citirea numarului scris latastatura:
cin >> 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-
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-
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-
#include <iostream.h>
//variabile globale
int a, b;
char c;
char sir[20];
int read_vars()
{
//citirea valorilor variabilelor a si b
cout << "a="; cin >> a;
cout << "b="; cin >> b;
}
int main ()
{
//variabile locale
int result;
//citirea variabilelor
read_vars();
// procesare:
Programarea calculatoarelor în limbajul C++
-25-
result = a - b;
// afisarea rezultatului:
cout << result;
}
int a = 0;
int a (0);
// initializarea variabilelor
#include <iostream.h>
int main ()
{
int a=5;
// valoarea initiala = 5
int b(2);
// valoarea initiala = 2
Programarea calculatoarelor în limbajul C++
-26-
int result;
// valoarea initiala nedeterminata
a = a + 3;
result = a - b;
cout << result;
}
//primul exemplu cu siruri
#include <iostream.h>
#include <string>
using namespace std;
int main ()
{
string mystring = "Acesta este un sir";
cout << mystring;
return 0;
}
Programarea calculatoarelor în limbajul C++
-27-
string mystring = "Acesta este un sir";
string mystring("Acesta este un sir");
Programarea calculatoarelor în limbajul C++
-28-
a = 5;
75
// zecimal
0113
// octal
0x4b
// hexazecimal
Programarea calculatoarelor în limbajul C++
-29-
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-
'z'
'p'
"Hello world"
"Introduceti o valoare:"
x
'x'
Programarea calculatoarelor în limbajul C++
-31-
"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-
#define NEWLINE '\n'
// constante definite: calculul circumferintei
#include <iostream>
using namespace std;
#define PI 3.14159
#define NEWLINE '\n';
int main ()
{
double r=5.0; // raza
double circle;
circle = 2 * PI * r;
cout << circle;
cout << NEWLINE;
return 0;
}
const int width = 100;
const char tabulator = '\t';
const zipcode = 12440;
Programarea calculatoarelor în limbajul C++
-33-
a = 5;
a = b;
// operatorul de asignare
#include <iostream>
using namespace std;
int main ()
{
int a, b;
// a:?, b:?
a = 10;
// a:10, b:?
b = 4;
Programarea calculatoarelor în limbajul C++
-34-
// a:10, b:4
a = b;
// a:4, b:4
b = 7;
// a:4, b:7
cout << "a:";
cout << a;
cout << " b:";
cout << b;
return 0;
}
a = 2 + (b = 5);
b = 5;
a = 2 + b;
a = b = c = 5;
Programarea calculatoarelor în limbajul C++
-35-
a = 11 % 3;
// asignarea compusa
#include <iostream>
using namespace std;
int main ()
{
int a, b=3;
a = b;
a+=2;
// echivalent cu a=a+2
cout<< a;
return 0;
}
a++;
Programarea calculatoarelor în limbajul C++
-36-
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 == 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 <= 4)
Programarea calculatoarelor în limbajul C++
-38-
// evaluat ca true deoarece (6 <= 4) are ca rezultatfalse
!true
// false
!false
// true
( (5 == 5) && (3 > 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==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 maredecât 3
a>b ? a : b
// întoarce valoarea cea mai mare, a sau b
// operatorul conditional
#include <iostream.h>
using namespace std;
int main ()
{
int a,b,c;
a=2;
b=7;
c = (a>b) ? a : b;
cout << c;
return 0;
}
Programarea calculatoarelor în limbajul C++
-40-
cout << "Text";
// afiseaza "Text"
cout << Text;
// afiseaza continutul variabilei Text
cout << "Text: "<< Text << "\n";
int a;
cin >> a;
Programarea calculatoarelor în limbajul C++
-41-
// exemplu I/O
#include <iostream.h>
using namespace std;
int main ()
{int i;
cout << "Introduceti un numar intreg: ";
cin >> i;
cout << "Valoarea introdusa este " << i;
cout >> " iar dublul acesteia este " << i*2 <<".\n";
return 0;
}
cin >> a >> b;
cin >> a;
cin >> b;
Programarea calculatoarelor în limbajul C++
-42-
if (conditie) instructiune;
if (x == 100)
cout << "x este 100";
if (x == 100)
{cout << "x este ";
cout << x;
}
if (conditie) instructiune1 else instructiune2
Programarea calculatoarelor în limbajul C++
-43-
if (x == 100)cout << "x este 100";
elsecout << "x nu este 100";
if (x > 0)cout << "x este pozitiv";
else if (x < 0)cout << "x este negativ";
elsecout << "x este 0";
switch (expresie)
{case constanta1:grup de instructiuni 1;
break;
case constanta2:grup de instructiuni 2;
break;
. . .
default:grup de instructiuni pentru executie implicita;
}
Programarea calculatoarelor în limbajul C++
-44-
//exemplu switch
switch (x)
{case 1:cout << "x este 1";
break;
case 2:cout << "x este 2";
break;
default:cout << "valoare necunoscuta";
}
//echivalent if-else
if (x == 1)
{cout << "x este 1";
} else
if (x == 2)
{cout << "x este 2";
}
else
{cout << "valoare necunoscuta";
}
Programarea calculatoarelor în limbajul C++
-45-
while (conditie) instructiune
// numaratoare inversa cu while
#include <iostream.h>
using namespace std;
int main ()
{int n;
cout << "Enter the starting number > ";
cin >> n;
while (n>0) {cout << n << ", ";
--n;
}
cout << "GO!";
return 0;
}
Programarea calculatoarelor în limbajul C++
-46-
do instructiune while (conditie);
#include <iostream.h>
using namespace std;
int main ()
{unsigned long n;
do {cout << "Introduceti un numar (0 pentru încheiereaprogramului): ";
cin >> n;
cout << "Ati introdus numarul: " << n << "\n";
} while (n != 0);
return 0;
}
for (initializare; conditie; incrementare)instructiune;
Programarea calculatoarelor în limbajul C++
-47-
// numaratoare inversa într-o bucla for:
#include <iostream.h>
using namespace std;
int main ()
{for (int n=10; n>0; n--) {cout << n << ", ";
}
cout << "GO!";
return 0;
}
for ( n=0, i=100 ; n!=i ; n++, i-- )
Programarea calculatoarelor în limbajul C++
-48-
{// instructiuni...
}
// exemplu de întrerupere a unei bucle
#include <iostream.h>
using namespace std;
int main ()
{int n;
for (n=10; n>0; n--)
{cout << n << ", ";
if (n==3)
{cout << "numaratoarea inversa intrerupta!";
break;
}
}
return 0;
}
Programarea calculatoarelor în limbajul C++
-49-
// exemplu de salt peste un pas al buclei
#include <iostream.h>
using namespace std;
int main ()
{for (int n=10; n>0; n--) {if (n==5) continue;
cout << n << ", ";
}
cout << "GO!";
return 0;
}
// exemplu de utilizare a instructiunii goto
#include <iostream.h>
using namespace std;
int main ()
{int n=10;
loop:
cout << n << ", ";
n--;
if (n>0) goto loop;
cout << "GATA!"; return 0;
}
Programarea calculatoarelor în limbajul C++
-50-
tip nume ( parametru1, parametru2, ...) { instruc#iuni}
#include <iostream.h>
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 << "Rezultatul este " << z;
return 0;
}
Programarea calculatoarelor în limbajul C++
-52-
// exemplu de utilizare a functiilor
#include <iostream.h>
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 << "Primul rezultat este " << z << '\n';
cout << "Al doilea rezultat este " << diferenta(7,2) << '\n';
cout << "Al treilea rezultat este " << diferenta(x,y) << '\n';
z= 4 + diferenta (x,y);
cout << "Al patrulea rezultat este " << z << '\n';
return 0;
}
Programarea calculatoarelor în limbajul C++
-53-
tip nume ( parametru1, parametru2, ...) { instruc#iuni}
// exemplu de functie void
#include <iostream>
using namespace std;
void afisare_mesaj ()
{cout << "Exemplu functie";
}
int main ()
{afisare_mesaj ();
return 0;
}
void afisare_mesaj (void)
{cout << "Exemplu functie";
}
Programarea calculatoarelor în limbajul C++
-54-
afisare_mesaj ();
afisare_mesaj;
int x=5, y=3, z;
z = addition ( x , y );
// transmiterea parametrilor prin referinte
#include <iostream.h>
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-
int x=1, y=3, z=7;
duplicate (x, y, z);
cout << "x=" << x<< ", y=" << y << ", z=" << z;
return 0;
}
Programarea calculatoarelor în limbajul C++
-56-
struct nume_structura {tip_membru1 nume_membru1;
tip_membru2 nume_membru2;
tip_membru3 nume_membru3;
.
.
} nume_obiecte;
Programarea calculatoarelor în limbajul C++
-58-
class nume_clas# {specificator_acces_1:membru_1;
specificator_acces_2:membru_2;
...
} nume_obiecte;
Programarea calculatoarelor în limbajul C++
-59-