《算法与程序设计》练习(满分:100分)说明:本卷分为第一卷和第二卷两部分。
第一卷为客观题,含单选题和判断题,其中单选题30小题,共45分;判断题20小题,共20分。
第二卷为操作题,共3题,第1题15分,第2题10分,第3题10分,共35分。
一、单选题1、(1.5分)下面是4位同学为解决问题编写的程序,完全正确的是( )。
同学1:某同学从17岁开始栽了1棵树,以后每年都比前一年多栽1棵,他要栽够100棵树,最小得多少岁?程序如下:Private Sub Command1_Click( )Dim Age As Integer,Tree As IntegerDoAge=17Age=Age+1Tree=Tree+Age(Tree应该是树的累加数,这样合适吗?)Loop Until Tree=100Print Age & “岁”End Sub同学2:计算S=1×2×3×4×5×6×7×8×9的值。
程序如下:Private Sub Command1_Click( )Dim S As Integer(S没有初始值,默认为0)For a = 1 To 10(终值设置错误)S = S * aNext aPrint “S=” & SEnd Sub同学3:求解方程ax+b=0。
程序如下:Private Sub Command1_Click( )Dim A As Single,B As SingleInputBox("A=")(从键盘得到的数据赋给谁了?)InputBox("B=")X=-B/APrint XEnd Sub同学4:计算S=1+(1+2)+(1+2+3)+…+(1+2+3+…+100)的值。
程序如下:Private Sub Command1_Click()Dim i As Integer,T As Long,S As LongS=0:T=0For i=1 to 100T=T+i(T的值为:1+2+3+……n)S=S+TNext IPrint "S="; SEnd SubA、同学 1B、同学 2C、同学32、(1.5分)下面的4个VB程序段能使变量a、b、c的值全部相同的是( )。
程序一:a=1:b=2:c=3a=bb=cc=a程序二:a=1:b=2:c=3c=ac=bc=c程序三:a=1:b=2:c=3c=ab=c程序四:a=1:b=2:c=3c=a=bA、程序一B、程序二 D、程序四3、(1.5分)如果要改变窗体的标题,则需要设置的属性是( )B、名称C、FontD、Visible4、(1.5分)已知数组D的1到N号元素已经赋入常数值,下面4个程序段都把这N个常数值输出,其中不能保证输出的数据是由小到大的程序段是哪个?( )。
程序一:for i=1 to n-1Min=D(i):M=ifor j=i+1 to nif D(j)<Min then Min=D(j):M=jNext jk=D(i):D(i)=Min:D(M)=kNext Ifor i=1 to Nprint D(i);Next i程序二:For i = 1 To n - 1For j = n To i + 1 Step -1If d(j) <d(j - 1) Then M = d(j): d(j) = d(j - 1): d(j - 1) = MNext jNext ifor i=1 to Nprint D(i);Next i程序三:for i=1 to n-1for j=i+1 to nif D(j)<D(i) then M=D(j):D(j)=D(i):D(i)=MNext jNext ifor i=1 to Nprint D(i);Next i程序四:For i = 1 To n - 1For j = i+1 To nIf d(j) <d(j - 1) Then M = d(j): d(j) = d(j - 1): d(j - 1) = M Next jNext ifor i=1 to Nprint D(i);Next iA、程序一B、程序二C、程序三(调试程序时请将下列代码加在源代码的前面Dim d(5) As IntegerFor i = 1 To 5d(i) = InputBox("D(" & i & ")=")NextN = 5)5、(1.5分)以下程序运行后输出的结果是( )。
Private Sub Command1_Click( )a = 71 * 72P = 10000 \ a + 1(“\”为取整运算)For i = P * a To 11111 Step ac = i \ 100 Mod 10If c = 2 Then Print I;Next iEnd SubB、1022456232C、56232D、153366、(1.5分)下面的4个程序在运行时都会出错,其中不属于语法错误的是( )。
程序一:for i=-10 to 10s*1=s(赋值语句中“=”的左面只能是变量)next Iprint s程序二:for i=-10 to 10s=s+1/i(除数不能为零)next Iprint s程序三:for i=-10 to 10s=s+i*(i+1)next s(循环变量不一致)print s程序四:for i=-10 to 10 step 2s=s+1next iprint sA、程序一 C、程序三 D、程序四7、(1.5分)面向对象的基本概念包括对象、( )、消息和继承。
A、方法B、事件 D、属性8、(1.5分)以下程序段运行后S的值是( )。
s = 0For i = 1 To 14x = 3 * iIf x Mod 3 = 0 Then s = s + 1Next iA、0B、4C、59、(1.5分)当a=5,b=7,c=-2,d=1时,下列结果为False的是( )。
A、a + b >c + d And a >= 5 Or Not c >0 Or d <0B、c + d >a + b And a >= 5 Or Not c >0 And d >0D、a + b >c + d And a <5 Or Not c >0 Or d <0(运算符的优先级:算术运算(符合四则运算法则)>比较运算>逻辑运算(Not>And>or))10、(1.5分)运行如下程序段可输出由“*”组成的( )。
For X = 1 To 4Print Space(4) & "*****"Next XB、平行四边形C、三角形D、梯形11、(1.5分)用折半查找法(二分查找法)从数列3,6,7,10,12,16,25,30,75中找到数据25的最少查找次数是( )。
B、3C、4D、712、(1.5分)如果A=30,B=40,执行A=A+B:B=A-B:A=A-B语句后,A、B的值是( )。
(交换两个变量数据的另一方法)A、30、40B、40、40D、30、3013、(1.5分)用冒泡排序法对数据7,6,3,9,2从大到小排序,第2趟结果是( )。
A、9,6,3,7,2B、7,9,6,3,2C、9,7,3,6,214、(1.5分)以下程序段运行时语句k=k+1执行次数为( )次。
k=-20dok=k+1loop while (k=0)B、无数次D、015、(1.5分)数列2,4,8,16,32,……的递推公式为( )。
A、f(n)=n*2B、f(n)=f(n-1)*2D、f(n)=f(n-1)+216、(1.5分)下列程序段运行后X的值是( )。
x = 0For i = 1 To 5For j = i To 5x = x + 1(循环次数计数器)Next jNext iA、0B、517、(1.5分)若X = False,执行If X Then X = 0 Else X = 1 后X的结果为( )。
A、FalseB、编译错误D、018、(1.5分)模块化程序设计方法反映了结构化程序设计的( )基本思想B、面向对象C、自定义函数、过程D、可视化编程19、(1.5分)程序段如下:c ="1234"For i = 1 To 4Print _____,Next如果要让程序运行后得到如下结果:1234 123 12 1则在下划线处应填入的内容为( )。
(提示:Right(x,n):从字符串右面取n个字符,Left(x,n):从字符串左边取n个字符)A、Right(c,5-i)C、Right(c,i-5)D、Left(c,i-5)20、(1.5分)要从n个数据元素中顺序查找一个元素,最少查找次数是( )。
(最多查找次数呢?)B、nC、n/2D、lgn21、(1.5分)在流程图中表示算法中变量的计算与赋值时使用( )图形框。
A、菱形框C、圆形框D、平行四边形框22、(1.5分)VB语言中,下列各种基本数据类型说明符中表示整型数的是( )。
B、BooleanC、SingleD、String23、(1.5分)以下哪个是合法的变量名( )。
(变量的命名约定:1、以字母或汉字开头,不能以数字或其他字符开头;2、只能由字母、汉字、数字俄下划线组成,不能含有小数点、空格等字符;3、字符个数不超过255个;4、不能使用VB中的保留字)A、sqrB、2paiC、c+j程序的基本结构有顺序结构、选择结构和( )。
A、逻辑结构B、模块结构D、层次结构25、(1.5分)VB函数Right()从字串右端开始取部分字串,那么Right("Visual Basic6.0", 8)的值为( )。
A、Visual BB、VisualC、Visual Ba26、(1.5分)VB中保存窗体文件的文件扩展名为( )。
A、vbpC、docD、pas人们利用计算机解决问题的基本过程一般有如下四个步骤(①~④),请按各步骤的先后顺序在下列选项中选择正确的答案( )。
①调试程序②分析问题③设计算法④编写程序A、①②③④B、②③①④C、③②④①28、(1.5分)程序设计语言的发展历程中不包括( )。
A、机器语言C、汇编语言D、高级语言29、(1.5分)VB表达式2 * 8 Mod 12 + 4的值是( )。
(Mod为取余运算)B、22C、20D、030、(1.5分)下面关于算法的说法错误的是( )。
A、算法必须有输出C、算法不一定有输入D、算法必须在有限步执行后能结束二、判断题31、(1分)运行程序时,程序中的每一条语句至少运行一次。