第9講 社員が自分に命令することを繰り返す(プロシージャの再帰的使用)
第1話 社員が自分に命令???

社員は、今まで別の社員に命令してきました。
ですが、実は社員は自分にも命令できるのです。
例えば、次のようなマクロを組んでださい。
シート
vb
プログラムの文章
Dim cn As Integer
Private Sub CommandButton1_Click()
  cn = 0
  Call f
End Sub
Private Sub CommandButton2_Click()
  Rows("6:200").Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
Sub f()
  Cells(6 + cn, 1) = "自分に命令"
  cn = cn + 1
  
If cn > 10 Then Exit Sub
  Call f
End Sub
実行結果
入門

自分が自分に命令できることがわかります。
この場合、
プログラムを止める条件文を入れておかないと
無限ループになってしまいますので、
Dim cn As Integer
  If cn > 10 Then Exit Sub
の2文が入れてあるわけです。

同じことの繰り返し(For文)は、
基本的に社員が自分に命令するプログラム
(プロシージャの再帰的使用という)
でできます。
例えば、
1+2+3+4+5+6+7+8+9+10
を社員が自分に命令するプログラムの実現を考えてみましょう。
1から10までの和は、
Subプロシージャによっても
Functionプロシージャによってもできます。
Functionプロシージャのよる方が簡単だと思われますので、
最初は、
Functionプロシージャの再帰的使用によって行ってみます。
今回は、問題にするの難しすぎるので問題という形にはしませんが、
不屈の精神をお持ちの方は考えてみましょう。



第8講第7話へ 第2話へ

トップ

vc++講義へ

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