アメリカの大学で奮闘中

アメリカの大学でプログラミングを学ぶべくコンピューターサイエンス学部に留学したものの挫折し数学科に転部した著者が、自分の挫折ポイントを踏まえて数学、プログラミング、アルゴリズムついてできる限り分かりやすく解説してみるブログ。*できる限り記事の内容は技術的な間違いをしないように気をつけていますが、もし間違いがあれば教えていただけると助かります。

プログラミングの変数の定義と数学の=の違い 

今大学の2回生で数学とコンピュータサイエンスを勉強しています。

その知識を生かして、今回は「プログラミングの変数の定義と数学の=の違い」という問いを考察してみました。

 

プログラミングの変数の定義と数学の=の違い

 

多くの人が変数を定義の仕方を見て、数学の=と似ているなと感じたと思います。実際にその感覚で通用するところもあるし、変数の定義の後使われた時の代入の仕方とかは数学のそれと近いものがあります。(というよりその感覚で正解だと思います。)

 

ですが、変数の定義と数学の=と意味合いが異なります。

 

数学の = は両辺が同じということを意味するのに対して、プログラミングの変数の定義は左辺の変数名が右辺の値を意味することを意味します。

 

数学はa =5, b=5という前提からスタートして、何かしらの結論を導きます。

a = 5, b = 5  →  a + b = 10

この場合はa=5,b=5とした時、a+bが10と同じことになることを意味します。

 

それに対して、プログラミングはa = 5, b = 5という変数を定義することで後々利用することを想定しています、新しい結論は導きません。

 

なので、

>>> a + b = 10

SyntaxError: can't assign to operator

こういった式はpythonには存在しません。

 

ただしそれはa+bの計算ができないということを意味しているわけではありません。

a + bとだけ書けば、コンピューターがその都度代入、計算をして10を持ってきます。

print(a+b) 

 

実行した結果

10

>>>

 

あるいは num = a + bのようにnumという新しい変数の名前をつけるのに使われるかもしれません

num = a + b

print(num)

 

実行した結果

10

>>>

 

結論

数学では=は何かしらの結論を表すのに使われるものでプログラミングの変数の定義は再利用をするために使われるもの

 

 

にほんブログ村 教育ブログ プログラミング教育へ
にほんブログ村

 

にほんブログ村 科学ブログ 数学へ
にほんブログ村