begin var arr := ArrRandomReal(ReadInteger('N ='), 0, 1); writeln('[0; 0.25): ', arr.Where(x->(x>=0) and (x<0.25)).Count); writeln('[0.25; 0.5): ', arr.Where(x->(x>=0.25) and (x<0.5)).Count); writeln('[0.5; 0.75): ', arr.Where(x->(x>=0.5) and (x<0.75)).Count); writeln('[0.75; 1): ', arr.Where(x->(x>=0.75) and (x<1)).Count); end.
Можете её запускать при разных N. У меня получилось так (четыре числа - число попавших в интервал): N = 10. 3, 1, 2, 4 N = 100. 21, 29, 21, 29 N = 1000. 272, 240, 241, 247 N = 10000. 2588, 2383, 2464, 2565
Результаты могут отличаться (массив из случайных чисел генерируется, всё-таки), но тенденция должна быть такой: в каждый интервал должны попадать примерно четверть всех точек, притом с увеличением N отклонение доли попавших в тот или иной полуинтервал должно отклоняться от 25% всё меньше.
yurovolga
21.07.2020
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016 begin var lvl:=0; var s:= ''; var predE:=false; foreach var c in s do if c='E' then begin if predE then begin predE:=false; lvl+=1 end else predE:=true end else if c='B' then begin predE:=false; lvl+=1 end; Writeln(lvl,' level') end.
Результат выполнения программы 63 level
И второй вариант, "как не учат в школе":
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016 begin var s:= ''; Writeln(Regex.Matches(s,'E[EB]|B').Count,' Level') end.