過去問の解き方知りたいぜ | 苦手な計算問題 を解説
fiber_new公式を覚えなくても計算問題をもっと簡単に解ける「かんたん計算問題」の連載がはじまりました!
筆者は、基本情報技術者試験の対策講座で講師をしています。講座の冒頭で「どのような問題が苦手ですか?」と尋ねると、多くの受講者が「計算問題が苦手です」と答えます。
計算問題は、テクノロジ系、マネジメント系、ストラテジ系のすべての分野で出題されるので、がんばって苦手意識を克服するしかありません。
この記事で、計算問題を解くコツをいくつか説明しますので、参考にしてください。
午前試験の過去問題を例にしますが、午後試験でも同様の計算をする問題が出る場合があるので、午後試験の対策にもなるはずです。
もくじ
簡単な値を想定して計算方法を見出す
試験には、特殊な公式を知っていないと計算できない問題は、出たことがありません。
試験の対策本の中には、公式を示しているものもありますが、公式を覚えなくても問題を解くことができます。
「そうは言われても、何を何で掛けたり割ったりすればいいのかわからない」ということがあるかもしれません。
例として、以下の平成 27 年度 春期 問 31(テクノロジ系)を見てください。
10 M バイトのデータを 100,000 ビット / 秒の回線を使って転送するとき,転送時間は何秒か。ここで,回線の伝送効率を 50% とし, 1M バイト = 106 バイトとする。
ア 200 イ 400
ウ 800 エ 1,600ビット単位に揃えて計算してみましょう。
データ量は、10 M バイト= 80 M ビットです。
伝送速度は、100000 ビット/秒 の 50 % なので、50000 ビット / 秒です。
これらの値から転送時間を求めるのですが、データ量と伝送速度をどのように計算すればよいか悩んでしまうかもしれません。
そのような場合には、簡単な値を想定してみてください。
たとえば、データ量が 100 M ビットで、伝送時間が 10 M ビット/秒なら、感覚的に転送時間は 10 秒 だとわかりますね。
それは、「 100 M ÷ 10 M = 10 」という計算で求められるので、「データ量 ÷ 伝送速度 = 転送時間」という計算方法を見出せます。
「データ量 ÷ 伝送速度 = 転送時間」に、実際の問題のデータ量の 80 M ビットと、伝送速度の 50000 ビット / 秒を入れると、
= 80 M ÷ 50000
= 80000000 ÷ 500000
= 800 ÷ 5
= 160 秒
になります。
解答 エ
仕組みを知っていれば計算方法がわかる
テクノロジ系の計算問題の多くは、実用的な計算ではなく、仕組みを知っているかどうかを問う問題です。
例として、以下の平成 27 年度 秋期 問 12(テクノロジ系)を見てください。
これは、ディスク装置のセクタ数を求める問題ですが、計算方法ではなく、ディスク装置の仕組みを知っているかどうかがテーマだといえます。
500 バイトのセクタ 8 個を 1 ブロックとして,ブロック単位でファイルの領域を割り当てて管理しているシステムがある。2,000 バイト及び 9,000 バイトのファイル を保存するとき,これら二つのファイルに割り当てられるセクタ数の合計は幾らか。 ここで,ディレクトリなどの管理情報が占めるセクタは考慮しないものとする。
ア 22 イ 26 ウ 28
エ 32ディスク装置を読み書きする最小単位は、「セクタ」です。
ただし、小さな 1 セクタずつで読み書きを行うと、回数が多くなって効率が悪いので、実際には、複数のセクタをまとめた「ブロック」という単位で読み書きを行っています。
データの消去もブロック単位なので、同じブロックに複数のファイルを格納することはできません。それができてしまうと、一方のファイルだけを削除することができなくなってしまうからです。
したがって、ブロックの中に使われていないセクタが生じても、そこに他のファイルを書き込むことはできません。もったいないようですが、セクタを空けておくのです。
ここまでが、この問題を解くのに必要とされるディスク装置の仕組みです。
それでは、問題を解いてみましょう。
500 バイト のセクタ 8 個を 1 ブロックとしているので、1 ブロックのサイズは 500 バイト × 8 = 4000 バイトです。
2000 バイト のファイルを保存するには、1 つのブロック が使われます。
9000 バイト のファイルを保存するには、3 つのブロック(合計 12000 バイト)が使われます。
どちらも、ブロックの中に使われていないセクタが生じますが、仕方がありません。
合計で、1 + 3 = 4 つのブロック が使われます。
セクタ 8 個を 1 ブロックとしているので、これは 4 × 8 = 32 セクタです。
解答 エ
様々な分野で出題される期待値の計算方法に慣れておこう
試験には、
- 「メモリの実効アクセス時間」
- 「プログラムの実行における命令ミックス」
- 「可変長符号の 1 文字あたりの平均ビット数」
など、様々な分野で期待値を求める問題が出題されます。
期待値とは、確率を考慮して求めた平均値のことです。
「それぞれの値に、それが生じる確率を掛けて、すべてを集計する」という計算方法で求められます。
期待値の計算に慣れておきましょう。
以下の平成 23 年度 春期 問 75(ストラテジ系)は、「期待費用(費用の期待値)」を求める問題です。
良品である確率が 0.9,不良品である確率が 0.1 の外注部品について,受入検査を行いたい。受入検査には四つの案があり,それぞれの良品と不良品 1 個に掛かる諸費用は表のとおりである。期待費用が最も低い案はどれか。
案 | 良品に掛かる費用 | 不良品に掛かる費用 |
---|---|---|
A | 0 | 1,500 |
B | 40 | 1,000 |
C | 80 | 500 |
D | 120 | 200 |
ア A イ B ウ C エ D
この問題の期待費用は、「良品に掛かる費用に良品である確率を掛けた値と、不良品に掛かる費用に不良品である確率を掛ける値を、集計する」という計算方法で求められます。
- 案 A では、期待費用 = 0 × 0.9 + 1500 × 0.1 = 150 です。
- 案 B では、期待費用 = 40 × 0.9 + 1000 × 0.1 = 136 です。
- 案 C では、期待費用 = 80 × 0.9 + 500 × 0.1 = 122 です。
- 案 D では、期待費用 = 120 × 0.9 + 200 × 0.1 = 128 です。
最も期待費用が低い案は、案 C です。
解答 ウ
info 関連記事: 期待値の計算方法をわかりやすく解説
用語の意味と対応付けて計算方法を覚える
いきなりですが、以下の平成 27 年度 秋期 問 65(ストラテジ系)を見てください。「 ROI 」を求める問題なのですが、どのように計算すればよいかご存知ですか。
IT 投資案件において,5 年間の投資効果を ROI ( Return On Investment ) で評価した場合、四つの案件 a ~ d のうち,最も効果が高いものはどれか。ここで,内部収益率 ( IRR ) は 0 とする。
ア
年目 | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
利益 | 15 | 30 | 45 | 30 | 15 | |
投資額 | 100 |
イ
年目 | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
利益 | 105 | 75 | 45 | 15 | 0 | |
投資額 | 200 |
ウ
年目 | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
利益 | 60 | 75 | 90 | 75 | 60 | |
投資額 | 300 |
エ
年目 | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
利益 | 105 | 105 | 105 | 105 | 105 | |
投資額 | 400 |
ア a イ b ウ c エ d
問題文にも示されているように、ROI は、Return On Investment の略語です。この言葉と対応付けて計算方法を覚えるとよいでしょう。
Return は「利益」という意味で、Investment は「投資」という意味です。
計算方法は、「Return On Investment = Return / Investment=利益 / 投資」です。利益を投資で割った値が ROI であり、投資効果を評価する尺度になります。
- a: 投資額 = 100
利益 = 15 + 30 + 45 + 30 + 15 = 135
ROI = 135 / 100 = 1.35( 135 % ) - b: 投資額 = 200
利益 = 105 + 75 + 45 + 15 + 0 = 240
ROI = 240 / 200 = 1.20( 120 % ) - c: 投資額 = 300
利益 = 60 + 75 + 90 + 75 + 60 = 360
ROI = 360 / 300 = 1.20( 120 % ) - d: 投資額 = 400
利益 = 105 + 105 + 105 + 105 + 105 = 525
ROI = 525 / 400 ≒ 1.31( 131 % )
最も投資効果が高いのは、a です。
解答 ア
システム開発が肉体労働であることを知れば工数の計算方法がわかる
マネジメント系では、「工数」の計算がよく出題されます。
工数の計算方法を理解するポイントは、システム開発という仕事が、人間の頭脳を使った肉体労働であることを知ることです。
工数の単位として使われる「人日(にんにち)」や「人月(にんげつ)」は、システムを完成させるのに「どれだけの人間が、どれだけの期間、働けばよいか」を示すものです。
例として、以下の平成 26 年度 秋期 問 54(マネジメント系)を見てください。
システムを構成するプログラムの本数とプログラム 1 本当たりのコーディング所要工数が表のとおりであるとき,システムを 95 日間で開発するには少なくとも何人の要員が必要か。ここで,システムの開発にはコーディングの他に,設計やテストの作業が必要であり,それらの作業の遂行にはコーディング所要工数の 8 倍の工数が掛かるものとする。
プログラムの本数 | プログラム 1 本当たりの コーディング所要工数(人日) |
|
---|---|---|
入力処理 | 20 | 1 |
出力処理 | 10 | 3 |
計算処理 | 5 | 9 |
ア 8 イ 9 ウ 12
エ 13コーデイング(プログラムを作る行為)の工数を求めてみましょう。
- 入力処理は、1 本あたり 1 人日 のプログラムが 20 本あるので、1 × 20 = 20 人日
- 出力処理は、1 本あたり 3 人日 のプログラムが 10 本あるので、3 × 10 = 30 人日
- 計算処理は、1 本あたり 9 人日 のプログラムが 5 本あるので、9 × 5 = 45 人日
これらを合計すると、20 + 30 + 45 = 95 人日になります。
ただし、この 95 人日が答えではありません。
システム開発における肉体労働は、コーディングだけではないからです。
問題文に「コーディングの他に、設計やテストの作業が必要であり、それらの作業の遂行にはコーディングの所要工数の 8 倍の工数が掛かる」とあります。
したがって、このシステムの開発の工数は、95 人日 + 8 × 95 人日 = 9 × 95 人日です。
9 × 95 人日の工数の仕事を 95 日間 で行うのですから、必要な要員は、( 9 × 95 )÷ 95 = 9 人です。
解答 イ
もしも、要員を求める計算方法に悩んでしまったら、他の例題で説明したように、簡単な値を想定してみましょう。
たとえば、100 人日の工数を、10 日間で行うには、10 人の要員が必要です。
このことから、「工数 ÷ 期間 = 要員」という計算方法を見出せます。
ビジネスマンとして常識的な判断で計算する
以下は、平成 26 年度 春期 問 76(ストラテジ系)です。
最も安く購入する方法を求める問題ですが、どのように計算すればよいかわかりますか。
六つの部署に合計 30 台の PC がある。その全ての PC で使用するソフトウェアを購入したい。表に示す購入方法がある場合,最も安く購入すると何円になるか。ここで,各部署には最低 1 冊のマニュアルが必要であるものとする。
購入方法 | 使用権 | マニュアル | 価格(円) |
---|---|---|---|
単体で 1 本 | 1 | 1 | 15,000 |
1 ライセンス | 1 | 0 | 12,000 |
5 ライセンス | 5 | 0 | 45,000 |
ア 270,000 イ 306,000
ウ 315,000 エ 318,000この問題の計算には、公式も技術も数学も、ほとんど必要ありません。
ビジネスマンとして常識的な判断だけで計算できます。それは、「ピッタリの数で買うより、多少余ってもまとめて買った方が安くなる場合がある」という判断です。
ストラテジ系とマネジメント系には、このような常識的な判断をする問題が出ることがよくあります。
それでは、計算してみましょう。
6 つの部署 に 最低 1 冊のマニュアル が必要なので、とりあえず単体を 6 本買わなければなりません。マニュアルは、単体だけに付いているからです。
この時点で、6 ライセンスで、費用は 6 本 × 15000 円 = 90000 円 です。
全部で30 台のPCがあるので、30 ライセンスが必要です。すでに得ている 6 ライセンスがあるので、残りの 24 ライセンスをできるだけ安く買う工夫をしましょう。
単独の 1 ライセンスは、12000 円です。
5 ライセンス は、45000 円なので、1 ライセンス あたり 9000 円になります。
5 ライセンス の方が得なので、24 ライセンスの内の 20 ライセンス に、5 ライセンス × 4 を割り当てることにしましょう。
そのための費用は、45000 円 × 4 = 180000 円です。
これで、残り 4 ライセンスになりました。
これに単独の 1 ライセンス × 4 を割り当てると、12000 円 × 4 = 48000 円 になります。
5 ライセンスを割り当てると、1 ライセンス余りますが、45000円 なので、こちらの方が安価になります。5 ライセンスを割り当てましょう。
以上を合計すると、最も安く購入したときの金額は、90000 円 + 180000 円 + 45000 円 = 315000 円です。
解答 ウ
計算問題への苦手意識を克服するには、できなかった問題を、できるまで何度も繰り返して練習することをお勧めします。
できないまま別の問題に取り組むと、「あれもできない!」「これもできない!」ということになり、ますます自信を失ってしまうからです。
自転車の乗り方を覚えたときのように、何度も繰り返して練習すれば、必ずできるようになります。要求される数学の知識は、中学生レベルですので、「必ずできる!」という自信を持って取り組んでください。
それでは、またお会いしましょう!
label 関連タグ
免除試験を受けた 74.9% の方が、 科目A免除資格を得ています。
『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”
大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。
主な著作物
- 「プログラムはなぜ動くのか」(日経BP)
- 「コンピュータはなぜ動くのか」(日経BP)
- 「出るとこだけ! 基本情報技術者」 (翔泳社)
- 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
- 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数