PMプロジェクトマネージャ試験 午前Ⅰ
平成30年度春期 プロジェクトマネージャ 午前Ⅰ 問2
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- ア3
- イ4
- ウ5
- エ6
解き方のヒントを見る
再帰呼出しと引数の評価
条件分岐と、入れ子の呼出しで値が受け渡される順序を確認できますか?
この問題で問われていること
呼出しスタックを調べ、引数に関数呼出しを含む場合の計算過程を、小さな例で図にできますか?
再帰呼出しと引数の評価
呼出しスタックを調べ、引数に関数呼出しを含む場合の計算過程を、小さな例で図にできますか?
確認ポイント
- f(g(x))を例に、gの戻り値がfの引数に渡される過程を追えますか?
- 各呼出しの引数を表に記録し、ゼロか正かによって、どの条件が成立するか確認できますか?
- 呼出し時と戻る時を分けて記録し、まだ値が決まっていない計算と、確定した戻り値を区別できますか?
正解と解説を見る
正解
ウ
解説
添付の公式解答表では,問2の正解はウ。定義より,Ack(0,n)=n+1です。まずAck(1,0)=Ack(0,1)=2。n>0ではAck(1,n)=Ack(0,Ack(1,n−1))=Ack(1,n−1)+1となるので,Ack(1,1)=3,Ack(1,2)=4,Ack(1,3)=5と求められる。
添付の公式解答表では,問2の正解はウ。定義より,Ack(0,n)=n+1です。まずAck(1,0)=Ack(0,1)=2。n>0ではAck(1,n)=Ack(0,Ack(1,n−1))=Ack(1,n−1)+1となるので,Ack(1,1)=3,Ack(1,2)=4,Ack(1,3)=5と求められる。
選択肢ア
誤り。3はAck(1,1)の値であり,Ack(1,3)の値ではない。
選択肢イ
誤り。4はAck(1,2)の値であり,Ack(1,3)を求めるにはさらに再帰式を適用する必要がある。
選択肢ウ(正解)
正しい。Ack(1,0)=2から順に計算すると,Ack(1,1)=3,Ack(1,2)=4,Ack(1,3)=5となる。
選択肢エ
誤り。6はAck(1,4)の値であり,指定されたAck(1,3)より再帰式を1回多く適用した値である。
学習のポイント
呼出しスタックを調べ、引数に関数呼出しを含む場合の計算過程を、小さな例で図にできますか?
出典:独立行政法人 情報処理推進機構(IPA)平成30年度春期 プロジェクトマネージャ試験 午前Ⅰ 問2(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針