1、算法基础3.1 体验计算机解决问题的过程3.2 算法及其描述3.3 计算机程序与程序设计语言第三章项目范例 设计从A市到B市耗时最少的旅行路线方案第三章 算法基础 当从A市到B市没有直达的交通工具时(不考虑水上交通工具),人们可以利用铁路公司、汽车客运公司和航空公司公布的信息,设计出耗时最少的旅行路线。图3-1 中国高铁设计从A市到B市耗时最少的旅行路线方案表3-1“设计从A市到B市耗时最少的旅行路线方案”项目学习探究活动究根据项目学习规划的安排,通过调查、案例分析、文献阅读和网上资料搜索,开展“设计从A市到B市耗时最少的旅行线路方案”项目学习探究活动,如表3-1所示:探究活动学习内容知识技能
2、体验人工与计算机解决问题的过程设计从A市到B市耗时最少旅行路线问题分析。人工解决问题的过程。体验计算机解决问题的个过程。计算机解决问题的过程。探究计算机解决问题的算法设计从A市到B市耗时最少旅行路线的算法。算法的概念与特征。理解和概述算法的概念与特征。运用恰当的描述方法和控制结构表示简单算法。算法描述方法。了解计算机解决问题的程序编写求解从A市到B市耗时最少旅行路线问题的程序。计算机程序。描述程序是基语言产生与发展的过程。了解不同种类程序设计语言的特点。程序设计语言的产生与发展。第三章 算法基础项目范例-设计从A市到B市耗时最少的旅行路线方案第三章 算法基础同学们以36人组成一个小组,围绕本章
3、项目学习活动的大主题“设计从A市到B市的最优旅行路线方案”,根据自己感兴趣的问题,小组头脑风暴后确定项目选题,以小组为单位,填写项目学习活动记录表“项目选题”栏目。项目选题教材参考选题1.设计从A 市到B 市耗时最少的旅行路线方案;2.设计从A 市到B 市交通费最少的旅行路线方案;3.设计从A 市到B 市路程最短的旅行路线方案;4.在不超预算的情况下,设计从A市到B市耗时最少的旅行路线方案;5.自拟.项目范例-设计从A市到B市耗时最少的旅行路线方案第三章 算法基础编号问题内容工具与方法1用计算机求解最少耗时旅行路径问题的过程是怎样的?实践研究法2求解最少耗时旅行的算法如何设计?怎样去描述这个算
4、法?文献查询实践研究法3计算机程序怎样运行,程序语言有哪些?网上信息查询文献查阅项目规划(思维导图)工具与方法:网上期刊、文献查阅、实践研究等。小组依照项目范例,结合本组选题,制订本组项目规划方案,填写项目学习活动记录表“项目规划”栏目。方案交流项目范例-设计从A市到B市耗时最少的旅行路线方案体验计算机解决问题的过程 在现实生活中,我们经常需要对数据进行统计、分析。当数据量不多时,我们可以采用人工方法来处理;然而,当数据量变多时,我们运用计算机来解决问题将是一种更高效、更便捷的方案。第三章 算法基础3.1.1人工解决问题的过程问题:找出从A市经B1市到B市耗时最少的旅行路线。AB1BM1M7N
5、1N93.1体验计算机解决问题的过程第三章 算法基础体验人工解决问题探究活动体验分析题解决步骤:1用穷举法列出从A市经B1市的各班次的耗时,及相应可中转的B1市到B市的各班次的等待时长及行程耗时;2算出各组合的总耗时;3找到耗时最少的路线。从A到B1编号出发时间到达时间耗时从B1到B编号出发时间到达时间耗时飞机M109:00 12:003飞机无无无无M212:00 14:30 2.5M316:00 18:002火车M408:00 20:0012火车N109:00 10:30 1.5M510:00 20:0010N211:00 12:18 1.3M612:00 21:36 9.6N315:00
6、16:001M713:00 22:36 9.6N418:00 20:002汽车无无无无汽车N508:00 09:48 1.8N609:00 11:002N713:00 15:12 2.2N815:00 17:12 2.2N918:00 19:42 1.7表3-1-1 从A市经B1市到B市的交通情况3.1体验计算机解决问题的过程体验人工解决问题探究活动体验从A市经B1市到B市的交通情况分析结果表3-1-2 从A市经B1市到B市可组合班次情况从A到B1班次编号耗时从B1到B可中转班次总耗时编号耗时等待时长M13N3137N42611N72.216.2N82.238.2N91.7610.7M22.5
7、N310.54N423.58N82.20.55.2N91.73.57.7第三章 算法基础3.1体验计算机解决问题的过程探究活动事实上,从A市到B市中转的城市有k个,且分别有不同的交通工具及班次:组合班次有S=M1 N1+M2 N2+Mk Nk分析AB1BkB当数据量很大,人工处理效率很低时,我们可以借助计算机工具,通过编制计算机程序来解决问题。第三章 算法基础3.1体验计算机解决问题的过程探究活动编制计算机程序解决问题需要经历哪些过程?请参考书本P46-47页了解。问题计算机解决问题的过程第三章 算法基础3.1.2计算机解决问题的过程分析问题分析问题设计算法设计算法编写程序编写程序调试运行调试
8、运行程序程序完成项目活动记录表中 活动1 知识技能 表里的相关内容。项目实施3.1体验计算机解决问题的过程计算机解决问题的过程,程序代码分析探究活动第三章 算法基础讨论解决问题的步骤(算法)程序代码(部分)(1)分别算出从A市到B1,B2,Bk市的班次所用的时间;foriinrange(1,rs1):t14=table_1.cell(i,4).valuet12=t14-table_1.cell(i,2).value(2)找到能够中转到达B市的班次路线件k条,并计算出总耗时;forjinrange(1,rs2):t22=table_2.cell(j,2).value ift14-t22=1/24
9、:m1=t12+(t22-t14)+(table_2.cell(j,4).value-t22)(3)找出K条线路中耗时最少的班次组合为最佳旅行路线 ifmm1:m=m1 r1=ir2=j3.1体验计算机解决问题的过程体验用计算机解程序求解耗时最少旅行路线方案探究活动第三章 算法基础体验步骤1:启动PythonIDLE集成开发环境步骤2:执行“file”菜单中的“open”命令,选择打开程序“从A市到B市耗时最少的旅行路线问题的程序”(教材学习资源包“第三章课本素材程序3-1”)步骤3:执行“run”菜单中的“run module”命令步骤4:观察程序运行结果3.1体验计算机解决问题的过程人工求
10、解与计算机求解问题的方式的异同探究活动第三章 算法基础讨论求解问题的方式相同点不同点人工求解问题用计算机求解问题完成项目活动记录表“3.1体验计算机解决问题的过程”人工解决与计算机解决问题方式的异同讨论记录“讨论项目实施3.1体验计算机解决问题的过程人工求解与计算机求解问题的方式的异同探究活动第三章 算法基础讨论求解问题的方式相同点不同点人工求解问题分析问题、设计算法、得出结果、验算结果每次只能对特定的问题进行解答,运算速度慢,不需要借助计算机工具。用计算机求解问题编写程序、调试程序、运行速度快,通用性强。3.1体验计算机解决问题的过程第三章 算法基础课堂小结:u 计算机解决问题的过程:1分析问题;2确定算法;3编写程序;4调试程序。u 人工处理问题效率非常低时,这时就需要通过计算机来解决,而计算机解决问题本质上就是计算机程序解决问题,我们用WORD文字处理工具处理文本,而WORD文字处理工具实质就是程序,但当我们的问题非常特殊,没有现成的计算机工具可以使用时,我们就需要编写程序来解决特定的问题。项目实施完成项目活动记录表“3.1体验计算机解决问题的过程”小组项目成果(学习小结);3.1体验计算机解决问题的过程