1. Max - это системная функция/ Не стоит называть таким именем свою.
2. Последнее условие в процедуре не совсем понятно. И для нахождения максимального значения оптимальнее это делать в одном цикле. В PascalABC так вообще можно написать m:=a.max; и ВСЁ. Но если хотите как на Pascal - Я исправил.
//PascalABC.Net 3.0, сборка 1052 var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',DegToRad(d)) end.
Тестовое решение: Введите угол в градусах: 57.3 Угол в радианах: 1.00007364807695
Вариант с формулой вместо функции: //PascalABC.Net 3.0, сборка 1052 var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',Pi*d/180) end.
Вариант, если не хочется использовать константу Pi: //PascalABC.Net 3.0, сборка 1052 var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',ArcTan(1)*d/45) end.
Вариант для тех, кто не помнит, что arctg(1)=π/4: //PascalABC.Net 3.0, сборка 1052 const Pi=3.14; var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',Pi*d/180) end.
Тестовое решение для этого случая: Введите угол в градусах: 57.3 Угол в радианах: 0.999566653357612
Как видно, из-за значения π, заданного с низкой точностью, снизилась и точность результата.
1. Max - это системная функция/ Не стоит называть таким именем свою.
2. Последнее условие в процедуре не совсем понятно. И для нахождения максимального значения оптимальнее это делать в одном цикле. В PascalABC так вообще можно написать m:=a.max; и ВСЁ. Но если хотите как на Pascal - Я исправил.
3. Функция ищет максимальное значение в массиве.
Pascal
var
maxa:integer;
procedure Getmax(c:integer; var m:integer);
var
i:integer;
a: array [1..100] of integer;
begin
for i:=1 to c do begin
a[i]:= random (20);
write(a[i],' ');
if m<a[i] then
m:=a[i];
end;
writeln;
end;
begin
Getmax(100,maxa);
writeln('Max=', maxa);
end.
var
d:single;
begin
Write('Введите угол в градусах: '); Read(d);
Writeln('Угол в радианах: ',DegToRad(d))
end.
Тестовое решение:
Введите угол в градусах: 57.3
Угол в радианах: 1.00007364807695
Вариант с формулой вместо функции:
//PascalABC.Net 3.0, сборка 1052
var
d:single;
begin
Write('Введите угол в градусах: '); Read(d);
Writeln('Угол в радианах: ',Pi*d/180)
end.
Вариант, если не хочется использовать константу Pi:
//PascalABC.Net 3.0, сборка 1052
var
d:single;
begin
Write('Введите угол в градусах: '); Read(d);
Writeln('Угол в радианах: ',ArcTan(1)*d/45)
end.
Вариант для тех, кто не помнит, что arctg(1)=π/4:
//PascalABC.Net 3.0, сборка 1052
const
Pi=3.14;
var
d:single;
begin
Write('Введите угол в градусах: '); Read(d);
Writeln('Угол в радианах: ',Pi*d/180)
end.
Тестовое решение для этого случая:
Введите угол в градусах: 57.3
Угол в радианах: 0.999566653357612
Как видно, из-за значения π, заданного с низкой точностью, снизилась и точность результата.