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
- Teodor is consuma jumatate din salariul sau pe facturi. Cititi salariul lui Teodor si afisati cu cat ramane Teodor.
- Cititi de la tastatura distanta si timpul necesar unui tren pentru a parcurge respectiva distanta. Calculati viteza medie de deplasare.
- 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