3060 - Melc: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
Line 6: | Line 6: | ||
==Date de ieșire== | ==Date de ieșire== | ||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și | |||
programul va afișa pe ecran numărul întreg '''t''', reprezentând timpul exprimat în minute în care melcul va parcurge distanța '''d'''. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții și precizări== | ==Restricții și precizări== |
Latest revision as of 18:00, 22 April 2023
Cerință[edit | edit source]
Un melc se deplasează cu viteza de v km/h. El trebuie să parcurgă distanța de d metri. Să se determine în câte minute va parcurge melcul această distanță.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul real v și pe rândul următor numărul natural d.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul întreg t, reprezentând timpul exprimat în minute în care melcul va parcurge distanța d. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări[edit | edit source]
- numărul v este de tip double
- 0 < d < 1.000.000.000
Exemplul 1[edit | edit source]
- Intrare
- 0.3
- 20
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 4
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare(v, d):
""" Verifică dacă numărul v este de tip float și dacă numărul d este între 0 și 1.000.000.000. Args: v (float): numărul v de verificat d (int): numărul d de verificat Returns: bool: True dacă ambele condiții sunt îndeplinite, False în caz contrar """ if not isinstance(v, float): # dacă v nu este de tip float, returnează False return False if not (0 < d < 1000000000): # dacă d nu este între 0 și 1.000.000.000, returnează False return False return True
def timp_parcurgere_distanta(v, d):
""" Calculează timpul necesar pentru a parcurge o distanță dată la o anumită viteză. Args: v (float): viteza melcului (exprimată în km/h) d (int): distanța pe care trebuie să o parcurgă melcul (exprimată în metri) Returns: None: afișează timpul necesar pentru a parcurge distanța, exprimat în minute """ v = v * 1000 / 60 # convertește km/h în m/s T = 1.0 * d / v # calculează timpul necesar pentru a parcurge distanța t = int(T) # transformă timpul în minute întregi if T > t: # dacă există fracții de minut, adaugă 1 minut la timp t += 1 print(t) # afișează timpul necesar pentru a parcurge distanța, exprimat în minute
if __name__ == "__main__":
# Primește input-ul de la utilizator v = float(input("Introduceti viteza (km/h): ")) d = int(input("Introduceti distanta (m): "))
# Verifică dacă input-ul este valid și afișează rezultatul if validare(v, d): print("Datele de intrare corespund restricțiilor impuse.") timp_parcurgere_distanta(v, d) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>