メインコンテンツへスキップ
見出し画像

【図解で流し見】擬似言語の解法11(基本情報技術者試験, 科目B, 擬似言語)

    このNoteでは、「基本情報技術者試験(FE)科目B(擬似言語)」を分析して、11種類の解法を紹介します。

    私が全ての問題を解いた時、注目した点/確認した点などを基に作成してみました。

    演習前でも演習後でも構いませんが。>【FE科目B】サンプル2の5問 を解いた後だと共感できる部分が多いですよ。

    図解で紹介してますが、なるべく答えは分からないようにしました。ネタバレは気にせず軽く流し見して大丈夫です。どうせ問題演習して身体に叩き込まれなきゃ実感しません🫠


    私のNoteは、IT専門学校で授業したことを基に作成しています。IT専門学校でFEは第一目標として、カリキュラムが構築されています。何も知らずに入学しても、1年生10月にはFE合格していきますよ。実績ある教育ノウハウを詰め込んだので、少しでも信頼して頂けたら嬉しいです。

    少しでも学習のお役に立てたら嬉しいです。❤ボタンを押して頂けますと大変励みになります(もう心折れそう🫠)。

    それでは始めましょう!


    >全Noteへのリンク(FE節)
    ※科目Aのテーマ別対策、科目B対策、旧FE午後(セキュリティ)など沢山作りました!

    【NOTICE】著作権を侵害には即座に法的措置をしています。人格否定もブロックなどの自衛手段を行います。私は1個人であり、公人ではありません。プライベート時間の全てを費やして作成してきました。ご理解頂ける方のみ、ご活用されると嬉しいです🫠


    ❶【必ず獲ろう】基礎的な問題

    ごくごく基礎的(簡単)な問題です。

    if文やfor文の条件設定、変数のトレースなど。必ず正解して下さい。問01や02に多い。ただのジャブ。

    画像

    >【FE】サンプル2問01のNote
    >【FE】サンプル2問02のNote
    >【FE】令和06年問01のNote
    ↓本試験直前の模擬試験用
    >【FE】サンプル1問01のNote
    >【FE】サンプル1問02のNote

    課題案:非会員、無料会員、有料会員の処理分岐(準備中*)



    ❷【自分で設定】簡単な値で試す

    問題文に具体的な入力値がない時、自分で値を設定して動作確認します。

    例えば最大公約数を求めるプログラム。6と3などすぐにトレースが終わる簡単な数値で試します。

    画像

    値のイタヅラで、選択肢が絞れないこともあります。必要に応じて、値を逆にしたり、別の値も試したりして確定させます。


    今回は違いましたが。私は2, 3, 5, 7あたりをお薦めします。

    1は掛け算に影響ないのでダメ。

    同じ値を使うのも薦めません。例えば、2の2乗って2×2ですが。2×2なのか「2^2」なのか分かりません。2の3乗で、2×3と2^3=2×2×2の違いが明確になります。

    値を選ぶ時は、ちょっとだけ先のことも気にします。

    2,3で大抵は決着します。5, 7まで使うのは早々ないです。


    >【FE】令和07年問02のNote
    ↓本試験直前の模擬試験用
    >【FE】サンプル1問04のNote
    >【FE】サンプル1問13のNote

    課題案:指数、最小公倍数。(準備中*)



    ➌【小学校でやった】問題文の答えに合わせる

    引数と返り値が掲載されている場合があります。掲載通りになるのを見つければ良いのです。

    よく分からん処理/数式で助かります。

    画像

    小学校の国語のテスト。教室の掲示物から漢字を探しませんでしたか?時間割とかお世話になりましたね。漢字多いし。

    私は会計公式が超苦手なので。科目Aでよくやります。前年度の会計表の入力と結果から、計算式を推測します💦

    ↓本試験直前の模擬試験用
    >【FE】サンプル1問12のNote

    課題案:分散、相関係数(準備中*)



    ❹【後は流れで】トレースは最初だけ

    1~2回トレースすれば「残りはこんなっ感じで進みそう」って分かる場合があります。トレースをやめて結果だけ考えて大丈夫です。

    ループ回数が多い時、全部やらんで良いの助かります。

    画像

    ループで大事なのは1回目と2回目、中間はトレースなしで良いです。最後にループが正常に終了するかも大事です。

    終了確認は、本試験でしなくて良いです。過去問演習は練習なのでやって下さい。プログラムを組む時も必ずやります。ループが1回足りなかったり、無限ループになることもありますからね。


    >【FE】令和07年問04のNote
    ↓本試験直前の模擬試験用
    >【FE】サンプル1問03のNote
    >【FE】サンプル1問09のNote

    課題案:等比級数、フィボナッチ(準備中*)



    ➎【最終にして最高】トレースこそパワー

    擬似言語はトレース出来れば必ず正解できます。

    「トレースに勝る王道なし」

    だって、プログラムの実行をコンピュータではなくて、私たちに机上でやらせてるんですもん。極論「何をしてるか」の理解なんて要りません。私たちがコンピュータと同じ動作をすれば良いんです。

    画像

    並替え(ソート)、ビット演算は考えてもしゃーないので、1行ずつ丁寧にトレースします。問題演習では、自分なりに図に描き出せるように練習しましょう。

    >【FE】令和06年問02のNote
    >【FE】令和06年問04のNote
    >【FE】令和05年問03のNote
    ↓本試験直前の模擬試験用
    >【FE】サンプル1問06のNote
    >【FE】サンプル1問07のNote
    >【FE】サンプル1問14のNote
    >【FE】サンプル1問16のNote

    課題案:バブルソート(準備中*)



    ➏【ちょっとは考える】解釈しないと面倒

    できれば「プログラムの目的」、何を計算しているか・どう処理したいのか、を意識したいです。部活の練習だって、どこを鍛えるか知った方がモチベも効果も上がりますよね。

    勿論、全選択肢をトレースすればいつか正解を特定できます。でも、選択肢が多かったり、ループや分岐が多いと大変です。「プログラムの目的」が分かれば、選択肢を絞れる場合があります。

    下図青枠の意図が分かると、選択肢をいくつか消せました(図では答え分からないようにしてます)。

    画像

    私は全部解きましたが、1回だけ心折れました。「これ何やってんだろう」って分からなくて、「あー選択肢多くてやってらんねー」ってなりました。

    画像
    画像

    >【FE】令和07年問01のNote
    >【FE】令和06年問03のNote
    >【FE】令和05年問01のNote
    >【FE】サンプル2問04のNote
    >【FE】サンプル2問05のNote
    ↓本試験直前の模擬試験用
    >【FE】サンプル1問05のNote
    >【FE】サンプル1問11のNote

    課題案:偶数をif文で求める関数。もう片方の関数は+2する関数。(準備中*)



    ➐【科目Aと同じ】図で理解する

    科目Aの仮想記憶(FIFO, LRUなど)や組合せなど、図に描き出して解く問題がありましたね。

    科目Bでも、変数や配列・処理の内容を図に描いて解く手法は有効です。

    画像

    問題文に図を描いてくれてることもあります。「わざわざ」提示してくれてます。FEは優しい(=易しい)。

    画像

    >【FE】令和07年問03のNote
    ↓本試験直前の模擬試験用

    >【FE】サンプル1問08のNote

    課題案:図形の回転(準備中*)



    ➑【訳分からんくても】計算部位の特定

    数学や統計の訳分かんない数式を計算するプログラム。

    平均や分散ぐらいなら知ってますが、「コサイン類似度」「疎行列」とか”何言ってるんすか”って感じ。

    でも理解する必要はありません。

    「数学の数式」を「擬似言語の数式」で書いている箇所を特定していけばOK。大抵は「分子」「分母」「項」ごとに計算して、最後に全体数式に入れてます。

    画像

    解きほぐしは、全体数式から、分子/分母/各項目に遡っていきます。

    下図ぐらい複雑なのも出ます。
    ※理解せず”わぁヤバイ”でスルーして下さい。

    画像

    >【FE】令和07年問05のNote
    >【FE】令和06年問05のNote
    >【FE】令和05年問05のNote
    ↓本試験直前の模擬試験用
    ➡ありませんでした…

    課題案:分散(準備中*)



    ➒【大きな視野で】関数のトレース

    科目Bでは、1行1行も問いますが、プログラムの塊「関数」の呼び出しも扱います。ちょっと大きな視点(俯瞰)で見ます。

    1社員の動きではなくて、複数社員/部署を見る経営者の視点みたいな感じかな。

    画像

    プログラムは、くっそ長ーーーーーくは書きません。必ず関数やクラスに小分けします。後から読むの大変ですからね。

    会社の仕事だって一人が頭からお尻までじゃなくて、各工程で担当が配置されてますよね。教科書だって、章や節に小分けにされてます。

    >【FE】令和05年問02のNote
    >【FE】令和05年問04のNote
    ↓本試験直前の模擬試験用
    >【FE】サンプル1問14のNote

    課題案:再帰関数(準備中*)



    ➓【手計算まで】トレースなし

    1問だけ擬似言語のない問題が出ました。

    手順を提示して、手計算させる問題。

    画像

    多分擬似言語にすると難しい、でもITとして重要なテーマだから、かな。上図はAIの「Mini-Max法」です。これに「αカット/βカット」が加わるともう大変です。
    >【G検】Mini-Max法のNote
    >【G検】αβ法のNote

    ↓本試験直前の模擬試験用
    >【FE】サンプル1問15のNote

    課題案:ヒープ木の科目A/午前(準備中*)



    ⓫【基礎は拾う】オブジェクト指向

    オブジェクト指向は、プログラム経験がないとなかなか理解できません。科目Aでも苦労しましたよね。用語を”なんとなく理解”で覚えた感じ。実際どう使うのか分かんない。

    科目Bでも1~2問出ます。捨てても大丈夫です。他を固めれば合格できるので。ただ、メンバー変数やメソッドの呼び出し程度の基礎は得点できたら良いかなと。

    画像

    オブジェクト指向は、クラスって設計図を、インスタンス化(オブジェクト)して使うプログラム思想。クラスには、変数やメソッド(関数/機能)を内包します。>【FE科目A】オブジェクト指向の基礎Note

    画像

    例えば、炊飯器の設計図から、沢山の炊飯器を作れますね。設計図には、タイマーに使う時刻を格納する変数が含まれてます。メソッドは、炊飯ボタンや予約ボタンや保温ボタン。押された時に実行されるプログラムも書かれています。

    画像

    >【FE】サンプル2問03のNote
    >【FE】サンプル2問05のNote
    ↓本試験直前の模擬試験用
    >【FE】サンプル1問08のNote
    >【FE】サンプル1問10のNote
    ※正解はできますが、真の理解は難しいです。私のNoteでも正解が出来る程度に留めてます。上を目指す方は、”インスタンス化した時の変数がポインタである”を意識して調べて考えてみてください。くっそ難しいですよ。

    課題案:Javaの文字列。STGの敵機(準備中*)



    まとめ | 最終奥義はトレース/複合解法

    お疲れ様でした!

    結局目指すのは【➎トレースこそ最強】です。過去問演習では、途中で答えが分かろうが、必ず最後までトレースしてください。私の解説Noteでも「おまけ」で全トレースを載せてます(なるべく💦)。

    今回の「11種類の解法を組合せ」るのも有効。解放は解き方であり、プログラムを組んだ時の確認でもあります。

    解法は、試験時の時間と体力/精神力のマネジメントであり、開発/設計の実務ノウハウでもあります。

    このNoteが、少しでも合格やスキルアップのお役に立てたら嬉しいです。別の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パスポート試験・基本情報技術者試験・応用情報技術者試験を独学で高得点合格。情報処理安全確保支援士試験(セキスペ)・データベーススペシャリスト試験・ネットワークスペシャリスト試験・G検定なども取得。 2027年にPD-S受験予定。