プログラミング学習

【プログラミング学習】数学の必要性

 

「数学が苦手だけどプログラミングはできますか」「文系でも大丈夫でしょうか?」という心配をされる方がいます。

結論から言ってしまうと数学が苦手でも大丈夫です!

3Dゲームやアニメーションを実装する場合は、物理計算などの複雑な考え方が必要になることもあります。しかしほとんどの場合は複雑な数式を使うことはありません。(難しい計算式も実際はフレームワークを使えば解決できることも多いです。)

例えば一般的なブログサービスを開発する場合、計算式はほとんど出てきません。
他にも ToDo リスト・メモアプリ・ウェブサイトなどを作る場合は数学の知識は必要ありません。
 

では、どのような数学の知識を使うのかというと

  • 条件式
  • 座標
  • 時間計算

の3つをよく使います。

今回はどんな時に数学の知識を使うのか具体的な例を紹介したいと思います。

 


 

数学を使う具体例

条件式

条件式とは「〜のとき…になる」「A は B より大きく C より小さい」のような式です。

例えば

  • 「スコアが 10 より大きいとき」という条件が与えられた場合は score > 10
  • 「画面の横幅が 320px 以上で 768px 未満のとき」は width >= 320 && width < 768

のように文章で示された条件を等式・不等式を使ってコードにできることが大切になります。
 

数字以外にも日付やスマホのバージョンを比較することもあります。

プログラミングでは「以上・以下・より大きい・より小さい・未満」の違いを正しく理解して、条件式を作れるかが大切になります。
 
 

座標

座標とは X 軸・Y 軸を使って位置を表すものです。
 


 

プログラミングでは、ブラウザやスマホの画面サイズに関するコードを書くときによく座標を使います。

例えば当サイトでも Catch the Ball という Android ゲームアプリの開発方法を紹介しているのですが、座標を頻繁に使っています。

【作って学べる】Android Studio ゲームアプリ開発入門 はじめに ここでは「Android Studioでゲームアプリを作ってみたい!」という方を対象に、できる限り簡単・...

 

このゲームアプリでは

  • 画像を表示する位置
  • スマホの画面サイズの取得

に座標を使っています。
 

座標と言っても、グラフを書けたり座標を方程式にする必要はほとんどありません。

座標が (50, 100) と言われたときにブラウザやスマホ画面のどのあたりの位置なのかをイメージできれば十分です。
 

数学の場合は左下が座標 (0,0) になりますが、プログラミングの場合は左上が (0,0) になることが多いので注意してください。
 

数学の場合
プログラミングの場合

 
 

時間計算

プログラミングでは時間の計算はミリ秒を基準することが多くあります。
 

たとえばストップウォッチを開発するとします。

ストップウォッチの作り方はとてもシンプルで、ミリ秒毎に表示する文字を書き換えるという方法で作られている場合がほとんどです。

ストップウォッチの経過時刻をミリ秒で用意して、そのミリ秒をもとに「時:分:秒:ミリ秒」という形に変換して表示します。
 

小学生の頃、算数の問題で「100秒は何分何秒でしょう」という問題があったと思います。

これと同じように「10000ミリ秒は何分:何秒:何ミリ秒か」と考えるのがプログラミングです。

実際の計算をするのはプログラムの仕事なので、正しい計算式を用意できるかが必要な数学の知識になります。
 
 

まとめ

ほんの一部ですが、どんな時に数学の知識を使うのかを紹介しました。

数学の読解力は少しだけ必要になりますが、計算力はほとんど必要ありません。(計算をするのはプログラムの仕事です!)

プログラミングはコードを書いて慣れることが大切なので、数学が苦手だからと言ってプログラミングを諦めないで頂きたいなと思います。

とりあえず数学の得意・不得意は気にしないで、ぜひプログラミングに挑戦してみてください

 

 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
挫折しないプログラミング講座

 

 
Code for Fun プログラミング講座では「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで学ぶことができます。

  • 何か一つ形にしてみたい!
  • 次に何をして良いか分からない…
  • プログラミングに挫折しそう…

という方にオススメです。

詳しくみる

guest
0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx