版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.3计算机程序与程序设计语言(2)
学校:姓名:班级:考号:
一、选择题
1.计算机能直接识别和执行的的语言是()
A.汇编语言B.机器语言C.高级语言D.C语言
2.现有流程图如下,关于流程图的说法正确的是()
A.运行后,输入语句一定会被执行三次
B.程序运行后,输入语句至少会被执行一次
C.该程序的循环次数为3次
D.第一次输入guess的值为8,则程序运行结果为“对不起,你失败了!”
3.计算机能够直接识别和执行的程序设计语言是()。
A.低级语言B.汇编语言C.机器语言D.高级语言
4.x和n都是正整数且x<=n,下列选项中,与语句“x=xModn+l”功能相同的是()
A.x=(x+l)Modn
B.x=x+l
Ifx=nThenx=l
C.x=x+l
Ifx=n+lThenx=l
D.x=x+l
Ifx=n+lThenx=0
5.下面程序执行结束,文本框Textl中显示()
PrivateSubForm__Click()
a="123":b="456"
c=Val(a)+Val(b)
Textl.Text=str(c\100)
EndSub
A.123B.3C.5D.579
二、简答题
6.高级语言的编译过程和解释过程各有什么优势和不足。
7.程序设计语言有哪些,分别具备什么特点。
三、填空题
8.以下流程图描述的算法,执行结果是
9.编写VB程序,实现如下功能:单击“计算”按钮,在列表框Listl中产生10个[1,
99]随机数,文本框Textl显示相邻两个数字之间相差最大的差值。运行界面如图所示.
(1)窗体上,“计算”按钮的对象名是O
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Privatesubcmdl_click()
Dimb(lto10)asinteger
DimIasinteger,maxasinteger,aasinteger;casinteger
Max=0
Fori=lto10
Randomize
A=int(rnd*99)+1
Listl.additemstr(a)
Nexti
Fori=2to10
C=________________
Ifc>maxthen__________________
NextI
Endsub
四、判断题
10.需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计
就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。
()
五、操作题
11.某数据解密算法描述如下:
(1)在输入的数字字符串中依次提取有效的密文,有效的密文的特点:
①是一组连续的,都小于5的三位数字串;②每个位置上的数字不能被重复提取:
(2)对有效密文进行解密的过程:
将密文作为一个五进制数转换为对应的十进制数值,根据ASCII字符的十进制编码表,
得出对应的明文字符(提示:空格符所对应的ASCII码值为十进制数32,小写字母“z”
所对应的ASCII码值为十进制数122).
例如,密文242转换成十进制数为72,对应的明文字符为大写字母“H”。
程序运行界面如下图所示,在文本框Textl中输入密文,单击“解密”按钮,在文本
框Text2中输出解密后的明文密码。
(1)若输入的密文为“841497230235”,则对应的明文是.
(2)实现上述功能的VB代码如下,划线处的语句有错,应改为
(3)请在划线处填入合适的代码.
'以下代码是将有效密文数字转换为十进制数的函数
Functionconv(pAsString)AsInteger
DimkAsInteger,qAsString,iAsInteger
k=O:g=""
Fori=1To3
q=Mid(p,i,1)
Nexti
conv=k
EndFunction
PrivateSubCommandl_Click()
DimstAsString,pAsString,resAsString
DimclAsString,c2AsString,c3AsString
DimiAsInteger,dAsInteger,nAsInteger
st=Textl.Text:n=Len(st)
i=1:res="n
DoWhilei<=n-2'提取有效密文,并进行转换
cl=Mid(st,i,1):c2=Mid(st,i+1,1):c3=Mid(st,i+2,1)
IfOrc2<”5"Orc3<“5"Then
d=conv(p)
Ifd>=32Andd<=122Thenres=res+Chr(d)
Else
i=i+1
EndIf
Loop
Text2.Text=res
EndSub
12.如果一个正整数从左到右读与从右到左读是一样的,就称它为回文式数(简称回
数),如图321。“回数猜想”的主要思想是,对任意正整数,若它不是回数,则按下
列算法即可获得一个回数:
(1)把该整数的数字顺序颠倒,求得该数的逆序数;
(2)将该整数和其对应的逆序数相加;
(3)若相加结果不是回数,则将结果作为新的整数,返回步骤(1)»
小林按照上述算法,设计了验证回数猜想的VB程序(猜想次数不超过10次),程序
功能如下:在文本框Textl中输入一个正整数,单击“验证”按钮(Command1),获
取文本框Textl中的数,当该数不是回数时,采用回数猜想的方法进行验证,并在列
表框Listl中输出每次验证的过程,若验证成功或验证次数超过10次,则停止验证,
最后在列表框Listl中输出验证结果。程序运行效果如图所示。
5回教猜想|o||回~~||w£3w|
正整数:一||…际"…||
199+991=1190
1190+911=2101
2101+1012=3113
始证成功!
实现上述功能的VB程序如下:
PrivateSubCommandl_Click()
DimtAsString,aAsLong,bAsLong
DimcountAsInteger'count用于存储回数猜想的验证次数
t=Text1.Text
count=1
DoWhileCheck⑴=FalseAndcount<=10
a=Val(t)
①
c=a+b
Listl.AddltemStr(a)&"+"&Str(b)&"="&Str(c)
count=count+1
t=c
Loop
IfCheck(t)Then
Listl.Addltem”验证成功!”
Else
Listl.Addltem”10次内未验证成功!”
EndIf
EndSub
,自定义函数Turn
FunctionTurn(xAsString)AsLong
DimsAsString,iAsInteger
smi
Fori=Len(x)To1Step-1
s=s&Mid(xz\,1)
Nexti
Turn=_________②________
EndFunction
,自定义函数Check,检查x是否为回文数
FunctionCheck(xAsString)AsBoolean
DimiAsInteger
Check=True
Fori=1ToLen(x)\2Step1
IfMid(x,i,1)<>(3)ThenCheck=False
mid(x,len(x)+l-i,l)
Nexti
EndFunction
(1)程序代码中,自定义函数Turn(x)的功能是
(2)请在划线处填入合适代码。
13.某高一班主任需要对刚入学的新生排座位,教室座位按6排8列进行摆放(班
级学生数不超过48个),并且要求每列的学生按身高从低到高排列。编写VB程序,
实现教室排座位功能:单击“读取数据”按钮Commandl,从数据库中读取该班所有
同学的班内学号(两位数字)和身高数据(3位数字),并在列表框Listl中按8个
一行显示;单击“排座位”按钮Command2,对每列数据按身高从小到大排列,并
显示在列表框List2中。程序运行界面如图所示,请回答下列问题:
0琲座位I。I回I—W
[T
171[01]166(02]670r3J15804]159[05]173(06]150[07]172[08]
LJ
174[09]171[10]51r11T162[12]175(13]173[14]161[15]178[16]
781L9J
176[17]151(18]rT160[20]165[21]173(22]151[23]167[24]
682L7J
164[25]158[26]rT169[28]157[29]158[30]174⑶]174[32]
773L5J
167[33]179(34]704r3T156[36]170[37]179(38]157[39]166[40]
153[41]179(42]LJ150[44]167[45]
排座位
rT
51lJ
153141]151(18]7r11T150[44]157[29]158[30]150[07]166[40]
6LJ
164[25]158(26)r03T156[36]159(05]173(14]151[23]167[24]
68L27J
167[33]166(02]rT158[04]165[21]173[22]157[39]172[08]
70l43J
171[01]171(10)rT160[20]167[45]173(06]161[15]174[32]
77L35J
174[09]179(34]78r19T182[12]170[37]179(38]174[31]178[16]
176[17]179[42]LJ169[28]175[131
(1)要使窗体的标题栏文字显示为“排座位”,则应设置窗体的属性(单选,
填字母:
A.Text/B.Name/C.Caption)o
(2)程序中加框处代码有错,请改正。
(3)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Constm=6
Constn=8
Dima(lTom*n)AsString1存储学号
Dimb(lTom*n)AsInteger,存储身高
DimnumAsInteger,班级总人数
PrivateSubCommandl_Click()
'从数据库中读取该班的学号和身高数据存入数组a和数组b,班级人数存入变量
num,代码略.
'以下代码为在列表框Listl中输出数据
s:”“:Listl.Addltem”(讲台)“
Fori=1Tonum
=s=s&Str(b(i))&"["&a(i)&"]"
Ifi=mThen
Listl.Addltems:s=',H
EndIf
Nexti
Ifs<>""ThenListl.Addltems
EndSub
PrivateSubCommand2__Click()
DimiAsInteger,jAsInteger;iminAsInteger
DimtlAsString,t2AsInteger,sAsString
List2.Addltem"(讲台)
Fori=1To①
s=""
Forj=(i-1)*n+1To(i-1)*n+n
Ifj<=numThen
____
Ifimin<>jThen
tl=a(imin):a(imin)=a(j):a(j)=tl
t2=b(imin):b(imin)=b(j):b(j)=t2
EndIf
s=s&Str(b(j))&"["&a(j)&"]"
EndIf
Nextj
List2.Additems
NextiEndSub
FunctionfPos(pAsInteger)AsInteger
DimiAsInteger,jAsInteger;kAsInteger
k=p
Fori=®_____________
Ifb(i)<b(k)Thenk=i
Nexti
fPos=kEndFunction
14.某校老师编写一个VB程序分析学生技术成绩,功能如下:在列表框Listl中显示
原始学生信息,单击“分析”按钮Commandl,统计各班参加考试人数、高分(97及
以上)人数和均分,并按班级均分从大到小显示在列表框List2中,程序运行界面如图
所示。
o班级技术瞰s分折
原始数据分析结果
瞬班级参湾人数高分人数平均分
一
942431992.95
915531792.36
97733788.73
102031285.29
971340384.63
88
97
97
82
10
91
85
实现上述功能的VB程序段如下,请回答下列问题:
(1)学生成绩存储在数据表中,其字段名是
(2)请在划线处填入合适的代码。
DimrecCountAsInteger'存放学生人数
DimsClassflTo1000)AsInteger,存放学生班级
DimsName(lTo1000)AsString'存放学生姓名
DimsScore(lTo1000)AsInteger'存放学生成绩
PrivateSubCommandl_Click()
DimiAsInteger,tAsInteger,ncAsInteger
Dima(lTo20)AsInteger,b(lTo20)AsInteger,分别存放班级高分人
数和班级参加考试人数
Dimsum(lTo20)AsInteger,ave(lTo20)AsSingle,分别存放班级总分和班
级均分
Dimc(lTo20)AsInteger
Fori=1TorecCount
①
b(t)=b(t)+1
Ifb(t)=1Then
nc=nc+1
②
EndIf
IfsScore(i)>=97Thena(t)=a(t)+1
sum(t)=sum(t)+sScore(i)
Nexti
Fori=1Tonc
ave(c(i))=lnt(sum(c(i))/b(c(i))*100+0.5)/100
Nexti
Fori=1Tonc-1
Forj=ncToi+1Step-1
If③Then
t=c(j):c(j)=c(j-1):c(j-1)=t
EndIf
Nextj
Nexti
Fori=1Tonc
List2.AddltemStr(c(i))+n"+Str(b(c(i)))+""+Str(a(c(i)))+""+Str(ave(c(i)))
Next।
EndSub
PrivateSubForm_Load()
'链接数据库,代码略
recCount=0
DoWhileNotrs.EOF
recCount=recCount+1
sClass(recCount)=rs.Fields("class")
sName(recCount)=rs.Fields("name")
sScore(recCount)=rs.Fields("score")
rs.MoveNext
Loop
瞪数据显示在列表框Listl中,代码略
EndSub
15.某地区中考录取采用“平行志愿”的投档录取方式,该录取方式的具体规则为:
①根据考生的考试总分从高到低依次对考生的填报志愿进行投档;
②每位考生可填三个志愿学校,轮到该考生投档时依次对其三个志愿进行投档,若第
一志愿学校还有剩余招生名额,就被第一志愿学校录取,结束该考生的投档,否则需
对其后续志愿学校进行同样的投档操作,若该考生所填的所有志愿学校都没有剩余招
生名额,则该考生无法被任何学校录取,该考生的投档结束。
③当所有学校都已完成计划招生数时,停止投档,录取结束。
编写VB程序,实现上述“平行志愿”投档录取的功能,单击“读取考生数据”按钮
Commandl,则从数据库中获取所有考生的成绩、志愿信息以及每个学校的计划招生
数,单击“投档录取”按钮Command2,开始进行投档录取,并在列表框Listl中
输出每个学校的计划招生数、实际招生数、录取分数线和最低录取名次信息,程序运
行界面如图所示。请回答下列问题:
0平行志愿费栏录取
低
录
录
次
取
分取
所
名
学校代码计划招生数买际招生数s5
16206205461
2680680505N.1292
3480480481752读取考生数据
44804804568.2237
5520520422758
投档录取
(1)若A校计划招生520人,B校计划招生480人,C校计划招生540人,某同
学的考分名次为490名,其三个志愿学校依次为B校、A校、C校,且已知同名次的
人数最多有30人,则该同学不可能被哪所学校录取:o
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
ConstschCnt=5'学校数量
ConststuMaxCnt=10000'最多考生人数
DimzsCnt(lToschCnt)AsInteger'存储每个学校的计划招生人数
DimzsCnt2(lToschCnt)AsInteger'存储每个学校的实际招生人数
Dima(lTostuMaxCnt)AsSingle1存储考生总分成绩
Dimb(lTostuMaxCnt*3)AsInteger'存储考试志愿,每个考生有3个志愿,每个志愿为
学校编号
DimstuCntAsInteger'实际考生总人数
PrivateSubCommandl_Click()
'从数据库中读取所有考生的总分和志愿信息存储到数组a和数组b中(第1个考生总
分存储到a(l),第1个考生的3个志愿分别存储到b(l)、b(2)、b(3)中然后按总分
对数组a和数组b进行降序排序,总分相同时,需根据各科成绩决定排序先后,但名次
相同,考生总人数存储到stuCnt变量中;
,读取每个学校的计划招生数,存储到数组zsCnt中;
'以上功能代码略
EndSub
PrivateSubCommand2__Click()
DimschAsInteger'学校代码,用广5中的一个数字表示某学校代码
DimiAsInteger,jAsInteger,finishedAslnteger,prevScoreAsSingle
DimstuMc(lTostuMaxCnt)AsInteger
DimMinScore(lToschCnt)AsSingle
DimMinMc(lToschCnt)AsInteger
finished=0:i=1
prevScore=-1
DoWhile①
Ifa(i)=prevScoreThen
stuMc(i)=stuMc(i-1)
Else
②____________
EndIf
prevScore=a(i)
Forj=lTo3
{3)
IfzsCnt2(sch)<zsCnt(sch)Then
zsCnt2(sch)=zsCnt2(sch)+1
MinScore(sch)=a(i)
MinMc(sch)=stuMc(i)
ExitFor
EndIf
Nextj
finished=0
Forj=1ToschCnt
IfzsCnt2(j)=zsCnt(j)Then
finished=finished+1
EndIf
Nextj
i=i+l
Loop
'在Listl中输出每所学校的代码、计划招生数、实际招生数、录取分数线、最低录取
名次,代码略
EndSub
3.3计算机程序与程序设计语言(2)
学校:姓名:班级:考号:
一、选择题
1.计算机能直接识别和执行的的语言是()
A.汇编语言B.机器语言C.高级语言D.C语言
【答案】B
【解析】
【详解】
本题考查的是计算机语言。计算机语言有:机器语言、汇编语言、高级语言。机器语
言能被计算机直接识别和执行。汇编语言、高级语言需要翻译成机器语言才能执行。
故选项B正确。
2.现有流程图如下,关于流程图的说法正确的是()
A.运行后,输入语句一定会被执行三次
B.程序运行后,输入语句至少会被执行一次
C.该程序的循环次数为3次
D.第一次输入guess的值为8,则程序运行结果为“对不起,你失败了!”
【答案】B
【解析】
【分析】
【详解】
本题考查流程图相关知识点
输入语句执行次数,取决于cout值,不一定为三次。故选项A说法错误
程序是要与guess值进行比较,故输入语句至少会被执行一次。故本题选B选项
该程序的循环次数受cout制约,有多种可能。故选项C说法错误
第一次输入guess的值为8,则程序运行结果为“对不起,您猜错了!"。故选项D
说法错误
3.计算机能够直接识别和执行的程序设计语言是()o
A.低级语言B.汇编语言C.机器语言D.高级语言
【答案】C
【解析】
【详解】
本题考查的是程序语言。程序设计语言可以分为:机器语言、汇编语言(低级语言)、
高级语言。机器语言是由二进制0、1代码指令构成,能够被计算机直接识别和执行。
汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系。高级语言是
面向用户的、基本上独立于计算机种类和结构的语言。故选项C正确。
4.x和n都是正整数且x<=n,下列选项中,与语句“x=xModn+l”功能相同的是()
A.x=(x+l)Modn
B.x=x+l
Ifx=nThenx=l
C.x=x+l
Ifx=n+lThenx=l
D.x=x+l
Ifx=n+lThenx=0
【答案】c
【解析】
【详解】
本题考查赋值语句,VB运算。题干x=xModn+1,有两种情况。(1)x<n,则x=x+l。
(2)x=n,则结合选项判断,选项A,当*巾-1时候,A选项的结果是x=0,故
有误。选项B,首先进行x=x+l,故接下来的判断实际上是x+1和n的判断,若x+1=n,
则x=l,有误。选项C正确。选项D,当x和n相等时,x应该是1,故选项D有误。
本题选项C为正确选项。
5.下面程序执行结束,文本框Textl中显示()
PrivateSubForm_Click()
a="123":b="456"
c=Val(a)+Val(b)
Textl.Text=str(c\100)
EndSub
A.123B.3C.5D.579
【答案】c
【解析】
【分析】
【详解】
本题主要考查VB程序设计的相关知识。a="123"是将字符串型数据"123”赋值给a,
b="456"将字符串型数据"456”赋值给b,c=val(a)+val(b)是分别把a和b的值转换为数
值型,然后相加,此时c=579,Textl.Text=str(c\100)是将c整除100后,转换为字符类
型赋值给Textl.Text,因此,文本框Textl中显示5,故C选项正确。
二、简答题
6.高级语言的编译过程和解释过程各有什么优势和不足。
【答案】(1)编译型语言优点是程序执行速度快,程序执行效率高,同等条件下对系
统要求较低。不足之处是跨平台性差些。
(2)解释型语言优点是不同系统平台间的兼容性高。不足之处是程序执行效率比较
低。
【解析】
【详解】
本题考查的是高级语言的编译与解释的区别。(1)编译型语言优点是程序执行速度快,
程序执行效率高,同等条件下对系统要求较低。不足之处是跨平台性差些。(2)解释
型语言优点是不同系统平台间的兼容性高。不足之处是程序执行效率比较低。
7.程序设计语言有哪些,分别具备什么特点。
【答案】(1)机器语言:是由“0”和“1”这样的二进制代码指令组来表示。每一条
机器指令包含两个主要部分:操作(指出计算机应做什么)和被操作的对象(指出处
理的数据或它的地址),计算机能直接识别和执行。
(2)汇编语言:使用了一种类似英文缩略词且带有助记性符号的语言,来替代一个
特定的指令的二进制串,每条指令都和一条机器指令相对应。需要一个专门的语言翻
译器,负责将程序中的每条语句都翻译成用二进制数表示的机器语言。
(3)高级语言:接近于数学语言或人的自然语言,并且不再过度地倚赖某种特定的
机器或环境,必须经过翻译器将其翻译成机器语言。
【解析】
【分析】
【详解】
本题考查程序设计语言及其特点相关知识点
(1)机器语言:是由“0”和“1”这样的二进制代码指令组来表示。每一条机器指
令包含两个主要部分:操作(指出计算机应做什么)和被操作的对象(指出处理的数
据或它的地址),计算机能直接识别和执行。
(2)汇编语言:使用了一种类似英文缩略词且带有助记性符号的语言,来替代一个
特定的指令的二进制串,每条指令都和一条机器指令相对应。需要一个专门的语言翻
译器,负责将程序中的每条语句都翻译成用二进制数表示的机器语言。
(3)高级语言:接近于数学语言或人的自然语言,并且不再过度地倚赖某种特定的
机器或环境,必须经过翻译器将其翻译成机器语言。
三、填空题
8.以下流程图描述的算法,执行结果是o
【答案】@@@@########$$$$
【解析】
【分析】
【详解】
本题考查的知识点是程序的识读。
初始值t=0,n=l,执行输出“@@@@”语句,再执行判断n>2表达式,不符合该条
件表达式,故执行输出"####",再执行n=n+l语句,即n=2,再执行判断t=l表达
式,不符合该条件表达式,故执行判断n>2表达式,不符合该条件表达式,故执行输
出“####",再执行n=n+l语句,即n=3,再执行判断t=l表达式,不符合该条件表
达式,故执行判断n>2表达式,符合该条件表达式,故执行输出“$$$$”,再执行
t=l语句,再执行加计1语句,即n=4;再执行判断t=l表达式,符合该条件表达式,
故程序结束。
所以流程图的执行结果为:@@@@########$$$$。
故答案为@@@@########$$$$«
9.编写VB程序,实现如下功能:单击“计算”按钮,在列表框Listl中产生10个[1,
99]随机数,文本框Textl显示相邻两个数字之间相差最大的差值。运行界面如图所示。
(1)窗体上,“计算”按钮的对象名是O
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Privatesubcmdl_click()
Dimb(lto10)asinteger
DimIasinteger;maxasinteger,aasintegeocasinteger
Max=0
Fori=lto10
Randomize
A=int(rnd*99)+1
Listl.additemstr(a)
Nexti
Fori=2to10
C=________________
Ifc>maxthen__________________
NextI
Endsub
【答案】Cmdlb(i)=aabs(b(i-1)-b(i))max=ctext2.text=str
(max)
【解析】
【详解】
(1)Cmdl_ClickCmdl表示对象名称,Click表示它是一个点击事件,"计算"按钮的
对象名是Cmdl;(2)①该处获取的a是一个随机数,需要将a存储在b(i)中,所
以该处为:b(i)=a;②次数将所有的随机数逐个比较,c表示临时生成的最大差
值,所以该处为:abs(b(i-1)-b(i));③根据条件lfc>max,可以看出如果差
值比最大差值大,改变最大差值max的值为c,所以该处为max=c,④结果在文本框
中输出,所有答案为text2.text=str(max),此题同等类似答案都可,不唯一。
四、判断题
10.需求分析之后、程序设计之前,需要对系统进行总体设计和详细设计。总体设计
就是在需求分析的基础上对模型细化、分解任务,明确程序由哪些模块组成。
()
【答案】对
【解析】
【详解】
本题考查的是程序设计。需求分析之后、程序设计之前,需要对系统进行总体设计和
详细设计。总体设计就是在需求分析的基础上对模型细化、分解任务,明确程序由哪
些模块组成•题干说法正确。
五、操作题
11.某数据解密算法描述如下:
(1)在输入的数字字符串中依次提取有效的密文,有效的密文的特点:
①是一组连续的,都小于5的三位数字串;②每个位置上的数字不能被重复提取;
(2)对有效密文进行解密的过程:
将密文作为一个五进制数转换为对应的十进制数值,根据ASCII字符的十进制编码表,
得出对应的明文字符(提示:空格符所对应的ASCII码值为十进制数32,小写字母“z”
所对应的ASCII码值为十进制数122).
例如,密文242转换成十进制数为72,对应的明文字符为大写字母“H”。
程序运行界面如下图所示,在文本框Textl中输入密文,单击“解密”按钮,在文本
框Text2中输出解密后的明文密码。
(1)若输入的密文为“841497230235”,则对应的明文是。
(2)实现上述功能的VB代码如下,划线处的语句有错,应改为
(3)请在划线处填入合适的代码.
'以下代码是将有效密文数字转换为十进制数的函数
Functionconv(pAsString)AsInteger
DimkAsInteger,qAsString,iAsInteger
k=O:g=""
Fori=1To3
q=Mid(p,i,1)
Nexti
conv=k
EndFunction
PrivateSubCommandl_Click()
DimstAsString,pAsString,resAsString
DimclAsString,c2AsString,c3AsString
DimiAsInteger,dAsInteger,nAsInteger
st=Textl.Text:n=Len(st)
i=1:res=""
DoWhilei<-n-2'提取有效密文,并进行转换
cl=Mid(st,i,1):c2=Mid(st,i+1,1):c3=Mid(stzi+2,1)
Ifcl<“5”Orc2<”5“Orc3<“5"Then
d=conv(p)
Ifd>=32Andd<=122Thenres=res+Chr(d)
日se
i=i+l
EndIf
Loop
Text2.Text=res
EndSub
【答案】mAcl<"5"Andc2<"5"Andc3<"5"或其它等价答案①k=k*5+Val(q)或
k=k+Val(q)*5A(3-i)或其它等价答案②p=Mid(st,i,3)®i=i+3
【解析】
【详解】
本题考查VB综合能力。(1)若输入的密文为“841497230235”,可知,414转为m,
230转为A。(2)改错语句条件是同时小于5,故改为cl<“5"Andc2<“5"And
c3<“5”(3)代码第一空,将有效密文数字转换为十进制数的函数,采用位权相加,
故填入k=k*5+Val(q)。(4)代码第二空,将连续的三个字符取出,填入p=Mid(st,i,
3)。(5)第三空,继续往下判断,故填入i=i+3。
12.如果一个正整数从左到右读与从右到左读是一样的,就称它为回文式数(简称回
数),如图321。“回数猜想”的主要思想是,对任意正整数,若它不是回数,则按下
列算法即可获得一个回数:
(1)把该整数的数字顺序颠倒,求得该数的逆序数;
(2)将该整数和其对应的逆序数相加;
(3)若相加结果不是回数,则将结果作为新的整数,返回步骤(1)»
小林按照上述算法,设计了验证回数猜想的VB程序(猜想次数不超过10次),程序
功能如下:在文本框Textl中输入一个正整数,单击"验证"按钮(Commandl),获
取文本框Textl中的数,当该数不是回数时,采用回数猜想的方法进行验证,并在列
表框Listl中输出每次验证的过程,若验证成功或验证次数超过10次,则停止验证,
最后在列表框Listl中输出验证结果。程序运行效果如图所示。
5回教猜想|o||回~~||w£3w|
正整数:一||…际"…||
199+991=1190
1190+911=2101
2101+1012=3113
始证成功!
实现上述功能的VB程序如下:
PrivateSubCommandl_Click()
DimtAsString,aAsLong,bAsLong
DimcountAsInteger'count用于存储回数猜想的验证次数
t=Text1.Text
count=1
DoWhileCheck⑴=FalseAndcount<=10
a=Val(t)
①
c=a+b
Listl.AddltemStr(a)&"+"&Str(b)&"="&Str(c)
count=count+1
t=c
Loop
IfCheck(t)Then
Listl.Addltem”验证成功!”
Else
Listl.Addltem”10次内未验证成功!”
EndIf
EndSub
,自定义函数Turn
FunctionTurn(xAsString)AsLong
DimsAsString,iAsInteger
smi
Fori=Len(x)To1Step-1
s=s&Mid(xzi,1)
Nexti
Turn=_________®________
EndFunction
,自定义函数Check,检查x是否为回文数
FunctionCheck(xAsString)AsBoolean
DimiAsInteger
Check=True
Fori=1ToLen(x)\2Step1
IfMid(x,i,1)<>(3)ThenCheck=False
mid(x,len(x)+l-i,l)
Nexti
EndFunction
(1)程序代码中,自定义函数Turn(x)的功能是
(2)请在划线处填入合适代码。
【答案】(1)求x的逆序数
(2)®b=turn(t)②Val(s)(3)mid(x,len(x)+l-i,l)
【解析】
【分析】
【详解】
本题主要考查VB程序的执行与调试。(1)函数Turn(x)通过for循环从后开始截取
数实现求x的逆序数(2)①将文本框中的原始数赋值给a,将t的逆序数赋值给b,
然后将两数相加,故此处填6=川171(。②最后将逆序数s的值转为整型赋值给Vai(s)
③判断是不是回文数,截取两端的数进行比较是不是相等,故此处填
mid(x,len(x)+l-i,1)。
13.某高一班主任需要对刚入学的新生排座位,教室座位按6排8列进行摆放(班
级学生数不超过48个),并且要求每列的学生按身高从低到高排列。编写VB程序,
实现教室排座位功能:单击“读取数据”按钮Commandl,从数据库中读取该班所有
同学的班内学号(两位数字)和身高数据(3位数字),并在列表框Listl中按8个
一行显示;单击“排座位”按钮Command2,对每列数据按身高从小到大排列,并
显示在列表框List2中。程序运行界面如图所示,请回答下列问题:
n排座位回1W
6#自】
171[01]166(02]167[03]158[04]159[05]173[06]150[07]172[08]
174[09]171[10]151[U]162[12]175[13]173[14]161[15]178[16]
176[17]151(18]178[19]160[20]185[21]!73[22]151[23]167[24]
164[25]158(26]168[27]169[28]157[29]158[30]174[31]174[32]
167[33]179(34]177[35]156[36]170[37]179(38]157[39]166[40]
153(41]179(42]170[43
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年省级行业企业职业技能竞赛(食堂管理员)全真模拟试题及答案
- 2026年高校教师资格证《高校教师职业道德》题库及完整答案
- 2025年辽宁凌源一级建造师考试(机电工程管理与实务)题库含答案
- 地下综合管廊漏水抢修应急预案
- 基站野外施工高空作业安全操作规程
- 急诊感染防控中国指南(2026 版)
- 恙虫病并发症的早期识别
- 2026linux c语言常见面试题及答案
- 弋江婴儿安抚与亲子互动
- 2026年济南市12319热线服务中心招考聘用制(非事业编)工作人员公易考易错模拟试题(共500题)试卷后附参考答案
- JJG 1189.2-2026 测量用互感器检定规程 第2部分:标准电压互感器
- 山姆会员商店质量管控
- 县级创伤中心工作制度
- 2025年12月(第三套)大学英语四级考试真题及答案
- 重精管理小组工作制度
- 贵州烟草公司招聘真题
- 2026春晚高考语文考点知识点梳理和总结
- 2026统编版三年级语文下册全册知识点
- 企业档案归档制度
- 2025年7月新汉语水平考试HSK六级真题(附答案)
- 人教版语文八年级下册《第五单元》大单元整体教学设计
评论
0/150
提交评论