3.1体验计算机解决问题的过程
在现实生活中,我们经常需要对数据进行统计、分析。当数据量不 多时,我们可以采用人工方法来处理:然而,当数据量变多时,我 们运用计算机来解决问题将是一种更高效、更便捷的方法。
3.1.1人工解决问题的过程
采样人工方法解决问题,首先需要明确所要解决的问题给出的条件, 然后再根据已有的经验和知识确定解决问题的方法,从而解决问题。
当程序能够顺利运行以后,我们还需要对程序运行的结果进行检查。因 为如果程序语句符合语法规则,而程序中却有逻辑或计算方法等错误, 计算机是检查不出来的。因此,如果结果不合理,还要对程序甚至算法 进行修改,直到程序的功能符合设计要求为止。
实践
打开配套学习资源包“第三章课本素材\程序3-1”,调试并运行程序3-1,找出从A市到B市耗时最少的旅 行路线问题的结果,如图3-7所示。
上述问题中,假如中转城市很多,交通班次也很多,找出耗时最少 路线的工作量会非常大,若用人工穷举遍历,其效率就会很低。
3.1.2计算机解决问题的一般过程
当数据量很大,人工处理效率很低时,我们可以借助计算机,通过 编写计算机程序解决问题。编写计算机程序解决问题要经过分析问 题。设计算法,编写程序、调试运行程序等若干个步骤。
例如,用Pyhon语言编写从A 市到B市耗时最少的旅行路线 问题的算法的程序可参见配 套学习资源包“第三章课本 素林程序3-1”。其中,找出 能 够 从 入 市 经 B (i=1, 2,……,k)市到达B市的中转 联运班次,并计算所用的时 间以及找到耗时最少的联运 路线的关键程序段如下。
4.调试运行程序
S=M1×N1+M2×N2+…+Mk×Nk
寻找从A市到B市耗时最少的旅行路线问题就转化为在S种联运班次中找到一 种耗时最少的联运班次。这样就需要遍历每一个班次进行比较。若用人工 方式找出能够中转且等待时间和行驶时间最少的班次,工作量将极其浩大!