randomize - процедура инициализации генератора случайных чисел в паскале. В старых версиях паскаля без использования данной процедуры функция random при различных запусках программы выдавала одинаковые последовательности чисел (например, в массиве получалась всегда одинаковая последовательность элементов). Т.е. randomize задает начальное значение последовательности, от которого вычисляются все последующие. При каждом запуске программы это значение будет разным, а значит и результат работы функции random будет различным. Сейчас в процедуре randomize можно указывать параметр: Randomize(seed: integer); При одном и том же значении этого параметра генерируются одинаковые псевдослучайные последовательности (это может быть полезно при отладке программы).
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017 // Внимание! Если программа не работает, обновите версию!
begin var d:=ArrRandom(ReadInteger('n='),-12,78); d.Println; Writeln('Сумма отрицательных равна ',d.Where(x->x<0).Sum); Writeln('Сумма положительных равна ',d.Where(x->x>0).Sum); Writeln('Количество нулевых равно ',d.Where(x->x=0).Count); end.
Пример n= 17 40 6 11 21 0 42 6 25 55 -1 54 21 49 6 -5 -12 49 Сумма отрицательных равна -18 Сумма положительных равна 385 Количество нулевых равно 1
Сейчас в процедуре randomize можно указывать параметр: Randomize(seed: integer); При одном и том же значении этого параметра генерируются одинаковые псевдослучайные последовательности (это может быть полезно при отладке программы).
// Внимание! Если программа не работает, обновите версию!
begin
var d:=ArrRandom(ReadInteger('n='),-12,78); d.Println;
Writeln('Сумма отрицательных равна ',d.Where(x->x<0).Sum);
Writeln('Сумма положительных равна ',d.Where(x->x>0).Sum);
Writeln('Количество нулевых равно ',d.Where(x->x=0).Count);
end.
Пример
n= 17
40 6 11 21 0 42 6 25 55 -1 54 21 49 6 -5 -12 49
Сумма отрицательных равна -18
Сумма положительных равна 385
Количество нулевых равно 1