subプロシージャ
2次方程式a*x^2+bx+c=0えお解くプログラムを考える。メインプロシージャmain1がsubプロシージャread1,solve1,display1を1回ずつ呼び出す。プロシージャread1で変数a,b,cにinputboxで整数値を入力する。プロシージャsolve1では、まず判別式D=b^2-4*a*cを計算して、D>0の場合にはx1、x2に実数解x1=(-b+sqr(D)/(2*a)、x2=(-b-sqr(d)/(2*a)を求める。D<0の場合はx1に実部-b/(2*a)を、x2に虚部sqr(-D)/(2*a)を求める。プロシージャdisplay1は入力された3つの整数値とsolve1で得られた2つの変数x1.x2の値を判別式Dの符号に応じてMsgbox関数で表示する。
以上のプログラムをモジュールレベル変数を用いてつくりなさい。
Sub read1() '問10(1)
Dim a As Integer, b As Integer, c As Integer
a = InputBox(" aの値を入力して")
b = InputBox(" bの値を入力して")
Sub solve1()
D = b ^ 2 - 4 * a * c
If D > 0 Then
x1 = (-b + Sqr(D)) / (2 * a)
x2 = (-b - Sqr(D)) / (2 * a)
Else
x1 = -b / (2 * a)
x2 = Sqr(-D) / (2 * a)
Sub display1()
End Sub
ここまでやったのですがこの先どうやるかわかりません。
おしえてください。
あとモジュールレベル変数ってなんですか?
お礼
ありがとうございます。 本当に初心者で、やっぱり難しいです。。。