RSS

L8. Atribuirea

10 Jan

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
 
1 Comment

Posted by on 10/01/2010 in C2_2 Limbajul C/C++

 

One response to “L8. Atribuirea

  1. zdinesh03

    17/04/2013 at 11:07

    wonderful information, I had come to know about your blog from my friend nandu , hyderabad,i have read atleast 7 posts of yours by now, and let me tell you, your website gives the best and the most interesting information. This is just the kind of information that i had been looking for, i’m already your rss reader now and i would regularly watch out for the new posts, once again hats off to you! Thanks a ton once again, Regards.

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: