第8講 プロシージャ(2)
第3話 1次元配列を送る
@ 実行画面が
  1 2 3 4 5 6 7 8 9 10
  (ただし、
      Rnd(-1)
      Randomize(Timer())
  がはいっているのでデータの内容は毎回異なります。)

  となるプログラムを考えて下さい。
  プロシージャ(1)では、変数や配列を渡す方法がなかったので、
  データ作成とデータ表示を分業することが出来ませんでしたが、
  実質渡せるようになって、分業をさせることができます。
  Main()のおいて1次元配列を作り、それの先頭アドレスをf()とg()に渡して、
  プロシージャf()はデータを作成して、プロシージャg()はそのデータを表示する、
  という分業をして下さい。
という条件を実現するプログラム例
Module Module1

  Sub Main() '私は社長だ。
    Rnd (-1)
    Randomize (Timer())
    Dim a(9) As Integer '配列の宣言
    f (a) 'データ作成
    g (a) 'データ表示
  End Sub

  Sub f(x() As Integer)
    Dim i As Integer
    For i = 0 To 9
      x(i) = i + 1
    Next
  End Sub

  Sub g(x() As Integer)
    Dim i As Integer
    For i = 0 To 9
      Console.Write("{0:d} ", x(i))
    Next
    Console.WriteLine()
  End Sub

End Module

A 実行画面が
   059
  (ただし、
      Rnd(-1)
      Randomize(Timer())
  がはいっているのでデータの内容は毎回異なります。)

  となるプログラムを考えて下さい。
  @と同じくMain()が1次元配列を作り、
  データ作成はf()が、データ表示はg()が担当するという分業のもとに行って下さい。
という条件を実現するプログラム例
Module Module1

  Sub Main() '私は社長だ。
    Rnd (-1)
    Randomize (Timer())
    Dim a(9) As Integer '配列の宣言
    f (a) 'データ作成
    g (a) 'データ表示
  End Sub

  Sub f(x() As Integer)
    Dim i As Integer
    For i = 0 To 9
      x(i) = Int(10 * Rnd())
    Next
  End Sub

  Sub g(x() As Integer)
    Dim i As Integer
    For i = 0 To 9
      Console.WriteLine("x({0:d})={1:d}", i, x(i))
    Next
  End Sub

End Module




次話の課題です。
@ Main()のおいて2次元配列を作る。
A Main()がプロシージャf()にその2次元配列のアドレスを送り、
  プロシージャf()において一桁整数のランダムデータを作る。
B Main()がプロシージャg()にその2次元配列のアドレスを送り、
  プロシージャg()において一桁整数のランダムデータを表示する。
という条件下で実行画面が
1 7 4 0 9 4 8
8 2 4 5 5 1 7
1 1 5 2 7 6 1
4 2 3 2 2 1 6
8 5 7 6 1 8 9
2 7 9 5 4 3 1

(例によって、シード値を時刻から取得しているために、
データは毎回異なります。)

となるプログラムを作って下さい。
2次配列を受け取る側の引数は
   Sub f(x(
,) As Integer)
などとします。


第2話へ   第4話へ

002

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

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