2017年3月2日 星期四

Z2AY7M2練習-3

105正-F5P22 最大公約數計算    ✔(上一篇已傳)

105正-F5P11 計算字數               ✔(上一篇已傳)

105正-F5P12 摩斯電碼               

105正-F4P21 網段ID                  

105模-M5P11 質數                        ✔(上一篇已傳)

105模-M5P22 行、字數、字元數   ✔(上一篇已傳)

105模-M5P41 尋找對稱字串

105模-M5P42 十進制轉二進制       ✔(上一篇已傳) 

105模-M5P21 前綴字串and後綴字串

補充大數 N! (0<N<1000)            ✔(上一篇已傳)

內建函式整理: ======================

1.Array.IndexOf(ms,m):內建陣列函式,由陣列ms中找m,傳回其索引值{0~},找不到-1   例 ms={5,4,3,2} 則Array.IndexOf(ms,3) 傳回 2
2.mid(s,m,n):內建字串函數,由字串 s 的第m個字起取n個字{包含第m個字},不足n取至末   例 s="9876543" 則mid(s,2,3) 傳回 "876"
3.
mid(s,m):內建字串函數,由字串 s 的第m個字起取至末
   例 s="9876543" 則mid(s,6) 傳回 "43"

======================================


105正-F5P12: 摩斯電碼  ================================

    ' 本題 摩斯字串 對照 0~4 、 5~9
    ' 以 Array.IndexOf( )函數查找即可
    Dim ms() As String = {"-----", ".----", "..---", "...--", "....-",
                          ".....", "-....", "--...", "---..", "----."}

    Function P12(ByVal s As String) As String
        P12 = ""
        ttrim(s, "  ", " ") '去首尾空白及中間2個以上空白換成1個
        Dim dat() = s.Split(" ")
        For Each m In dat
            P12 &= Array.IndexOf(ms, m)
        Next
    End Function

    Sub ttrim(ByRef s As String, ByVal a As String, ByVal b As String)
        s = Trim(s)
        Do While (InStr(s, "  ") > 0)
            s = s.Replace("  ", " ")
        Loop
    End Sub

105正-F4P21: 網段ID  ================================
   Function P21(ByVal s As String) As String
        Dim a, b As Integer
        Dim p As Integer = InStr(s, "/")
        Dim sa() = Mid(s, 1, p - 1).Split(".")
        Dim sb() = Mid(s, p + 1).Split(".")
        P21 = ""
        For j = 0 To 3
            a = sa(j)
            b = sb(j)
            If j > 0 Then P21 &= "."
            P21 &= (a And b) 
       Next
    End Function

Related Posts:

  • Z2A練習:M3P11M3P11 : 103模P11 判斷是否為質數 Function M3P11(ByVal S As String) As String         Dim K As Integer = Val(S) &n… Read More
  • Z2A練習:M2P11M2P11 : 102模P11 字串中的阿拉伯數字 參考程式碼:    Function M2P11(ByVal s As String) As String         Dim num = "" … Read More
  • Z2A練習:M5P02-smp2-學號 (2)類似題舉例2: 資商學院的學號有5位,第1碼為系碼,第2碼為年度,第3碼為班碼,後2碼為座號  系碼只能是SYZ其中之1,年度只能是2~5其中之一,班碼只能是1~3,座號一定是兩位01~50  讀入n列字串,判斷是否為正確的學號,正確則則輸出R,不正確則輸出E 解… Read More
  • Z2A練習:M3P12 M3P12 : 103模P12 解二元一次方程式 參考程式碼    Function M3p12(ByVal s As String) As String         Dim dt() = s.S… Read More
  • Z2A練習:讀檔架構 各題之讀檔架構省略,只提供一次如下  FileOpen(1, "in1.txt", OpenMode.Input)  FileOpen(2, "in2.txt", OpenMode.Input)  FileOpen(3, "out.txt", OpenMode.… Read More

0 意見:

張貼留言