内容正文:
第三章 算法的程序实现
3.3 简单算法及其程序实现
学习目标
1.熟悉解析算法、枚举算法,感受算法的效率。
2.能用程序实现简单算法,解决实际问题。
本节介绍如何使用Python程序设计语言来描述两种常用的算法。
知识点一:解析算法及其程序实现(数学表达式)
新课讲授
基本思想:根据问题的前提条件与所求结果之间的关系(已知与未知之间的关系),找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解。
用解析算法编程来解决问题过程
1.分析问题、建立数学模型
已知
问题
求解问题
解析表达式
关键
2.设计算法
4.调试运行程序
3.编写程序
1.确保数学表达式的正确
2.正确描述该数学表达式
下面将通过一个求解圆周长及面积的实例来体验解析算法的程序实现过程。
r=5
抽象与建模:
已知条件是什么?
要求的解是什么?
已知与结果之间的表达式怎么写?
____________
r=5
______ ___
_________ ___
print('圆的面积为:',s)
print('圆的周长为:',c)
import math
s=math.pi*r**2
c=2*math.pi*r
如何增强程序的灵活性?
import math
__________________
s=math.pi*r**2
c=2*math.pi*r
print('圆的面积为:',s)
print('圆的周长为:',c)
r=int(input("请输入圆的半径:"))
输入的半径r<=0时,输入的半径还有效吗?
import math
r=int(input("请输入圆的半径:"))
s=math.pi*r**2
c=2*math.pi*r
print('圆的面积为:',s)
print('圆的周长为:',c)
print("输入的半径无效!")
if r>0:
else:
知识点二:枚举算法及其程序实现(一一列举)
基本思想:把问题所有可能的解一一列举,然后判断每一个列举出的可能解是否为正确的解。
不能遗漏任何一个可能解,尽可能地缩小解的列举范围,提高算法的效率
用枚举算法编程来解决问题过程
枚举
筛选
一一列举可能的解
逐一判断正确的解
循环结构
今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?注意:雉兔至少有一只。
抽象与建