第4講 同じこと(同様なこと)の繰り返し
第1話 同じこと(同様なこと)の繰り返しとは?

プログラミングの学習において、
最も大事な考え方は、
この第4講で学ぶ『同じこと(同様なこと)の繰り返し(ループ処理=For文)』と
第5講で学ぶ『もしもボックス(もし~だったら~=If文)』です。
どうしてかと申しますと、
For文とIf文があれば、どんなプログラミングでも組めることが証明されているからです。
つまり、基本的には第4講と第5講さえ学べば、
チェスの世界チャンピオンを破るプログラムの開発が可能なのです。
本日(2013/04/20)、将棋電王戦の第5局が行われることになっていますが、
もし、プロ側が敗れるとソフト側が3勝1敗1分けで勝利することになります。
ソフト側が負けたとしても人間の中で最も強い人たちの集団であるプロ棋士と引き分けたことになります。
このような強いソフトが理論的にはFor文とIf文のみで組めるのです。
また、現在のCGは実写と区別がつかないほどよくできていますが、
そういったCGもFor文とIf文のみでプログラムできるのです。

さて、第3講第10話で
Private Sub CommandButton1_Click()
  Dim w As Byte
  w = 0
  w = w + 1
  w = w + 2
  w = w + 3
  w = w + 4
  w = w + 5
  w = w + 6
  w = w + 7
  w = w + 8
  w = w + 9
  w = w + 10
  Cells(6, 1) = "1+2+3+4+5+6+7+8+9+10の計算結果は?"
  Cells(7, 1) = "その答えは"
  Cells(7, 2) = w
End Sub
という芸のないプログラミングをしました。
芸がないというのは、コンピュータの特徴を全く生かしていないからです。
コンピュータは、命じられたことを永遠と不平不満も言わず繰り返してくれます。
どんなに単純作業であろうと、
どんなに同じような作業を繰り返そうと、
黙々と作業を続けてくれるわけです。
まさに1+2+3+4+5+6+7+8+9+10の計算のような処理は、
コンピュータにぴったりの課題です。
このような処理をFor文で処理しようというのがこの講の話題です。

本講では、For文=ループ処理を同じこと(同様なこと)の繰り返しと名付けます。
For文は次のようになっています。
For i =1 To 3
    ・
    ・
    ・
Next
これは、iを1から3まで変えていきながら、
同じことを3回繰り返しなさいという命令です。
ループ処理ともいいますが、

この場合なら、3回回転(ループ)しますので、ループ(回転)処理ともいうわけです。

For文の基本構造は、
For 繰り返しを数える数(コントロールする数)を入れる箱 = はじめの数 To 終わりの数
    ・
    ・
    ・
Next

となっています。
本講義で、繰り返しを数える数(コントロールする数)を入れる箱 と呼ぶものは、専門用語で制御変数といいます。
例えば、
Private Sub CommandButton1_Click()
  Dim i As Byte
  For i = 1 To 3
    Cells(5 + i, 1) = i
  Next
End Sub
と組むと、
となります。
iが1,2,3と変わりながら、Cells(5 + i, 1) = i が3回繰り返されるからです。
iが1のとき、
    Cells(5 + 1, 1) = 1
  すなわち、
    Cells(6, 1) = 1
iが2のとき、
    Cells(5 + 2, 1) = 2
  すなわち、
    Cells(7, 2) = 2
iが3のとき、
    Cells(5 + 3, 1) = 3
  すなわち、
    Cells(8, 1) = 1
となるでしょう。

さて、皆さんFor文を用いて
Private Sub CommandButton1_Click()
  Dim w As Byte
  w = 0
  w = w + 1
  w = w + 2
  w = w + 3
  w = w + 4
  w = w + 5
  w = w + 6
  w = w + 7
  w = w + 8
  w = w + 9
  w = w + 10
  Cells(6, 1) = "1+2+3+4+5+6+7+8+9+10の計算結果は?"
  Cells(7, 1) = "その答えは"
  Cells(7, 2) = w
End Sub
を改良してください。
といいまして、結構難しい課題ですから、
ヒントとして
1行目だけ書いておきましょう。
  Dim w As Byte, i As Byte
そうです。
箱は、2つ用意するのです。
そして、2つ目の箱iが、繰り返しを数える(コントロール)数を入れる箱すなわち制御変数です。

専門用語を覚えよう!
繰り返しを数える(コントロール)数の専門用語は、
制御変数です。

第3講第10話へ 第2話へ

トップ

vc++講義へ

初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る