新颖的算法与程序设计题参考全资料.docx
- 文档编号:6914814
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:15
- 大小:1.04MB
新颖的算法与程序设计题参考全资料.docx
《新颖的算法与程序设计题参考全资料.docx》由会员分享,可在线阅读,更多相关《新颖的算法与程序设计题参考全资料.docx(15页珍藏版)》请在冰豆网上搜索。
新颖的算法与程序设计题参考全资料
算法与程序设计试题
一、选择题:
1、VB程序中“DimnAsInteger”这条语句的作用是(B)
A、定义一个数据输入方法B、定义一个变量
C、定义一个数据处理方法D、定义一个事件过程
2、一元二次方程ax2+bx+c=0(a≠0)的两个实数根分别为:
下列表达式正确的是(B)
A、x2=-b-sqr(b^2-4*a*c)/(2*a)
B、x2=(-b-sqr(b^2-4*a*c))/(2*a)
C、x1=(-b+sqr(b^2-4ac))/(2*a)
D、x1=-b+sqr(b^2-4*a*c)/(2*a)
3、长度分别为a、b、c的三条线段,能够组成三角形的条件是(D)
A、a+b>cAnda+c>bOrb+c>a
B、a+b>cOra+c>bOrb+c>a
C、a+b>cOra+c>bAndb+c>a
D、a+b>cAnda+c>bAndb+c>a
4、下列关于算法的描述,正确的是(D)
A、算法就是数值计算的方法
B、描述算法的方法只有流程图
C、同一种算法只能用一种程序语言来实现
D、算法是描述解决问题的方法和步骤
5、编制计算机程序解决问题的一般过程是:
分析问题、编写程序、调试运行、设计算法。
B
A、正确B、错误
6、下列问题不能用算法描述的是(D)
A、已知圆锥的底面半径和高,求表面积和体积
B、计算某班英语平均分
C、求一元二次方程ax2+bx+c=0(a≠0)的两个实数解
D、求方程y=2X+1的所有整数解
7、在VB语言中表示“x属于区间(0,1]”的正确表达式是(A)
A、0
C、x>0andx<1D、0 8、已知海伦公式: 其中 ,a、b、c分别为三角形的三条边长。 利用海伦公式求三角形面积的算法属于(D) A、穷举法B、排序法C、查找法D、解析法 9、用计算机编程来求解某一方程的解,通常的步骤是(A) A、分析问题→设计算法→编写程序→调试运行→检测结果 B、编写程序→调试运行 C、设计算法→编写程序 D、编写程序→调试程序→检测结果 10、如果输出三条线段的长分别为a、b、c,且已知a≤b≤c,请问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可? (B) A、其他选项都不对B、a+b>c C、a+c>bD、b+c>a 11、关于算法的描述,下列选项中正确的是(B) A、算法本身就是一种程序设计语言B、算法的每一步骤必须有确切的含义 C、算法必须有输入D、算法的步骤可以是无穷的 12、下列选项中,不属于计算机程序设计语言的是(B) A、汇编语言B、自然语言C、高级语言D、机器语言 13、下列VB表达式中,能正确表示不等式方程的 >1解的是(B) A、x>-1andx<1B、x<-1orx>1 C、x<-1andx>1D、x>-1orx<1 14、下列选项中,可以作为VB程序变量名的是(B) A、a/bB、abC、a-bD、a+b 15、以下程序段中循环体执行的次数是(A) s=0 i=1 DoWhiles<10 i=i+1 s=s+i*i Loop A、2B、4C、1D、3 16、算法的描述方法有多种,下列选项中不适合描述算法是(C) A、流程图B、伪代码C、机器语言D、自然语言 17、下列VB程序运行时(如图所示),在文本框Text1中输入20,在文本框Text2中输入13,单击命令按钮command1后,文本框Text3中显示的容是(B) PrivateSubCommand1_Click() a=Val(Text1.text) b=Val(Text2.text) Text3.text=a+b EndSub A、”33”B、33C、”2013”D、2013 18、二分查找又称折半查找,是一种应用于有序数列的高效查找算法的是(D) (1)1199517239 (2)305263717881 (3)67323831515 (4)857859521918 A、(3)(4)B、 (2)(3)C、 (1) (2)D、 (2)(4) 19、已知在VB语言中,int(x)函数的功能是返回不大于x的最大整数,abs(x)函数的功能是取绝对值,则表达式abs(int(2.88)+int(-3.14))的值是(D) A、5B、1C、0D、2 20、关于算法的描述,下列选项中正确的是(A) A、一个算法可以没有输入 B、一个算法的执行步骤可以是无限的 C、算法只能用流程图来表示 D、一个算法,当没有输入时,也没有输出 21、下列VB表达式中: (1)Sqr(x) (2)Text1.text(3)Command1.caption(4)”45”+”34”(5)45+34值为字符串类型的是(D) A、 (1)(3)(5)B、 (1) (2)(3)C、 (2)(4)(5)D、 (2)(3)(4) 22、在VB语言中吗,字符串运算符“+”和“&”的作用是把两个或多个字符串连接成一个字符串,则表达式“20”+“13”&“20+13”的运算结果是(C) A、“3333”B、“201333”C、“201320+13”D、“332013” 23、在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) 截取zifuchuans右边n个字符 Right(“ABCDEFG”,2) ”FG” 假如某人S=”0”,如果需要根据此求出该人的“出生年月日”。 下列表达式不能实现的是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) 23、两个阻值分别R1、R2的电阻并联后,电路阻值R可由公式1/R=1/R1+1/R2求解,下面能正确求出VB表达式的是(A) A、R1*R2/(R1+R2) B、R1+R2/(R1*R2) C、R1*R2/R1+R2 D、(R1+R2)/(R1*R2) 24、一个单窗体Vb程序的运行界面如下图所示: 下列说确的是A (1)窗体有1个按钮 (2)窗体有2个文本框 (3)窗体有3个标签 (4)该窗体的标题(caption)属性值是“加法计算器” A、 (1)(4)B、(3)(4)C、 (1) (2)D、 (2)(3) 二、程序题目 1、Vb语言中绘制圆的方法是: Circle(x,y),r 格式说明: 其中(x,y)为圆心坐标,r为圆的半径。 下表中算法1是在窗体中绘制以(2000,2000)为圆心,半径依次为100、200、……、到800的8个同心圆。 请补充完成算法2,使其实现与算法1相同的功能。 (6分) 算法1 算法2 Circle(2000,2000),100 Circle(2000,2000),200 Circle(2000,2000),300 Circle(2000,2000),400 Circle(2000,2000),500 Circle(2000,2000),600 Circle(2000,2000),700 Circle(2000,2000),800 DimkAsInteger Fork=1To8 Circle(2000,2000),K*100 Nextk 2、阅读下列程序,请写出正确的运行结果 Dimaasinteger Dimbasinteger Dimcasinteger a=1 b=1 Fori=1to4 c=a+b a=b b=c Nexti Printc 运行结果是: 8 3、阅读下列程序,写出运行结果 Dimnaslong Dimsaslong Dimxaslong n=val(inputbox("n=")) s=0 Dowhilen>0 x=nMod10 s=s+x n=n\10 loop prints 程序运行时,输入518,运行输出结果是: 14(6分) (提示: \(整除运算)如: 237\10=23 Mod(取余数运算)如: 237Mod10=7) 4、某VB的事件过程如下: PrivateSubCommand1_Click() a=val(text1.text) b=a*a+1 text1.text=b Endsub 程序运行时(如图所示),在文本框text1中输入2,连续2次单击命令按钮Command1后,text1中显示的是(26) 5、2005年10月9日,国家测绘局正式宣布珠穆朗玛峰的高度是8844.43米,并停用之前的数据。 现有一白纸的厚度大约是0.08毫米,对折一次,厚度变0.16毫米,再对折一次,厚度变为0.32毫米,……每对折一次,其厚度均变为对折前的两倍。 假设这纸有足够大,可对折任意次,那么这纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度。 以下是求解该问题的程序片段,请你补全代码。 (4分) Height=8844.43’珠穆朗玛峰的高度是8844.43米 h=0.08’一纸的厚度约是0.08毫米 cnt=0’cnt用来记录对折次数 Dowhileh t=cnt+1 h=h*2 Loop Printt 6、圆周率л值得计算方法有多种,其中一种近似值计算公式如下: 对于n的不同取值,得到的л值的精度不同。 如: 当n=100000时,计算出л=3.646. 当n=1000000时,计算出л=3.051。 以下程序是利用上述公式求n=10000000时л近似值的主要程序片段,请你补全代码。 (4分) Dimsasdouble Dimpiasdouble S=0 Fori=1to10000000’求公式右边的值s s=s+1/(i*i) nexti pi=sqr(s*6) print”л=”;pi 7、以下是求解一元二次方程ax2+bx+c=0(a≠0)的主要源程序,请你补全代码: (8分) a=val(inputbox(”a=”)) b=val(inputbox(”b=”)) c=val(inputbox(”c=”)) d=__b*b-4*a*c_’求判别式d Ifd>0then X1=(-b+sqr(d))/(2*a) X2=(-b-sqr(d))/(2*a) Print”x1=”;x1 Print”x2=”;x2 Endif Ifd=0then Print”x1=”;-b/(2*a) Endif Ifd<0then Print”无实数解! ” Endif 8、阅读下列程序,选出运行结果 Fori=1to10’i控制*的行数 Forj=1toI’j控制每行的个数 Print”*”;’输出* Nextj Print’输出换行 Nexti 运行结果是: 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是否为完数,最简单的方法是: 求出1到n-1之间n的所有因子和为sum,如果sum的值和n的值相同,则n就是完数。 以下代码是判断n是否为完数的程序片段,请你补全代码(8分) Dimnaslong Dimsumaslong’sum用来记录n的因子和 n=inputbox(”n=”) fori=1ton-1’求n的因子和sum ifnmodi=0then sum=sum+i nexti ifsum=nthen Printn&”是完数” Else Printn&”不是完数” Endif 10、分析解答问题: 执行情况如下: 当输入a、b的值分别为3、8是,输出结果为5 当输入a、b的值分别为11、7时,输出结果为4 问题一: 下列流程图填入虚线框中,符合条件的是C 开始 输入a、b的值 输出c的值 结束 问题二: 依据问题一所选流程图,当输入a、b的值分别为9、6时,输出结果为3。 11、阅读下列程序,写出运行结果 DimxasInteger DimyasInteger y=Val(InputBox(”y=”))’输入第一个数赋值给y Fori=1to3’循环3次,每次输入1个数 x=Val(InputBox(”x=”)) Ifx y=x Endif Nexti Printy 程序运行后,依次输入: 45961137 运行输出结果是: 11 12、分析完善程序: 问题: 输入一个正整数n,判断该正整数是否为素数(质数)。 要判断一个数n是否为素数,最简单的方法是: 统计2到n-1之间的所有能整除n的整数个数,若s大于0,则n不是素数,否则就是素数。 根据以上方法,完善一下程序代码;(8分) n=Val(InputBox(”n=”)) s=0 fori=2ton-1 ifnModi=0Then s=s+1’统计因数个数 endif Nexti IfS<=0then Printn&”是素数” Esle Printn&”不是素数” EndIf 13、分析完善程序: 考拉兹猜想: 考拉兹猜想又称为3n+1猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1;如果它是偶数,则对它除以2;……;如此循环,最终都能够得到1;如n=6,根据上述规则,得出6→3→10→5→16→8→4→2→1.(共有8个步骤)以下是验证考拉兹猜想的主要VB程序片段,请你补全代码: (8分) n=Val(InputBox(”n=”)) cnt=0’统计步骤数 DoWhilen>1 Cnt=cnt+1 IfnMod2=0then n=n/2 Else n=n*3+1 EndIf Loop Printt’输出步骤数 14、阅读下列程序,写出运行结果 DimSumAsInteger DimKAsInteger Sum=0 Fork=1to20 IfkMod2=0Then Sum=Sum+k Endif Nextk PrintSum 程序运行后输出结果是: 110 15、在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。 分析下面的问题,请选择最合适的算法: (请用英文字母填写) A解析法B递归法C穷举法D排序法 猴子吃桃问题: B 小猴有一天摘了若干个桃子,它非常贪吃,当天就吃掉了一半还多一个;第二天桃子一半多一个;以后每天都是如此,到了第七天要吃桃子是,却发现只剩下一个桃子问小猴那天一共摘了多少桃子? 16、在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。 分析下面的问题,请选择最合适的算法: C(请用英文字母填写) A解析法B递归法C穷举法D排序法 搬砖问题: 100块砖,100人搬,一个男人搬4块,一个女人搬3快,两个小儿抬1块,要求一次搬完,问男、女、小儿各多少人。 17、4位的水仙花数或者玫瑰花数问题都是“穷举法”(有一定的围,有一定的条件的时候用穷举法)百鸡百钱 如果一个4位数恰好等于它的各位数字的4次方和,则这个4位数称为“玫瑰花”数。 例如1634就是一个玫瑰花数: 1634=14+64+34+44如果要求出所有的玫瑰花数,下列算法最合适的是(D) A排序法B查找法C解析法D穷举法 18、阅读下列程序,写出运行结果 DimSumAsInteger DimkAsInteger Sum=0 Fork=1to10 IfkMod2=0ThenSum=Sum+k Nextk PrintSum 程序运行后输出结果是: 30 19、已知在VB语言中,int(x)函数的功能是返回不大于x的最大整数,abs(x)函数的功能是取绝对值,则表达式abs(int(2.88)+int(-3))的值是(B) A、5B、1C、0D、2 20、DimxasInteger DimyasInteger Y=0 Fori=1to5 x=Val(InputBox(”请输入”)) y=y+x Nexti Printy 程序运行后,依次输入: 1020304050 运行输出结果是: 150 21、Dimsumaslong Dimiaslong Sum=0 I=0 Dowhilesum<10 i=i+1 sum=sum+i*i loop printsum 运行结果: 14 23、下列流程图表示循环结构的是(B) (1) (2)(3)(4) A (1) (2)B (2)(4)C (2)(3)D(3)(4)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新颖 算法 程序设计 参考 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)