あくまで解答は例です。正しい結果が得られていてかつ考え方が間違っていなければ問題ありません。
問7
#prompt
Dim x As Double
Input x
If x>=7 Then
Print "7以上"
End If
実行例(1)
? 8
7以上
実行例(2)
? 5
問8
#prompt
Dim x As Double, y As Double
Input x
Input y
If x+y>=7 Then
Print "7以上"
End If
実行例(1)
? 3 ? 6 7以上
実行例(2)
? 1 ? 3
問9
#prompt
Dim x As Double
Input x
If x=7 Then
Print "成功"
Else
Print "失敗"
End If
実行例(1)
? 7
成功
実行例(2)
? 3
失敗
問10
#prompt
Dim tensu As Double
Input tensu
If tensu>100 Then
Print "テストの点数を入力してね。"
ElseIf tensu>=80 Then
Print "あなたはすばらしい!"
ElseIf tensu>=60 Then
Print "もう少しだ!"
ElseIf tensu>=30 Then
Print "努力が足りないようですね。"
ElseIf tensu>=0 Then
Print "ちゃんと勉強してますか?"
Else
Print "テストの点数を入力してね。"
End If
実行例(1)
? 75
もう少しだ!
実行例(2)
? -30
テストの点数を入力してね。
問11
#prompt
Dim x As Double, y As Double
Input x
Input y
Select Case x
Case 0
Print y
Case 1
Print y*(-2)
Case -1
Print y*2
Case Else
Print x*y
End Select
実行例(1)
? 3 ? 5 15
実行例(2)
? -1 ? 4 8
問12(実行例は略)
#prompt
Dim x As Double, y As Double
Input x
Input y
If x>0 And y>0 Or x<=0 And y<=0 Then
Print "実験成功"
End If
【別解】
#prompt
Dim x As Double, y As Double
Input x
Input y
If Not(x>0 Xor y>0) Then
Print "実験成功"
End If
問13
Dim i As Double
For i=1 To 10
Print Sqr(i)
Next
実行結果
1 1.4142135623731 1.7320508756887 2 2.23606797749978 2.44948974278317 2.6457513110646 2.82842712474618 3 3.162277660168371
問14
Dim i As Double
For i=10 To 1 Step -1
Print Sqr(i)
Next
実行結果
3.162277660168371 3 2.82842712474618 2.6457513110646 2.44948974278317 2.23606797749978 2 1.7320508756887 1.4142135623731 1
問15
#prompt
Dim password As String
While password<>"sinryow" And password<>"activebasic"
Input "パスワード>";password
Wend
If password="sinryow" Then
Print "Sinryowさん,こんにちは"
Else
Print "Discoversoftさん,こんにちは"
End If
実行例(1)
パスワード>? Sinryow パスワード>? sinryoww パスワード>? sinryow Sinryowさん,こんにちは
実行例(2)
パスワード>? visualbasic パスワード>? activebasic Discoversoftさん,こんにちは
問16(実行例は省略します。Lesson 8で出した実行例と同じくなります。)
#prompt
Dim password As String
Do
While password<>"sinryow"
If password="sinryow" Then
Exit Do
End If
Loop
Print "正しいパスワードが入力されました。"
1.
#prompt
Dim N As Long
Input N
If N Mod 2=0 Then
Print "偶数です"
Else
Print "奇数です"
End If
(別解)
#prompt
Dim N As Long
Input N
If N Mod 2=1 Or N Mod 2=-1 Then
Print "奇数です"
Else
Print "偶数です"
End If
(実行例)
? 6
偶数です
? 9
奇数です
#prompt
Dim a As Double, b As Double, c As Double
Dim D As Double
Input "aの値は";a
Input "bの値は";b
Input "cの値は";c
D=b^2-4*a*c
If D<0 Then
Print -b/(2*a); "±"; Sqr(-D)/(2*a); "i"
Else
Print (-b+Sqr(D))/(2*a)
Print (-b-Sqr(D))/(2*a)
End If
実行例
aの値は? 1 bの値は? 3 cの値は? 2 -1 -2
aの値は? 1 bの値は? 1 cの値は? 1 -0.5 ± 0.866025403784439 i
3.
#prompt
Dim n As Long, i As Long
n=1
i=1
While n<=1000000
i=i+1
n=n*i
Wend
Print i
(別解)
#prompt
Dim n As Long, i As Long
n=1
i=1
Do Until n>1000000
i=i+1
n=n*i
Loop
Print i
(別解)
#prompt
Dim n As Long, i As Long
n=1
i=1
Do
i=i+1
n=n*i
If n>1000000 Then
Print i
Exit Do
End If
Loop
実行結果
10