平成21年秋期午後問8

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
エメラルドさん  
(No.1)
質問です。
他の解説を読ませていただきましたが、どうしても空欄c,dについて分かりません。
分からない箇所を具体的に示します

>① 空欄cについて15行目の繰り返しの初期値がn-2になっているのでその前の空欄cがn-1にならないといけないということ?
>② 例としてf←((a3×x+a2)×x+a1)×x+a0のように工夫したとあるが抽象的にはどう変わったのか?
>③ そもそもプログラム2の一部はどのような処理を行っているのか?
>④ 空欄b(行番号17はどんな処理をしているのか?

ご解説お願いします
https://www.fe-siken.com/kakomon/21_aki/pm08.html
2021.08.15 00:02
関数従属さん 
FE ゴールドマイスター
(No.2)
>① 空欄cについて15行目の繰り返しの初期値がn-2になっているのでその前の空欄cがn-1にならないといけないということ?
>④ 空欄d(行番号17)はどんな処理をしているのか?

fの値と同様にdの値を求める部分になります。
fのf←((a3×x+a2)×x+a1)×x+a0に習うと
dはd←((b2       )×x+b1)×x+b0となります。

行番号13,14でfは(a3×x+a2)を設定し、dは(b2       )を設定します。
その後の行番号15~18で
×x+a1、×x+b1
次のループで
×x+b0、×x+b0
の処理を行っていきます。

これを次数nで考えることにより、
空欄cはb[n-1]、空欄dはb[k]となります。

>② 例としてf←((a3×x+a2)×x+a1)×x+a0のように工夫したとあるが抽象的にはどう変わったのか?
a3x^3+a2x^2+a1^x+a0のままだとa3×x×x×x+a2×x×x+a1×x+a0となり乗算が6回、加算が3回なのですが
((a3×x+a2)×x+a1)×x+a0にする事で乗算が3回、加算が3回と計算回数が減ります。
次数nが大きくなると差異も大きくなります。

>③ そもそもプログラム2の一部はどのような処理を行っているのか?
行番号9~11は〔アルゴリズム2の説明〕の(2)の処理を行い、配列bに値を設定しております。
行番号13~18は〔アルゴリズム2の説明〕の(3)の①、②の処理を行い、f,dに値を設定しております。
2021.08.15 16:52
エメラルドさん  
(No.3)
ありがとうございます
ご回答を参考に再度考えます
2021.08.16 21:54

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop