何度も繰り返す(2)

繰り返しって、大切ですよね。
数学の時間にもよく言われますが、反復練習は大切だ...みたいに。
繰り返したからパソコンが何か覚えるかというと、そういう問題じゃありませんが、
同じ処理は繰り返しを使ったほうが楽です。

for文

そろそろプログラミングらしい言葉が出てきました。
このfor文制御構文といわれます。
for文は指定された回数だけ繰り返すのに使います。
forの例
1
2
3
for(i = 0;i < 5;i = i + 1){
  Mes("おい!");
}
見た感じかなり複雑です。
でも使い方は簡単。以下のような感じです。
forの使い方
1
2
3
for(初期式;条件式;増減式){
  Mes("おい!");
}
...ますますわからないですよね。では順を追って説明しましょう。

まず最初の「初期式」についてです。
上の例ではiに0を代入しています。

次は「条件式」です。
ループを終了する条件です。
if文で紹介した比較を使います。
上の例では「i < 5」、つまりiが5になり次第終了します。

最後に「増減式」です。
この増減式は、iの値を増やしたり減らしたりする文です。
for文を使うときは基本的に「i = i + 1」です。
つまりiを1ずつ増やしていく、ということです。

これらが処理される順番は以下の通りです。

  1. 初期式(i = 0)
  2. 条件式(i < 5)
  3. Mes("おい")
  4. 増減式(i = i + 1)
  5. 2.に戻ります。
条件式に当てはまるあいだ繰り返し続けます。

まとめると、iは0,1,2...と増えていき、4を最後にループを抜けます。

結構難しいですよね。とりあえず練習問題。これが出来れば問題ないでしょう。
練習問題!
for文を使って、7回「こんにちは」と表示してみてください。

ヒント:Mes命令を使います。ループ回数は7回です。
どうでしょう?できましたか?答えは...ここをクリック(JavaScriptはオンにしてください)

1〜100まで足してみる

いわゆる数列ですね。等差数列の和ってやつです。
まぁそんなことはおいといて、1〜100まですべての数を足したらいくつになるかやってみましょう。

高校で習う等差数列を使えば、
等差数列の和の公式
1
2
3
4
5
Start = 1;  //最初の数
End = 100;  //最後の数
n = 100;
Ans = (Start + End) * 100 / 2;
Mes(Ans);
こんな感じですが...。あってるでしょうか?イマイチ自信がなくて...
ビシっと公式使ってズバっと間違うと正直消え去りたくなります。

個人的なことはおいといて、for文を使ってやってみましょう。
for文では「i」という変数を使いましたが、この「i」はループするごとに1ずつ増えていきます。

forで計算
1
2
3
4
5
a = 0;
for(i = 1;i < 101;i = i + 1){
  a = a + i;
}
Mes(a);
まぁキレイですね。そしてわかりやすい。
1から100までを足しています。
「i = 1」から始まっているのは、1から足していくからです。
「i < 101」で終わってるのは、101 - 1 = 100回の繰り返しだからです。
前へ / index / 次へ
プログラム言語「Spinel
Copyright © 2005 - Giemsa All Rights Reserved.
NOTES Software.