Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
33
Task/Text-processing-1/Sidef/text-processing-1.sidef
Normal file
33
Task/Text-processing-1/Sidef/text-processing-1.sidef
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
var gaps = [];
|
||||
var previous = :valid;
|
||||
|
||||
ARGF.each { |line|
|
||||
var (date, *readings) = line.words...;
|
||||
var valid = [];
|
||||
var hour = 0;
|
||||
readings.map{.to_n}.each_slice(2, { |slice|
|
||||
var(reading, flag) = slice...;
|
||||
if (flag > 0) {
|
||||
valid << reading;
|
||||
if (previous == :invalid) {
|
||||
gaps[-1]{:end} = "#{date} #{hour}:00";
|
||||
previous = :valid;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (previous == :valid) {
|
||||
gaps << Hash(start => "#{date} #{hour}:00");
|
||||
}
|
||||
gaps[-1]{:count} := 0 ++;
|
||||
previous = :invalid;
|
||||
}
|
||||
++hour;
|
||||
})
|
||||
say ("#{date}: #{ '%8s' % (valid ? ('%.3f' % Math.avg(valid...)) : 0) }",
|
||||
" mean from #{ '%2s' % valid.len } valid.");
|
||||
}
|
||||
|
||||
var longest = gaps.sort_by{|a| -a{:count} }.first;
|
||||
|
||||
say ("Longest period of invalid readings was #{longest{:count}} hours,\n",
|
||||
"from #{longest{:start}} till #{longest{:end}}.");
|
||||
Loading…
Add table
Add a link
Reference in a new issue