资源简介 (共26张PPT)算法与Python基础专题梳理算法的概念1.定义在计算机科学领域内,“算法”指的是用计算机解决问题的步骤,是为了解决问题而需要让计算机有序执行的、无歧义的、有限步骤的集合。2.特征有穷性。算法的处理步骤必须是有限的。可行性。算法中的每一步都是可以执行的,并能在有限时间内完成。确定性。算法的每个步骤都具有确定的含义。0个或多个输入. 所谓的0个输入是指算法本身给出了初始条件。1个或多个输出.算法一定要有输出,一个算法可以有一个或多个输出。强调:1.算法需要在有限的时间、有限的步骤内产生有效的输出。2.算法可以没有输入,但必须有输出算法的描述1.用自然语言描述算法(通俗易懂,容易出现歧义,比较繁琐)3.用伪代码描述算法。(简洁直观、符号接近计算机程序代码)2.用流程图描述算法。(结构清晰、寓意明确,分支增多时影响算法理解)4.用计算机程序设计语言描述算法。(程序设计语言有很多种,可以根据问题特点选择合适的语言来描述算法)提问:请列举你所知道的程序设计语言?流程图图形 名称 功能起止框 表示一个算法的开始和结束输入/输出框 表示从外部输入数据到计算机内部或者从计算机内部输出数据到计算机外部处理框 处理框:表示操作的内容判断框 表示判断的条件。 满足条件, 执行标识为“是”的路径;不满足条件, 则执行标识为 "否" 的路径流程线 指向算法运行的方向连接符 表示流程图的接续。 在相互联系的流程图内, 流程线将在具有相同数字或字母的另一连接符处继续下去典型例题 1.下列关于算法的概念及描述,说法正确的是( )A.算法的一个步骤可以被执行多次B.算法必须包括一个或多个输入C.算法就是数学运算方法D.算法只能用自然语言进行描述A解析:选项B,算法可以有0个或多个输入,选项错误;选项C,“算法”指的是解决问题或完成任务的一系列步骤,选项错误;选项D,常见的算法描述方式有自然语言、流程图、伪代码、计算机程序设计语言等,选项错误。典型例题2.以下案例中,不属于算法的是( )A.解方程2x-6=0的过程是移项后将x的系数化为1B.从合肥到温哥华要先乘高铁到北京再转乘飞机C.解方程3×2+2x-6=0D.利用公式S=πr2计算半径为3 的圆的面积时,计算π×32C解析:算法为解决问题的具体步骤,C选项错误。典型例题3.某一算法的描述如下:①输入一个正整数x。②判断x能否被2整除,若能则输出偶数,否则输出奇数。③结束。该算法采用的描述方法是( )A.计算机程序设计语言 B.流程图C.伪代码 D.自然语言D解析 文字语言描述属于自然语言。典型例题4.(2022·湖州三贤高二)某算法用伪代码描述如下:输入两个互不相等的正整数A和B10: if A (C←A,A←B,B←C) 输出A和BElse 返回到标号10的行继续执行下列有关上述算法的说法,正确的是( )A.该算法违反了算法有穷性原则 B.该算法实现了找出A和B中的最大值AC.该算法属于分支结构 D.该算法无法使用流程图来描述A功能:如果A算法的控制结构典型例题5.使用算法解决实际问题时,首先应该做的是( )A.分析问题B.设计算法C.调试与维护D.编写程序A解析 算法解决问题的一般过程:分析问题→设计算法→编写程序→调试与维护,选项A正确。典型例题6.(2022·6月浙江选考)某算法的部分流程图如图所示,若输入n的值为17879,则输出s的值是( )A.42 B.60C.68 D.78B解析 从个位开始逐个拆取每个数字t,拆取过程中,f值在1和0之间切换:当f=1时,t=t*3;当f=0时,t保持不变。s累加每次的t值,最终s=9+7*3+8+7*3+1=60,选项B正确。典型例题7.(2022·浙江强基高二)为了编写程序计算表达式“2-4+6-8+…-100”的值,小李设计的算法部分流程图如图所示。在流程图中①、②处分别应填入的是( )A.①i=i+1 ②k=-k*2B.①i=i+2 ②k=-kC.①k=-k ②i=i+2D.①k=-k*2 ②i=i+2C解析 sum初始值为0,若i先加2,再累积到sum中时,会加上102,与题目不符。选项C正确。数据类型数据类型 类型标识符 类型说明及示例整型 int 整型,可任意大小,例如:-2,99等浮点型 float 小数,如3.14, 3.98e+6(表示3.98*106)字符串型 str ”Hello World!”、”中国”、”1”等布尔型 bool 逻辑判断,True和False列表 list 数据序列,如[1,1,2,3,5]2.常量与变量常量:初始化(第一次赋值)后,在执行过程中保持固定不变的数据。变量:在执行过程中可以被修改,发生改变的数据。变量命名规则:必须以字母或下划线开头, 后面可以是字母、数字或下划线。例如:name1是合法的,而1name就不合法区分大小写。例如:B和b是不同的两个变量名不能使用保留字。例如:if,else,print等数据类型4.表达式:变量、常量、运算符按一定规则组合构成的式子表达式中存在多种运算符时,按优先级运算,优先级相同则从左到右。运算符与表达式3.运算符:算术运算符(**、*、/、//、%、+、-)关系运算符(>、>=、<、<=、==、!=)逻辑运算符(not、and、or)运算符的优先级 :算术运算符>关系运算符>逻辑运算符3.运算符类型 运算符 功能和作用 示例 优先级算术 运算符 ** 幂运算 略 1*、/、//、% 乘,除,整除,取余 整除:不大于除法结果的最大整数; 取余:x%y=x-y(x//y) 2+、- 加法、减法 略 3关系 运算符 <、>、==、<=、>=、!= 关系运算符 字符串比较时,从左到右逐位比较字符的ASCII码值。例”123”<”23”=True 4in 、not in 存在性判断 结果为布尔类型 5逻辑 运算符 not 非 结果为布尔类型 6and 与 结果为布尔类型 7or 或 结果为布尔类型 8运算符与表达式运算符与表达式5.赋值语句:变量=表达式,其中,表达式有运算符和操作数组成。age=16a=b=1 功能:给变量a,b都赋值1a,b,c=1,2,3 功能:分别对应给a,b,c赋值1,2,3a,b=b,a 功能:a,b变换值c+=a 功能:c=c+acolors=[”red”,”yellow”,”green”]功能:对列表colors赋值,colors[0]=”red”,colors[1]=”yellow”,colors[2]=” green”特别说明:Python不能使用未先被赋值的变量。输入输出语句输入语句变量=input(),input()默认返回字符串型,如果需要转换成其它类型,需要利用对应的转换函数。例如需要输入一个整型数据,可表示为a=int(input(“请输入一个整数:”)),input()中的字符串为提示符。输出语句print(数据1,数据2....)。如果有多个输出项,可以使用“,”。例如:print("最适宜运动的心率是: ", low, "~", high)(1)不换行,则加end=""。(2)强制换行:print( ) 空输出语句典型例题1.下列不能作为Python变量名的是( )A.123ABC B.ABC123C.A_1 D._A12.下列赋值语句合法的是( )A.a=5 B.5=aC.x+y=a D.x-y=aAA解析 变量名不能以数字开头。解析 赋值语句左边为变量,右边为表达式或常量。典型例题3.给变量a,b,c分别赋值1,2,3。下列语句正确的是( )A.a=1:b=2:c=3B.a=1 b=2 c=3C.a=1,b=2,c=3D.a,b,c=1,2,3解析 D选项为序列赋值,依次给变量赋值。ABC选项,要在一行代码上实现多个语句,中间用分号“;”分隔。D典型例题4.(2022·台州北部高二)Python 表达式-3 ** 2+7 % 13 // 4 ** 0.5 * 4 的值是( )A.-9.0 B.-5.0C.3.0 D.21.0解析 “**”优先级最高,最先计算结果为-9+7%13//2*4;“%”“//”“*”优先级相同,按从左到右的顺序计算,结果为-9+12,选项C正确。C典型例题5.(2022·温州高二)下列Python表达式不能表示“x属于[a, b)”的是( )A.Not (x=b)B.x>=a and xC.Not (x<=a and x>b)D.a <=x < b解析 x属于区间[a, b)可以表示为 a<=x < b;选项C表示为 x>a or x <=b ,与要求不符。C典型例题6.若输入数据为1.2,则运行后a的值为( )a=float(input())a=round(a)a=2*a+1A.3.4 B.4 C.3 D.2解析 a变量由键盘输入实型数据1.2,再round()函数,四舍六入,a为整型1,最后计算得3。C1.现有如下程序,执行程序后,键盘输入123后,c的值为( )a=int(input())b=a∥10c=b%10A.1 B.12C.2 D.3解析 a为整型123,b为12,c为b的个位数2。C典型例题2.现有Python程序段,想要测试所有分支程序代码是否正确,下列数据最恰当的一组是( )x=int(input('请输入整数x:'))if x>10:y=x**2elif x>0:y=10*xelse:y=0print(y)A.0,10 B.11,2,-1 C.-2,2,6 D.12,100,-100解析 三分支结构,分为大于10,大于0小于等于10,小于等于0三种情况。故B选项三个数据分别对应三个分支的条件,符合测试要求。B典型例题3.(2022·7月浙江学考)用Python算法控制结构描述“您所在街道25分钟后小雨,50分钟后雨停”,设t为距离天气预报发布时间的间隔(单位:分钟),下列选项正确的是( )A. if t>50: print(”雨停”)elif t> 25:print(”小雨”)C. if t>25 and t<=50: print(”小雨”)else:print(”雨停”)AB. if t>50: print(”雨停”)else: print(”小雨”)D. if t>25: print(”小雨”)elif t>50:print(”雨停”)解析 选项A,该算法描述为距离当前时间t>50,雨停;距离当前时间25典型例题 展开更多...... 收起↑ 资源预览