资源简介
(共22张PPT)
第三章 算法基础
3.1 体验计算机解决问题的过程
一 、本章情况
学习目标
(1)体验计算机解决问题的过程;
(2)能够理解和概述算法的概念与特征;
(3)学会运用恰当的描述方法和控制结构表示简单算法;
(4)懂得程序设计语言产生与发展的过程;
(5)了解不同种类程序设计语言的特点。
3.1体验计算机解决问题的过程
3.2算法算法及其描述
3.3计算机程序与程序设计语言
教学内容
二、项目指导
情境引入
截至2017年10月,中国高速公路里程13.1万千米,位居世界第一,2020年将达15万千米;高铁里程2.2万千米,位居世界第一;城市轨道交通4153千米,位居世界第一;光缆线路3041万千米,位居世界第一;世界前10的斜拉桥,中国占7座;世界前10的悬索桥,中国占6座;吞吐量世界前10的港口,中国占7席。
中国桥、中国路、中国车、中国港、中国网,一个个奇迹般的工程,让人民切切实实地感受到生活的便捷、美好和幸福。
二、项目指导
提出问题
我国的交通网络越来越发达,现在要去国内任何地方
飞机+高铁(火车)+船+汽车
可以到达你想去的地方。
遇到的新问题:
交通工具方式太多,不同的排列组合,都可以到达目的地。
怎么样的选择才是最适合自己的呢?
二、项目指导
当从A市到B市没有直达的交通工具时(不考虑水上交通工具),同学们可以利用铁路公司、汽车客运公司和航空公司公布的信息,设计出最合适的旅行路线。
(BK 为A市到B市的某个中转城市)
项目选题
二、项目指导
小组成员确定好项目的主题,利用思维导图工具(Xmind、Mindmanager或FreeMind)制订相应的项目方案,交流完善方案,并记录在项目活动手册中。
规划交流
三、学习新知
探究活动
从A市途径B1到达B市的交通情况如下图,寻找耗时最少的旅行路线。(中转必须至少有1个小时的中转时间。小组讨论,你们的选择?是如何来比较的?
从A市到B1市的交通工具 发车时间 行驶时间/时 从B1市到B市的交通工具 发车时间 行驶时间/时
飞机 9:00 3 (12:00) 飞机 11:00 2(13:00)
火车 8:00 8(16:00) 火车 17:00 3(20:00)
汽车 6:00 10(16:00) 汽车 15:00 6(21:00)
经过3*3共9次的比较,找到合适的路线有飞机+火车,飞机+汽车,火车+火车,汽车+火车共4种选择,耗时最少的是飞机+火车的组合,共耗时11个小时。采用的是逐一比较每种可能,找出最佳答案。
三、学习新知
探究活动
如果中转站有B1和B2两个呢?你还能快速地找到答案吗?需要比较多少次?
短时间内很难找出佳线路
要经过7*9+12*9=171次比较
三、学习新知
探究活动
现实生活中中转的可能性更多,每一个A到Bk有Mk种途径,Bk 到B有Nk 种途径,那我们人工找出耗时最少的旅行路线将工作量及其浩大,一共要比较:
M1*N1+ M2*N2 + M3*N3 + … + Mk*Nk
当人工处理效率很低时,我们可以借助计算机,通过编写计算机程序来解决问题。
三、学习新知
思考:
计算机怎么解决这个问题呢?
请看书本P46-47页了解编制计算机程序解决问题需要经历哪些过程?
自主学习
分析问题
设计算法
编写程序
调试运行程序
01
02
03
04
三、学习新知
分析问题
利用计算机解决问题,首先要分析问题。
分析什么呢?
分析问题的需求情况,提炼出已知条件,搞清楚需要解决的问题。
在从A市到B市耗时最少的旅行路线问题中,我们可以到铁路网站、各航空公司和汽车客运公司网站获取从A市经中转城市B1,B2,….Bk市到达B市的交通班次信息,再经过数据清洗后,形成结构化的数据存储为Excel文件。
01
其中文件B1,B2,B3是三个中转站的交通班次信息,文件zjxc是最佳旅行路线的信息。
三、学习新知
分析问题
01
中转站中两张表以B1为例,如下信息:
输出的
耗时最少结果:
规则:
中转间隔等待不少于1小时
三、学习新知
设计算法
问题分析请楚后,需要给出计算机解决问题的详细方法和步骤,这一过程称为设计算法。
此案例采用穷举法,逐一检测每一种交通组合,找出能够组合的方案,并进而找到耗时最少的旅行路线。
采用自然语言将其算法描述如下:
02
(1)分别找出能够中转的从A市经B1,B2,…,Bk,市到达B市的联运班次,并计算所用的时间。
(2)分别找到能够中转的从A市经B1,B2,…,Bk市到达B市的联运班次中耗时最少的联运班次,共k条线路。
(3)取k条线路中耗时最少的联运班次为最佳旅行路线。
告诉计算机怎么做
三、学习新知
编写程序
03
有了清晰可操作的算法描述,就可以选择一种计算机语言工具来编写程序,实现算法。
一般来说,只要算法确定,对计算机程序设计语言的选择没有特别的限定,通常根据问题的特性和编程人员对语言的熟悉程度来选定编写程序。
此案例我们采用Python语言来实现。
文件类型Python工具
认识
三、学习新知
编写程序
03
核心算法:
实现查找某一中转站的最少耗时
实现所有中转站查找
三、学习新知
调试运行
04
程序编写完成以后,再通过键盘把程序输入计算机中运行,检查程序能否按预想的效果执行,这一过程称为程序的调试运行。
可用Python工具:
检查——语法错误:计算机只能识别程序设计语言中所规定的语法规则,如果编写程序时与规则不一致,哪怕是一个标点符号出错,也会因程序出错而中断运行。此时,我们可以根据计算机提示的出错信息修改程序,重新调试运行。
检查——逻辑错误:当程序能够顺利运行以后,我们还需要对程序运行的结果进行检查。因为如果程序语句符合语法规则,而程序中却有逻辑或计算方法等错误,计算机是检查不出来的。因此,如果结果不合理,还要对程序甚至算法进行修改,直到程序的功能符合设计要求为止。
三、学习新知
综合活动(一)
1、
1、利用Jupyter Notebook调试运行程序。
2、查看输出结果,体会利用计算机解决问题的四个步骤。
三、学习新知
综合活动(二)
1、
1、增加中转站B4.xlsx,仿照其他中转站数据信息,自创一条小于耗时4小时的路线。
2、修改程序,查看输出结果,体会利用计算机解决问题自动化的特点。
四、项目实施
各小组根据项目选题及拟定的项目方案,结合本节所学的知识,体验计算机解决问题的过程:分析问题 设计算法 编写程序 调试运行。
1、各小组通过分析实际项目问题,经历问题描述、数据抽象、结构分析,模型建立。
2、利用各种数字化工具将分析问题得到的数据整理成有用的信息,讨论解决问题所用的算法思路。
3、完善项目活动手册和项目报告。
五、课程评价
(1 )人们利用计算机解决问题的基本过程为( )。
①调试运行程序 ②分析问题 ③设计算法 ④问题解决 ⑤编写程序
A.①②③④⑤
B.②④③⑤①
C.④②③⑤①
D.②③⑤①④
(2)小明编写好解密程序后,调试运行时,程序没有报错且能顺利运行,但不能正确解密,造成这个结果的原因是( )
A.解密算法逻辑错误
B.程序语句语法错误
C.程序过期了
D.程序设计窗口配置不对
D
A
六、相关附件
附件:
第三章项目报告模板.docx
第三章项目活动记录手册.docx
3.1耗时最少旅行路线方案.rar
3.1体验计算机程序解决问题学案.docx
谢谢观看!
展开更多......
收起↑