はい。やって参りました第3回です!w
例のごとくさっそくサンプルを見てみてください。
というか書いて試しに実行してみてください。
////////////////////////
Function main() {
i=10;
while (i<=0) {
i--;
puts ("%i%¥n");
}
puts ("end");
}
////////////////////////
できましたかー?
以下、実行結果です。
9
8
7
6
5
4
3
2
1
0
end
結構ノリでやってるんで、この通りできなかったらいってください。
まあ、こうなったとして解説いきまーす。
まず2行目、i=10。これはいいですね。
iに10を代入するだけです。
次に7行目、puts ("end")。これも大丈夫ですね?
endという文を表示します。(このときこれを文字列といいますよー)
さて、今回の本題です。
3〜6行目を解説していません。
見てもらえればわかりますが、今回は{}の固まりがなぜかもうひとつはじめの関数定義のまとまりのなかにあります。
そして始まりは、、whileという命令ではじまっていますね?
ここでwhile文という命令の登場です!!
では進出命令の基本構造いってみましょー!
while (式) {
...
}
はい。こういう固まりとなっています。
命令で固まりになるのは初めてでしたっけ?
命令も、関数と同じように{}で囲う形にする場合があります。
ではwhile文についてですが、ちょっと教科書的に(?)まとめると、()内の式の返り値が0ではない限り、{}内の処理を繰り返す命令、です。
式の返り値、というところで若干引っかかると思います。
引っかかってくださいね。まだ教えてないんですからw
式は、ただの数値もあてはまりますし、i=10のような代入式でない限り、だいたい全部式となります。
=のときもそうでしたが、プログラミングでいう式は、数学などで使う式と似ているのですが若干の差があります。
式の一覧を標準の解説テキストより引用させていただくと、、
a == b 等しい a が b に等しい時に 1を返す a =~ b 等しい a が b の正規表現文字列にマッチした時に 1を返す a != b 等しくない a が b に等しくない場合に 1を返す a <> b より多い a が b より多い時に 1を返す a <= b より少ないか等しい a が b より少ないか等しい時に 1を返す a >= b より多いか等しい a が b より多いか等しい時に 1を返す
はいはいはいなんかでてきましたねえ。
意味は見てもらえれば...わかりますか?w
青色のやつは僕でもわかってないやつです、、
これを解説するために、もう一つのスクリプトを以下に書きますので実行してみてください。
///////////////////////////
Function main() {
n=10;
puts (n<8);
n=7;
puts (n<8);
}
///////////////////////////
実行すると、01と表示されると思います。
はじめのputsでは0が出力され、次のでは1が出力されています。
わかりましたでしょうか?
つまり式とは、その式の条件に一致するとその式自体が1となり、当てはまらなければその式自体が0となるものなのです。
うまく理解できなくても、、理解してくださいw
ちょっと長くなりすぎたので、本題のwhile文の解説が途中ですが今回はここで終了です。。すみません。。
次回続き行きましょう。きっと読んでる人もお疲れでしょうし←
ではまた次回まで、while文の使い方について思考錯誤しておいてくださいねーw では!!
6 コメント:
すいません、pine氏に習ってる側なのですが、それだと
while (i!=0) {
か
while (i<=0) {
じゃないですかね、すいませんでしたー
はじめまして。
、、まさかこのサイトに知らない人が見に来ると思いませんでした。。
だから自分でやってみてもなかったのですが、、
すみません。
近々修正します。
おお、完全に間違いでした。。
「つ」さん。ありがとうございます。
今後もご指摘よろしくお願いしますねw
ところで式の一覧のとこ文字化けって狂ってませんか?
タグが壊れてるかもしれないので一応。
まさか返信をいただけるなんて...ありがとうございます!
文字化けですか、
ケータイでみたときは化けてましたが、PCだとばけてませんでした..
これからもありがとうございます!←?
おお!こちらこそありがとうございます!!
今後のサイトの発展のためにご協力お願いします←
頑張るぞ!!
コメントを投稿