第5講 プロシージャ(1)
第4話 引数について
前話で
Module Module1

  Sub Main() '私は社長だ。
    Call f(0) 'f()君、仕事をしなさい!
  End Sub

  Sub f(k
As Integer) '私は社員です。
    Console.WriteLine ("こんにちは!")
    Call g(k) 'g()君、仕事お願い!
  End Sub

  Sub g(k
As Integer) '私は社員です。
    Console.WriteLine ("今日は良い天気ですね。")
    k += 1
    If k < 5 Then Call f(k) 'f()君、仕事お願い!
  End Sub

End Module
導入したf(0) g(k) f(k) の括弧の中の数字を引数といいます。
引数は『いんすう』と読んでしまう人が多いと思いますが、『ひきすう』と読みます。
今回の導入した引数は整数ですので、
ピンクで修飾してあります。
引数のタイプが整数型であることを示しています。

もっとわかりやすい例にするために、
コードを次のように変更して下さい。
Module Module1

  Sub Main() '私は社長だ。
    Call f(
10) 'f()君、仕事をしなさい!
  End Sub
  Sub f(k As Integer) '私は社員です。
    Dim i, w As Integer 'iはFor文の制御変数 wは和を積算する整数
    w = 0 '0に初期化
    For i = 1 To k
      w += i
    Next
    Console.WriteLine("1から{0:d}までの和={1:d}", k, w)
  End Sub

End Module

社員f()の仕事は、1から引数までの和を求める仕事です。
今回は10ですから、1から
10までの和を算出する仕事を求められたわけです。
引数は複数指定できます。
例えば、コードを次のように変更すると、
Module Module1

  Sub Main() '私は社長だ。
    Call f(
3, 10) 'f()君、仕事をしなさい!
  End Sub
  Sub f(
s As Integer, m As Integer) 's:初項 m:末項
    Dim i, w As Integer 'iはFor文の制御変数 wは和を積算する整数
    w = 0 '0に初期化
    For i = s To m
      w += i
    Next
    Console.WriteLine("{0:d}から{1:d}までの和={2:d}", s, m, w)
  End Sub

End Module
3から10までの和=52

となります。第1話で仕事の内容を伝えることがあると書きました。
今回はf(3,10)の3と10によって初項と末項を与えられて、
3から10の和を求めました。
仕事の内容が引数によって規定されたのです。

では皆さん、引数を利用して、
@引数(は1つ)を2倍にして表示するプログラム
A引数を初項・交差・末項にして等差数列の和を計算。ただし、初項3・交差2・末項11とする。
B引数を初項・交差・末項にして等差数列の和を計算。ただし、引数の各値はMain()においてキーボード上から取得。
C引数をa,b,cとしてa*b+cを表示させるプログラム。ただし、a,b,cはMain()おいてキーボードから取得。



第3話へ   第5話へ
 
002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ