平成29年度 秋期 午前 問6
アルゴリズム
再帰呼出しの説明
再帰呼出しの説明はどれか。
- アあらかじめ決められた順番ではなく,起きた事象に応じた処理を行うこと
- イ関数の中で自分自身を用いた処理を行うこと
- ウ処理が終了した関数をメモリから消去せず,必要になったとき再び用いること
- エ処理に失敗したときに,その処理を呼び出す直前の状態に戻すこと
答えと解説を見る
✓ これが正解イ関数の中で自分自身を用いた処理を行うこと
解説
関数の中から自分自身を呼ぶことを、そう呼んでいます。
再帰呼出しは、関数の中から自分自身を呼ぶ書き方です。同じ手続を、条件が尽きるまで繰り返し呼びました。木をたどる処理や、階乗の計算などで使われます。だから自分自身を用いた処理と述べた肢が当たりました。起きた事象に応じて処理する肢は、出来事で動く作りでした。順を決めずに、来たものから応じていきます。終わった関数を消さずに再び用いる肢は、メモリに残す工夫です。読み込み直す手間を省くために置かれました。失敗したときに直前へ戻す肢は、巻き戻しの仕組みになります。途中まで進んだ変更を、なかったことにしました。三つとも、自らを呼ぶ形ではありません。呼ぶ相手が自分かどうかが、見分けの基でした。自らを指しているかを見ます。止める条件が必要です。止める条件を書き忘れると、終わらなくなります。
ほかの選択肢はなぜ違うのか
- アあらかじめ決められた順番ではなく,起きた…:起きた事象に応じた処理を行うと述べています。順を決めずに、来たものから応じる作りでした。待ち受ける形の仕組みで、よく使われます。ところが自分自身を呼んではいません。応じる側の話でした。扱う題が違います。呼ぶ先が違います。
- ウ処理が終了した関数をメモリから消去せず,…:終わった関数を消さずに再び用いると述べています。メモリに残しておく工夫のことでした。読み込み直す手間が省けます。けれども呼び方そのものではありません。残す側の話でした。見ている先が別です。メモリに置く工夫です。
- エ処理に失敗したときに,その処理を呼び出す…:失敗時に直前の状態へ戻すと述べています。途中の変更を、なかったことにする仕組みでした。データの整合を守るうえで、必要な働きです。ところが呼び出しの形ではありません。巻き戻しの話でした。目当てが違います。戻す側の話です。
出典:平成29年度 秋期 基本情報技術者試験 午前 問6
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)