Идентификаторы программы, Блок-схема алгоритма, Текст исходной программы - Разработка программы вычисления определенных интегралов численными методами
Для указания соответствия обозначений переменных в формулах математической формулировки и их идентификаторов в программе сведем их в таблицу 1:
Таблица 1 - Идентификаторы программы
Обозначение параметров |
Смысл параметра | |
В формулах |
В программе | |
A |
A |
Левая граница отрезка интегрирования (нижний предел интегрирования) |
B |
B |
Правая граница отрезка интегрирования (верхний предел интегрирования) |
M |
M |
Число интервалов разбиения отрезка интегрирования |
X |
X |
Аргумент подынтегральной функции |
Блок-схема алгоритма
Блок-схема алгоритма процедуры Frame;
Блок-схема алгоритма процедуры Cursize;
Блок-схема алгоритма процедуры Hidcur;
Блок-схема алгоритма процедуры Nc;
Блок-схема алгоритма процедуры Wnd;
Блок-схема алгоритма процедуры Main;
Блок-схема алгоритма процедуры Help;
Блок-схема алгоритма процедуры pryam;
Блок-схема алгоритма процедуры cebys;
Блок-схема алгоритма процедуры Menu1;
Блок-схема алгоритма головной программы;
Текст исходной программы
Program kurs;
Uses crt, dos;
Label 2,3;
Type
Mas=array[1..4] of string;
Const
Menu:mas=('Справка','Метод прямоугольников','Метод Чебышева','Выход');
Var
Pk:boolean;
Pos:integer;
K:char;
-----------------Ramka--------------------
Procedure frame(x1,y1,x2,y2:byte);
Var
I:integer;
Const
A=#201;
B=#205;
C=#187;
D=#186;
E=#188;
F=#200;
Begin
Textcolor(15);textbackground(0);
Clrscr;
Gotoxy(x1,y1);
Write(a);
For i:=x1+1 to x2-1 do
Begin
Gotoxy(i, y1);write(b);
Gotoxy(i, y2);write(b);
End;
Gotoxy(x2,y1);write(c);
For i:=y1+1 to y2-1 do
Begin
Gotoxy(x1,i);write(d);
Gotoxy(x2,i);write(d);
End;
Gotoxy(x1,y2);write(f);
Gotoxy(x2,y2);write(e);
End;
--------------------Cursor----------------
Procedure cursize(s:word);
Var
Regs:registers;
Begin
With regs do
Begin
AH:=$01;
CH:=Hi(s);
Cl:=Lo(s);
Intr($10,regs);
End;
End;
-------------------Skryt cursor--------------
Procedure hidcur;
Begin
Cursize($2000);
End;
-------------Wernut cursor---------------
Procedure nc;
Begin
Cursize($0607);
End;
----------------Okno-------------------
Procedure wnd(x1,y1,x2,y2:byte);
Begin
Clrscr;
Textmode(3);
Frame(x1,y1,x2,y2);
Window(x1+1,y1+1,x2-1,y2-1);
Textbackground(0);
Textcolor(15);
Clrscr;
Gotoxy(1,1);
End;
------------------------Glavnoye menu---------------
Procedure main;
Var
Ch:char;
Begin
Clrscr;
Wnd(1,1,79,24);
Gotoxy(16,2);
Writeln('Министерство Образованя Республики Беларусь');
Gotoxy(13,3);
Writeln('Белорусский Национальный Технический Университет');
Gotoxy(17,6);
Writeln('Факультет горного дела и инженерной экологии');
Gotoxy(30,8);
Writeln('Курсовая работа');
Gotoxy(25,9);
Writeln('по дисциплине "Информатика"');
Gotoxy(20,10);
Writeln('тема:Программа численного интегрирования');
Gotoxy(17,14);
Writeln('Выполнил Шпиганович Д. С. ст. гр. 102822');
Gotoxy(17,17);
Writeln('Руководитель Ринкевич В. П');
Gotoxy(33,21);
Writeln('Минск 2014');
Gotoxy(18,22);
Writeln('Для продолжения нажмите любую клавишу...');
Hidcur;
Ch:=readkey;
End;
----------------------spravka--------------------
Procedure help;
Var
Ch:char;
Begin
Clrscr;
Wnd(1,1,79,24);
Gotoxy(33,2);
Writeln('СПРАВКА');
Gotoxy(1,6);
Writeln(' Данная программа позволяет вычислять');
Writeln(' интеграл вида I=cos(x)(2x^2-x+4)dx');
Writeln(' методом прямоугольников или методом');
Writeln(' Чебышева. Выберете в меню один из методов');
Writeln(' В каждом из методов введите данные по запросу');
Writeln(' программы. Если хотите вычислит интеграл');
Writeln(' другого вида с другими данными то зайдите в');
Writeln(' программу, найдите процедуру методов и поменяйте');
Writeln(' данный интеграл на свой.');
Gotoxy(15,22);
Writeln('Для продолжения нажмите любую клавишу...');
Hidcur;
Ch:=readkey;
End;
------------------sozdaniye menu---------------
Procedure menu1;
Var
I:integer;
Begin
Clrscr;
Wnd(15,9,55,16);
For i:=1 to 4 do
Begin
Gotoxy(5,i+1);
If i=pos then textbackground(1) else textbackground(0);
Write(menu[i]);
End;
Hidcur;
End;
--------------------samo resheniye zadaci--------------
Procedure pryam;
Label pr;
Var
Y, p, x, a, b, h:real;
I, m:integer;
Ch:char;
Begin
Pr:
Clrscr;
Wnd(1,1,79,24);
P:=0;x:=0;
Writeln('Метод прямоугольников');
Writeln('Интеграл I=cos(x)*(2*x^2-x+4)dx');
Write('Нижний предел интегрирования a=');readln(a);
Write('Верхний предел интегрирования b=');readln(b);
Write('Введите число интервалов m=');readln(m);
H:=(b-a)/m;
X:=a;
For i:=0 to m-1 do
Begin
Y:=h*(cos(x+0.5*h)*(2*sqr(x+0.5*h)-(x+0.5*h)+4));
P:=p+y;
X:=x+h;
End;
Writeln('Ответ I=',p:6:4);
Hidcur;
Writeln('Ввести новые значения(Y/N)?');
Ch:=readkey;
If (ch='y') or (ch='Y') then goto pr;
End;{procedure}
Procedure cebys;
Label ce;
Var
D, c, h, i, a, q, t, b, w, x:real;
E, m:integer;
Ch:char;
Begin
Ce:
Clrscr;
Wnd(1,1,79,24);
Writeln('Метод Чебышева');
Writeln('Интеграл I=cos(x)*(2*x^2-x+4)dx');
Write('Введите нижний предел a=');
Readln(q);
Write('Введите верхний предел b=');
Readln(b);
Write('Введите количества интервалов интегрирования m=');
Readln(m);
A:=q;t:=sqrt(2)/2;i:=0;h:=(b-a)/m;
For e:=1 to m do
Begin
W:=a+h;c:=(w+a)/2;
D:=(w-a)/2;
X:=c-d*t;i:=i+(cos(x)*(2*sqr(x)-x+4));
X:=c;i:=i+(cos(x)*(2*sqr(x)-x+4));
X:=x+d*t;i:=i+(cos(x)*(2*sqr(x)-x+4));
A:=w;
End;{for}
I:=i*h/3;
Writeln('Ответ I=',i:6:5);
Hidcur;
Writeln('Ввести новые значения(Y/N)');
Ch:=readkey;
If (ch='y') or (ch='Y') then goto ce;
End;
----------------glava programmy------------
Begin
Clrscr;
Main;
2:
Pos:=1;
Menu1;
K:=readkey;
While k<>#13 do
Begin
Case k of
#72:if pos=1 then pos:=4 else pos:=pos-1;
#80:if pos=4 then pos:=1 else pos:=pos+1;
End;
Menu1;
K:=readkey;
End;
Case pos of
- 1:help; 2:pryam; 3:cebys; 4:exit;
End;
Goto 2;
3:
End.
Похожие статьи
-
В курсовой работе в соответствии с заданием на проектирование решается задача разработки программы вычисления определенных интегралов численными...
-
Вычислить приближенное значение определенного интеграла с подынтегральной функцией f(x) заданным методом и проверить точность вычислений по формуле...
-
Алгоритмизация задачи - Разработка программы вычисления определенных интегралов численными методами
В соответствии с постановленной в разделе 2 задачей целесообразно реализовать алгоритм, использующий обращение к соответствующим подпрограммам из...
-
Метод прямоугольников Пусть требуется определить значение интеграла функции на отрезке. Этот отрезок делится точками на равных отрезков длиной Обозначим...
-
Файл-модуль unit1.pas Unit Unit1; Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, XPMan,...
-
Программный алгоритм визуальный гаусс В программу включены следующие процедуры: "gauss1", "gaussj", "New1Click", "Button1Click", "Button2Click",...
-
Рисунок 9.1 - Логическая схема процедуры Runge Рисунок 9.2 - Логическая схема для вычисления кинематических и силовых характеристик четырехмассовой...
-
Метод Гаусса. Метод Гаусса решения систем линейных уравнений состоит в последовательном исключении неизвестных и описывается следующей процедурой. С...
-
Основная программа Построение интерполяционного многочлена Нахождение максимума функции методом дихотомии Вычисление значения заданной функции Создание и...
-
Пользователя - Структурирование программы
Для того, чтобы часто используемые типы данных, константы, переменные, процедуры и функции не описывать заново в каждой программе, их описания,...
-
В данном разделе выпускной квалификационной работы описывается процесс разработки программы извлечения КП текста, а также производится оценка качества ее...
-
Интегрирование, Оператор интегрирования - Вычисление интегралов в Mathcad
Интегрирование в MathCAD реализовано в виде вычислительного оператора. Допускается вычислять интегралы от скалярных функций в пределах интегрирования,...
-
Кратные интегралы, Дифференцирование - Вычисление интегралов в Mathcad
Для того чтобы вычислить кратный интеграл: 1. Введите, как обычно, оператор интегрирования. 2. В соответствующих местозаполнителях введите имя первой...
-
Разработаем алгоритм одного из основных методов, используемого в данной программе. Private void pictureBox1_MouseDown(objects sender, MouseEventArgs e)...
-
Рис. 3 Результаты сохраненные в файле: 2 1 1 |2 3 2 3 |6 6 5 4 |5 Gauss X1=-7,4 X2=1,2 X3=2,2 J-Gauss X1=-7,4 X2=1,2 X3=2,2 Инструкция по работе с...
-
Формулировка задания: Составьте программу подсчета числа тех гласных букв в слове X, что не используются в написании слова Z. Описание входных/выходных и...
-
Разработка алгоритмов работы программы - Автоматизация рабочего места кассира автовокзала
Данная программа предназначена для разных пользователей. После запуска программы происходит подключение модулей (блок 1). Вход в БД происходит открытием...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
Рекурсивные графические построения - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования рекурсии. Пояснения к работе Рекурсивным называется объект, частично состоящий или определяемый с помощью...
-
Описание исходных текстов программы, Создание простейшей кнопки - Разработка программы "Будильник"
Unit Main; // модуль главной формы В этом модуле содержится несколько основных функций необходимых для работы программы. Переменные. Var My_PForm1:...
-
Граф переходов конечного автомата лексического анализатора Исходная КС-грамматика G({prog, end., if, else, then, begin, end, while, do, or, and, not,...
-
В работе возникает необходимость выбора предметной области, в которой будет тестироваться каскадный классификатор. Главными вопросами на данном этапе...
-
Процедуры, Процедура работы таймера времени, Заключение - Разработка программы "Будильник"
Ниже приводится описание функций: // Процедуры активации шэлементов будильников. Procedure Budilnic1(X: Integer); Procedure Budilnic2(X: Integer);...
-
Описание алгоритмов Рассмотрим один из основных алгоритмов, задействованных в программе, - алгоритм передвижения мяча. Блок-схема алгоритма изображена на...
-
При заполнения каждой ячейки таблицы распределения исходов сравнения двух рук нам необходимо перебрать все возможные варианты общих карт. Таким образом...
-
Для вычисления цвета могут быть использованы различные подходы. Вычисление цвета может проводиться одновременно с геометрической реконструкцией,...
-
Циклы в языке программирования Pascal
Цель: Познакомить учащихся с программированием циклических алгоритмов. pascal циклический алгоритм Методическая разработка рассчитана на учащихся 9-х...
-
При разработке принципиальных электрических схем функциональных блоков кодека необходимо выполнение следующих требований [2]: 1. Простота...
-
Разработка с "нуля", Выбор метода разработки - Различные виды программ для Multi-Touch столов
Разработка приложения на каком-либо языке с нуля достаточно трудоемкий процесс, так как в случае создания интерфейсов понадобиться множество времени для...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
Рисунок 10. Архитектура программы В структуре программы обработки сложноструктурированных данных для научного эксперимента в ИИС "Шлаковые расплавы"...
-
Постановка задачи, выбор предметной области Предметная область: "Автомобиль". Создание автомобиля будет состоять из трех этапов: выбор кузова, выбор...
-
С целью более удобного проектирования, настройки, и разделения отдельных исполняемых операций, программа построена на классах, которые взаимодействуют...
-
Алгоритм работы декодера кода Рида - Маллера будем разрабатывать на основе уже приведенных выше уравнений. Алгоритм приведен на рисунке 12. В начале...
-
Задача 1 Циклический язык массив программа Цель работы Изучить циклические процессы и реализацию циклических конструкций в языке программирования Pascal....
-
Библиотека MSHTML MSHTML (так же известен как Trident) - браузерный движок для Microsoft Internet Explorer. Впервые Trident был реализован в четвертой...
-
Рекурсивные процедуры и функции - Структурирование программы
Подпрограмма, вызывающая саму себя, называется рекурсивной подпрограммой. При каждом новом обращении к подпрограмме параметры, которые она использует,...
-
Базовые компоненты Delphi. - Разработка Windows-приложений в среде Borland Delphi
Цель работы: Получить навыки использования в программе базовых компонентов Delphi. Пояснения к работе В форме практически любого приложения есть...
Идентификаторы программы, Блок-схема алгоритма, Текст исходной программы - Разработка программы вычисления определенных интегралов численными методами