2. Разработка схемы алгоритма и её описание

По результатам анализа задания можно составить укрупненную схему алгоритма последовательной структуры:

Блок-схема: знак завершения: Начало
Блок-схема: типовой процесс: Вычисление
определённого интеграла

Блок-схема: типовой процесс: Вывод результатов
Блок-схема: знак завершения: Конец

Полный алгоритм:

Блок-схема: знак завершения: Начало
Блок-схема: данные: Ввод c,d

n:=1000;y2:=0

 

h:= (b-a)/n; y1:=y2;

y2:=0; x:=a+h;

 

 

 


Блок-схема: решение: x>bНет
Да


Нет

Блок-схема: решение: n>255000


Да

Блок-схема: данные: Вывод сообщения об срабатывании защиты от зацикливания и выход из программы.
Блок-схема: решение: abs(y1-y2)<e

Нет


Да

Блок-схема: типовой процесс: Вывод результатов
Блок-схема: знак завершения: Конец

Инструкция по использованию разработанной программы

Определим исходные данные.

 a=1; b=2; e=0.0001;

c= 1,9; 2,05; 2,1; 2,2.

d= 3; 3,05; 3,1.

Исходные сведения Описание в программе
Обозначение Назначение Идентификатор Атрибуты
A, B Пределы интегрирования a, b Real
C,D Параметры c, d Real
e Погрешность eps Real
y1, y2 Значения определённого интеграла при числах разбиений n и 2*n y1, y2 Real
h Шаг интегрирования (определяется по формуле h=(b-a)/n) h Real
x Текущее значение аргумента x Real
n Количество разбиений отрезка [a;b] n Longint

Описание переменных и массивов:

4. Проверка правильности функционирования программы.

Введём определённые ранее исходные данные.

a=1; b=2; e=0.0001;

 c=1,9; d=3;

При c=1,90 и d=3,00 значение определённого интеграла

0,113 с точностью до 0,00010

Количество разбиений отрезка [1,00;2,00]: 4000

 c=2,05; d=3,05

При c=2,05 и d=3,05 значение определённого интеграла

 0,110 с точностью до 0,00010

Количество разбиений отрезка [1,00;2,00]: 4000

 c=2,2; d=3,1

При c=2,20 и d=3,10 значение определённого интеграла

 0,108 с точностью до 0,00010

Количество разбиений отрезка [0,00;2,00]: 4000

Для проверки программы интегрирования вычислим определённый интеграл  с заданной точностью.

 a=0; b=3.14; eps=0.0001.

Определённый интеграл =2.

5.Текст программы

Program kursach2;

 uses crt;

 var

 a,b,c,d,e,y1,y2,h,x:real;

 n:longint;

 begin

 clrscr; textcolor(11);

 writeln(' ╔═══════════════════════════════════════════════════════════════╗');

 writeln(' ║ Эта программа вычисляет определённый интеграл от функции ║');

 writeln(' ║ ║');

 writeln(' ║ x ║');

 writeln(' ║ f(x)= ------------- ║');

 writeln(' ║ (x^4+d*x^2+c) ║');

 writeln(' ║ ║');

 writeln(' ║ на отрезке [a,b] с погрешностью e. ║');

 writeln(' ╚═══════════════════════════════════════════════════════════════╝');

 writeln;

 write(' Введите левую границу интервала: '); readln(a);

 write(' Введите правую границу интервала: '); readln(b);

 write(' Введите погрешность вычислений: '); readln(e);

 clrscr;

 writeln(' *****************************************');

 write(' Введите значения c: '); read(c);

 write(' Введите значения d: '); read(d);

 n:=2000; y2:=0;

 repeat

 h:=(b-a)/n; y1:=y2;

 y2:=0; x:=a+h;

 repeat

 y2:=y2+h*x/(x*x*x*x+d*x*x+c);

 {y2:=y2+h*sin(x);}

 x:=x+h;

 until x>b;

 n:=2*n;

 if n>255000 then

 begin

 ClrScr; textcolor(red); writeln;

 writeln(' **** Сработала защита от зацикливания ****');

 readkey; exit;

 end;

 until abs(y1-y2)<e;

 ClrScr;

 writeln;

 writeln('*******************************************************************');

 writeln('При с=',c:3:2,'и d=',d:3:2,'значение определённого интеграла',y2:5:3);

 writeln(' с точностью до ',e:6:5 );

 writeln;

 writeln(' Количество разбиений отрезка [',a:3:2,';',b:3:2,']: ',n div 2 );

writeln('*******************************************************************');

 readkey;

 end.


Список литературы

1. Методические указания по выполнению курсовой работы «Алгоритмические языки и программирование»

 №1525, Рязань: РРТИ, 1988.

2. Методические указания «Модульное программирование на Турбо Паскале» №3037,В.С.Новичков, Н. И. Парфилова, А. Н. Пылькин, Рязань: РГРТА, 2000.

3. «Программирование на языке ПАСКАЛЬ», Г. Л. Семашко, А. И. Салтыков, Москва «Наука», 1988.

4. «Программирование на языке ПАСКАЛЬ», О. Н. Перминов, «Радио и связь», 1988.


Информация о работе «Turbo Pascal»
Раздел: Информатика, программирование
Количество знаков с пробелами: 17005
Количество таблиц: 32
Количество изображений: 18

Похожие работы

Скачать
235892
25
6

... работе в графическом режиме предназ­начается для обучения студентов младших курсов Санкт-Петербургской государственной Академии аэрокосмического приборостроения навыкам программирования, а именно работе в графическом режиме языка Turbo-Pascal . Для работы с настоящей программой необходимо знание стандарта языка, интегрированной среды и элементарным навыкам работы с персональным компьютером . ...

Скачать
15706
2
0

... і форматування тексту, створення і робота з вікнами та багато іншого. Основним засобом відображення інформації, яка вводиться і виводиться під час роботи прикладних і системних програм є екран. В Turbo Pascal є можливість працювати з екраном у текстовому і графічному режимах. Текстовий режим призначений для відображення символів кодової таблиці і характеризується максимальним числом символів ...

Скачать
18333
0
0

... т.д. Программное обеспечение таких систем должно обеспечивать обработку, хранение, ввод-вывод больших объемов всевозможных данных. Интегрированная среда Turbo Pascal позволяет эффективно разрабатывать, тестировать и отлаживать программы, связанные с обработкой массивов данных самой различной структуры. В языке Pascal под массивом понимается упорядоченный набор фиксированного количества однотипных ...

Скачать
24973
0
10

... write ('по дисциплине информатика и программирование'); gotoxy (17,12); write ('на тему создание прикладного программного обеспечения'); gotoxy (22,13); write ('в среде программирования Turbo Pascal'); gotoxy (45,15); write ('Работу выполнила: студентка'); gotoxy (45,16); write (‘_____ курса группы ______'); gotoxy ...

0 комментариев


Наверх