3.1 体验计算机解决问题的过程 学案

文档属性

名称 3.1 体验计算机解决问题的过程 学案
格式 doc
文件大小 109.0KB
资源类型 教案
版本资源 粤教版(2019)
科目 信息技术(信息科技)
更新时间 2020-10-20 15:53:43

图片预览

文档简介

体验计算机解决问题的过程
学习目标
体验计算机解决问题的过程。
学习内容
在现实生活中,我们经常需要对数据进行统计,分析。当数据量不多时, 我们可以采用人工方法来处理;然而,当数据量变多时,我们运用计算机来解决问题将是一种更高效,更便捷的方法。
人工解决问题的过程
采用人I方法来解决问题,首先需要明确所要解决的问题和给出的条件,然后再根据E 3有的经验和知识确定解决问题的方法,从而解决问题。
探究活动
如何设计从A市到B市耗时最少的旅行路线方案呢?我们从铁路公司、各航空公司和汽车客运公司网站得知,直达B市的交通工具只有火车和汽车两种,出发地有B1 , B2, .. , Bk市(没有A市) , 从A市出发到B1 , B2 , .. , Bk市的交通具有飞机、车和汽车三种,这样从A市经B1 ,B2 。
由于从A市到B1 , B2 , ... , Bk市有不同的交通工具,每种交通工仅有不同的班次,因此从A市出发到中转城市B1 , B2 , .. , Bk市就有M1、M2 , .. , Mk种班次。同样,从中转城市B1 , B2 , .... , Bk市到B市也有不同的交通工具,-种交通工具有不同的班次,因此从中转城市B1,B2,....,Bk市到B市就有N1,N2,..,Nk种班次。于是从A市经B1,B2,...,Bk市到B市的交通班车(班机)数共有:S=M1xN1 +M2xN2+... + MkxNk
寻找从A市到B市耗时最少的旅行路线问题就转化为在S种联运班次中找到一种耗时最少的联运班次。这样就需要遍历每一个班次进行比较 ,人工方式找到能够中转且等待时间和行驶时间最少的班次,工作量极其浩大!
假设从A市到B市的中转城市只有B1 , B2市,从A市经B1 , B2市到市的交通情况如表3-2和表3-3所示。
于是,从A市经B1市到B市的联运班次有7x9=63班;从A市经B2市到B市的联运班次有12x9=108班,合计为S=63+ 108=171班。然后在171班次中找到能够中转且等待时间加上行驶时间最少的联运班次。
采用以下的思路求解耗时最少的联运班次问题:
(1)找出能够中转的从A市经B1市到达B市的联运班次,计算所用的时间。
(2)找到能够中转的从A市经B1市到达B市的联运班次中耗时最少的联运班次
(3)找出能够中转的从A市经B2市到达B市的联运班次,并计算所用的时间。
(4)找到能够中转的从A市经B2市到达B市的联运班次中耗时最少的联运班次。
(5)取两条线路中耗时最少的联运班次为最佳旅行路线。
上述问题中,假如中转城市很多,交通班次也很多,找出耗时最少路线的工作量会非常大,若用人工穷举遍历,效率就会很低。
计算机解决问题的过程
当数据量很大, 人工处理效率很低时,我们可以借助计算机,通过编写计算机程序解决问题。编写计算机程序解决问题要经过分析问题,设计算法,编写程序,调试运行程序等若千个步骤。
1.分析问题
在利用计算机解决问题之前,我们首先要分析问题的需 求情况、已知条件和需要解决的问题。
在从A市到B市耗时最少的旅行路线问题中,在不知道有多少个中转城市和每个城市有多少班车(或飞机)的情况下,我们可以利用大数据挖掘技术中的爬虫程序(参见配套学习资源包”第三章\课本素材\程序3-1” )到铁路网站、各航空公司和汽车客运公司网站获取从A市经中转城市B1 , B2 , .. , Bk市到达B市的交通班次信息,经过数据清洗,形成结构化的数据存储为Excel文件。
2.设计算法
问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为设计算法。
例如,对于从A市到B市耗时最少的旅行路线问题,根据获取的从A市到B市的中转城市B1,B2 , .. , Bk的班次,以及各城市各交通班次的发车时间和行驶时间等信息,采用以下的思想找出耗时最少的联运班次问题,即算法如下:
(1 )分别找出能够中转且中转等待时间不小于1小时的从A市经B1 , B2 , ... , Bk市到达B市的联运班次,并计算所用的时间。
( 2 )分别找到能够中转的从A市经B1 , B2 , .... , Bk市到达B市的联运班次中耗时最少的联运班次,共k条线路。
( 3 )取k条线路中耗时最少的联运班次为最佳旅行路线。
3.编写程序
有了清晰可操作的算法描述,就可以选择一种计算机语言 工具来编写程序,实现算法。一般.来说,只要算法确定,对计算机程序设计语言的选择没有特别的限定,通常根据问题的特性和编程人员对语言的熟悉程度来选定编写程序。
Python语言编写从A市到B市耗时最少的旅行路线问题的算法的程序可参见配套学习资源包“第三章\课本素材\程序3-1"。其中,找出能够从A市经Bi(i=1, 2 , ... k )市到达B市的中转联运班次,并计算所用的时间以及找到耗时最少的联运路线的关键程序段如下。
4.调试运行程
程序编写完成以后,再通过键盘把程序输入计算机中运行,检查程序能否按预想的效果行,这一过程称为程序的调试运行。计算机只能识别程序设计语言中所规定的语法规,如果编写程序时与规则不一致,哪怕是一个标点符号出错,也会因程序出错而中断运行。此时,我们可以根据计算机提示的出错信息修改程序,重新调试运行。由于Python是解标程序,因此它的调试是在运行过程中逐行进行的。
当程序能够顺利运行以后,我们还需要对程序运行的结果进行检查。因为如果程序语句符合语法规则,而程序中却有逻辑或计算方法等错误,计算机是检查不出来的。因此,如果结果不合理,还要对程序甚至算法进行修改,直到程序的功能符合设计要求为止。
打开配套学习资源包"第三章课本素林程序3-1”, 调试并运行程序3-1 ,找出从A市到B市耗时最少的旅行路线问题的结果。
耗时最少的旅行路线问题的python代码:
课内任务:将99乘法表代码输入,运行,观察是否达到预期效果。