[PHP] リアル電卓なみの計算をしよう – 四則演算とメモリー

デスクの端に置いてある、あの電卓です。リアル電卓の四則演算やメモリーを使った計算をphpスクリプトで計算してみましょう。

電卓

phpスクリプトは「変数」を使ってプログラムを書いていきます。この「変数」は、電卓のメモリーに似ています。

簿記検定の必須アイテムね
少し大きめが使いやすいのよ。

112×181×35mm 本体質量:約202g ツインパワー(内蔵電池CR2032×1個)

四則演算

まず、足し算、引き算です。

電卓で、「1」「7」「+」「9」「-」「5」「=」とうつと、「21」と表示されます。

PHPで、これと同じ計算をするには、エディター欄に、次のように入力します。

<?php
echo 17 + 9 - 5;
Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

21Code language: plaintext (plaintext)

次に掛け算です。

電卓で、「1」「9」「×」「0」「.」「1」「=」とうつと、「1.9」と表示されます。

パソコンのテンキーに「×(かける)」がないよ?

PHPだけでなく、プログラミングの掛け算は「*(アスタリスク)」を使うのよ。

PHPで、これと同じ計算をするには、エディター欄に、次のように入力します。

<?php
echo 19 * 0.1;Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

1.9Code language: plaintext (plaintext)

続いて割り算です。

電卓で、「1」「0」「÷」「3」「=」とうつと、「3.33333333333」と表示されます。

パソコンのテンキーに「÷(割る)」がないよ?

PHPだけでなく、プログラミングの割り算は「/(スラッシュ)」を使うのよ。

PHPで、これと同じ計算をするには、エディター欄に、次のように入力します。PHPでは割り算は「/(スラッシュ)」で計算します。

<?php
echo 10 / 3;Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

3.3333333333333Code language: plaintext (plaintext)

マイナス値はどうでしょうか。

マイナス値を計算するときは、数の前に「-」をつけます。電卓の「引き算のマイナス」と「マイナス値のマイナス」は違うボタンですが、PHPでは、同じマイナス記号を使います。

<?php
echo -2 * 3.1;Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

-6.2Code language: plaintext (plaintext)

「余り」は電卓にはない計算です。1 割る 2の余りは、1です。

2で割った余りが1なら奇数

2で割った余りが0なら偶数

PHPで、余りの計算をするには、エディター欄に、次のように入力します。PHPでは余りは「%(パーセント)」で計算します。

<?php
echo 1 % 2;Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

1Code language: plaintext (plaintext)

PHPは、学校で習う、カッコ付きの計算もできます。

アプリの電卓はカッコ付きの計算もできるよ

アプリの電卓、便利よね

<?php
echo (1 + 2) * (3 + 4);
Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

21Code language: plaintext (plaintext)

リアル電卓のメモリー機能

phpスクリプトは「変数」を使ってプログラムを書いていきます。この「変数」は、電卓のメモリーに似ています。そこで、電卓のメモリー機能をみていきましょう。

リアル電卓にはカッコ付きの計算がない代わりに、メモリー機能があります。

「M+」を押すと、メモリー値に計算結果を足し算します。

「M-」を押すと、メモリー値から計算結果を引き算します。

「MR」を押すと、メモリー値を呼びだします。(機種によっては「R・CM」ボタンの場合もあります。)

「MC」を押すと、メモリー値を0(ゼロ)にします。

「MC」はメモリークリアかな。
「MR」って、どういう意味?

「Memory Recall」メモリ呼び出しよ。

例えば、
100円のポテトチップスを2個
200円のおせんべいを3個
消費税10%
の合計金額は、リアル電卓では、次のように計算します。

計算計算結果メモリー
100 × 2 「M+」200200
200 × 3 「M+」600800
「MR」× 10%「M+」80880
「MR」880

PHPはカッコ付きの計算式で1回の計算できますが、途中の計算結果がわかりません。

<?php
echo ((100 * 2) + (200 * 3)) * 1.1;
Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

880Code language: plaintext (plaintext)

電卓のメモリとPHPの変数をからめて説明したいみたいだけど、

電卓の「M+」や「M+」を知らないかもね...

そこで、PHPでもメモリを使って、各段階の計算結果を表示しながら、合計金額を計算してみましょう。

電卓の「M+」「M-」で操作するメモリは1個だけです。

電卓のメモリに相当するものを、PHPでは「変数」と呼びます。PHPの「変数」には名前をつけることができ、多くの変数を操作することができます。

PHPの変数の名前は、変数名といいます。変数名は「$a」「$b」「$x」のように、先頭にドルマークをつけて、アルファベットをつづけます。しばらくは、$a から $z の26個の変数だけを使うことにしましょう。

電卓はメモリ1個だけだったけど

変数$a から $z の26個を使うのね

電卓のメモリは合計金額に使っていました。phpスクリプトでは、合計金額用の変数を$mとして、値に0(ゼロ)を代入します。

<?php
$m = 0;
Code language: PHP (php)

なぜ $a ではなく、$m なの?

$a や $b でもいいんだけど、
電卓のメモリ(Memory)を意識して、$m にしたのよ

次に、100円のポテトチップス2個を計算します。この計算結果を、変数 $a に保存して、表示します。

合計金額用の変数$mに足します。

PHPの「=」は、等しいという意味ではなく、右側の計算結果を左側の変数に代入するという意味です。つまり「$m = $m + $a;」は、$m + $a の計算結果を $m に代入する、という意味です。

学校で習った方程式の「=」は、等しいだったかな

PHPの「=」は、等しいではなく、代入ね

// つづき

$a = 100 * 2;
echo $a;

$m = $m + $a;Code language: PHP (php)

次に、200円のおせんべい3個を計算します。この計算結果を、変数 $b に保存して、表示します。

合計金額用の変数$mに足します。

// つづき

$b = 200 * 3;
echo $b;

$m = $m + $b;Code language: PHP (php)

消費税10%を計算します。この計算結果を、変数 $c に保存して、表示します。

合計金額用の変数$mに足します。

// つづき

$c = $m * 0.1;
echo $c;

$m = $m + $c;Code language: PHP (php)

最後に、合計金額用の変数$mを表示します。

// つづき

echo $m;
Code language: PHP (php)

全体のphpスクリプトです。

<?php
$m = 0;

$a = 100 * 2;
echo $a;

$m = $m + $a;

$b = 200 * 3;
echo $b;

$m = $m + $b;

$c = $m * 0.1;
echo $c;

$m = $m + $c;

echo $m;Code language: PHP (php)

「実行ボタン」をクリックすると、出力欄に、結果が表示されます。

20060080880Code language: plaintext (plaintext)

200と600、80、880がつながって表示されてしまいました。変数を表示した後に、改行しましょう。改行するには、echo "\n"; と書きます。PHPにはいくつかの特殊文字を表現する決まりがあり、"\n"は改行という意味です。

<?php
$m = 0;

$a = 100 * 2;
echo $a;
echo "\n";

$m = $m + $a;

$b = 200 * 3;
echo $b;
echo "\n";

$m = $m + $b;

$c = $m * 0.1;
echo $c;
echo "\n";

$m = $m + $c;

echo $m;
echo "\n";
Code language: PHP (php)
200
600
80
880
Code language: plaintext (plaintext)

まとめ

リアル電卓の四則演算とメモリーを使った計算を、phpスクリプトで計算しました。

+ - * / %
足し算、引き算、かけ算、割り算、余り。

$a
変数は、先頭ドルマーク、つづけてアルファベット。

$a = 10 * 3;
イコール記号で、右側の計算結果を左側の変数に代入します。

$a = $a + 3;
変数の値に何かしら計算をして、その変数に代入することができます。

echo "n";
表示を改行します。

タイトルとURLをコピーしました