見出し画像

【模擬試験に】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:一番使用頻度が低いデータを追い出す
    ※一定時間内で考えて、使われた回数が少ないデータ

>【AP計算⓬】仮想記記憶のNote



関連科目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。
簡単な値で考えれば正解できます。選択肢も一目で半分に絞れます。


現場で解き筋 | 試しに値を入れた方が速い

問題文から。「最大公約数」を算出するアルゴリズムなのは明確なので、簡単な値を入れてトレースした方が速いです。

ここから先は

12,672字 / 87画像

メンバーシップ ¥ 500 /月

■初月無料なので、お試しください。 ■私独自の理解法や詳しい分析を公開したいです。 ■根本を丁寧に見…

【初月無料】Iパス法律/SG/AP計算/DBとSC午後2

¥500 / 月
1ヶ月無料 人数制限あり

学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ