したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

■■■20レス以内で済むF-BASICの質問はこちらへ■■■

388名無しさん:2006/04/23(日) 04:40:30
>>387の続きです

10 declare functionn F1(A)
110 A=10
120 print F1(A)
130 stop
140 end
200 function F1(P)
210 A=A+2
220 F1=A*P
230 end function

>function F1(P)があるのですが、このPの変数がどうなっているのか、プログラム自体が全然分かりません。
まず確認から。110行から140行の変数Aと200行から230行の変数Aは別です
110行から140行の変数AはメインルーチンのA。例えば MAIN_A という変数で
210行から230行の変数AはF1関数のA。例えば F1_A という変数で、同じAという変数名でも違うものです
変数の有効範囲もしくはスコープなどで調べると分かるかも知れません
例えば。PROG1.BASで使われている変数AとPROG2.BASで使われている変数Aは名前は同じでもそれぞれ別の数値を管理します
これと同様に1つのプログラム内でも110行から140行で使うAと200行から230行で使うAと別々に扱われます
全体(110行から140行)で使うAと関数内(200行から230行)で使うAという感じで別々で管理されます

話を戻して…

>このPの変数がどうなっているのか、

120 (略)F1(A)
200 function F1(P)



120 XXX=A : GOSUB *F1
200 *F1 : P=XXX

と思って下さい

120 F1(変数1)
200 function F1(変数2) ' ← 内部で変数2=変数1を行っています

上記の説明で分からない点あればどこが分からないか教えて頂ければ再度ご返答します
質問内容から悩んでいる点が3カ所程度考えられますので。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板