"成績判定"
"出力例"
成績を判定するプログラムを作成しろ
データは、乱数を使って出力する
データは、乱数を使って出力する
"サンプルマクロ01"
"ヒント・解説01"
Public Sub Judgegrade01() Dim i As Integer Const n As Byte = 30 Randomize For i = 1 To n Range("C" & i).Value = i Range("D" & i).Value = Fix((Rnd * 100) + 1) Select Case Range("D" & i).Value Case 90 To 100 Range("E" & i).Value = "AA" Case 80 To 89 Range("E" & i).Value = "A" Case 70 To 79 Range("E" & i).Value = "B" Case 60 To 69 Range("E" & i).Value = "C" Case 0 To 59 Range("E" & i).Value = "F" Case Else Range("E" & i).Value = "I" End Select Next i End Sub
1.Randomize関数を使って乱数を初期化する。
2.Fix()関数で小数部分を切り捨てる
3.Rnd()関数で乱数を発生させる。
Fix((最大-最小+1)*Rnd+最小) 最小-最大の乱数発生
4.Select Case文で条件判定を行う(Ifでも可)
2.Fix()関数で小数部分を切り捨てる
3.Rnd()関数で乱数を発生させる。
Fix((最大-最小+1)*Rnd+最小) 最小-最大の乱数発生
4.Select Case文で条件判定を行う(Ifでも可)
"サンプルマクロ02"
"ヒント・解説02"
Public Function JGrade(score As Integer) As String Select Case score Case 90 To 100 JGrade = "AA" Case 80 To 89 JGrade = "A" Case 70 To 79 JGrade = "B" Case 60 To 69 JGrade = "C" Case 0 To 59 JGrade = "F" Case Else JGrade = "I" End Select End Function Public Sub Judgegrade02() Dim i As Integer Const n As Byte = 30 Randomize For i = 1 To n Range("C" & i).Value = i Range("D" & i).Value = Fix((Rnd * 100) + 1) Range("E" & i).Value = JGrade(Range("D" & i).Value) Next i End Sub
1.戻り値がString型の関数をつくる。引数はInteger型。
2.Rnd()関数を使って1-100までの範囲の乱数を作成して表示する。
3. 作成したFunction()を使って判定する。
2.Rnd()関数を使って1-100までの範囲の乱数を作成して表示する。
3. 作成したFunction()を使って判定する。