2015年12月31日 星期四

TO-Z2A:101年正式題第3題-子題2-編碼

101年正式題第3-子題2-編碼

題目大意:讀入一串只有01的字串,由下列編碼表找出對應的字元
二進制
字元

二進制
字元
00
A
11100
4
01
B
11101
5
100
0
111100
6
101
1
111101
7
1100
2
111110
8
1101
3
111111
9

輸入檔(in.txt)
6
1111001111011111101111111000010001
101110011101110111000010101
11100110111001011110001
111011100110111100110100
1011100100111111110000
1011100110111100110001

輸出檔(ou.txt)
6789,0A0B
1253,2A1B
4321,4B
5234,3A
1209,2A
1234,2B

解題參考說明:
讀入的字串由第1個位元開始,
b若為1  {判斷第5個連續1 (1)轉成字元}
b若不為1 (2) 轉成字元
轉成字元:假設第j個位元是連續51或第j個字元是0
( j之前連續1的個數one 、第j+1位元為d)
        換算碼 k = 2*one+d+1 由右字串找 tbl= "AB0123456789"
    one的個數要歸零

程式碼如下:
   Dim tbl = "AB0123456789"
    FileOpen(1, "in.txt", OpenMode.Input)
    FileOpen(3, "ou.txt", OpenMode.Output)
    Dim fn As Integer = 1
    Dim n As Short = LineInput(fn)
    For i = 1 To n
        Dim line As String = LineInput(fn)
        Dim one As Short = 0   '位元連續1的個數
        Dim dcnt As Short = 0
        Dim k As Integer
        For j = 1 To line.Length
            Dim b As Char = Mid(line, j, 1)   '1個位元
            If b = "1" Then
                one += 1  
                If one = 5 Then 
                    j += 1  ' (1)51直接 以後1位元判斷是 8 9
                    k = 2 * one + 1 + Mid(line, j, 1)
                    If dcnt = 4 Then Print(3, ",") '已印4個數字:加 才接 aAbB
                    Print(3, Mid(tbl, k, 1))
                    dcnt += 1  '1個數字
                    one = 0
                End If
            Else ' (2) 讀入的是 0 ,一次處理後2
                j += 1  '以左邊 1 的個數 右邊01判斷
                k = 2 * one + 1 + Mid(line, j, 1)
                If dcnt = 4 Then Print(3, ",") '已印4個數字:加 才接 aAbB
                Print(3, Mid(tbl, k, 1))
                dcnt += 1
                one = 0
            End If
        Next j
        PrintLine(3)
    Next

    End

Related Posts:

  • E2B段2複習Ch3小考卷 {3-1&3-2 、3-3&3-4 、 3-5~3-7 、 Ch3全 } 小考4次 、 題庫Ch3 vb筆試模擬題 ch3-1&3-2 一、選擇題 共 45 題 每題 2 分 01. (   ) 艾倫想在Microsoft Excel儲存格輸入58時可以… Read More
  • P2T,A,B 段考2前的小考卷 第2次段考由由以下 4份考卷 綜合,另加10%左右的運算思維題 Ch10A卷   Ch10B卷   Ch11A卷   Ch11B卷 … Read More
  • 運算思維練習 2013題庫 2014題庫 2015題庫 2016題庫 … Read More
  • 107模(二信自訂)二信高中自訂107模擬題  (題目文字檔) (測資檔)   M107a_p01 春夏秋冬 阿華和阿俊玩一個遊戲叫做「春夏秋冬」有四種牌,夏吃春、秋吃夏、冬吃秋、春吃冬,吃到的得1分,其餘不計分 我們以 PMAW分別代表春夏秋冬,阿華和阿俊各發六張牌,阿華的a1~a6… Read More
  • P1T,A,B 段考2前的小考卷第2次段考由由以下 4份考卷 綜合,有10%左右的數字系統+運算思維題 Ch1&2_A卷   Ch1&2_B卷   Ch3_A卷   Ch3_B卷… Read More

0 意見:

張貼留言