第4回レポート課題の解答例
課題 4-1 の解答例
入力する数値により i は 3,4,5,6,7 の五つのいずれかになる。
よって while /* c1 */ は i+1 回の判定を行ない、ループは i 回の
反復をする。次に、そのループのなかでは /* c2 */ の if 文により
c2,p3,p5, 或は c2,p4,p5 のどちらかのルートを通過して i 回の
反復後 c1,p6 で終わる。
例として i が 3 の場合は
p1 p2 c1 c2 p4 p5 c1 c2 p3 p5 c1 c2 p4 p5 c1 p6
課題 4-2 の解答例
n個のデータの平均と標準偏差を求める擬似コード
(方式1)
{
i=1;
s=0;
while(i<=n){
s=s+x[i]; <--※1
i=i+1;
}
ave=s/n;
i=1;
s=0;
while(i<=n){
d=x[i]-ave;
s=s+d*d;
i=i+1; <--※2
}
v=s/n;
sd=sqrt(v);
}
(方式2)
{
i=1;
s=0; <--※1
t=0;
while(i<=n){
s=s+x[i] <--※2
t=t+x[i]*x[i]
i=i+1;
}
ave=s/n;
ave2=t/n;
v=ave2-ave*ave;
sd=sqrt(v);
}
課題 4-3 の解答例
(A) b-a > ε ( >= でも可)
(B) (a+b)/2
(C) a
理由
(A) 区間の幅b-aが、目的の精度εより大きい間は区間の更新を繰り返す。
(B) 中点を求める式。
(C) 現在の区間(a,b)を新しい区間(c,d)に更新する。
課題 4-4 の解答例