第10講 プロシージャの再帰的使用
第5話 Functionプロシージャの再帰的使用による1から10までの和(正順版)


数独
をFunctionプロシージャで実現する正順版プログラム例
Private Sub CommandButton1_Click()
  Cells(5, 1) = "1から10までの和は"
  Cells(6, 3) = f(0)
  Cells(7, 1) = "です。"
End Sub
Function f(i As Byte)
  If i < 11 Then
    f = f(i + 1) + i
  Else
    f = 0
  End If
End Function

解説
今回も1番内側の人形までいって、
自分の内奥の本質が0であることを発見するのは同じです。
ですが、計算過程は次のようになります。
    f = 0
    f = 0 + 10
    f = 10 + 9
    f = 19 + 8
    f = 27 + 7
    f = 34 + 6
    f = 40 + 5
    f = 45 + 4
    f = 49 + 3
    f = 52 + 2
    f = 54 + 1
    f = 55
正順と書きましたが、
計算は逆順です。
Private Sub CommandButton1_Click()
  Cells(5, 1) = "1から10までの和は"
  Cells(6, 3) = f(10)
  Cells(7, 1) = "です。"
End Sub
Function f(i As Byte)
  If i > 0 Then
    f = f(i - 1) + i
  Else
    f = 0
  End If
End Function
の方が計算過程は正順なのです。

さて、このコードをいじってn!=1×2×3×・・・×n
を求めるプログラムを完成させてください。
nの値はシート側から入れることにします。
魔方陣
これは階乗計算プログラムです。


第4話へ 第6話へ



トップ

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

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