Variante de programe pentru calculul mediei aritmetice


Media aritmetică
Printre primele programe pe care le scriu ce ce învaţă să programeze, este şi programul pentru calculul mediei aritmetice. Există mai multe variante. Le voi lua pe rând, pentru a arăta că programul adevărat de calcul pentru media aritmetică nu este chiar aşa de simplu, precum ar gândi unii.
Prima variantă.
Se defineşte o listă care se iniţializează cu valorile pentru care dorim să calculăm media aritmetică. Se face însumarea acestor valori. Se împarte suma la numărul valorilor şi se afişează reziltatul obţinut, care este de fapt media aritmetică. Pentru a fi chiar cât de cât meseriaqşi, înainte de a imprima media, vom afişa seria de date.
Programul este:



#
# calcul medie aritmetica cu termenii aflati in lista
#
Seria = [1,2,3,4,5,6,7,8,9,10]
Suma = 0
i = 1
print('Seria de date este:')
for x in Seria:
   Suma += x
   print('X(', i,')=', x)
   i += 1
Media = Suma /len(Seria)
print('Media aritmetica este:', Media)





Rezultatele afişate sunt:
Seria de date este
: X( 1 )= 1
X( 2 )= 2
X( 3 )= 3
X( 4 )= 4
X( 5 )= 5
X( 6 )= 6
X( 7 )= 7
X( 8 )= 8
X( 9 )= 9
X( 10 )= 10
Media aritmetica este: 5.5

A doua variantă.
Se introduce de la tastatură numărul de termeni ai seriei. Se alocă atâtea elemente în listă câţi termeni au fost specificaţi. Se introduc de la tastatură termenii. Se calculează suma termenilor. Se afişază termenii. Se cvalculează media aritmetică. Se afişează media aritmetică. Programul acesta permite calculul de medii aritmetice pentru oricâte serii de date la o singură lansare în execuţie, atât timp cât vom răspunde cu y sau Y la întrebarea Doriţi să calculaţi o altă medie aritmetică?
Programul este:



#
# calcul medie aritmetica cu termenii aflati in lista
#
Raspuns = 'y'
while Raspuns == 'y' or Raspuns == 'Y':
    Nr = int(input('Numarul de elemente din serie este:'))
    Seria_X = [0]*Nr
    Suma_X = 0
    print('Seria de date este:')
    for i in range(Nr):
        Seria_X[i] = int(input('X[i]='))
        Suma_X += Seria_X[i]
    print('Seria de date este:')
    for j in range(Nr):
        print('X(', j+1,')=', Seria_X[j])
    Media_X = Suma_X /float(Nr)
    print('Media aritmetica este:', Media_X)
    Raspuns = input('Daca dori sa continuati tastati y sau Y:')
print('Multumesc ca ati folosit acest program!')


Rezultatele afişate sunt:
Numarul de elemente din serie este:3
Seria de date este:
X[i]=1
X[i]=2
X[i]=3
Seria de date este:
X( 1 )= 1
X( 2 )= 2
X( 3 )= 3
Media aritmetica este: 2.0
Daca dori sa continuati tastati y sau Y:y
Numarul de elemente din serie este:4
Seria de date este:
X[i]=1
X[i]=2
X[i]=3
X[i]=4
Seria de date este:
X( 1 )= 1
X( 2 )= 2
X( 3 )= 3
X( 4 )= 4
Media aritmetica este: 2.5
Daca dori sa continuati tastati y sau Y:y
Numarul de elemente din serie este:2
Seria de date este:
X[i]=1
X[i]=2
Seria de date este:
X( 1 )= 1
X( 2 )= 2
Media aritmetica este: 1.5
Daca dori sa continuati tastati y sau Y:4 Multumesc ca ati folosit acest program!

A treia variantă.
Se crează un fişier cu numărul de termeni ai seriei şi cu termenii seriei. Se deschide fişierul. Se citeşte din fişier numărul de termeni.Se citesc din fişier cu termenii seriei. Se însumează termenii. Se calculează media aritmetică. Se afişază termenii seriei. Se afişază media. Se închide fişierul. Programul acesta permite calculul mediei aritmetice cu datele din fişier ori de câte ori dorim, mai ales că fişierul se actualizează, adăugând noi termeni în serie, dacă dorim aşa ceva.
Programul este:



#
# Calcul medie artmetica cu date dintr-n fisier
#
Fisier_date = open("FisierDateX-TXT.txt", "r")
Articol = Fisier_date.read()
print("Datele citite sunt: ", Articol)
X = Articol.split(",")
Fisier_date.close()
print("Lista de date: ", X)
Nr = int(X[0])
print("Numarul de componente al seriei este: ", Nr)
Suma = 0
for i in range(1,Nr+1):
    Suma += int(X[i])
Media = Suma/float(Nr)
print("Media este: ", Media)






Rezultatele afişate sunt:
Datele citite sunt: 10,1,2,3,4,5,6,7,8,9,10
Lista de date: ['10', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10\n']
Numarul de componente al seriei este: 10
Media este: 5.5

Este clar că programatorii care doresc să combine variantele vor obţine exact ceea ce doresc. Pentru media aritmetică ponderată trebuie făcute modificări nesemnificative, căci trebuie incluse doar frecvenţele, care sunt o listă ca seria de date X din programele prezentate.


(Afişat azi 20 aprilie 2022 ora 12,45
 Terminat tot azi la ora 19,30 )
revenire