Составление программы вычисления определённого интеграла функции. Формула Симпсона, страница 5

                                                                3

                                                                Ввод

MAS(I)

                                                               

5

                                                                  Выход

Программа решения задачи

PROGRAM KURSOV;

USES CRT;

CONST

N0=20;

TYPE

M=ARRAY [1..3] OF REAL;

VAR

Z:TEXT;

NTEK,I:INTEGER;

A,B,J1,J2,E,CF,DF:REAL;

C,D:M;

{ ПРОЦЕДУРА ВВОДА ЭЛЕМЕНТОВ С И D}

PROCEDURE VVOD ( VAR MAS:M );

BEGIN

FOR I:=1 TO 3 DO

BEGIN

WRITE ('Введите ',I,' значение ');

WRITE (Z,'Введите ',I,' значение ');

READ (MAS[I]);

WRITELN (Z,MAS[I]:3:2);

END;

END;

{ ВЫЧИСЛЕНИЕ ЗНАЧЕНИЯ ЗАДАННОЙ ФУНКЦИИ }

FUNCTION F(X:REAL):REAL;

BEGIN

F:=1/((X+CF)*SQRT((SQR(X)+DF)));

END;

FUNCTION TRAP ( N:INTEGER; A,B:REAL ):REAL;

VAR

H,S:REAL;

G:BYTE;

BEGIN

H:=(B-A)/N;

S:=(F(A)+F(B))*0.5;

FOR G:=1 TO N-1 DO

S:=S+F(A+G*H);

TRAP:=H*S;

END;

{ ОСНОВНАЯ ПРОГРАММА }

BEGIN

ASSIGN (Z,'REZULT.TXT');

REWRITE (Z);

CLRSCR;

WRITELN('Введите исходные данные:');

WRITELN(Z,'Введите исходные данные:');

WRITELN;

WRITELN(Z);

WRITE('Введите значение А ');

WRITE(Z,'Введите значение А ');

READ(A);

WRITELN(Z,A:3:2);

WRITE('Введите значение B ');

WRITE(Z,'Введите значение B ');

READ(B);

WRITELN(Z,B:3:2);

WRITE('Введите значение E ');

WRITE(Z,'Введите значение E ');

READ(E);

WRITELN(Z,E:6:4);

WRITELN;

WRITELN(Z);

WRITELN('Введите три значения С: ');

WRITELN(Z,'Введите три значения С: ');

VVOD (C) ;

WRITELN;

WRITELN(Z);

WRITELN('Введите три значения D: ');

WRITELN(Z,'Введите три значения D: ');

VVOD (D);

{ ВЫЧИСЛЕНИЕ ПЛОЩАДИ ПРИ ТРЁХ ЗНАЧЕНИЯХ С И D }

FOR I:=1 TO 3 DO

BEGIN

J1:=0;

NTEK:=N0;

REPEAT

CF:=C[I];

DF:=D[I];

J2:=J1;

J1:=TRAP(NTEK,A,B);

NTEK:=2*NTEK;

UNTIL ABS(J1-J2)<=E;

WRITELN;

WRITELN('Интеграл при ',I,' значеиях С и D  равен ',J2:5:3);

WRITELN(Z);

WRITELN(Z,'Интеграл при ',I,' значеиях С и D  равен ',J2:5:3);

END;

CLOSE (Z);

END.

Результаты вычисления по программе

Введите исходные данные:

Введите значение А 0.00

Введите значение B 0.75

Введите значение E 0.0010

Введите три значения С:

Введите 1 значение 1.00

Введите 2 значение 1.10

Введите 3 значение 1.20

Введите три значения D:

Введите 1 значение 0.90

Введите 2 значение 0.95

Введите 3 значение 0.96

Интеграл при 1 значеиях С и D  равен 0.547

Интеграл при 2 значеиях С и D  равен 0.496

Интеграл при 3 значеиях С и D  равен 0.461

Графическое решение задачи

Здесь представлены 4 графика

1) C=1           D=0.9

2) C=1.1        D=0.95

3) C=1.2        D=0.96

4) Совмещение этих трёх результатов

Краткие выводы по решению задачи

В данной курсовой работе используются подпрограммы, это позволяет сократить размер основной части программы и сделать её более понятной для пользователя. Такой способ значительно упрощает ввод исходных данных. Программа построенная по данному алгоритму наиболее оптимально использует возможности ПЭВМ. Последовательность вывода результатов разработана в соответсвии с заданием на курсовую работу, что облегчает просмотр и контроль выполнения программы. Вся практическая работа была выполнена в соответствии с рекомендациями изложенными в теоретической части курсовой работы.

Список используемой литературы

1.  Новичков В. С., Парфилова Н. И. “Алгоритмические языки в техникуме. Паскаль”, Москва, Высшая школа, 1994 год.

2.  Киселёв А. В. Коротаев А. Т. “Практическая работа на персональном компьютере”, Москва, 1995 год.

3.  Фигурнов В. Э.” IBM PC для пользователя ”, Москва, Финансы и статистика, 1991 год.

4.  Фаронов В. В. “ Програмирование на персоональных ЭВМ в среде Турбо-Паскаль “, Москва,  Изд-во МГТУ, 1991 год.