北京地铁计价系统的实现

北京地铁计价系统的实现

ID:11847516

大小:265.50 KB

页数:20页

时间:2018-07-14

北京地铁计价系统的实现_第1页
北京地铁计价系统的实现_第2页
北京地铁计价系统的实现_第3页
北京地铁计价系统的实现_第4页
北京地铁计价系统的实现_第5页
资源描述:

《北京地铁计价系统的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《离散数学》课程设计报告目录一、地铁计价系统的实现21.设计目的22.设计内容23.实验步骤34.部分代码附录75.实验结果和结论19指导教师意见20一、-19-《离散数学》课程设计报告地铁计价系统的实现1.设计目的1)掌握dijkstra算法的思想;2)掌握javascript数据类型之javascript对象;3)采用模块化的思想编写程序;4)学会用浏览器的调试功能检查代码;5)掌握整个网页设计过程元素调用的问题,可以将各个元素正确调用;6)学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力;7)为后续计算机课程的学习打下坚实基础;2.设计

2、内容本次设计基于html+css+javascript设计了一款网页端的地铁计价系统,通过使用javascript对象存储数据,js调用数据和计算,html,css美化前端样式,js实现交互功能等,实现了一个完整的,实用的网页端地铁计价系统。-19-《离散数学》课程设计报告1.实验步骤1)整体架构网页前端index.html由HTML编写,用一个subway-out的大容器承载全部元素,然后将这个容器细分为三大块,也就是使用三个form表单,分别实现起始线路与站点选择,终点线路与站点选择,提交按钮、票价显示和路程显示;HTML美化通过bootstrap和jqu

3、ery实现,这里不再赘述。前端交互,线路存储,票价计算及输出等由station.js实现。2)station.js结构-19-《离散数学》课程设计报告线路数据通过一个stationData变量实现,这个变量中存储了1~15号线路的全部站点,并且通过stationData[]进行访问。站点间距离数据通过chartData存储,这个变量中按照类似二维数组的格式存储相邻站点间距离,并且在station.js文件调用时通过dijkstra.addEdges(chartData)初始化到dijkstra算法中。函数getStartStation和getEndStatio

4、n用于获取用户选择线路完毕后获取选项option的value值,根据value值向二级select元素中添加stationData线路数据。实现select选项卡的级联。函数getSubwayData用于实现用户点击时获取表单内容(即获取select元素内text元素),然后distance中输出根据dijkstra算法中shortest函数得到的距离数,同时输出时使用toFixed(1)控制输出位数为1位(js中数字为浮点形式);然后将计算的distance传入caleFare函数中计算费用并输出。函数caleFare实现票价计算:6公里以内3元、12公里以

5、内4元、32公里以内每超出12公里10公里1元、超出32公里的部分没20公里1元,上不封顶;前两部分判断直接return,后两部分则需要调用函数math.ceil向上取整功能。1)dijkstra算法dijkstra=function()将dijkstra实例化为一个函数。函数内包括5部分:-19-《离散数学》课程设计报告addChart将station.js中的chartData进行拆分导入:获取参数的length作为循环总数,通过chart[i]索引二维数组并赋予变量edge,此时edge是包含两个站点和距离的一维数组。通过edge[i]索引edge中元素

6、并作为参数传入函数addEdge中;addEdge则是建立图表的函数。它包括三个参数:origin,target,distance代表起始、终点、权重。通过三个参数,建立坐标为origin,target、值为distance的图表。shortest函数是最重要的算法部分:通过station.js中dijkstra.shortest(origin,target)传入起点和终点,并返回最短的路径;函数首先判断传入的数据是否在chart中,如果不在,则返回一个∞;定义两个对象dist,vistited和一个数字numVertex,直接使用forin结构遍历图表,先认

7、为全部的路径值都是∞,同时获取最大数numVertex用于下层的循环控制。在用语句dist[origin]=0使得到原点的距离为0;接下来进行for循环:;循环中定义一个minDist最短路径为∞,再定义一个最小值v=0;使用forin结构遍历dist[],且v不存在于已经考虑过的点中,判断最短路径minDist是否大于dist[v],如果大于则将dist[v]中的值赋予minDist,同时将v赋予minV;如果小于则不进行操作。-19-《离散数学》课程设计报告接下来if判断minV是否仍然为void0,是则跳出循环。如果minV和目标target相等,则返回

8、最短路径minDist;否则继续,令对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。