第10講 ファンクションプロシージャの再帰的使用

第1話 ファンクションプロシージャの再帰的使用による1からnまでの和

ファンクションプロシージャの再帰的呼び出しの有名な例は、
階乗の計算ですが、ここではまず
1+2+3+・・・+n
という計算をやらせてみましょう。
といっても初心者の皆さんには、敷居が高すぎる問題ですから、
解答例を見て頂いてから、
解説することにしましょう。
次の添付ファイルを開いてください。
参考ダウンロード添付ファイル
Alt+F11でVBAを開くと、
Private Sub CommandButton1_Click()
  
  Dim n As Integer
  n = Cells(4, 2)
  Cells(4, 5) = f(n)

End Sub

Function f(g As Integer)

  If g > 0 Then
    f = f(g - 1)
  Else
    f = 0
  End If
  f = f + g
  
End Function

Private Sub CommandButton2_Click()
  
  Range("E4,B4").Select
  Selection.ClearContents
  Cells(1, 1).Select
  
End Sub
となっています。

例えば、B4に100を入力して実行ボタンを押すと、

となります。確かに、正確に和が求められていることが分かります。
なぜ、これで
1+2+3+・・・+100
の和が求められるのでしょうか。



第9講第18話へ 第2話へ
004

eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ第2部へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ