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); ]