知識ゼロの初心者が、プログラム問題に正解する禁断の攻略法【ITパスポート】

突然ですが、あなたは次のような悩みはありませんか。

  • プログラムが出題されるけど、まったくわからない。
  • Youtubeで解説を聞くとわかったような気になるけど、自分では解けない。
  • ITパスポートの擬似言語の問題は捨てよう!

私もプログラムを最初に勉強し始めたときは、ちんぷんかんぷんだったので、気持ちはわかります。

何が書いてあるんだか、わからないという絶望感もわかります。

そこで、この記事ではITパスポートに出てくるプログラムの問題を知識ゼロの人でも解けるように、攻略法をお伝えします。

明日が試験という人でも、まだ間に合います。

さっそく解説していきます。

目次

攻略法1:プログラムは見るな

ITパスポートのプログラム問題が苦手な人の9割が、いきなりプログラムを見始めます。

そして、プログラムは難しいと、嘆いて去っていくのです。

いきなりプログラムを見ていたら、経験豊富なプログラマーでも問題は解けません。

イーロン・マスクでも解けません。

ビル・ゲイツでも解けません。

では、何を見たらよいのか。

それは、問題文と4つの選択肢です。

なぜ、それを見るかというと、問題文と4つの選択肢を見ると、回答が絞れるからです。

具体例で説明します。

■問題文

手続 printArray は、配列 integerArray の要素を並び替えて出力する。手続printArray を呼び出したときの出力はどれか。ここで、配列の要素番号は1から始まる。

■4つの選択肢

ア 1,2,3,4 (解答)

イ 1,3,2,4

ウ 3,1,4,2

エ 4,3,2,1

IT パスポート試験 過去問題 令和5年度分 問60

この中で、注目してもらいたいのは、問題文の「並び替えて出力する」という部分です。

この部分を見ただけで、「ア 1,2,3,4」か「エ 4,3,2,1」に正解を絞れるのです。

なぜなら、選択肢の中で並び替えているのは、「ア 1,2,3,4」か「エ 4,3,2,1」だけだからです。

「イ 1,3,2,4」や「ウ 3,1,4,2」は、並び替えとは言わないですよね。

プログラムがまったくわからなかったとしても、日本語がわかるだけで正解の確率が25%から50%になりました。

問題文からプログラムの目的を見つけること。

過去問題・サンプル問題で出題されたプログラムの目的は、次の通り。
平均(サンプル問題 問1)
☆★の出力(サンプル問題 問2)
チェックデジット(過去問題 令和4年度分 問78)
総和(合計)(過去問題 令和4年度分 問96)
並び替え(過去問題 令和5年度分 問60)
総和(合計)(過去問題 令和5年度分 問64)

攻略法2:英単語を覚えろ

ITパスポートのプログラムを理解するには、英単語を覚えてください。

「えっ?英単語?英語苦手だったし、覚えるのはイヤだな」と思うなかれ。

ITパスポートのプログラムをサクサク理解するためには、英語が必要なのです。

でも、安心してください。

中学校で学習する簡単な英単語です。

それらがわかるだけで、一瞬でプログラムが理解できます。

具体例で説明します。

[プログラム]
○実数型: calcMean(実数型の配列: dataArray) /* 関数の宣言 */
 実数型: sum, mean
 整数型: i
 sum ← 0

 for (i を 1 から dataArray の要素数 まで 1ずつ増やす)
   sum ← sum + dataArray[i]       /* 下線がa */
 endfor

 mean ← sum ÷ (dataArray の要素数) /* 実数として計算する */ /* 下線がb */

 return mean

引用元:https://www.ipa.go.jp/shiken/syllabus/ps6vr7000000i9in-att/ip_programming_sample.pdf

このプログラムにある英単語は、次の通りです。

  • calc(calculateの略):計算する
  • data:データ
  • Mean(mean):平均
  • Array:配列
  • sum:合計
  • i(integerの略):整数
  • end:終わり
  • retrun:戻す

上の英単語を、プログラムに当てはめると次のようになります。(赤字)

[プログラム]
○実数型: calcMean(実数型の配列: dataArray) /* 関数の宣言 */
     平均を計算する     データの配列

 実数型: sum, mean
     合計と平均

 整数型: i
    整数

 sum ← 0
 合計に0を代入

 for (i を 1 から dataArray の要素数 まで 1ずつ増やす)
   sum ← sum + dataArray[i]       /* 下線がa */
 合計とデータの配列を足して、合計に代入
 endfor

 mean ← sum ÷ (dataArray の要素数) /* 実数として計算する */ /* 下線がb */
 合計をデータの配列の要素数で割って、平均に代入
 
 return mean
 平均を戻す

プログラムが読めなくても、単語がわかるだけで、そのプログラムが何をしているかがクリアに見えてきますね。

英単語からプログラムがやっていることを理解する。

上記以外の重要な単語を記載しておきます。

変数名

  • num(numberの略):数字
  • cnt(countの略):回数

関数名・手続名

  • check:チェックする
  • digit:数字

関数名・手続名は、動詞+名詞の名称となることが多いです。
例)checkDigit、calcX、calcY

処理名

  • if:もし
  • while :その間
  • return:戻す
  • do:実行する

forは、英語の意味がそのままですと伝わらないため、繰り返しグルグルまわす命令として、別に覚えてください。

攻略法3:サイコロで答えを選ぶ

ITパスポートの試験当日、プログラムの問題が出題されたら、サイコロで答えを決めてください。

えーーーーーって、思われたかもしれませんが、私もやっている方法です。

一つ目の理由は、プログラムの問題はしっかりとした正解を選ぶには時間がかかるからです。

攻略法1で示した方法を使っても、少しは時間がかかるので、もっと簡単な問題に時間を使ったほうがよいです。

二つ目の理由は、リラックスした状態でないと、プログラムの問題は間違ってしまうからです。

「あと30分で20問解かないといけない」といった精神状態ですと、間違う可能性が高くなります。

そのため、プログラムの問題は、一旦サイコロで答えを決めて、最後まですべての問題を一旦解いてから戻ってくるのが吉です。

やり方は、簡単。次の通りです。

  • 問題文を読む
  • 問題文で選択肢を絞る(攻略法1)
  • 絞った選択肢の中から、サイコロで答えを選ぶ(攻略法3)
  • 一旦、解答する
  • 「後で見直しするためにチェックする」にチェックをつける
  • 次の問題に行く
  • 最後の問題まで解く
  • 戻ってきてじっくり解く(攻略法2)

ITパスポートは完璧主義ではなく、完了主義で臨む試験。

FAQ

今回の記事で紹介してもらった方法は、ITパスポートの試験のときにしか使えない方法だと思います。その方法で正解しても意味ないですよね?

この記事では、攻略法1~攻略法3までの方法をお伝えしました。ITパスポートのプログラム問題を攻略する方法として説明してきましたが、実は業務でも使える方法です。

攻略法1ですが、実業務において、プログラムをいきなり書くということはありません。

理由は、そのプログラムがどのような目的で必要なのかを、設計書や仕様書で確認したり、先輩に聞いたうえでないと、目的にあったプログラミングをすることができなからです。

目的を確認するというのは、テストだけでなく業務でも重要なものです。

攻略法2ですが、変数名や関数名などは分かりやすい名前をつけることが常識になっています。

理由は、後からプログラムを見返す場合や、第三者にプログラムをレビューしてもらう場合に、ランダムな名前ではプログラムの挙動が分かりづらくなるためです。

変数名や関数名によって、プログラムの挙動を理解するというのは、業務でも行われています。

攻略法3ですが、まずはタスクを完了させるということは重要です。

理由は、限られた時間の中で、最大限の成果を出すことが求められているからです。

実際の業務でも、まずはタスクを完了させてください。

ここまで説明してきましたが、攻略法1~攻略法3はITパスポートだけではなく、実務にまで利用できる方法なのです。

まとめ

ITパスポートのプログラム(擬似言語)は、マスターすれば必ず得点源になります。

ただ、マスターするには時間がかかることも事実です。

明日試験で対策する時間が取れないという時は、この記事に書いてある方法を使って、プログラム問題にチャレンジしてください。

追伸(P.S.)

ITパスポート試験にチャレンジする際は、参考書が1冊手元にあると安心です。

おすすめの参考書の一つに「ITパスポート最速合格術」という本がありますが、この本を購入すると、なんと著者によるダイレクトサポートを受けられます。

どんな本なんだろうと思った方は、詳細を確認してみてください。

レビュー記事はこちら。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

現役ITエンジニア。ITパスポート、情報処理技術者(高度)6区分に合格。"勉強が苦手な人が「分からない」から「分かる」へ"をテーマに発信しています。

目次