電子書籍の厳選無料作品が豊富!

身長と体重を10づつ入力してそれぞれの平均、分散、標準偏差、
身長と体重の共分散、相関係数を求めるプログラミングを
VisualBasicの分岐処理、繰り返し処理、配列の概念を利用して作りたいのですが
全然分かりません。教えてください。お願いします。

A 回答 (2件)

皆さん出きる問題だと思う。

しかし回答が少ない。
もう少し自分で勉強しなさいと言う風に私は感じる。
しかし初めは皆んな習い覚えるのだし、自分も充分わかってないのだし、やって見ようと思いました。
(1)VisualBasicを使うのですね。
(2)普通にやると、実行するとForm1が自動的に出来てしまうので、これを使わないようにしようと思い、VBE画面のプロジェクトのForm1を右クリックしてForm1の解放をクリックしました。
(3)普通は標準モジュールのSubの後はルーチン名はなんでも良いが、下記の場合はMainを要求してくるのでSub main()ではじめる。
(4)昔のBASICではINPUTだったが、VBなのでINPUTBOX関数で、入力値を取った。
昔はPRINT文だったが、表示にはMSGBOX関数を
使った。
-------
Sub main()
Dim i ,n As Integer
Dim d(10) As Double
Dim s, av As Double
s = 0
For i = 1 To 10
x = InputBox(i & "番目の身長 = ")
d(i) = x
s = s + x
Next i
n = i - 1
MsgBox n & "件入力"
av = s / n
MsgBox "平均=" & av
'-----
s = 0
For i = 1 To 10
s = s + (d(i) - av) ^ 2
Next i
MsgBox "偏差平方和=" & s
std = (s / n) ^ (1 / 2)
MsgBox "標準偏差=" & std
End Sub
エクセルでは,下記で求められます。検算に使ってください。
(1)平均Average(A1:A10)
(2)偏差平方和DEVSQ(A1:A10)
(3)標準偏差STDEVP(A1:A10)に当たります。
もう1種の標準偏差STDEVがありますので注意。
----
For-Nextを使わないなら(平均の部分まで)
Sub main()
Dim i, s, av As Double
s = 0
i = 0
p01:
If i = 10 Then GoTo p02
x = InputBox(i + 1 & "番目の身長 = ")
s = s + x
i = i + 1
GoTo p01
p02:
MsgBox i & "件入力"
av = s / i
MsgBox "平均=" & av
End Sub
です。
    • good
    • 0

まず、それぞれの計算式は わかってるものとします。


計算式が、わからなければ、問題外ですから。

テキストボックスを 10個、設置します。
平均を出すには それぞれのテキストボックスのテキストを合計して
10で割ります。
このようにして、他も算出してください。

この回答への補足

フォームはすでに出来ています。
身長はtext1をコピーして
text1(0) text1(1) text1(2) text1(3) text1(4) text1(5) text1(6) text(7)text(8) text(9)というように配列を使っています。
体重もtext2で同じようになっています。
command1をクリックすると、
身長の平均をtext3、    体重の平均をtext4、
   分散をtext5、       分散をtext6、
   標準偏差をtext7      標準偏差をtext8、
   共分散をtext9 相関係数をtext10
に表示できる    
具体的なプログラムを教えてください。
Private sub command1_click



End sub
の空欄に入力する内容を教えてください。

補足日時:2003/01/09 22:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!