プログラミング基礎 I

第四回 (2005年 5月 16日): 繰り返し

AGU

© 2005 Martin J. Dürst 青山学院大学

演習問題・宿題

  1. 東京ガスの値段表によってある月間使用量 (m3) から使用料金を計算する
  2. 摂氏と華氏とケルビンの変換プログラムを一般化して、値と単位の入力に対して残りの二つの単位を計算するようにする
  3. 他に面白い、役に立つ、興味のある計算をプログラムする

演習問題の要点

繰り返し: while

1 から 10000 までの数を足し合せる

$sum = 0;
$i = 1;
while ($i <= 10000) {
    $sum += $i;
    $i++;
}
print "Total from 1 to 10000 is $sum\n";

簡単な while 文の演習

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";

応用例の演習