算法与程序设计填空题10套

 

第一套

1.有如下程序段:

x=5y=6p=Not(x+y=11)

该程序段运行后,P的值是(1)False或0。

2.有如下程序段:

x=5y=10z=12

ifx+y<=zOry+z<=xOrx+z<=ythena="False"elsea="True"

该程序段运行后,a的值为3.有如下程序段:

s=0fori=1to5s=s+i*inexti

该程序段运行后,s的值为。

4.程序填空

随机产生10个0~100之间的整数,按从小到大的次序排序并输出。为了实现这一目标,完善下面

的VB程序,在划线处填入合适的语句或表达式,完成程序设计(流程图参见图12-3)。

图12-3

subcommand1_click()

constn=10

dimi,j,tasinteger

dima(1to10)asinteger

fori=1to10nexti

Fori=1Ton-1

Forj=i+1Ton

If______(2)_a(i)>a(j)_____Thenk=a(i):a(i)=a(j):a(j)=kEndIf

Nextj

Nexti

Fori=1Ton

List1.AddItemStr(a(i))

Nexti

第二套

1.有如下程序段:

x=5y=6t=xx=yy=t

该程序段运行后,y的值为2.有如下程序段:

x=5y=-20ifnotx>0thenx=y-3elsey=x+3

该程序段运行后,x的值为。

3.有如下程序段:

e=0:f=1fori=1to3e=e+ff=f+enexti

该程序段运行后,f的值为。

4.程序填空

有30个人,其中有男人、女人和小孩。他们在一家饭馆里花去500元。已知,每个男人花30元,每个女人花20元,每个小孩花10元。问男人、女人、小孩各为多少人?

为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。

subcommand1_click()

dimman,woman,child,sasinteger

forman=1to

child=if

str(child)

endif___1523(2)s=500andchild>0then"+forwoman=1tos=30*man+20*woman+10*childlist1.additemstr(man)+""+str(woman)+"

nextnextmanend

subwoman

图12-7

第三套

1.有如下程序段:x=5y=6x=yy=x

该程序段运行后,y的值为(1)6。

2.有如下程序段:

x=5y=-20ifnotx>0thenx=y-3elsey=x+3

该程序段运行后,y的值为(1)8。

3.有如下程序段:

k=1fori=1to5k=k*inexti

该程序段运行后,k的值为4.程序填空

从键盘键入一个整数x,将x插入到一列有序数据:-5,3,4,12,20,45,70中,并使数据序列仍保持有序,试求出x应插入的位置。

为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。

Dima(1To8)AsInteger

Dimn,I,j,xAsInteger

PrivateSubCommand1_Click()

x=Val(Text2.Text)

Ifx>a(n)ThenElse

i=1

DoWhilex>a(i)Loop

EndIf

Text3.Text=Str(i)

EndSub

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then

n=n+1

a(n)=Val(Text1.Text)

List1.AddItemStr(a(n))

Text1.Text="":Text1.SetFocus

EndIf

EndSub

第四套

1.有如下程序段:

x=5y=6p=Not(x+y<>11)

该程序段运行后,P的值是。

2.有如下程序段:

x=5y=10z=12Ifx+y>zAndy+z>xAndx+z>yThena="True"Elsea="False"该程序段运行后,a的值为“”

3.有如下程序段:

x=6k=1dowhilek<=5k=k+3x=x+kloop

该程序段运行后,x的值为4.程序填空

用物理天平测量物体的质量时,测得物体的质量为a克(a为整数,并小于1千克),问这时在天平的砝码盘中应有哪几个砝码,请选用最少数量的砝码(称质量为1千克的物体,天平的砝码由下列质量的砝码组成:500克1个,200克1个,100克2个,50克1个,20克1个,10克2个,5克1个,2克2个,1克1个)。

为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计(流程图见图12-15)。

Dima(1To12)AsInteger

Dimi,xAsInteger

PrivateSubCommand1_Click()

a(1)=500:a(2)=200:a(3)=100

a(4)=100:a(5)=50:a(6)=20

a(7)=10:a(8)=10:a(9)=5

a(10)=2:a(11)=2:a(12)=1

x=Val(Text1.Text)

i=1

dowhile_______(1)_x<>0

ifx>=a(i)then

List1.AddItemStr(a(i))Endif

i=i+1

loop

EndSub

第五套

有如下VisualBasic程序段:a=3:b=2:c=3b=a+b*c

该程序段运行后,变量b的值为

2.有如下VisualBasic程序段:a=39

b=931.。

Ifa+b>100Thenpy="太大"

Ifa+b=100Thenpy="相等"

Ifa+b<100Thenpy="太小"

Label1.Caption=py

该程序段运行时,在Label1标签上显示的是3.以下VisualBasic程序的功能是:计算表达式1+2+4+8+16+32+…+1024的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处的表达式应更正为_____(1)___i_____。

PrivateSubCommand1_Click()

DimiAsInteger,sAsLong

s=0

i=1

DoWhilei<=1024

s=s+i=i*2

Loop

Text1.Text=Str(s)

EndSub

4.有一道趣味题,张老师问李老师:"你今年几岁?你爱人今年几岁?"李老师笑笑说:"我年龄的平方与我爱人年龄之和恰好等于1053。而我爱人年龄的平方与我的年龄之和却等于873。你计算一下吧!"

设李老师年龄为x岁,他爱人年龄为y岁,由题意可得x,y满足的数学式为:x2+y=1053

x+y2=873

解决此问题的流程图如VB-1所示。根据流程图VB-1编写的VisualBasic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。PrivateSubCommand1_Click()

DimxAsInteger,yAsLong

x=1

y=1053-x*x

DoWhile(1)y*y+x<>873

y=1053-x*x

Loop

Text1.Text=Str(x)

Text2.Text=Str(y)

EndSub

程序中划线处(1)应填入程序中划线处(2)应填入x=x+1

图VB-1

第六套

1.有如下VisualBasic程序段:

a="Happy"

b="ness"

c=a+b

2.有如下VisualBasic程序段:

DimxAsSingle,cAsString

x=Val(Text1.Text)

Ifx>12Then

c="PM"

Else

c="AM"

EndIf

Label1.Caption=c

该程序段运行时,在文本框Text1中输入15.6,Label1标签上将显示的是(1)。

3.3.下列VisualBasic程序的功能是:计算表达式12+42+72+…+972的值,并在文本框Text1中输出表达式的值。为了实现这一目标,程序中For语句划线处的循环

PrivateSubCommand1_Click()

DimsumAsLong

DimiAsInteger

sum=0

Fori=1To97Step

sum=sum+i*i

Nexti

Text1.Text=Str(sum)

EndSub

4.模拟一个简单计算器,输入两个数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。

程序界面如图VB-1所示,在文本框Text1中输入第一个数a,在文本框Text2中输入第二个数b,在文本框Text3中输入运算符ch,在文本框Text4中输出运算结果。

当输入的运算符不是加、减、乘、除四种运算符时,则输出"运算符不正确";当进行除法运算时,如果除数为0,提示输出"除数不能为零"。

解决上述问题的算法流程图如图VB-2所示,相应的VisualBasic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。

PrivateSubCommand1_Click()

DimaAsSingle,bAsSingle,chAsString

a=Val(Text1.Text)

b=Val(Text2.Text)

(1)ch=Text3.text

Ifch="+"Then

Text4.Text=Str(a+b)

ElseIfch="*"Then

Text4.Text=Str(a*b)

ElseIfch="-"Then

Text4.Text=Str(a-b)

ElseIfch="/"Then

If(2)b<>0ThenText4.Text=Str(a/b)ElseText4.Text="除数不能是零"

Else

Text4.Text="运算符不正确"EndIf

EndSub程序中划线处(1)应填入

程序中划线处(2)应填入

第七套

1.有如下VisualBasic程序段:a="Tea"b="cher"c=a+b

该程序段运行后,变量c的值是:

2.有如下VisualBasic程序段:n=0。

Fori=1To100IfiMod4=0Thenn=n+1Nexti

(1)25该程序段运行后,n的值为:3.《浙江省电网销售电价表》中规定,不满1千伏"一户一表"居民用电价格,按以下标准计算:月用电量在50千瓦时及以下部分,每千瓦时以0.538元计算;51~200千瓦时部分,则每千瓦时按0.568元计算;200千瓦时以上部分,每千瓦时按0.638元计算。某学生设计了一个VisualBasic程序,能根据用户的月用电量分段计算电费。其思路如下:

设某用户的当月用电量是x千瓦时,

当x≤50时,电费为0.538×x元;

当50<x≤200时,电费为0.568×(x-50)+0.538×50元;

当x>200时,电费为0.638×(x-200)+0.568×150+0.538×50元;

在文本框Text1输入x,在文本框Text2中输出相应的电费。

VisualBasic程序如下,PrivateSubCommand1_Click()

DimxAsInteger

X=Val(Text1.Text)

Ifx<0Then

Text2.Text="用电量不能是负的!"

ElseIfx<=50Then

Text2.Text=Str(0.538*x)

ElseIfThen

Text2.Text=Str(0.568*(x-50)+0.538*50)

Else

Text2.Text=Str(0.638*(x-200)+0.568*150+0.538*50)

EndIf

EndSub

4.以下是根据如图所示界面设计的一个VisualBasic程序段,目的是用对分查找的方法根据某货物编号(1001到1020之间)查询其对应的库存结余量,并统计出查找的次数。

其中货物库存信息已经按"货物编号"由小到大排列,列表框List1用于显示货物编号(1001至1020)及相应的库存结余量,文本框Text1用于输入待查货物编号,文本框Text2用于输出相应货物的库存结余量,文本框Text3用于输出查找的次数,变量nc用于累计查找的次数,数组bh中已依次存放货物编号1001,1002,…,1020,数组number中存放了相应货物的库存结余量。请在(1)和(2)划线处,填入合适的语句或表达式,把程序段补充完整。

Functionsearch(keyAsInteger)AsIntegeri=1:j=20:nc=0

DoWhilei<=j

m=Int((i+j)/2)

Ifbh(m)=keyThen

Search=number(m):ExitFunction

EndIf

Ifkey<bh(m)Then

Else

i=m+1

EndIf

Loop

Search=0EndFunctionPrivateSubCommand1_Click()DimkeyAsIntegerKey=Val(Text1.Text)Nr=search(key)Ifnr>0Then

Text2.Text=Str(key)+"货号的库存结余量:"+Str(nr)Else

Text2.Text="找不到"

EndIf

Text3.Text=Str(nc)

EndSub程序中划线处(1)应填入:。程序中划线处(2)应填入:。

www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。


TOP最近更新内容

    园林史名词解释
    长城小学关爱留守儿童工作制度
  • 上一篇:2016学年第一学期高三调测地理试卷答案
  • 下一篇:高中生物易错点