第5講 For文(繰り返し処理)を理解しよう

第2話 For文とは?


プログラミングの学習において、
最も大事な考え方は、
この第5講で学ぶ『For文(繰り返し処理)を理解しよう』と
第6講で学ぶ『If文を理解しよう』です。
どうしてかと申しますと、
For文とIf文があれば、どんなプログラミングでも組めることが証明されているからです。
つまり、基本的には第5講と第6講さえ学べば、
チェスの世界チャンピオンを破るプログラムの開発が可能なのです。
今年(2013年)の将棋電王戦は
プロ側が敗れ、ソフト側が3勝1敗1分けで勝利しました。
このような強いソフトが理論的にはFor文とIf文のみで組めるのです。

さて、第4講第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文は次のようになっています。
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が、
繰り返しを数える変数すなわち制御変数です。



1話へ 第3話へ


トップ

初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門

数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ