第5講 プロシージャ(1)
第5話 引数を利用した様々なプロシージャ
@引数(は1つ)を2倍にして表示するプログラム
解答例
Module Module1

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

  Sub f(a As Integer) '引数の2倍を求める社員
    Console.WriteLine("{0:d}の2倍は{1:d}", a, 2 * a)
  End Sub

End Module
実行結果
10の2倍は20
A引数を初項・交差・末項にして等差数列の和を計算。ただし、初項3・交差2・末項11とする。
解答例
Module Module1

  Sub Main() '私は社長だ。
    Call f(3, 2, 11) 'f()君、初項が3、交差が2、末項が11の等差数列の和を求めなさい。
  End Sub

  Sub f(s As Integer, k As Integer, m As Integer) 's:初項 k:交差 m:末項
    Dim i, w As Integer 'iはFor文の制御変数 wは和を積算する整数
    w = 0 '0に初期化
    For i = s To m Step k
      w += i
    Next
    Console.WriteLine("初項{0:d},交差{1:d},末項{2:d}の等差数列の和={3:d}", s, k, m, w)
  End Sub

End Module
実行結果
初項3,交差2,末項11の等差数列の和=35
B引数を初項・交差・末項にして等差数列の和を計算。ただし、引数の各値はMain()においてキーボード上から取得。
Module Module1

  Sub Main() '私は社長だ。
    Dim s, k, m As Integer 's:初項 k:交差 m:末項
    Console.WriteLine ("キーボードから初項,交差,末項の順に入力して下さい。")
    Console.Write ("初項=")
    s = Console.ReadLine()
    Console.Write ("交差=")
    k = Console.ReadLine()
    Console.Write ("末項=")
    m = Console.ReadLine()
    Call f(s, k, m) 'f()君、初項がs、交差がk、末項がmの等差数列の和を求めなさい。
  End Sub

  Sub f(s As Integer, k As Integer, m As Integer) 's:初項 k:交差 m:末項
    Dim i, w As Integer 'iはFor文の制御変数 wは和を積算する整数
    w = 0 '0に初期化
    For i = s To m Step k
      w += i
    Next
    Console.WriteLine("初項{0:d},交差{1:d},末項{2:d}の等差数列の和={3:d}", s, k, m, w)
  End Sub

End Module

実行結果
キーボーから初項、交差、末項を順に入力して下さい。
初項=5
交差=2
末項=199
初項5,交差2,末項199の等差数列の和=9996


C引数をa,b,cとしてa*b+cを表示させるプログラム。ただし、a,b,cはMain()おいてキーボードから取得。

解答例
Module Module1

  Sub Main() '私は社長だ。
    Dim a, b, c As Integer 'a,b,cは整数
    Console.WriteLine ("キーボーからa,b,cを順に入力して下さい。")
    Console.Write ("a=")
    a = Console.ReadLine()
    Console.Write ("b=")
    b = Console.ReadLine()
    Console.Write ("c=")
    c = Console.ReadLine()
    Call f(a, b, c) 'f()君、計算して!
  End Sub

  Sub f(a As Integer, b As Integer, c As Integer) 'a,b,cは整数
    Console.WriteLine("a*b+c={0:d}", a * b + c)
  End Sub

End Module
実行画面
キーボーからa,b,cを順に入力して下さい。
a=59
b=67
c=109
a * b + c = 4062


さて、なぜ単なる部品にすぎないものを関数(FunctionプロシージャのFunctionは関数です)というのでしょうか。
その答えは、第6話以降の戻り値を学ぶとわかります。



第4話へ   第6話へ
 
002

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

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