主题一与算法零距离任务一初识算法算法(Algorithm):就是解决问题的方法和步骤算法初体验案例:华罗庚先生在《统筹方法》一文中曾经描述了这样的场景:想泡壶茶喝,却发现没有开水,水壶要洗,茶壶、茶杯要洗,不过火已经生了,茶叶也有了
分析:已有条件:未洗的水壶、茶壶、茶杯已生火,有茶叶目的:泡茶喝思考:如何设计工作次序才能尽快喝到茶呢
洗水壶烧水洗茶杯拿茶叶洗茶壶泡茶拖动文本框从上到下排列拖动文本框从上到下排列猜数字甲同学在纸条上书写一个1000以内的整数,要求乙同学猜出具体数字
(猜对数字用了多少次
)猜数字算法一、按顺序猜二、随机+记忆猜三、最佳算法为“二分查找法”:猜想数据范围的中间数
任务二算法的表示P6自然语言法流程图表示法伪代码表示法方法一:自然语言法用人们日常使用的语言来描术算法
在学习程序设计的初期或交流算法思想的时候经常使用
用自然语言表示法对“猜数字”游戏中的算法描述如下:(1)根据题意,约定数据区域为[1,1000],先计算区域的中间值,将中间值500作为第一次猜的数字
(2)如果提示信息为“低了”,说明正确解肯定大于猜想值,将数据区域修正为[501,1000];如果提示信息为“高了”,说明正确解肯定小于猜想值,将数据区域修正为[1,499]
(3)计算区域的中间值,将中间值作为一下次猜的数字
(4)应用前面(2)(3)的方法重复进行,直到猜出结果方法二:流程图表示法处理条件判断(流程的控制方向)二分查找法猜数字流程图方法三:为代码表示法伪代码是介于自然语言和计算机程序设计语言之间的种算法描述
猜数字:最小值——1,最大值——1000Repeat(重复)中间值——(最小值+最大值)整除2猜数为中间值获取提示IF“高了”,最大值——中间值-1IF“低了”,最小值——中间值+1IF“正确”,问题求解成功,程序结束案例2一个人带了一只狼、一