第10講 プロシージャの再帰的使用
第7話 Subプロシージャの再帰的使用による自然配列の発生


入門
実現プログラムコード例

Private Sub CommandButton1_Click()
  f (0)
End Sub
Sub f(i As Byte)
  Dim a As Byte, s As Byte
  a = i Mod 10
  s = Int(i / 10)
  Cells(5 + s, 2 + a) = i + 1
  If i + 1 < 100 Then f (i + 1)
End Sub

解説
10個ずつで改行するには
  a = i Mod 10
  s = Int(i / 10)
という2つの変数を用意します。
第7講第3話では2次元For文で行いましたが、
2次元処理は1次元処理でできるのです。
この再帰的使用はiの1文字ですから、
1次元処理です。
1次元処理を2次元に翻訳するための装置が、
  a = i Mod 10
  s = Int(i / 10)
という訳です。
Subプロシージャfの引数を2つにすれば、
直接2次元で扱うこともできます。
これを次話の課題としましょう。
ただし、今回はグローバル変数を
設けることを認めることにします。



第6話へ 第8話へ



トップ

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

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