Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Пример 3.1.2 выполнения задания с использованием цикла for

Циклы с параметром | Цикл с предусловием | Цикл с постусловием | Вычисление и вывод данных в виде таблицы |


Читайте также:
  1. I система: аденилатциклаза – цАМФ
  2. I. Анализ задания
  3. I. Задания для самостоятельной работы
  4. I. Задания для самостоятельной работы
  5. I. Задания для самостоятельной работы
  6. I. Задания для самостоятельной работы
  7. I. Задания для самостоятельной работы

Для функции

при 10 значениях приращения аргумента DX =(0,5; 0,25; 0,125;...)

вычислить:

1) точные значения приращений первообразной ,

а также вычислить

2) по формуле F(X+DX/2)·DX - приближенные значения

а) DP1, упростив вычисления за счет дополнительных переменных,

б) DP2, не используя дополнительных переменных, и

3) |DP-DP1| - абсолютные ошибки вычисленных приближенных значений.

Результаты вычислений и соответствующие значения DX

вывести в виде таблицы с заголовками столбцов и номерами строк.

 

program Project1;

{$APPTYPE CONSOLE}

uses

SysUtils;

const

X=1.5;

var

DP,DP1,DP2,D,R,K,X1,DX:Extended;

I,N:Integer;

begin

//Вывод заголовка таблицы

WriteLn(' # DX DP DP1 DP2'

,' |DP-DP1|');

//Переменная DX будет представлять текущее приращение аргумента

DX:=0.5;

for I:=1 to 10 do

begin

//Вычисление точного значения DP(X)

DP:=Ln(Sqr(X+DX)-1)/(X+DX-1)-Ln(Sqr(X)-1)/(X-1);

//Вычисление значений дополнительных переменных

X1:=X+DX/2; K:=Sqr(X1); R:=K-1; D:=X1-1;

//Вычисление DP(X) с использованием дополнительных переменных

DP1:=(2 * X1 * D - R * Ln(R)) / R / Sqr(D) * DX;

//Вычисление DP(X)

//без использования дополнительных переменных

DP2:=(2*(X+DX/2)*(X+DX/2-1)

-(Sqr(X+DX/2)-1)*Ln(Sqr(X+DX/2)-1))

/(Sqr(X+DX/2)-1)/Sqr(X+DX/2-1)*DX;

//Вывод в строку таблицы вычисленных значений

WriteLn(i:3,DX:10:5,' ',DP:12:6,' ', DP1:10:6,' ', DP2:9:6

,' ',Abs(DP-DP2):12);

//Изменение значения приращения аргумента

DX:=DX/2;

end;//for i

ReadLn;

end.


Дата добавления: 2015-07-12; просмотров: 71 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Пример 3.1.1 выполнения задания с использованием цикла while| Задания 3.1 для самостоятельной проработки

mybiblioteka.su - 2015-2024 год. (0.009 сек.)