擬似言語を独学で習得できる?初心者が基本情報科目Bで読めるようになる勉強法
擬似言語がわからない。 けど、誰かに教わろうにも、お金がない。。。
基本情報技術者試験やITパスポートの勉強を始めた人なら、一度は不安になるところだと思います。
そんな時、
「擬似言語は独学でできるのか。」
と疑問に思うはずです。
結論からいうと、擬似言語は独学でも身につけられます。ただし、読むだけの独学では伸びにくいです。
擬似言語は、暗記科目というよりも、処理の流れを追う練習が必要な分野です。つまり、勉強のやり方を間違えると、時間をかけてもなかなか読めるようになりません。
この記事では、擬似言語を独学で学びたい初心者に向けて、何から始めるべきか、どのように練習すればよいかをわかりやすく解説します。
また、この記事は基本情報技術者試験の科目Bに出題される擬似言語のことについて述べています。
擬似言語は独学できるのか?¶
擬似言語は独学で習得することは可能です。
ただし、文法を読んで終わりにする独学では、なかなか身につきません。
なぜなら、試験で求められるのは用語の暗記ではなく、処理を追う力だからです。代入、条件分岐、繰返し、配列、関数といった要素が組み合わさったときに、最終的な値がどうなるかを判断する必要があります。
ここで大切なのは、問題を見てすぐに正解できることではありません。
最初はゆっくりで大丈夫です。1行ずつ値を追い、なぜその答えになるのかを説明できるようにすることが、独学の第一歩です。
独学で失敗しやすい勉強法¶
擬似言語の独学で失敗しやすいのは、参考書を読むだけで理解した気になることです。
解説を読んでいるときは、たしかにわかった気がします。ですが、自分で手を動かしていないと、試験本番で同じように読めるとは限りません。
特に次のような勉強法は注意が必要です。
| やりがちな独学 | 失敗しやすい理由 | 改善方法 |
|---|---|---|
| 文法を最初から全部覚える | 問題演習に結びつきにくい | よく出る処理から覚える |
| 解説を読んで満足する | 自分で追う力がつかない | 必ずトレースする |
| 難問ばかり解く | 苦手意識が強くなる | 短い問題から始める |
| 正解数だけ見る | つまずきの原因が残る | 間違えた理由を書く |
| 頭の中だけで考える | 変数の値を忘れやすい | 表に書き出す |
独学で伸びる人は、問題を解いた後の復習が丁寧です。
反対に、伸びにくい人は、正解か不正解だけを見て次へ進んでしまいます。擬似言語は、間違えた問題の中にこそ伸びるヒントがあります。
まずは短い擬似言語から始める¶
独学の最初から、長い科目Bの問題に挑戦する必要はありません。
むしろ、最初は短いコードを確実に読めるようにするほうが大切です。短いコードで処理の追い方を覚えると、長い問題でも見る場所がわかるようになります。
たとえば、次のような処理です。
○整数型: countPass(整数型の配列: scores, 整数型: border)
整数型: count ← 0
整数型: i
for (i を 1 から scoresの要素数 まで 1 ずつ増やす)
if (scores[i] ≧ border)
count ← count + 1
endif
endfor
return count
この関数は、配列scoresの中から、border以上の点数の個数を数えます。
たとえば、scores = {70, 55, 90, 60}、border = 60なら、60以上の点数は70、90、60の3つです。戻り値は3になります。
このコードで追うべき主役はcountです。
countがいつ増えるのかを見れば、処理の目的がわかります。iは配列を順番に見るための変数なので、必要以上に深追いしなくても大丈夫です。
擬似言語を実行しながら学びたい方は擬似言語学習サイトGiji Academyを使ってみてください。
独学ではトレースを必ず入れる¶
擬似言語の独学で一番大切なのは、トレースです。
トレースとは、プログラムの処理に沿って、変数の値がどう変わるかを追うことです。頭の中だけでやるのではなく、紙やノートに書くのがおすすめです。
先ほどのコードを、scores = {70, 55, 90, 60}、border = 60で追うと、次のようになります。
| i | scores[i] | scores[i] ≧ border | count |
|---|---|---|---|
| 初期 | - | - | 0 |
| 1 | 70 | 真 | 1 |
| 2 | 55 | 偽 | 1 |
| 3 | 90 | 真 | 2 |
| 4 | 60 | 真 | 3 |
このように表にすると、どこで値が増えたのかが見えます。
初心者のうちは、トレースを書くのが面倒に感じるかもしれません。ですが、ここを飛ばすと、いつまでも「なんとなくわかる」状態から抜け出しにくいです。
処理の追い方に不安がある方は、以下の記事もご覧ください。
【関連記事】擬似言語の勉強方法とは?IT初心者でも無理なく身につく学習ステップを解説
独学で見るべきポイントは文法より処理の型¶
擬似言語の文法を学ぶことは大切です。
ただし、文法だけを細かく覚えても、問題が解けるようになるとは限りません。試験で大切なのは、処理の型を見抜くことです。
たとえば、科目Bでよく出る処理には、いくつかのパターンがあります。
| 処理の型 | 見るべき変数 | よくある問題 |
|---|---|---|
| 合計を求める | sum, total | 配列の合計 |
| 件数を数える | count | 条件を満たす個数 |
| 最大値を探す | max | 一番大きい値 |
| 最小値を探す | min | 一番小さい値 |
| 位置を探す | pos, index | 条件を満たす場所 |
| 見つかったか判定する | flag, found | 真偽の切り替え |
この型を知っていると、コードを見たときに何をしているのかがつかみやすくなります。
私も、実務でコードを読むときに最初から全行を細かく読みません。まず、この処理は合計なのか、検索なのか、判定なのかという大きな型を見ます。
試験の擬似言語でも同じです。
独学の学習ステップ¶
ここからは、擬似言語を独学するためのステップを紹介します。
いきなり過去問を大量に解くより、段階を分けたほうが理解しやすいです。特に初心者は、基礎から演習までを一気にやろうとすると混乱します。
おすすめは、次の順番です。
| ステップ | 学習内容 | 目的 |
|---|---|---|
| 1 | 記述形式に慣れる | 代入やif、forを読めるようにする |
| 2 | 短いコードを読む | 上から順番に処理を追う |
| 3 | トレース表を書く | 変数の変化を見える化する |
| 4 | 処理の型を覚える | 合計、カウント、最大値などに気づく |
| 5 | 科目B形式の問題を解く | 本番の読み方に慣れる |
| 6 | 間違えた理由を記録する | 同じミスを減らす |
この流れなら、独学でも迷いにくくなります。
最初から完璧に理解する必要はありません。大切なのは、短い問題を自分の力で追えるようになることです。
1週間の独学スケジュール例¶
忙しい社会人や学生でも進めやすいように、1週間の独学スケジュールを考えてみましょう。
毎日何時間も勉強できなくても大丈夫です。15分から30分でも、やることを絞れば前に進めます。
| 日 | やること | 目安 |
|---|---|---|
| 1日目 | 代入、if、forの記述形式を確認 | 30分 |
| 2日目 | 短いカウント問題を読む | 30分 |
| 3日目 | トレース表を書いて解く | 30分 |
| 4日目 | 合計、最大値、最小値の型を見る | 30分 |
| 5日目 | 科目B形式の短い問題を1問解く | 40分 |
| 6日目 | 間違えた問題を解き直す | 30分 |
| 7日目 | 同じ型の問題をもう1問解く | 40分 |
ポイントは、毎日新しいことを詰め込まないことです。
特に擬似言語は、復習が大切です。昨日わからなかった処理が、翌日にもう一度見ると急に理解できることもあります。
解説を読んでもわからないときの対処法¶
独学で困るのは、解説を読んでもわからないときです。
先生や講師がいれば質問できますが、独学では自分で立て直す必要があります。そんなときは、問題を小さく分解しましょう。
まず、入力と出力を確認します。次に、主役の変数を探します。
そして、ループを1回だけ手で追います。全部を一気に追う必要はありません。
1回目の処理がわかると、2回目以降も見えやすくなります。
どうしてもわからない場合は、同じ問題をしばらく置いても大丈夫です。別の簡単な問題を解いてから戻ると、前より読めるようになっていることがあります。
独学でやってはいけないこと¶
擬似言語の独学では、焦って難しい問題ばかり解くのはおすすめしません。
難問に長時間悩むと、擬似言語そのものが嫌になります。最初は、解ける問題を増やして自信を作るほうが大切です。
また、解説を写すだけの勉強も効果が薄いです。
写すこと自体が悪いわけではありません。ですが、なぜその値になるのかを自分の言葉で説明できなければ、本番で使える力にはなりにくいです。
独学では、自分の理解をごまかしやすいです。
だからこそ、表に書く、声に出して説明する、同じ問題を翌日に解き直すといった確認が必要になります。
シミュレーターを使うと独学しやすい¶
擬似言語を独学するなら、シミュレーターを使うのも有効です。
紙でトレースした結果と、実際の動きを比べることで、自分の理解が合っているか確認できます。独学ではこのフィードバックがとても大切です。
ただし、シミュレーターに答えを出してもらうだけでは力がつきません。
まず自分で予想します。次にトレースを書きます。最後にシミュレーターで確認します。
この順番を守ると、ただ見るだけの学習ではなく、考える学習になります。
擬似言語を実行しながら学びたい方は、以下の記事もあわせて確認してみてください。
【関連記事】擬似言語 シミュレーターとは?試験対策に役立つ使い方と学習法を解説
私が独学で大切だと思うこと¶
私はエンジニアとして10年以上、仕事でコードを書いたり読んだりしてきました。
その経験から見ると、プログラムを読む力は才能ではなく、手順でかなり伸ばせます。特に初心者のうちは、読めないことをセンスの問題にしないでほしいです。
実務でも、複雑なコードを読むときは、いきなり全部を理解しようとはしません。
まず入力と出力を見ます。次に、どの値が変わるのかを見ます。そして、必要な部分だけを詳しく追います。
擬似言語の独学でも同じです。
全部を完璧に読もうとするより、主役の変数を見つけて、変化するタイミングを追う。これだけでも、理解のしやすさは大きく変わります。
独学で本番に近づけるには¶
基本情報技術者試験の科目Bでは、時間内に問題を解く必要があります。
ただし、独学の最初から時間を測りすぎると、焦る練習になってしまいます。まずは正確に追えるようにしてから、少しずつ時間を意識しましょう。
おすすめは、次の3段階です。
| 段階 | 目標 | やること |
|---|---|---|
| 正確性重視 | 時間を気にせず解く | トレース表を書く |
| 速度重視 | 1問の時間を測る | 読む順番を固定する |
| 本番重視 | 複数問を続けて解く | 飛ばす判断も練習する |
独学では、最後の本番形式の練習が抜けがちです。
1問ずつ解けても、本番では20問を100分で解く必要があります。ある程度読めるようになったら、複数問を続けて解く練習も入れましょう。
時間配分が不安な方は、以下の記事もご覧ください。
【関連記事】基本情報技術者試験の科目Bで時間が足りない人へ|擬似言語問題を速く読むコツ
まとめ:擬似言語の独学は、読むより追うことが大切¶
擬似言語は独学でも身につけられます。
ただし、参考書を読むだけでは不十分です。処理を追い、変数の値を書き出し、間違えた理由を確認することが大切です。
独学で最初にやるべきことは、難しい問題に挑戦することではありません。
短いコードを読み、主役の変数を見つけ、トレース表で値の変化を確認することです。この練習を積み重ねることで、科目Bの長い問題にも対応しやすくなります。
擬似言語が読めないと感じても、焦らなくて大丈夫です。
読めないのは、まだ処理の追い方に慣れていないだけです。手順を決めて、短い問題から進めれば、少しずつ見えるようになります。
独学では、自分の理解を確認する仕組みを作ることが大切です。
紙でトレースする。シミュレーターで確認する。間違えた理由を書く。翌日にもう一度解く。
この小さな積み重ねが、試験本番で迷わず処理を追う力になります。
擬似言語は、ただの暗記科目ではありません。考え方を身につける学習です。
一歩ずつ、読める問題を増やしていきましょう。