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)
SUMX=0.
SUMF=0.
DO 10 I=1,N
SUMX=SUMX+X(I)
10 SUMF=SUMF+F(I)
XMEDP=SUMX/SUMF
RETURN
END
RETURN
END
O variantă mai specială este:
SUBROUTINE MEDIARITM (X,F,N,XMEDP, IK)
SUM=0.
DO 10 I=1,N
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
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.
No comments:
Post a Comment