算法与程序设计测试题

 

算法与程序设计测试题

第四模块:算法与算法的表示

一、单项选择题

1.下面关于算法的描述,错误的是…………………………………………………………()

A.一个算法必须保证它的执行步骤是有限的,即它是能中止的

B.算法中的每个步骤必须有确切的含义

C.有0个或多个输入

D.有O个或多个输出

2.算法用流程图(Flowchart)来表示,开始/结束框是用来表示算法的开始和结束,以下哪个表示开始/结束框………………………………………………………………………()

A.B.C.D.

3.程序的三种基本结构是…………………………………………………………………(

A.分支结构、循环结构、树型结构B.顺序结构、分支结构、循环结构

C.顺序结构、循环结构、树型结构D.树型结构、顺序结构、分支结构

4.如图所示流程图片断,它的控制模式属于……………………………………………())

Y

前行是否是绿灯N停止

A.循环结构B.树型结构c.分支结构D.顺序结构

5.税务部门征收个人所得税.规定如下:

(1)月收入在1600元以内,免征

(2)月收入在1600~2500元内,超过1600元的部分纳税5%

(3)月收入在2500~5000元内,超过2500元的部分纳税10%

(4)月收入在5000~20000元内,超过5000元的部分纳税15%

(5)当月收入达到或超过20000时,超过20000元的部分纳税20%

浚题设计最适合使用哪种控制结构……………………………………………………()

A.循环结构B.树型结构C.分支结构D.顺序结构

6.下面是一段关于计算变量s的算法:

①变量s的初值是O,变量I的初值为1

②变量I从1循环到100,且步长为2做第③步表达式

③S=S+I

④输出变量S的值

这个计算s值的算法中,s的表达式表示是……………………………………………()

A.1+2+3+……@99+100B.1+2+3+……98+99

C.1+3+5+……+97+99D.2+4+6+……98+100

7.以下算法中,需通过多重循环一列举出解决问题的所有可能解,并在逐一列举的过程中,

第1页共8页

检验每个可能的解是否是问题的真正解的是哪种,而需要从实际问题中归纳出数学解析式’就此设计出合适的算法的是哪种…………………………………………………………()

A.解析法,穷举法B.递归法,解析法C.穷举法,解析法D.穷举法,递归法

8.著名的汉诺(Hanoi)塔问题是应用哪种算法解决的……………………………………(

A.顺序查找B.对半查找C.递归D.选择排序和插入排序

9.对n个元素进行排序,用冒泡法进行排序时,共需比较多少次………………………(An*(n-1)B.n*(n+1)C.n*(n-1)/2D.n*(n+1)/2

10.

输入两个数存入变量a=9、b=7,按下图的算法执行后,a、b的值变为多少…………(

开始

输入a、b

s=a

a=b

b=s

输出a、b

结束

A.a=9b=7B.a=7b=9C.a=7b=7D.a=9b=9

第五模块:VB程序设计初步

一、单项选择题

1.以下是合法的VisualBasic标识符是

A.abcB.ConstC.9abcD.a#x

2.表达式2^4\3的值是…………………………………………………………………(

A.5B.6C.7D.8

3.如果x=-25,则运行x=Abs(x);x=Sqr(x)后,x的值是……………………………(

A.5B.-5C.25D.-25

4.在VisualBasic中,添加一个标签,在工具箱中要单击的控件是………………(

A.B.C.D.

5.下列VisualBasic程序段运行后,变量max的值为……………………………………(a=5:b=10:max=a

IFb>maxThenmax=b

A.5B.10C.5和10D.以上都不是

6.下列VisualBasic程序段运行后,变量x的值为……………………………………(

第2页共8页))))))))

x=3:y=77

Do

X=x+2

LoopUntilx>Sqr(y)

A.7B.8C.9D.10

7.要实现变量M的值与变量N的值进行交换,可用语句…………………………………()

A.X=M:M=N:N=XB.M=N:N=M

C.M=ND.N=M

8.如果a、b、c、d是一四位整数中千、百、十、个位上的数字,这个四位数在VB程序中可表示为……………………………………………………………………………………(

A.abcdB.a+b+c+d

C.a*1000+b*100+c*10+dD.以上都不对

9.假定x是一个数值型变量,那么由函数组成的表达式Int(X/2)=X/2………………(

A.用于测试x是否偶数B.返回一个整数

C.返回一个奇数D.用于测试X是否整数

10.VB语言中的算术运算符:Mod表示什么;关系运算符:“不等于”用什么表示……(

A.乘方,≠B.除,!=C.取余数,<>D.乘,!=

11.在VB编程中,我们使用函数与过程是为了…………………………………………(

A.使程序模块化B.使程序易于阅读

C.提高程序运行速度D.便于系统的编译

11.有如下VisualBasic程序:

PrivateSubCommandl_Click()

S=O

Ifs<=99Then

ForI=1To10

S=s+j

Nextj

Else

Print“程序出错”

EndIf

Print“最后s的值为:”;s

EndSub

请问它的控制结构包括哪些……………………………………………………………(

A.顺序结构B.条件结构

C.顺序、条件和循环结构D.循环结构

14.语句DimsAsInteger的功能是………………………………………………………(

A.定义一个字符型变量sB.定义一个字符型常量s

C.定义一个整型变量sD.定义一个整型常量s

15.数据的存储结构是指……………………………………………………………………(

A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示

C.数据在计算机中的顺序存储方式D.存储在外存中的数据

16.有如下VisualBasic程序段:

a=12

Ifa<4Then

第3页共8页)))))))

A=a-2

Else

Printa

Endif

该程序段运行后,变量a的值是………………………………………………………(

A.8B.10C.12D.14

17.有如下VisualBasic程序段:

DimsumAsDouble,xAsDouble

sum=0

n=0

fori=1to5

x=n/i

n=n+1

sum=sum+x

nexti

该程序通过For循环计算一个表达式的值,这个表达式是…………………………(

A.1+l/2+2/3+3/4B.1/2+2/3+3/4+4/5

C.1+1/2+2/3+3/4+4/5D.1+l/2+1/3+1/4+l/5

18.下列程序段是计算哪个公式的………………………………………………………(

s=0:t=1

fori=1t010

t=t*i

s=s+t

nexti

A.s=l+2+3+…+10B.s=1*2*3*…*10

C.s=1!+2!+3!…+10!D.s=1+2*3+3*4+4*5+……+9*10

19.PrivateSubCommandl_Click()

DlmiAsInteger,jAsInteger,xAsInteger

X=4

ForI=1T04

Forj=lT03

X=x+6

Nextj

Nexti

Printx

EndSub

以上程序段,程序的循环次数是………………………………………………………(

A.4B.12C.3D.6

20.有如下VisualBasic程序段:

DimnumAsInteger

Num=3

Do

Num=num+2

Printnum

第4页共8页))))

Loopuntilnum>8

程序运行后,单击命令按钮,则窗体上显示的内容是…………………………………()

A.135B.357C.579D.无数据输出

21.在窗体(名称为Forml)上画一个名称为Textl的文本框和一个名称为Commandl的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机考试”。以下能实现上述操作的事件过程是…………………()

A.PrivateSubTextl_Change()B.PrivateSubCommandl_Click()

Commandl.Caption=“计算机考试”Caption=“计算机考试”

EndSubEndSub

C.PrlvateSubCommandl_C1ick()D.PrivateSubCommandl_Click()

Textl.Caption=“计算机考试”Text1.Text=“计算机考试”

EndSubEndSub

22.下列是一个VisualBasic程序:

SubCommandl_Click()

X=4

Fori=1To10step3

Ifx<1Then

X=x+i

EndIf

Nexti

Print(x)

EndSub

该程序运行结果是………………………………………………………………………()

A.7B.11C.21D.55

23.有如下VisualBasic程序:

s=O

Forj=1To30

IfInt(j/5)=j/5Then

S=s+i

J=j+6

EndIf

Nextj

Print(s)

该程序段运行后,输出的值是……………………………………………………………()

A.30B.45C.180D.465

二、填空题

1.下列程序的功能是从键盘上任意输入一个数,判断这个数是正数、负数、还是零,并输出判断结果。程序中有三处错误,请更正。

PrivateSubCommandl_Click()

DimaAsSingle

DimpyAsString

A=Val(text1)

Ifa>0Thenpy=“正数”

Ifa=0Thenpy=“零”

第5页共8页

Ifa<=OThenpy=“负数”

Label3.Caption=a

EndSub(1)(2)(3)

2.完善下列程序,使能输出:1-2+3-4+5-6+……+99-100的值。

PrivateSubCommandl_Click()S=

ForI=1toS=s+((-1)^())*I

NextI

Prints

EndSub

3.在窗体(Name属性为Forml)上画两个文本框(其Name属性分别为Textl和Text2)和一个命令按钮(Name属性为Commandl),然后编写如下两个事件过程:

PrivateSubForml_Load()

Textl.Text=“”

Text2.Text=“”

Endsub

PrivateSubCommandl_Click()

A=Textl.Text+Text2.Text

Printa

EndSub

程序运行后,在第一个文本框(Textl)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为。

4.已知一元二次方程的二次项系数、常数项分别为a、b、c,其中a不等于0。修改程序,求方程的根。要求:如果方程无实数根,则输出“无实数根”,否则输出两个实数根。PrivateSubCommandl_C1ick()

Dlma,b,c,dAsSingle

Dimxl,x2Assingle

A=Val(Textl.Text)

B=Val(Text2.Text)

C=Val(Text3.Text)

D=b^2-4*a*c

IfdThen

x1=(-b+Sqr(d))/(2*a)

x2=(-b-Sqr(d))/(2*a)

Labell.Caption=xlLabel2.Caption=x2Label3.Caption=

EndIf

EndSub

5.设有如下通用过程:

PublicSubFun(a()AsInteger,xAsInteger)

第6页共8页

ForI=1To5

X=x+a(i)

Nexti

EndSub

在窗体上画一个名称为Textl的文本框和一个名称为commandl的命令按钮。然后编写如下的事件过程:

PrivateSubCommand1_Click()

Dimarr(5)AsInteger,nAsInteger

ForI=1To5

arr(i)=i+i

Nexti

Funarr,n

Textl.Text=Str(n)

EndSub程序运行后,单击命令按钮,则在文本框中显示的内容是。

第六模块:算法的程序实现

一、填空题

1.在窗体上画一个命令按钮(Name属性为Command1),然后编写如下事件过程:

PrivateSubCommand1_Click()

X=O

DoUntilx=-1

a=Val(InputBox(“请输人a的值:”))

b=Val(InputBox(“请输入b的值:”))

x=Val(InputBox(“请输入x的值:”))

a=a+b+x

Loop

Printa

EndSub

程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为。

2.下面的程序是计算s=1*2+3*4+5*6+7*8+9*10,把程序补充完整。

SubTest5()

DimsAsInteger

S=O

Fork=1T010Step

S=s+k*(k+1)

Nextk

Print(s)

EndSub

3.打印出如左下图:

1程序如下:PrivateSubCommand1_Click()

第7页共8页

ForI=1To

PrintTab(20-i)

ForJ=1To

Print

Nextj

Print

Nexti

EndSub

4.判断一个数是否为素数,分析并完善下面程序。

PrivateSubCommand1_Click()

DimMAsInteger,IAsInteger

M=InputBox(“输入一个数:”)

I=2

DoUntil(MModI=0)Or(I=M-1)

I=I+1

LoopIfthen

Print“M不是素数:”;M

Else

Print“M是素数:”;M

EndIf

EndSub

5.下面的程序是求7!(7!=l*2*3*4*5*6*7)的值,并在默认窗口输出这个值。程序中有三处错误,请更正。

PrivateSubCommand1_Click()

DimaAsSingle(1)

A=0

ForI=1Ton(2)

A=a*i

NextI(3)

Printi

EndSub

6.下面的程序是求100以内奇数和s的值(s=l+3+5+……+99)。程序中有三处错误,请更正。

PrivateSubCommand1_Click()

DimsAsSingle(1)

DimiAsSingle

S=1(2)

ForI=1To100Step1

S=s*I(3)

Nexti

Prints

EndSub22233333444444455555555566666666666

第8页共8页

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


TOP最近更新内容

    长城小学关爱留守儿童工作制度
    园林史名词解释
  • 上一篇:小学语文五年级下册群文阅读《反复结构的童话故事阅读》教学设计
  • 下一篇:温州市中职VB程序设计会考总复习纲要