Saturday, December 23, 2017

Calcul medie aritmetică ponderată

Dacă se consideră un șir X cu n elemente și șirul frecvențelor F tot cu n componente și se cere scrierea programului MEDPONDER pentru calculul mediei aritmetice ponderate XMEDP programul este:

         SUBROUTINE MEDPONDER (X,N,XMEDP)
         SUMX=0.
         SUMF=0.
         DO 10 I=1,N
         SUMX=SUMX+X(I)
10     SUMF=SUMF+F(I)
         XMEDP=SUMX/SUMF
         RETURN
         END

O variantă mai specială este:

         SUBROUTINE MEDIARITM (X,F,N,XMEDP, IK)
         SUM=0.
         DO 10 I=1,N


         SUMX=SUMX+X(I)
10     SUMF=SUMF+F(I)
         IF(SUMF.EQ.0) GO TO 20
         IK=1
         XMEDP=SUMX/SUMF
         GO TO 30
20     IK=2
         XMEDP=-1.
30     RETURN
         END
IK - 1 dacă se calculează corect media aritmetică ponderată;
IK - 2 dacă nu s-a calculat că nu este corect numărul de termeni, media incorectă dar returnată este -1.
Calcul medie aritmetică ponderată are două variante, una mai simplă alta mai complicată care presupune ca după apel să fie testată variabila de stare IK. Media aritmetică ponderată nu se calculează dacă suma frecvențelor este nulă.

No comments:

Post a Comment