Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 1787 / 192 | Оценка: 4.23 / 3.74 | Длительность: 15:37:00
Лекция 11:

Языки параллельного программирования

< Лекция 10 || Лекция 11: 123 || Лекция 12 >

Начнем с примера программы:

For                            % инициирование цикла
        Approx := 1.0; 
             Sign := 1.0; 
        Denom := 1.0; 
                   i := 1

     while i <= Cycles do      % предусловие завершения цикла

        Sign := -Sign;                       %   однократные
        Denom := Denom + 2.0;                %   присваивания
        Approx := Approx + Sign / Denom;     %   образуют
        i := i + 1                           %   тело цикла

     returns Approx * 4.0              
 % выбор и вычисление результата цикла 
     end for
Пример 11.1. Вычисление числа пи
for i in [1..Cycles/2] do         
% пространство параллельно исполнимых итераций

         val := 1.0/real(4*i-3) - 1.0/real(4*i-1);      
% тело цикла, для каждого i исполняемое независимо

     returns sum( val )                   
% выбор и свертка результатов всех итераций цикла

     end for * 4.0                           
% вычисление результата выражения
Пример 11.2. Это выражение также вычисляет число пи

Это выражение вычисляет сумму всех вычисленных значений val и умножает результат на 4.0.

for i in [1..2] dot j in [3..4] do          
% для пар индексов [1,3] и [2,4]

     returns  product (i+j)                   
% произведение сумм 

     end for                    %  = 24
Пример 11.3. В for-выражениях операция dot может порождать пары индексов при формировании пространства итерирования
for i in [1..2] cross  j in [3..4] do       
% для пар [1,3],  [1,4],  [2,3] и [2,4]

     returns product (i+j)                     
% произведение сумм

     end for                         %  = 600
Пример 11.4. В for-выражениях операция cross может порождать пары индексов при формировании пространства итерирования
for
        I := 1
     while I < S do
        K := I;
        I := old I + 2;     
% значение из предыдущей итерации

        J := K + I;
     returns product(I+J)
     end for
Пример 11.5. Итеративное for-выражение с обменом данными между итерациями
< Лекция 10 || Лекция 11: 123 || Лекция 12 >
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Илья Ардов
Илья Ардов

Добрый день!

Я записан на программу. Куда высылать договор и диплом?