for文,if文
for文,if文
1. プログラム例
<?php
// 50未満の等差数列を表示するプログラム
header("Content-Type: text/plain; charset=X-SJIS");
$syokou = 3;
$kousa = 3;
$kousuu = 20;
printf ("syokou=%d\n", $syokou);
printf ("kousa =%d\n", $kousa);
printf ("kousuu=%d\n", $kousuu);
$kotae = $syokou;
for($i=1; $i<$kousuu; $i++){
$kotae = $kotae + $kousa;
if($kotae > 50) {
break;
}
printf ("n=%d\t", $i+1);
printf ("kotae=%d\n", $kotae);
}
?>
2. for文の文法
for(第一引数;第二引数;第三引数){ }
{から}までの文を引数の条件の元,繰り返し実行する.forループとも呼ばれる.
第一引数: 繰り返し計算させる初期値
第二引数: 繰り返し計算を終える時の条件
第三引数: 繰り返し時の刻み幅
例題の意味は,i=0を初期値とし,iが$kousuuを越えない範囲で,1ずつiを増やして行きながら計算する.つまり, $kousuu回の繰り返し計算を行う.
i++ の意味は,i=i+1と同じ意味を持つ.
3. if文の文法
if(条件式) { }
条件式が真の場合は,{から}までの文を実行する.
条件式は,論理演算子を用いる
== 左辺の右辺が等しいか
!= 左辺の右辺が等しくないか
> 左辺が右辺より大きいか
>= 左辺が右辺以上か
< 左辺が右辺より小さいか
<= 左辺が右辺以下か
&& かつ
|| または
例題の意味は,$kotaeの計算結果が50を越える場合は,breakを実行する.
breakは,for文から強制的に抜けるという意味である.
4. 注意事項
int型の整数で表すことのできる数値
PHPは4バイトで整数を表現する
したがって,符号なしの場合,2の32乗まで表すことができる.
常に計算可能な値の範囲なのか考えながらプログラミングすること.
=は,あくまで代入文.$kotae = $kotae + $kousa; の文は,$kotae + $kousaの値が, $kotaeに代入される.このように同じ変数を式の右辺と左辺に使うような計算法を再帰表現と呼んでいる.
インデント(字下げ)や改行を利用して解り易いコーディングを心掛けよう.
等差数列の公式を用いた計算も行い,再帰表現による計算結果に間違いがないか確認しなさい.
等差数列の和も計算するようにプログラムを変更しなさい.
和を計算するための変数として,$sum を変数として利用しなさい.
さらに,和の値が300を越えたとき,そのときの項数はいくらかが解るように工夫しなさい.
変更したプログラムは,"p04.php"という名前で保存しなさい.
保存場所は,~/local_html/Program/p04.php
このプログラムをWebブラウザで確認しなさい.
課題