0535 - Fabrica: Difference between revisions

From Bitnami MediaWiki
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...
 
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, de către fiecare muncitor: ").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)):
     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">

  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>