内容正文:
2023-2024学年高一上学期粤教版(2019)必修一4.1 程序设计语言的基础知识
一、选择题
1.以( )开头的代码是注释语句,不参与程序的执行。
A.% B.# C.“” D.;
2.在Python中print(-14//4)的运行结果是( )。
A.-4 B.-3.5 C.2 D.-2
3.有一堆桃子,猴子第一天吃掉其中的一半,并再多吃一个。之后每天猴子都吃掉剩余桃子的一半,再多吃一个。假设到第十天时,猴子发现只剩下了一个桃子,问原来这堆桃子最初有多少个。实现上述问题的两段Python程序如下,下列说法不正确的是( )
#程序1
def eat _peach (day):
s=1
for i in range (9,day-1,-1):
s=(s+1)*2
return s
print (eat _peach (1))
#程序2
def eat _peach (day):
if day==10:
return 1
else:
return (eat _peach (day+1)+1)*2
print (eat _peach (1))
A.程序1和程序2的输出结果相同,均为第1天的桃子数量
B.程序2使用递归算法,函数eat _peach的调用次数为10次
C.将程序1的划线语句修改为range (day,10),输出结果发生改变
D.将程序2的划线语句修改为print (eat _peach (8)),输出的结果为10
4.在 Python 语言中,创建自定义函数的语法规范是( )
A.del 函数名(参数): B.def 函数名(参数):
C.define 函数名(参数): D.sub 函数名(参数):
5.下列表达式的值最大的是()
A.len( “131” ) * 4 B.ord( “a” ) + chr( 49 )
C.max( [ 19, 60, 31 ] ) D.int( “ 1 ” * 3 )
6.在python中使用( )函数输出数据。
A.random( ) B.input( ) C.time( ) D.print( )
7.以下Python表达式不能取出字符串s="0086-0573-1180"中的子串"0573"的是()
A.s[s.find("-")+1:-5] B.s[6:6+len("0573")]
C.s[-9:9:1] D.s[-6:-10:-1][::-1]
8.利用Python程序绘制函数y=x2的图像,若要绘制下图所示的函数图像,则下列代码中第6行应填写的语句是( )
A.plt.plot(x,y) B.plt.plot(y,x) C.Random.randint(x) D.plt.scatter(x,y)
9.以下Python程序运行的结果为( )
1 def jiecheng (n):
2 if n>1:
3 return n*jiecheng(n-1)
4 else:
5 return 1
6 result=jiecheng(4)
7 print(result)
A.24 B.12 C.6 D.1
10.Python语句"abc".upper()的执行结果是( )
A.’ABC’ B.“abc” C.“Abe” D.’abC’
11.小敏制作了一个简单的Flask程序,编写路由和视图函数如下所示:
from flask import Flask #导入Flask框架模块
app= Flask(_name_) #创建应用实例
@app.route(" ") #路由
def hello (): #视图函数
return "Hello,World"
执行程序后,在浏览器中输入网址127.0.0.1:5000/hello,网页显示的内容为"Hello,World",划线处应填入的代码为( )
A./ B.hello C./hello D.Hello,World
12.Python编程语言中正确的变量名是( )
A.kr2 B.sh-2 C.for D.3a
13.数组a已有9个数据,分别存储于a[0]~a[8],需在第j个位置(1≤j≤9)插入数据k。利用Python语言编写代码,模拟数据插入过程,可选代码如下:
①a[i]=k ②a[i-1]=k ③a[i+1]=a[i] ④a[i]=a[i-1]
⑤for i in range(j,9) ⑥for i in range(8,j-2,-1)
a=[9,8,7,6,5,4,3,2,1,0]
________________________:
________________________
划线处所需代码依次为( )
A.⑥③① B.⑤③② C.⑥④① D.⑤③①
14.如下Python程序段
x = 2
print (x+1)
print (x+2)
运行后,变量x的值是( )
A.2 B.3 C.5 D.
15.如dist=0.87,下列常用的关系运算符运算结果错误的是( )
A.dist>=1 False B.dist==1 False C.dist!=1 True D.dist<=1 False
二、填空题
16.某同学学习了算法与程序设计后,根据算法流程图编写了一段程序(如图)。当输入n的值为5时,输出结果为 ;当输入n的值为100时,输出结果为 。
17.以下程序引入Python的math模块,使用math模块下的floor函数对命令行输入的实数进行取整
n=input(“请输入一个实数:”)
n2= math. floor(float(n))
print(n2)
该程序段划线处应填入的代码为 。
18.有如下程序段:
score=int(input(“请输入分数:”))
if score>60:
score+=20
score+=10
print(score)
若程序运行后输入20,打印出的 score的值为 。
19.程序分析题:算法设计与程序实现(每空4分,共8分)
已知a、b、c分别为三角形的三条边长,利用海伦公式求三角形面积 ,其中编程实现:输入边长a,b, c,如果能构成三角形,输出面积,否则输出“No Answer !”
def cal():
a=int(txtl.get())
b=int(txt2.get())
c=int(txt3.get())
if: :
p= (atb+c)/2
s=math. sqrt (p*(p-a)*(p-b)*(p-c))
txt4.insert (0,str(s))
else:
txt4.insert (0."No Answer!")
(1)利用海伦公式求三角形面积的算法是 (填写:解析法/查找法/穷举法/排序法)。
(2)填写出参考程序中空白处的表达式 (填写字母: A/B/C/D)。
A.a+b>c or a+c>b and b+c>a B.a+b>c or a+c>b or b+c>a
C. a+b>c and a+c>b or b+c>a D.a+b>c and a+c>b and b+c>a
三、操作题
20.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。它是已知最古老的算法,其可追溯至公元前300年前。
辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问题。
描述一
描述二
描述三
①输入两个正整数m,n(m>n);
②计算m除以n所得的余数r;
③m=n,n=r;
④若r=0,则m,n的最大公约数等于m;否则转到步骤②;
⑤输出最大公约数m;
⑥结束。
(1)描述一是 描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
(2)在描述三中代码4到6行作用是 。
(3)在描述三程序设计中,补充代码第8行划线处为 。
四、简答题
21.按照下列步骤顺序,逐条写出相应的代码。
(1)导入模块math;
(2)将16赋给变量a;
(3)将表达式math.sqrt(a)的值赋给变量b;
(4)将表达式a*b赋给变量c;
(5)使用输出语句在屏幕上输出c的值。
22.实现一个简单的出租车计费系统,当输入行程的总里程时,输出乘客应付的车费(车费保留一位小数)。计费标准具体为起步价10元/3千米,超过3千米以后,每千米费用为1.2元,超过10千米以后,每千米的费用为1.5元。
23.从键盘上输入一个字符,当输入的是英文字母时,输出“输入的是英文字母”;当输入的是数字时,输出“输入的数字”;当输入的是其他字符时,输出“输入的是其他字符”。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
2.A
3.C
4.B
5.D
6.D
7.B
8.A
9.A
10.A
11.C
12.A
13.A
14.A
15.D
16. 15 5050
17.import math
18.30
19. 解析法 D
20. 自然语言 确保m>=n r!=0
21.import math
a=16
b=math. sqrt(a)
c=a*b
print(c)
22.km=float(input("请输入千米数:"))
if km<=0:
print("千米数输入错误,重新输入")
elif km<=3:
print("您需要支付10元车费")
elif km<=10:
cost=10+(km-3)*1.2
print("您需要支付{:.1f}元车费".format(cost))
else:
cost=18.4+(km-10)*1.5
print("您需要支付{:.1f}元车费".format(cost))
23.ch=input("请输入一个字符:")
if ch.isdigit()==True:
print("输入的是数字")
elif ch.isalpha()==True:
print("输入的是英文字母")
else:
print("输入的是其他字符")
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$