《离散数学》课程设计报告-北京地铁计价系统的实现_第1页
《离散数学》课程设计报告-北京地铁计价系统的实现_第2页
《离散数学》课程设计报告-北京地铁计价系统的实现_第3页
《离散数学》课程设计报告-北京地铁计价系统的实现_第4页
《离散数学》课程设计报告-北京地铁计价系统的实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录一、地铁计价系统的实现21设计目的22设计内容23实验步骤34部分代码附录75实验结果和结论19指导教师意见20离散数学课程设计报告1一、地铁计价系统的实现1设计目的1掌握DIJKSTRA算法的思想;2掌握JAVASCRIPT数据类型之JAVASCRIPT对象;3采用模块化的思想编写程序;4学会用浏览器的调试功能检查代码;5掌握整个网页设计过程元素调用的问题,可以将各个元素正确调用;6学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力;7为后续计算机课程的学习打下坚实基础;2设计内容本次设计基于HTMLCSSJAVASCRIPT设计了一款网页端的地铁计价系统,通过使用JAVASCRIPT对象存储数据,JS调用数据和计算,HTML,CSS美化前端样式,JS实现交互功能等,实现了一个完整的,实用的网页端地铁计价系统。离散数学课程设计报告23实验步骤1整体架构网页前端INDEXHTML由HTML编写,用一个SUBWAYOUT的大容器承载全部元素,然后将这个容器细分为三大块,也就是使用三个FORM表单,分别实现起始线路与站点选择,终点线路与站点选择,提交按钮、票价显示和路程显示;HTML美化通过BOOTSTRAP和JQUERY实现,这里不再赘述。前端交互,线路存储,票价计算及输出等由STATIONJS实现。2STATIONJS结构离散数学课程设计报告3线路数据通过一个STATIONDATA变量实现,这个变量中存储了115号线路的全部站点,并且通过STATIONDATA进行访问。站点间距离数据通过CHARTDATA存储,这个变量中按照类似二维数组的格式存储相邻站点间距离,并且在STATIONJS文件调用时通过DIJKSTRAADDEDGESCHARTDATA初始化到DIJKSTRA算法中。函数GETSTARTSTATION和GETENDSTATION用于获取用户选择线路完毕后获取选项OPTION的VALUE值,根据VALUE值向二级SELECT元素中添加STATIONDATA线路数据。实现SELECT选项卡的级联。函数GETSUBWAYDATA用于实现用户点击时获取表单内容即获取SELECT元素内TEXT元素,然后DISTANCE中输出根据DIJKSTRA算法中SHORTEST函数得到的距离数,同时输出时使用TOFIXED1控制输出位数为1位JS中数字为浮点形式;然后将计算的DISTANCE传入CALEFARE函数中计算费用并输出。函数CALEFARE实现票价计算6公里以内3元、12公里以内4元、32公里以内每超出12公里10公里1元、超出32公里的部分没20公里1元,上不封顶;前两部分判断直接RETURN,后两部分则需要调用函数MATHCEIL向上取整功能。3DIJKSTRA算法DIJKSTRAFUNCTION将DIJKSTRA实例化为一个函数。函数内包括5部分离散数学课程设计报告4ADDCHART将STATIONJS中的CHARTDATA进行拆分导入获取参数的LENGTH作为循环总数,通过CHARTI索引二维数组并赋予变量EDGE,此时EDGE是包含两个站点和距离的一维数组。通过EDGEI索引EDGE中元素并作为参数传入函数ADDEDGE中;ADDEDGE则是建立图表的函数。它包括三个参数ORIGIN,TARGET,DISTANCE代表起始、终点、权重。通过三个参数,建立坐标为ORIGIN,TARGET、值为DISTANCE的图表。SHORTEST函数是最重要的算法部分通过STATIONJS中DIJKSTRASHORTESTORIGIN,TARGET传入起点和终点,并返回最短的路径;函数首先判断传入的数据是否在CHART中,如果不在,则返回一个;定义两个对象DIST,VISTITED和一个数字NUMVERTEX,直接使用FORIN结构遍历图表,先认为全部的路径值都是,同时获取最大数NUMVERTEX用于下层的循环控制。在用语句DISTORIGIN0使得到原点的距离为0;接下来进行FOR循环;循环中定义一个MINDIST最短路径为,再定义一个最小值V0;使用FORIN结构遍历DIST,且V不存在于已经考虑过的点中,判断最短路径MINDIST是否大于DISTV,如果大于则将DISTV中的值赋予MINDIST,同时将V赋予MINV;如果小于则不进行操作。离散数学课程设计报告5接下来IF判断MINV是否仍然为VOID0,是则跳出循环。如果MINV和目标TARGET相等,则返回最短路径MINDIST;否则继续,令对象VISITEDMINV存储BOOL值TRUE表示已经找过;再定义一个变量EDGESCHARTMINV,新建循环,求解MINDIST到下一点的最短路径,如果有则记录到DISTV中。进行下次循环。循环结束之后的已经得到最短路径MINDIST;RETURN的作用是索引函数,在STATIONJS中通过DIJKSTRASHORTEST就可以索引到函数中。SHORTEST函数的流程展示离散数学课程设计报告64部分代码附录1INDEXHTMLSUBWAYBODYMARGINLEFTAUTOMARGINRIGHTAUTOMARGINTOP200PXWIDTH25EMSTART起始站离散数学课程设计报告71号线2号线4号线5号线6号线7号线8号线9号线10号线13号线14号线15号线END终点站1号线离散数学课程设计报告82号线4号线5号线6号线7号线8号线9号线10号线13号线14号线15号线SUBMIT离散数学课程设计报告9KM离散数学课程设计报告102STATIONJS/菜单级联FUNCTIONGETSTARTSTATIONVARSTARTLINEDOCUMENTGETELEMENTBYID“STARTLINE“VARSTARTSTATIONDOCUMENTGETELEMENTBYID“STARTSTATION“/获取1,2级菜单IDVARADDCONCATSTATIONDATASTARTLINEVALUESTARTSTATIONLENGTH0/清空二级菜单FORVARI0IDISTVMINDISTDISTV,离散数学课程设计报告13MINVVELSEIFVOID0MINVBREAKIFMINVTARGETRETURNMINDISTVISITEDMINVTRUEVAREDGESCHARTMINVFORVARVINEDGESIFVINVISITEDVARNEWDISTMINDISTEDGESVIFDISTVNEWDISTDISTVNEWDISTELSERETURN1/0VARCHARTRETURNADDEDGEADDEDGE,ADDCHARTADDCHART,SHORTESTSHORTEST离散数学课程设计报告144线路数据VARSTATIONDATA“ONE“苹果园“,“古城“,“八角游乐园“,“八宝山“,“玉泉路“,“五棵松“,“万寿路“,“公主坟“,“军事博物馆“,“木樨地“,“南礼士路“,“复兴门“,“西单“,“天安门西“,“天安门东“,“王府井“,“东单“,“建国门“,“永安里“,“国贸“,“大望路“,“四惠“,“四惠东“,“TWO“西直门“,“车公庄“,“阜成门“,“复兴门“,“长椿街“,“宣武门“,“和平门“,“前门“,“崇文门“,“北京站“,“建国门“,“朝阳门“,“东四十条“,“东直门“,“雍和宫“,“安定门“,“鼓楼大街“,“积水潭“,“FOUR“安河桥北“,“北宫门“,“西苑“,“圆明园“,“北大东门“,“中关村“,“海淀黄庄“,“人民大学“,“魏公村“,“国家图书馆“,“动物园“,“西直门“,“新街口“,“平安里“,“西四“,“灵境胡同“,“西单“,“宣武门“,“菜市口“,“陶然亭“,“北京南站“,“马家堡“,“角门西“,“公益西桥“,“FIVE“宋家庄“,“刘家窑“,“蒲黄榆“,“天坛东门“,“磁器口“,“崇文门“,“东单“,“灯市口“,“东四“,“张自忠路“,“北新桥“,“雍和宫“,“和平里北桥“,“和平西桥“,“惠新西街南口“,“惠新西街北口“,“大屯路东“,“北苑路北“,“立水桥南“,“立水桥“,“天通苑南“,“天通苑“,“天通苑北“,“SIX“海淀五路居“,“慈寿寺“,“花园桥“,“白石桥南“,“车公庄西“,“车公庄“,“平安里“,“北海北“,“南锣鼓巷“,“东四“,“朝阳门“,“东大桥“,“呼家楼“,“金台路“,“十里堡“,“青年路“,“褡裢坡“,“黄渠“,“常营“,“草房“,“物资学院“,“通州北关“,“北运河西“,“郝家府“,“东夏园“,“潞城“,“SEVEN“北京西站“,“湾子“,“达官营“,“广安门内“,“菜市口“,“虎坊桥“,“珠市口“,“桥湾“,“磁器口“,“广渠门内“,“广渠门外“,“九龙山“,“大郊亭“,“百子湾“,“化工“,“南楼梓庄“,“欢乐谷景区“,“双合“,“焦化厂“,“EIGHT“朱辛庄“,“育知路“,“平西府“,“回龙观东大街“,“霍营“,“育新“,“西小口“,“永泰庄“,“林翠桥“,“森林公园南门“,“奥林匹克公园“,“奥体中心“,“北土城“,“安华桥“,“安德里北街“,“鼓楼大街“,“什刹海“,“南锣鼓巷“,“NINE“郭公庄“,“丰台科技园“,“科怡路“,“丰台南路“,“丰台东大街“,“七里庄“,“六里桥“,“六里桥东“,“北京西站“,“军事博物馆“,“白堆子“,“白石桥南“,“国家图书馆“,“TEN“巴沟“,“苏州街“,“海淀黄庄“,“知春里“,“知春路“,“西土城“,“牡丹园“,“健德门“,“北土城“,“安贞门“,“惠新西街南口“,“芍药居“,“太阳宫“,“三元桥“,“亮马桥“,“农业展览馆“,“团结湖“,“呼家楼“,“金台夕照“,“国贸“,“双井“,“劲松“,“潘家园“,“十里河“,“分钟寺“,“成寿寺“,“宋家庄“,“石榴庄“,“大红门“,“角门东“,“角门西“,“草桥“,“纪家庙“,“首经贸“,“丰台站“,“泥洼“,“西局“,“六里桥“,“莲花桥“,“公主坟“,“西钓鱼台“,“慈寿寺“,“车道沟“,“长春桥“,“火器营“,离散数学课程设计报告15“THIRTEEN“东直门“,“柳芳“,“光熙门“,“芍药居“,“望京西“,“北苑“,“立水桥“,“霍营“,“回龙观“,“龙泽“,“西二旗“,“上地“,“五道口“,“知春路“,“大钟寺“,“西直门“,“FOURTEEN“张郭庄“,“园博园“,“大瓦窑“,“郭庄子“,“大井“,“七里庄“,“西局“,“FIFTEEN“俸伯“,“顺义“,“石门“,“南发信“,“后沙峪“,“花梨坎“,“国展“,“孙河“,“马泉营“,“崔各庄“,“望京“,“望京西“,“关庄“,“大屯路东“,“安立路“,“奥林匹克公园“,“北沙滩“,“六道口“,“清华东路西口“5站点间距离VARCHARTDATA“苹果园“,“古城“,25,“古城“,“八角游乐园“,19,“八角游乐园“,“八宝山“,19,“八宝山“,“玉泉路“,15,“玉泉路“,“五棵松“,18,“五棵松“,“万寿路“,18,“万寿路“,“公主坟“,13,“公主坟“,“军事博物馆“,12,“军事博物馆“,“木樨地“,12,“木樨地“,“南礼士路“,13,“南礼士路“,“复兴门“,05,“复兴门“,“西单“,16,“西单“,“天安门西“,12,“天安门西“,“天安门东“,09,“天安门东“,“王府井“,09,“王府井“,“东单“,08,“东单“,“建国门“,12,“建国门“,“永安里“,14,“永安里“,“国贸“,08,“国贸“,“大望路“,14,“大望路“,“四惠“,17,“四惠“,“四惠东“,17,“西直门“,“车公庄“,09,“车公庄“,“阜成门“,1,“阜成门“,“复兴门“,18,“复兴门“,“长椿街“,12,“长椿街“,“宣武门“,09,“宣武门“,“和平门“,09,“和平门“,“前门“,12,“前门“,“崇文门“,16,“崇文门“,“北京站“,1,“北京站“,“建国门“,1,“建国门“,“朝阳门“,18“朝阳门“,“东四十条“,1,“东四十条“,“东直门“,08,“东直门“,“雍和宫“,22,“雍和宫“,“安定门“,08,“安定门“,“鼓楼大街“,12,“鼓楼大街“,“积水潭“,18,“积水潭“,“西直门“,19,“安河桥北“,“北宫门“,14,“北宫门“,“西苑“,12,“西苑“,“圆明园“,17,“圆明园“,“北大东门“,13,“北大东门“,“中关村“,09,“中关村“,“海淀黄庄“,09,“海淀黄庄“,“人民大学“,1,“人民大学“,“魏公村“,1,“魏公村“,“国家图书馆“,17,“国家图书馆“,“动物园“,15,“动物园“,“西直门“,14,“西直门“,“新街口“,1,“新街口“,“平安里“,11,“平安里“,“西四“,11,“西四“,“灵境胡同“,09,“灵境胡同“,“西单“,1,“西单“,“宣武门“,08,“宣武门“,“菜市口“,11,“菜市口“,“陶然亭“,12,“陶然亭“,“北京南站“,16,“北京南站“,“马家堡“,15,“马家堡“,“角门西“,08,“角门西“,“公益西桥“,1,离散数学课程设计报告16“宋家庄“,“刘家窑“,16,“刘家窑“,“蒲黄榆“,09,“蒲黄榆“,“天坛东门“,19,“天坛东门“,“磁器口“,12,“磁器口“,“崇文门“,09,“崇文门“,“东单“,08,“东单“,“灯市口“,09,“灯市口“,“东四“,08,“东四“,“张自忠路“,1,“张自忠路“,“北新桥“,08,“北新桥“,“雍和宫“,09,“雍和宫“,“和平里北桥“,12,“和平里北桥“,“和平西桥“,1,“和平西桥“,“惠新西街南口“,1,“惠新西街南口“,“惠新西街北口“,11,“惠新西街北口“,“大屯路东“,3,“大屯路东“,“北苑路北“,13,“北苑路北“,“立水桥南“,13,“立水桥南“,“立水桥“,13,“立水桥“,“天通苑南“,15,“天通苑南“,“天通苑“,1,“天通苑“,“天通苑北“,09,“海淀五路居“,“慈寿寺“,15,“慈寿寺“,“花园桥“,14,“花园桥“,“白石桥南“,11,“白石桥南“,“车公庄西“,17,“车公庄西“,“车公庄“,09,“车公庄“,“平安里“,14,“平安里“,“北海北“,13,“北海北“,“南锣鼓巷“,13,“东四“,“朝阳门“,14,“朝阳门“,“东大桥“,17,“东大桥“,“呼家楼“,08,“呼家楼“,“金台路“,15,“金台路“,“十里堡“,2,“十里堡“,“青年路“,13,“青年路“,“褡裢坡“,4,“褡裢坡“,“黄渠“,12,“黄渠“,“常营“,19,“常营“,“草房“,14,“草房“,“物资学院“,21,“物资学院“,“通州北关“,25,“通州北关“,“北运河西“,3,“北运河西“,“郝家府“,09,“郝家府“,“东夏园“,13,“东夏园“,“潞城“,12,“北京西站“,“湾子“,0,9,“湾子“,“达官营“,07,“达官营“,“广安门内“,19,“广安门内“,“菜市口“,14,“菜市口“,“虎坊桥“,09,“虎坊桥“,“珠市口“,12,“珠市口“,“桥湾“,09,“桥湾“,“磁器口“,1,“磁器口“,“广渠门内“,11,“广渠门内“,“广渠门外“,13,“广渠门外“,“九龙山“,26,“九龙山“,“大郊亭“,08,“大郊亭“,“百子湾“,09,“百子湾“,“化工“,09,“化工“,“南楼梓庄“,15,“南楼梓庄“,“欢乐谷景区“,17,“欢乐谷景区“,“双合“,3,“双合“,“焦化厂“,1,“朱辛庄“,“育知路“,23,“育知路“,“平西府“,2,“平西府“,“回龙观东大街“,2,“回龙观东大街“,“霍营“,11,“霍营“,“育新“,19,“育新“,“西小口“,15,“西小口“,“永泰庄“,1,“永泰庄“,“林翠桥“,26,“林翠桥“,“森林公园南门“,26,“森林公园南门“,“奥林匹克公园“,1,“奥林匹克公园“,“奥体中心“,17,“奥体中心“,“北土城“,09,“北土城“,“安华桥“,1,“安华桥“,“安德里北街“,12,“安德里北街“,“鼓楼大街“,1,“鼓楼大街“,“什刹海“,12,“什刹海“,“南锣鼓巷“,09,“郭公庄“,“丰台科技园“,13,“丰台科技园“,“科怡路“,08,“科怡路“,“丰台南路“,16,“丰台南路“,“丰台东大街“,16,“丰台东大街“,“七里庄“,13,“七里庄“,“六里桥“,18,“六里桥“,“六里桥东“,13,“六里桥东“,“北京西站“,12,“北京西站“,“军事博物馆“,14,“军事博物馆“,“白堆子“,19,“白堆子“,“白石桥南“,09,“白石桥南“,“国家图书馆“,11,离散数学课程设计报告17“巴沟“,“苏州街“,11,“苏州街“,“海淀黄庄“,1,“海淀黄庄“,“知春里“,1,“知春里“,“知春路“,11,“知春路“,“西土城“,11,“西土城“,“牡丹园“,13,“牡丹园“,“健德门“,1,“健德门“,“北土城“,1,“北土城“,“安贞门“,1,“安贞门“,“惠新西街南口“,1,“惠新西街南口“,“芍药居“,17,“芍药居“,“太阳宫“,1,“太阳宫“,“三元桥“,18,“三元桥“,“亮马桥“,15,“亮马桥“,“农业展览馆“,09,“农业展览馆“,“团结湖“,09,“团结湖“,“呼家楼“,12,“呼家楼“,“金台夕照“,07,“金台夕照“,“国贸“,08,“国贸“,“双井“,18,“双井“,“劲松“,1,“劲松“,“潘家园“,1,“潘家园“,“十里河“,1,“十里河“,“分钟寺“,18,“分钟寺“,“成寿寺“,1,“成寿寺“,“宋家庄“,17,“宋家庄“,“石榴庄“,1,3,“石榴庄“,“大红门“,11,“大红门“,“角门东“,13,“角门东“,“角门西“,13,“角门西“,“草桥“,17,“草桥“,“纪家庙“,15,“纪家庙“,“首经贸“,11,“首经贸“,“丰台站“,17,“丰台站“,“泥洼“,09,“泥洼“,“西局“,07,“西局“,“六里桥“,16,“六里桥“,“莲花桥“,24,“莲花桥“,“公主坟“,1,“公主坟“,“西钓鱼台“,24,“西钓鱼台“,“慈寿寺“,12,“慈寿寺“,“车道沟“,16,“车道沟“,“长春桥“,12,“长春桥“,“火器营“,1,“火器营“,“巴沟“,15,“东直门“,“柳芳“,18,“柳芳“,“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论