
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