|
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)
|
|