0102 - Suma cifre zeci și unități

From Bitnami MediaWiki
Revision as of 11:31, 24 December 2022 by Bogdan.Pop (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: 0102 - Suma cifre zeci și unități

Cerință[edit | edit source]

Să se scrie un program care citeşte de la tastatură un număr natural numar cu cel puţin două cifre şi determină suma dintre cifra zecilor şi cifra unităţilor numărului citit.

Date de intrare[edit | edit source]

Programul va citi de la tastatură un număr natural numar.

Date de ieșire[edit | edit source]

În cazul în care datele de intrare nu corespund restricțiilor impuse, se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse.". În cazul în care datele de intrare corespund restricțiilor impuse, se va afișa mesajul "Datele de intrare corespund restricțiilor impuse.", pe următorul rând afișându-se un număr suma, reprezentând suma dintre cifra zecilor şi cea a unităţilor numărului numar.

Restricții și precizări[edit | edit source]

  • numar ∈ ℕ
  • 9 < numar < 1.000.000.000

Exemplu[edit | edit source]

Intrare
2012
Ieșire
Datele introduse corespund restricțiilor impuse.
3


Intrare
asd
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Intrare
-20
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Intrare
2.25
Ieșire
Datele introduse nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line> def validare_date(date):

   return date.isdigit() and 1 < len(date) < 10
   # metoda .isdigit() returnează valoarea True dacă șirul dat este format doar din cifre (0 - 9)
   # functia len() furzinează lungimea șirului dat


def suma_zeci_unitati(numar):

   # cifra unităților se obține prin împărțirea cu rest a numărului introdus la 10
   cif_unitati = numar % 10
   
   # cifra zecilor se obține prin împărțirea întreagă a numărului introdus la 10, urmată de împărțirea cu rest a numărului la 10
   cif_zeci = numar // 10 % 10
   # suma cerută se obține prin adunarea celor două valori anterior obținute
   suma = cif_unitati + cif_zeci
   # afișarea rezultatului
   print(suma)


if __name__ == "__main__":

   date_intrare = input()
   
   if validare_date(date_intrare):
       print("Datele de intrare corespund restricțiilor impuse.")
       date_intrare = int(date_intrare)
           suma_zeci_unitati(date_intrare)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")
   

</syntaxhighlight>