© 2005 Martin J. Dürst 青山学院大学
if
-elsif
-else
文の外で一回だけ行うwhile
文1 から 10000 までの数を足し合せる
$sum = 0; $i = 1; while ($i <= 10000) { $sum += $i; $i++; } print "Total from 1 to 10000 is $sum\n";
while
文の演習if
文と余りの演算子 %
を使う)for
文の例for
文は while
文の典型例の簡潔化
for ($i=1; $i <= 10; $i++) { $sum += $i; }
(1 から 10 までの数字を足し合せる) は次の while 文と同じ:
$i = 1; # 初期化 while ($i <= 10) { # 条件 $sum += $i; $i++; # 次回繰り返し準備 }
while
文の応用例: 最大公約数ヒント: 二つの数が同じの場合にこれが最大公約数。違う場合に最大公約数は小さい方の数と二つの数の差の最大公約数と同じ。
$aa = $a = shift; $bb = $b = shift; while ($a != $b) { if ($a < $b) { $b = $b - $a; } else { $a = $a - $b; } } print "The GCD of $aa and $bb is $a.\n";
while
)