基本情報技術者試験の対策〜アルゴリズムについて〜
◎基本情報技術者試験について
基本情報技術者試験は、国家試験「情報処理技術者試験」の区分の一つになります。対象者像としては「高度IT人材となるために必要な基本的知識・技能を持ち、実践的な活用能力を身につけた者」と試験要綱に記載されています。そのため、IT業界への入門試験として人気の国家試験となっています。
基本情報技術者試験で必須問題である、「データ構造及びアルゴリズム」は、プログラミング初心者の方にとって苦手意識を持つ方が多く、実は私もその中の一人でもあります。そこで今回は、基本情報技術者試験のアルゴリズムについてご紹介します。
【アルゴリズムが出題される午後試験について】
まず、基本情報技術者試験でアルゴリズムが出題される午後試験について簡単に説明します。
午後の試験は、必須問題と自分で選択する問題があるのが大きな特徴になります。出題数は11問あり、そのうち問1に設定される「情報セキュリティ」及び、問6に設定される「データ構造及びアルゴリズム」は必須問題とされています。また、問7〜11は「ソフトウェア開発」と銘打った「プログラミング言語問題」になっています。
午後試験は問題そのものが長文となっており、知識力及び読解力が求められます。特に苦手分野である「データ構造及びアルゴリズム」においては、25点と配点が高く設定されているため問題として避けれない分野になります。
◎アルゴリズムについて
アルゴリズムは「問題を解決する手順や計算方法」の事を言います。つまり、簡単にいうと「答えを求めるときの手順を具体的にかつ明確に示したもの」になります。
【アルゴリズム を学ぶ意義】
基本情報技術者の試験で「データ構造及びアルゴリズム」が出題される意図は以下の事が考えらます。
✴︎プログラムを行う上で重要な論理的思考に慣れる
✴︎構造や仕組みを理解する事で、スムーズな開発が可能になる
✴︎仕組みを理解する事で、問題発生時の迅速な解決が可能になる
正しくプログラムを作成するためには、論地的思考でプログラムを設計する事がとても重要になります。その上で、アルゴリズムはプログラムの組み立て方や思考力を養う事が出来ます。また、プログラム開発では、プログラム自体の問題を取り除くバグ付きが付き物です。こういった問題解決には、アルゴリズムやデータ構造をしっかりと理解した上でで論理的に考えられる事が解決への近道となります。
【データ構造及びアルゴリズムの問題について】
アルゴリズムの問題は大きく3つに分けられます。それが以下の通りになります。
・プログラムの穴埋め問題
・途中経過と実行結果についての問題
・その他
[プログラムの穴埋め問題:難易度低〜中]
穴埋め問題は、「プログラムの処理や条件式」を選択肢の中から選択してくださいといった出題方法になります。このプログラムの穴埋め問題はアルゴリズムで出題される問題の中では、難易度としては低めになります。しかし、この問題で間違えないように慎重に答える必要があります。
「データ構造及びアルゴリズム」の分野は、受験生が自ら穴埋めをした条件式や処理をそのまま流用して次の問題に進む形式になります。つまり、この問題で間違ってしまうとその後の「途中経過と実行結果についての問題」を間違えてしまう可能性が上がります。そのため、「プログラムの穴埋め問題」を答えるときは、ミスをなくすように努めましょう。
[途中経過と実行結果についての問題:難易度中〜高]
この問題では、「変数の内容や配列の内容、実行結果によるデータや値」について問われる問題が出題されます。難易度としては、アルゴリズムで出題される問題の中で高めとなっています。
「途中経過と実行結果についての問題」では、データ処理を正確に読む必要があり時間がかかりやすい傾向にあります。そのためプログラムを正しく読む知識力と読解力が求めれます。私は、普段アルゴリズム を学習する時にも変数や配列の要素を書き出す事を意識して行っています。
[その他の問題:難易度低〜高]
アルゴリズムでは以下ようなの問題も出題されます。
✴︎プログラムの実行回数について
✴︎プログラムの処理量について
✴︎プログラムにおける特定の処理が何回実行されたかについて・・・等
その他の問題は、基本的にプログラムを読み切ったという前提で出題される問題が多い傾向にあり、これらの問題は全体的にも難易度が高くなります。
【使っている参考書】
・『うかる!基本情報処理[午後・アルゴリズム編]2020年版』
アルゴリズムに特化したこの本は、プログラム未経験の方でも分かる丁寧な解説がされている本です。最初の方は、イメージしやすい自動販売機を例に挙げて、アルゴリズムの仕組みを教えてくれます。そのため、初心者の私にとっても理解しやすい内容になっているのでオススメです。
◎まとめ
アルゴリズムの対策についてご紹介しました。基本情報技術者試験では必須問題として出題され、配点も高い分しっかりと対策を練って学習していく必要があります。皆さんにとってこの記事がアルゴリズムについて参考になれば幸いです。