何度も繰り返す(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ずつ増やしていく、ということです。 これらが処理される順番は以下の通りです。 初期式(i = 0) 条件式(i < 5) Mes("おい") 増減式(i = i + 1) 2.に戻ります。 条件式に当てはまるあいだ繰り返し続けます。 まとめると、iは0,1,2...と増えていき、4を最後にループを抜けます。 結構難しいですよね。とりあえず練習問題。これが出来れば問題ないでしょう。
練習問題!
for文を使って、7回「こんにちは」と表示してみてください。 ヒント:Mes命令を使います。ループ回数は7回です。
どうでしょう？できましたか？答えは...ここをクリック(JavaScriptはオンにしてください)
答え
    1
    2
    3
    for(i = 0;i < 7;i = i + 1){
      Mes("こんにちは");
    }
こうです。 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 - gabyou All Rights Reserved.
NOTES Software.