ВУЗ:
Составители:
Рубрика:
a := (x + y) * z - 35;
b := ((x + y) * z) / a;
4. Вынесение за цикл.
for i := 1 to 10 do begin
x := x + i; P(x);
k := b + c; /* выносится за цикл, т.к. не зависит
от параметра цикла */.
end;
Измененный вариант
k := b + c;
for i := 1 to 10 do begin
x := x + i; P(x);
end;
5.Вычисление логических выражений.
x => y & (z = 5 x 5)
Так, например, при ложном условии x => y конъюнкция ложна вне зависимости от
истинности условия в скобках. А само условие в скобках при истинности z = 5 истинно вне
зависимости от выполнения второго скобочного условия.
6. Изменение линейной последовательности команд с целью оптимизации межрегистровых
передач, обращений к памяти и т.п.
8. Функциональное программирование
Уместно упомянуть выдающуюся книгу П. Хендерсона “Функциональное
программирование” [10].
Существует некоторая внешняя аналогия между процедурным и функциональным
программированием.
Для решения задачи в процедурном программировании необходимо выполнить процедуру,
которая в свою очередь обычно состоит из совокупности процедур.
Для решения задачи в функциональном программировании необходимо вычислить функцию,
которая в свою очередь зависит от вычисления ряда входящих в нее функций.
x
Р
1
f
1
Р
2
f
2
P
3
f
3
y
y = f
3
(f
2
(f
1
( x )))
Процедурное программирование - это выполнение некоторых действий над памятью, в
результате которых входные данные x превращается в результирующие данные y. В
частном случае можно поставить в соответствие процедурам математические функции. Но,
— 95 —
w := (x + y) * z;
заменяет на a := w - 35;
b := w/a;
a := (x + y) * z - 35; w := (x + y) * z; b := ((x + y) * z) / a; заменяет на a := w - 35; b := w/a; 4. Вынесение за цикл. for i := 1 to 10 do begin x := x + i; P(x); k := b + c; /* выносится за цикл, т.к. не зависит от параметра цикла */. end; Измененный вариант k := b + c; for i := 1 to 10 do begin x := x + i; P(x); end; 5.Вычисление логических выражений. x => y & (z = 5 x 5) Так, например, при ложном условии x => y конъюнкция ложна вне зависимости от истинности условия в скобках. А само условие в скобках при истинности z = 5 истинно вне зависимости от выполнения второго скобочного условия. 6. Изменение линейной последовательности команд с целью оптимизации межрегистровых передач, обращений к памяти и т.п. 8. Функциональное программирование Уместно упомянуть выдающуюся книгу П. Хендерсона “Функциональное программирование” [10]. Существует некоторая внешняя аналогия между процедурным и функциональным программированием. Для решения задачи в процедурном программировании необходимо выполнить процедуру, которая в свою очередь обычно состоит из совокупности процедур. Для решения задачи в функциональном программировании необходимо вычислить функцию, которая в свою очередь зависит от вычисления ряда входящих в нее функций. x Р1 f1 Р2 f2 P3 f3 y y = f3(f2(f1( x ))) Процедурное программирование - это выполнение некоторых действий над памятью, в результате которых входные данные x превращается в результирующие данные y. В частном случае можно поставить в соответствие процедурам математические функции. Но, — 95 —
Страницы
- « первая
- ‹ предыдущая
- …
- 93
- 94
- 95
- 96
- 97
- …
- следующая ›
- последняя »