[st-kaiwa1]・午後問題はどれを選べばいいの?
・1番簡単なのはどの問題?[/st-kaiwa1]
こんな悩みを解決します。
午後のプログラミング 問題はどれにすればいいのか、結局悩みますよね。
過去問題集に取り組んだり調べたことがある人はすでに知っているところかと思いますが、基本情報技術者試験の午後は選択問題を回答する形式です。
基本情報の午後問題との相性が悪い人は応用情報を先に受けるのがいい、とも言われています。とはいえ基本情報からしっかり受けたい、順番にレベルをあげたい人がいるのもわかります。
今回はそんな基本情報の午後問題について、選ぶべき問題やその勉強法について解説します。
本記事を参考にすると、午後問題に向けての対策や、どこにしぼって学習するべきなのかが理解することができます。
この記事の概要
- 試験の通過が目的ならば、表計算を選ぶのが正解
- 表計算を選んだときの勉強方法
- プログラムに覚えがあるなら得意な言語で勝負
- プログラム問題に取り組む時の注意点
試験の通過が目的ならば、表計算を選ぶのが正解
結論から述べると、表計算の問題を選ぶのがもっとも簡単です。
特にプログラムに対して明るくない人や文系科目の方が得意、ということであればプログラミング言語を避ける方がいいでしょう。その理由を後述していきます。
表計算を選ぶ利点としてはこの3つです。
[st-midasibox title=”表計算を選ぶ利点” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold” myclass=””]
・学習コストが低い
・読解能力より、記憶とパズルの問題になる
・プログラミング開発環境の準備が必要なく、標準のエクセルでいい
[/st-midasibox]
順番に解説します。
学習コストが低い
プログラムを学ぶよりも学習する内容が少なくて済む、ということです。
問題の課題となりうる、C、Java、Python、アセンブラについては、テストを通過するために学習を始めるには学習コストが高い側面があります。
というのも、各プログラミング言語には書き方の違いや特色があり、本人との相性もあります。Cの方がきっちりしている、Javaの方がわかりやすい、など意見は別れます。
その点と比べ、基本的に表計算は覚えるべきは以下の3つです。
[st-midasibox title=”ポイント” fontawesome=”fa-check-circle faa-ring animated” bordercolor=”#FFC107″ color=”” bgcolor=”#FFFDE7″ borderwidth=”” borderradius=”5″ titleweight=”bold” myclass=””]
・利用する関数の使いどころ
・構文の書き方
・数値を入力した結果
[/st-midasibox]
重要な学習はエクセル中での関数の利用方法です。
問題を解く時は、何を問われているのかを理解して、それに沿った関数の使い方を当てはめていくことで選択肢を絞ることが可能です。
読解能力より、記憶とパズルの問題になる
プログラムの読み解きのコストが減る、ということです。
言語の問題を選択した場合、まずはプログラムを読み解くことから始める必要があります。クラスAは文字の集合体を整列させる役割、クラスBは文字の3番目を……。
プログラム言語の選択には3つの難しい側面があります。
[st-midasibox title=”プログラムの辛い点” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold” myclass=””]
・難解な言語の意味を読み解く必要がある
・一部分の読み解きを間違えると全体に響いてしまう
・使い慣れない機能が出題される可能性がある
[/st-midasibox]
こういった点からプログラムの問題より、表計算を選ぶのがよい、と言えます。
もちろん、プログラムの読み解きがない代わりに関数の利用どころや、表がどのように変化するのか思い浮かべたり書き連ねる練習が必要です。
しかしそう難しいことはなく、慣れてくるとパズルを解くような感覚で問題を解くことができます。
プログラミング言語とそりが合わない、でもパズルは好きだと感じている人には、表計算の方が相性が良いのではないでしょうか。
プログラミング開発環境の準備が必要なく、標準のエクセルでいい
学習環境を整えるための準備が簡単で着手しやすくなります。
プログラミング言語を学習するには、オンラインでの学習環境の利用や、分厚い参考書を読むなどありますが、やはり自分自身でソースコードを書く必要があります。
そのためには開発環境を用意したり、コンパイルしてプログラムが動かせるようにしなければなりません。
しかし表計算を選択した場合は表計算ソフトのExcelさえあればいつでも学習できます。サブスクリプションも可能なので、必要な期間だけの費用だけで済むのも良いですね。
大抵のWindowsのパソコンにはExcelがインストールされているため、ストレスフリーに作業ができるでしょう。
表計算を選んだときの勉強方法
どんな学習も勉強方法次第で、その効果を高めることができます。
今回は自宅にExcelの導入されているパソコンがあるとして、話を進めたいと思います。
[st-midasibox title=”表計算の勉強法” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold” myclass=””]
・試験で頻出する関数の使い方をマスターする
・過去の試験問題をエクセルで再現する
・頭の中でも紙面でも表を想像できるようにする
[/st-midasibox]
順番に解説します。
試験で頻出する関数の使い方をマスターする
表計算の問題において大事なことは関数を知ることです。
関数がひとつわからないだけで、表計算では問題の意図を組むことが難しくなります。
試験に頻出する関数は最低でも14程度ありますが、全ての内容をマスターするのはそこまで難しくはありません。
[st-midasibox title=”最低限必要な関数” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold” myclass=””]
・条件 IF ・論理積 AND ・論理和 OR
・照合一致 MATCH ・表引き INDEX ・照合検索 LOOKUP
・垂直照合 VLOOKUP ・水平照合 HLOOKUP ・整数部 INT
・最小 MIN ・最大 MAX ・合計 SUM
・条件付合計 SUMIF ・条件付個数 COUNTIF
[/st-midasibox]
あくまでも頻出の関数だけですが、これと過去問題集で出てくる関数を覚えていくことが得点を得るための効果的な学習方法になります。
過去の試験問題をエクセルで再現する
関数を実際に動かさないことには、覚えることはできません。
運転免許を取得する際に、座学で学習も行いますが実際に動かしてみることが大事です。
関数も学習スタイルは同じです。実際に関数を動かすことで、表のなかでどのように数値が変化するのかを理解することができます。
そこに過去問を混ぜて学習します。問題で書かれている内容を実際に記入すれば、どのような動作をしているのかが明らかになるからです。
関数と過去問に同時に触れることで、表中の動きや結果の変化が明確となります。
単体で関数を利用したり、見て覚えようとするより早く身に付くため、できるだけ実践してみてください。
頭の中でも、紙面でも表を想像できるようにする
最終的には試験中に同じことができる必要があります。
例えば頭の中で表を想像しながら学習を行うのがいいでしょう。関数が自分の意図した通りの結果になっているかを考えて進みます。もちろん紙に書いても大丈夫です。
表を想像したり書いて確認する練習をすれば、問題文の関数がどのように処理していくのかを想像し、選択肢の中から正しい値を穴埋めすることができます。
プログラムが苦手な人でも、表計算なら勝算があるため、諦めずに取り組みましょう。
プログラムに覚えがあるなら得意な言語で勝負
ここからはプログラミングに覚えがある人が勝負するべき言語の話となります。
午後問題では年度毎に問題の難易度が違ってくることがあるため、確実にこれが簡単、とは言い切れません。(余談ですが、アセンブラは言語仕様から簡単と言われていました)
私が合格した際の試験ではJavaを選択しました。
とはいえプログラムに覚えがある場合は最も得意な言語で勝負するのが良いでしょう。その際の注意点などについて紹介していきたいと思います。
試験で選んだのはJava言語
私が受験した際に利用した言語はJavaです。
問題の内容次第では表計算、またはC言語を選択する予定でしたが、以下の理由からJavaでの理解度が高いと判断して問題を選択しました。
選択した理由としては以下です。
[st-midasibox title=”Javaを選んだ理由” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold” myclass=””]
・経験年数が3年と、もっとも長かった
・学習時の教本がとても理解しやすく、習熟度が高かった
・問題の難易度からJavaがもっとも読みやすいと判断した
[/st-midasibox]
C言語とJavaについては毎年難易度が高いと言われていますが、基礎力があればJavaの問題についてはそこまで難易度が高いとは言えません。
ひとつひとつのクラスの意味合いや、どこで利用されているのか、用語や言語の特性を理解していれば時間をかけて確実に点数が取れる問題です。
ただし、継承やインターフェースの違いについて理解しておくことは重要です。
この違いを理解していなかったことを、過去問題集で学んでいたため実際の問題ではスムーズに解答をすることができました。
もちろん個人の得意な言語は別れますので、納得しやすい言語を選択するのがよいです。
Pythonが選択肢に増えたので、力試しがしたいならPython
試験問題の言語に、新たにPythonが追加されました。
Pythonといえば人工知能やスクレイピングなど、様々な方面で話題となっている言語のひとつです。
[st-kaiwa4]え、じゃあ人工知能とかが出るの?[/st-kaiwa4]
結論から言うとでません。
IPA:情報処理推進機構において、試験のシラバスが出た際にPythonに関しても記載がありました。結果として入門書レベルの言語構文がわかれば大丈夫というレベルの設定。
とはいえせっかくPythonを学習している人がいれば、Pythonを選択するのも力試しに良いかと思います。大事な試験ですので、自信を持って取り組みましょう。
問題の難易度によって、言語は変えられる方がいい
ここまでJavaがいい、Pythonで力試しと述べてきました。
大事なことは問題の難易度がどれだけなのか、理解するのにかかる時間が許容範囲に収まっているのか、というところです。
そのため、問題の難易度によっては表計算に選択肢を変更したり、JavaかPythonのどちらも学習して選択肢を増やすことが最も大事なことです。
Javaの問題は長文になることも多いため、読解に時間がかかることも挙げられます。時間がない時には別の言語を選ぶ、ということも必要になるでしょう。
とはいえ複数の言語を理解するのは骨が折れるため、最低でも2つの選択肢を選べる程度に学習を行い、本番を迎えるのが得策です。
プログラム問題に取り組む時の注意点
最終的に選択した問題が表計算であれなんであれ、プログラムの問題は注意点があります。
大きく分けて3つの注意ポイントです。
[st-midasibox title=”3つの注意点” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold” myclass=””]
・時間の配分は事前に決めておく
・焦らずに、1つ1つ時間をかけて読み解く
・表計算なら念入りに関数を、プログラムなら普段意識しない機能を復習する
[/st-midasibox]
順番に説明します。
時間の配分は事前に決めておく
午後の問題は特に時間配分に注意が必要です。
時間をかけ過ぎてしまうと、その他の確認時間がなくなりますし、最終問題にかけたい時間を確保するためには目安時間の設定をしなくてはなりません。
とはいえ午後問題は最終問題だけではないため、そのほかの問題で時間を作り出すことももちろん可能です。
特にアルゴリズムは確実に点をとれる、かつ時間を短縮できる単元のひとつです。
アルゴリズムの学習に効果的な書籍はこちらへどうぞ。
>>> 基本情報で使える、最低限のオススメ書籍3選【最後は○○○が大事】
また、問題を解くための目安時間を知るためには、過去問題の時間を測っておくことが重要。
どのカテゴリーの問題が得意であるか、設問ごとに何分の時間をかけるのがベストなのかを事前に設定しましょう。
その際、捨てる問題がでることも覚悟して、解ける・解けないときの配分パターンまで想定しておくと本番で焦ることが少なくなり、オススメです。
焦らずに、1つ1つ時間をかけて読み解く
時間の設定をすると、どうしても生まれるのが焦りです。
特に試験会場の空気は1分が10秒のようにも感じる空間で、午後問題が苦手なタイプの人はもう設定していた時間になってしまった。と焦りが生じることが多いです。
[st-kaiwa3]時間が迫ると、すごく焦ります……[/st-kaiwa3]
そういうときにこそ、割り切って設定した予定が役立ちます。
[st-midasibox title=”時間と問題の関係” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold” myclass=””]
・時間がオーバーしてしまったら即座に次の問題に取り掛かる
・あとの問題を10分削って今の問題を解決しきる
[/st-midasibox]
焦りは緊張を生み出します。予定より時間がかかったら予め決めていたルールにしたがって行動する、それが苦手なら柔軟な対応をとる。
自分の予定外の行動に出ることが焦りに直結しますので、割り切って行動する癖をつけましょう。
表計算なら念入りに関数を、プログラムなら普段意識しない機能を復習する
先にも述べましたが、例えばJavaなら継承やインターフェースなどです。
実践では継承もインターフェースも利用する内容ですが、意識的にどういった効果や意味があるのかということを復習する必要があります。
[st-kaiwa2]ヤバイ、この機能の意味ってなんだっけ?[/st-kaiwa2]
実戦で使用された時に、extendsやimplementsを直視すると混乱することがあります。意味は何か、継承するとクラスがどうなるのか、しっかり理解することが正答へ繋がります。
また、表計算なら頻出の関数意外の関数を復習する。特に名前と意味がリンクしづらいタイプの関数は何度でも復習しましょう。利用することでより記憶に残るのでシンプルに使用してください。
[st-kaiwa3]この関数は1回使っただけで、あんまり覚えてなかった…[/st-kaiwa3]
表計算においては処理の順番や、先後の関係で結果が変わるので、そういった基礎的なこともしっかりと復習することで安心感を持って取り組むことができるのです。
あなたにあった問題を選んでゴールする
午後の問題を選択するところから、試験は始まっています。
事前に出来る限りの想定をして、解くべき問題を定めてから取り組むことが突破への糸口です。
あなたの現状に合わせて、プログラミング言語の問題を選ぶのか表計算の問題を選ぶのか、作戦をしっかりと練って行ってください。
問題にかける時間・内容をしっかりと想定して、正しく積み上げていけば自ずと結果はついてきます。焦ることなくじっくりと取り組んでいってください。
他のStudyの記事は下記にまとめていますので、ご活用ください。
[st-mybutton url=”https://sugiyama-monolog.com/category/study/” title=”Studyの記事一覧へ” rel=”” fontawesome=”” target=”” color=”#fff” bgcolor=”#FFD54F” bgcolor_top=”#ffdb69″ bordercolor=”#FFEB3B” borderwidth=”1″ borderradius=”5″ fontsize=”” fontweight=”bold” width=”” fontawesome_after=”fa-angle-right” shadow=”#FFB300″ ref=”on” beacon=””]
コメント