Ну, здесь гораздо проще:
| Код | type complex = record re, im: real; end; coeff = record a, b, c: complex; end;
procedure Value(p: coeff; x: complex; var y: complex);
procedure mult(var res: complex; _1, _2: complex); begin res.re := _1.re*_2.re - _1.im*_2.im; res.im := _1.re*_2.im + _2.re*_1.im; end; procedure add(var res: complex; _1, _2: complex); begin res.re := _1.re + _2.re; res.im := _1.im + _2.im; end;
var T1, T2: complex;
begin mult(T1, x, x); mult(T1, p.a, T1); { T1 = a * x^2 }
mult(T2, p.b, x); { T2 = b * x } add(y, T1, T2); add(y, y, p.c)
end; { Тестовые значения: } const test: coeff = ( a:(re:2; im:3); b:(re:4; im:2); c:(re:5; im:7) ); x: complex = ( re:1; im:2 );
var res: complex; begin Value(test, x, res); writeln('complex value = ', res.re:6:2, ' + i*':2, res.im:6:2); end. |
(можно, конечно, сделать еще и процедурку красивого вывода, но насколько видно из задания - это не главное, задача стоит - написать процедуру Value) |