プログラミング入門 ④足し算、引き算、掛け算、割り算など

プログラミング入門

前回はプログラミングの基本である「変数」について学びました。

今回からいよいよ、コンピューターの得意分野である「計算」をしていきます。

基本的な足し算をやってみる

前回やった「変数」は学校で数学を習っていれば、
イメージがしやすいものでした。

数学では「xに3を代入する」みたいなことをやるので、
その概念はほぼそのままプログラミングに使えます。

プログラミングで計算する場合も同様で、数学をやってるとイメージがしやすいです。
例えば、以下の式があります。

これを、試しにプログラミングでそれっぽく書いてみます。

◆サンプル4-1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE HTML><html>
<head>
<meta charset="SJIS">
<title>サンプル4-1</title>
<script type="text/javascript"><!--
 
function sampleExecute() {
 
    var y;
    var x;
     
    x = 3;
     
    y = x + 5;
     
    alert(y);
 
}
 
// --></script>
</head>
<body bgcolor="aliceblue">
<center><h1>サンプル4-1</h2>
<div style="width:550px;background-color:white;padding:18px;border-radius:16px;"  >
<input type="button" name="executeButton" value="実行" onClick ="sampleExecute()">
</div>
</div>
</center>
</body>
</html>

以上のソースコードを実行するとどうなるか、何となく分かるでしょうか?

以下みたいにyの答えが出るわけです。

このように、数学で習う方程式の形は
だいたいプログラミングでも使えるということが分かったでしょうか?

「カッコ」とかも使えます。

◆サンプル4-2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript"><!--
 
function sampleExecute() {
 
    var y;
    var x;
     
    x = 3;
     
    y = ((x + 5) + 6 ) + 10;
     
    alert(y);
 
}
 
// --></script>

引き算や掛け算や割り算

あとは、足し算に加えて、引き算や掛け算や割り算ができると良いですね。
それぞれ以下の「演算子」というものを使います。

+ 加算(足し算をする)
減算(引き算をする)
* 乗算(掛け算をする)
/ 除算(割り算をする)

どれも大体そのままって感じですが、
「×」が無いので「*」が近いから使ってるという印象がありますね。
あと、「/」は分数を使うイメージで使ってるという印象がありますね。

以上の約束事は、ほとんどのプログラミング言語でも同様です。

それぞれ使っていくと以下のようになります。

引き算を使用

◆サンプル4-3

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript"><!--
 
function sampleExecute() {
 
    var result;
     
    result = 10 - 7 + 1;
     
    alert(result);
 
}
 
// --></script>

掛け算を使用

◆サンプル4-4

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript"><!--
 
function sampleExecute() {
 
    var result;
     
    result = 5 * (3 + 2);
     
    alert(result);
 
}
 
// --></script>

割り算を使用

◆サンプル4-5

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript"><!--
 
function sampleExecute() {
 
    var result;
     
    result = 5 * (3 + 2 - 1) / 2;
     
    alert(result);
 
}
 
// --></script>

 

そんでもって、以下みたいに暗算だと面倒な計算をするとどういう答えになるか?
などもやってみましょう。

1
17 * (4 + 15) - (314 + 661 - 9) / 3
Challenge
  • 「17 * (4 + 15) – (314 + 661 – 9) / 3」の答えを出してみよう

その他の演算子

あと、演算子で他にあるのは以下です。

% 剰余(余りを出す)
** 累乗(2乗したり3乗したりする。C言語だと「^」を使う)

「%」は結構使います。
「7%3」とすると、7÷3で1余るので「1」が出るってやつです。
以下のサンプルでも使っています。

◆サンプル2-2

「変数%2」と書くと奇数か偶数かを判定することもできますし、なにかと便利です。

「**」は累乗です。「3**2」とすると3の2乗の値になるって感じのやつです。
C言語の場合は「^」を使います。
これは仕事だとあんまり使った覚えがないです。

この辺りのちょっとマイナーなやつだと、
プログラミング言語によって書き方がちょっと違ってきます。
便利な「%」も、VisualBasicだと「Mod」と書いて使います。

コンピューターは「計算」や「数値処理」が得意なので、
その他にも様々な数値処理が可能です。
sinやcosを使ったり、絶対値を出したり、平方根を出したりとかもやろうと思えば簡単にできます

Javascriptの数値処理でできることが気になる人は、
「Javascript Math」や「Javascript 数学関数」で検索してみましょう。

Googleで検索してみましょう

割り算で小数が出た場合

割り算の計算していると、
答えが小数になるということがもちろんあるでしょう。

例えば、以下の計算をしてみるとどうなるのか・・・?

1
10 / 3

素でやると3.33333333333…って永遠に続くやつですね。
Javascriptの出した答えは以下です。

◆サンプル4-6

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript"><!--
 
function sampleExecute() {
 
    var result;
     
    result = 10 / 3;
     
    alert(result);
 
}
 
// --></script>

~結果~

おお・・・なんかそれっぽいのが出ました。
何故か最後に5が出てますが・・・
これはJavascriptのプログラムが出せる限界の数ということにしておきましょう。

コンピューターは数値処理が得意なものの、
2進数や16進数をベースに10進数を使うみたいなことをやっているので、
実は細かい小数を正確に扱うってことはちょっとだけ苦手です。

Javascript以外の場合では他の結果が出るかもしれません。
もしその時が来たら試してみると良いでしょう。
 

まとめ
  • 基本的な計算は数学の方程式とほとんど一緒で簡単
  • 必要に応じて剰余や累乗も使えたり、高度な数値処理も可能

 

プログラミング入門 ⑤入力と出力
ソフトウェアは高度になると、 プログラムの中身も複雑になりますが、 必ず「入力」と「出力」にあたる部分はあります。 これは『コンピューターの得意なことを理解する』の項でも書きました。 これまでのサンプルプログラムでは、 「al...

コメント