内容正文:
第2单元 编程计算
第1单元 初识数据与计算
第3单元 认识数据
第4单元 计算与问题解决
第5单元 数据分析与人工智能
信息技术
(必修1)
4.3 非数值计算
学习目标
★ 运用合适的算法形成解决问题的方案。
★ 了解算法设计中的分治思想,并运用二分查找解决实际问题。
★ 体验递归算法,并结合具体问题开展编程实践。
在数值计算中,我们更多考虑的是“数” ,但计算应该是一个更广泛的领域。计算的对象可以是自然界和人类社会的一切事物。更确切地说,计算的对象可以是某些信息,如数据、文字、语言、图形、知识、事物的运动过程及思维过程。如果说数值计算主要探讨数学问题的话,那么非数值计算更多探讨" 算法” 问题。
许多程序设计问题的解决,要依靠标准算法和现成的模型,更需要编程者开阔思路,提出一些新颖、巧妙的算法,或者设计出一些独特的数据结构来支撑和实现算法。在解决非数值类计算问题时,一些基础的思维方式可以借鉴,如分治、递归、解析等。
新课导入
任务一 巧翻字典
— 统计查字典次数
查汉字、查单词、查成语等查字典的活动,早已成为我们学习生活的部分。假设一本字典大约500页,目标信息在第269页。请记录你翻页过程,和同学们比比,看谁翻的次数最少。
次数 翻至页码 下一步决策
第一次 250
第二次
第三次
第四次
第五次
……
有的同学翻得特别快,他们用了什么方法呢?原来看似普通的翻字典,不仅是一门技术, 更是一种能力,是算法思想的体现。
凡治众如治寡,分数是也。
——《孙子兵法》
B
思考:生活中还有哪些事情可以利用分治策略解决?
快递送达过程、营销策略、上传下载中的断点续传、通信原理中的分组交换……
分治策略
分治的设计思想,是将个难以直接解决的大问题,分割成些较小的同类问题,各个击破,最终达到解决问题的目的。 二分查找实际上一就是分治策略的种典型运用。
这三个活动需要各小组合作探究,并汇报展示。之后,教师再对分治策略进行总结:刚才大家体验的都是分治策略的应用,所谓分治就是分而治之,将难以解决的原始问题划分为若干子问题,对子问题进行求解然后合并达成对原始问题的解决,正如孙子兵法中所说:凡治众如治寡,分数是也。这时候接着提出一