资源简介 (共37张PPT)算法必须能在有限个步骤之后终止课堂小结算法的概念及描述算法就是解决一个特征问题而采取的确定的,有限的步骤算法概念算法特征算法描述方法算法效率对于同一个问题,不同算法解决问题的效率不同自然语言流程图伪代码采用一种类似程序设计语言的代码来描述算法用图形表示算法的一种常用工具用日常所用语言描述算法的步骤一个算法通常有0个或多个输入一个算法可以有一个或多个输出算法中的每一步都是可以执行的算法的每个步骤都具有确定的含义有输入有输出有穷性可行性确定性练习提升1、小明早上从起床到出门上学需要洗漱(5 min)、烧水(10 min)、准备早餐(10 min )、吃早餐(15 min)和听新闻(10 min),试帮他统筹安排各项事务,设计一个合理的算法步骤。方案一:洗漱→烧水(准备早餐)→吃早餐(听新闻)方案二:洗漱→烧水(准备早餐、听新闻)→吃早餐练习提升2.某地有两种不同类型的出租车,其计费标准分别为:●甲车3km起步,价格为10元,3km以上(含3km)为2元/km;·●乙车3km起步,价格为8元,3km以上(含3km)为2.2元/km。设计算法,在不同里程时给出最优资费的用车选择。选用一种算法描述方法对该算法进行描述。用流程图表示该问题的求解方法如右图:开始P1 甲车的起步价(即3km以下的费用)P2 乙车的起步价x1 甲车起步价以后每千米的乘车费用x2 乙车起步价以后每千米的乘车费用n 计划行驶的里程数n≥3p1 p1+x1*(n-3+1)p2 p2+x2*(n-3+1)p1p1输出:乘甲车省钱输出:乘乙车省钱输出:两车费用相同结束练习提升3.欧几里得算法又名辗转相除法,其算法可用图2.2.5所示的流程图描述(“%”为取模运算符,可返回除法的余数),认真阅读流程图,分析该算法实现的功能。算法实现的功能:求两个正整数m和n的最大公约数。授 课:王粉周2.3序程设计基本知识学习目标3掌握Python语言的基本数据类型,理解常量、变量,能正确书写表达式。体验用Python编程的基本过程,提高用计算机解决问题的能力。能读懂简单的程序代码,根据具体问题改写和完善代码,感受计算机编程的魅力。21学习重难点体验用Python编程的基本过程,提高用计算机解决问题的能力。难点重点掌握Python语言的基本数据类型,理解常量、变量,能正确书写表达式。01情景导入Context Import1.如果要绘制如图2.3.1所示的“红绿”信号灯,应该如何编写程序代码?分析其中两盏信号灯的位置坐标有何关系,描述出对应的算法。编程绘制交通信号灯我们可以编写Python程序绘制各种图像。例如,绘制一个圆形红色信号等的程序代码如下:2.如果要绘制如图2.3.2所示的“红黄绿”信号灯,又应该如何修改程序代码?分析其中哪些语句是可以重复使用的。import turtlelight=turtle.Turtle()light.hideturtle()light.color(“red”,“red”)light.begin_fill()light.circle(20)light.end_fill()编程绘制交通信号灯1.如果要绘制如图2.3.1所示的“红绿”信号灯,应该如何编写程序代码?分析其中两盏信号灯的位置坐标有何关系,描述出对应的算法。import turtlelight=turtle.Turtle()light.hideturtle()light.color(“red”,”red”)light.begin_fill()light.circle(20)light.end_fill()light.penup()light.goto(0,-60)light.pendown()light.color(“green”,”green”)light.begin_fill()light.circle(20)light.end_fill编程绘制交通信号灯2.如果要绘制如图2.3.2所示的“红黄绿”信号灯,又应该如何修改程序代码?分析其中哪些语句是可以重复使用的。绘制红黄绿三个信号灯(三个圆),需要分别设置三个圆的y坐标。其中,每次坐标的移动以及绘制圆等操作是重复运行的,这些步骤可以使用顺序结构,也可以使用循环结构实现,不过后者的程序结构显然更为清晰、简洁,程序示例如下:import turtlelight = turtle.Turtle()light.hideturtle()color = ["red", "yellow", "green"]for i in range(3):light.penup()light.goto(0, -i * 60)light.pendown()light.color(color[i], color[i])light.begin_fill()light.circle(20)light.end_fill()02数据类型数据类型在编写程序解决问题的过程中,为了更好地处理各种数据,程序设计语言提供了多种数据类型。Python语言常用数据类型数据类型 类型标识符 类型说明及示例整型浮点型字符串型布尔型列表intfloatstrboollist整数,可任意大, 如2, -99,2207211588848小数,如3.14、0.0008、 2.318E+6通常是用一对单引号或双引号括起来的一串字符,如:'Hello, world'、"中国"、 '1'用于逻辑判断,True和False用来存放一组数据的序列,列表中所有的元素放在 [] 中间,并用逗号分开,例如: [1, 2, 3], [‘a’, ‘b’, ‘c’]数据和数据类型的配对连线整型浮点型字符串型布尔型列表9.99991938374923021888'TURE'FALSE[“人类简史”, “时间简史”, “三体”, “流浪地球”]“巴黎圣母院”-7866554[1,2,3,4,5]实践活动:确定数据类型现实事物或现象 列举的数据 数据类型倒计时数据 15 整形列出信号灯的三种颜色名称按钮是否可用“red”,”yellow”,”green”“true”,”false”列表布尔型数据类型转换在程序设计中,可以通过强制类型转换操作,把某个数据从一种数据类型转换成另一种数据类型。数据类型转换函数 功能说明float(x)int(x)str(x)python语言中部分数据类型转换函数将x转换为一个浮点型数据将x转换为一个整型数据将x转换为字符串型数据体验交流猜猜程序运行的结果是什么?上机体验,验证结果。x=123456y=float(x)print("对比区别")print("输出x的值:",x,"输出y的值:",y)a=999.99b=int(a)print("对比区别")print("输出a的值:",a,"输出b的值:",b)对比区别输出x的值:123456,输出b的值:123456.0)对比区别输出a的值:999.99,输出b的值:999)03常量、变量及表达式常量、变量及表达式在程序设计中,确定了数据的类型,也就确定了对该数据可以进行的处理操作。程序设计语言利用运算符来操作数据,运算符将数据连接成表达式,单个的常量或变量也是表达式。常量、变量及表达式已知圆的半径是2cm,python表达式求出圆面积,π约等于3.14。半径为2cm>>> 3.14 * 2 * 212.56众所周知,圆的半径是变化的,不可能总是给定的数值,那我们在python语言中如何处理?常量、变量及表达式>>> 3.14 * 2 * 212.56>>> r = 2>>> s = 3.14 * r *r>>> print(s)12.56r被任意赋值,s的值也随之变化r,s在这里称之为变量常量、变量及表达式变量的命名规则① 变量名可以包括字母、汉字、数字和下划线(_),但不能以数字开头。例如:name2是合法变量名,而2name是非法变量名。② 变量名区分大小写。例如:SUM ≠ sum ≠ Sum,myname和 Myname是不同的变量。③ 不能用系统关键字作为变量名。系统关键字是程序设计语言中保留下来的用于特殊用途的标识符,每个关键字都有特殊的含义。例如:for、in、if、continue、 break、else、and、not和or等。④ 为了便于理解,变量名应具有一定含义,即“见名知意”。半径r,面积s,求和sum变量的命名规则 分析下列语句是否能够被执行,如果可以,请写出结果,如果不行请说出原因。区分大小写不能以数字开头系统关键字不能作为变量名常量、变量及表达式变量名 = 表达式r = 2,colors =[“red”,”yellow”,”green”],light = turtle.Turtle()python语言中的变量是在首次赋值时创建的。赋值语句是最基本的程序语句,其格式为:python语言中的变量必须在使用前被赋值,不能使用未被赋值的变量。在使用过程中,变量还能被重新赋值。运算符与表达式运算符标明了对操作数(参与运算符计算的数据)所进行的运算。如+、-、*、/等。表达式:运算符与操作数连接而成的有意义的式子被称为表达式,如:2+3Python语言中的变量在首次赋值时创建,其格式为:变量名=表达式(赋值语句)如:r=2变量名:r变量值:2变量类型:整型赋值给变量程序语句的判断条件用途表达式 操作数 运算符 表达式的值2 + 32 和 3+5运算符与表达式“+”数值加法运算,对字符串、列表进行连接运算。不同类型的数据可以进行不同的运算,如整形数据有取模运算(%),而字符串没有。不同类型的数据使用同一种运算符运算时,常会产生不同的结果。表达式”China”+ ”521”[11,”张明”]+[86.5]运算结果”China521”[11,”张明”,86.5]运算符与表达式A算术运算符B关系运算符C逻辑运算符算术运算符运算符 表达式 说明 示例+ x + y 加 5 + 2结果7- x - y 减 5 - 2结果3* x * y 乘 5 * 2结果10/ x / y 除 4 / 2结果2.0//%**主要进行算数运算,运算的结果为整型或浮点型。x // y整数(只保留商的整数部分)5 // 2结果2x % y取模/取余,即返回除法的余数5 % 2结果1x ** y幂运算,即返回x 的y次方5 ** 2 结果25Python程序的修改与运行运算符 描述 用法 举例==> 大于 a>b 2>3的结果为False< 小于 a>=<=!=主要用于比较两个值的大小,运算的结果为布尔型True或False。等于a==b2==3的结果为False大于等于a>=b2>=3的结果为False小于等于a<=b2<=3的结果为True不等于a!=b2!=3的结果为True逻辑运算符运算符 描述 用法 举例notandor可以对关系式或布尔值进行逻辑运算,运算结果仍为布尔值True或 False。非not anot 2==3的结果为True与a and b只有当两个操作数都为True时,其结果才为True 如:2<3 and 2>1的结果为True或a or b只要有一个操作数为True,其结果就为True,如:2<3 and 1>2 的结果为True运算符的优先级优先级优先级高高低逻辑运算符关系运算符算术运算符notandor== != <= >= < >***/ % //+ -① 优先级高的先运算,优先级相同的从左向右算。② “( )” 的运算级别最高。③ 运算符的优先级为:算术运算符 > 关系运算符 > 逻辑运算符。④ 在同类运算符中也要注意不同的优先级。例如,逻辑运算符not、and和or的优先级为:not>and>or。小结Python语言基础基本数据类型常量与变量使用方法整形浮点型字符串型布尔型列表命名规则运算符与表达式算术运算符关系运算符逻辑运算符字符串运算符课堂检测1.下面的运算符中,优先级最低的运算符是( )* B.!= C. + D. =2. 程序的运行结果是( )a=2b=3c=aprint(((a+b)/(b-a)**a)and c)DTure小括号里面的最高算术运算符>关系运算符>逻辑运算符同类运算符中也有优先级:例如;先乘除后加减,not>and>or课堂检测3.在Python代码中表示“x属于区间[a,b)“的正确表达式是( )A.a≤x and x<b B.n<=x or xC.x>=a and x=a and x>b4.多选题,下列选项的运算结果为True的是( )A.6>7or7>=7 B.12=13and2>3or2<3C.5<=6and9>8 D.not4>3or4<5CABCD感谢位观看各授课教师:王粉周 展开更多...... 收起↑ 资源预览