Operatorul de decrementare - -
Sursă imagine: Martin Sanchez on Unsplash

Ce face operatorul de decrementare? Decrementează valoarea variabilei. Cum așa? Uite-așa… Operatorul – decrementează valoarea variabilei cu 1. De exemplu, dacă avem variabila num = 1, atunci când folosim operatorul de decrementare, valoarea lui num – va fi 0 (zero).

Există două tipuri de decrementări pe care le vei găsi în orice limbaj de programare (care se respectă):

  • decrementarea cu prefix: – num
  • decrementarea cu postfix: num –

Oare ce face decrementarea cu prefix? Întâi scade 1 din valoarea variabilei, apoi se folosește de variabilă.

Oare ce face decrementarea cu postfix? Întâi folosește variabila, apoi după ce s-a folosit de ea, îl scade pe 1 din valoarea variabilei.

Hai să vezi și câteva exemple pentru a înțelege mai exact…

Exemplu de decrementare cu prefix

1| variabila num = 1;

// definim variabila num

2 | afiseaza --num;

// se afișează valoarea 0 pentru că se face decrementarea, apoi se folosește

3| afiseaza num;

// se afișează valoarea 0 (de la rândul anterior)

4| afiseaza --num;

// se face decrementarea și se afișează valoarea -1

5| --num;

// valoarea num este acum -2

6| afiseaza --num;

// se decrementează, apoi se afișează valoarea -3


Ce zici de exemplul anterior? Întâi s-a definit variabila num; pe rândul al 2-lea se face întâi decrementarea, apoi se afișează valoarea 0; pe rândul al 3-lea se afișează valoarea lui num, care este 0 (deci nu s-a intervenit cu nimic asupra ei…); pe rândul al 4-lea se face decrementarea, apoi se afișează valoarea -1; pe rândul al 5-lea se face doar decrementarea (num = -2); pe ultimul rând se face decrementarea, apoi se afișează valoarea -3. Cum ți se pare? Totul e logic.

Exemplu de decrementare cu postfix

1| variabila num = 10;

// se definește variabila num

2| num--;

// variabila num se decrementează și va avea valoarea 9

3| afiseaza num--;

// se afișează valoarea 9, apoi se decrementează (deci num = 8)

4| afiseaza num--;

// se afișează valoarea 8, apoi se decrementează (acum num = 7)

5| num--;

// num = 6

6| afiseaza num--;

// se afișează valoarea 6, apoi se decrementează (num = 5)

7| afiseaza num;

// se afișează valoarea 5


Hai să vedem ce face codul anterior (pseudocodul). Definim variabila num, căruia îi atribuim valoarea 10; pe rândul al 2-lea se face decrementarea (num = 9); pe rândul al 3-lea se afișează valoarea 9, apoi se face decrementarea (num = 8); pe rândul al 4-lea se afișează valoarea 8, apoi se decrementează (num = 7); pe rândul al 5-lea se face doar decrementarea (ținem minte că num = 6); pe rândul al 6-lea se afișează valoarea 6, apoi se decrementează (num = 5); pe ultimul rând se afișează valoarea 5. Hai că nu e greu… Fii atent la fiecare linie și încearcă să gândești logic. Orice întrebare ai, te rog să o scrii într-un comentariu. Mulțumesc!

Așadar, ține minte că operatorul de decrementare (–) scade cu 1 valoarea variabilei și că avem două cazuri: decrementarea cu prefix, unde folosim variabila direct cu noua valoare decrementată și decrementarea cu postfix, unde folosim valoarea normală a variabilei, apoi ținem minte că se decrementează… Cazurile acestea le observi foarte bine la afișare.

Îți las 3 probleme și te rog să scrii într-un comentariu ce afișează fiecare.

Problema 1

1| variabila num = 2;
2| num--;
3| afiseaza num;
4| --num;
5| afiseaza num;

Problema 2

1| variabila num = 8;
2| afiseaza num--;
3| --num;
4| num--;
5| afiseaza --num;
6| afiseaza num--;
7| afiseaza num;

Problema 3

1| variabila num = 100;
2| num--;
3| afiseaza num--;
4| afiseaza --num;
5| afiseaza num;
6| --num;
7| num--;
8| afiseaza num--;
9| afiseaza --num;
10| afiseaza num;

Te invit să lași un comentariu în care să explici ce se afișează la fiecare problemă.

Dacă e ceva ce nu ai înțeles, scrie te rog în comentarii și voi încerca să-ți explic ca să-ți fie totul clar.

Învață să fii profesionist!


De interes 🔗

Vezi ce face operatorul de incrementare (++) AICI.


Sursă imagine: Martin Sanchez on Unsplash

By projava.ro

„Binele-i bun atunci când e bine făcut.”

Abonează-te
Primește notificări pentru
guest
0 Comentarii
Cele mai vechi
Cele mai noi Cele mai votate
Păreri...
Vezi toate comentariile