0461 - Timp1

From Bitnami MediaWiki

Cerința[edit | edit source]

Se dau numerele naturale h m, reprezentând ora curentă exprimată în ore şi minute. Să se determine care va fi ora peste x ore şi y minute.

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele h1 m1 x y.

Date de ieșire[edit | edit source]

Programul afișează pe ecran numerele h2 m2, separate printr-un spaţiu, cu semnificaţia din enunţ.

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

  • 0 ≤ h1, h2 ≤ 23;
  • 0 ≤ m1, m2, y ≤ 59;
  • 0 ≤ x ≤ 10000;

Exemplul 1[edit | edit source]

Intrare
7 11 5 34
Ieșire
Datele de intrare corespund restricțiilor impuse.
12 45

Exemplul 2[edit | edit source]

Intrare
-1 -1 -1 -1
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line="1">

  1. 0461 - Timp1

def determina_ora_urmatoare(h1, m1, x, y):

   # adaugam minutele
   minute = m1 + y
   # adaugam orele si minutele ramase
   ore = h1 + x + minute // 60
   minute = minute % 60
   # daca am depasit 24 de ore, revenim la 0 si continuam
   if ore >= 24:
       ore = ore % 24
   return ore, minute

if __name__ == '__main__':

   h1 = int(input("Introduceți ora curentă (ora): "))
   m1 = int(input("Introduceți ora curentă (minute): "))
   x = int(input("Introduceți numărul de ore peste care să calculăm ora următoare: "))
   y = int(input("Introduceți numarul de minute peste care să calculam ora urmatoare: "))
   if h1 >= 0 and h1 <= 23 and m1 >= 0 and m1 <= 59 and x >= 0 and x <= 10000:
       h2, m2 = determina_ora_urmatoare(h1, m1, x, y)
       print("Datele de intrare corespund restricțiilor impuse.")
       print(f"Ora urmatoare este {h2}:{m2}")
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")



</syntaxhighlight>