logo资料库

2015年数学会考真题及答案.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
2015 年数学会考真题及答案 1,分析并完善程序: 考拉兹猜想:又称为 3n+1 猜想,指的是对于给定的每个正整数 n,经过一系列的有限次变化 后,最终都能变为了: 如果它是偶数,则对它除以 2,如果它是奇数,则对它乘 3 再加 1;…… 如此循环,直到得到位为止。例如:n=6,根据上述需要 8 次变换后得 1,变换过程: 6---3---10---5---16---8---4---2---1。以下是验证考拉兹猜想的主要程序片段,请你补 全代码, Dim Dim n=Val(InputBox(“n=”))’输入正整数 n cnt=0 Do While n>1 Long ’变换次数 cnt Long As n cnt AS cnt=cnt+1 If n Mod ‘变换次数累加 2=0 Then n=___n/2___ Else n=__3*n+1____ end if ‘输出变换次数 Loop Print cnt 2,输入一个正整数 n,判断该正整数是否为素数(质数)。要判断一个数 n 是否为素数,最 简单的方法是,统计 2 到 n-1 之间的所有能整除 n 的整数个数 s,若 s 大于 0,则 n 不是素 数,否则是素数,根据以上方法,完善以下程序代码: N= val(InputBox(“n=”) S=0 For i=2 to n-1 If n mod i=0 Then S=__s+1____’统计因数个数 Endif Next i If____s=0________Then Print n &”是素数“ Else Print n &”不是素数“ End if 3,VB 语言中绘制圆的方法是:Circle(x,y),r 格式说明:其中(x,y)为圆心坐标,r 为圆的半径。下表中算法 1 是在窗体中绘制以(2000, 2000)为圆心,半径依次为 100,200,……,800 的 8 个同心圆。请补充完成算法 2,使其实 现与算法 1 相同的功能。(6 分) 算法 1 Cicle(2000,2000),100 Cicle(2000,2000),200 算法 2 Dim k As Integer For k= 1 to 8
Cicle(2000,2000),300 Cicle(2000,2000),400 Cicle(2000,2000),500 Cicle(2000,2000),600 Cicle(2000,2000),700 Cicle(2000,2000),800 Cicle(2000,2000),___k*100___________ Next k 4,“完数”是指一个自然数恰好等于它的因子(不包含本身)的和,如 6 的因子为 1,2,3, 而 6=1+2+3,因而 6 就是“完数”,如 28=1+2+4+7+14 问题:输入一个正整数 n,判断该数是否为“完数” 要判断一个整数 N 是否为“完数”,最简单的方法是: 求出现 1 到 n-1 之间 n 的所有因子和为 sum,如果 sum 的值和 n 的值相同,则 n 就是完数。 以下代码是判断 n 是否为完数的程序片段,请补全代码: Dim n as long Dim sum as long 量级 ‘SUM 用来记录 N 的因子和 Sum=0 N= inputBox(“n=”) For I = 1 to n-1 ‘求 N 的因子和 SUM sum = _sum+i________ i = 0 then mod If n Next I If ___sum=n_____ then Print n & “是完数” Else Print n &” 不是完数” 5,2005 年 10 月 9 日,国家测绘局正式宣布珠穆朗玛峰的高度是 8848.43 米,并停用之前的 数据,现有一长白纸的厚度大约是 0.08 毫米,对折一次,厚度变为 0.16 毫米,……,每 对折一次,厚度变为折前的两倍。 假设这长纸足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗 玛峰的高度。以下是求解该问题的程序片段,请补全代码: Dim height as double ‘定义珠穆朗玛峰的高度 Dim h as double Dim cnt as long Height=8844430 H=0.08 Cnt=__0________ Do ‘定义一张纸的厚度 ‘定义对折次数 h
If then d>0 X1=(-b+sqrt(d))/(2*a) X2=(-b-sqrt(d))/(2*a) Print “x1=”;x1 Print”x2=”;x2 End if If ___d=0_____then Print “x=”;-b/(2*a) Endif If d<0 then Print “无实数解!” Endif 7,选择算法解决问题;在使用计算机解决问题时,选择合适的算法是有效解决问题的关键。 分析下面的问题,请选择合适的算法:____穷举法_______(填:解析法/穷举法/递归法/排 序法,6 分) 搬砖问题:100 块砖,100 人搬,一个男人搬 4 块,一个女人搬 3 块,两个小儿抬 1 块,要 求一次全搬完,问需男、女、小儿各多少人。 8,分析下面的问题,选择合适的算法(填:解析法/递归法/穷举法/排序法)____递归法 ________ 猴子吃桃问题:小猴有一天摘了若干个桃子,它非常贪吃,当天就吃掉了一半还多一个, 第二天接着剩下的一半多一个,以后每天都是如此,到了第七天要吃桃子时,却发现只剩 下 1 个,问小猴子那天一共摘了多少个桃子。 9,分析程序,得出结果: Dim sum as long Dim as long Sum=0 I=0 Do while sum<10 I I=i+1 Sum=sum+i*i Loop Print sum 运行结果是:___14______ 10,分析程序,得出结果 Dim n as long Dim s as long Dim x as long N=val(inputbox(“n=”)) S=0 Do while n>0 X=n mod 10 S=s+x N=n\10
Loop Print s 程序运行时,输入 518,运行输出结果是:________14__________(6 分) (提示:\(整除运算)如:237\10=23;mod(取余数运算)如:237 mod 10=7) 11,分析程序,得出结果 Dim sum as integer Dim k as integer Sum=0 For k=1 to 10 If k mod 2=0 then sum=sum+k Next k Print sum 程序运行后输出结果是:_____30____ 12,分析程序,得出结果 Dim x as integer Dim y as integer Y=0 For I =1 to 5 X=val(inputbox(“请输入”) Y=y+x Next I Print y 程序运行后,依次输入:10 运行输出的结果是:_____150________(6 分)。 13,程序段: for I =1 to 10 for j=1 to I print “*” ‘I 控制*的行数 ‘J 控制每行*的个数 ‘输出* 20 30 40 50 next j print ‘输出换行 next i 运行结果是_____D_____(填:A/B/C/D) A B C D
14,在 VB 语言中常用的字符串截取函数有: 函数名 功能 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(“ABCDEFG”,2) “FG” 假如某人身份证号码 s=’’370102199602190000”,如果需要根据此身份证号码求出该人的 “出生年月日”。下列四个表达式中不能实现的一个是_____D_____. A. mid(s,7,8) C.mid(s,7,4)+mid(s,11,2)+mid(s,13,2) B.right(left(s,14)8) D.Left(s,14)-left(s,6) 15,下图所示的算法流程图:(6 分) 执行情况如下:当输入 a,b 的值为 3、8 时,输出结果为 5 当输入 a,b 的值为 11、7 时,输出结果为 4 开始 输入 a,b 的值 输出 c 的值 结束 问题一:下列流程图填入虚线框中,符合条件的是:____C_____(填:A/B/C) N c=b-a ab Y c=a-b A C N c=a-b a>b Y c=b-a B
问题二:依据问题一所选流程图,当输入 a,b 的值分别为 9,6 时,输出结果为______3_____。
分享到:
收藏