cgi008 「繰り返し for文」(04/11/29 Mon)
こりゃもうコンピュータの利点そのものです。
例えば「1〜1000まで全部足せ!」とかそういうのコンピュータは大好物です。
☆ 繰り返し for ☆
#!/usr/local/bin/perl
for($i=1;$i<=1000;$i++){
$kotae = $kotae + $i;
}
print "Content-type: text/html\n\n";
print $kotae;
exit;
「1〜1000まで全部足せ!」をやらせてみました。
だんだん書き方がややこしくなってきましたが、これもルールです。
決まった書き方じゃないと動かないので、最初はコピー貼りつけして、数字だけ
変えるとかの方がいいかもしれません。(特に「;」を1個つけ間違えただけで動かなくなります)
では、中身を説明します。
2行目の for( 繰り返す条件 ) { やること } だけですが、
繰り返す条件ってのが成立している間は、「やること」を繰り返し実行します。
で、条件ってのは、
「$i の最初の値は1で、$i が1000以下(1000を含む)になるまで $i を1加えながら繰り返す」
になります。
$i の最初の値は1で ってのが「$i = 1」
$i が1000以下(1000を含む)になるまで ってのが「$i <= 1000」
$i を1加えながら ってのが「$i++」
で、わかりにくいのが、
条件を判断する記号でしょう。とりあえずは、
「== 〜と等しい」「<= 〜以下」「>= 〜以上」「< 〜よりも小さい」「> 〜よりも大きい」ってあります。
あとは、「$i++」 コレですか。
$i++ってのは、つまり「$i = $i + 1」のコトなんです。
数学では、ありえませんが、プログラミングではこういう使い方できるんですねぇ。
で、「$i = $i + 1」を書くのが面倒なので、縮めた書き方が、「$i++」です。
もちろん逆もあります。「$i--」ってやると、$iは1ずつ減っていきます。
でまぁ↑のソースを実行すると結果は「500500」って表示されます。
$iが1ずつ1,2,3,4,・・・1000と増えていくのを$kotaeに足していってるわけです。
ループ1周目は、$kotae = 0 + 1となり、$kotae に1が代入されます。
ループ2周目は、$kotae = 1 + 2となり、$kotaeに3が代入されます。
で、1001までいくと、ループの繰り返し条件($iは1000以下)に合わなくなるので、
ループから脱出し、下のソース(print・・・)が実行されます。
繰り返す間は、ずっとfor( ){ }でぐるぐる回ってますので、print・・・は実行されません。
なので、絶対に、脱出できる条件にしてくださいね。
♪ 結果表示 ♪
500500
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||