资源简介 (共21张PPT)第三章 算法的程序实现3.3 简单算法及其程序实现学习目标1.熟悉解析算法、枚举算法,感受算法的效率。2.能用程序实现简单算法,解决实际问题。本节介绍如何使用Python程序设计语言来描述两种常用的算法。知识点一:解析算法及其程序实现(数学表达式)新课讲授基本思想:根据问题的前提条件与所求结果之间的关系(已知与未知之间的关系),找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。用解析算法编程来解决问题过程1.分析问题、建立数学模型已知问题求解问题解析表达式关键2.设计算法4.调试运行程序3.编写程序1.确保数学表达式的正确2.正确描述该数学表达式下面将通过一个求解圆周长及面积的实例来体验解析算法的程序实现过程。r=5抽象与建模:已知条件是什么?要求的解是什么?已知与结果之间的表达式怎么写?____________r=5______ ____________ ___print('圆的面积为:',s)print('圆的周长为:',c)import maths=math.pi*r**2c=2*math.pi*r如何增强程序的灵活性?import math__________________s=math.pi*r**2c=2*math.pi*rprint('圆的面积为:',s)print('圆的周长为:',c)r=int(input("请输入圆的半径:"))输入的半径r<=0时,输入的半径还有效吗?import mathr=int(input("请输入圆的半径:"))s=math.pi*r**2c=2*math.pi*rprint('圆的面积为:',s)print('圆的周长为:',c)print("输入的半径无效!")if r>0:else:知识点二:枚举算法及其程序实现(一一列举)基本思想:把问题所有可能的解一一列举,然后判断每一个列举出的可能解是否为正确的解。不能遗漏任何一个可能解,尽可能地缩小解的列举范围,提高算法的效率用枚举算法编程来解决问题过程枚举筛选一一列举可能的解逐一判断正确的解循环结构今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?注意:雉兔至少有一只。抽象与建模:枚举:一一列举可能的解,枚举范围是多少?鸡的数量:1~34筛选:逐一判断得到正确的解,判断条件是什么?鸡兔共35个头:chicken+rabbit==35鸡兔共94只脚:2*chicken+4*rabbit==94for chicken in range(1, 35):for rabbit in range(1, 35):if(chicken+rabbit==35 and2*chicken+4*rabbit==94):print('鸡有',chicken,'只')print('兔有',rabbit,'只')能不能进一步优化程序?循环执行 次34*34for chicken in range(1, 35):rabbit=35-chickenif 2*chicken+4*rabbit==94:print('鸡有',chicken,'只')print('兔有',rabbit,'只')循环执行 次34小节:解析算法:根据已知与未知之间的关系,找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。枚举算法:把问题所有可能的解一一列举,然后判断每一个列举出的可能解是否为正确的解。1.Python语言属于( )。A.机器语言 B.汇编语言C.高级语言 D.数学语言2. 下列表达式中,值不是1的是( )A.5//3B.17%2C.3/2D.1**3随堂练习CC3. 'ab'+'d'*2 结果是:( )A abd2 B abddC abdabd D ababdd4. 整型变量x中存放了一个三位数,要得到该数的十位,正确的Python表达式是( )A.x//10/10B.x//10%10C.x/10%10D.x%10/10BBabc解析:a=x//100(百位)b=x//10%10(十位)c=x%10(个位)5.与数学表达式 对应的Python表达式是( )A 2*(c+d)/a+b B 2*(c+d)/(a+b)C 2(c+d)/(a+b) D 2*c+d/a+b6. Python表达式中,可以使用( )控制运算的优先顺序。A.圆括号()B.方括号[]C.花括号{}D.尖括号<>BA2(c+d)a+b7.关系表达式的值有两个,True和False,当关系表达式成立,其值为( );关系表达式不成立,其值为( )。 ( )A.True False B.True TrueC.False False D.False True8.下列选项中合法的标识符是( )。A._7e_b B.breakC._a b D.7vbAA9.a=“.dzx,8h”len(a)是greeting=“ dz ,nh”greeting[3]是10.b=[“tfboys”,“王源”,“王俊凯”, “易烊千玺”]print(b[0:2]) 取出元素print(b[1:2]) 取出元素7['tfboys','王源']’ ’['王源']11.a_dict = {“演员”: “山鸡”, “年龄”: 26, “体重”: 70, “身高”: 185,“代表作”:”丽州风云之我是传奇” }print(a_dict[“演员”])print(a_dict[“身高”])print(a_dict[“代表作”])a_dict[“代表作”]山鸡185丽州风云之我是传奇”丽州风云之我是传奇”12.计算以下函数值chr(90)ord(‘h’)abs(-1.5)str(‘2’)13.在Python中,实现多分支选择结构的一般的格式是( )A.if B.if-elseC.if-elif-else D.if嵌套‘Z’1041.5‘2’C14.Python语言同一级别语句块的标记是( )A . 分号 B . 逗号 C. / D. 缩进15.x =int(input('请输入一个数字:'))if x % 3 ==0 and x % 7 == 0:print('True')else:print('False')若程序运行后输入25,打印出的值为DFalse16.编写程序:求1-10所有偶数的和。sum = 0for i in range(2,11,2):sum = sum+iprint("1-10所有偶数的和是:",sum) 展开更多...... 收起↑ 资源预览