// PascalABC.NET 3.2, сборка 1447 от 22.05.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество колонок в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(5); Writeln(5*a.ColCount*'-'); a.Cols.Select(x->Format('{0,5}',x.Where(y->y<0).Sum)).Print(''); Println(' - суммы отрицательных'); end.
Для примера со сложением чисел 25 учениками попробуйте проанализировать следующие ситуации: в классе всего 1 кусок мела; в классе 5 кусков мела; в классе 25 кусков мела. оцените, как от этого зависит время решения (учтите ещё ширину доски и время перемещения учеников по классу) попробуйте построить модель такого процесса. переведите эту ситуацию на язык компьютерной терминологии для многопроцессорных систем. 2) попробуйте примеры алгоритмов поиска информации в массиве и сортировки массива, которые допускают распараллеливание операций. опишите процедуру распараллеливания. сколько процессоров необходимо для эффективного распараллеливания в вами примере?
Программа:
Pascal:
var
arr: array[1..10] of integer;
i, s: integer;
begin
// рандомный массив из 10 чисел, от -15 до 15:
for i := 1 to 10 do arr[i] := random(-15, 15);
writeln(arr);
// сумма элементов массива
writeln(arr.sum);
end.