サブルーチン
をテンプレートにして作成
[
ホーム
|
一覧
|
検索
|
最終更新
|
ヘルプ
] [
新規
]
VWRR
・
WIKIBOX
建築mome
・
メーカー
最新の40件
2018-07-17
VectorScript
2013-05-25
例題の解説
2011-12-09
ΔxΔy
GetLine
Distance
Num2Str
2011-12-08
寸法変倍
MenuBar
日付スタンプ
Date
面積スタンプ
2011-12-07
HArea
Num2StrF
TextOrigin
GetPt
FSActLayer
FActLayer
Concat
BeginText
EndText
図面の中を検索
ReDraw
MoveObjs
GetKeyDown
ClrMessage
Message
Y方向複製
2011-12-06
キー入力
ダイアログ
2011-12-04
図形の整列
2011-11-26
属性を設定する
Locus
変数
Oval
識別子
定数
基本型
言語仕様
制御命令
IF
total:
0
today:
0
yesterday:
0
now:
1
開始行:
**サブルーチンの効果 [#q5775875]
サブルーチンを使う事で断片的なプログラムを書くことができ...
効果
>
-同じような処理をサブルーチンにすることで、プログラムが短...
-プログラムをブロックごとに見通すことでバグの発見に役立つ
-汎用化されたサブルーチンは、他のプログラムで再利用できる。
サブルーチンの種類
手続き型 と 関数型 の2種類がある。
手続き型 返り値がない
関数型 返り値がある
>何か値を返す処理には、関数型を使う。
**手続き型サブルーチン [#i9067dd2]
手続き型サブルーチン(Procedure)は以下のように書きます。
PROCEDURE サブルーチン名(パラメータ変数:変数の型;パラメ...
...)
VAR
変数宣言;
BEGIN
文;
END;
>例 指定した回数の警告音を鳴らすサブルーチン
PROCEDURE DoBeep(count:INTEGER);
VAR
i:INTEGER;
BEGIN
FOR i:=1 TO count DO
Sysbeep;
END;
***[サブルーチンの呼び出し方] [#o6c7f997]
メインプログラムの中でこのサブルーチンを呼び出す時は、
サブルーチン名とパラメータを書きます。
''サブルーチン名(パラメータ);''
>例
DoBeep(3);
サブルーチンの名前が間違っていたり、パラメータの数や変数...
悪い例
DuBeep(3); サブルーチンの名前が違う
DoBeep(2,4); パラメータの数が多い
DoBeep('Hellp'); 変数の型が違う
***[ローカル変数とパラメータのないサブルーチン] [#b8232...
サブプログラム内の変数を使わないときは、変数宣言を省略で...
また、パラメータが無い場合も省略できます。
例 変数とパラメータを使わないサブルーチン
>PROCEDURE DoBeep;
BEGIN
SysBeep;
END;
***[複数のパラメータを持つサブルーチン] [#l58dd57c]
パラメータの数が複数ある場合は、セミコロン(;)で区切った...
>PROCEDURE Compare(value1:REAL;value2:REAL);
BEGIN
IF value1=value2 THEN
SysBeep
END;
変数の型が同じ場合に限り、カンマ(,)で区切ってひとくくりに...
>PROCEDURE Compare(value1,value2:REAL);
BEGIN
IF value1=value2 THEN
SysBeep
END;
***[値を返すパラメータ] [#q62999be]
パラメータで渡した変数の値をサブルーチン内で変更し、戻さ...
パラメータの前に 「VAR」を書きます。
>(サブルーチン1)
PROCEDURE Sub(value:REAL);
BEGIN
value:=100;
END;
>(サブルーチン2)
PROCEDURE Sub(&color(Red){VAR}; value:REAL);
BEGIN
value:=100;
END;
このサブルーチン1と2の違いは、パラメータ「value」をVAR宣...
実際にメインプログラムでサブルーチンを呼び出すと、以下の...
>(サブルーチン1の場合)
BEGIN
x:=0;
Sub(x);
END;
このプログラムを実行すると、xの値は0のままです。
VAR宣言していないので、サブルーチン内でパラメータ変数を変...
>(サブルーチン2の場合)
BEGIN
x:=0;
Sub(x);
END;
このプログラムを実行すると、xの値は100に変わります。
VAR宣言しているので、呼び出し側(メインプログラム)の変数が...
**関数型サブルーチン [#vb5656ae]
関数(Function)型サブルーチンは、返り値があるだけで他は手...
サブルーチンは以下のように書きます。
>FUNCTION サブルーチン名(パラメータ変数:変数の型):返り値...
VAR
変数宣言;
BEGIN
文;
END;
例 関数型サブルーチンの例
>FUNCTION Compare(value1,value2:REAL):BOOLEAN; &color(Gr...
BEGIN
IF value1<value2 THEN
Compare:=TRUE
ELSE
Compare:=FALSE
END;
返り値を変更するときは、サブルーチンの名前を変数のように...
例の場合は、Compareというサブルーチン名なので、Compareに...
[サブルーチンの呼び出し方]
メインプログラムの中でサブルーチンを呼び出すには、以下の...
result:=Compare(10,20);
**グローバル変数とローカル変数 [#xcb0266e]
メインプログラムで宣言した変数をグローバル変数と言います。
グローバル変数はメインプログラムの中で使用できるほか、
サブルーチンの中でも使用できます。
一方、サブルーチンの中で宣言した変数をローカル変数と言い...
ローカル変数はサブルーチンの中だけで使う事ができます。
メインプログラムの中でローカル変数を使うとエラーになりま...
[例題プログラム]
>PROCEDURE TEST;
VAR
a,b:REAL; &color(Green){{グローバル変数}};
FUNCTION Sub:REAL;
VAR
x,y:REAL; &color(Green){{ローカル変数}};
BEGIN
x:=a*4; &color(Green){{グローバル変数はプログラム...
y:=a/10; &color(Green){{サブルーチンの中でも使用で...
Sub:=x*(y+20);
END;
BEGIN
a:=50; &color(Green){{グローバル変数に整数を代入}};
b:=20; &color(Green){{エラー!ローカル変数はサブル...
b:=Sub;
END;
Run(TEST);
**まとめ [#k48e0792]
言語仕様はなかなか覚えられない。
一通りルールを覚えたら、実際にプログラムを組み立てて、エ...
終了行:
**サブルーチンの効果 [#q5775875]
サブルーチンを使う事で断片的なプログラムを書くことができ...
効果
>
-同じような処理をサブルーチンにすることで、プログラムが短...
-プログラムをブロックごとに見通すことでバグの発見に役立つ
-汎用化されたサブルーチンは、他のプログラムで再利用できる。
サブルーチンの種類
手続き型 と 関数型 の2種類がある。
手続き型 返り値がない
関数型 返り値がある
>何か値を返す処理には、関数型を使う。
**手続き型サブルーチン [#i9067dd2]
手続き型サブルーチン(Procedure)は以下のように書きます。
PROCEDURE サブルーチン名(パラメータ変数:変数の型;パラメ...
...)
VAR
変数宣言;
BEGIN
文;
END;
>例 指定した回数の警告音を鳴らすサブルーチン
PROCEDURE DoBeep(count:INTEGER);
VAR
i:INTEGER;
BEGIN
FOR i:=1 TO count DO
Sysbeep;
END;
***[サブルーチンの呼び出し方] [#o6c7f997]
メインプログラムの中でこのサブルーチンを呼び出す時は、
サブルーチン名とパラメータを書きます。
''サブルーチン名(パラメータ);''
>例
DoBeep(3);
サブルーチンの名前が間違っていたり、パラメータの数や変数...
悪い例
DuBeep(3); サブルーチンの名前が違う
DoBeep(2,4); パラメータの数が多い
DoBeep('Hellp'); 変数の型が違う
***[ローカル変数とパラメータのないサブルーチン] [#b8232...
サブプログラム内の変数を使わないときは、変数宣言を省略で...
また、パラメータが無い場合も省略できます。
例 変数とパラメータを使わないサブルーチン
>PROCEDURE DoBeep;
BEGIN
SysBeep;
END;
***[複数のパラメータを持つサブルーチン] [#l58dd57c]
パラメータの数が複数ある場合は、セミコロン(;)で区切った...
>PROCEDURE Compare(value1:REAL;value2:REAL);
BEGIN
IF value1=value2 THEN
SysBeep
END;
変数の型が同じ場合に限り、カンマ(,)で区切ってひとくくりに...
>PROCEDURE Compare(value1,value2:REAL);
BEGIN
IF value1=value2 THEN
SysBeep
END;
***[値を返すパラメータ] [#q62999be]
パラメータで渡した変数の値をサブルーチン内で変更し、戻さ...
パラメータの前に 「VAR」を書きます。
>(サブルーチン1)
PROCEDURE Sub(value:REAL);
BEGIN
value:=100;
END;
>(サブルーチン2)
PROCEDURE Sub(&color(Red){VAR}; value:REAL);
BEGIN
value:=100;
END;
このサブルーチン1と2の違いは、パラメータ「value」をVAR宣...
実際にメインプログラムでサブルーチンを呼び出すと、以下の...
>(サブルーチン1の場合)
BEGIN
x:=0;
Sub(x);
END;
このプログラムを実行すると、xの値は0のままです。
VAR宣言していないので、サブルーチン内でパラメータ変数を変...
>(サブルーチン2の場合)
BEGIN
x:=0;
Sub(x);
END;
このプログラムを実行すると、xの値は100に変わります。
VAR宣言しているので、呼び出し側(メインプログラム)の変数が...
**関数型サブルーチン [#vb5656ae]
関数(Function)型サブルーチンは、返り値があるだけで他は手...
サブルーチンは以下のように書きます。
>FUNCTION サブルーチン名(パラメータ変数:変数の型):返り値...
VAR
変数宣言;
BEGIN
文;
END;
例 関数型サブルーチンの例
>FUNCTION Compare(value1,value2:REAL):BOOLEAN; &color(Gr...
BEGIN
IF value1<value2 THEN
Compare:=TRUE
ELSE
Compare:=FALSE
END;
返り値を変更するときは、サブルーチンの名前を変数のように...
例の場合は、Compareというサブルーチン名なので、Compareに...
[サブルーチンの呼び出し方]
メインプログラムの中でサブルーチンを呼び出すには、以下の...
result:=Compare(10,20);
**グローバル変数とローカル変数 [#xcb0266e]
メインプログラムで宣言した変数をグローバル変数と言います。
グローバル変数はメインプログラムの中で使用できるほか、
サブルーチンの中でも使用できます。
一方、サブルーチンの中で宣言した変数をローカル変数と言い...
ローカル変数はサブルーチンの中だけで使う事ができます。
メインプログラムの中でローカル変数を使うとエラーになりま...
[例題プログラム]
>PROCEDURE TEST;
VAR
a,b:REAL; &color(Green){{グローバル変数}};
FUNCTION Sub:REAL;
VAR
x,y:REAL; &color(Green){{ローカル変数}};
BEGIN
x:=a*4; &color(Green){{グローバル変数はプログラム...
y:=a/10; &color(Green){{サブルーチンの中でも使用で...
Sub:=x*(y+20);
END;
BEGIN
a:=50; &color(Green){{グローバル変数に整数を代入}};
b:=20; &color(Green){{エラー!ローカル変数はサブル...
b:=Sub;
END;
Run(TEST);
**まとめ [#k48e0792]
言語仕様はなかなか覚えられない。
一通りルールを覚えたら、実際にプログラムを組み立てて、エ...
ページ名: