あくまで解答は例です。正しい結果が得られていてかつ考え方が間違っていなければ問題ありません。
問23
(1)※プロシージャの名前を「Calc_Sum」とした。
Sub Calc_Sum(number As Long)
Dim n As Long, sum As Long
For n=1 To number
sum=sum+n
Next
Print sum
End Sub
(2)
#prompt
Dim i As Long
For i=1 To 10
Calc_Sum(i)
Next
Sub Calc_Sum(number As Long)
Dim n As Long, sum As Long
For n=1 To number
sum=sum+n
Next
Print sum
End Sub
実行結果
1 3 6 10 15 21 28 36 45 55
問24
※実行例は略。
#prompt Compare_Three(1, 5, 7) ' 「3番目が最も大きい」が表示される Compare_Three(6, 3, 2) ' 「1番目が最も大きい」が表示される Compare_Three(-1, 8, 6) ' 「2番目が最も大きい」が表示される Compare_Three(4, 4, 2) ' 「1番目が最も大きい」が表示される Compare_Three(7, 2, 7) ' 「1番目が最も大きい」が表示される Compare_Three(3, 9, 9) ' 「2番目が最も大きい」が表示される Compare_Three(8, 8, 8) ' 「1番目が最も大きい」が表示される ' 以下にCompare_Threeプロシージャの定義を書く(問題) Sub Compare_Three(A As Double, B As Double, C As Double) If A>=B And A>=C Then Print "1番目が最も大きい" ElseIf B>=C Then Print "2番目が最も大きい" Else Print "3番目が最も大きい" End If End Sub