0535 - Fabrica: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== La secția de împachetare a produselor dintr-o fabrică lucrează n muncitori. Fiecare muncitor împachetează același tip de produs, iar pentru fiecare se cunoaște timpul necesar pentru împachetarea unui obiect. Să se determine câte obiecte vor fi împachetate de cei n muncitori într-un interval de timp dat, T. ==Date de intrare== Programul citește de la tastatură numerele n și T, iar apoi n numere naturale nenule, reprezentând timpul necesar fiecăr... |
Adina Timiș (talk | contribs) No edit summary |
||
Line 25: | Line 25: | ||
: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"> | ||
#0535 - Fabrica | #0535 - Fabrica | ||
def calculeaza_numarul_de_obiecte(n, T, timpi): | def calculeaza_numarul_de_obiecte(n, T, timpi): | ||
Line 35: | Line 35: | ||
if __name__ == "__main__": | if __name__ == "__main__": | ||
# citim numărul de muncitori și intervalul de timp de la tastatură | |||
n, T = map(int, input("Introduceți numărul de muncitori și intervalul de timp: ").split()) | n, T = map(int, input("Introduceți numărul de muncitori și intervalul de timp: ").split()) | ||
timpi = list(map(int, input("Introduceți timpii necesari pentru împachetarea unui obiect | |||
# citim timpii necesari pentru împachetarea unui obiect, pentru fiecare muncitor | |||
timpi = list(map(int, input("Introduceți timpii necesari pentru împachetarea unui obiect: ").split())) | |||
# verificarea restricțiilor | |||
if n < 1 or n > 1000 or (max(timpi) > 1000 and (T < 1 or T > 1000000)): | if n < 1 or n > 1000 or (max(timpi) > 1000 and (T < 1 or T > 1000000)): | ||
print("Datele de intrare nu corespund restricțiilor impuse.") | print("Datele de intrare nu corespund restricțiilor impuse.") | ||
else: | else: | ||
print("Datele de intrare corespund restricțiilor impuse.") | print("Datele de intrare corespund restricțiilor impuse.") | ||
# calculăm numărul total de obiecte împachetate | |||
C = calculeaza_numarul_de_obiecte(n, T, timpi) | C = calculeaza_numarul_de_obiecte(n, T, timpi) | ||
print(f"{C} obiecte au fost împachetate, de cei {n} muncitori, în intervalul de timp dat.") | |||
# afișăm rezultatul | |||
print(f"{C} obiecte au fost împachetate, de către cei {n} muncitori, în intervalul de timp dat.") | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 10:49, 21 May 2023
Cerința[edit | edit source]
La secția de împachetare a produselor dintr-o fabrică lucrează n muncitori. Fiecare muncitor împachetează același tip de produs, iar pentru fiecare se cunoaște timpul necesar pentru împachetarea unui obiect. Să se determine câte obiecte vor fi împachetate de cei n muncitori într-un interval de timp dat, T.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele n și T, iar apoi n numere naturale nenule, reprezentând timpul necesar fiecărui muncitor pentru împachetarea unui obiect.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul C, reprezentând numărul de obiecte împachetate de cei n muncitori în intervalul dat.
Restricții și precizări[edit | edit source]
- 1 ≤ n ≤ 1000;
- cele n numere citite vor fi mai mici decât 1.000;
- 1 ≤ T ≤ 1.000.000;
- toate intervalele de timp sunt exprimate în aceeași unitate de măsură;
Exemplul 1[edit | edit source]
- Intrare
- 6 30
- 4 7 3 6 7 1
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 60
Exemplul 2[edit | edit source]
- Intrare
- 0 10
- 4 7 3 6 7 1
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 0535 - Fabrica
def calculeaza_numarul_de_obiecte(n, T, timpi):
count = 0 for i in range(n): obiecte = T // timpi[i] count += obiecte return count
if __name__ == "__main__":
# citim numărul de muncitori și intervalul de timp de la tastatură n, T = map(int, input("Introduceți numărul de muncitori și intervalul de timp: ").split())
# citim timpii necesari pentru împachetarea unui obiect, pentru fiecare muncitor timpi = list(map(int, input("Introduceți timpii necesari pentru împachetarea unui obiect: ").split()))
# verificarea restricțiilor if n < 1 or n > 1000 or (max(timpi) > 1000 and (T < 1 or T > 1000000)): print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare corespund restricțiilor impuse.")
# calculăm numărul total de obiecte împachetate C = calculeaza_numarul_de_obiecte(n, T, timpi)
# afișăm rezultatul print(f"{C} obiecte au fost împachetate, de către cei {n} muncitori, în intervalul de timp dat.")
</syntaxhighlight>