В век развития многоядерной процессорной архитектуры тема параллельного программирования для инженеров и проектировщиков компьютерных систем становится очень важной. Книга «Принципы параллельного программирования», написанная известными учеными-исследователями Кэлвином Лином (кафедра информатики Техасского университета, г. Остин) и Лоуренсом Снайдером (кафедра информатики и вычислительной техники университета Вашингтона, г. Сиэтл), посвящена основополагающим принципам параллельных вычислений. В книге дается объяснение различным явлениям и приводятся примеры случаев, когда эти явления успеху параллельного программирования, либо, наоборот, создают определенные сложности. Издание предназначено для студентов-специалистов старших курсов университетов, для студентов, обучающихся по магистерским программам, а также для профессионалов, желающих освоить параллельное программирование. В книге содержится ценная достоверная информация, которая останется актуальной, несмотря на эволюцию аппаратного и программного обеспечения.
var n, k, s: integer; a: array of integer; function IsPrime(n: integer): boolean; var i: integer; begin if n <= 1 then Exit(False) else if n <= 3 then Exit(True) else if (n mod 2 = 0) or (n mod 3 = 0) then Exit(False); i := 5; while (i * i) <= n do begin if (n mod i = 0) or (n mod (i + 2) = 0) then Exit(False); i := i + 6; end; Exit(True); end; begin s := 0; write('n = '); readln(n); SetLength(a, n); for k := 0 to (n - 1) do begin write('a[', k, '] = '); readln(a[k]); if IsPrime(k) then s := s + a[k]; end; writeln('ответ: ', s); end.