4/10(一)測驗題單 (題目名加上連結的表示範例完成)
假設由文字方塊輸入,呼叫 Function MyPxx( S As String ) As String後傳回要輸出的字串
以下只有M5P11附主程式部份,其餘類似
以下只有M5P11附主程式部份,其餘類似
105模擬
|
M5P11
|
|
105模擬
|
M5P22
|
|
105模擬
|
M5P42
|
|
105正式
|
F5P11
|
字串問題:計算字數
|
105正式
|
F5P12
|
字串問題:摩斯電碼
|
105正式
|
F5P21
|
數學問題:網段ID
|
105正式
|
F5P22
|
數學問題:最大公約數計算
|
104模擬
|
M4P12
|
數學問題:N!尾數的0
|
104模擬
|
M4P21
|
其他:計程車費率計算
|
104模擬
|
M4P42
|
其他:數字反轉後相加
|
104正式
|
F4P11
|
生活問題:電梯電費計算系統
|
104正式
|
F4P22
|
數學問題:最大公約數計算
|
104正式
|
F4P31
|
其他:計算位元為1的個數
|
103模擬
|
M3P11
|
數學問題:判斷是否為質數
|
103模擬
|
M3P12
|
數學問題:解二元一次聯立方程式之根
|
103模擬
|
M3P21
|
|
103模擬
|
M3P22
|
編碼處理:凱撒密碼
|
====== 105模擬 M5P11 數學問題:質數
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s As String = TextBox1.Text
Label1.Text = M5P11(s)
End Sub
Function M5P11(ByVal s As String) As String
'傳入一個 字串s 轉為整數 x ,判斷是否為質數,是傳回字串T,否傳回F
Dim x As Integer = s
If x < 2 Then Return "F"
For k = 2 To Math.Sqrt(x)
If x Mod k = 0 Then Return "F"
Next
Return "T"
End Function
=====輸入範例
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
=====輸出範例
F
T
T
F
T
F
T
F
T
T
F
T
F
T
F
====== ' 105模擬 P22:行、字數、字元數
Function M5P22(ByVal s As String) As String
'原檔案輸入 傳入一個整數 fn 為要讀入的 檔案編號
'改為由文字方塊讀入
Dim a, b, c As Integer
Dim line() = s.Split(vbCrLf)
a = line.Length
For i = 0 To UBound(line)
c += line(i).Length
Dim dat() = line(i).Split(" ")
b += dat.Length
Next
' 由 multiline的文字方塊讀入 每列有 Enter會多1字,除了最後一列不按 Enter
c -= (a - 1)
Return a & "," & b & "," & c
=====輸入範例
a
b
c
cd
b
c
cd
=====輸出範例
4,4,5
====== 105模擬 M5P42 十進制數轉成二進制數
Function M5P42(ByVal s As String) As String
Dim dat() = s.Split(",")
Dim a As Integer = StrReverse(dat(0))
Dim b As Integer = StrReverse(dat(1))
Dim sum As Integer = StrReverse((a + b) & "")
Return d2b(sum) ' 呼叫自訂函式d2b將十進位轉二進位
End Function
Function d2b(ByVal sum As Integer) As String
'將傳入的十進位數值 sum 傳為二進位後傳回 字串
d2b = ""
If sum = 0 Then Return "0"
Do Until sum = 0
d2b = sum Mod 2 & d2b
sum \= 2
Loop
End Function
=====輸入範例
1,13
123,14
172,93
100,2
123,14
172,93
100,2
=====輸出範例
10111
100000111
1101
11
100000111
1101
11
REM tbl陣列: 第1列 A~G , 第2列 H~M , 第3列 N~T , 第4列 U~Z
Dim tbl() = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.",
"....", "..", ".---", "-.-", ".-..", "--",
"-.", "---", ".--.", "--.-", ".-.", "...", "-",
"..-", "...-", ".--", "-..-", "-.--", "--.."}
Function M3P21(ByVal s As String) As String
Dim ans As String = ""
Dim d() = s.Split(" ")
For j = 0 To UBound(d)
Dim k = Array.IndexOf(tbl, d(j)) '由tbl找 符合d(j) 的字串,傳回索引
ans &= Chr(k + 65) '索引為 0A,1B,...,24Y,25Z : 加上65即為 65~90
Next
Return ans
End Function
=====輸入範例
... --- ...
-.-- --- ..-
.- -. -..
..
.... . .-.. .--.
.--. .-. --- --. .-. .- --
...- .. .-. - ..- .- .-.. -... .- ... .. -.-.
--. --- --- --. .-.. .
=====輸出範例
SOS
YOU
AND
I
HELP
PROGRAM
VIRTUALBASIC
GOOGLE
===============
0 意見:
張貼留言