Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
50
Task/Text-processing-1/Picat/text-processing-1.picat
Normal file
50
Task/Text-processing-1/Picat/text-processing-1.picat
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
go =>
|
||||
File = "readings.txt",
|
||||
Total = new_map([num_readings=0,num_good_readings=0,sum_readings=0.0]),
|
||||
InvalidCount = 0,
|
||||
MaxInvalidCount = 0,
|
||||
InvalidRunEnd = "",
|
||||
|
||||
Id = 0,
|
||||
foreach(Line in read_file_lines(File))
|
||||
Id := Id + 1,
|
||||
NumReadings = 0,
|
||||
NumGoodReadings = 0,
|
||||
SumReadings = 0,
|
||||
|
||||
Fields = Line.split,
|
||||
Rec = Fields.tail.map(to_float),
|
||||
foreach([Reading,Flag] in chunks_of(Rec,2))
|
||||
NumReadings := NumReadings + 1,
|
||||
if Flag > 0 then
|
||||
NumGoodReadings := NumGoodReadings + 1,
|
||||
SumReadings := SumReadings + Reading,
|
||||
InvalidCount := 0
|
||||
else
|
||||
InvalidCount := InvalidCount + 1,
|
||||
if InvalidCount > MaxInvalidCount then
|
||||
MaxInvalidCount := InvalidCount,
|
||||
InvalidRunEnd := Fields[1]
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
||||
Total.put(num_readings,Total.get(num_readings) + NumReadings),
|
||||
Total.put(num_good_readings,Total.get(num_good_readings) + NumGoodReadings),
|
||||
Total.put(sum_readings,Total.get(sum_readings) + SumReadings),
|
||||
if Id <= 3 then
|
||||
printf("date:%w accept:%w reject:%w sum:%w\n", Fields[1],NumGoodReadings,
|
||||
NumReadings-NumGoodReadings,
|
||||
SumReadings)
|
||||
end
|
||||
end,
|
||||
nl,
|
||||
printf("readings: %d good readings: %d sum: %0.3f avg: %0.3f\n",Total.get(num_readings),
|
||||
Total.get(num_good_readings),
|
||||
Total.get(sum_readings),
|
||||
Total.get(sum_readings) / Total.get(num_good_readings)),
|
||||
nl,
|
||||
println(maxInvalidCount=MaxInvalidCount),
|
||||
println(invalidRunEnd=InvalidRunEnd),
|
||||
|
||||
nl.
|
||||
Loading…
Add table
Add a link
Reference in a new issue