第三章 算法的程序实现 知识点总结与练习 (含答案)2021年浙教版(2019)信息技术必修1

文档属性

名称 第三章 算法的程序实现 知识点总结与练习 (含答案)2021年浙教版(2019)信息技术必修1
格式 doc
文件大小 322.5KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2021-12-15 14:57:47

图片预览

文档简介

青岛十六中2021年信息技术会考复习
必修一 第三章 算法的程序实现 知识点总结与练习
Python语言程序设计
1.阅读材料:
用计算机程序解决问题时,需要将算法用某种计算机程序设计语言精确描述,并在计算机调试运行直至正确,才能最终解决问题。
常见的程序设计语言有Python、 C++、 Java、Ruby、Visual Basic等。同一个算法可以用不同的程序设计语言来实现。
用计算机编程解决问题的一般过程:抽象与建模---设计算法----编程程序----调试运行程序。
例题
【1】 以下哪个步骤不属于用算法解决问题的过程( )
A.抽象与建模 B.问题界定 C.设计算法 D.描述算法
Python是一种面向对象、解释型的计算机程序设计高级语言,其语法简洁清晰,方便对数据进行组织和处理,具有丰富和强大的库。
【2】Python属于( )。
A、汇编语言 B、自然语言 C、高级语言 D、机器语言
【3】以下哪个不属于编程语言( )
A、python B、VB C、C++ D、NERO
【4】以下不属于python编程语言的优点( )
简单 B、执行效率高 C、丰富的库 D、免费
【5】判断题:我们可以把Python程序保存到文件夹中,便于以后重复使用,一般python程序源文件的扩展名是“.py”。( )
二、数据类型
1.阅读材料:
【1】字符型:string,简写为:str,包括汉字、字符、字符串以及标点符号。使用的时候用“”或者‘’括住。(注引号都是英文状态)
【2】整形:interger,简写为:int,包括正整数,零,负整数。
【3】浮点数:float,主要指的就是小数,因为在计算机中小数是用指数的方式进行计数,小数点是可以移动的,所以叫做浮点数。
【4】布尔数:bool,包含True和False两个,注意大小写。
【5】复数:complex,和数学中的复数是一样的,接触较少
(2)type()函数可以用来测试你输入的数据是什么样的类型
tpye(123) int
type(“123”) str
type(True) bool
type(“True”) str
type(true) 出错
(3)为什么要区分不同的数据类型
不同的数据类型运算规则不一样
1+2=3
“1”+“2”=“12”
True+5.0=6.0
“abc”*3=”abcabcabc”
整形和浮点型在计算机中的存储方式不同,所以5.0!=5
强制数据类型转换
int(12.789)=12
float(123)=123.0
str(123)=”123”
bool(123)=True
bool(0)=Flase
str(float(123))+str(int(56.789))=”123.056”
注意在python中是严格的区分大小写以及强调缩进关系
2.例题:
【6】下列python表达式中,值为字符串类型的是( )。
abs(x) (2)”abc”*3 (3)”123”+”45” (4)123+45 (5)a=input(“请输入a的值”)
(2)(3)(5) B、(2)(4)(5)
C、(1)(2)(3) D、(1)(3)(5)
【7】在python中,字符串运算符“+”的作用是把字符串进行连接,则表达式“20”+“19”+“20+19”的运算结果是( )
A、201939 B、3939 C、201920+19 D、392019
【8】下列属于字符串常量的是( )。
cnt B.3.14 C.2018 D.“Visual Basic”
【9】判断题:在Python中,运行下列程序,从键盘接收的数据分别是10和20,输出结果是1020。( )
a=int(input())
b=int(input())
print(a+b)
【10】判断题:下列程序运行结果为123( )
b=int(‘123’)
print(b)
【11】( )函数将字符型整数转换成整数类型的数值。
float( ) B、int( ) C、input( )D、print( )
【12】Python不支持的数据类型有( )
list B、int C、float D、char
答案:1-5 BCDB√
三、运算符、常用函数、表达式
1.阅读材料:
算术运算符
基本运算 运算符 优先级 示例
指数次幂 ** 1 2**8表示28
乘 * 2 a*b表示a乘以b
除 / 2 5.2/2计算结果为2.6
整除 // 2 5//2计算结果为2
求余 % 2 17 % 3计算结果为2
加 + 3 a+b表示a加b的和
减 - 3 a-b表示a减去b的差
关系运算符
关系运算 运算符 优先级 示例
大于 > 4 100>99结果为True
小于 < 4 1.2<-23结果为False
大于等于 >= 4 Sin(1)>=0结果为True
小于等于 <= 4 Sqr(3)<=0结果为False
等于 == 4 12==13结果为False
不等于 != 4 12!=13结果为True
in x in y 4 “5”in”2”结果为False
逻辑运算符
关系运算 运算符 优先级 示例
非(求反) not 5 not(12<>13)结果为True
与(并且) and 5 (23>10) and (30<23)结果为False
或(或者) or 5 (23>10) or (30<23)结果为True
运算符的执行顺序:算术运算符 > 关系运算符 > 逻辑运算符
当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。优先程序最高级别为1,级别数字越大,优先级越低。
2.例题:
【13】判断题:在python中,运行下列程序,输出结果是0。( )
a=37
b=a%b
print(b)
【14】判断题:在python中,下面程序可以正常运行。( )
n=10
s=n+”T”
【15】判断题:在python中,**标识平方运算,如3**2结果为9( )
【16】判断题:在python中,运行以下程序,输出的结果是2。( )
a=5
b=3
c=6
c=a%b
print(c)
【17】在python中,or是逻辑运算符,10 or 20 返回值是( )
False B、20 C、True D、10
【18】运行下列Python程序,输出结果为0,则空白处应为( )
a=14
b=7
c=__________
print(c)
a+b B、a/b C、a-b D、a%b
【19】a的7倍减3的结果,对b(b不等于0)取余,正确的表达式是( )
(7*a-3)%b B、(7a-3)/b C、7*a-3%b D、(7a-3)%b
【20】和下列语句等价的是()not(x or y)
A.not x and not y
B.not x or not y
C.not x or y
D.not x and y
【21】int函数()的值是不大于参数的最大整数,则表达式int(18+25/3)%5的值是()
A 1 B 2 C 0 D 5
【22】pyrhon中三种基本运算,算术运算, 关系运算,逻辑运算其优先级从高到低依次为()
A关系运算 算术运算 逻辑运算
B 算术运算 逻辑运算 关系运算
C 关系运算 逻辑运算 算术运算
D 算术运算 关系运算 逻辑运算
【23】下列表达式的值为”假”的是( )
A.4+11<20 B.3+5==7 C.8/4<=4 D.5>3 and 3>2
答案:6-12 ACD ×√ BD
四、变量与赋值运算
1.阅读材料:
变量:在程序执行过程中,有些数据是未知可变的,我们使用变量来存储。
▲变量命名要点:①只能由字母、数字或下划线组成,不能含有小数点、空格等字符。②不能以数字开头。③区分变量名中字母大小写。如HELLO和Hello不是同一个变量。④不能以保留字作变量名,如if、For、while等。
▲变量的赋值: 变量名 = 表达式或值
Number=0
Number=Number+1
Number+=1
例题:
【24】小程同学先后给变量a赋值情况如下,您能告诉小程同学变量a到底存储的是哪个量吗?( )
a=100
a=a+1
a=“abc”
abc B、111 C、都有可能 D、100
【25】如要使变量b存储整数5,下列赋值语句写法正确的是( )
A、5=b B、 b=5 C、 b=’5’ D、b=“5”
【26】判断题:在python中,”==”是赋值符号。( )
【27】以下python中变量的命名正确的是( )
_a=2 B、 a+b=3 C、1a=4 D、print=5
【28】下列哪个语句在Python中是非法的?( )
x=y=z=1
x,y=y,x
x=(y=z+1)
x+=y
【29】假设a=5,b=3,则执行b+=a语句后b的值是( )
A、5 B、4 C、3 D、8
答案:13-23 ×××√ CDAAADB
五、基本数据结构
1.阅读材料:
字符串和列表
字符串和列表都是由一些数据元素共同组成的一个序列整体.
字符串是由0个或多个字符串组成的序列
列表也是由0个或多个元素组成的序列,但是元素可以是数字,字符串等混合类型的数据.甚至是其他的列表.
列表用方括号”[]”来表示,元素之间以逗号,分隔。
字符串,列表中的元素都是都是通过索引来定位的。第一个元素是0,第二个元素的索引是1
若访问的不是单个元素,而是一定范围内的多个元素,可以通过冒号:间隔的两个索引参数来实现。
字典:
字典中每个元素包含两个部分内容:键和值。
键通常用字符产或数值来表示,值可以是任意类型的数据.键和值两者一一对应,且每个键只能对应一个值。
2.例题:
【30】变量x = "Hello,World!"中的“World”,请问代码应该如何写: ___________________________
【31】有一个字典 dict = {'Name': 'Jian', 'Age': 18, 'Class': '001'},请问要得到字典中键为“Age”的值的代码是 _____________________________
【32】kvps={‘1’:1,’2’:2}
TheCopy=kvps
kvps[‘1’]=5
sum= kvps[‘1’]+TheCopy[‘1’]
print(sum)
A、2 B、7 C、1 D、10
【33】以下不能定义的一个字典的语句是( )
dict4={(1,2,3):”uestc”}
dict1={}
dict2={3:5}
dict3={[1,2,3]:”uestc”}
答案:24-29 AB×ACD
顺序结构的实现:
1.阅读材料:
Python常见的内联函数
input()函数实现了用户和计算机程序的交互输入,返回值为字符串型,参数为提示信息prompt,由用户输入内容
print()输出函数
print([object,...][,sep=‘‘][,end=‘\n’][,file=sys.stdout])
sep:表示变量之间用什么字符串隔开,缺省是空格
end:表示以这个字符串结尾,缺省为换行
file:指定了文本将要发送到的文件、标准流或其它类似的文件的对象;默认是sys.stdout
int() 将字符串和数字转换成整型
float() 将字符串和数字转换成施型
abs() 返回绝对值
help() 提供交互式帮助
len()返回序列的长度
ord()返回对应的ASCII
round()对进行四舍五入
max() 返回序列的最大值
min() 返回序列的最小值
2.例题:
【34】小程同学分别给a,b,c,d四个变量赋值,具体如下,请分析print(a+b),print(c+d)的运行结果( )
a=100
b=3.14
c=“xyz”
d=“uvw”
print(a+b)
print(c+d)
A、103.14“xyzuvw” B、 100+3.14 xyzuvw C、100+3.14 “xyz”+“uvw” D、103.14 xyzuvw
【35】下面程序,通过键盘分别输入23和3,运算结果是( )
a=int(input())
b=int(input())
c=a+b
print(a,”+”,b,”=”,c)
26 B、 “23”+”3”=26 C 、23+3=26 D、24+4=28
【36】如果在python程序中执行下面代码,运行的结果是( )
print(“2*3-1=”,2*3-1)
A、2*3-1=4 B、4 C、5 D、2*3-1=5
答案:30-33 x[6:11] dict[“Age”] CC
七、分支语句
1.阅读材料:
双分支:
if <条件>:
<语句A>
else:
<语句B>
多分支结构
if <条件1>:
<语句A>
elif <条件2>:
<语句B>
elif <条件3>:
<语句C>
.....
else:
<语句x>
【37】下列属于分支语句的是( )
A B、 C C、 B
【38】判断题:在python中,运行以下程序,输出的结果是5( )
a=5
b=4
if b>a:
print(a)
else:
print(b)
【39】判断题:读下面的Python程序,在划线处填写aa=5
b=8
if ___________:
print(True)
else:
print(False)
【40】代码如下,输出结果为( )
a=2
b=3
if a**b<7:
print(a+b)
else:
print(b-a)
A、3 B、5 C、1 D、2
【41】下列代码可以用来求某同学三门课的平均分,如果最后输出为”不太好”,则数学成绩可能是( )
语文=100
数学=( )
英语=110
平均分=(语文+数学+英语)/3
if 平均分>=90:
print(“很勉强”)
else:
print(“不太好”)
0 B、60 C、78 D、150
答案:34-36 ACD
八、循环语句
for循环for语句的格式:
for <变量> in <序列>:
<循环体>
for语句通过遍历序列中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。
range() 函数可创建一个整数列表,一般用在 for 循环中。
使用方式: range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。
range(4) 相当于 range(0,4)
stop: 计数到 stop 结束,不包括 stop。
range(0,4) 表达 [0, 1, 2, 3]
step:步长,默认为1。range(0,3) 相当于 range(0, 3, 1)
2.例题:
【42】判断题:下述程序的运行结果是0,1,2,3,4( )
for x in range(1,5):
print(x)
【43】判断题:在python中,for i in range(10),i的值从1变化到10,共10个循环。( )
【44】判断题:在python中,运行以下程序,输出的结果是*****。( )
for i in range(1,6):
print(“*”,end=“ ”)
【45】在python中,运行以下程序,输出的结果是( )
for i in range(1,6):
print(“*”)
***** B、6行* C、****** D、5行*
【46】命令for i in range(1,9,3):的作用是:循环执行for语句下面的语句块( )次。
A、3 B、4 C、1 D、2
【47】命令for i in range(1,5,2):执行for语句的循环中,i的值依次为( )
A、2,4 B、1,3 C、1,3,5 D、1,2,3,4,5
【48】阅读下列代码,输出结果是( )
s=1
for i in range(1,4):
s+=1
print(s)
while循环语句的格式:
while 条件:
<循环体>
while循环在执行时,首先会判断条件是否为真,如果条件为真,执行一次循环体,在此判断条件是否为真,如果仍为真,那么再执行一次循环体,以此类推,直到条件为假时退出while语句。
【49】判断题:循环的<条件>一直为“True”时,程序一直循环下去。( )
【50】一毫米的纸张折叠多少次达到珠穆朗玛峰的高度(8848米),请补充代码( )
h=0.001
num=0
while __________:
h*=2
num+=1
print(num)
H>8848 B、h<=8848 C、h<8848 D、 h>=8848
答案:37-41 B √√ CA
九、函数与模块
1.阅读材料:
在用算法解决问题的过程中,经常采用模块化程序设计思想,将问题分解成若干个子问题,并用相对独立的程序段来针对性的解决各个子问题,提高程序设计的效率。对于常用的程序代码,以模块化的形式进行保存,需要时可重复调用。
在Python中,主要利用函数、模块等方式实现模块化程序设计。
我们可以用构造函数实现常用代码的模块化,定义函数的语法规则如下:
def 函数名(参数集合):
<函数体>
[return 函数值]
模块的导入有两种方法:
方法一:import math
math.sqrt(9)
方法二:from math import sqrt
sqrt(9)
【51】为了研究随机事件,我们用随机函数来模拟随机事件,而随机函数包含在()库中。
A、time B、以上都错 C、random D、turtle
【52】判断题:ranint(1,10)的功能是随机产生一个介于1和10之间的浮点数( )
import random
shu=random.randint(1,10)
【53】以下是Python图形用户界面编程时所编写的一个按钮的激发函数,程序运行结果如图所示,在文本框a中输入20,在文本框b中输入13,单机计算按钮后,文本框c中现实的内容是( )
“33”
‘2013”
2013
33
【54】以下是python图形用户界面编程时所编写的一个按钮的激发函数,程序运行结果如图所示,
def intomap():
a=int(var.get())
b=a*a+1
var.set(b)
A、5
B、26
C、10
D、2
【55】python程序中“def cal():”这条语句的作用是( )
定义一个自定义函数
定义一个自定义类
定义一个元组变量
定义一个符号常量
【56】运行图中Python代码,得到图示的运行结果,如果在第一个文本框中输入3,在第二个文本框中输入4,然后单机命令按钮“计算”后,结果文本框中显示的内容是( )
12 B、14 C、24 D、7
答案:
42-50 ××√DAB 4√ C
51-56 C× DAAB 答案: 解析法 A
十、解析和枚举算法的应用
解析算法的基本思想是指根据问题的前提条件与所求结果之间的关系,找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。
枚举算法的基本思想是把问题所有的可能的解一一列举,然后判断没一个列举的可能解是否为正确解。
用计算机编程解决问题的一般过程