中小学教育资源及组卷应用平台
2.2做出判断的分支-教科版(2019)高中信息技术必修一练习
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.某流程图如图所示:
执行完该流程图后,以下各组数值中不可能是s1和s2的值是(
)
A.9 127
B.49 7
C.38 31
D.81 1
2.请判断如下程序的运行结果是将三个数( )。
print("请输入3个数:")
x=int(input("x="))
y=int(input("y="))
z=int(input("z="))
temp=0
if
x>y:
temp=y
y=x
x=temp
if
x>z:
temp=z
z=x
x=temp
if
y>z:
temp=z
z=y
y=temp
print("这3个数新序列是:",x,y,z)
(
)
A.从小到大排序
B.从大到小排序
C.都变成最大的数
D.都变成最小的数
3.以下流程图中x为整型变量。若输入9,算法执行结果是(
)。
A.PM
B.Error
C.AM
D.WRONG
4.以下流程图中username为字符串型变量,password为数值型变量。若输入admin,12356,算法执行结果是(
)。
A.Welcome
B.No
user
exist
C.Error
D.Wrong
password
5.有如下Python程序,当程序运行后输入15000,则程序输出结果为(
)
A.2800
B.2800.0
C.12200
D.12200.0
6.函数如下
def
chanageInt(number2):
number2
=
number2+1
print("changeInt:
number2=
",number2)
#调用
number1
=
2
chanageInt(number1)
print("number:",number1)
打印结果哪项是正确的(
)
A.changeInt:
number2=
3
number:
3
B.changeInt:
number2=
3
number:
2
C.number:
2
changeInt:
number2=
2
D.number:
2
changeInt:
number2=
3
7.以下关于模块说法错误的是(
)
A.一个xx.py就是一个模块
B.任何一个普通的xx.py文件可以作为模块导入
C.模块文件的扩展名不一定是
.py
D.运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
二、填空题
8.x=int(input(“请输入第1个数:”))
y=int(input(“请输入第2个数:”))
if
x>y:
print(x)
else:
print(y)
程序运行后,键盘输入8和6,其输出结果为_________________
9.以下流程图描述的算法,执行结果是_______。
10.以下流程图描述的算法,执行结果是_______。
11.函数可分为______和______两种类型。
12.参数的作用是______,当有多个参数时,各参数之间用______分隔开。
三、操作题
13.请编写程序,实现输入一个人的出生年份(>=1972),输出他的生肖,直到输入0结束,运行结果如下:
请输入出生年份,输入0结束:2004
你的生肖是:猴
请输入出生年份,输入0结束:
完善下列代码,实现上述功能.
def
shengxiao(year):
#求生肖
zodiac=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
_____________①
②_____________
#以下为主程序
myyear=int(input("请输入出生年份,输入0结束:"))
while
myyear!=0:
print("你的生肖是:",_______③
)
myyear=int(input("请输入出生年份,输入0结束:"))
21世纪教育网
www.21cnjy.com
精品试卷·第
2
页
(共
2
页)
21世纪教育网(www.21cnjy.com)中小学教育资源及组卷应用平台
2.2做出判断的分支-教科版(2019)高中信息技术必修一练习
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.某流程图如图所示:
执行完该流程图后,以下各组数值中不可能是s1和s2的值是(
)
A.9 127
B.49 7
C.38 31
D.81 1
答案:C
【详解】
本题主要考查选择结构的应用。题中n=Int(rnd
2),n=0或1,选择结构中判断条件是n
Mod
2=0,成立时执行左侧程序部分,不成立时执行右侧程序部分,由上可知,a1可能为1,3,5,7,9,11,13,15,17,19;a2可能为1,2,4,8,16,32,64,128,256,512;因此A、B、D选项均有可能出现,C选项不可能。
2.请判断如下程序的运行结果是将三个数( )。
print("请输入3个数:")
x=int(input("x="))
y=int(input("y="))
z=int(input("z="))
temp=0
if
x>y:
temp=y
y=x
x=temp
if
x>z:
temp=z
z=x
x=temp
if
y>z:
temp=z
z=y
y=temp
print("这3个数新序列是:",x,y,z)
(
)
A.从小到大排序
B.从大到小排序
C.都变成最大的数
D.都变成最小的数
答案:A
详解本题考查的是if选择语句。第一个if语句执行后:x3.以下流程图中x为整型变量。若输入9,算法执行结果是(
)。
A.PM
B.Error
C.AM
D.WRONG
答案:C
【详解】
本题考查的知识点是流程图的识读。
输入x的值,即x=9,执行x<0
or
x>23语句,判断出x不符合当前的条件判断语句,故执行x<12语句,判断出x符合当前的条件判断语句,故执行输出“AM”语句。
所以输出的结果为:AM。
故C选项正确。
4.以下流程图中username为字符串型变量,password为数值型变量。若输入admin,12356,算法执行结果是(
)。
A.Welcome
B.No
user
exist
C.Error
D.Wrong
password
答案:D
【详解】
本题考查的知识点是流程图的识读。
已知初始值username=admin,password=12356,执行判断username=“admin”语句,符合此关系表达式,故执行判断password=123456语句,符合此关系表达式,故执行输出“Welcome”语句,所以,算法执行的结果为Welcome。
故选择A选项。
5.有如下Python程序,当程序运行后输入15000,则程序输出结果为(
)
A.2800
B.2800.0
C.12200
D.12200.0
答案:D
详解本题考查的是Python的选择嵌套语句。先判断是否小于等于5000,接着在判断是否小于等于7000,最后判断是否小于等于10000。15000不小于等于10000,故执行tax=800+(salary-1000)
0.4=800+(15000-10000)
0.4=800+2000=2800.0。因为salary接收的是浮点型数据。salary-tax=15000-2800.0=12200.0。故选项D正确。
6.函数如下
def
chanageInt(number2):
number2
=
number2+1
print("changeInt:
number2=
",number2)
#调用
number1
=
2
chanageInt(number1)
print("number:",number1)
打印结果哪项是正确的(
)
A.changeInt:
number2=
3
number:
3
B.changeInt:
number2=
3
number:
2
C.number:
2
changeInt:
number2=
2
D.number:
2
changeInt:
number2=
3
答案:B
详解本题考查Python相关知识。chanageInt(number1)将number1代入自定义函数chanageInt中,因为number1=2,所以函数中number2=3。打印函数print("changeInt:
number2=
",number2),得到changeInt:
number2=3,number1的值没变,所以本题选B。
7.以下关于模块说法错误的是(
)
A.一个xx.py就是一个模块
B.任何一个普通的xx.py文件可以作为模块导入
C.模块文件的扩展名不一定是
.py
D.运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
答案:C
详解本题考查python相关知识。python模块定义:逻辑上来说模块就是一组功能的组合。实质上一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。模块文件的扩展名一定是py,故本题选项C的说法错误。
二、填空题
8.x=int(input(“请输入第1个数:”))
y=int(input(“请输入第2个数:”))
if
x>y:
print(x)
else:
print(y)
程序运行后,键盘输入8和6,其输出结果为_________________
答案:8
详解本题考查的是Python选择语句。键盘输入8和6,即x=8,y=6,x>6成立,执行print(x),即输出8。
9.以下流程图描述的算法,执行结果是_______。
答案:@@@@########
【详解】
本题考查的知识点是程序的识读。
初始值t=0,n=1,执行输出“@@@@”语句,再执行判断n>2表达式,不符合该条件表达式,故执行输出“####”,再执行n=n+1语句,即n=2,再执行判断t=1表达式,不符合该条件表达式,故执行判断n>2表达式,不符合该条件表达式,故执行输出“####”,再执行n=n+1语句,即n=3,再执行判断t=1表达式,不符合该条件表达式,故执行判断n>2表达式,符合该条件表达式,故执行输出“”,
再执行t=1语句,再执行n=n+1语句,即n=4;再执行判断t=1表达式,符合该条件表达式,故程序结束。
所以流程图的执行结果为:@@@@########。
故答案为@@@@########。
10.以下流程图描述的算法,执行结果是_______。
答案:0
【详解】
本题考查的知识点是流程图的识读。
方法一:按照流程图的执行顺序,
初始值a(1)=1,a(2)=2,a(3)=3,a(4)=4,s=0,i=1,
执行i<4语句,满足此关系表达式,故执行i=i+1语句,即i=2,并执行s=s
a(2)语句,即s=0;
执行i<4语句,满足此关系表达式,故执行i=i+1语句,即i=3,并执行s=s
a(3)语句,即s=0;
执行i<4语句,满足此关系表达式,故执行i=i+1语句,即i=4,并执行s=s
a(4)语句,即s=0;
执行i<4语句,不满足此关系表达式,故输出s语句,即s=0;
故此流程图的执行结果是0。
方法二:根据s=0,s=s
a(2)语句,可以知道s的值一直是0,所以可以直接得出此流程图的执行结果是0。
故本题的答案是0。
11.函数可分为______和______两种类型。
答案:系统函数
用户自定义函数
详解本题考查Python相关知识。函数可分为系统函数和自定义函数。系统函数即函数库中的标准函数,是程序设计或操作系统提供给用户的一系列已经编制好的程序。
12.参数的作用是______,当有多个参数时,各参数之间用______分隔开。
答案:向函数传递值
逗号
详解本题考查Python相关知识。函数参数的作用是传递数据给函数使用。在使用的过程中,参数有两种形式:形式参数和实际参数。形参,定义函数时的参数。实参,调用函数时的参数根据实际参数类型不同,将实际参数传递给形参的方式有两种:值传递和引用传递。当有多个参数时,各参数之间用逗号分隔开。
三、操作题
13.请编写程序,实现输入一个人的出生年份(>=1972),输出他的生肖,直到输入0结束,运行结果如下:
请输入出生年份,输入0结束:2004
你的生肖是:猴
请输入出生年份,输入0结束:
完善下列代码,实现上述功能.
def
shengxiao(year):
#求生肖
zodiac=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
_____________①
②_____________
#以下为主程序
myyear=int(input("请输入出生年份,输入0结束:"))
while
myyear!=0:
print("你的生肖是:",_______③
)
myyear=int(input("请输入出生年份,输入0结束:"))
答案:①index=(myyear-1972)%12
②return
zodiac[index]
③shengxiao(myyear)
详解本题考查Python相关知识。(1)第一空在根据出生年和1972差值的余数从切片中取相应字符。因为1972正好是鼠年。故填入index=(myyear-1972)%12。(2)第二空,根据index的值从切片中取字符,返回给函数,故填入return
zodiac[index]。(3)此处为调用函数,将输入的年份代入,故填入shengxiao(myyear)。
21世纪教育网
www.21cnjy.com
精品试卷·第
2
页
(共
2
页)
21世纪教育网(www.21cnjy.com)