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

 

★ Top ★

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送