duminică, 10 ianuarie 2010

L8. Atribuirea

Variabilele pot primi valori prin citire sau atribuire.

Atribuirea


Sintaxa: variabila=expresie;

Efect:

  • se calculeaza valoarea expresiei

  • aceasta valoare se scrie in variabila, peste vechea valoare, care se pierde


Exemple:

  • A=0;

  • B=5;

  • A=B+6;

  • A=B+A; (in A se va memora suma dintre A si B)

  • un caz deosebit este incrementarea (cresterea cu 1 a valorii unei variabile)

    • a=a+1;

    • aceasta operatie se mai scrie a++; (++ este operator unar)



  • operatia analoga, de scadere cu 1 a valorii unei variabile, se numeste decrementare:

    • a=a-1;

    • sau a--;



  • citind diverse programe realizate in C/C++ puteti intalni si exprimari de genul:

    • a=a+ --b; cu semnificatia b--; a=a+b; (analog ++b)

    • a+=b; cu semnificatia a=a+b;



  • ... cum va place!


Probleme

  1. Teodor is consuma jumatate din salariul sau pe facturi. Cititi salariul lui Teodor si afisati cu cat ramane Teodor.

  2. Cititi de la tastatura distanta si timpul necesar unui tren pentru a parcurge respectiva distanta. Calculati viteza medie de deplasare.

  3. Ana si Bogdan sunt colegi de banca. In pauza s-au gandit sa-si schimbe scaunele intre ei astfel incat , in orice moment, fiecare sa stea pe un scaun. Copiii astia chiar n-au treaba!!!


Observatii:

  • la problema 1 pot apare urmatoarele dificultati:

    • daca salariul are valoare impara, rezultatul nu este real => float rez=(float) salar/2;

    • salariul este declarat int salar; si introduceti un salariu mai mare de 32767 rezultatele sunt imposibile; de ce? => variabilele de tip int nu pot depasi 32767; de aceea, valorile mai mari sunt trunchiate



  • la problema 2, pe langa valori de bun simt, puteti incerca si impartirea la zero :)

  • problema 3 face apel la o tehnica de lucru numita interschimbarea a doua valori;

    • una dintre variantele de rezolvare face apel la inca un scaun (variabila): int aux=a; a=b;b=aux;

    • exista si o varianta fara variabila auxiliara (pentru cazul in care vorbim de valori :) ): a=a+b; b=a-b;a=a-b;




Sa privim inainte:

  • din exemplele de mai sus este limpede ca variabilele/datele de intrare trebuiesc verificate inainte de a fi prelucrate

  • de aceea, vom studia in continuare instructiunea IF

Niciun comentariu:

Trimiteți un comentariu