見出し画像

【図解で流し見】擬似言語の解法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 学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ