内容正文:
常见算法的程序实现
学习目标
理解解析算法和枚举算法,根据需要选用这两种算法,编程实现简单问题求解。
认识问题解决中不同算法的效率,完成项目程序的调试与运行。
体验探索
绿灯时长的最优设置
1.基于解析算法的问题解决
解析算法
解析算法指通过找出解决问题的前提条件与结果之间关系的表达式,并计算表达式来实现问题的求解。
许多问题可以通过分析,抽象成数学模型,借助解析式,用已知条件为变量赋值进行求解。。
1.解决问题的一般过程
例1:自由落体运动问题。
问题:从离地500 m的高处自由落下一个小球,求从开始落下的时刻起,小球在最后1s内的位移(重力加速度g以9.8 m/s'计)。
1.解决问题的一般过程
例1:自由落体运动问题。
实践活动
编写程序研究某山地的气温分布
某地区为了开发山区农业,需要了解山地的气候变化。现已知该地山区海拔每升高100 m,气温下降约0.5 ℃,山地最高海拔为1500 m,山脚下的年平均气温为22 ℃(假设山脚海拔为0m)。
回答教材上两个问题。
2.基于枚举算法的问题解决
枚举法
枚举法是依据问题的已知条件,确定答案的大致范围,在此范围内列举出它所有可能情况的方法。在列举过程中,既不能遗漏,也不能重复,通过逐一判断,验证哪些情况满足问题的条件,从而得到问题的答案。
2.基于枚举算法的问题解决
在枚举算法的编程中,首先,要确定枚举对象和枚举范围,验证问题成立的条件;然后,借助循环语句和条件语句进行相应的程序设计,实现问题解决。
2.基于枚举算法的问题解决
例2:票据中模糊数字推断问题。
问题:一张票据上有一个由4位数字组成的编号,甲说数字编号的前两位数字相同,但都不是零;乙说数字编号的后两位数字是相同的,但与前两位不同;丙说数字编号是一个整数的二次方。试根据以上线索推断出编号。
2.基于枚举算法的问题解决
例2:票据中模糊数字推断问题。
实践活动
寻找1000以内的所有素数
编程求解1000以内的所有素数。素数是在大于1的自然数中,除了1和它本身以外不再有其他因数的数,如2,3,5,7,11……
回答教材上3个问题。
3.算法与程序实现的综合应用
算法设计及其程序实现是用计算机解决问题的核心过程。在具体的问题解决中,需要综