资源简介 3.3简单算法及其程序实现同步练习一、选择题(共15题)1.下列赋值语句正确的是( )A.x+1=x B.x=x+1 C.x=+1 D.x,y,z=1,22.计算机在执行高级语言程序时,逐条语句翻译成机器语言并立即执行的程序是( )A.解释程序 B.编译程序 C.高级程序 D.汇编程序3.下列程序运行后,在键盘输入100,则程序的运行结果是( )。 x=input("Please input x:")if x<0 or x>=20: print(x//10) elif 0<=x<5: print(x) elif 5<=x<10: print(3*x-5) elif 10<=x<20: print(0.5*x-2)A.10 B.100 C.295 D.484.在编写python程序时缩进的作用是()。A.让程序更美观 B.只在for循环中使用C.只在if语句中使用 D.用来界定代码块5.运行Python程序的过程中出现了如下图错误提示,原因是()。A.变量名51study太长 B.应该写成"chinese" =51studyC.“chinese”应该写成“china s” D.变量名51study不符合python语言规范,变量名不能以数字开头6.某算法的流程图如图所示。执行这部分流程,输入41,则输出的值是( )A.0 B.19 C.22 D.327.某算法的部分流程图如图所示,执行这部分流程后,输出s的值为64,则①处应填入( )A.i \ 4 = 2 B.Sqr(i) = Int(Sqr(i)) C.i Mod 2 = 1 D.i Mod 2 = 08.下面if语句统计满足“性别 (gender) 为男、职称(rank) 为副教授、年龄(age)小于40岁”条件的人数,正确的语句为( )。A.if(gender=="男" or age<40 and rank=="副教授"): n+=1B.if(gender=="男" and age<40 and rank=="副教授"): n+=1C.if(gender=="男" and age<40 or rank=="副教授"): n+=1D.if(gender=="男" or age<40 or rank=="副教授"): n+=19.有如下 VB 程序段Dim conn As New ADODB.ConnectionDim rs As New ADODB.Recordsetconn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” & App.Path & “\词库.accdb”conn.OpenSet rs.ActiveConnection = connrs.Open “SELECT * FROM words”n = 0Do While Not rs.EOFn = n + 1en(n) = rs.Fields(1)ch(n) = rs.Fields(2)rs.MoveNextLooprs.Closeconn.Close下列说法中正确的是( )①连接的数据库文件名是“\词库.accdb” ②程序运行后,变量n 的值表示该数据表中记录的总数 ③数组 en(n)所存储的是数据表第 2 个字段的字段值 ④“ConnectionString”是 conn 对象的属性值⑤查询的数据表名称是“words” ⑥省略语句“rs.MoveNext”,程序也可以正常运行A.①④⑤ B.③④⑥ C.②③⑤ D.②③④10.某算法的部分流程图如图所示。执行这部分流程,输入变量n的值为5,则下列说法正确的是( )A.语句“c<=n?”共执行了4次 B.循环结束后,变量a的值为3C.循环结束后,变量b的值为5 D.循环结束后,程序输出的值为611.下列与数学表达式对应的python表达式,正确的是( )。A.( - b + math. sqrt (b * b – 4 * a * c)) /a * a B.- b + math. sqrt (b * b – 4 * a * c) /2*aC.( -b + math. sqrt (b * 2 – 4 * a * c)) /(2 * a) D.( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a)12.(必修)下列说法中,正确的是( )。A.程序设计语言中的汇编语言包含C语言B.机器语言不是程序设计语言C.程序实际上是一组操作的指令或语句的序列,是计算机执行算法的操作步骤D.程序设计和程序设计语言是同一概念13.经过中国国家登山队的测量,2020年12月8日,中尼两国共同宣布了珠穆朗玛峰的最新高度为海拔8848.86米。现有一张白纸的厚度大约是0.08毫米,对折一次,厚度变0.16毫米,再对折一次,厚度变为0.32毫米,……,每对折一次,其厚度均变为对折前的两倍,假设这张纸足够大,可以对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度?以下是求解以上问题的程序片段,请你补全代码:请选择适当的代码填入程序①处。( )A.while B.for C.output D.input14.下面说法正确的是( )A.算法+数据结构=程序 B.算法就是程序C.数据结构就是程序 D.算法包括数据结构15.某对分查找算法的VB程序段如下:i=1:j=7f=Falsekey=Val(Text1. Text)Do While i<=j And Not fm=(i+j)\2If a(m)=key Then f=TrueIf a(m)>key Then i=m-1 Else i=m+1LoopList1. AddItem Str(i)+Str(j)+Str(m)数组元素a(1)到a(7)的值依次为"23,42,58,66,77,83,98",运行上述程序段后,列表框List1中显示的结果为"5 4 5",则文本框Text1中输入值的范围是( )A.[66,77] B.[66,77) C.(66,77] D.(66,77)二、综合题(共5题)16.下列程序段中,赋值语句s=s+i被重复执行了4次。s=0For i in range(3,10,2):s=s+i (_____)17.以下是计算s = 1+6+11+...+ 101的程序代码,请补全程序。s=0for i in range(1,102, ):s= print( s)请补充完成上述程序①_________ ②_________18.编写VB程序,实现如下功能:在文本框Text1里输入一个字符串,单击“判断”按钮Command1,判断这个字符串是不是回文字符串(回文字符串就是一个对称的字符串,如"abcba"或"abccba"都是回文字符串,"abc"不是回文字符串)。在文本框Text2里显示结果,回文字符串显示"yes",否则显示"no"。运行效果如左图所示。(1)要使窗体Form1的标题改为“判断回文字符串”,可在其属性窗口(上方右图)中将_____________①属性的属性值修改为“判断回文字符串”。(2)为实现上述功能,请在划线处填入合适代码或选项Private Sub Command1_Click()Dim st As StringDim i As Integer, j As IntegerDim flag As Boolean________② ' (填程序代码)j = Len(st)i = 1flag = TrueDo While flag And (i <= j)If Mid(st, i, 1) = Mid(st, j, 1) Theni = i + 1______________③Elseflag = FalseEnd IfLoopIf __________④ ThenText2.Text = "yes"ElseText2.Text = "no"End IfEnd Sub19.利用for循环,分别计算1--100中奇数的和、偶数的和。sum1=0sum2=0for i in range(1,100):if i%2==0:sum1+=ielse:sum2+=iprint(sum1,sum2)20.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。提示:考虑使用range(#begin,#end)参考答案1.B2.A3.A4.D5.D6.B7.D8.B9.C10.D11.D12.C13.A14.A15.D16.正确17.5 s+i18.caption st=text1.text j=j-1 flag19.代码解析注释如下:sum1=0#定义sum1存储偶数和,并赋值sum1=0sum2=0#定义sum2存储偶数和,并赋值sum2=0for i in range(1,100):#通过遍历1至100的所有整数,分别计算1至100中的偶数和、奇数和if i%2==0:#若i是偶数,则把偶数加到sum1中sum1+=ielse:#若i是奇数,则把奇数加到sum2中sum2+=iprint(sum1,sum2)#输出结果,偶数和sum1的值为2550,奇数和sum2的值为250020.l=[]for i in range(2000,3201):if (i%7==0)and (i%5!=0):l.append(str(i))print (','.join(1)) 展开更多...... 收起↑ 资源预览