情報:IT
高校生
解決済み

分からないので教えてください🙇‍♀️

間1:図のような,ワークシート上のB列 に入力された点数を読み込んで,平均 とサブプロシージャstap(参照:問2の図) で平均と分散を求めるメインプログラ ム統計処理を作成した。図の①と2の 組み合わせで正しいものはどれか。 ※Sqrは平方根Vを計算する関数。 Sub 統計処理) A B C D E 学精番号 点数 平均 Const n As Integer = 10 Dim i As Integer Dim data(n) As Integer Dim ave As Double, dist As Double 分散 標準偏差 2 1 65 3 2 78 4 3 96 5 4 55 For i=1 To 10 6 5 48 7 85 data(i) - 1 点数データを読み込んで配列dataに保存 8 7 40 9 8 77 Next 10 9 99 「ザブプロシージャの呼び出し 11 10 63 Call statp( 2) データ数n, dataをsubプロシージャstapに渡し、 平均ave, 分散distを求める。 Range("e1").Value = ave Range("e2").Value = dist Range("e3").Value = Sqr(dist) End Sub 0 Cells(i + 1, 2).Value 2 n, data, ave, dist 0 Cells(i, 2).Value ② n, data, ave, dist O Cells(2, i). Value 2 n, data O Range(i + 1, B).Value 2 ave, dist
問2:図のように,メインプログラム統 計処理(参照:問1の図)に対するサブ ロシージャstatpを作成した。statpでは 計算した平均値直を引数として,Function プロシージャfncdに(参照:問3の図) で分散を求める.図の3~5の組み合 わせで正しいものはどれか Sub statp(n As Integer,3)メインプログラム統計処理から 引数を受け取る Dim i As Integer Dim sum As lInteger sum = 0 For i=1 To n 4 データの合計式 Next ave = 5 平均値の計算 dist = fncd(n, ave, data) データ数n,平均値ave,データdataを引数として、 分散をFunctionプロシージャfncdで計算。 End Sub 3 data() As Integer, ave As Double, dist As Double 4 sum = sum + data(i) 5) sum / n 3 data(), ave, dist 4) sum = sum + data(i) sum/n 3 data() As Integer, ave As Double, dist As Double 4 sum = data(i) (5) sum / n 3 data() As Integer, ave As Double, ○ dist As Double 4 sum = sum + data(i) 5) sum
問3:図のように,サブロシージャ statp(参照:問2の図)に対するFunction プロシージャfncdを作成した。図の6と のの組み合わせで正しいものはどれ か、 Function fncd(n As Integer, ave As Double, data() As Integer) 6 Dim i As Integer Dim dsum As Double dsum = 0 For i=1 To n dsum = 7 分散を計算 分散?の式 Next g2 = ニー fncd = dsum /n n End Function n:データ数,x:データ,μ:平均値 6 As Integer D (data(i) - ave)^2 6 As Double O dsum + (data(i) - ave) *2 6 As Long の dsum + (data(i) - ave) ^ 2 6 As Single の dsum^2 + (data(i) - ave) ^2

回答

✨ ベストアンサー ✨

まず、この問題は、MicrosoftOfficeのExcelVBAを扱う問題です。
本当は、答えだけでいいかなと思ったのですが、答えを出すために全部1~3まで通してプログラミングを組んでみました。

一応簡単に解説しますと、
問1は、1つ目と4つ目で迷いましたが、nを渡すとあるので、1つ目が正解です。
問2は3つ目ではなく、4つ目でもないことから消去法で、1つ目が正解です。
問3は平均値が浮動小数点型になるはずなので、LongでなくDouble、またdsum = dsum + xxxという表記でないと和を取れないので、
2つ目が正解です。

結果、プログラムは正常に動作して、平均値、分散値、標準偏差値をそれぞれ求められました。
もし、実際にコードで打ってみたいようでしたら、Excelを開いて、項目名とデータだけ入れて、
Alt+F11を押して、コードを打ってみて下さい。
打ち終わったら、F5で実行できます。コードの画像を貼っておきます。

この回答にコメントする
疑問は解決しましたか?

この質問を見ている人は
こちらの質問も見ています😉