平成23年度(2011) 秋期 問7 | 情報処理技術者試験 応用情報技術者
n個の正の整数x1,x2,…,xn が並んだ線形リストを[x1,x2,…,Xn]で表し,空リストは[ ]で表す。次のように再帰的に定義される関数func(L)を,L=[1,3,2]を実引数として呼び出したとき, print文によって表示される数字はどれか。ここで,プログラム中の=は等号,:=は代入を表す。 〔関数の定義〕first([x1,x2,…,xn])はx1を返す。butfirst([x1,x2,…,xn])は[x2,…,xn]を返す。butfirst([x])は[ ]を返す。max(x,y)は,X≧yであればxを返し,そうでなければyを返す。func(L) begin if L = [] then return 0; A := first(L); B := func(butfirst(L)); C := max(A, B); print C; return C; end
選択肢 ア
123
選択肢 イ
133
選択肢 ウ
223
選択肢 エ
233
[出典:情報処理技術者試験 応用情報技術者 平成23年度(2011) 秋期 問7]