浙江省信息技术选考加试题17题解析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浙江省信息技术 17题解析 第17题 解压缩 算法分析: (1)第1个数据如果不是0,那就是数据本身,不需要解压缩 (2)第1个数据如果等于0 第2个数据也为0,解压结果为0,[0,0]→0 第2个数据不等于0,多个重复,[0,5,0]→0 0 0 0 0 第17题 (1)小题 解析 “23,0,21,66,0,0,77,0,5,0” 分组 “[23],[0,21,66],[0,0],[77],[0,5,0]” 含义: “[1个23],[21个66],[1个0],[1个77],[5个0]” 即:1+21+1+1+5=29个 如果压缩数据为“23,0,21,66,0,0,77,0,5,0”,则解压缩数据的个数是 。 pa=1,pb=1 (示例1) 25 0 0 0 7 78 25 pa=1 数组a 数组b pb=1 25 0 0 0 7 78 25 pa=2 数组a 数组b pb=2 直接赋值b(pb) = firstdata,然后下标pa和pb都加1 +1 +1 pa=2,pb=2 (示例2) 25 0 0 0 7 78 25 0 pa=2 count 数组a 数组b pb=2 25 0 0 0 7 78 25 0 pa=4 数组a 数组b pb=3 第一个数据为0,并且第二数据count=0,赋值b(pb)=0,然后下标pa加2和pb加1 +2 +1 count = a(pa + 1) If count = 0 Then 示例2情况处理 b(pb) = 0 pa = pa+2 : pb = pb + 1 pa=4,pb=3 (示例3) 25 0 0 0 7 78 25 0 78 78 78 78 78 78 78 pa=7 数组a 数组b pb=10 第一个数据为0,第二数据count=7,重复赋值7次 变量i从1到7,b(pb+i-1)=a(pa+2),然后下标pa加3和pb加7 25 0 0 0 7 78 25 0 78 78 78 78 78 78 78 pa=4 count pa+2 数组a 数组b pb=3 pb+i-1 For i = 1 To count b(pb+i-1)=a(pa+2) Next i pa = pa + 3: pb = pb + count +3 +7 b(pb+i-1)=a(pa+2) 17题改编 字母串解压缩 由英文字母构成的字符串数据压缩方法描述如下: 1)原始数据中,字母相邻无重复,压缩数据用该字母表示; 2)原始数据中,字母相邻重复,压缩数据用1个整数和该字母表示。例如: ABBCCCCCD 压缩后 A2B5CD 小明编写了一个解压缩VB程序,功能如下:程序运行时,在文本框Text1中输入压缩数据,点击按钮Command1,在文本框Text2显示解压缩之后的数据。运行程序如下图所示: 算法分析 Aa2B3C12D AaBBCCCDDDDDDDDDDDD 解压 算法思想: 字符串S1从左往右遍历,依次判断每个字符。 如果当前字符是字母,不需要解压,直接累加到字符串S2中 如果当前字符不是字母 从左往右遍历,找出数字字符串(该整数count代表后面字母的重复个数) 将数字后面的第一个字母重复count次累加到字符串S2中 S1 S2 情况1:当前字符是字母(变量i指向当前处理字符) Aa2B3C12D2F A S1 S2 i=1 fd = Mid(s1, i, 1),fd为字母,则s2 = s2 + fd 然后,i = i + 1,准备继续判断下一个字符 Aa2B3C12D2F S1 i=2 +1 情况2:当前字符不是字母 Aa2B3C12D2F S1 i=7 fd = Mid(s1, i, 1),fd为数字,则通过循环判断连续数字个数 字母重复数count=Mid(s1, i, j - i)即为“12”,字母fd = Mid(s1, j, 1) j = i + 1 :fd = Mid(s1, j, 1) Do While fd不是字母 j = j + 1 fd = Mid(s1, j, 1) Loop Aa2B3C12D2F S1 i=7 j=9 上述循环结束时,变量i,j的值如下所示 字母重复数count=Mid(s1, i, j - i)即为“12”,字母fd = Mid(s1, j, 1)即为“D” Aa2B3C12D2F S1 i=7 j=9 For k = 1 To count

文档评论(0)

158****2509 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档