Programarea Calculatoarelor Si Limbaje de Programare-libre

Embed Size (px)

Citation preview

  • 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++