Operatorul de decrementare - -
Imagine generată cu Midjourney (AI)

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ă.

Dar 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ă vedem și câteva exemple pentru a înțelege totul mai clar.


Exemplu de decrementare cu prefix 🔗

variabila num = 1; // Am definit variabila num
afiseaza --num;
/* Se afișează valoarea 0
pentru că se face decrementarea,
apoi se folosește */

afiseaza num;
/* Se afișează valoarea 0
(cum a rezultat din instrucțiunea anterioară) */

afiseaza --num;
/* Se face decrementarea
și se afișează valoarea -1 */

--num; // Valoarea lui num este acum -2

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 decrementarea și se afișează valoarea 0.
  • Pe rândul al 7-lea se afișează valoarea lui num, care este 0 (deci nu s-a intervenit cu nimic asupra ei…).
  • Pe rândul al 11-lea se face decrementarea, apoi se afișează valoarea -1.
  • Pe rândul al 15-lea se face doar decrementarea (num = -2).
  • Pe rândul al 17-lea se face decrementarea și apoi se afișează valoarea -3.

Cum ți se pare? Totul e logic, nu?


Exemplu de decrementare cu postfix 🔗

variabila num = 10; // Se definește variabila num

num--;
/* Variabila num se decrementează
și va avea valoarea 9 */

afiseaza num--;
/* Se afișează valoarea 9,
apoi se decrementează,
deci num = 8 */

afiseaza num--;
/* Se afișează valorea 8,
apoi se decrementează,
astfel că acum num = 7 */

num--; // num = 6

afiseaza num--; 
/* Se afișează valoarea 6,
după aceea se decrementează
(num = 5) */

afiseaza num; // Se afișează valoarea 5

Hai să vedem ce face codul (pseudocodul) anterior:

  • Definim variabila num, căruia îi atribuim valoarea 10.
  • Pe rândul al 3-lea se face decrementarea (num = 9).
  • Pe rândul al 7-lea se afișează valoarea 9, apoi se face decrementarea (num = 8).
  • Pe rândul al 12-lea se afișează valoarea 8, apoi din nou se decrementează (num = 7).
  • Pe rândul al 17-lea se face doar decrementarea (ținem minte că num = 6).
  • Pe rândul al 19-lea se afișează valoarea 6, apoi iarăși 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ă;
  • decrementarea cu postfix(– –), unde folosim valoarea normală a variabilei, apoi ținem minte că se decrementează.

Aceste cazuri se observă foarte bine la afișare.

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


Problema 1 🔗

variabila num = 2;
num--;
afiseaza num;
--num;
afiseaza num;

Problema 2 🔗

variabila num = 8;
afiseaza num--;
--num;
num--;
afiseaza --num;
afiseaza num--;
afiseaza num;

Problema 3 🔗

variabila num = 100;
num--;
afiseaza num--;
afiseaza --num;
afiseaza num;
--num;
num--;
afiseaza num--;
afiseaza --num;
afiseaza num;

Dacă ai timp, te rog să lași un comentariu în care să explici ce se afișează la fiecare problemă.

Crezi că e ceva ce nu ai înțeles? Scrie-mi în comentarii și voi încerca să-ți explic ca să fie totul clar. Mulțumesc!

Învață să fii profesionist!


De interes 🔗

Vezi ce face operatorul de incrementare (++).

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