Programarea calculatoarelor Pc_Cap7 (de Citit)

download Programarea calculatoarelor Pc_Cap7 (de Citit)

If you can't read please download the document

description

Programarea calculatoarelor

Transcript of Programarea calculatoarelor Pc_Cap7 (de Citit)

  • fi de asemenea simple sau structurate).

    ,

    (break , continue , goto

    , (if , switch (for ,

    while , do- while ).

    buire din limbajul algoritmic,

    operatorului de atribuire.

    n capitolul de introducere n limbajul C s-

    = expresie ;

    (1) = expresi e

    .

    uarea expresiei asociate. n mod uzual

    modificarea valorii unei variabile (sau mai multe) din cadrul expresiei.

    nea

    expresie ; expresie

  • x = sin(y) + z;

    i++;

    n = (u > v) ? u : v;

    \

    efecte laterale.

    Exemple.

    1) este_simetrica este 1 sau nu: if (este_simetrica == 1)

    pri \

    else

    \

    2) ntotdeauna valoarea 1:

    if (este_simetrica = 1)

    \

    el se

    \

    3) -o

    s = 0;

    do {

    \

    s += x;

    \ nMai sunt nume

    e utulizarea

    -se din punct de vedere sintactic drept o

    locale acestuia:

    bloc vid. Blocurile vide sunt

    }

    bloc

    {

  • u

    -

    -ar putea utiliza un bloc vid corespunde cazului cnd sintaxa

    ,

    ;

    if

    switch .

    ecizie (if )

    if

    cuvntului else else

    if

    Cteva ob if , fie pe

    alternativa else if

    e. n unele

    else if

    z

    valorile operanzilor x, y op de tip char : )

    z = x + y;

    -

    z = x - y;

    z = x * y;

    z = x / y;

    ;

    else

    ) if

    if ( expresie

  • if if ) pot exista confuzii

    semantice doar din punctul de vedere al programatorului. De exemplu, n cazul unei

    if ()

    if ()

    ;

    else

    ;

    . n realitate,

    if la car

    .

    Exemplul 7.1. a b, a < b. Se vor descrie n continuare

    -

    n

    - ).

    Cazul I.

    k1 k2 0

    pentru i 1 la n

    x

    x > a atunci

    x > b atunci

    k2 k2 + 1

    altfel

    k1 k1 + 1

    Cazul II.

    k1 k2 0

    pentru i 1 la n

    x

    x > a atunci

    x > b atunci

    k2 k2 + 1

    altfel

    k1 k1 + 1

    C sunt:

    int n, i, k1 = 0, k2 = 0;

    float x;

    /* Cazul I. */

    for (i=0; i

  • if (x < a)

    if (x < b)

    k2++;

    else

    k1++;

    }

    /* Cazul II. */

    for (i=0; i

  • unde, expresie

    are:

    switch

    :

    Ob

    switch

    goto se va discuta ntr-un paragraf

    ulterior.

    switch

    n caz contrar default , n cazul n care eticheta default switch

    Exemplul 7.2. n, pentru n

    natural mai mic dect n.

    #include

    int main () {

    int n;

    double x, y = 1;

    );

    switch (n) {

    case 5:

    y *= x;

    case 4:

    y *= x;

    case 3:

    y *= x;

    default :

    }

    : case

    expresie

    instruc

  • case 2:

    y *= x;

    case 1:

    y *= x;

    }

    \

    return 0;

    }

    :

    1)

    2)

    switch break . n acest mod

    break break

    - break

    switch

    switch case din limbajul Pascal), se

    break .

    Exemplul 7.3.

    4,1

    3,1

    2),sin(1

    1,1

    ),(

    2

    nx

    ne

    nx

    nx

    nxfx

    #include

    #include

    int main () {

    int n, ok = 1;

    double x, y;

    printf(

    switch (n) {

    case 1:

    y = 1 + x * x;

    break;

    case 2:

    y = 1 + sin(x);

  • break;

    case 3:

    y = 1 + exp(x);

    break;

    case 4:

    y = 1 + sqrt(x);

    break;

    default:

    ok = 0;

    }

    i f (ok)

    \

    else

    \

    return 0;

    }

    else - if (dar nu toate) pot fi transformate n

    switch if

    z = x + y;

    -

    z = x - y;

    else if (op

    z = x * y;

    z = x / y;

    - switch

    - zecimal:

    - 10);

    -

    -

    else

    e repetitive sunt while , do- while for

    Despre toate acestea s-

    sintactice

    specifice.

    .

  • 1)

    while for , testul se f

    do- while

    2)

    do-

    while - -while pentru

    determinarea sumei unor numere i

    #include

    #include

    int main () {

    int x, s = 0;

    char c;

    do {

    \

    s += x;

    c = getchar();

    }

    \

    return 0;

    }

    3) este necesar elor ce apar n

    poate face chiar n cadrul expresiilor laterale, prin anumite efacte laterale. De exemplu,

    nui text toate caracterele de tip

    while

    while ((c=getchar()) &&

    \

    \

    4) for

    for for (;;)

    instructiune

    for (; 1 ;)

    instructiune