• Как сделать на языке паскаль
    y=lg|arctg(x)-sin(ax)| где x=10^a+cos(a+1)
    Очень важно помогите

Ответы 1

  • 1. Современный паскаль// PascalABC.NET 3.2, сборка 1370 от 24.12.2016// Внимание! Если программа не работает, обновите версию!begin  var a:=ReadReal('a=');  var x:=power(10,a)+cos(a+1);  var y:=log10(abs(arctan(x)-sin(a*x)));  Writeln('x=',x,', y=',y)end.Примерa= 2.105x=126.35097753811, y=-0.1628318227290582. Типовой "школьный" паскаль (как не надо учить)program Vasya;var  a,x,y:real;begin  Write('a=');  Read(a);  x:=exp(a*ln(10))+cos(a+1);  y:=ln(abs(arctan(x)-sin(a*x)))/ln(10);  Writeln('x=',x,', y=',y)end.Примерa=2.105x=126.35097753811, y=-0.1628318227290233. Сравнение решений- "школьный" вариант длиннее. Больше текста - дольше писать, больше шансов сделать ошибку.- результат вычисления y различный. Разница составляет вроде немного - всего 0.000000000000035 (это 0.35×10⁻¹³), но если делать много вычислений, ошибки могут накапливаться.Вычисленное с более высокой точностью (и округленное до такой же, как в паскале разрядности) значение y равно -0.162831822729052, т.е. "современное" решение оказывается еще и на один порядок точнее. За счет чего? За счет уменьшения ошибок при меньшем количестве вычислений - их сократили функции power  и log10.
    • Автор:

      mia36
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years