1、1山东省学考算法与程序设计试题选择题1、下列 VB表达式中:Sqr(x) Text1.text Command1.caption “45“+“34“ 45+34 值为字符串类型的是( )A B C D2、如果给出三条线段的长分别为 a、b、c,且已知 abc,要问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可?( )A 其他选项都不对 B a+cb C a+bc D b+ca3、VB 程序中“Dim n As Integer”这条语句的作用是( )A 定义一个事件过程 B 定义一个数据输入方法 C 定义一个变量 D 定义一个数据处理方法4、关于算法的描述,下列选项中正确的是( )A
2、 算法的每一步骤必须有确切的含义 B 算法必须有输入C 算法的步骤可以是无穷的 D 算法本身就是一种程序设计语言5、关于算法的描述,正确的是( )A同一种算法只能用一种程序语言实现B算法就是数值计算的方法C描述算法的方法只有流程图D算法是描述解决问题的方法和步骤6、算法的描述方法有多种,下列选项中不适合描述算法的是( )A机器语言 B 自然语言 C 流程图 D 伪代码7、长度分别为 a、b、c 的三条线段,能够组成三角形的条件是( )A a+bc Or a+cb Or b+ca B a+bc or a+cb And b+caC a+bc Or a+cb And b+ca D a+bc And
3、a+cb And b+ca8、已知海伦公式:S= ,其中 p= (a+b+c) ,a、b、c 分别为三角形的三条()()pabpc12边长。利用海伦公式求三角形面积的算法属于( )A 排序法 B 解析法 C 穷举法 D 查找法9、以下程序段中循环体执行的次数是( )s=0i=0Do While s1 的解的是( )A x-1 and x-1 or x1 D x111、一元二次方程 ax2+bx+c=0(a0)的两个实数根分别为:x1= x2= 下列表达式正确的是( )24bac24bacA x2=-b-sqr(b2-4*a*c)/(2*a) B x1=(-b+sqr(b2-4ac)/(2*a)
4、2C x2=(-b-sqr(b2-4*a*c)/(2*a) D x1=-b+sqr(b2-4*a*c)/(2*a)12、关于算法的描述,下列选项中正确的是( )A、一个算法可以没有输入B、算法只能用流程图表示C、一个算法,当没有输入时,也没有输出D、一个算法的执行步骤可以是无限的。13、如果一个 4位数恰好等于它的各位数字的 4次方和,则这个 4位数成为“玫瑰花”数。例如1634就是一个玫瑰花数:1634=14+64+34+44。如果要求出所有的玫瑰花数,下列算法最合适的是( )A解析法 B 排序法 C 查找法 D 穷举法14、一个单窗体 VB程序的运行界面如右图所示。下列说法正确的是( )窗
5、体内有 1个按钮窗体内有 2个文本框窗体内有 3个标签该窗体的标题(Caption)属性值是“加法计算器”A B C D15、下列 VB程序运行时(如图所示) ,在文本框 Text1中输入 20,在文本框 Text2中输入 13,单击命令按钮 Command1后,文本框 Text3中显示的内容是( )Private Sub Command1_Click()a=Val(Text1.text)b=Val(Text2.text)Text3.text=a+bEnd SubA 33 B “33 “ C “2013 “ D 2013注意:把程序中的 Val去掉,再执行程序,看结果是否发生改变。16、在 V
6、B语言中,字符串运算符“+”和“ 输出 * -注意末尾是分号Next jPrint 输出换行Next i运行结果是: D (填:A/B/C/D,6 分)9、分析完善程序“完数”是指一个自然数恰好等于它的因子(不包含本身)之和。如 6的因子为 1、2、3,而6=1+2+3,因而 6就是完数。再如 28的因子为 1、2、4、7、14,而 28=1+2+4+7+14,因而 28也是完数。问题:输入一个正整数 n,判断该正整数是否为完数。要判断一个整数 n是否为完数,最简单的方法是:求出 1到 n-1之间的所有因子和为 sum,如果 sum的值和 n的值相同,则 n就是完数。以下代码是判断 n是否为完
7、数的程序片段,请你补全代码:(8 分)Dim n As LongDim sum As Long sum用来记录 n的因子和n = InputBox(“n=“)For i = 1 To n - 1 求 n的因子和 sumIf n Mod i = 0 Then sum = sum+i Next iIf sum=n ThenPrint n X1Print “x2=“; X2End IfIf d=0 ThenPrint “x=“; -b / (2 * a)End IfIf d 0 ThenPrint “无实数解“End If11、分析解决问题VB语言中绘制圆的方法是:Circle(x,y),r格式说明
8、:其中(x,y)为圆心坐标,r 为圆的半径。下表中算法 1是在窗体中绘制以(2000,2000)为圆心,半径依次为 100、200800 的 8个同心圆。请补充完成算法 2,使其实现与算法 1相同的功能。 (6 分)算法 1 算法 2Circle(2000,2000),100Circle(2000,2000),200Circle(2000,2000),300Circle(2000,2000),400Circle(2000,2000),500Circle(2000,2000),600Circle(2000,2000),700Circle(2000,2000),800Dim k As Intege
9、rFor k = 1 To 8Circle (2000, 2000), k * 100 Next k12、分析完善程序问题:输入一个正整数 n,判断该正整数是否为素数(质数) 。要判断一个数 n是否为素数,最简单的方法是:统计 2到 n-1之间的所有能整除 n的整数个数 s,若 s大于 0,则 n不是素数,否则就是素数。根据以上方法,完善以下程序代码:(8 分)n = Val(InputBox(“n=“)s = 0For i = 2 To n - 1If n Mod i = 0 Thens = s + 1 统计因数个数End IfNext iIf s = 0 Then -此处若写 s=0也是正
10、确的Print n & “是素数“ElsePrint n & “不是素数“End If13、分析完善程序2005年 10月 9日,国家测绘局正式宣布珠穆朗玛峰的高度是 8844.43米,并停用之前的数据。现有一张白纸的厚度大约是 0.08毫米,对折一次,厚度变为 0.16毫米,再对折一次,厚度变为0.32毫米,每对折一次,其百度均变为对折前的两倍。8假设这张纸有足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度。以下是求解该问题的程序片段,请你补全代码:(8 分)Dim height As DoubleDim h As DoubleDim cnt As Longhe
11、ight = 8844430 -单位为毫米h = 0.08 -单位为毫米cnt =0 Do While h heightcnt = cnt + 1h = 2*h -此处若写 h+h或 h*2也是可以的LoopPrint cnt14、分析解决问题在 VB语言中常用的字符串截取函数有:(6 分)函数名 功能 示例 结果Mid(s,m,n) 从字符串 s的第 m位开始截取长度为 n的子串 Mid(“ABCDEFG“, 5, 2) “EF“Left(s,n) 截取字符串 s左边 n个字符 Left(“ABCDEFG“, 3) “ABC“Right(s,n) 截取字符串 s右边 n个字符 Right(“
12、ABCDEFG“, 2) “FG“假如某人身份证号码 s=“370102199602190000“,如果需要根据此身份证号码求出该人的”出生年月日” 。下列四个表达式中不能实现的一个 D (填 A/B/C/D)。A. Mid(s, 7, 8)B. Right(Left(s, 14), 8)C. Mid(s, 7, 4) + Mid(s, 11, 2) + Mid(s, 13, 2)D. Left(s, 14) - Left(s, 6)15、分析解答问题 (6 分)右图所示的算法流程图:执行情况如下:当输入 a、b 的值分别为 3、8 时,输出结果为 5当输入 a、b 的值分别为 11、7 时,输出结果为 4 问题一:下列流程图填入虚线框中,符合条件的是( C ) (填:A/B/C)问题二:依据问题一所选流程图,当输入 a、b 的值分别为 9、6 时,输出结果 为 3 。开始输入 a、b 的值输出 c 的值结束