CURS ONLINE INTERACTIV

Python 3

PENTRU ÎNCEPĂTORI

Proiect susținut de Uniunea Profesorilor de Informatică din România
LECȚIA 5
PAG. 2 / 4
Structura liniară
Acasă >>> Lecții online

Interschimbarea valorilor a două variabile

Una dintre problemele clasice ce pot fi întâmpinate la crearea programelor o reprezintă interschimbarea valorilor a două variabile. Poate pare banal, însă există totuși mai multe trucuri!

EXEMPLU

Să presupunem că avem două pahare, notate cu A și B, care conțin fiecare 70 și respectiv 40 ml de lichid:



Cum le interschimbăm conținutul? Putem folosi un al treilea pahar de manevră, numit C, care inițial este gol:



Pasul 1. Turnăm conținutul lui A în C:



Pasul 2. Turnăm apoi conținutul lui B în A:



Pasul 3. La final, turnăm conținutul lui C în B:



Paharul C este iar gol, iar noi am reușit!

Algoritmul transpus în Python este deci următorul:
Editor - lectia5_interschimbare.py
       
Rezultatul în consolă done
Atenție. Spre deosebire de pahare, unde folosim un proces mecanic, la finalul programului variabila C va reține ultima valoare, adică cea reținută acum de B. Noi în program copiem valorile și nu le turnăm! 😜

Variabilele de manevră / intermediare nu contează la ieșire, ci sunt utilizate pentru a efectua calcule în interiorul programului, precum C.

CUM PUTEM GREȘI?

Simplu. Considerăm suficientă secvența de mai jos:

A = B    #A reține 40
B = A    #B va reține iar 40


Prima atribuire pierde conținutul lui A definitiv...

O ALTĂ METODĂ

Cine îți spune că informatica nu necesită matematică, se înșeală amarnic. Se poate efectua interschimbarea și fără o altă variabilă de manevră! Testează spre exemplu codul de mai jos:

A = A + B    #A reține 110
B = A - B    #B va reține 70
A = A - B    #A va reține 40


PYTHON ESTE SUPER FAIN!

Creatorii limbajului au anticipat această necesitate, așadar putem folosi următorul tip de atribuire:

A, B = B, A

Elegant, nu? 😎
Execută programul și citește informațiile.
Manuale digitale


Editura noastră oferă de peste 27 de ani manuale şcolare aprobate M.E.N. şi auxiliare ce respectă programa şcolară, precum şi cursuri de Informatică şi T.I.C., utile oricărei persoane care doreşte să se pregătească în aceste domenii.
 home   list  LECȚII   perm_identity   arrow_upward