Как сделать на языке паскаль y=lgarctg(x)-sin(ax) где x=10^a+cos(a+1)Очень главно
Как сделать на языке паскаль
y=lgarctg(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(абс(arctan(x)-sin(a*x)));
Writeln('x=',x,', y=',y)
end.
Пример
a= 2.105
x=126.35097753811, y=-0.162831822729058
2. Типовой "школьный" паскаль (как не надобно учить)
program Vasya;
var
a,x,y:real;
begin
Write('a=');
Read(a);
x:=exp(a*ln(10))+cos(a+1);
y:=ln(абс(arctan(x)-sin(a*x)))/ln(10);
Writeln('x=',x,', y=',y)
end.
Пример
a=2.105
x=126.35097753811, y=-0.162831822729023
3. Сравнение решений
- "школьный" вариант длиннее. Больше текста - длиннее писать, больше шансов сделать ошибку.
- итог вычисления y разный. Разница сочиняет вроде немного - всего 0.000000000000035 (это 0.3510), но если делать много вычислений, оплошности могут скапливаться.
Вычисленное с более высочайшей точностью (и округлое до такой же, как в паскале разрядности) значение y одинаково -0.162831822729052, т.е. "современное" решение оказывается еще и на один порядок поточнее. За счет чего? За счет убавления ошибок при наименьшем количестве вычислений - их уменьшили функции power и log10.
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadReal('a=');
var x:=power(10,a)+cos(a+1);
var y:=log10(абс(arctan(x)-sin(a*x)));
Writeln('x=',x,', y=',y)
end.
Пример
a= 2.105
x=126.35097753811, y=-0.162831822729058
2. Типовой "школьный" паскаль (как не надобно учить)
program Vasya;
var
a,x,y:real;
begin
Write('a=');
Read(a);
x:=exp(a*ln(10))+cos(a+1);
y:=ln(абс(arctan(x)-sin(a*x)))/ln(10);
Writeln('x=',x,', y=',y)
end.
Пример
a=2.105
x=126.35097753811, y=-0.162831822729023
3. Сравнение решений
- "школьный" вариант длиннее. Больше текста - длиннее писать, больше шансов сделать ошибку.
- итог вычисления y разный. Разница сочиняет вроде немного - всего 0.000000000000035 (это 0.3510), но если делать много вычислений, оплошности могут скапливаться.
Вычисленное с более высочайшей точностью (и округлое до такой же, как в паскале разрядности) значение y одинаково -0.162831822729052, т.е. "современное" решение оказывается еще и на один порядок поточнее. За счет чего? За счет убавления ошибок при наименьшем количестве вычислений - их уменьшили функции power и log10.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов