Un program flexibil

De regulă scriem programe care efectuează mai multe prelucrări, unele independente, altele legate unele de celelalte. Cei care folosesc programele au nevoie fie de toate rezultatele, fie doar de o parte. De aceea, pentru a satisface nevoile utilizatorilor noştri, vom oferi posibilitatea de a selecta care sunt rezultatele pe care programul le afişează. Vor apare întrebări, iar utilizatorul va răspunde cu d sau D pentru DA şi cu orice alttceva pentru NU, dacă nu doreşte afişeara unui anumit rezultat. Exemplific această structură de program cu prelucrări simple, precum:
- calculul sumei elementelor unui şir,
- calculul mediei aritmetice simple ale elementelor şirului,
- calculul mediei geometrice a elementelor din şir,
- aflarea elementului minim din şir,
- aflarea elementului maxim din şir.
Am luat probleme simple şi am scris funcţiile de prelucrare pentru toate pentru a arăta cum se face flexibilizarea structurii programului, nu pentru a pierde timpul cu explicaţii asupra semnificaţiei funcţiilor.
Programul este:



#
# Program flexibil
#
def aduna_x(x):
   Suma_x = 0
   for i in x:
       Suma_x += i
   return Suma_x
def media_x(x):
   Suma_x = 0
   for i in x:
      Suma_x += i
   Media_a = Suma_x/len(x)
   return Media_a
def geom_x(x):
   Prod_x = 1
   for i in x:
       Prod_x *= i
   Alfa = 1/len(x)
   Media_g = Prod_x ** Alfa
   return Media_g
def minim_x(x):
   Minim_x = x[0]
   for i in x:
      if Minim_x > i:
         Minim_x = i
    return Minim_x
def maxim_x(x):
   Maxim_x = x[0]
   for i in x:
      if Maxim_x < i:
         Maxim_x = i
   return Maxim_x
#
# Crearea flexibilizarii
#
Serie_X = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Raspunsul_tau = input('Doresti calculul sumei elementelor? y sau Y: ')
if Raspunsul_tau == 'y' or Raspunsul_tau == 'Y':
   S_X = aduna_x(Serie_X)
   print('Sumaumei elementelor seriei este:', S_X)
Raspunsul_tau = input('Doresti calculul mediei aritmetice? y sau Y: ')
if Raspunsul_tau == 'y' or Raspunsul_tau == 'Y':
   MED_A = media_x(Serie_X)
   print('Media aritmetica este:', MED_A)
Raspunsul_tau = input('Doresti calculul mediei geometrice? y sau Y: ')
if Raspunsul_tau == 'y' or Raspunsul_tau == 'Y':
   MED_G = geom_x(Serie_X)
   print('Media geometrica este:', MED_G)
Raspunsul_tau = input("Doresti aflarea elementului minim? y sau Y: ")
if Raspunsul_tau == 'y' or Raspunsul_tau == 'Y':
   MIN_X = minim_x(Serie_X)
   print('Elementul minim este:', MIN_X)
Raspunsul_tau = input('Doresti aflarea elementului maxim? y sau Y: ')
if Raspunsul_tau == "y" or Raspunsul_tau == "Y":
   MAX_X = maxim_x(Serie_X)
   print('Elementul maxim este:', MAX_X)




Rezultatele afişate sunt:

Doresti calculul sumei elementelor? y sau Y: y
Sumaumei elementelor seriei este: 55
Doresti calculul mediei aritmetice? y sau Y: y
Media aritmetica este: 5.5
Doresti calculul mediei geometrice? y sau Y: y
Media geometrica este: 4.528728688116765
Doresti aflarea elementului minim? y sau Y: y
Elementul minim este: 1
Doresti aflarea elementului maxim? y sau Y: y
Elementul maxim este: 10

Dezvoltarea oricăror alte variante flexibile este benefică aprecierii programelor pe care le livrăm beneficiarilor.


(Afişat azi 20 aprilie 2022 ora 16,45
 Terminat azi 22 aprilie 2022 la ora 17,30 )
revenire