50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
include xpllib; \for Print
|
|
|
|
char File_name, C, Date(10+1), FalseDate(10+1);
|
|
int N, I, Flag, Count, FalseCount, FalseRun, Readings;
|
|
real Data, Line_tot, Line_avg, Total;
|
|
|
|
[File_name:= "readings.txt";
|
|
FSet(FOpen(File_name, 0), ^i); OpenI(3);
|
|
Total:= 0.; Readings:= 0; FalseCount:= 0; FalseRun:= 0;
|
|
loop
|
|
[for N:= 0 to 10-1 do
|
|
[C:= ChIn(3);
|
|
if C = LF then C:= ChIn(3);
|
|
if C = EOF then quit;
|
|
Date(N):= C;
|
|
];
|
|
Date(N):= 0;
|
|
|
|
Line_tot:= 0.; Count:= 0;
|
|
for N:= 0 to 24-1 do
|
|
[Data:= RlIn(3);
|
|
Flag:= IntIn(3);
|
|
if Flag > 0 then
|
|
[Line_tot:= Line_tot + Data;
|
|
Count:= Count + 1;
|
|
FalseCount:= 0;
|
|
]
|
|
else
|
|
[FalseCount:= FalseCount+1;
|
|
if FalseCount > FalseRun then
|
|
[FalseRun:= FalseCount;
|
|
for I:= 0 to 10 do FalseDate(I):= Date(I);
|
|
];
|
|
];
|
|
];
|
|
Total:= Total + Line_tot;
|
|
Readings:= Readings + Count;
|
|
Line_avg:= Line_tot / float(Count);
|
|
Print("Line: %s Reject: %2d Accept: %2d Line_tot: %4.3f Line_avg: %3.3f\n",
|
|
Date, 24-Count, Count, Line_tot, Line_avg);
|
|
];
|
|
Print("\nFile = %s\n", File_name);
|
|
Print("Total = %1.3f\n", Total);
|
|
Print("Readings = %d\n", Readings);
|
|
Print("Average = %1.3f\n", Total/float(Readings));
|
|
|
|
Print("\nMaximum run of %d consecutive false readings", FalseRun);
|
|
Print("\nends at line starting with date: %s\n", FalseDate);
|
|
]
|