资源简介 常见算法的程序实现 学习目标 理解解析算法和枚举算法,根据需要选用这两种算法,编程实现简单问题求解。 认识问题解决中不同算法的效率,完成项目程序的调试与运行。 体验探索 绿灯时长的最优设置 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.算法与程序实现的综合应用 算法设计及其程序实现是用计算机解决问题的核心过程。在具体的问题解决中,需要综合应用不同的算法思想并编程实现。当程序运行结果不能完全满足问题求解要求时,还要对算法和程序进行完善和优化。 3.算法与程序实现的综合应用 例3:查找文稿中高频词的问题。 问题:学校开展经典诵读活动,小明在阅读《三国演义》时,为了分析小说的写作特色,想把小说中出现次数最多的20个词查找出来。想一想小明如何通过编写程序来实现呢? 3.算法与程序实现的综合应用 例3:查找文稿中高频词的问题。 3.算法与程序实现的综合应用 断点调试是一种较为直观的程序调试方式,它通过设置断点跟踪变量的取值,观察运行结果,进行程序调试。 3.算法与程序实现的综合应用 断点调试的基本方法为: 进入调试状态; 设置断点; 检查运行状态下各个变量的值,确定错误的位置,并进行修改; 反复调试直至程序运行正确。 实践活动 编程查找小说中的主要人物 修改前面编写的《三国演义》小说高频词查找程序,实现功能:找出小说中出场次数最多的10位人物。 项目实施 丰富“自助式人行过街红绿灯”的功能。 谢谢 展开更多...... 收起↑ 资源预览