勉強の必要性

こんにちは。PC School Linkです。今日は多くの生徒・学生さんが疑問に持ったであろうタイトルになっています。ただし、今回の内容は専門学校で教えている立場として書かせていただいております。そのため、小・中・高・大の各種学校とは見方が異なりますのでご注意下さい。

ここ数年、専門学校でITパスポートや基本情報技術者などの国家試験やVBAを使ったプログラミング、データベースを教えてきました。この中でも特に国家試験に関連する授業では読解力、計算力が絶対的に必要になります。これは国家試験で計算問題や長文問題が出されるからです。また、プログラミングでも多少の計算力は必要になります。

「ITの国家試験の計算問題なんて難しそう・・・」と思われた方!3割ぐらい正解です。たしかに国家試験に出題される問題には難しい計算を行うものが出題されたことがあります。確率や組み合わせ、logを使った問題など難しい問題が出されることがあります。しかし、出題されるほとんどの問題が四則演算(+、ー、✕、÷)ができれば解ける問題ばかりです。ただ、問題ぞれぞれに公式みたいなものが存在するのでそれを覚えるのが大変かもしれません。

しかし、小学校で習う四則演算(+、ー、✕、÷)さえできればほとんどの計算門外を解くことができます。

IT国家試験では2進数や16進数といった普段扱わない数字の扱い方を覚える必要があります。こちらに関しては累乗を使うことになりますが、実際にはかけ算と足し算、分数ができれば解くことができます。

では、少し2進数について触れていこうと思います。2進数とは数字の1桁を「1」もしくは「0」の2種類で表すことを言います。普段、私達が生活で使っている0〜9の10種類で1桁を表すので10進数と言います。

例えば2進数で「0」と書いてあれば10進数では「0」となります。また、2進数で「1」と書いてれば10進数で「1」となります。10進数では「9」の次は「10」ですが、これは1桁を0〜9でしか表せないため、「1」と「0」を組み合わせて2桁で表しています。そして2進数では1桁を0と1でしか表せないので「1」の次の「2」は2桁では「10」と表します。このときに教本などでは「累乗(べき乗)」という言葉を使って少しややこしく書いています。2進数「10」を10進数に変換するときに「2の1乗✕1+2の0乗✕0」というようにいくつかの教本では説明されています。

2進数では1桁増える度に「2の桁数−1乗✕(1もしくは0)」という式を使って10進数に変換していきます。もう少し説明にお付き合いください。

2進数では上のように桁が増えるごとに2の桁数−1乗✕(1もしくは0)をそれぞれ足しくいくことで10進数へと変換していきます。このときに累乗(べき乗)を知らないとこの変換ができないかと言われると実は知らなくてもこの変換を解くことができます。2進数は桁が増えるごとに「1⇛2⇛4⇛8⇛16⇛32⇛64⇛128・・・」2倍ずつ増えていきます。上図の例では2の7乗の桁は「1」になっているので2の7乗(2✕2✕2✕2✕2✕2✕2=128)、次の2の6乗の桁は「0」になっているのでここは計算に含めません。次の2の5乗の桁は「1」になっているので2の5乗(2✕2✕2✕2✕2=32)を先程の128に加えます。次の4乗と3乗の桁はともに「0」になっているので計算には含めません。次の2場(2✕2=4)と1乗(2=2)はともに「1」なのでそれぞれ128+32に加えます。(=128+32+4+2)。そして最後の0乗のところは「1」なので、そのまま1を足します(=128+32+4+2+1)。このように一見難しそうに見える問題ではかけ算だけできれば解けてしまいます。

また、ITパスポートや基本情報技術者試験のなかでは少し文面が長い問題が出題されたり、基本情報技術者試験の午後問題では数ページに渡る問題が出題されます。こういった問題を解くには読み切る体力や読解力、集中力が必要になります。

現在、専門学校でゲーム学科や情報処理学科などの学生に国家試験に関連する科目を教えています。特にゲームに関して言えば数学が必要になってきます。例えばシューティングゲームの弾丸は真っ直ぐ飛んでいく場合はいいのですが、回転しながら進んだり、相手を追尾するような弾丸の画面上の座標は計算によって求めなければなりません。また、キャラクターをジャンプさせた後、一定の距離までは上に上がりますが、途中から下に下がっていきます。このときのキャラクターの位置についても計算で求める必要があります。敵キャラクターがある程度近づいたときに向かってくるというゲームを作る場合、自分と相手の距離を計算によって求める必要があります。単純な直線距離であれば三平方の定理で求めることができます。しかしその定義を知らなければどうやって距離を求めていいのか解らずにゲームを作る手が止まるかもしれません。ただ、中学や高校の授業と違って計算自体はコンピュータがしてくれます。ただし、計算を行うための計算式自体はゲームを作る人が設定しなければなりません。

何度もゲームを例にして申し訳ありませんが、例えば物を落とすゲームを作った場合、鉄球などの重いものは風などの影響をあまり受けずに落ちていきます。しかし、木の葉や羽など軽いものは風の影響を受けるため、左右に揺れたり回転しながら落ちていきます。これらを計算ぜずにただ落とすゲームを作ってしまえば木の葉や羽も鉄球も同じ落ち方をして不自然に見えます。もちろん学校の試験ではないので覚えていないといけないわけではありませんが、そういった計算式を設定しないといけないことは覚えておいたほうがいいでしょう。そのように考えれば学校の物理や科学といった勉強も必要になってきます。

3DCGで人を歩かせるには人の歩き方をしっかり観察・研究しないと「歩いている」よりも地面の上を滑っているように見えてしまいます。ボールを投げたりする場合には必ず予備動作というのがあります。また、筋肉や人体骨格についての勉強もぜず感覚と想像だけで動きをつけると必ずおかしく見えます。

勉強は自分の進みたい分野の人たちを会話をスムーズに進めたり、可能性を増やすためにも必要なものです。これはこういったITやCGなどの分野に限らずどの分野でも同じです。また、基礎的な読解力や計算力は必要になってきます。

もしこの記事を読んで下さっている中に小学生や中学生、高校生の方がいらっしゃれば自分の可能性を拡げるためにも今の勉強を大事にしていただきたいと思います。