Составители:
Рубрика:
107
Вариант c процедурой
Program P3_P;
Type
vect = array[1..10] of real;
Var
X, Y, R, F: vect;
i, n: integer;
max: real;
Procedure PK(a, b: real; var ro, fi: real);
begin
ro := sqrt(a
∗a + b∗b);
fi := arctan(b/a);
end;
Begin
writeln(‘Введите абсциссы точек’);
for i :=1 to 10 do read(x[i]);
writeln(‘Введите ординаты точек’);
for i := 1 to 10 do read(y[i]);
max := 0;
for i := 1 to 10 do
begin
PK(x[i], y[i], r[i], f[i]);
if r[i]>max then
begin
max := r[i];
n := i;
end;
end;
writeln(‘romax=’, r[n]:6:2, ‘ fimax=’, f[n]:6:2);
End.
Вариант c функцией
В данной задаче результатом вычисления подпрограммы яв-
ляются два значения (
ro, fi). По правилам языка Турбо Паскаль
имени функции может быть присвоено только
одно значение,
например
ro. Однако при оформлении функции допускается в
списке формальных параметров указывать не только параметры-
108
значения (входные переменные), но и параметры-переменные
(выходные переменные). Согласно этому правилу в приведенной
ниже программе параметр
fi записывается как выходной в списке
формальных параметров функции.
Program P3_F;
Type
vect = array[1..10] of real;
Var
X, Y, R, F: vect;
i, n: integer;
max: real;
Function PK(a, b: real; var fi: real): real;
var
ro: real;
begin
ro := sqrt(a
∗a + b∗b);
fi := arctan(b/a);
PK := ro;
end;
Begin
writeln(‘Введите абсциссы точек’);
for i :=1 to 10 do read(x[i]);
writeln(‘Введите ординаты точек’);
for i := 1 to 10 do read(y[i]);
max := 0;
for i := 1 to 10 do
begin
r[i] := PK(x[i], y[i], f[i]);
if r[i]>max then
begin
max := r[i];
n := i;
end;
end;
writeln(‘romax=’, r[n]:6:2, ‘ fimax=’, f[n]:6:2);
End.
значения (входные переменные), но и параметры-переменные
Вариант c процедурой
(выходные переменные). Согласно этому правилу в приведенной
Program P3_P; ниже программе параметр fi записывается как выходной в списке
Type формальных параметров функции.
vect = array[1..10] of real;
Var Program P3_F;
X, Y, R, F: vect; Type
i, n: integer; vect = array[1..10] of real;
max: real; Var
Procedure PK(a, b: real; var ro, fi: real); X, Y, R, F: vect;
begin i, n: integer;
ro := sqrt(a∗a + b∗b); max: real;
fi := arctan(b/a); Function PK(a, b: real; var fi: real): real;
end; var
Begin ro: real;
writeln(‘Введите абсциссы точек’); begin
for i :=1 to 10 do read(x[i]); ro := sqrt(a∗a + b∗b);
writeln(‘Введите ординаты точек’); fi := arctan(b/a);
for i := 1 to 10 do read(y[i]); PK := ro;
max := 0; end;
for i := 1 to 10 do Begin
begin writeln(‘Введите абсциссы точек’);
PK(x[i], y[i], r[i], f[i]); for i :=1 to 10 do read(x[i]);
if r[i]>max then writeln(‘Введите ординаты точек’);
begin for i := 1 to 10 do read(y[i]);
max := r[i]; max := 0;
n := i; for i := 1 to 10 do
end; begin
end; r[i] := PK(x[i], y[i], f[i]);
writeln(‘romax=’, r[n]:6:2, ‘ fimax=’, f[n]:6:2); if r[i]>max then
End. begin
max := r[i];
Вариант c функцией n := i;
end;
В данной задаче результатом вычисления подпрограммы яв- end;
ляются два значения (ro, fi). По правилам языка Турбо Паскаль writeln(‘romax=’, r[n]:6:2, ‘ fimax=’, f[n]:6:2);
имени функции может быть присвоено только одно значение, End.
например ro. Однако при оформлении функции допускается в
списке формальных параметров указывать не только параметры-
107 108
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »
