Sunvas, Вот что я делал 20 минут ... Пока не понял, что требуется вообще 
| Код | function F(x, y: real): real; begin F := sqrt(x) + sqr(x)/y; end;
function P(level: integer; z: real): real; begin if level = 1 then P := sin(2) else P := P(pred(level), z)/(5 * z) + sqrt(p(pred(level), z)); end; function H(level: integer; z: real): real; begin if level = 1 then H := cos(2) else H := H(pred(level), z) + z * H(pred(level), z); end;
procedure print_array(title: char; var arr: array of real; const size: integer); var ix: integer; begin write(title + ': '); for ix := 0 to pred(size) do write(arr[ix]:6:2); writeln; end;
procedure fill_array(var arr: array of real; const size: integer); var ix: integer; begin for ix := 0 to pred(size) do arr[ix] := random(100); end; procedure convert_array(title: char; var arr: array of real; const size: integer; X: real); var ix: integer; begin for ix := 0 to pred(size) do if trunc(arr[ix]) mod 5 = 0 then arr[ix] := arr[ix] / X; print_array(title, arr, size); end;
const i = 11; j = 10; k = 9;
var N: array[1 .. i] of real; M: array[1 .. j] of real; L: array[1 .. k] of real;
s, t, z: real; a, b, c: real; ix: integer; begin write('s = '); readln(s); write('t = '); readln(t);
a := f(sqrt(abs(t)), s); b := sqr(s) + f(t, t);
write('z = '); readln(z); c := sqr(h(3, z)) + exp(3 * ln(p(7, z)));
randomize; fill_array(N, i); fill_array(M, j); fill_array(L, k);
writeln('a = ', a:7:4); writeln('b = ', b:7:4); writeln('c = ', c:7:4); writeln('arrays before:'); print_array('N', N, i); print_array('M', M, j); print_array('L', L, k);
writeln('arrays after:'); convert_array('N', N, i, a); convert_array('M', M, j, b); convert_array('L', L, k, c); end. |
Тестировал на значениях s = 2 t = 4 z = 5 Вроде работает... |