平成26年秋期 午前問7の関数についtr

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
qwe30rtyさん  
(No.1)
平成26年秋期 午前問7で関数計算問題が理解できません。
f(4,2)=f(3,1)+f(3,2)までは理解出来ます。
しかし、f(3,1)=f(2,0)+f(2,1)とf(3,2)=f(2,1)+f(2,2)が理解出来ません。
スペシャリストな方がいらっしゃいましたら、どうして
f(3,1)=f(2,0)+f(2,1)になるのか
f(3,2)=f(2,1)+f(2,2)になるのか
ご教示頂けないでしょうか。
よろしくお願い申し上げます。
2019.07.07 10:26
QMさん 
FE ゴールドマイスター
(No.2)
f(4,2)=f(3,1)+f(3,2)  が理解できるなら、同じことをするだけですが・・・

いずれも k<n を満たしている場合なので、
f(n,k)=f(n-1, k-1)+f(n-1,k)
の式が適用されます。

f(3,1)=f(3-1,1-1)+f(3-1,1)=f(2,0)+f(2,1)
f(3,2)=f(3-1,2-1)+f(3-1,2)=f(2,1)+f(2,2)
2019.07.07 14:52
てきとーさん 
(No.3)
この関数が返す値は3パターンあり、条件はnとkの値となっています

①k=0の時は  「1」を返す
②0<k<nの時は  f(n-1, k-1) + f(n-1, k)  を返す
③k=nの時は  「1」を返す

そこで条件に注目し、どのパターンを使うか考えます


この関数にf(4, 2)を与えると  ※f(n,k)なのでn=4, k=2です
①k=2なので成立しません
③k=2,n=4なので成立しません

②は0<2<4で条件が成立するので②にk=2,n=4を入れます
f(n-1, k-1)+f(n-1,k)を計算し
f(3, 1) + f(3, 2)  が返ってきます
ここまではOK、と


f(3, 1)の場合は…

この関数にf(3, 1)を与えると
①k=1なので成立しません
③k=1,n=3なので成立しません

②は0<1<3で条件が成立するので②にk=1,n=3を入れます
f(n-1, k-1)+f(n-1,k)を計算し
f(2, 0) + f(2, 1)  が返ってきます

…と、こういう流れです

さらに続けるなら
f(2, 0)の場合は①の条件k=0を満たすのでf(2, 0)は1になります
2019.07.07 16:00
qwe30rtyさん  
(No.4)
丁寧なご回答を頂いたQMさん、てきとーさんにお礼の返信したいのですが
パスワードが未入力です、って怒られています。
投稿時にパスワード入れてないのですがどうしたらいいんでしょうか?

この場をお借りしてお礼申し上げます。
QMさん、てきとーさんありがとうございます!

分かりやすくて大変助かりました。
今後とも何卒よろしくお願い申し上げます。
2019.07.07 19:28
管理人 
(No.5)
>パスワードが未入力です、って怒られています。
>投稿時にパスワード入れてないのですがどうしたらいいんでしょうか?

スレッド作成時にはパスワードの入力は不要ですが、既存スレッドに投稿するときには投稿者が後から記事を削除できるように、削除用パスワードを設定しなけばならない仕様となっております。
2019.07.08 11:19
てきとーさん 
(No.6)
回答者さんへ

今更だけど
回答者にとって重要なポイントは「どこがわからないの?」って部分の解釈だと思います

例えば今回の質問者さんの
>どうしてf(3,1)=f(2,0)+f(2,1)になるのか
という質問は人によって解釈が分かれると思います

①演算結果
f(3,1)をどう計算したらf(2,0)+f(2,1)になるのかわからない

②if分岐の選択
f(3,1)に何故f(n-1, k-1)+f(n-1,k)が適用されるのかわからない

③それ以外
①にも②にも該当しない何か、あるいはどちらにも該当する

そして質問の真の意図を理解するためのヒントはこれ
>f(4,2)=f(3,1)+f(3,2)までは理解出来ます。

素直に解釈すると①だけど
これがわからないって事はないんじゃ?という疑問が頭をよぎりますよね

f(4,2)=f(3,1)+f(3,2)が理解出来るなら(ヒントが真である前提)
f(3,1)=f(2,0)+f(2,1)も
f(3,2)=f(2,1)+f(2,2)も理解できると思われるから

QMさんが少し戸惑ってるのはここが引っかかったからでしょう

でもヒントの「理解できます」が実は間違ってる可能性も除外できないので…
もし全然理解できてない(ヒントが偽である前提)としたら
「①演算結果がわからない」で合ってるかもしれない

実は私も最初は①だと思ってました
②は①で引っかかった部分が腑に落ちなくて、「実は全部わかってない」という前提に立ち
「どこがわからないかわからない…なら全部網羅してやんよ」という感じで
回答を書いている途中で気づきました

「②if分岐の選択」だったらヒントは真で腑に落ちます
もし自分が質問者さんの立場で②だった場合、正しく伝えるのは少し難しいかも…とも思いました

質問する時に自分の中では自明の事なので
詳しく説明しなければわからないなんて全く思ってないから

それに冗長的でくどい説明になると
聞いてくれる相手も嫌だろうから避けたいという気持ちもあるし…

他の意味に解釈できる可能性を除外して正しく伝えるというのは案外難しいものです
もちろん回答者の回答にも同じ事が言えます

そういった事を念頭において
お互い補い合っていけるようなコミュニケーション、人間関係が出来たら良いですね~


qwe30rtyさんへ

実際何が正解だったのかはわかりませんが
QMさんの回答で①を、私の回答で②をカバー出来て①②両方わからない場合もこれでOK
という補足のつもりで今回は回答しました
解決できてよかったです

回答するのはとても良い勉強になります
質問内容の勉強にも現代文の勉強(午後試験の長文問題に通ずる)にも
実務でのコミュニケーション(相互の理解と確認)にも…

お礼を言いたいのはこちらの方です
今回のような質問をしていただいた質問者さんに感謝します
いつもわかりやすく良い回答をしているQMさんは尊敬します
ありがとうございました

みなさん、合格目指して一緒に頑張っていきましょう
2019.07.17 07:44

返信投稿用フォーム

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

その他のスレッド


Pagetop