資源簡介 浙江省 2020 年新高考選考科目原創猜題卷 1信息技術試題一、選擇題(本大題共 12 小題,每小題 2 分,共 24 分。 每小題列出的四個備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)1.王老師利用辦公室的計算機制作了寓言故事“盲人摸象”的多媒體作品進行教學,下列說法正確的是 ( )A.通過手機播放“盲人摸象”視頻是一種信息的表達方式B.“盲人摸象”的故事體現了信息具有真偽性C.信息必須依附于載體,所以有關“盲人摸象”的信息不能脫離記載這個故事的古籍被存儲和傳播D.存儲“盲人摸象”多媒體作品的 U 盤屬于信息的載體,作品中相關動畫屬于信息答案 B 本題考查信息、信息的特征和信息技術,以及信息的表達方式與表達技術。 信息是指數據、信號、消息中所包含的意義,語言、文字、聲音、圖像等屬于信息的載體,因此多媒體作品中的動畫屬于信息的載體,故 D 錯誤。 信息必須依附于某種載體,它可以脫離所反映的事物被存儲、保存和傳播,故 C 錯誤。 “盲人摸象”的故事告訴我們,看問題不能憑自己主觀的片面了解就作出判斷,應了解事物的全貌, 因為信息具有真偽性,故 B 正確。 信息表達方式有文字、語言、圖形、圖像、聲音和形體動作,而信息表達技術有書籍報刊、電視廣播、網絡技術(電子郵件、QQ、微信等)、多媒體技術等,故 A 錯誤。故選 B。2.下列關于網上信息的瀏覽與獲取的說法正確的是 ( )A.利用搜索引擎可以找到任何想要找的東西B.HTML 協議用于瀏覽器與 Web 服務器之間的信息傳輸C.“收藏夾”的作用是保存網頁的網址,它本身是一個文件夾D.在 IE 瀏覽器中,保存網頁類型為“網頁,全部”,則圖片被保存在對應的網頁中答案 C 本題考查網上信息的瀏覽與獲取。 用于瀏覽器與 Web 服務器之間的信息傳輸的協議是 HTTP,而 HTML 是超文本標記語言。 “收藏夾”的作用是保存網頁的網址,在Windows 中放在一個文件夾里。 在 IE 瀏覽器中,保存網頁類型為“網頁,全部”,則圖片被保存在本地計算機對應的文件夾中。 故選 C。3.小張使用 Word 軟件編輯某文檔,部分界面如圖所示下列說法正確的是 ( )A.在光標所在處按“Delete”鍵,可以刪除“曹娥江與甬江”下方的波浪線B.圖中圖片的環繞方式一定不是“嵌入型”C.接受所有修訂后,圖中文字變為“天臺山(tiān tāi shān)位于中國浙江省天臺縣城北”D.可以使用查找替換功能將文檔中的所有的“天臺山”一次性加粗顯示,這采用了人工智能技術答案 B 本題考查 Word 相關的功能。 “曹娥江與甬江”下方的波浪線為“語法與拼寫錯誤”,通過單擊右鍵,選擇“忽略”命令可以取消,而按“Delete”鍵,將刪除光標右邊的字符。第一行的“天臺山”是批注的對象,右邊是相應的批注。 “查找替換”是 Word 的功能,不屬于人工智能技術。 故選 B。4.用 UltraEdit 軟件觀察字符串“方程 x1+y2= 10”的內碼,部分界面如圖所示下列說法正確的是 ( )A.字符“10”的二進制編碼為 0100 0000BB.圖中有 9 個 ASCII 編碼,有 4 個字節的 GB2312 編碼C.字符“y”的內碼是 79H,則字符“z”的內碼是 80HD.小寫字母和大寫字母內碼相差 32D,則“Y”的內碼為 47H答案 B 本題考查信息編碼的知識。 用 UltraEdit 軟件觀察字符串的內碼,每個 ASCII 碼占 1 個字節,用十六進制表示時,是數字開頭,每個 GB2312 碼占 2 個字節,用十六進制表示時,是字母開頭。 觀察題圖,其中有 9 個 ASCII 編碼,2 個GB2312 編碼,共 4 個字節。 字符“ y”的內碼是 79H,則“ z”的內碼為 7AH(“z”的內碼比“y”大 1H)。 字符“10”的內碼是 3130H,轉化為二進制為 0011 0001 0011 0000B。 小寫字母和大寫字母內碼相差 32D,即 20H,因為“ y”的內碼為 79H,所以“Y”的內碼為 59H。 故選 B。5.使用 GoldWave 軟件編輯某音頻文件,選擇其中一段音頻后的部分界面如圖所示下列說法正確的是 ( )A.該音頻素材是 Wave 格式,量化位數為 16 字節,采樣頻率為44.1kHzB.若將左聲道全部選中,執行“刪除”操作后直接保存,則該文件變為單聲道文件C.當前狀態下執行“刪除”操作后,按原參數保存,存儲容量減少D.當前狀態下進行“剪裁”操作后,按原參數保存,存儲容量不變答案 D 本題考查音頻信息的加工與處理,要求學生掌握GoldWave 軟件的應用以及音頻容量的計算等知識。 從題圖中可以看出,此音頻為立體聲雙聲道,當前選中的是左聲道部分數據,此文件的量化位數是 16 位,采樣頻率為 44100Hz。 因此無論“刪除”“剪裁” “靜音”,音頻的時間均不變,從而存儲容量也不變。 故選 D。6.有一段未經壓縮的 PAL 制式(每秒顯示 25 幀)的視頻文件,畫????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????1 6面為 320×240 像素 24 位,屬性如圖所示 將其轉換成 WMV格式文件后的存儲容量約為 5.58MB,則壓縮比約為 ( )A.120 ∶ 1 B.60 ∶ 1 C.30 ∶ 1 D.15 ∶ 1答案 C 本題考查未經壓縮的視頻文件存儲容量的計算。視頻文件存儲容量 =每幀圖片存儲容量×幀頻×時間,而單張圖片存儲容量 = 水平像素數×垂直像素數×像素編碼位數 / 8(單位:字節)。 聲音存儲容量=采樣頻率(Hz) ×量化位數×聲道數×時間(s) / 8(單位:字節)。 根據提供的視頻文件的屬性截圖,不知道圖片的像素位數和聲音的量化位數,因此本題可通過總比特率計算,比特率是指每秒傳送的比特(bit)數。 視頻容量 = 46785×1000×30 / 8 / 1024 / 1024(MB),壓縮比 = 46785×1000×30 / 8 / 1024 / 1024 / 5.58≈30 ∶ 1。 故選 C。7.下列 VB 表達式的值最大的是 ( )A.Int(Sqr(50))B.49 \4 Mod 5C.Val(Mid(" 2019 年 6 月" , 6, 1))D.Len(" 9+8" )答案 A 本題考查 VB 常用的函數和運算的優先級。Sqr(50)相當于 50 ,Int(x)函數是取不超過 x 的最大整數,因此選項 A 的計算結果是 7。 運算符“ \”的優先級高于“Mod”,49 \4 的結果是 12,12 Mod 5 的結果是 2。 Mid( " 2019 年 6月" , 6, 1)是在" 2019 年 6 月"中從 6 位開始取 1 個字符,結果是" 6" ,而 Val(" 6" )的結果是 6。 Len( " 9+8" )是計算字符串" 9+8"的長度,結果是 3。 故選 A。8.如圖是求12+12+12的程序框圖,圖中空白框中應填入 ( )A.A= 1 / (2+A) B.A= 2+1 / AC.A= 1 / (1+2A) D.A= 1+1 / (2A)答案 A 本題考查對算法的理解和對流程圖的認識。 變量 A 存儲計算的結果,流程圖中應用了迭代算法,故選 A。9.下列程序執行后文本框 Text1 顯示的內容是 ( )s = "Inter(R) Core(TM) i3-4130 CPU @ 3.40GHz"flag = False:k = 0For i = 1 To Len(s)ch = Mid(s, i, 1)If ch >= "A" And ch <= "Z" or ch >= "0" And ch <="9" ThenIf Not flag Thenk = k + 1flag = TrueEnd IfElseflag = FalseEnd IfNext iText1.Text = Str(k)A.6 B.9 C.10 D.18答案 B 本題考查 VB 的循環結構和分支結構。 For 循環的作用是依次從字符串 s 中讀取每個字符(結合 Mid 函數),程序的作用為統計字符串 s 中連續大寫字母或數字的字符串個數,If Not flag Then 中條件 Not flag 等價于 flag = False,本題還有一個地方要注意,當取字符為“3.40GHz”中的字符“0”后flag = True,取到“G”時不累加 k 的值。 故選 B。10.有如下 VB 程序段:Function GCD(m As Long, n As Long) As LongDim temp As Long, r As LongIf m < n Then temp = m: m = n: n = tempd = m - nDo While d <> nIf d >= n Thenm = dElsem = nn = dEnd Ifd = m - nLoopGCD = nEnd FunctionPrivate Sub Command1_Click()Text1.Text = Str(GCD(48,36))End Sub程序運行完后,單擊 Command1 按鈕,文本框 Text1 中顯示的是 ( )A.12 B.18 C.36 D.48答案 A 本題考查 VB 的自定義函數及求兩個數最大公約數的“更相減損術”算法。 48 和 36 的最大公約數是 12。故選 A。11.有如下 VB 程序段:Dim a(1 To 5) As Integer, i As IntegerDim flag As Boolean,j As Integera(1) =1 : a(2) = 1 : a(3) = 1 : a(4)= 1 : a(5) = 1RandomizeFor i = 1 To 5j = 1: flag = True????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????2 6 Do While j <= i - 1 And flag = Truea(i) = Int(Rnd ? 5 + 1)If a(i) = a(j) Theni = i - 1: flag = FalseEnd Ifj = j + 1LoopNext i運行程序后,數組中的數據值可能是 ( )A.1 4 3 1 5 B.1 1 3 5 4C.1 2 3 5 5 D.1 3 4 5 6答案 A 本題考查 VB 的循環結構和分支結構以及隨機函數。 For 循環的作用是控制產生 a( i)的次數,每次 Do 循環j 的值從 1 到 i 1,每次隨機產生一個整數 a( i),一方面,a( i)的范圍是[1,5],另一方面,每次產生的數與前一個不重復,否則重新產生。 因此,排除選項 B,C,D。 故選 A。12.如果數組 a(下標 1 到 n)滿足 a(1)≤a(2)≤…≤a( i 1)≤a(i)≥a(i+1)≥…≥a(n),則稱數組 a 是單峰的,并稱 a(i)是數組 a 的“峰頂” 下列程序段用于查找數組 a 中的“峰頂”,并返回該“峰頂”值Dim a(1 To 10) As IntegerFunction Search (L As Integer, R As Integer)As IntegerM = (L + R) \2If a(M) < a(M - 1) And a(M) > a(M + 1) Then(1)ElseIf a(M) > a(M - 1) And a(M) > a(M + 1) Then(2)ElseIf a(M) > a(M - 1) And a(M) < a(M + 1) Then(3)End IfEnd FunctionPrivate Sub Command1_Click()Label1.Caption = "“峰頂” 值是:" + Str(Search(1, 10))End Sub上述程序中劃線處可選語句為:①Search = Search(M + 1 , R)②Search = Search(L , M 1)③Search = a(M)則(1)(2)(3)處的語句依次是 ( )A.①②③ B.①③② C.③①② D.②③①答案 D 本題考查 VB 的遞歸算法及對分查找算法。 如果 a(M) > a(M 1) And a(M) > a(M + 1),則此時的 M 即為“峰頂”,因此(2)處填 Search = a(M);當 a(M) < a(M1) And a(M) > a(M + 1)時,說明“峰頂”在左半區,因此 L不變,R=M 1,(1)處應填 Search = Search(L , M 1)。 故選 D。二、非選擇題(本大題共 4 小題,其中第 13 小題 4 分,第 14 小題 8 分,第 15 小題 7 分,第 16 小題 7 分,共 26 分)13.小李使用 Excel 軟件處理高一年級 620 位學生學考模擬考成績數據,部分數據如圖 a 所示圖 a請回答下列問題:(1)區域 O7:O22 的數據是通過在 O7 單元格輸入公式,并將其自動填充至 O8:O22 得到的,則單元格 O7 的公式是(提示:COUNTIFS 函數用于統計某個區域滿足條件的單元格 個 數 例 如 = COUNTIFS ( C4: C623, M22, K4:K623," > = 70" ,K4:K623," < 80" ) 表示統計數據區域C4:C623 中的值等于單元格 M22 的值,且區域 K4:K623中數值大于或等于 70 并且小于 80 的單元格個數 )(2)小李為了計算物理學科全年段的平均分,他在 D624 單元格輸入公式 = AVERAGE(D4:D623),結果 D624 單元格沒有計算出物理學科的平均分,而顯示 =AVERAGE(D4:D623),分析原因:(3)根據圖 a 所示的數據制作的圖表如圖 b 所示,下列描述正確的是 (多選,填字母)A.該圖表的數據區域為 N6:Q6,M23:Q23B.若將 C4 單元格中的值更改為 10,則該圖表不會發生變化C.將 A4:K623 區域的數據按“物理”列為關鍵字進行降序排序,該圖表不發生變化D.對技術“全卷”列進行如圖 c 所示的篩選操作,篩選后,圖表不會發生變化圖 b圖 c????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????3 6 答案 (1)= COUNTIFS(C$4:C$623,M7,K$4:K$623," >= 70" ,K$4:K$623," <80" )(2)有可能是 D624 單元格格式設置成文本格式(3)BC解析 本題考查 Excel 中的公式,單元格的格式設置,圖表的數據區域及排序、篩選對圖表的影響。 (1)由于區域 O7:O22 的數據是通過在 O7 單元格輸入公式后自動填充得到的,觀察題圖可知單元格 O22 的公式是 =COUNTIFS(C$4:C$623,M22,K$4:K$623," > = 70" ,K$4:K$623," <80" ),可以推斷 O7 的公式是 = COUNTIFS(C$4:C$623,M7,K$4:K$623," > = 70" ,K$4:K$623," <80" )。 (2)如果單元格 D624的格式是“常規”或“數字”,當輸入公式 = AVERAGE(D4:D623)時,會自動計算區域 D4:D623 的平均值,但當單元格D624 的格式是“文本”時,Excel 會把公式識別為文本形式。(3)在圖表中,先根據圖表 x 軸上“全校”,找出區域 M23,再根據圖例找出區域 N6:Q6(或 N3:Q3),然后根據圖表中數據找出相關區域 N23:Q23,根據數據區域的對稱性,得圖表的數據區域是 M3:Q3,M23:Q23 或 M6:Q6,M23:Q23,故選項 A錯誤。 若將 C4 單元格中的值更改為 10,根據公式,將會影響1 班和 10 班的等級人數,但全校各等級的人數不會變化,故選項 B 正確。 對 A4:K623 區域的數據進行排序,A4:K623區域數據將會發生位置變化,而統計全校各等級人數的公式不發生變化,從而圖表也不會改變,故選項 C 正確。 對技術“全卷”列進行篩選操作,則篩選后,部分不滿足條件的數據所在行將被隱藏,有可能導致圖表數據區域所在行被隱藏,這樣會導致圖表發生變化,故選項 D 錯誤。14.小 明 制 作 主 題 為 “ 畢 業 季” 的 多 媒 體 作 品, 首 先 使 用Photoshop 軟件處理圖片,然后使用 Flash 軟件制作動畫 請回答下列問題:圖 a(1)如圖 a 所示,當前狀態下,下列說法錯誤或操作方法不可行的有 (多選,填字母:A.修改左下角 100%為200%,“文檔:384.0K”不變 / B.可以刪除“綠葉右”圖層 /C.圖層“副標題”添加了濾鏡 / D.用“文本”工具修改“文字”圖層中的文字顏色 / E.可以將“副標題”的圖層樣式復制到“背景”圖層) (注:全部選對的得 2 分,選對但不全的得 1 分,不選或有選錯的得 0 分)(2)在作品制作前進行了相應的分析和規劃,其中不屬于腳本編寫的是 (單選,填字母:A.確定該作品“綠葉”等素材需要從網絡中獲取 / B.確定該作品使用 Flash 等軟件制作 / C.根據主題思想和內容,制訂各元素的顯現順序和呈現方式 / D.確定該作品的腳本大綱)(3)如圖 b 所示,“文字動畫”圖層第 1 幀到第 60 幀的動畫實現文字“We graduated!”左移到中間逐漸變成“我們畢業啦!”的效果,則該圖層第 1 幀到第 60 幀的補間類型是圖 b(4)“風車”圖層第 1 幀應用了“風車”元件,測試場景時,風車的支桿時隱時現,“風車”元件編輯界面如圖 c 所示,要使風車的支桿一直呈現,正確的操作是圖 c(5)如圖 b 所示,在“控制” 圖層第 60 幀添加了動作命令“stop();”,“音樂”圖層添加了背景音樂,聲音的屬性如圖 d 所示,測試該場景時能聽到聲音 秒圖 d(6)測試影片時,“片頭”場景中最后幀停止播放,并出現“播放”按鈕,單擊該按鈕,影片跳轉到“主界面”場景第 1 幀并停止播放, 則 “ 播放” 按鈕的動作腳本正確的 有(多選,填字母)A.on(press){Stop();B.on(release){NextFrame();C.on(release){gotoAndStop(1);D.on(press){gotoAndStop("主界面" ,1);E.on(release){Stop("主界面" ,1);(注:全部選對的得 2 分,選對但不全的得 1 分,不選或有選錯的得 0 分)答案 (1)CDE (2)B (3)形狀補間動畫 (4)在“風車”元件的“支桿”圖層第 20 幀處執行“插入幀”操作,然后在第 10 幀處執行“清除關鍵幀”操作(或其他等價操作)(5)6 (6)BD解析 本題考查 Photoshop 和 Flash 的綜合應用。 (1)題圖a 左下角 100%是縮放的比例(調整后圖像大小不變);“綠葉左”圖層全鎖,不能刪除,“綠葉右”圖層雖然與“綠葉左”圖層進行了鏈接,但可以刪除;圖層“副標題”是文本圖層,不能添加濾鏡;“文字”圖層是普通像素圖層,不能用“文本”工具修改其中的文字顏色;“背景”圖層是背景鎖圖層,不能添加圖層樣式,也不能將其他圖層的樣式復制粘貼到這個背景圖層。(2)確定作品使用 Flash 等軟件制作屬于多媒體作品的創作????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????4 6 需求分析。(3)動畫實現文字從一種狀態逐漸變成另外一種狀態的效果屬于形狀補間動畫。(4)“風車”元件的“支桿”圖層第 10 幀是空白關鍵幀,之后沒有幀,要使測試影片時始終顯示支桿,可以在“支桿”圖層最后幀處插入幀,然后在第 10 幀處執行“清除關鍵幀”操作,使該幀變成普通幀。 或先將第 10 幀移動到第 20 幀,然后在第 20 幀處執行“清除關鍵幀”操作。(5)聲音的同步屬性是“數據流”,對照時間軸,如果播放次數為 1,則聽到聲音 3.5 秒(35 幀 / 10fps), 由于重復次數為2,所以 2×3.5= 7 秒,但因為該場景到第 60 幀就停止播放,所以測試該場景時能聽到聲音 6 秒。(6)當前場景在“片頭”,下一場景是“主界面”,對按鈕可以添加的動作命令為:on(press){gotoAndStop("主界面",1);}或 on(release){gotoAndStop("主界面",1);},動作命令“NextFrame();”的作用是將播放移到下一幀(停止播放),由題意知當前在“片頭”的最后一幀,下一幀即為“主界面”的第 1 幀。15.IPV6 的地址長度為 128 bit,采用十六進制表示 格式為 X:X:X:X:X:X:X:X,其中每個 X 表示地址中的 16 bit,以十六進制表示 其中每個 X 的前導 0 是可以省略的例如:2018:0DB8:00BA:0023:0008:080B:202C:417A,去掉前導 0 后變成 2018:DB8:BA:23:8:80B:202C:417A,然后對X 進行左右交替上升排序,最后得到 2018:23:8:BA:DB8:80B:417A:202C 編程實現如下功能:在文本框 Text1 中輸入原始 32 位十六進制 IPV6 地址,單擊“去前導零并排序”按鈕 Command1,去掉 IPV6 的前導 0 后進行左右交替上升排序,并在文本框 Text2 中輸出,程序運行界面如圖所示(1)要使程序運行時,文本框 Text2 的寬度等于文本框 Text1的寬度,可在 Form Load 事件過程中添加語句 (單選,填字母:A.Width2 = Width1 / B.Text2.Width = Text1.Width / C.Text1.Width = Text2.Width)(2)請在劃線①處填入合適的代碼(3)程序代碼中,②處語句加框部分有錯,請改正(4)請將③處語句補充完整Private Sub Command1_Click()Dim ipv6 As String, c As String, a(1 To 8)As StringDim i As Integer, n As Integer, j As Integer, LAs IntegerDim flag As Boolean '前導 0 判斷,false 表示前導 0,true 表示非前導 0ipv6 = Text1.TextL = Len(ipv6): n = 1: j = 1i = 1: flag = FalseDo While i < Lc = Mid(ipv6, i, 1)'①填空If c = ":" Thena(n) = Mid(ipv6, j, i - j - 1)j = in = n + 1flag = FalseElseIf c <> "0" Thenflag = TrueElseIf Mid(ipv6, i, 1) = ":" Thenflag = TrueElseIf c = "0" Then '②改錯,判斷 0 是否需要去除j = j + 1End IfLoopa(n) = Mid(ipv6, j, i - j + 1)'以下開始對數組 a 的元素進行左右交替上升排序start = n: finish = 2For i = 1 To n - 1step_value = (-1) ^ iFor j = '③補充程序If a(j) < a(j + step_value) Thent = a(j): a(j) = a(j + step_value):a(j+ step_value) = tEnd IfNext jstart = start + step_valuet = start: start = finish: finish = tNext i'文本框 Text2 中輸出去前導零并重排后的 ipv6 地址,代碼略End Sub答案 (1)B (2) i = i + 1(3)ElseIf c = " 0" And flag = False(4)start To finish Step step value解析 (1)將文本框 Text1 的寬度值賦值給文本框 Text2,因此答案為 B。(2)Do 循環語句的作用是依次讀取文本框 Text1 中每一個字符,變量 i 控制循環的次數,因此答案為 i = i + 1。(3)當前導零出現時,此零要去掉,而非前導零要保留,判斷前導零的標志是 flag = False。(4)此排序是冒泡排序的變形,第一次從最后一個開始從右向左,當前數據與左邊進行比較,若當前數據比左邊要小,則進行交換,將最小 1 個數據排到第 1 個位置;第二次從左邊第二個開始從左向右,當前數據與右邊比較,若當前數據比右邊要小,則進行交換,將次小 1 個數據排到最后 1 個位置。 內循環用變量 start、finish 分別表示比較開始、結束的值,變量step value 控制循環的方向。以 8 個數據為例,第一遍,從右往左,即從第 8 個到第 2 個,當前數據與前一個比較,即 start = 8,finish = 2,a( j) <a( j 1),因此 step value= 1;第二遍,從左往右,即從第 2 個到第 7 個,當前數據與后一個比較,即 start = 2,finish = 7,a( j) <a( j+1),因此 step value= 1;第三遍,從右往左,即從第 7 個到第 3 個,當前數據與前一個比較,即 start = 7,finish = 3,a( j) <a( j 1),因此 step value= 1;……16.某種字符加密方法描述如下(加密前后的字符都是“A” ~“Z”):·以 m 個字符為一段,將 n 個待加密字符依次分割成若干個字符段,剩余字符(個數小于 m)為獨立字符段·字符加密規則:字符個數等于 m 的字符段,先進行字符變????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????5 6 換,再進行位置變換,得到加密字符段 字符個數小于 m 的字符段,只進行字符變換,直接得到加密字符段·依次合并加密字符段,即為最后的加密字符字符變換:將字符后移密鑰數組 x(元素個數為 m,值為 0~ 26的整數)位,方法如下: “A”后移 5 位得到“F”, “Z”后移 5位得到“E”位置變換:用位置變換密鑰數組 y(元素個數為 m,值為 1~ m的不重復整數),將上述值變換后的 m 個元素進行段內位置變換,方法如下: 加密后數據段第 y( i)個元素 =字符移動后第 i 個元素例如,n= 5,m= 3 的字符“ABCDE”加密過程如下:(1)已知 m= 3,數組 x 與數組 y 中的數據如表所示,則待加密數據段“HELLO”加密后的數據段為 (填字符)x( ) x(2) x(3)5 0 5y( ) y(2) y(3)3 2(2)小明根據上述加密算法,設計了一個對應的解密程序,運行界面如圖所示,其 VB 代碼如下,請在劃線處填入合適的代碼(解密與加密使用相同的密鑰數據) (注“A”的ASCII 碼值為 65)Private Sub Command1_Click()Const n = 100Const m =3Dim i As Integer, j As IntegerDim a (1 To n) As Integer, b (1 To n) AsIntegerDim x (1 To m) As Integer, y (1 To m) AsInteger'讀取值變換與位置變換密鑰數據,分別保存在數組x 與 y 中,代碼略'讀取待解密字符,將相應的 ASCII 值保存在數組a 中,代碼略'下面進行位置變換:位置變換后數據保存到數組b 中For i = 1 To ①For j = 1 To m②Next jNext iFor i = (n \m) ? m + 1 To nb(i) = a(i)Next i'下面進行字符變換: 字符變換后數據仍保存到數組 b 中j = 1For i = 1 To nb(i) = ③j = j + 1If j > m Then j = 1Next i'輸出解密后數據,代碼略End Sub答案 (1)OAMQY(2)①n\m②b(( i 1)?m+j) = a(( i 1)?m+y( j))③ASC(" A" )+(b( i) ASC(" A" ) x( j) + 26)Mod 26解析 (1)將“HELLO”字符分成兩組:“HEL” “LO”,第 1組“HEL”中的字符分別向后移動 5,10,15 位,變換后變成“MOA”,位置變換后變成“OAM”;第 2 組“LO” (不足 3 個,只進行字符變換,直接得到加密字符段)中的字符分別向后移動 5,10 位,變換后變成“QY”,最后得到加密字符段為“OAMQY”。(2)①n 個字符分成 m 段,共分成 n \m 段(不含字符個數小于 m 的段),②處的內循環每次處理 m 個數據,所以①處的外循環表示共有多少整數段,因此①處的答案為 n \m。②位置變換后的數據存儲在數組 b 中: 當 i = 1 時,完成第 1段數據變換,即 b( j) = a(y( j));當 i = 2 時,完成第 2 段數據變換,即 b(m+j) = a(m+y( j));當 i = 3 時,完成第 3 段數據變換,即 b(m?2+j) = a(m?2+y( j));當 i = 4 時,完成第 4段數據變換,即 b(m?3+j) = a(m?3+y( j));……歸納得出第 i 段數據變換為 b(( i 1)?m+j) = a(( i 1)?m+y( j)),所以②處答案為 b(( i 1)?m+j) = a(( i 1)?m+y( j))。③首先將 26 個字母的 ASCII 碼值變成索引碼 0 ~ 26,加密時是后移 x( j)位,而解密時是前移 x( j)位,所以我們要減去 x( j),當差值為負時,可以再加上 26,除以 26,求余數,得出相應的索引碼,然后變成相應字符的 ASCII 碼值。 綜合兩種情況,表達式為:b( i) = ASC( " A" ) +(b( i) ASC( " A" ) x( j) + 26)Mod 26。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????6 6 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫