Условие задания: Восстанови хронологическую последовательность. Изобретение фотографии дения Первая запись звука с фонографа OOOD Изобретение магнитофона е работы Появление первых лазерных дисков Демонстрация первого кинофильма ответить!
//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
Как видно, из-за значения π, заданного с низкой точностью, снизилась и точность результата.
Объяснение:
program graphic;
var
x, y: real;
underLine, underLog, inCircle: boolean;
begin
writeln('введите Х:');
readln(x);
writeln('введите У:');
readln(y);
//проверяем, что попали в первую четверть
if (x >= 0) and (y >= 0) then
begin
underLine := (y <= -x + 2);
underLog := (exp(y) <= x);
inCircle := (x*x + y*y <= 9);
if inCircle and (underLog xor underLine) then
writeln('внутри области')
else
writeln('вне области');
end
else
writeln('вне области');
end.
UPD
если нужно записать это одним оператором, то это будет выглядеть так
program graphic_v2;
var
x, y: real;
begin
writeln('введите Х:');
readln(x);
writeln('введите У:');
readln(y);
if (x >= 0) and (y >= 0) and (x*x + y*y <= 9) and ((y <= -x + 2) xor (exp(y) <= x)) then
writeln('внутри')
else
writeln('снаружи');
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
Как видно, из-за значения π, заданного с низкой точностью, снизилась и точность результата.