科目Bの穴埋め問題についての質問です。

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
太郎丸吉田さん  
(No.1)
  科目Bの勉強を始めてから次のように「以下のコードを実行したときの結果を選択肢から選びなさい」という問題はできるようになって、間違えても解説を見て少しずつ理解できるようになってきました。
  しかし、「関数〇〇は~の処理をするプログラムである。プログラム内aに入るものを選択肢から選びなさい」のような穴埋め?問題が全然溶けるようになりません。どうやって解くのでしょうか。引数などに具体的な数値を入れたり、この手の問題を解くような方法があるのでしょうか。
  お教えいただけると幸いです
2023.09.07 16:20
まーぼさん 
FE シルバーマイスター
(No.2)
私は

> 引数などに具体的な数値を入れたり

の方法でやってますかね。

https://www.fe-siken.com/s/bbs/4939.html

こちらの問1では引数が5のときどうなるかを考えて穴埋めしています。もちろん問題文に引数の条件(ここでは2以上)が与えられることがあるので、それも考慮した引数にしなければいけません。
2023.09.07 16:52
電タックさん 
FE ブロンズマイスター
(No.3)
この投稿は投稿者により削除されました。(2023.09.07 18:46)
2023.09.07 18:46
rasukuosuさん 
(No.4)
では具体的な数値をいれて入れて解くというのがセオリーということなのでしょうか
2023.09.09 01:27
まーぼさん 
FE シルバーマイスター
(No.5)
私はプログラミングしたことのある人の多くはそうしているのではないかと思っています。

本来は穴埋め問題はこの解き方、トレース問題はこの解き方みたいにした方がいいんでしょうけれど私は特にそういう風な意識はしてないですね。どの問題でも基本的にはどういう処理なのか想像しながら解くという感じですかね。

No.2のリンクにあるスレッドの問1では割と丁寧にトレースしていると思いますけど、私は本番でこの問題に遭遇したら「素数判定ということは割り切れるとか割り切れないとかの条件式があるんじゃないか?」と疑いながらプログラムを見に行きます。そして割り切れる割り切れないとかの条件がプログラム上にはまだないから穴埋めにはそういう条件が入るんだと考えて選択肢の「iをjで割った余りが0」は「iがjで割り切れる」の言い換え表現なのでこれを選択します。素数判定の本質は空欄bのとこで空欄aは「引数以下の素数を全部出力」という要件を満たすように埋めればいいだけです。aがmaxnum+1だと引数に6を入力したら最初のfor文でiが7のときも入ってしまって、7は素数で素数判定のところでfalseにならずに出力されてしまいそれはおかしいからaはmaxnumだなって分かりますね。

そこまで時間に余裕のある試験ではないと思うので、パパっと解いて時間が余ったら過去のスレッドでやったようにトレースします。
2023.09.09 02:31
まーぼさん 
FE シルバーマイスター
(No.6)
具体的なプログラムを載せて、この問題を解く思考プロセスを教えてくださいといった投稿をすればいろんな解法が見られて面白いかも知れませんね。
2023.09.09 02:34

返信投稿用フォーム

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

その他のスレッド


Pagetop