[SOLVED] 代写 数据结构实验指导

30 $

File Name: 代写_数据结构实验指导.zip
File Size: 292.02 KB

SKU: 1463773941 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


数据结构实验指导
数据结构课程实验以最终实现一个简化版的定向越野运动计时系统为目标,将线性表、文件、排序、查找、遍历等内容包含在内,以期训练学生综合使用各类数据结构和算法解决实际问题的能力。
在实现各种功能的同时,也要考虑系统的交互性和健壮性,建立友好的人机界面。系统编程语言自选,鼓励使用图形化界面。
【系统设计要求】
定向越野运动即参赛者利用地图和指南针,到达地图中对应的所指各个点标,完成时间最短者获胜。它是一项选地灵活,老少皆宜并且可以锻炼个人独立分析问题能力和逻辑思维能力的户外运动,其地点通常会选择在森林、郊外、公园、大学校园等。
运动计时系统是一个用于定向运动的电子计时系统,该系统由多个RFIC指卡、若干点签器和一个主站构成。RFIC指卡就是IC卡,可以存储一些信息,为了不影响运动员的跑动做成了可套在手指上的形状。点签器的实质是一个读写器,可往IC卡中读写信息。定向越野赛一般会指定一个起点,一个终点和若干中间必经点,但中间点的经过顺序不做限制,运动员可根据地形地貌、自身体力的优缺点自行设计中间点的经过线路。运动员在比赛过程中会随身携带指卡,比赛开始时在起点点签器上刷卡,点签器将起点相关信息写入指卡,以后美到达一个指定签到点后,在签到点的点签器上刷卡,可将到达该点的时间、位置等信息写入卡中;比赛的终点除普通点签器外还会放置点签器主站,当参赛者到达终点并在点签器上刷卡后,再在主站上刷卡,主站可将卡上记录的所有数据读入到主站点签器的存储单元中,主站可存放多卡的数据,并能与PC机连接,最终将数据导入PC机存入数据库。
本设计要求模拟定向越野运动计时系统的工作流程,硬件系统方面利用串口通讯助手模拟点签器与主站的读写,编写点签器和主站代码;另对主站读取的数据进行管理,在PC机上实现一个计时管理系统,实现对所有运动员点签数据的管理,完成关于赛事、运动员、俱乐部、比赛线路、点签器设置、比赛成绩等数据的维护。
注意,本文档中所有界面均为参考示意图,鼓励大家自行设计界面和增加功能。
1. 点签器模块
点签器实际是一个RFIC卡的读写器,点签器根据其放置的位置可分为起点站、终点站、中间站以及主站四种。当将指卡靠近点签器刷卡时,点签器会往指卡中写入信息,各类点签器写入指卡的数据格式如下:
•起点站数据格式(7byte)
起点标记(8bit)
年 + 月 + 日
(16bit)
时间(24bit)
时 +分+秒 + 0.01
校验码(8bit)
累加和为:(0x00)
AA
7bit+4bit+ 5bit
5bit+6bit+6bit+ 7bit
8bit
说明:一次刷卡,起点站往指卡写入一条数据,该条数据以7个字节的字符串形式呈现,这个字符串的解析方式为前8位为起点标记“AA”;第8到15位为年月日,其中年占7位,月占4位,日占5位;然后是24位的时间;最后是8位校验码;如上表所示,所有数据以16进制呈现,下面类似。比如起点站输出的一条记录的为:
“0041004100007E3000A000080000F00000E000021000005700000000”
则前8位为起点标记,0041为A对应的十六进制;00007E3为2019(年);000A为10(月);00008为8(日);0000F为15(点);00000E为14(分);000021为33(秒);0000057为0.87(秒);最后为校验码。
大家在实现与点签器通信的代码时以文件读写的方式模拟串口读写,实现文件字符串的读写功能即可,数据可以自己模拟。
•中间站器数据(4byte)
点签器站号(8bit)
时间(24bit)例如:23:59:59.99
时 +分+秒 + 0.01
1-100号
5bit+6bit+6bit+ 7bit

•终点站数据格式(7byte)
终点标记(8bit)
年 + 月 + 日
(16bit)
时间(24bit)
时 +分+秒 + 0.01
校验码(8bit)
累加和为:(0x00)
ED
7bit+4bit+ 5bit
5bit+6bit+6bit+ 7bit
8bit

RFIC卡的数据存储格式如下:
地址:0x010x020x030x04
block1
CardNumber
CardNumber
CardNumber
CardNumber

block2
0xAA
年月日
年月日
时间

时间
时间
校验码
记录条数(不包括起点和终点)

0xED
年月日
年月日
时间

时间
时间
校验码
记录条数(不包括起点和终点)
Block3
点签器站号
时间
时间
时间

点签器站号
时间
时间
时间

点签器站号
时间
时间
时间

点签器站号
时间
时间
时间
说明:点签器数据是点签器往指卡写入数据时所用的协议,写入RFIC卡的数据以上表格式存储,表中每一格代表一个字节,一张卡的存储单元前16个字节全部用来存放该卡的卡号,每张卡的卡号实际只占4个字节;block2存放的是起点和终点点签器写入的信息,格式与对应的点签器输出的数据格式一致,加入了记录条数,是该卡中block3部分存放的数据条数;block3存放中间点签器写入的数据。

主站的FLASH中可存储多个RFIC卡的数据,每张卡的卡号占4个字节(BCD编码共8位十进制数),FLASH共2M字节,由于每个扇区4K,一个扇区存一张卡,共2M/4K=512个扇区,除去保留位置,可记录500张卡的数据。
第2个4K字节起,每4K字节保存一张卡片数据,格式如下:
地址:0x010x020x030x04
卡号
卡号
卡号
卡号
0xAA
年月日
年月日
时间
时间
时间
校验码
记录条数
点签器站号
时间
时间
时间
点签器站号
时间
时间
时间
点签器站号
时间
时间
时间




0xED
年月日
年月日
时间
时间
时间
校验码
总共记录条数

【功能要求】:请大家利用串口助手,编写点签器上的代码,注意不同类型的点签器不要分开编程,用开关量控制,设计合适的数据结构实现相关数据的读写。
(1)为每个点签器创建一个文件作为该点签器的存储模拟,文件的存储格式按照以上要求进行。
(2)同样用文件的方式模拟RFIC卡,具体形式请自行设计。
2. PC端管理系统
PC端运动的运动计时管理系统主要对赛事、计时数据等进行管理维护,主要功能模块包括:
(1)赛事管理
主要对赛事信息进行管理,包括:
i. 新建赛事,对赛事的名称、举办日期、首发时刻等进行设置。参考界面如下:

图1 新建赛事示意图(还可加入比赛地点等其他信息,请自行设计)

ii. 线路设置(检查点设置),对比赛线路进行设置,参考界面如下:

图2线路设置示意图(其中序号为系统自动生成,编号为点签器在本场赛事中的编号,描述为点签器的实际号码,该图对应的设置说明此项赛事要求通过5个签到点,其中第一个和最后一个是起点和终点,其他为中间点,中间点无顺序要求)

iii. 参赛组别管理,参考界面如下:

图3 参赛组别管理
iv. 赛事管理,提供切换赛事(可选择欲查看的赛事,浏览其相关信息)、浏览赛事(浏览所有历史赛事相关信息),修改赛事(注意如果删除一个赛事,要删除所有与该赛事相关的数据)等功能;
(2)选手管理
对选手信息进行增删改查等操作,选手信息的添加除逐个输入外还可采用批量导入的方式,从EXCEL表批量导入。选手IC卡编号不用人工录入,由系统根据IC卡信息表自动分配。部分示意界面如下:

图4 选手信息浏览

图5 逐个添加选手信息示意图

(3)硬件管理
本模块连接PC机管理系统和点签器、打印机等硬件设备,实现与硬件设备的串口通信,系统可以读取外部设备中数据或修改外部设备数据。
i. 点签器设置
对点签器站点类型、站点编号及当前时间的进行读写操作,通过串口助手和文件等模拟真实硬件,设置界面示意图如下:

图6点签器设置
端口设置选择与点签器连接的COM口,打开端口和关闭端口两个按钮起调试作用,其目的是为了确定串口是否可以正常工作,点击后应有相应的提示信息。读配置和读时间是读取连接站点当前的配置显示在界面上,也可在界面上输入相应信息点击写配置或校时,将设置写入连接站点。
ii. 指卡管理
指卡管理对IC卡的编号进行维护,假设已存在指卡信息表,其中记录了指卡的IC卡内部编号和卡上外贴的编号,指卡管理可对这些数据进行维护。
iii. 竞赛读卡
模拟通过串口从主站中读取所有选手竞赛信息,即主站记录的所有内容。
(4)成绩管理
对选手的比赛成绩进行计算和管理,注意,成绩计算不能只看出发和终点站的时差,由于定向运动要求在线路上的每个点签器都要有签到记录,且对于中间站的通过顺序可以无要求,如果缺少某些站点的签到信息将被视为成绩无效。成绩管理模块可实现成绩的浏览、查询、排名,并可根据指定信息按升序、降序排列(比赛用时默认降序)等,具体功能自行设计。

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] 代写 数据结构实验指导
30 $