《高中信息技术《算法与程序设计》练习.doc》由会员分享,可在线阅读,更多相关《高中信息技术《算法与程序设计》练习.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流高中信息技术算法与程序设计练习【精品文档】第 25 页 算法与程序设计练习(满分: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
2、As Integer,Tree As IntegerDoAge=17Age=Age+1Tree=Tree+Age(Tree应该是树的累加数,这样合适吗?)Loop Until Tree=100Print Age & “岁”End Sub同学2:计算S=123456789的值。程序如下: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
3、_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的值为:123n)S=S+TNext IPrint S=; SEnd SubA、同学1 B、同学2 C、同学3 D、同学42、(1.5分)下
4、面的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=b A、程序一 B、程序二 C、程序三 D、程序四3、(1.5分)如果要改变窗体的标题,则需要设置的属性是( ) A、Caption B、名称 C、Font D、Visible 4、(1.5分)已知数组D的1到N号元素已经赋入常数值,下面4个程序段都把这N个常数值输出,其中不能保证输出的数据是由小到大的程序段是哪个?( )。程序一:for i=1 to n-1
5、Min=D(i):M=i for j=i+1 to n if D(j)Min then Min=D(j):M=j Next j k=D(i):D(i)=Min:D(M)=kNext Ifor i=1 to N print D(i);Next i程序二:For i = 1 To n - 1 For j = n To i + 1 Step -1 If d(j) d(j - 1) Then M = d(j): d(j) = d(j - 1): d(j - 1) = M Next jNext ifor i=1 to N print D(i);Next i程序三:for i=1 to n-1for j=
6、i+1 to n if D(j)D(i) then M=D(j):D(j)=D(i):D(i)=M Next jNext ifor i=1 to N print D(i);Next i程序四:For i = 1 To n - 1 For j = i+1 To n If d(j) d(j - 1) Then M = d(j): d(j) = d(j - 1): d(j - 1) = M Next jNext ifor i=1 to N print D(i);Next iA、程序一 B、程序二 C、程序三 D、程序四(调试程序时请将下列代码加在源代码的前面Dim d(5) As IntegerFo
7、r 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 SubA、10224 B、1022456232 C、56232 D、153366、(1.5分)下面的4个程序在运行时都会出错,其中不属于语法错误的是( )。程序一:fo
8、r i=-10 to 10 s*1=s(赋值语句中“”的左面只能是变量)next Iprint s程序二:for i=-10 to 10 s=s+1/i(除数不能为零)next Iprint s程序三:for i=-10 to 10 s=s+i*(i+1)next s(循环变量不一致)print s程序四:for i=-10 to 10 step 2 s=s+1next iprint sA、程序一 B、程序二 C、程序三 D、程序四7、(1.5分)面向对象的基本概念包括对象、( )、消息和继承。A、方法 B、事件 C、类 D、属性8、(1.5分)以下程序段运行后S的值是( )。s = 0 Fo
9、r i = 1 To 14x = 3 * iIf x Mod 3 = 0 Then s = s + 1 Next i A、0 B、4 C、5 D、149、(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 0C、a + d b + c And a = 5 Or Not c 0 And d 0D、a + b c + d And a 5 Or Not c 0 Or d 0(运算符的优先级:算术运算(符合四则
10、运算法则)比较运算逻辑运算(NotAndor)10、(1.5分)运行如下程序段可输出由“*”组成的( )。 For X = 1 To 4 Print Space(4) & * Next XA、矩形B、平行四边形C、三角形D、梯形11、(1.5分)用折半查找法(二分查找法)从数列3,6,7,10,12,16,25,30,75中找到数据25的最少查找次数是( )。A、2B、3C、4D、712、(1.5分)如果A=30,B=40,执行A=A+B:B=A-B:A=A-B语句后,A、B的值是 ( )。(交换两个变量数据的另一方法)A、30、40B、40、40C、40、30D、30、3013、(1.5分)
11、用冒泡排序法对数据7,6,3,9,2从大到小排序,第2趟结果是( )。A、9,6,3,7,2B、7,9,6,3,2C、9,7,3,6,2D、9,7,6,3,214、(1.5分)以下程序段运行时语句k=k+1执行次数为( )次。k=20do k=k+1loop while (k=0)A、20B、无数次C、1D、015、(1.5分)数列2,4,8,16,32,的递推公式为( )。A、f(n)=n*2B、f(n)=f(n-1)*2C、f(n)=2nD、f(n)=f(n-1)+216、(1.5分)下列程序段运行后X的值是( )。x = 0For i = 1 To 5For j = i To 5x =
12、x + 1(循环次数计数器)Next jNext iA、0B、5C、10D、1517、(1.5分)若X = False,执行If X Then X = 0 Else X = 1 后X的结果为( )。A、False B、编译错误C、1D、018、(1.5分)模块化程序设计方法反映了结构化程序设计的( )基本思想A、自顶而下、逐步求精B、面向对象C、自定义函数、过程D、可视化编程19、(1.5分)程序段如下:c =1234For i = 1 To 4Print _, Next如果要让程序运行后得到如下结果:1234 123 12 1则在下划线处应填入的内容为( )。(提示: Right(x,n):
13、从字符串右面取n个字符,Left(x,n):从字符串左边取n个字符)A、Right(c,5-i)B、Left(c,5-i)C、Right(c,i-5)D、Left(c,i-5)20、(1.5分)要从n个数据元素中顺序查找一个元素,最少查找次数是( )。(最多查找次数呢?)A、1B、n C、n/2 D、lgn21、(1.5分)在流程图中表示算法中变量的计算与赋值时使用( )图形框。A、菱形框B、矩形框C、圆形框D、平行四边形框22、(1.5分)VB语言中,下列各种基本数据类型说明符中表示整型数的是 ( )。A、IntegerB、BooleanC、SingleD、String23、(1.5分)以下
14、哪个是合法的变量名( )。(变量的命名约定:1、以字母或汉字开头,不能以数字或其他字符开头;2、只能由字母、汉字、数字俄下划线组成,不能含有小数点、空格等字符;3、字符个数不超过255个;4、不能使用VB中的保留字)A、sqrB、2paiC、c+jD、abc24、(1.5分)程序的基本结构有顺序结构、选择结构和( )。A、逻辑结构B、模块结构C、循环结构D、层次结构25、(1.5分)VB函数Right()从字串右端开始取部分字串,那么Right(Visual Basic 6.0, 8)的值为( )。A、Visual BB、VisualC、Visual BaD、asic 6.026、(1.5分)
15、VB中保存窗体文件的文件扩展名为( )。 A、vbpB、frmC、docD、pas 27、(1.5分)人们利用计算机解决问题的基本过程一般有如下四个步骤(),请按各步骤的先后顺序在下列选项中选择正确的答案( )。调试程序 分析问题 设计算法 编写程序A、B、C、D、28、(1.5分)程序设计语言的发展历程中不包括( )。A、机器语言B、自然语言C、汇编语言D、高级语言29、(1.5分)VB表达式2 * 8 Mod 12 + 4的值是( )。(Mod为取余运算)A、8B、22C、20D、030、(1.5分)下面关于算法的说法错误的是( )。A、算法必须有输出B、算法必须在计算机上用某种语言实现C
16、、算法不一定有输入D、算法必须在有限步执行后能结束二、判断题31、(1分)运行程序时,程序中的每一条语句至少运行一次。(错误。反例:注释语句)32、(1分)VB表达式(A + B + C)的值一定是数值型数据。(错误。字符型变量也可以进行“”、“”运算)33、(1分)高级语言是能够被计算机直接接受和执行的计算机语言。(错误。只有机器语言才能被计算机直接接受和执行)34、(1分)机器语言是程序设计的核心,是程序设计的灵魂。(错误。算法数据结构程序)35、(1分)列举一切与命题相关的情况,然后根据问题设定的条件,逐个加以检查,找到满足条件的解答的方法称为递归算法。(错误。这是“穷举法”的基本思想)
17、36、(1分)在程序循环结构中必须设定终止循环的条件,否则会出现死循环。(错误。终值条件一定要有,但不一定明确“设定”,如,For/Next循环)37、(1分)VB中的事件驱动就是当应用程序中某对象的特定事件发生时,通过执行一段程序代码,来完成该特定事件所对应的操作。38、(1分)对一个排好序的数组来说,要查找一个元素,可以用顺序查找法,也可以用二分查找法,其中二分查找一定比顺序查找快。(错误。不同的查找方法解决不同的问题,效率高低并不绝对)39、(1分)递归过程一般通过函数或子过程来实现。40、(1分)对于多种情况的选择问题,只能采用多重选择语句来处理,不能使用条件语句。(错误。可以采用If
18、语句的嵌套)41、(1分)通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法。42、(1分)在VB程序设计中,方法对应于对象内部的一段程序代码,既可能是一个函数,也可能是一个过程。43、(1分)控件是应用程序的图形用户界面中显示可供用户操纵,并可控制应用程序的图形界面元素,是VB可视化编程的基本操作对象。44、(1分)多重循环的原则是:外层循环与内层循环不必层层相套,循环体之间可以交叉。(错误。外循环必须完全包含内循环,也就是说内外层Next语句的位置不能交叉)45、(1分)VB中所有对象的属性只能在属性
19、窗口中设定。(错误。可以在程序中设定。如:修改command1的caption属性为“计算”可以用comand1.caption=“计算”实现)46、(1分)在程序设计中容易出现的错误主要有:编辑时出现的错误、编译时出现的错误、运行时的错误和逻辑错误。47、(1分)已知三角形的两边分别为a、b,它们的夹角为60度,圆周率取3.14,在VB中可用公式(a * b * Sin(60 * 3.14 / 180) / 2)求出该三角形的面积。48、(1分)在VB中,可将调试好的程序编译生成能够脱离VB集成环境在Windows平台上独立运行的可执行文件。49、(1分)在VB中,Int(100 * Rnd
20、 + 1)的取值范围是1100之间的所有实数(包括1和100)(错误。是“整数”而不是“实数”)50、(1分)算法是有限步骤内求解问题所使用的一组定义明确的规则。三、操作题51、(15分)有一数列A1、A2、A3、A4、A5、.,已知 A1=0、A2=1、A3=1、A4=A1+2*A2A3、A5=A2+2*A3+A4、.,依此类推编程输出第23项的值。Private Sub Command1_Click()Print f(23)End SubPrivate Function f(n As Integer) As SingleIf n = 1 Then f = 0Else If n = 2 Or
21、 n = 3 Then f = 1 Else f = f(n - 3) + 2 * f(n - 2) + f(n - 1) End IfEnd IfEnd Function52、(10分)编程求12709到45368之间有多少个其各位数字之和为5的倍数的正整数。Private Sub Command1_Click()s = 0For i = 12709 To 45368a = Int(i / 10000)b = Int(i - a * 10000) / 1000)c = Int(i - a * 10000 - b * 1000) / 100)d = Int(i - a * 10000 - b
22、* 1000 - c * 100) / 10)e = i - a * 10000 - b * 1000 - c * 100 - d * 10If (a + b + c + d + e) Mod 5 = 0 Then s = s + 1NextPrint sEnd Sub53、(10分)已知三角形的两边分别为13、17,它们的夹角为36度,圆周率取3.14,编程求该三角形的面积(精度:四舍五入保留小数点后6位)。Private Sub Command1_Click()Print (13 * 17 * Sin(36 * 3.14 / 180) / 2)End Sub参考答案一、 单选题:12345
23、6789101112131415DCADABCDCAACCCC161718192021222324252627282930DCABABCDCDBDBAB二、 判断题:3132333435363738394041424344454647484950三、 操作题51、答案:5736961Private Sub Command1_Click()Print f(23)End SubFunction f(n As Integer) As SingleIf n = 1 Then f = 0Else If n = 2 Or n = 3 Then f = 1 Else f = f(n - 3) + 2 * f
24、(n - 2) + f(n - 1) End IfEnd IfEnd Function52、答案:6532s = 0For i = 12709 To 45368a = Int(i / 10000)b = Int(i - a * 10000) / 1000)c = Int(i - a * 10000 - b * 1000) / 100)d = Int(i - a * 10000 - b * 1000 - c * 100) / 10)e = i - a * 10000 - b * 1000 - c * 100 - d * 10If (a + b + c + d + e) Mod 5 = 0 Then s = s + 1NextPrint s53、答案:64.921792Print (13 * 17 * Sin(36 * 3.14 / 180) / 2)