- 締切済み
午後の選択問題C言語を解くバランスと、実試験形式で演習を積める本やサイトは?
4月の春、基本情報試験を受けます・・・ もう二週間です。 この度、C言語での受験なのですが「C言語問題の切り札」という書籍掲載の過去問をやっております。 今までの自分より、かなり手応えを感じております。ただし一部ではその年の試験問題との相性みたなもので てこずってしまう場合もあることも。。。 ちなみに、最速でとばしているつもりなのですが回答し終わるまで随分と時間が掛かってしまいます。 このままでは試験当日時間がなくなることが容易に予想できるわけで・・・そこで 質問:1 やはり時間が掛かるのは”この変数は何か?””現在の値は?””何故この記述はここにある?”みたいなことを逐一メモしてやっていっているからのようなのですが、それをしっかりやらないと途中で処理内容を見失って回答に窮するハメに陥るような気がしてなりません。それでは結局また問題を読んで返ってロスしてしまいますので。 やはりこれは改めるべきなのでしょうか?画一的ではないのでどうにもですが、皆さんは”読解・トレース対回答のバランス”をどのくらいの割合で取り組まれましたか? 質問:2 こちらを終えた後、”やっぱり本番同様の模擬形式”でオリジナル問題がいくつも掲載されている書籍を探しているのですがオススメはございますでしょうか? 悪文で恐縮ですが、アドバイスを頂ければ幸いです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kacchann
- ベストアンサー率58% (347/594)
経験がある程度ある人(※たとえば趣味でプログラミングを 1年くらいやってる人)にとっては、 基本情報技術者の言語問題は、 どんな題材が出ても、 たいてい「対処」できると思います。 本当の初心者(※単にC言語の入門書を1冊やっただけの人)は、 まったく手がつかないと思います。 質問者さんは、この「もぐらたたき」を、35分で終えたということなので、 「中間のレベル」なのだと思います。 (この手のゲーム作ったことない人が35分で解答できたら、 すごいとは思う。 ここで誉めても仕方ないのですが…。(試験に受からないと意味ないので^.^)) --- >類似のものがありますが、回答者様は >それらをうっかり取り違える(?)みたいなことも >ございませんか うーん、ぼくや「この手のゲームを作ったことある人」にとっては、 処理内容が決まりきっている(※又は容易に想像できる範囲)ので、 取り違えませんね…。 この題材に関しては、ですけど。 >表示時間待ちのところはわりとすんなり >わかったのですが なるほど…。「いい線」いってることは確か。 自分が全く扱ったことのない題材が出題されてしまった場合は、 質問者さんのように、メモをていねいに書いて ソースコードを解読するしかないと思います。 その場合は、あきらめましょう。 現時点では1問に35分なり40分なり、 多少、時間をかけてじっくり解いてもいいと思います。 ただ、本番では、はじめに制限時間を決めておいて、 深追いしないように、制限時間が来たら、 見切りをつけるべきです。 (※ちなみに「モグラ」の設問4で、 ぼくはモタモタして10分かかった…。) >独学でやっているものとしては >どのような練習を積んでいけば >読み取りの勘・経験など鍛えられるでしょうか 「本来」は、とくに「読み取りの訓練」などしません。 本来は、単に趣味などで主体的にゲームやツールなどをつくって (あと最低でもいわゆる「アルゴリズムとデータ構造」の知識(※C言語で 具体的にどう実装するのか)を身につけておいて)それを1年くらい続けていけば、 自然と「プログラミングの基礎力・素養」が身につくので、 この基本情報処理の言語問題レベルの問題ならば 難なく読めるようになるはず。 それが出題者側が受験者に対し想定している姿だし、 本来はそうするべきです。 しかし、そんなことをいっても、もう試験は二週間後なので、 さて、どうしましょう…。 --- あと、確かに問題には「種類」があって、 このもぐらたたきは「事前に知ってないと手がつかない」的な性質が強いと (個人的には)思いますが、 そうではなく、 「だれももともと知らないような題材」の問題もありますし。 僕が昨日やってみたのがコレ http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H12b2/pm07.html これ、「もぐらたたき」と違って、 「事前知識」があんまり必要ない。 でも、それはそれで、難しいのですが。 ちなみにソースコード把握するのに27分かかりました。 (※完璧に全容をとらえたわけではないが、 解答するに充分に足るくらいには把握) ちなみに設問eを間違えました。 あと、こっちの問題は、 「モグラ」よりは「説明をメモ」する必要が あんまり生じないと思いますが…どうでしょう? でもモグラとは違った意味で、「難しい」です。 --- 一日につき何問か、ていねいにやっていけば、 なにか光明が見えるかも?? 基本情報技術者は、問題自体(扱う題材自体)は、良いのは確か。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1937771
- kacchann
- ベストアンサー率58% (347/594)
質問:1について ふつうは、「逐一説明をメモする」ことはしないと思います。 『C言語の切り札』の ・Practice11(平成12年秋)[もぐらたたき]を 試しに解いてみました。 一切、説明をメモすることはしませんでした。 ただ、設問4で、図を書いて考える必要があったので、 それ(図)は書きました。 この問題、どうでしょうか? もぐらたたきに限らず、 マウスクリック型のミニゲームを作ったことある人なら、 ほとんど問題なく、 説明を書き込むことなしに、 ソースコードが読めると思います。 なぜなら、「決まりきった処理」しかしてないからです。 「ああ、あれね」っていう処理しかしてない、ということ。 (問題文とソースコードの両方を読むのに合計10分くらい。) 設問も、素直すぎるくらい素直。 (設問4以外は簡単) 逆に、 こういうのを作ったことないひとは、 ソースコードが全く読めないのでは? (※まず「時間をカウントしている」ということに気づかないと思う。 次に、flgやstやcntなどの変数名から、その役割がある程度類推できないと きつい) たとえ何とか自力で読めたとしても、 ソースコード読むだけで20分も30分もかかっていたら、 設問を解答する時間がなくなるし。 --- 要するに、 問題を解くカギは、 「プログラミング経験があるか、ないか」でしかない。 (今、眠いので寝ます…。 時間があったら捕捉で何か書きます…)
お礼
御返答、ありがとうございます。 はい。その「もぐらたたき」もやりました。 注意深く読み、ポイントの箇所に一言メモ・・・というぐあいでとりあえず一応のトレースを終えてから解答して、ここの設問中はミスなく行けました。ただ・・・やはり時間は全て解答し終わるまで35分程かかってしまっていたように思います。変数の意味やコード一行の処理内容も気になってましたので。。。 >一切、説明をメモすることはしませんでした。 (例の問いに限らず全般的に)宣言されている変数名 などもいくつか類似のものがありますが、回答者様は それらをうっかり取り違える(?)みたいなことも ございませんか? 自分の場合は、構造体とかだと中身にどのようなメンバが宣言されていたか?など、見直したりをかなりしてしまいます。 ご推察どおり、自分にマウスイベントに類するプログラムコードを書いたことがないからかもしれません。 (表示時間待ちのところはわりとすんなり わかったのですが) >(問題文とソースコードの両方を読むのに合計10分くらい。) う~ん・・・合計10分ですかぁ! 宣言された変数の数や、説明文中の注釈が長いと とてもそんな時間でのトレースは厳しいです。 独学でやっているものとしてはどのような練習を積んでいけば読み取りの勘・経験など鍛えられるでしょうか?
お礼
御返答頂いてからこちらよりの応答が遅くなってしまい、大変すみませんでした。 ご案内頂いてましたリンク先に掲載の、H12秋7の”同期プログラムの問題”が当方所有の問題集の一番最後に掲載されてましたので、その問を”(今回の試験での)学び納め”に解いた後・・・と思ったりもしておりましたので・・・。 (最近では過去問をやればやるほど自信をなくしていき、 確信持って解答出来る箇所も少なかったりしてました。) こちらに取り組んだ結果、私も設問eを間違えました(苦笑) ここ以外は正解できました。時間も30分程で比較的自分としては早く解けたように思います。ただ、eの箇所のみの為にその後は深追いしてしまいましたが。。。 自分の場合、ファイル処理や http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H8a2/af07.html のような問題はどうにか出来そうなんですが・・・ http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H10b2/pm11.html http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H13a2/pm09.html http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H13a2/pm06.html のようなグラフィック系の問だと非常に苦戦します。 (おそらく、あのグラフィック問題類のデキでは 合格はムリ。。。) 「C言語切り札」の問題集が同期プログラムを難易度A~Cに分けたA(難易度上)としており、他の3つのグラフィック系プログラムはBランクとしていたことに対して、どうにもこうにも首を傾げたくなるぐらいでして・・・かなり(自分の回答力には)問題分野との相性によるバラツキがあるようです。 もう、後はどんな問題が出題されるのかの”運”! それが第一のハードルかと。 ともあれ、明日がもう試験日ですので本日は早めに就寝して臨んで来ます。 ありがとうございました。