山东省高中信息技术学业水平考试试题网 - 数据与计算|信息系统与社会|数据与数据结构|网络基础|数据管理与分析|移动应用设计|三维设计与创意|开源硬件项目设计|算法初步|智能系统初步

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 742|回复: 0
收起左侧

第十讲 从A市到B市耗时最少的旅行路线方案设计报告

[复制链接]

304

主题

718

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647
QQ
发表于 2019-12-3 16:09:38 | 显示全部楼层 |阅读模式
第十讲 从A市到B市耗时最少的旅行路线方案设计报告
3 o1 a; h0 @) w* `& q1 G  I
    一、引言7 z# F) {0 F+ V! w( T
    数据在信息社会中具有重要价值,掌握数据处理的基本方法与技能具有重要意义。随着数据的快速增长,人工方式处理海量数据的效率正变得低下,因此掌握利用计算机和算法更高效地分析和解决问题的方法在计算机科学界的作用日益凸显。+ }9 k0 l0 M1 u/ l  y1 l! s

0 J8 j- K9 W" j( F3 Z; |  s7 N7 p    二、设计目的# T" ^- b! ~4 g5 u
    中国桥、中国路、中国车、中国港、中国网,一个个奇迹般建造起来的工程,让人民切切实实感受到生活的便捷、美好和幸福。截至2017年10月,中国高速公路里程13.1万千米,位居世界第一,2020 年将达15万千米;高铁里程2.2万千米,位居世界第一;城市轨道交通4153千米,位居世界第一;光缆线路3041万千米,位居世界第一;世界前10的斜拉桥,中国占7座;世界前10的悬索桥,中国占6座;港口吞吐量世界前10名中国占7席。当从A市到B市没有直达的交通工具时,人们可以利用铁路公司、汽车客运公司和航空公司公布的信息,设计出最佳的旅行路线。! T/ I: t1 k$ M
$ e- `) c* }9 \1 j; z' j. ?" V7 F
    体验计算机解决问题的过程,理解和概述算法的概念与特征,学会运用恰当的描述方法和控制结构表示简单算法,懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点。; l/ B7 G6 V6 p* m$ W% [
% b! P) B7 o; v; H8 u
三、需求分析和功能描述
' }* k2 c7 c! _& p5 g4 H1.需求分析
9 @$ V/ P# _) C9 ]    需求由以下三部分构成:
; I; ]7 l$ Q3 p4 P* D) }   (1)体验人工与计算机解决问题的过程。* `; A8 i# z, K* p2 Z
   (2)探究计算机解决问题的算法。
4 A, L0 x) w* d! H  (3)了解计算机解决问题的程序。
7 H. j& F( Q6 k" W  h" I' U   2.功能描述& H2 w: ?; t) m0 A0 C# R
   (1)设计从A市到B市耗时最少旅行路线的问题分析。0 f+ u8 b5 g9 b. Y7 b! q' ]
   (2)设计从A市到B市耗时最少旅行路线的算法。
, E9 A/ P4 J4 Z' z   (3)编写求解从A市到B市耗时最少的旅行路线问题的程序。
$ i5 F. G5 w3 v, h  X# F5 y8 U2 e- D2 d3 H( F) X
四、设计工具和方法! Y0 Y; |0 n* U* `
    利用思维导图工具和“头脑风暴”的方法组建团队、明确任务;采用搜索技术,实施探究。
8 X- W3 y6 G( {5 _. l# E8 z五、设计步骤与过程
& y' o+ r0 _# p3 z' X7 U( [   1.设计从A市到B市耗时最少旅行路线的问题分析
+ {& Y  R5 E: Q' s, W- K2 O   我们从铁路公司、各航空公司和汽车客运公司网站得知,直达B市的交通工具只有火车和汽车两种,出发地有B1,B2,…,Bk市(没有A市),从A市出发到B1,B2,…,Bk市的交通工具有飞机、火车和汽车三种,这样从A市经B1,B2,…,Bk市到B市的交通情况如下图所示。/ G/ D" b( R% i
( T9 F" g& O4 q& G
    由于从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市的交通班车(班机)数共有:
9 b$ E3 g7 E$ ]; h" GS=M1×N1+M2×N2+…+Mk×Nk0 F' s5 ~' c# ]' o7 h
    寻找从A市到B市耗时最少的旅行路线问题就转化为在S种联运班次中找到一种耗时最少的联运班次。这样就需要遍历每一个班次进行比较,人工方式找到能够中转且等待时间和行驶时间最少的班次,工作量极其浩大!
& @/ g" A, Y/ Q; x5 d假设从A市到B市的中转城市只有B1,B2市,从A市经B1,B2市到B市的交通情况如表3-2和表3-3所示。
/ \# J8 b4 \8 ` 2 O8 C9 v# T9 r, F8 @2 \  d
  
% L# }: r- R, d3 e   于是,从A市经B1市到B市的联运班次有7×9=63班;从A市经B2市到B市的联运班次有12×9=108班,合计为S=63+108=171班。然后在171班次中找到能够中转且等待时间加上行驶时间最少的联运班次,如下图所示。
' e, a. a# K7 z3 J& g' H
6 L3 S: R! p( r  o  ]% [    当数据量很大,人工处理效率很低时,我们可以借助计算机,通过编写计算机程序解决问题。在利用计算机解决问题之前,我们首先要分析问题的需求情况、已知条件和需要解决的问题。  e. w0 g9 M% i" w/ |5 _
    在从A市到B市耗时最少的旅行路线问题中,在不知道有多少个中转城市和每个城市有多少班车(或飞机)的情况下,我们可以利用大数据挖掘技术中的爬虫程序(参见配套学习资源包“第三章\课本素材\程序3-1”)到铁路网站、各航空公司和汽车客运公司网站获取从A市经中转城市B1,B2,…,Bk市到达B市的交通班次信息,经过数据清洗,形成结构化的数据存储为Excel文件。$ A  L: k1 b5 g, b9 s
! F6 Z9 m; ~% Q& e/ G
       2.设计从A市到B市耗时最少旅行路线的算法
. K+ ~6 ]( M) y. m    从A市到B市耗时最少的旅行路线问题,根据获取的从A市到B市的中转城市B1,B2,…,Bk的班次,以及各城市各交通班次的发车时间和行驶时间等信息,采用以下的思想找出耗时最少的联运班次问题,即算法如下:! c+ Q1 f5 |  z
   (1)分别找出能够中转的从A市经B1,B2,…,Bk市到达B市的联运班次,并计算所用的时间。' s7 d; P* p: W- B+ H( ^
   (2)分别找到能够中转的从A市经B1,B2,…,Bk市到达B市的联运班次中耗时最少的联运班次,共k条线路。+ e) h" j/ z! b& N, o! B  q7 ?0 j
   (3)取k条线路中耗时最少的联运班次为最佳旅行路线。
  P' G) |1 j/ |9 X% N' H: ~: z    3.编写求解从A市到B市耗时最少的旅行路线问题的程序
# N7 d1 L" V: R' [! _/ V3 d    Python语言编写从A市到B市耗时最少的旅行路线问题的算法的程序可参见配套学习资源包“第三章\课本素材\程序3-1”。其中,找出能够从A市经Bi(i=1,2,…,k)市到达B市的中转联运班次,并计算所用的时间以及找到耗时最少的联运路线的关键程序段如下。' f# `, m: g3 O! H% Z9 M

7 e' h0 w8 A5 V- }% B% O8 H4 f* s& ^4 y5 j' r% K; ^: c5 ]" v
六、设计成果
( |) W. Q0 E( V+ Y5 K2 x    1.计算机解决问题更高效、更便捷
0 k# m: s! b2 y    在现实生活中,我们经常需要对数据进行统计、分析。当数据量不多时,我们可以采用人工方法来处理;然而,当数据量变多时,运用计算机解决问题将是一种更高效、更便捷的方法。
! B) i- \4 z' F' {& _( l; @    在从A市到B市耗时最少的旅行路线问题中,我们分析并设计了算法和编写了程序之后,可以快速地找出从A市到B市耗时最少的旅行路线问题的结果,如下图所示。5 \, i# x2 z6 @  R5 f3 G' C) S4 `

5 T' h" D0 S7 f5 m1 r    2.算法是计算机解决问题的核心
& V$ c3 ^: e& E. O! f算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
6 s/ k; e+ w, W+ Y: E描述算法的常用方法有自然语言描述算法、流程图描述算法和伪代码描述算法。
  z! ]# c. w0 k' m& R3. 计算机程序就是指计算机可以识别运行的指令集合
5 d2 r& x- s. C/ i/ {计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。简而言之,计算机程序就是指计算机可以识别运行的指令集合。2 Z: v/ h$ P. i  w/ z4 \, o
在用计算机解决问题时,用自然语言、流程图或是伪代码所描述的解决问题的算法都不能被计算机直接执行,还必须将算法按照一定的规则编写成计算机能够识别和运行的程序。而人们编写程序的时候需要遵循的规则就是计算机语言规则。计算机程序设计语言,是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。它是一种被标准化的交流技巧,用于向计算机发出指令。正确地使用计算机程序设计语言,能让程序员准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应执行的命令。
9 K5 ?$ T* ^5 J. S& C
" B  E. I% k0 M7 h1 f; g" @8 T" {+ n    七、结语        * b2 q# z2 j+ a4 b% N  w5 N, c
    本章通过“设计从A市到B市最佳的旅行路线方案”项目,进行自主、协作、探究学习,让同学们体验计算机解决问题的过程,理解和概述算法的概念与特征,学会运用恰当的描述方法和控制结构表示简单算法,懂得描述程序设计语言产生与发展的过程,了解不同种类程序设计语言的特点,从而将知识建构、技能培养与思维发展融入运用数字化工具解决问题和完成任务的过程中,促进信息技术学科核心素养达成,完成项目学习目标。
3 l  x) S; j- G0 @$ Z0 j& U

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖




上一篇:第二章 学业评价
下一篇:第十一讲 体验计算机解决问题的过程
+1
742°C
沙发哦 ^ ^ 马上

帖子地址: 

教书育人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

百度一下 百度二下 百度三下 开门大吉

QQ|Archiver|手机版|小黑屋|山东省高中信息技术学业水平考试试题网 ( 鲁ICP备16049757号 )|网站地图

GMT+8, 2020-9-30 13:49 , Processed in 0.310160 second(s), 40 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表