あくまで解答は例です。正しい結果が得られていてかつ考え方が間違っていなければ問題ありません。
問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