0102 - Suma cifre zeci și unități

From Bitnami MediaWiki
Revision as of 10:23, 24 December 2022 by Bogdan.Pop (talk | contribs) (Created page with "== Cerință == 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 == Programul va citi de la tastatură un număr natural '''numar'''. == Date de ieșire == Î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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință

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

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

Date de ieșire

Î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

  • numar ∈ ℕ
  • 9 < numar < 1.000.000.000

Exemplu

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

Rezolvare ver. 1

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