2019年度 機械システム工学科 計算機基礎実習I目次
0.前回の課題の確認前回のレポート情報は,こちらです. 1.プロシージャある作業をするプログラムを,別々の場所から呼び出して 使いまわす方法です. 呼び出し元から,引数としてプロシージャへ情報を受け渡します. 呼び出し元へ,結果を返したい場合はFunctionを用います. ※今まで出てきた命令や関数は,SubやFunctionと同等です. 例えば,MsgBox や,InputBox,Rnd 関数など. つまり,命令(コマンド)が作成できると考えても良いです. 例題9
ここまでできた 変数などの適用範囲Dim や Const の宣言は,プログラム全体に対して有効ではありません. 例題を実行して,宣言の範囲を確認しましょう. 例題9
ここまでできた 引数コマンドを実行する際にも,引数を用いていました.例えば,
MsgBox prompt, buttons, title, helpfile, context
InputBox (prompt, title, default, xpos, ypos, helpfile, context)
省略可能な引数 という設定も可能です. 通常は,プロシージャの中で引数に使われている変数の値を変更すると 元の変数も変更されます. これをうまく利用すれば,複雑な戻り値を返すことが可能です. Function では,一つの値しか返さないが, この方法では,複数の値を返すことができます. ただし使い方を周知させないと,わかりにくいプロシージャとなります (勝手に変数の値を書き換えることに注意). 呼び出し元の変数の値を書き換えたくない場合は,ByVal を指定 します.ただし,ByRef と混同すると紛らわしいので, そういう場合は,プロシージャの始めに,一時的な変数にコピーし, その変数をプロシージャの中で利用するのがよいです.
Sub ScanLine(X as integer, Y as integer)
Dim Tmp_X as integer, Tmp_Y as integer Tmp_X = X: Tmp_Y = Y ... 作業中に変数の値を変更するときは, Tmp_X = hogehoge Tmp_Y = hogehoge ... End Sub 例題10
ここまでできた 今回の課題
[提出方法]
|