Парадигмы программирования

и вычисление результата цикла end


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. Это выражение также вычисляет число пи
Закрыть окно






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-выражение с обменом данными между итерациями
Закрыть окно




function Sum (N); % Сумма квадратов result (+ ( sqw (1 .. N)));
Пример 11.6.
Закрыть окно



Содержание раздела