Автор: Пользователь скрыл имя, 03 Октября 2011 в 20:39, курсовая работа
В данной пояснительной записке проводится описание последовательности шагов по составлению программы на алгоритмическом языке Turbo Pascal 7.0 и результаты применения этой программы для нахождения приближенного значения интеграла численным методом Симпсона и методом трапеций. Рассматриваются вопросы математической формулировки и алгоритмизации задачи, разработки блок-схемы алгоритма её решения, составления исходной Pascal-программы и реализации вычислений по составленной программе.
Введение…………………………………………………………………………4
Постановка задачи………………………………………………………………5
Математическая формулировка задачи………………………………………..7
Алгоритмизация задачи…………………………………………………………9
Идентификаторы программы…………………………………………………..12
Блок-схема алгоритма…………………………………………………………..13
Текст исходной программы………………………………………………………..
Результаты выполнения программы……………………………………………...
Анализ результатов………………………………………………………………...
Инструкция по работе с программой……………………………………………..
Заключение…………………………………………………………………………
Список использованных источников……………………………………………..
s:=0;
x:=a;
for i:=1 to n do
begin
s:=s+f(x)+4*f(x+h1)+2*f(a+2*
x:=x+h;
end;
s:=s*h/6;
writeln;
writeln;
writeln(' Pri vvedennix pridelax A=',a:5:2,' B=',b:5:2);
writeln(' Znachenie integrala I=',s:9:5);
Exitfrom;
End;
end;
Procedure Trapeciya;
label m1;
Var
i,n : byte;
a,b,h,h2,s,x : real;
ch: char;
Begin
clrscr;
Okno (1,1,79,23,5,14);
NormCursor;
Writeln('=====================
Writeln;
Writeln;
m1:
Writeln(' Vvedite predelu integrirovaniya a i b');
Write(' Niznii pridel a=');
read(a);
Write(' Verxnii pridel b=');
read(b);
Write(' Vvedite chislo intervalov integrirovaniya N=');
read(n);
Begin
writeln;
Writeln(' Znacheniya vvedeny pravilno(Y/N)?');
writeln;
ch:= readkey;
If ch=#110 then
begin
Writeln(' Dannie vvedeni neverno. Povtoryaem vvod ');
writeln;
goto m1;
end;
h:=(b-a)/n;
h2:=h/2;
s:=0;
x:=a;
for i:=1 to n do
begin
s:=s+(f(x)+f(x+h2));
x:=x+h;
end;
s:=s*h/2;
writeln(' Pri vvedennix pridelax A=',a:5:2,' B=',b:5:2);
writeln(' Znachenie integrala I=',s:9:5);
Gotoxy(26, 23);
Exitfrom;
End;
end;
BEGIN
Clrscr;
hiddecursor;
Zastavka;
11:
pos:=1;
Emenu;
k10:=readkey;
while k10<>#13 do
begin
Case k10 of
#72: if pos=1 then pos:=4 else pos:=pos-1;
#80: if pos=4 then pos:=1 else pos:=pos+1;
end;
Emenu;
k10:=readkey;
end;
Case pos of
1: Spravka;
2: Simpson;
3: Trapeciya;
4: Exit;
end;
goto 11;
END.
После
запуска программы в
Рисунок 4.
После
нажатия любой клавиши
Рисунок 5.
При выборе меню «Справка» открывается соответствующее окно в котором находится справочная информация о программе. Это окно представлено на рисунке 6.
Рисунок 6.
При
выборе пункта меню «Метод Симпсона» или
«Метод трапеций» открываются соответствующие
окна, в которых вводятся исходные данные
и, после подтверждения правильности введенных
данных, выводятся результаты вычисления.
Примеры таких окон представлены на рисунках
7 (метод Симпсона) и 8 (метод трапеций).
Рисунок
7.
Рисунок 8.
Для анализа результатов сведем данные интегрирования по разным методам в таблицу и результаты вычисления данного интеграла в программе MathCad.
Таблица 2 – Результаты расчетов
Интеграл | Число интервалов интегрирования | Значение интеграла при использовании различных методов | Значение интеграла, вычисленного в программе MathCad | |
Метод Симпсона | Метод трапеций | |||
100 | 1.55080 | 1.45837 | 1.463 |
При
анализе точности расчетов различными
методами, очевидно, что метод трапеций
более точен, чем метод Симпсона.
Рисунок 9. Вычисление интеграла в программе MathCad.
Файл kurs.pas с исходным текстом Паскаль-программы находится по адресу A:\Semenova. Результат компиляции исходной программы kurs.exe находится в той же папке Semenova.
Необходимо запустить на выполнение kurs.exe либо зугрузить Turbo Pascal 7.0, сделать текущим каталог Semenova, открыть файл с исходной Паскаль-программой kurs.pas и запустить ее на выполнение командой Run.
После вывода заставки программы нажать любую клавишу для перехода в меню и открыть окно справки. После ознакомления со справкой нажатием любой клавиши возвратиться в окно меню, с помощью клавиш управления курсором выбрать метод вычисления и ввести по запросу программы целочисленные значения нижнего и верхнего предела интегрирования, а также число интервалов интегрирования. Затем проверить правильность введенных данных и сообщить результат программе (да – Y, нет – N). При необходимости повторить процедуру ввода исходных данных.
Результаты вычисления интеграла выводятся в том же окне, где вводились исходные данные.
Для продолжения вычислений следует ответить на запрос программы нажатием клавиши ‘Y’, что обеспечит переход к меню программы. Нажатием клавиши ‘N’ приводит к переходу в окно заставки программы.
Завершение
работы с программой реализуется
выбором пункта меню «Выход».
Заключение
В данной курсовой работе разработана блок-схема и реализована средствами языка программирования Турбо-Паскаль программа, позволяющая вычислить интеграл
I=
методом Симпсона и методом трапеций.
Программа
обладает дружеским интерфейсом, по
запросу пользователя сообщает общие
сведения по работе с программой и
производит вычисления, выбор метода
вычисления производится посредством
меню, ввод пределов интегрирования и
количества интегралов интегрирования
осуществляется с клавиатуры по запросу
программы.
Из
анализа результатов вычисления
можно сделать вывод о большей
точности вычисления по методу трапеций
по сравнению с методом трапеций.
Список использованных источников