高校数学「統計とコンピュータ」 山中和義 2008/01/24 16:09:40
高校数学「統計とコンピュータ」 |
返事を書く ノートメニュー |
山中和義 <drdlxujciw> 2008/01/24 16:09:40 | |
プログラム言語での必要性もあろうかと思いサブルーチンをつくってみました。
!統計関数 !変数 N: 個数。※1以上 !配列 A(i): 対象の数値。※個数はNとする。 !作業変数は、i,j,ma,mb,s !関数名をEXCEL準拠 FUNCTION SUM(N,A()) !総和 LET s=A(1) FOR i=2 TO N LET s=s+A(i) NEXT i LET SUM=s END FUNCTION FUNCTION FMAX(N,A()) !最大値(maximum) LET s=A(1) !まず仮の最大値とする FOR i=2 TO N IF A(i)>s THEN LET s=A(i) !大きければ NEXT i LET FMAX=s END FUNCTION FUNCTION FMIN(N,A()) !最小値(minimum) LET s=A(1) FOR i=2 TO N IF A(i)<s THEN LET s=A(i) NEXT i LET FMIN=s END FUNCTION SUB sort(N,A()) !降順に並べ替える FOR i=1 TO N-1 FOR j=i+1 TO N IF A(i)<A(j) THEN swap A(i),A(j) NEXT j NEXT i END SUB DEF AVERAGE(N,A())=SUM(N,A)/N !平均(mean) ※相加平均 FUNCTION GEOMEAN(N,A()) !相乗平均(幾何平均) LET s=A(1) FOR i=2 TO N LET s=s*A(i) NEXT i LET GEOMEAN=s^(1/N) END FUNCTION FUNCTION HERMEAN(N,A()) !調和平均 LET s=1/A(1) FOR i=2 TO N LET s=s+1/A(i) NEXT i LET HERMEAN=N/s END FUNCTION FUNCTION MEDIAN(N,A()) !中央値(median) CALL sort(N,A) IF MOD(N,2)=0 THEN !偶数個なら LET MEDIAN=(A(N/2)+A(N/2+1))/2 ELSE LET MEDIAN=A((N+1)/2) END IF END FUNCTION FUNCTION RANK(N,A(),m) !順位 ※変数 m: 順位を求める数値 LET s=1 !まず、1位とする FOR i=1 TO N !全部調べる IF A(i)>m THEN LET s=s+1 !大きければ順位を下げる NEXT i LET RANK=s END FUNCTION |
└つづき 山中和義 2008/01/24 16:12:39 └つづき2 山中和義 2008/01/24 16:13:40 (修正2回)