编写一个程序,分析一个探测器中的数据,该探测器对一个流域中水的流量进行探测取样。该探测器所获得的大部分数据是很精确的,但在某些时候,由于温度的原因,其收集的数据可能不太准确,如果在前后相继的两次探测取样中,数据相差不超过0.1mm/分钟,我们就可以接受,否则,数据就是错误的。例如,假设第二次取样在第一次取样后十分钟进行,那么其与第一次取样的数据之间的差别应不超过1mm。该探测器中储存了一天的探测取样数据,格式如下:
where:
hh:mm, levelhh:mm sampling time (hour : minutes, 2 characters colon 2 characters)level value of the measured level in mm (a real number)所编写的程序应先读出这一文件中的数据,后创建一个相同格式的新文件,在这个新的文件中,原有文件中正确的数据应被原样复制,对于错误的数据,应按照如下原则进行修改:用一个新的数值替代当前的错误值,新的数值为“前一期测量的数据+0.1×两次测量之间的时间差(以分钟为单位),如果整个测量的趋势是增长的,则取+,否则取减号。例子
输入文件样本
00:20, 1332.13
01:30, 1333.7
02:01, 1936.2 错误数值;必须被1333.7 + 31*0.1 = 1336.8替代
03:00, 1342.17
03:47, 1346.84
...对应的输出文件
00:20, 1332.13
01:30, 1333.7
02:01, 1336.8
03:00, 1342.17 考虑到在02:01的估计价值,这值是正确的
03:47, 1346.84
where:
hh:mm, levelhh:mm sampling time (hour : minutes, 2 characters colon 2 characters)level value of the measured level in mm (a real number)所编写的程序应先读出这一文件中的数据,后创建一个相同格式的新文件,在这个新的文件中,原有文件中正确的数据应被原样复制,对于错误的数据,应按照如下原则进行修改:用一个新的数值替代当前的错误值,新的数值为“前一期测量的数据+0.1×两次测量之间的时间差(以分钟为单位),如果整个测量的趋势是增长的,则取+,否则取减号。例子
输入文件样本
00:20, 1332.13
01:30, 1333.7
02:01, 1936.2 错误数值;必须被1333.7 + 31*0.1 = 1336.8替代
03:00, 1342.17
03:47, 1346.84
...对应的输出文件
00:20, 1332.13
01:30, 1333.7
02:01, 1336.8
03:00, 1342.17 考虑到在02:01的估计价值,这值是正确的
03:47, 1346.84
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货