Inversarea cifrelor unui număr
O altă
problemă clasică ne cere să
inversăm cifrele unui număr natural format din fix trei cifre,
adică să aflăm
răsturnatul1 său.
1 Se mai numește și inversul, oglinditul.
Exemplu:
Așadar, pornim de la numărul
725, reținut de variabila
n:
n = 725
ULTIMA CIFRĂ
Iarăși apelăm la
matematică, unde cunoaștem deja
Teorema împărțirii cu rest.
Dacă îl împărțim pe
725 la
10, restul va fi
5, exact ce dorim:
Deci, putem scrie ca
prim pas:
c3 = n % 10
unde
c3 este o
variabilă de manevră ce va reține
ultima cifră. Operatorul "
%" (
modulo)
ne oferă restul împărțirii la
10.
PENULTIMA CIFRĂ
Mai întâi, avem nevoie de
72, care este câtul împărțirii lui
725 la
10:
pe care îl vom folosi să aflăm restul împărțirii la
10, adică
2:
Așadar, vom defini o altă variabilă intermediară,
c2, care va reține expresia:
c2 = (n // 10) % 10
Citim: câtul împărțirii lui
n la
10, totul
modulo 10.
Operatorul "
//" reprezintă împărțirea întreagă (câtul), deja studiat.
PRIMA CIFRĂ
Folosind din nou operatorul "
//", aflăm imediat prima cifră:
Deci vom scrie în program:
c1 = n // 100
unde variabila
c1 va reține prima cifră, adică
7.
Citim: câtul împărțirii lui
n la
100 ...
CREAREA INVERSULUI
Folosim înmulțirea și adunarea:
deoarece
c1 reține sutele,
c2, zecile, iar
c3, unitățile:
invers = c3*100 + c2*10 + c1
Rămâne la final să afișăm valoarea variabilei
invers.
PROGRAMUL ÎN PYTHON
Țineți minte că o
gândire matematică / analitică solidă este esențială:
Editor - lectia5_interschimbare.py
|
|
CUM AM GÂNDIT ALGORITMUL?
În primul rând, am decis că am nevoie de
acces la cifre, adică să le cunosc.
Apoi, le-am folosit la formarea noului număr, care să le rețină invers.
Așadar,
am împărțit problema în mici subprobleme pe care le-am rezolvat. Fiecare reprezintă o
instrucțiune mai sus, în acest caz, evident.
EXERCIȚII PROPUSE
Modificați algoritmul astfel încât să inverseze un număr format din două cifre.
Din patru puteți?
Execută programul și citește informațiile.
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [
în format electronic]
securizat sub formă
de fișier *.pdf.
"
O cameră fără cărţi este ca un corp fără suflet."
(G. K. Chesterton)
Cursanții au mai cumpărat ...
[
vezi lista completă a cărților]