?? 動物識別系統.txt
字號:
Dim m As Integer '記錄最后一個記錄號
Dim Counter As Integer
Private Sub Command1_Click()
Dim str1 As String
Dim n As Integer '計數,當沒有規則可以匹配時,結束循環判斷
n = 1
m = 0
Open "d:\lib.dat" For Random As #1 Len = 20
If bird.Value = 1 Then
Put #1, , "bird"
m = m + 1
End If
If breast.Value = 1 Then
Put #1, , "breast"
m = m + 1
End If
If blackandwhite.Value = 1 Then
Put #1, , "blackandwhite"
m = m + 1
End If
If blacksplash.Value = 1 Then
Put #1, , "blacksplash"
m = m + 1
End If
If blackvitta.Value = 1 Then
Put #1, , "blackvitta"
m = m + 1
End If
If canine.Value = 1 Then
Put #1, , "canine"
m = m + 1
End If
If cannotfly.Value = 1 Then
Put #1, , "cannotfly"
m = m + 1
End If
If chewthecud.Value = 1 Then
Put #1, , "chewthecud"
m = m + 1
End If
If claw.Value = 1 Then
Put #1, , "claw"
m = m + 1
End If
If darkfleck.Value = 1 Then
Put #1, , "darkfleck"
m = m + 1
End If
If eatmeat.Value = 1 Then
Put #1, , "eatmeat"
m = m + 1
End If
If egg.Value = 1 Then
Put #1, , "egg"
m = m + 1
End If
If fearless.Value = 1 Then
Put #1, , "fearless"
m = m + 1
End If
If feather.Value = 1 Then
Put #1, , "feather"
m = m + 1
End If
If filemot.Value = 1 Then
Put #1, , "filemot"
m = m + 1
End If
If fly.Value = 1 Then
Put #1, , "fly"
m = m + 1
End If
If gazestraight.Value = 1 Then
Put #1, , "gazestraight"
m = m + 1
End If
If hairiness.Value = 1 Then
Put #1, , "hairiness"
m = m + 1
End If
If hoof.Value = 1 Then
Put #1, , "hoof"
m = m + 1
End If
If hoofanimal.Value = 1 Then
Put #1, , "hoofanimal"
m = m + 1
End If
If longleg.Value = 1 Then
Put #1, , "longleg"
m = m + 1
End If
If longneck.Value = 1 Then
Put #1, , "longneck"
m = m + 1
End If
If mammal.Value = 1 Then
Put #1, , "mammal"
m = m + 1
End If
If meatanimal.Value = 1 Then
Put #1, , "meatanimal"
m = m + 1
End If
If swim.Value = 1 Then
Put #1, , "swim"
m = m + 1
End If
If white.Value = 1 Then
Put #1, , "white"
m = m + 1
End If
Close #1
Dim i As Integer
Open "d:\lib.dat" For Random As #1 Len = 20
For Counter = 1 To 3
For i = 1 To m 'r1:若某動物有奶,則它是哺乳動物。
Get #1, i, str1
If StrComp(Trim(str1), "breast") = 0 Then
If result("mammal") Then Exit Sub
If check("mammal") Then
m = m + 1
Put #1, m, "mammal"
Counter = 1
Exit For
End If
End If
Next i
For i = 1 To m 'r2:若某動物有毛發,則它是哺乳動物。
Get #1, i, str1
If StrComp(Trim(str1), "hairiness") = 0 Then
If result("mammal") Then Exit Sub
If check("mammal") Then
m = m + 1
Put #1, m, "mammal"
Counter = 1
Exit For
End If
End If
Next i
For i = 1 To m 'r3:若某動物有羽毛,則它是鳥。
Get #1, i, str1
If StrComp(Trim(str1), "feather") = 0 Then
If result("bird") Then Exit Sub
If check("bird") Then
m = m + 1
Put #1, m, "bird"
Counter = 1
Exit For
End If
End If
Next i
Dim j As Integer
Dim k As Integer
Dim g As Integer
Dim h As Integer
Dim str3 As String
Dim str4 As String
Dim str5 As String
Dim str6 As String
For i = 1 To m 'r4:若某動物會飛且生蛋,則它是鳥。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "fly") = 0 And StrComp(Trim(str3), "egg") = 0 Then
If result("bird") Then Exit Sub
If check("bird") Then
m = m + 1
Put #1, m, "bird"
Counter = 1
Exit For
End If
End If
Next j
Next i
For i = 1 To m 'r5:若某動物是哺乳動物且有爪且有犬齒且目盯前方,則它是食肉動物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5
If StrComp(Trim(str1), "mammal") = 0 And StrComp(Trim(str3), "claw") = 0 And StrComp(Trim(str4), "canine") = 0 And StrComp(Trim(str5), "gazestraight") = 0 Then
If result("meatanimal") Then Exit Sub
If check("meatanimal") Then
m = m + 1
Put #1, m, "meatanimal"
Counter = 1
Exit For
End If
End If
Next h
Next g
Next j
Next i
For i = 1 To m 'r6:若某動物是哺乳動物且吃肉,則它是食肉動物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "mammal") = 0 And StrComp(Trim(str3), "eatmeat") = 0 Then
If result("meatanimal") Then Exit Sub
If check("meatanimal") Then
m = m + 1
Put #1, m, "meatanimal"
Counter = 1
Exit For
End If
End If
Next j
Next i
For i = 1 To m 'r7:若某動物是哺乳動物且有蹄,則它是有蹄動物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "mammal") = 0 And StrComp(Trim(str3), "hoof") = 0 Then
If result("hoofanimal") Then Exit Sub
If check("hoofanimal") Then
m = m + 1
Put #1, m, "hoofanimal"
Counter = 1
Exit For
End If
End If
Next j
Next i
For i = 1 To m 'r8:若某動物是有蹄動物且反芻食物,則它是偶蹄動物。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
If StrComp(Trim(str1), "hoofanimal") = 0 And StrComp(Trim(str3), "chewthecud") = 0 Then
If result("cloot") Then Exit Sub
If check("cloot") Then
m = m + 1
Put #1, m, "cloot"
Counter = 1
Exit For
End If
End If
Next j
Next i
For i = 1 To m 'r9:若某動物是食肉動物且黃褐色且有黑色條紋,則它是老虎。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "meatanimal") = 0 And StrComp(Trim(str3), "filemot") = 0 And StrComp(Trim(str4), "blackvitta") = 0 Then
If result("tiger") Then Exit Sub
If check("tiger") Then
m = m + 1
Put #1, m, "tiger"
Counter = 1
Exit For
End If
End If
Next g
Next j
Next i
For i = 1 To m ' r10:若某動物是食肉動物且黃褐色且有黑色斑點,則它是金錢豹。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "meatanimal") = 0 And StrComp(Trim(str3), "filemot") = 0 And StrComp(Trim(str4), "blacksplash") = 0 Then
If result("leopard") Then Exit Sub
If check("leopard") Then
m = m + 1
Put #1, m, "leopard"
Counter = 1
Exit For
End If
End If
Next g
Next j
Next i
For i = 1 To m 'r11:若某動物是有蹄動物且長腿且長脖子且黃褐色且有暗斑點,則它是長頸鹿。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5
For k = 1 To m
Get #1, k, str6
If StrComp(Trim(str1), "hoofanimal") = 0 And StrComp(Trim(str3), "longleg") = 0 And StrComp(Trim(str4), "longneck") = 0 And StrComp(Trim(str5), "filemot") = 0 And StrComp(Trim(str6), "darkfleck") = 0 Then
If result("giraffe") Then Exit Sub
If check("giraffe") Then
m = m + 1
Put #1, m, "giraffe"
Counter = 1
Exit For
End If
End If
Next k
Next h
Next g
Next j
Next i
For i = 1 To m 'r12:若某動物是有蹄動物且白色且有黑色條紋,則它是斑馬。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "hoofanimal") = 0 And StrComp(Trim(str3), "white") = 0 And StrComp(Trim(str4), "blackvitta") = 0 Then
If result("zebra") Then Exit Sub
If check("zebra") Then
m = m + 1
Put #1, m, "zebra"
Counter = 1
Exit For
End If
End If
Next g
Next j
Next i
For i = 1 To m 'r13:若某動物是鳥且不會飛且長腿且長脖子且黑白色,則它是駝鳥。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5
For k = 1 To m
Get #1, k, str6
If StrComp(Trim(str1), "bird") = 0 And StrComp(Trim(str3), "cannotfly") = 0 And StrComp(Trim(str4), "longleg") = 0 And StrComp(Trim(str5), "longneck") = 0 And StrComp(Trim(str3), "cannotfly") = 0 And StrComp(Trim(str4), "longleg") = 0 And StrComp(Trim(str5), "longneck") = 0 And StrComp(Trim(str6), "blackandwhite") = 0 Then
If result("ostrich") Then Exit Sub
If check("ostrich") Then
m = m + 1
Put #1, m, "ostrich"
Counter = 1
Exit For
End If
End If
Next k
Next h
Next g
Next j
Next i
For i = 1 To m 'r14:若某動物是鳥且不會飛且會游泳且黑白色,則它是企鵝。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
For h = 1 To m
Get #1, h, str5
If StrComp(Trim(str1), "bird") = 0 And StrComp(Trim(str3), "cannotfly") = 0 And StrComp(Trim(str4), "swim") = 0 And StrComp(Trim(str5), "blackandwhite") = 0 Then
If result("penguin") Then Exit Sub
If check("penguin") Then
m = m + 1
Put #1, m, "penguin"
Counter = 1
Exit For
End If
End If
Next h
Next g
Next j
Next i
For i = 1 To m 'r15:若某動物是鳥且善飛且不怕風浪,則它是海燕。
Get #1, i, str1
For j = 1 To m
Get #1, j, str3
For g = 1 To m
Get #1, g, str4
If StrComp(Trim(str1), "bird") = 0 And StrComp(Trim(str3), "fly") = 0 And StrComp(Trim(str4), "fearless") = 0 Then
If result("salangane") Then Exit Sub
If check("salangane") Then
m = m + 1
Put #1, m, "salangane"
Counter = 1
Exit For
End If
End If
Next g
Next j
Next i
Next Counter
Close #1
MsgBox "您給出的證據太少,無法判斷是什么動物"
End Sub
Private Function check(ByVal conclusion As String) As Integer
Dim j As Integer
Dim str2 As String
For j = 1 To m
Get #1, j, str2
If StrComp(str2, conclusion) = 0 Then
check = 0
Exit Function
End If
Next j
check = 1
End Function
Private Function result(ByVal res As String)
Select Case res
Case "tiger"
MsgBox "老虎", vbOKOnly, "結果"
result = 1
Exit Function
Case "leopard"
MsgBox "金錢豹"
result = 1
Exit Function
Case "giraffe"
MsgBox "長頸鹿"
result = 1
Exit Function
Case "zebra"
MsgBox "斑馬"
result = 1
Exit Function
Case "ostrich"
MsgBox "駝鳥"
result = 1
Exit Function
Case "penguin"
MsgBox "企鵝"
result = 1
Exit Function
Case "salangane"
MsgBox "海燕"
result = 1
Exit Function
Case Else
result = 0
End Select
End Function
Private Sub Command2_Click()
Unload Me
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -