【模擬試験に】FEサンプル問題1❶(基本情報技術者試験, 科目B, 擬似言語)
このNoteでは「基本情報技術者試験(FE)」科目Bサンプル問題(擬似言語, 問01~16)を解説します。セキュリティは、 >別Note で。
サンプル問題1は模擬試験として学習最後にするのを、私は薦めます。様子を見たい/"分からされたい"方はサンプル問題2からがお薦め。>【FEB】サンプル問題2の解説Note
サンプル問題1は擬似言語16問+セキュリティ4問で、本試験20問と同じです。未熟な状態で、食い散らかしたくはないですね。
このNoteでは、図解と色を使って、どこで何が起きているのかを眺めるように工夫しています。”現場の限られた時間での解き筋”と関連知識/類似問題の紹介までしっかり作りました。
私のお薦めの演習順番は、
❶学習前の”分からせ”
>サンプル問題2のNote
❷テキスト※必要なら
うかる! 基本情報技術者 [科目B・セキュリティ編](amazon)
うかる! 基本情報技術者 [科目B・アルゴリズム編](amazon)
❸各年度の公開問題
>【FE科目B】令和07年科目BのNote
>【FE科目B】令和06年科目BのNote
>【FE科目B】令和05年科目BのNote
❹模擬試験
>サンプル問題1のNote(擬似言語)←いまここ
>サンプル問題1のNote(セキュリティ)
このNoteは、私がIT専門学校で授業したことを基に作成しています。IT専門学校でFEは第一目標として、カリキュラムが構築されています。何も知らずに入学しても、1年生10月にはFE合格していきますよ。実績ある教育ノウハウを詰め込んだので、少しでも信頼して頂けたら嬉しいです。
少しでも学習のお役に立てたら嬉しいです。
それでは始めましょう!
>全Noteへのリンク(FE節)
※科目Aのテーマ別対策、科目B対策、旧FE午後(セキュリティ)など沢山作りました!
【NOTICE】著作権を侵害には即座に法的措置をしています。人格否定もブロックなどの自衛手段を行います。私は1個人であり、公人ではありません。プライベート時間の全てを費やして作成してきました。ご理解頂ける方のみ、ご活用されると嬉しいです🫠
問01 | メモリ内容のトレース
問01は、基本的な問題でしたね。プログラムの変数(や配列)内のデータがどう変化するのかを追う「トレース(追跡)」。
正答はカ(3, 2)。ちょびっとメモするだけで正解できます。

現場での解き筋 | 図示しても良い。
下図。各変数内のデータの、プログラム進行による変化。

メモしましょ。x, y, zの3個もあるし、入替もちょっと複雑なので、脳内だけではちょっとキツイかも。簡単な問題なので、もしミスったら勿体ないです。
関連科目A | ページングの図示と同じ
今回の図示は、科目Aのページングと同じでした。
「FIFO」「 LIFO」「 LRU」「 LFU」って覚えてますか?
>【AP計算⓬】仮想記記憶のNote
FIFO:一番古いデータを追い出す
※「先入先出」とも云う
※最初にページインされたデータから追い出すLIFO:一番新しいデータを追い出す
※「後入先出」とも云う
※最後にページインされたデータから追い出すLRU:一番長く参照されなかったデータを追い出す
※一番使われなかった(必要とされなかった)データLFU:一番使用頻度が低いデータを追い出す
※一定時間内で考えて、使われた回数が少ないデータ


関連科目B | スタックのpush/pop
科目B擬似言語には、LIFO(スタック)だけ絡むでしょうね。他はFEには難しいので。>【FE科目B】令和7年問03のNote


>【AP計算⓬】仮想記記憶のNote
>【FE科目B】令和7年問03のNote
さらに今回問10で「リスト」が出ました。データと一緒に、次データの場所(アドレス)も保存する形態(ポインタ)。次データの場所を保存するなら「単方向リスト」、前データの場所”も”保存するなら「双方向リスト」と云います
問02 | 条件はキビシイ順に
問02は空欄が多いので、一旦問題文通りに組んで、簡単な値で考えるのが初手。または、選択肢を見て目星から考えるのも現実的な所。
正答はウ(a=3と5, b=3, c=5)。簡単な値で考えれば正解できます。私は、一旦 3, 5 で考えて、15, 16は必要に応じて追加しました。

正解を理解する | 問題文の入力/出力に寄せる
問題文の通り。3, 5を基盤に4パターン考えれば、正解に辿り着けます。

問題文に具体的な入力値や出力値がない時、自分で値を設定して動作確認します。値は、2, 3, 5, 7あたりがお薦めです(最後の節で詳しめに解説しますね)。
現場での解き方 | とりあえず入れてみる
こんぐらい短い擬似言語なら、頭の中で解いても良いし、特に考えず選択肢を全部試してもOKです。私も最初こんな感じでしたよ。
問題文の記述順に組んだ場合。

問題文「3と5で割り切れる」の15の時に、最初の条件が真になって、返すメッセージが「3で割り切れる」になってしまいます。ダメ。

だったら、最初に「3と5で割り切れる」を判定すれば良い、と発想。正解に至ります。

if文はふるい落とし。キビシイ条件で取り除いて、だんだん大目に見て行って、最後にelseで全部取るイメージですね。
関連 | 条件はキビシイ順に(AND)
ほぼ同じな問題も出てます。

今回と同じく、キビシイ条件を最初に設定してます。x>yかつx>zの2ハードル。>【FE科目B】令和06年科目B問01の解説Note
問03 | 要素数/要素番号/データの区別
問03の学びは、配列の扱いと、ループの解法。
配列のデータと要素番号の区別
➡部屋内と部屋番号の区別ループの省力解法
➡最初と最後に集中力
正答は、カ:out[5]=17。
ループカウンタ(i)のトレースは従来通り。「outの要素数」にも注意しましょう。(i=2, out要素数=1)で正しく処理できれば、後は流れで正解できます。

現場での解き筋❶ | ループ前と1回目は丁寧に
一緒にトレース頑張りましょう。
ループは1回目が重要。2~3回目までうまくいけば、後はトレースしなくても”流れ”で解けますから。
ループ前の初期化、ループ1回目が一番重要。

ここで間違いがあるかは、ループ終了で確認します(次々節)。
現場での解き筋❷ | 2回目が理解できれば、以後は簡略
1回目のループと値更新が正確ならば、2回目以降は流れに乗れます。
ループ2回目。i(=3)とoutの要素数(=2個)で、1ずれてるのが注意点。

私は2回目のループまでは1行ずつトレースして❷。3回目4回目は概要で進めました❸❹。”つまりinを累計していくんでしょと。3+2+1+6+5=17”。
これで解答してOKです。

気になるなら、for文の条件(i=6までループ、i=7でループしない)で、ループが正常終了、処理も正しいか確認します(次々節)。
※このNoteは”復習”なので、最後までトレースします。繰り返しますが、本試験では、やんなくてOKです。見直し時に”やりたきゃやれば良い”ぐらい。
おまけ❶ | 一応トレースします。
i=4, 5も図解にしました。過去問演習では、ここまで練習して下さい。本番では前節の概要まで充分ですよ。

問われている「戻り値の配列の要素番号5の値」とは、out[5]のこと。17だと分かります(紫)。
まだループ処理は終了してませんが、カ(17)を解答して、トレースを終了してOK。
おまけ❷ | ループ終了は再度丁寧に
このNoteは復習なので、ループ終了までトレースします。
1回目や2回目が正しければ、正しく終了するはずです。

i=6でループでi=7になり、i=7でループ処理はしません。
引数のin配列(6要素)が、ちゃんと最後まで呼び出されてます。もし解きが間違っていたら、5要素までの処理でループが終わったり、存在しない7要素目を呼び出そうとするなど、不具合が起きるはずです。
ループ1回目に注力し、ループ終了も確認する解き方が良いですね。
問04 | 簡単な数で考える
問04は数学用途ですが、数学的解法を理解しなくて大丈夫です。「最大公約数」は「奇数/偶数」「倍数」「素数」同様に一般常識として知って下さい。
>【FEB】令和5年科目B問01の解説Note(素数)
>【FEB】令和7年科目B問01の解説Note(倍数)
正答は、エ:while(x≠y), x>y, endwhile。
簡単な値で考えれば正解できます。選択肢も一目で半分に絞れます。

現場で解き筋 | 試しに値を入れた方が速い
問題文から。「最大公約数」を算出するアルゴリズムなのは明確なので、簡単な値を入れてトレースした方が速いです。
ここから先は
メンバーシップ
¥ 500 /月
学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ
