必修1专题三 算法初步及Python基础 课件(共39张PPT)2026年浙江省高考选考信息技术总复习

资源下载
  1. 二一教育资源

必修1专题三 算法初步及Python基础 课件(共39张PPT)2026年浙江省高考选考信息技术总复习

资源简介

(共39张PPT)
专题三 算法初步及Python基础
思维导图
归纳提炼
一、算法初步
1.算法的定义
“算法”指的是解决问题或完成任务的一系列步骤。在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。
2.算法的五大特征
(1)有穷性:一个算法的处理步骤必须是有限的。
(2)可行性:一个算法中的每一步操作与要求都应该是算法执行者(人或者机器)可以实施的,同时在现实环境中能做到并且能在有限的时间内完成。
(3)确定性:算法中对于每个步骤的执行描述必须是明确的。
(4)0个或多个输入:如果问题求解时所有数据都是不变且已知的,那么所需数据包含在算法中,不必再在执行时输入数据;如果一些初始数据需要在算法执行时临时获取以适应不同情形的问题,那么算法需要包含一个或多个输入。
(5)1个或多个输出:算法必须包含至少一个输出。
3.算法的要素
(1)数据
用算法解决问题时,必须明确参与运算的初始数据、运算时产生的中间数据以及代表问题解决的结果数据。
(2)运算
在对数据进行运算时,必须明确每一步的运算是什么、对哪些数据进行运算等。
(3)控制转移
在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这时就需要运用控制转移来执行不同的操作。
4.算法的四种描述方式:自然语言、流程图、伪代码、计算机程序设计语言。
(1)伪代码的语法约定:
①条件判断语句
格式1:If 条件 then
(语句序列1)
Else
(语句序列2)
语义:若条件成立,则执行语句序列1(由一个或多个语句组成),否则执行语句序列2。
格式2:If 条件 then
(语句序列1)
含义:若条件成立,则执行特定的语句序列1,而条件不成立时不需要执行特定的处理。
②循环语句
格式:while 条件
(循环体)
语义:循环体由一个或多个语句组成。循环语句执行时,先判断条件是否成立,若条件成立则执行循环体,循环体执行完后再次判断条件是否成立,如此重复,直到某次条件不成立,则结束循环语句,接着去执行循环语句后面的
语句。
(2)四种算法描述方式的优缺点对比
方式 自然语言 流程图 伪代码 计算机语言
优点 通俗易懂 形象直观、容易理解 简洁易懂、修改容易 能让计算机理解执行
缺点 容易产 生歧义 情况复杂时,过多的流程线影响算法的理解 不直观、错误不容易发现 需要有一定的程序基础
5.算法的三种控制结构:顺序结构、分支结构、循环结构。
6.用算法解决问题的过程:抽象与建模、设计算法、描述算法。
二、Python语言程序设计基础
1.Python编程环境
(1)编写Python程序比较方便的方式是使用集成开发环境(Integrated Development Environment,简称IDE)。
(2)IDLE是开发Python程序的基本IDE。
2.Python程序的运行方式
(1)Python命令行执行方式
启动Python解释器后,可以直接在其提示符“ ”后输入语句。
(2)Python程序执行方式
将语句写成程序,再把程序存放到一个文件中,然后批量执行程序中的全部语句,这称为程序执行方式。
【学习心得】 Python源文件的扩展名为.py。
(3)常见的Python数据类型
常见的Python基本数据类型有:整型、实型、字符串型、布尔型。
(4)Python运算符
Python的基本运算包括算术运算、关系运算和逻辑运算三大类。它们的优先级情况如下图所示:
(5)常量、变量
常量是指在程序运行中,其值不能改变的数据对象。
变量是指程序设计时,其值是未知或可变的数据对象。
(6)变量的命名
变量名可以包括字母、数字和下划线,但不能以数字开头,而且字母区分大小写。
【学习心得】
①Python的标识符和关键字不能作为变量名。
②由于Python是动态类型语言,因此在使用前不需要预先声明变量的数据类型。
(7)赋值语句
①赋值语句的一般格式为:变量=表达式。
②复合赋值运算符
+=、-=、*=、/=、//=、%=、**=。
③多变量赋值
变量1=变量2=……=变量n=表达式。
④同步赋值
变量1,变量2,…,变量n=表达式1,表达式2,…,表达式n。
三、Python基本数据结构
1.字符串
(1)字符串是用单引号、双引号或三引号括起来的一个字符序列。
(2)字符串的特点
①字符串是不可变对象。
②通过索引来访问字符串中的字符。索引表示字符在字符串的位置,第一个字符的索引是0,第二个字符的索引是1,以此类推不断递增。
(3)字符串的切片操作
通过字符串的切片操作可以获得字符串的一个子串。
格式为:字符串名[start:end:step]
默认情况下step为1,表示返回下标从start到end-1的字符构成的一个子串。
2.列表
(1)列表是由0个或多个元素组成的序列,其中的元素可以是数字、字符串等混合类型的数据,甚至是其他的列表。
(2)列表的特点
①不同类型的元素可以存在于同一列表中。
②列表用方括号“[]”来表示,元素之间以逗号“,”分隔。
③列表的大小是可变的,可以根据需要增加或缩小。
④列表是可变对象。一个列表被创建后,可以直接修改列表中的元素值。
(3)列表的访问
列表中的元素是通过索引来定位的,第一个元素的索引是0。
(4)列表的常用函数
函数 功能
append(x) 在列表尾部添加元素x
remove(x) 在列表中删除元素x
insert(i,x) 在i位置插入元素x
pop(i) 删除i位置的元素
sort() 对列表中的元素进行升序排序
3.字典
(1)字典的特点
①字典是键值对的集合,即字典中的每个元素包含两部分内容:键和值。
②键通常用字符串或数值来表示,值可以是任意类型的数据,键必须是不可变对象,在字典中必须是唯一的。键和值两者一一对应,且每个键只能对应一个值。通过键可以找到与其有关的值,反之则不行。
③键和值在字典中以成对的形式出现,键-值对用冒号分隔,各个对之间用逗号分隔,所有这些都包括在花括号“{}”中。字典中的元素是没有顺序的,引用元素时以键为索引。
(2)字典的常见操作
操作命令或函数 功能
del dict1["x"] 删除键值为x的键值对
dict1.pop("x") 删除键值为x的键值对
dict1["x"]=1 添加(或修改)键为x值为1的键值对
dict1.update(dict) 批量更新
dict1.keys( ) 得到字典dict1所有的键
dict1.values( ) 得到字典dict1所有的值
dict1.items( ) 得到字典dict1所有的键值对
典型例题
[例1] 下列有关算法的描述,错误的是(   )
A.算法指的是解决问题或完成任务的一系列步骤
B.算法的确定性是指算法中对于每个步骤的执行描述必须是明确的
C.一个算法必须有一个或多个输入
D.算法的三个要素是数据、运算和控制转移
C
解析:一个算法可以没有输入,也可以有一个或多个输入,而输出必须要有,因此C选项错误,故答案为C。
[例2] 下列可以作为Python变量名的是(   )
A.lixiang@qq B.3year
C.for D.stud_name
D
解析:Python变量名只能由字母、数字和下划线组成,但不能以数字开头,而且区分大小写。另外,Python的标识符和关键字也不能作为变量名,故答案为D。
[例3] 已知变量a=2,b=6,c=8,下列表达式的值为True的是(   )
A.a+b>c or c-b>a B.a+b==c and b-c==a
C.a**b==c**a and c%b==a D.a*b%c==c∥b*a
C
解析:本题主要考查Python表达式。将变量a,b,c代入各选项进行判断,C选项正确,故答案为C。
[例4] 已知变量x="BigData",下列表达式的值为True的是(   )
A."big" in x B.x[:4]=="Big"
C.x*2==x+x D.x[3:]>"data"
C
解析:在x字符串中没有子串"big",故A选项错误;x[:4]的值为"BigD",故B选项错误;x[3:]的结果为"Data",而"Data"<"data",故D选项错误;x*2的结果为"BigDataBigData",x+x的结果也是"BigDataBigData",因此x*2==x+x,故答案为C。
[例5] 已知s=“conviction”,下列表达式的值不是“it”的是(   )
A.s[4]+s[6] B.s[7]+s[6]
C.s[4:5]+s[6:7] D.s[-3:-4:-1]
D
解析:表达式s[-3:-4:-1]的结果为"i",故答案为D。
[例6] Python表达式6/2+9%5的值是(   )
A.7 B.7.0
C.8 D.8.0
B
解析:6/2的值为3.0,9%5的值为4,因此表达式6/2+9%5的值为7.0,故答案为B。
[例7] 已知x=2,y=3,则表达式x%y+4*y∥2**x的值为(   )
A.3 B.5
C.18 D.38
B
解析:x%y的结果为2,因为表达式4*y∥2**x等价于4*y∥(2**x),所以表达式4*y∥2**x的值为3,因此表达式x%y+4*y∥2**x的值为5,答案为B。
[例8] 与表达式not x<0 or y%2==0具有相同功能的是(   )
A.x>=0 and y%2==1 B.x>=0 and y∥2==0
C.x >0 or y/2==int(y/2) D.x>=0 or y∥2==int(y/2)
D
解析:本题主要考查Python表达式。not x<0等价于x>=0,y%2==0等价于y//2==int(y/2),故答案为D。
[例9]有45位同学排成一列,从第一位同学开始按1至9循环报数,则能正确表示第n位同学所报数字的表达式是(   )
A.n B.n%9
C.(n-1)%9+1 D.9-(n-1)%9
C
解析:本题主要考查Python运算符%的灵活应用。注意临界值,即第九位同学报9,第十位同学报1,可得C选项正确,故答案为C。
[例10] 某算法的部分流程图如图所示。执行这部分流程,若输入a的值为26,则输出b的值为(   )
A.0 B.1
C.2 D.5
C
解析:流程图执行过程如下表所示:
变量 a b
初值 26 11
第一次循环 15 8
第二次循环 7 5
第三次循环 2 2
此时,a=b=2,故答案为C。
[例11] 有如下Python程序段:
a=list("python")
a[2:4]=list('att')
该程序段执行后,列表a中的元素依次为(   )
A.'p','y','a','t','t' . B.'p','y','o','n','a','t','t'
C.'p','y','a','t','t','o','n' D.'p','y','t','h','o','n','a','t','t'
C
解析:语句a=list(“python”)的功能是将字符串转换为列表,该语句执行后,列表a为['p','y','t','h','o','n'],语句a[2:4]=list('att')的功能是将列表a中a[2:4]的元素被替换为['a','t','t'],因此程序段执行后的列表元素为“'p','y','a','t','t','o','n'”,故答案为C。
[例12] 已知dict1={'name':'Jhon','age':20,'height':1.82},执行语句dict1['tel']=
13867238656后,字典dict1中的内容为(   )
A.{'name':'Jhon','age':20,'height':1.82,'tel':'13867238656'}
B.{'name':'Jhon','age':20,'tel':13867238656}
C.{'name':'Jhon','age':20,'height':1.82,tel:13867238656}
D.{'name':'Jhon','age':20,'height':1.82,'tel':13867238656}
D
解析:本题主要考查字典的操作。执行语句dict1['tel']=13867238656,因为找不到键tel,因此创建一个键为tel值为13867238656的新元素,故答案为D。
感谢观看

展开更多......

收起↑

资源预览