Читайте также: |
|
Упростив вычисления за счет использования дополнительных переменных и/или скобочных форм, вычислить значения функции
и ее производной
на интервале значений Х от 40o до 50o с шагом (1/3)o.
Для проверки правильности вычислений вычислить её значение по формуле без преобразований, а также по разностной схеме
при ΔX=10-8.
Вычисленные значения вывести с предшествующими порядковыми номерами и соответствующими значением аргумента Х в виде таблицы с заголовками столбцов.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
const
A=40/180*Pi; //Начальное значение аргумента
H=Pi/180; //Шаг изменения аргумента
B=50/180*Pi+H/2; //Конечное значение аргумента
var F1,
X,Y,P,P1,C,D,E,S:Extended;
I:Integer;
begin
//Вывод заголовка таблицы
WriteLn('#':3,'X':8,'Y(X)':12,'P':11,'P1':11,'F1':14);
X:=A;//Переменная X будет представлять текущее значение аргумента
I:=0;//Переменная I будет представлять номер строки таблицы
while X<B do
begin
I:=I+1; //Увеличение значения счетчика строк таблицы
//Вычисление значений дополнительных переменных
C:=Sqr(X); D:=10*X; E:=Exp(-C); S:=Sin(D);
//Вычисление Y - значения функции и P - ее производной
//с использованием дополнительных переменных.
Y:=E*S/X;
P:= E*(D*Cos(D)-S*(1+2*C))/C;
//Вычисление P1 - контрольного значения производной
//без использования дополнительных переменных.
P1:=((Exp(-Sqr(X))*10*Cos(10*X)
-2*X*Exp(-Sqr(X))*Sin(10*X))*X
-Exp(-Sqr(X))*Sin(10*X))/Sqr(X);
//Вычисление F1 - контрольного значения производной
//по разностной схеме.
F1:=(Exp(-Sqr((X+5E-9)))*Sin(10*(X+5E-9))/(X+5E-9)
-Exp(-Sqr((X-5E-9)))*Sin(10*(X-5E-9))/(X-5E-9))
/1E-8;
//Вывод в строку таблицы вычисленных значений
WriteLn(I:3, X*180/Pi:10:2,Y:12:5,P:14:5,P1:10:5, F1:14:5);
X:=X+H; //Увеличение значения аргумента
end;//while
ReadLn;
end.
Дата добавления: 2015-07-12; просмотров: 236 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Вычисление и вывод данных в виде таблицы | | | Пример 3.1.2 выполнения задания с использованием цикла for |