0461 - Timp1: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: ==Cerința== 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== Programul citește de la tastatură numerele h1 m1 x y. ==Date de ieșire== Programul afișează pe ecran numerele h2 m2, separate printr-un spaţiu, cu semnificaţia din enunţ. ==Restricții și precizări== *0 ≤ h1, h2 ≤ 23; *0 ≤ m1, m2, y ≤ 59; *0 ≤ x ≤ 10000; ==Exemplul 1== ;Intrar...
 
No edit summary
 
Line 22: Line 22:
:Datele de intrare nu corespund restricțiilor impuse.
:Datele de intrare nu corespund restricțiilor impuse.
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="">
<syntaxhighlight lang="python" line="1">
#0461 - Timp1
#0461 - Timp1
def determina_ora_urmatoare(h1, m1, x, y):
def determina_ora_urmatoare(h1, m1, x, y):
Line 35: Line 35:
     return ore, minute
     return ore, minute


def main():
if __name__ == '__main__':
     h1 = int(input("Introduceti ora curenta (ora): "))
     h1 = int(input("Introduceți ora curentă (ora): "))
     m1 = int(input("Introduceti ora curenta (minute): "))
     m1 = int(input("Introduceți ora curentă (minute): "))
     x = int(input("Introduceti numarul de ore peste care sa calculam ora urmatoare: "))
     x = int(input("Introduceți numărul de ore peste care să calculăm ora următoare: "))
     y = int(input("Introduceti numarul de minute peste care sa calculam ora urmatoare: "))
     y = int(input("Introduceți numarul de minute peste care calculam ora urmatoare: "))
     if h1 >= 0 and h1 <= 23 and m1 >= 0 and m1 <= 59 and x >= 0 and x <= 10000:
     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)
         h2, m2 = determina_ora_urmatoare(h1, m1, x, y)
Line 47: Line 47:
         print("Datele de intrare nu corespund restricțiilor impuse.")
         print("Datele de intrare nu corespund restricțiilor impuse.")


if __name__ == '__main__':
 
     main()
      
      
      
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 21:18, 23 April 2023

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>