ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ

管理運営:有限会社ミスティーネット

| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規表現1 正規表現1
正規表現2 正規表現2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

ミスティーネットPerl・CGI講座/WEB講座一覧
ミスティーネット
HTML講座 HTML講座
スタイルシート講座 スタイルシート講座
JavaScript講座 JavaScript講座
UNIXコマンド講座 UNIXコマンド講座

ミスティーネット
ラブラブメールでツーショット

人気サイトランキング

人気サイトランキング

8daysランキング

  HOME >> 数値の扱い
  1. 簡単な四則計算
  2. 数値の比較
  3. 四捨五入
  4. ランダムな数値
  5. おみくじを作ってみよう!
■ 簡単な四則計算
Perl では数値計算を行なう為の演算子が下記の5つ用意されております。
CGI に必要な計算処理などはこれらの演算子でほぼ事足りるでしょう。
+ , - , * , / , %

$a1 = 3 + 5;
$a2 = 93 - 23;
$a3 = 10 * 5;
$a4 = 12 / 4;
$a5 = 10 % 8;
# $a1 = 8
# $a2 = 70
# $a3 = 10 × 5 = 50
# $a4 = 12 ÷ 4 = 3
# $a5 = 2 ( % は10を8で割ったときの余りを返します。)


カッコを使った場合は、カッコ内の計算が優先されます。
カッコを使った場合と使わない場合では計算結果が変わってきますので注意してください。

$total1 = ( 2 + 3 ) * ( 7 + 1 );
$total2 = 2 + 3 * 7 + 1;
# $total1 = 40; となります
# $total2 = 24; となります


代入演算子を使うと計算式を省略することが出来ます。

$b1 += 5;
$b2 -= 23;
$b3 *= 5;
$b4 /= 4;
$b5 %= 8;
# $b1 = $b1 + 8 と同じ
# $b2 = $b2 - 23 と同じ
# $b3 = $b3 * 5 と同じ
# $b4 = $b4 / 4 と同じ
# $b5 = $b5 % 8 と同じ

個人的には、代入演算子を使わずに明示的に計算式を書くほうが、後からプログラムソースを見た場合に どのような計算をしたかが確認しやすいため好きですが、ここら辺は個人の好みでしょう。


オートインクリメント・デクリメント演算子は数値データを 「+1」 または 「-1」 する際に使用します。
CGI ではカウンターによく使われる機能です。

$c1 = $c2 = $c3 = $c4 = 3;

【インクリメント】
$d1 = ++$c1;
$d2 = $c2++;

【デクリメント】
$d3 = --$c3;
$d4 = $c4--;
変数に初期値3をセットしておく


# $d1 = 4; $c1 = 4; となる
# $d2 = 3; $c2 = 4; となる


# $d3 = 2; $c3 = 2; となる
# $d4 = 3; $c4 = 2; となる

前置き(++$c1) のインクリメントでは、値を返す前に変数の値を +1 増減します。
そのため、「$d1」 「$c1」 ともに値は 4 となります。
後置き($c2++) のインクリメントでは、値を返した後に変数の値を +1 増減します。
したがって、 「$d2」 の値には 3 がセットされ、その後 「$c2」 がインクリメントされ、「$c2」 の値には 4 がセットされます。


あまり使うことはないかも知れませんが、Perl では指数計算を行なうことも出来ます。

print 2 ** 10;      ← 2の10乗の解(1024) が表示されます。




■ 数値の比較
数値同士を比較する際には、比較(関係)演算子を使います。
比較演算子は条件処理やループ処理を行なう際によく使われます。

演算子 意味
$a == $b $a と $b が等しい場合に真を返します。
$a != $b $a と $b が等しくない場合に真を返します。
$a > $b $a が $b より大きい数値の場合に真を返します。
$a < $b $a が $b より小さい数値の場合に真を返します。
$a >= $b $a が $b 以上の場合に真を返します。
$a <= $b $a が $b 以下の場合に真を返します。
(文字同士を比較する際には、文字列用の比較演算子を使います。)


[比較演算子の使用例]
if ( $a == $b ) {
     print "$a と $b は等しい値です。";
}
else {
     print "$a と $b は等しくありません。";
}

$a == $b が真の場合のメッセージ表示


$a == $b が偽の場合のメッセージ表示


上記プログラムのように、比較の結果によって処理の内容を選択したい場合などに使います。




■ 四捨五入
数値データを四捨五入する場合には、int 関数を使います。
int 関数では数値の整数部分のみを取り出して、小数点以下は破棄します。
   → int 関数リファレンス

$a = int( 4 / 3 );      ← $a には 1 がセットされます。



■ ランダムな数値
ランダムな数値を作る場合は、rand 関数を使います。
   → rand 関数リファレンス
[書式]    rand 式
rand 関数は 0 から式の値までの数値をランダムに返します。
式を設定しない場合には、1 の値が設定されます。



■ おみくじを作ってみよう!
比較演算子や rand 関数を使って簡単なおみくじプログラムを作って見ましょう。
rand 関数を使って、さいころの1〜6までの目をランダムに作成して、出た目によって「大吉」 や 「吉」 などのメッセージを表示します。
では、早速作って見ましょう。

$number = int( rand 6 ) + 1;      ← さいころの目を作ります

if ( $number == 1 ) {      ← さいころの目が1の場合
     print "おめでとう!今日は最高の1日になるでしょう。 大吉です。";
}
elsif ( $number == 2 ) {      ← さいころの目が2の場合
     print "なかなかですな! 中吉です。";
}
elsif ( $number == 3 ) {      ← さいころの目が3の場合
     print "今日の運勢はぼちぼちです。 小吉です。";
}
elsif ( $number == 4 ) {      ← さいころの目が4の場合
     print "まあまあじゃないですか。 小吉です。";
}
elsif ( $number == 5 ) {      ← さいころの目が5の場合
     print "あんまり出歩かない方がいいかも。 凶です。";
else {      ← さいころの目が6の場合
     print "今日の運勢は最悪! 大凶です。";
}
さいころの目($number) を作る際には、rand 関数で作成された数値に1を足して作っています。
rand 関数では0からの乱数を作成する為、1〜6までのさいころの目を作る際には1を足しています。
あとは、作製されたさいころの目の数によって、表示するメッセージを変えています。




← 前のページへ戻る 次のページへ →


| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 ミスティーネット Inc. All Right Reserved.