Z2A VB 01/03預訂考題 檢查碼之 變化
變化1:M5P05_1 學號檢查
給一組學號,依下列檢查規則,若正確則輸出Yes,不正確則輸出No
(1) 學號共6碼,長度不對則No
(2) 第1碼只能3~5
(3) 第2,3兩碼只能11~17的數字
(4) 第4,5,6三碼只能001~350的數字
in1.txt
2
4112A9
416123
|
in2.txt
2
511099
616123
|
out.txt
No
Yes
Yes
No
|
參考程式碼
Function M5P05_1(ByVal s As String) As String
M5P05_1
= "Yes"
If s.Length <> 6 Then Return
"No"
For i = 1 To s.Length
If Mid(s, i, 1) < "0"
Or Mid(s, i, 1) > "9" Then Return "No"
Next
Dim a As Integer = Val(Mid(s, 1, 1))
Dim b As Integer = Val(Mid(s, 2, 2))
Dim c As Integer = Val(Mid(s, 4, 3))
If a < 3 Or a > 5 Then Return
"No"
If b < 11 Or b > 17 Then Return
"No"
If c < 1 Or a > 350 Then Return
"No"
End Function
變化2:M5P05_2 書碼檢查(10碼)
給一組書碼,依下列檢查規則,若正確則輸出Yes,不正確則輸出No
(1) 書碼共10碼皆數字,非數字或長度不對則No
(2) 第1~9碼由左算第1碼為奇數位
所有奇數位*1、所有偶數位*3
所有奇數位*1、所有偶數位*3
(3) 第1~9位各乘上1或 3後加總後再加上第10位*1須能被10整除
變化3:M5P05_3 二信資處發票檢查
給一組二信資處合作社的發票,避免冒領獎金,依下列檢查規則,
若正確則輸出OK,不正確則輸出KO
若正確則輸出OK,不正確則輸出KO
(1) 發票號碼長度有可能7~9碼皆數字,非數字或長度不對則KO
(2) 第1,4,7碼*3、第2,5,8碼*2、第3,6,9碼*5,若無8,9碼當然不用乘
(3) 各碼分別乘上3,2,5後加總的和須能被7整除則OK否則KO
變化2、變化3 的資料及程式碼後補
0 意見:
張貼留言