top
Loading...
VisualBasic上機考試綜合應用題選講
一、 素數判斷與計算、輸出題,并把計算與存盤部分補充完整!


Private Function isprime(a As Integer) As Boolean
Dim flag As Boolean
flag = True
b% = 2
Do While b% <= Int(a / 2) And flag
If Int(a / b%) = a / b% Then
flag = False
Else
b% = b% + 1
End If
Loop
isprime = flag
End Function

+++++++以下黑體字部分是程序中沒有的,需要自己被充+++++++
Private Sub C1_Click()
Dim i As Integer
i = 18000
Do
i = i - 1
Loop Until isprime(i)
Text1.Text = i

End Sub

Private Sub C2_Click()
Open "out5.txt" For Output As #1
Print #1, Text1.Text
Close #1

End Sub

二、判斷口令題,關鍵是一些循環語句及選擇結構的綜合應用:


Private Sub C1_Click()
If Text1.Text = "123456" Then
Text1.Text = "口令正確"
Text1.PasswordChar = ""
Else
Text2.Text = Text2.Text - 1
If Text2.Text > 0 Then
MsgBox "第" & (3 - Text2.Text) & "次口令錯誤,請重新輸入"
Else
MsgBox "3次輸入錯誤,請退出"
Text1.Enabled = False
End If
End If
End Sub

三、圖片轉換題:


Private Sub Timer1_Timer()
a = a + 1
If a > 6 Then
a = 1
End If
Select Case a
Case 1
P1.Picture = LoadPicture("黃燈.ico")
Case 2, 3
P1.Picture = LoadPicture("紅燈.ico")
Case 4, 5, 6
P1.Picture = LoadPicture("綠燈.ico")
If b Then Timer2.Enabled = b
End Select
End Sub

Private Sub Timer2_Timer()
If (a < 4) And (P2.Left > P1.Left And P2.Left < P1.Left + P1.Width) Or P2.Left <= 100 Then
Timer2.Enabled = False
Else
P2.Move P2.Left - 10, P2.Top, P2.Width, P2.Height
End If
End Sub

四、數據計算與行列式綜合應用題:


Option Base 1
Dim Arr1(20) As Integer
Dim Arr2(20) As Integer
Dim Sum As Integer

Sub ReadData1()
Open App.Path & "" & "datain1.txt" For Input As #1
For i = 1 To 20
Input #1, Arr1(i)
Next i
Close #1
End Sub

Sub ReadData2()
Open App.Path & "" & "datain2.txt" For Input As #1
For i = 1 To 20
Input #1, Arr2(i)
Next i
Close #1
End Sub

Sub WriteData(Filename As String, Num As Integer)
Open App.Path & "" & Filename For Output As #1
Print #1, Num
Close #1
End Sub

Private Sub C1_Click()
ReadData1
ReadData2
End Sub

Private Sub C2_Click()
Dim arr3(20) As Integer
Sum = 0
For i = 1 To 20
arr3(i) = Arr1(i) Arr2(i)
Sum = Sum + arr3(i)
Next
Print Sum
End Sub

Private Sub C3_Click()
WriteData "dataout.txt", Sum
End Sub

五、倒計數器


Private Sub C1_Click(Index As Integer)
Select Case Index
Case 1
Timer1.Enabled = False
Case 0
Timer1.Enabled = True
End Select
End Sub

Private Sub Form_Load()

End Sub

Private Sub Timer1_Timer()
Text1.Text = Text1.Text + 1
End Sub

六、文本框的使用


Private Sub C1_Click()
Open App.Path & "out7.txt" For Output As #2
Print #2, Text1.Text
Close #2
End Sub

Private Sub Form_Load()
Open App.Path & "in7.txt" For Input As #1
Do While Not EOF(1)
Input #1, mystring
Text1.Text = Text1.Text + mystring
Loop
Close #1
Text1.Text = "計算機等級考試" + Text1.Text
End Sub

七、求某類數的和等:


Private Function fun(a As Integer) As Integer
s% = 0
For i% = 500 To 600
If Int(i% / a) = i% / a Then
s% = s% + i%
End If
Next
fun = s%
End Function

Private Sub C1_Click()

If Op1.Value Then
Text1 = fun(7)
End If
If Op2.Value Then Text1 = fun(3)

End Sub

Private Sub Form_Unload(Cancel As Integer)
Open "out7.txt" For Output As #1
Print #1, Op1.Value, Op2.Value, Text1.Text
Close #1
End Sub

八、文本框的使用


Private Sub C1_Click()
Open App.Path & "in7.txt" For Input As #1
Do While Not EOF(1)
Input #1, mystring
Text1.Text = mystring
Loop
Close #1
End Sub

Private Sub C2_Click()
Text1.Text = UCase(Text1.Text)
End Sub

Private Sub C3_Click()
Open App.Path & "out7.txt" For Output As #2
Print #2, Text1.Text
Close #2
End Sub

九、文本框應用第二例:


第一部分,窗體程序部分:

Dim a(100) As Integer
Private Sub Cmd1_Click()
Open App.Path & "in.txt" For Input As #1
Text1.Text = ""
For i = 1 To 100
Input #1, a(i)
Text1.Text = Text1.Text & a(i) & Space(1)
Next i
Close #1

End Sub

Private Sub Cmd2_Click()
Text1.Text = ""
s = 0
For i = 1 To 100
If a(i) Mod 2 <> 0 Then
Text1.Text = Text1.Text & a(i) & Space(1)
s = s + a(i)
End If
Next
putdata s
End Sub

第二部分,模塊程序部分:(如沒有,需要自行添加一個標準模塊)

Sub putdata(ByVal a As Integer)
Dim sFile As String
sFile = "out.txt"
Open App.Path & sFile For Output As #1
Print #1, a;
Close #1
End Sub

十、分蘋果題:


Option Explicit

Private Sub Command1_Click(Index As Integer)

If Index = 0 Then
If Val(Label3(0).Caption) > 1 Then
Command1(0).Enabled = True
Label3(0).Caption = Label3(0).Caption - 1
Else
If Val(Label3(0).Caption) = 1 Then
Label3(0).Caption = Label3(0).Caption - 1
End If
Command1(0).Enabled = False
End If
Else
If Val(Label3(1).Caption) > 1 Then
Command1(1).Enabled = True
Label3(1).Caption = Label3(1).Caption - 1
Else
If Val(Label3(1).Caption) = 1 Then
Label3(1).Caption = Label3(1).Caption - 1
End If
Command1(1).Enabled = False
End If

End If
If Val(Label3(0).Caption) > Val(Label3(1).Caption) Then
picSmile(0).Visible = True
picCry(0).Visible = False
picCry(1).Visible = True
picSmile(1).Visible = False
Else
If Val(Label3(0).Caption) < Val(Label3(1).Caption) Then
picCry(0).Visible = True
picSmile(0).Visible = False
picSmile(1).Visible = True
picCry(1).Visible = False
Else
picSmile(0).Visible = True
picCry(0).Visible = False
picSmile(1).Visible = True
picCry(1).Visible = False
End If
End If

End Sub

Private Sub Command2_Click(Index As Integer)

If Index = 0 Then
Label3(0).Caption = Label3(0).Caption + 1
Command1(0).Enabled = True
Else:
Label3(1).Caption = Label3(1).Caption + 1
Command1(1).Enabled = True
End If

If Val(Label3(0).Caption) > Val(Label3(1).Caption) Then
picSmile(0).Visible = True
picCry(0).Visible = False
picCry(1).Visible = True
picSmile(1).Visible = False
Else
If Val(Label3(0).Caption) < Val(Label3(1).Caption) Then
picCry(0).Visible = True
picSmile(0).Visible = False
picSmile(1).Visible = True
picCry(1).Visible = False
Else
picSmile(0).Visible = True
picCry(0).Visible = False
picSmile(1).Visible = True
picCry(1).Visible = False
End If
End If

End Sub

Private Sub Form_Load()

picSmile(0).Visible = True
picSmile(1).Visible = True
Command1(0).Enabled = False
Command1(1).Enabled = False

End Sub


十一、簡單綜合題:


Private Sub COMEXIT_Click()
End
End Sub

Private Sub COMSTART_Click()
Dim g As Single, N As Integer, S As Single
myfile1 = App.Path & "" & "grade.DAT"
myfile2 = App.Path & "" & "average.dat"
Open myfile1 For Input As #1
Open myfile2 For Output As #2
Do While Not EOF(1)
Input #1, g
N = N + 1
S = S + g
Loop
Close #1
S = S / N
Write #2, S
Close
COMSTART.Caption = "完成"
COMSTART.Enabled = False
End Sub

十二、文本加密題:


Private Sub C1_Click()
Dim strinfo As String
Open "in7.txt" For Input As 1
Input #1, strinfo
Close #1
Text1.Text = strinfo
End Sub

Private Sub C2_Click()
Dim strchange As String
Dim i As Integer
For i = 1 To Len(Text1.Text)
strchange = strchange + Chr(Asc(Mid(Text1.Text, i, 1)) + 2)
Next
Text1.Text = strchange
End Sub

Private Sub C3_Click()
Open "out7.txt" For Output As 1
Print #1, Text1.Text
Close #1
End Sub

十三、數組綜合應用題:


本程序解答分二部分,一部分在窗體模塊:

Option Explicit
Dim a(1 To 100)
Dim i As Integer
Dim n As Integer
Dim f As Integer
Dim s As Long

Private Sub Cmd1_Click()
Open App.Path & "in.txt" For Input As #1
For i = 1 To 100
Input #1, n
a(i) = n
Text1.Text = Text1.Text & a(i) & " "
Next i
Close #1
End Sub

Private Sub Cmd2_Click()
For i = 1 To 100
If a(i) <= 700 Then s = s + a(i)
Next i
Call putdata("out.txt", s)
Text1.Text = s
End Sub

另一部分在標準模塊:

Option Explicit

Sub putdata(t_FileName As String, t_Str As Variant)
Dim sFile As String
sFile = "" & t_FileName
Open App.Path & sFile For Output As #1
Print #1, t_Str
Close #1
End Sub

十四、素數應用又一例:


本程序分兩部分,第一部分在窗體模塊:

Private Sub Cmd1_Click()
Dim i As Integer
Dim temp As Long
temp = 0

If Opt2.Value Then
For i = 200 To 400
If isprime(i) Then
temp = temp + i
End If
Next
Else
For i = 100 To 200
If isprime(i) Then
temp = temp + i
End If
Next
End If
Text1.Text = temp
End Sub

Private Sub Cmd2_Click()
putdata "out.txt", Text1.Text
End Sub

第二部分在標準模塊:

Option Explicit

Sub putdata(t_FileName As String, T_Str As Variant)
Dim sFile As String
sFile = "" & t_FileName
Open App.Path & sFile For Output As #1
Print #1, T_Str
Close #1
End Sub

Function isprime(t_I As Integer) As Boolean
Dim J As Integer
isprime = False
For J = 2 To t_I / 2
If t_I Mod J = 0 Then Exit For
Next J
If J > t_I / 2 Then isprime = True
End Function
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗