2字符串处理信息技术选考.docx
- 文档编号:25528718
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:36
- 大小:254.58KB
2字符串处理信息技术选考.docx
《2字符串处理信息技术选考.docx》由会员分享,可在线阅读,更多相关《2字符串处理信息技术选考.docx(36页珍藏版)》请在冰豆网上搜索。
2字符串处理信息技术选考
1.在一段英语短文(存储在字符串变量s中),已经某单词的结束位置t和单词的长度n,用VB表达式Mid(s,t-n+1,n)表示该单词。
2.判断字符ch是大写字母的条件表达式是ch>=”A”Andch<=”Z”。
3.判断一个字符ch是小写字母的表达式是ch>=”a”Andch<=”z”。
4.判断一个字符ch是数字的表达式是ch>=”0”Andch<=”0”。
5.判断一个字符ch是字母的表达式是ch>=”A”Andch<=”Z”Orch>=”a”Andch<=”z”。
6.大写字母ch,转换为小写字母语句Chr(Asc(ch)+32)。
7.小写字母ch,转换为大写字母语句Chr(Asc(ch)-32)。
8.生产一个随机大写字母ch的语句Chr(Asc(“A”)+Int(Rnd*26))。
9.生产一个随机小写字母ch的语句Chr(Asc(“a”)+Int(Rnd*26))。
10.大写字母ch在字母表中位置Asc(ch)-Asc(“A”)+1。
11.小写字母ch在字母表中位置Asc(ch)-Asc(“a”)+1。
12.观察下表中字母在字母表中位置与其ASCII码值的关系
在字母表中位置t
大写字母
大写字母ASCII值i
小写字母
小写字母ASCII值j
1
A
64+1
a
96+1
2
B
64+2
b
96+2
3
C
64+3
c
96+3
……
……
……
……
……
25
Y
64+25
y
96+25
26
Z
64+26
z
96+26
1.(2019·6月浙江选考)小宇为选定班级参赛作品编写了一个VB程序,设计如下:
在文本框Text1内输入5位评委对3个作品的评分数据(评委对作品的评分数据出3位十进制数组成,第1位对应作品编号,第2、3位对应作品得分,分值范围为[60,99]。
如“275”表示2号作品得分75)。
单击“计分”按钮后,在标签Label1中输出3个作品的平均分,在标签Label2中输出参赛的作品(选择最高平均分作品参赛,若最高平均分存在并列,则从并列作品中随机抽取):
程序运行界面如图所示。
(1)“计分”按钮的对象名为________。
(2)程序部分代码如下,请在划线处填入合适代码。
PrivateSubjf_Click()
DimsAsString,dAsString,iAsInteger
DimfAsSingle,f2AsSingle,f3AsSingle
s=Text1.Text
i=1
DoWhile____①____
d=Mid(s,i,3)
IfMid(d,1,1)=“1”Then
f1=f1+Val(Mid(d,2,2))
ElseIfMid(d,1,1)=“2”Then
f2=f2+Val(Mid(d,2,2))
Else
f3=f3+Val(Mid(d,2,2))
EndIf
②____
Loop
Label1.Caption-“作品1平均分为:
”+Str(f1/5)+“作品2平均分为!
”+Str(f2/5)+“作品3平均分为:
”+Str(f3/5)
′以下省略“处理并列最高平均分,并在Label2中输出选取的参赛作品”的代码
EndSub
(3)运行该程序时,在文本框Text1中以不同的顺序输入原评分数据:
380/295/283/170/180/385/372/285/190/180/390/384/272/170/276,单击“计分”按钮,则Label1中显示的结果____________(选填:
会/不会)发生改变。
答案
(1)jf
(2)①i<=Len(s) 或i 2.(2019·4月浙江选考)小王设计“模拟撤销”程序,需要用一个“历史记录”,“历史记录”是在对字符串s进行插入或删除时,将每步操作信息依次存储得到的,操作信息由操作符(“+”表示插入,“-”表示删除)、操作位置和操作字符串(只包含英文字母)构成,例如,“+23abc”表示在字符串s第23个位插入了“abc”,“模拟撤销”过程按照“历史记录”的逆序进行,将字符串s的内容恢复到初始状态。 对字符串“Book”的操作与撤销过程,如图a所示。 小王编写的“模拟撤销”VB程序如下,文本框Text1中的内容是撤销前字符串,文本框Text2中的内容是历史记录,单击“撤销”按钮Command1后,在标签Label1中显示撤销过程,程序运行界面如图b所示。 (1)实现上述功能的VB程序如下,在程序中出现的对象没有Caption属性的是________。 (选填,填字母: A.Label1 /B.Command1 /C.Text1和Text2) (2)请在划线处填入合适代码。 PrivateSubCommand1_Click() DimsAsString,tAsString,chAsString DimcAsString,numAsString,ssAsString DimnAsInteger,iAsInteger s=Text1.Text: t=Text2.Text c=“ ”: num=“ ”: ss=s Fori=Len(t)To1Step-1 ____①______ Ifch>=“a”Andch<=“z”Orch>=“A”Andch=“Z”Then c=ch+c ElseIfch>=“0”Andch<=“9”Then num=ch+num Else n=Val(num) Ifch=“-”Then s=Mid(s,1,n-1)+____②____ Else s=Mid(s,1,n-1)+Mid(s,n+Len(c),Len(s)-n-Len(c)+1) EndIf ss=ss+“→”+s c=“ ”: num=“ ” EndIf Nexti Label1.Caption=ss EndSub (3)运行该程序,若文本框Text1中的内容是“April”,文本框Text2中的内容是“-3p+3ri-6e”,单击撤销按钮,For循环语句执行完成后,字符串s的值是“________”。 答案 (1)C (2)①ch=Mid(t,i,1) ②c+Mid(s,n,Len(s)-n+1) (3)”Apple” 3.(2018·11月浙江选考)在平面坐标系中,给定一组有序的点。 从原点出发,依次用线段连接这些点,构成一条折线。 要求编写一个“计算折线长度”的程序,功能如下: 在文本框Text1中依次输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算这条折线的长度,结果显示在Label1中。 例如,三个点的坐标(5,10)、(8,12)、(6,17)输入格式如图所示。 (1)Cmd对象属于________类。 (单选,填字母: A.Form/B.Label/C.TextBox/D.CommandButton) (2)实现上述功能的VB程序如下,请在划线处填入合适代码。 PrivateSubCmd_Click() DimiAsInteger,jAsInteger,kAsInteger Dimx1AsSingle,y1AsSingle,x2AsSingle,y2AsSingle DimdAsSingle,TotaldAsSingle,vAsSingle,sAsString s=____①____ x1=0: y1=0 ′出发点为坐标原点 k=1: j=1: Totald=0 Fori=1ToLen(s) IfMid(s,i,1)=“,”Then v=Val(Mid(s,j,i-j)) ′提取坐标值,保存在变量v中 j=i+1 If____②____Then x2=v Else y2=v d=Sqr((x2-x1)^2+(y2-y1)^2) Totald=Totald+d x1=x2: y1=y2 EndIf k=k+1 EndIf Nexti Label1.Caption=Str(Totald) EndSub (3)运行该程序,输入数据如上图所示,程序执行到循环结束时,变量k的值为________。 答案 (1)D (2)①Text1.Text ②kMod2=1(3)7 4.(2017·11月浙江选考)编“字符串生成”程序,实现如下功能: 在文本框Text1中(字符位置)输入多个正整数(以“,”为分割符和结束符),单击“生成”按钮Command1,程序以这些整数为位置信息,依次从文本框Text2中(字典内容)提取字符并连接成字符串,最后将字符串显示在标签Label1中(生成内容)。 程序运行界面如下图所示。 (1)要使程序运行时,窗体Form1标题显示“字符串生成”,可在Form_Load事件过程中添加语句________(单选,填字母: A.Form1=“字符串生成”/B.Form1.Text=“字符串生成”/C.Form1.Caption=“字符串生成”)。 (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。 PrivateSubCommand1_Click() DimsAsString,tAsString,cAsString DimiAsInteger,pAsInteger s=“ ”: t=“ ” Fori=1ToLen(Text1.Text) c=Mid(Text1.Text,i,1) Ifc=“,”Then p=Val(t) s=s+Mid(Text2.Text,p,1) t=“ ” Else t=____①____ EndIf Nexti Label1.Caption=____②____ EndSub (3)若文本框Text1中输入内容的结束符缺失(即输入内容为1,18,9,9),单击“生成”按钮后,标签Label1中显示的内容是________。 答案 (1)C (2)①t+c 或t&c 或其他等价表达式 ②s(3)pas 5.小王编写了一个实现文字查找替换功能的VB程序,运行界面如图所示。 文本框Text1显示原文内容,Text2中输入查找内容,Text3中输入替换内容,单击“全部替换”按钮Command1后,Text4显示查找替换的结果,Text5中显示替换的次数,Text6显示“查找内容”在原文中的起始位置。 实现上述功能的VB程序如下,但加框处代码有错,请改正。 PrivateSubCommand1_Click() DimsAsString,resuleAsString,posAsString DimcountAsInteger,iAsInteger i=1: count=0 resule=“ ”: pos=“ ” DoWhilei<=Len(Text1.Text) s=Mid(Text1.Text,i,Len(Text2.Text)) Ifs=Text2.TextThen result=result+Text3.Text count=count+1 pos= ′ (1) i=i+Len(Text2.Text) Else ′ (2) i=i+1 EndIf Loop Text4.Text=result Text5.Text=Str(count) Text6.Text=pos EndSub 答案 (1)Str(i) (2)result=result+Mid(text1.text,i,1) 6.程序实现功能: 在文本框Text1中输入字符串s1,在文本框Text2中输入字符串s2,单击“合并”按钮Command1,按如下规则依次从中取出各字符进行合并,合并后的结果显示在标签Label3中。 合并规则如下: ①当字符串1的长度大于字符串2时,将字符串s2中的各个字符从左侧依次插入到字符串s1中的各字符后方。 例如字符串1为“abcdef”,字符串2为“123”时,合并后的字符串为“a1b2c3def”。 ②当字符串s2的长度大于等于字符串s1时,将字符串1中的各个字符从右侧依次插入到字符串2中的各个字符后方。 例如字符串1为“abcd”,字符串2为“12345”时,合并后的字符串为“12d3c4b5a”。 程序运行界面如图所示: (1)要使程序运行时,窗体Form1标题显示“字符串合并”,可在Form_Load事件过程中添加语句______(单选,填字母: A.Form1.Caption=”字符串合并”/B.Label1.Caption=”字符串合并”/C.Text.Text=”字符串合并”)。 (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。 PrivateSubCommand1_Click() Dims1AsString,s2AsString,ansAsString DimnAsInteger,mAsInteger,iAsInteger s1=Text1.Text: s2=Text2.Text m=Len(s1): n=Len(s2)ans=“ ” If____①______Then Fori=1Ton ans=ans+Mid(s1,i,1)+Mid(s2,i,1) Nexti ans=ans+Mid(s1,i,m-n) Else Fori=1Tom ans=____②____+Mid(s1,i,1)+ans Nexti ans=Mid(s2,1,n-m)+ans EndIf Label3.Caption=”合并后为: ”+____③____ EndSub 答案 (1)A (2)①Len(s1)>Len(s2) ②Mid(s2,Len(s2)-i+1,1) 7.单词倒序加密法。 把明文中每个单词首尾颠倒进行加密,空格、标点等其他字符按原来顺序输出。 在文本框Text1中输入密文,单击“解密”按钮Command1,按加密的规则,在文本框Text2中输出解密后的字符。 程序运行时的界面如图所示。 实现上述功能的VB程序如下,请在划线处填入合适代码。 PrivateSubCommand1_Click() DimiAsInteger,sAsString,chAsString DimnewchAsString,s1AsString ____①____ newch=” ” s1=” ” i=1 DoWhilei<=Len(s) ch=Mid(s,i,1) Ifch>=”A”Andch<=”Z”Orch>=”a”Andch<=”z”Then s1=ch+s1 Else newch=____②____ s1=” ” EndIf ____③____ Loop Ifs1<>” ”Thennewch=newch+s1 Text2.Text=newch EndSub 答案 ①s=Text1.Text ②newch+s1+ch ③i=i+1 8.在平面坐标系中,给定任意个点,求出这些点中与点(1,1)距离最远的点。 小李编写出了相应功能的程序: 在文本框Text1中输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Command1后,程序计算这些点到(1,1)的距离后,结果显示在列表框List1中,并且输出最大距离的点。 程序运行界面如图所示。 (1)实现上述功能的VB程序如下,请在划线处填入合适代码。 PrivateSubCommand1_Click() Dimi,kAsInteger Dimx1,y1,x2,y2AsSingle DimvAsSingle,maxdAsSingle DimsAsString,posAsString s=Text1.Text x1=1: y1=1 t=” ”: k=1: j=1 List1.AddItem”坐标点”&” 距离” Fori=1ToLen(s) IfMid(s,i,1)=”,”Then v=Val(Mid(s,j,i-j)) j=__①____ IfkMod2=1Then x2=v Else y2=v d=Sqr((x2-x1)^2+(y2-y1)^2) If____②____Then maxd=d pos=”(”&Str(x2)&”,”&Str(y2)&”)” EndIf List1.AddItem”(”&Str(x2)&”,”&Str(y2)&”) ”&Str(d) EndIf k=k+1 EndIf Nexti Label1.Caption=”距离(1,1)最远的点为”&pos&”距离为”&Str(maxd) EndSub (2)若文本框Text1中输入的内容为“31,41,26,51,1,56,”,程序运行结束后,距离(1,1)最远的坐标点是______。 答案 (1)①i+1 ②maxd (2)26,51 9.小李编写了一个北京时间与世界部分城市时间转换的VB程序,功能如下: 在文本框Text1、Text2和Text3中分别输入北京时间的时、分和秒,单击“计算”按钮Command1后,在列表框List12中显示其他城市对应的时间。 (1)将下列程序代码补充完整。 PrivateSubCommand1_Click() DimiAsInteger,s1AsString,tAsInteger,str1AsString str1=”法国巴黎,-7;俄罗斯莫斯科,-5;泰国曼谷,-1;日本东京,+1;澳大利亚墨尔本,+2;美国纽约,+9;加拿大温哥华,+12;” Fori=1ToLen(str1) ch=Mid(str1,i,1) Ifch=”,”Then ____①____ s=” ” ElseIfch=”+”Then t=1 ElseIfch=”-”Then t=-1 ElseIfch=”;”Then t=____②____+Val(Text1.Text) t=(t+24)Mod24 List1.AddItems1+Str(t)+”: ”+Text2.Text+”: ”+Text3.Text s=” ” Else s=s+ch EndIf Nexti EndSub (2)英国伦敦在北京西方,相差7个时区,若北京时间凌晨4点,伦敦的时间是________点(24小时制)。 答案 (1)①s1=s ②Val(s) (2)21 10.编写VB程序,实现如下功能: 在文本框Text1中输入一个字母,单击“产生回文字母”按钮Command1,在标签Label2中显示相应的回文字符串。 例如: 若输入的是大写字母“G”,则产生从“A”开始的回文字母“ABCDEFGFEDCBA”;若输入的是小写字母“g”,则产生从“a”开始的回文字母“abcdefgfedcba”。 运行效果如图所示。 (1)观察运行界面,选项中没有用到的控件是______(选填: )。 (2)请完善下列程序代码: PrivateSubCommand1_Click() DimnAsInteger,iAsInteger,initAsInteger,mAsString,sAsString m=Text1.Text: s=” ” Ifm>=”a”Andm<=”z”Theninit=Asc(”a”) Ifm>=”A”Andm<=”Z”Theninit=Asc(”A”) n=Asc(m)-init+1 Fori=1To____①____ Ifi<=nThen s=s+Chr(Asc(m)+i-n) Else s=s+____②____ EndIf Nexti Label2.Caption=s EndSub (3)运行该程序时,如果在文本框Text1中输入数字“9”,则输出的结果会不会是“0123456789876543210”________。 (选填: 会/不会) 答案 (1)D (2)①2*n-1 ②Chr(init+2*n-i-1)或Chr(Asc(m)+n-i) (3)不会 11.李雷收到了朋友发给他的一封奇怪的邮件,里面有段内容是由一些数字和符号组成,信上面说了,这段内容是加密后的内容,并给出了具体加密方法(假定原文的英文字母都是大写的),具体方法如下: ①“A”变为一个1到100内的随机数*27+1,“B”变为一个1到100内的随机数*27+2,……, ②每个字母变为数字后会加上一个“-”用来分割数字; ③其他空格和标点字符都按原来的表示。 (1)根据描述,若密文为“1905-1442-”,则表示的是: ____________。 (2)请在划线处填入合适的代码。 PrivateSubCommand1_Click() DimsAsString,ywAsString,chAsString DimvalueAsInteger′用于存储某字母在密文中对应数值的临时变量 s=Text1.Text value=0: yw=” ” Fori=1ToLen(s) ch=Mid(s,i,1) Ifch>=”0”Andch<=”9”Then value=____①____
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字符串 处理 信息技术