粤教版(2019)信息技术必修1 第四章 程序设计基础 章末复习习题(二)(含解析)

文档属性

名称 粤教版(2019)信息技术必修1 第四章 程序设计基础 章末复习习题(二)(含解析)
格式 docx
文件大小 48.9KB
资源类型 教案
版本资源 粤教版(2019)
科目 信息技术(信息科技)
更新时间 2021-07-01 11:40:21

图片预览

文档简介

必修一第四章程序设计基础章末复习习题(二)
一、选择题(本大题共11小题)
下列选项中能作为python程序变量名的是(  )
A. true B. while C. s+1 D. 3stu
下列定义变量的python程序语句变量赋值错误的是(  )
A. x=y=1 B. x,y=1,2 C. x==1 D. x=1,2
小平打算用python编写一个管理班上同学通讯录的程序,如果用一个变量A来对应处理同学们的电话号码,这个变量A定义成什么数据类型比较适合?()。
A. 布尔型 B. 浮点型 C. 整型 D. 字符串
设a=2,b=5,在python中,表达式a>bAndb>3的值是(  )
A. False B. True C. -1 D. 1
python文件的扩展名是(  )
A. py B. pye C. vbp D. pyr
在Python中,关于变量的说法,正确的是()。
A. 变量必须以字母开头命名
B. 变量只能用来存储数字,不能存储汉字
C. 在python中变量类型一旦定义就不能再改变
D. 变量被第二次赋值后,新值会取代旧的值
检测输入的四位整数abcd是否满足下述关系:(ab+cd)(ab+cd)=abcd。实现上述功能的python程序代码如下:
k=int(input(“输入一个四位数:”))

y=k%100
if②:
print(“符合”)
else:
print(“不符合”)
划线处应填入的代码是(  )
A. ①x=k/100②(x+y)*2!=k B. ①x=k//100②(x+y)*2==k
C. ①x=k/100②(x+y)**2!=k D. ①x=k//100②(x+y)**2==k
在python中,Int(  )函数的功能是返回不大于x的最大整数,设a=3,b=4,c=5,则下列表达式的运算结果中值最大的是(  )
A. math.sqrt(b) B. abs(a-b)
C. Int(2*a-c/b) D. a**2+b**2-c**2
156083051816000以下文本框内是一段用Python程序设计语言编写的源代码,功能是解决鸡兔同笼问题。这段源代码属于_______。
A. 软件 B. 程序 C. 命令 D. 指令
运行图中的python代码,得到图示的运行结果,如果在第一个文本框中输入3,在第二个文本框中输入4,然后单击命令按钮“计算”后,结果文本框中显示的内容是(  )
Label(frm3.text=“结果“,width=6).pack(side=LEFT)
Entry(frm3,width=10,textvariable=C).pack(  )
41922702286000def cal(  ):
a=int (A.get(  ))
b=int (B.get(  ))
c=2*(a+b)
C.set(c)
Button(root.text“计算“,command=cal).pack(  )
A. 14 B. 24 C. 12 D. 7
在python语言中表示“x属于区间[a,b)“的正确表达式是(  )
A. a≤x?or?x<b B. a<=x?and?x<b
C. a≤x?and?x<b D. a<=x?or?x<b

二、非选择题(本大题共4小题)
某企业开展“运动打卡动动有奖”活动:若员工在本月累计运动时间30小时以下,奖励0元;达到30但不足45小时奖励300元;达到45但不足60小时奖励450元;60小时及以上奖励500元。小强用python编写程序实现相关功能:输入某员工本月累计运动时间(时),输出其能获得的奖励金额。
实现上述功能的程序如下,请在划线处填入合适的代码。
t=int(input(“请输入您本月累计运动时间(时):”))
ift<0:
print(“输入错误”)
else:
ift<30:
① ______
elift<45:
m=300
② ______
m=450
else:
m=500
print(“您的奖励是:”,m)
当输入“-1”时,输出信息为 ______ (选填,填字母:A.输入错误/B.您的奖励是:0/C.您的奖励是:500)
密码强度检测。编写python程序,实现如下功能:输入要检测的密码,输出密码强度结果。密码字符分为数字字符、字母和其他符号三类。密码强度的检测方法为:若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!”。若密码位数在8位及以上,则进行强度检测:若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。
若输入“12abcd5!”,则输出结果为 ______ (选填,选字母:A.密码位数不能少于8位,请重新输入!/B.弱/C.中等/D.强)
实现上述功能的程序如下,请在划线处填入合适的代码。
password=input(“请输入要检测的密码:”)
① ______
ifn<8:
print(“密码位数不能少于8位,请重新输入!”)
else:
n1=0
n2=0
n3=0
foriinrange(0,n,1):
② ______
if“0”<=ch<=“9”:
n1=1
elif“a”<=ch<=“z”or“A”<=ch<=“Z”:
n2=1
else:
n3=1
③ ______
ifx==3:
print(“强”)
elifx==2:
print(“中等”)
else:
print(“弱”)
编写程序:求50以内所有5的倍数的和。
15.编写程序:输入三个同学的成绩,然后大到小排列。
答案
1.【答案】A
【解析】while是python的关键字,不能作为变量名;s+1中有特殊字符不可以作为变量名;3stu中不可以以数字开头定义变量名故选:A。
本题考点的知识点是python中定义变量的相关知识。Python 语言的标识符必须以字母、下画线(_)开头,后面可以跟任意数目的字母、数字和下画线(_)。此处的字母并不局限于 26 个英文字母,可以包含中文字符、日文字符等;标识符不能是 Python 关键字,但可以包含关键字;标识符不能包含空格。
最基本的python变量名的定义,较简单。
2.【答案】C
【解析】x=y=1是同时为变量x和y赋值;x,y=1,2的结果为x=1,y=2;x=1,2的结果是x=(1,2),选项C,x==1是判断语句,表示x等于1是否成立的意思故选:C。
本题考查的知识点就是python语言中的赋值语句。在Python语言里面,=(等号)就是赋值符号,赋值,把数据的值,赋予变量。即将等号右边的值赋值给左边的变量。
理解赋值与判断的区别。
3.【答案】D
【解答】
A.布尔型用于表示真(对)或假(错),A错误;
B.浮点型,即带小数点的数字都称为浮点数,B错误;
C.整型用于执行加( + )减( - )乘( * )除( / )运算;C错误;
D.字符串能够灵活表示一串数据,长度大小灵活多变,存储电话号码位数较多,故D比较合适.
故选D。
4.【答案】A
【解析】设a=2,b=5,在python中,表达式a>b 值为假;b>3的值为真,那么a>bAndb>3的值为假故选:A。
本题考查的知识点是python中能够直接处理的数据类型。Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等;浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^9和12.3x10^8是相等的;字符串是以''或''括起来的任意文本,比如'abc','xyz'等等。请注意,''或''本身只是一种表示方式,不是字符串的一部分;布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。布尔值的计算方法需要掌握。
5.【答案】A
【解析】python文件的扩展名是.py。 故选:A。
python文件的扩展名是.py。本题考查python基础知识。
6.【答案】D
A.变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,A错误;
B.变量能存储的数据很多,包含存储汉字,在Python中,定义变量是不需要指定数据类型的。但Python本身是有数据类型的,它的数据类型可分为数字型和非数字型,B错误;
C.数据类型是可以强制转换的,C错误;
D.变量被第二次赋值后,会覆盖原有的数据,D正确.
故选D.
7.【答案】D
【解析】检测是否满足(ab+cd)(ab+cd)=abcd=k,需要将ab和cd提取出来,ab=abcd//100,cd=abcd%100。所以第一空填=k//100;第二空判断(ab+cd)(ab+cd)=k,所以该空填写(x+y)**2==故选:D。
本题考查的知识点选择结构if与的相关知识。if语句的标准格式为? ?if? ?条件? ? then??语句1? ?else? ? 语句2?end if,根据这个格式将选项套入试求结果即可。python语言中常见的运算符号有+-*/,此外还有%求余运算、//整除运算,**幂运算,题目要求的是检测是否满足(ab+cd)(ab+cd)=abcd。
熟记python中各运算符号,即运算优先级,然后根据程序要求实现的目的来进行选择语句。
8.【答案】C
【解析】解析:设a=3,b=4,c=5,math.sqrt(b)=2,abs(a-b)=abs(-1)=1,Int(2*a-c/b)=Int(4.75)=4,a**2+b**2-c**2=9+16-25=0,故运算结果中值最大的是Int(2*a-c/b),故选:C。
本题主要考查Python表达式的运算
熟练掌握Python表达式的运算
9.【答案】B
【解答】
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系;
根据题意,文本框内是一段用Python程序设计语言编写的源代码,这段源代码属于源程序,故B正确。
10.【答案】A【解析】该程序用来计算c=2*(a+b),如果在第一个文本框中输入3,第二个文本框中输入4,然后单击命令按钮“计算”后,结果文本框中显示的内容是c=2*(a+b)=3*(3+4)=14.
故选:A。观察代码,实现的是c=2*(a+b)。本题考查python程序的执行。
11.【答案】B
【解析】在python语言中表示“x属于区间[a,b)“用数学表达式为a<=X<b,同时满足a和b这个区间内的数字,应该用and来连接。故选:B。
本题考查的是python中的and和or的用法。and 和 or?是python的两个逻辑运算符,可以使用and和or进行多个条件内容的判断.and是当and连接的所有的表达式的值为真时,才为真 or是当or连接的所有表达式的值一个为真时,表达式值为真。
简单的逻辑运算,and和or的用法需要熟练掌握。
12.【答案】【小题1】m=0,elift<60
【小题2】A
【解析】①若员工在本月累计运动时间30小时以下,奖励0元,所以if<30时,奖金m=0②结合上下文达到45但不足60小时奖励450元;所以此时应该输入elift<60,此时m=450;(2)由于m=-1<0不是有效值,故输出信息应该为“输入错误”故选A。
本题主要考查的就是VB中的解析算法。所谓解析法(analysis algorithm)是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。
根据题目要求,分析部分语句表达的意思来填写语句,题目较易。
13.【答案】【小题1】D
【小题2】n=len(password),ch=password[i],x=n1+n2+n3
【解析】(1)密码字符分为数字字符、字母和其他符号三类。若输入“12abcd5!”,属于不同的三类字符,则密码强度为“强”。(2)此处取密码的长度,将其赋给变量n,len(  )是返回字符串的长度,故填n=len(password)。(3)ch是取密码的每一位进行判断,故此处填ch=password[i]。(4)当出现数字时n1=1,当出现字母时n2=1,当出现其它字符时n3=1,x用来统计有几类字符,故此处填x=n1+n2+n3。
故答案为:(1)D(2)①n=len(password)②ch=password[i]③x=n1+n2+n3
len(  )是返回字符串的长度。for循环计数循环。程序为利用input(  )输入要检测的密码,后面当n<8提示太短,则第一个空处填n的赋值语句。不短的话,分别给n1、n2、n3赋初值为0.之后for循环n次。循环体中,下面判断ch在0到9范围内,则n1赋值为1,则第二个空应该是给ch赋值,为ch=password[i]。x为几判断是等级,可见x用来统计有几类字符,所以x=n1+n2+n3。
本题考查Python程序的执行和调试。
14. 【答案】#求50以内所有5的倍数的和i=1sum=0while i<=50:#从i循环到50? ? if i%5==0:#判断变量i是否能被5整除? ? ? ?sum=sum+i#求50以内所有5的倍数的和? ? i=i+1#循环控制变量print(sum)#循环结束,输出和。
【解析】本题主要考查程序的编写熟练掌握循环结构与选择结构
15. 【答案】解析:#输入三个同学的成绩,然后大到小排列s1=float(input(“请输入第一位同学的成绩:“)s2=float(input(“请输入第二位同学的成绩:“)
s3=float(input(“请输入第三位同学的成绩:“)
if? s1-s2>1e-6:#第一个和第二个进行比较,然后交换两个数的值? ? tmp=s1? ? s1=s2? ? s2=tmpif? s1-s3>1e-6:#第一个和第三个进行比较,然后交换两个数的值? ? tmp=s1? ? s1=s3? ? s3=tmpif? s2-s3>1e-6:#第一个和第二个进行比较,然后交换两个数的值? ? tmp=s2? ? s2=s3? ? s3=tmpprint(s1,s2,s3)#输出排序后的结果【解析】本题主要考查if语句及变量的交换熟练掌握if语句的相关知识