28073-1 (612445), страница 2
Текст из файла (страница 2)
9) сохранить результаты работы модуля для дальнейшего использования;
Реализация описанных функций выполняется программой-адаптером. Информационное обеспечение адаптера (рисунок 1.1) включает в себя таблицы описателей модулей, наборов данных, область обмена.
МФ - модули
формирования; МВв - модули ввода; ТОНД - таблица описателей наборов данных; ТОМ - таблица описателей модулей; ПУС - программа установки среды; ТОВх - таблица описателей входов; МВыв - модули вывода; ОО - области обмена;
Рисунок 1.1 - Информационное обеспечение программного адаптера
Таблица описателей модулей содержит: имя модуля; идентификатор языка программирования; признак типа обмена, принятый в модуле (параметры, общие области, наборы данных); количество параметров; имя описателей входов модуля; имя области обмена; имя описателя набора данных.
Таблица описателей входов модуля содержит: имя параметра локальное; имя параметра глобальное; характеристику параметра (входной, выходной, модифицируемый); вид структуры (переменная строка, массив арифметический, массив строк, структура, массив структур и т.д.); размерность (для массива); длину (для строк); основание системы счисления (для переменной или элемента массива); форму представления; точность.
Таблица описателей наборов данных содержит: имя набора; имя DD-предложения; тип организации; метод доступа; формат и длина блока; атрибуты записи.
Для обеспечения преемственности данных следует предусмотреть область памяти, куда заносились бы те результаты работы каждого модуля, которые принимают участие в дальнейших расчетах. Этой цели служит область обмена - память, выделенная для промежуточных результатов, передаваемых от модуля к модулю. В нее заносятся исходные данные для первого модуля, результаты вычислений, недостающие данные для промежуточных модулей.
Для организации области обмена необходимо:
1) осуществить анализ данных, которые будут циркулировать в среде программного комплекса в составе САПР с целью определения одинаковых по смыслу переменных;
2) всем одинаковым по смыслу переменным присвоить одно и то же имя, отражающее семантику этих переменных (глобальные переменные);
3) каждой переменной, встречающейся только один раз, присвоить уникальное имя, отражающее семантику величины (локальные переменные);
4) каждой глобальной и локальной переменной поставить в соответствие тип и структуру, являющиеся наиболее информативными;
Указанная совокупность переменных составляет область обмена, в которой хранится текущее значение каждой из переменных в наиболее информативном виде.
В крупных САПР, программы которых оперируют с большим числом входных, промежуточных и результирующих переменных, области обмена удобно организовывать в виде некоторого банка данных. Это позволяет возложить часть функций, выполняемых адаптером, на СУБД, что в конечном итоге сокращает время на разработку информационного и программного обеспечения САПР.
Таким образом, адаптер выполняет всю совокупность операций по организации информационного взаимодействия между программными модулями. В случае разноязыковых модулей адаптер практически берет на себя выполнение соответствующих функций операционной системы. Достаточно сложной является также задача построения области обмена, поскольку ее решение связано со структурированием всех переменных, участвующих в информационном обмене. В крупных САПР, программные модули которых оперируют с большим числом входных, промежуточных и результирующих переменных, функции адаптера по организации и взаимодействию с обменными областями целесообразно переложить на типовые СУБД.
Банки данных в настоящее время находят все более широкое применение для организации межмодульного интерфейса. Их использование наиболее эффективно, когда совокупность модулей программного обеспечения зафиксирована и не подлежит изменениям в дальнейшем. В этом случае необходимо составить логическую схему для всей области обмена, в которой были бы указаны наименования переменных, их взаимосвязи, тип представления. Обращение из программных модулей для получения значений необходимых переменных должно выполняться с помощью операторов взаимодействия с СУБД. Применение банков данных для целей организации информационного обмена сокращает сроки разработки информационного и программного обеспечения САПР. /1/
2. АЛГОРИТМИЧЕСКАЯ ЧАСТЬ
2.1. Математическое решение задачи
Пусть даны два уравнения с двумя неизвестными
F1(x,у)=0, (1)
F2(x,у)=0
действительные корни которых требуется найти с заданной степенью точности.
Мы предположим, что система (1) допускает лишь изолированные корни. Число этих корней и их грубо приближенные значения можно установить, построив кривые F1(x,у)=0; F2(x,у)=0 и определив координаты их точек пересечения.
Пусть х=x0; у=y0-приближенные значения корней системы (1), полученные графически или каким-нибудь другим способом (например, грубой прикидкой).
Дадим итерационный процесс, позволяющий при известных условиях уточнить данные приближенные значения корней. Для этого представим систему (1) в виде
x=1(x,y),
y=2(x,y)
и построим последовательные приближения по следующим формулам:
x1=1(x0,y0); y1=2(x0,y0);
x2=1(x1,y1); y1=2(x1,y1); (3)
xn+1=1(xn,yn); yn+1=2(xn,yn)
Если итерационный процесс (3) сходится, т. е. существуют пределы
=lim xn и =lim yn,
n n
то, предполагая функции 1(x,y) и 2(x,y) непрерывными и переходя к пределу в равенстве (3) общего вида, получим:
lim xn+1=lim 1(xn,yn)
n n
lim xn+1=lim 2(xn,yn)
n n
Отсюда =1(,); =2(,)
т. е. предельные значения и являются корнями системы (2), а следовательно, и системы (1). Поэтому, взяв достаточно большое число итераций (3), мы получим числа xn и yn, которые будут отличаться от точных корней x= и y= системы (1) сколь угодно мало. Поставленная задача, таким образом, окажется решенной. Если итерационный процесс (3) расходится, то им пользоваться нельзя.
Теорема. Пусть в некоторой замкнутой окрестности R {axA; byB}(рис.) имеется одна и только одна пара корней x= и y= системы (2). Если:1) функции 1(x,y) и 2(x,y) определены и непрерывно дифференцируемы в R; 2) начальные приближения x0, y0 и все последующие приближения xn, yn (n=1,2...) принадлежат R; 3) в R выполнены неравенства
1/x+2/x q1<1
1/x+2/x q2<1
то процесс последовательных приближений (3) сходится к корням x= и y= системы (2), т.е.
=lim xn и =lim yn,
n n
Рисунок 2.1-Графики уравнений в замкнутой окрестности.
Структурная схема решения задачи представлена на рисунке 2.2.
Нет Да
Рисунок 2.2-Структурная схема решения задачи.
3. РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
3.1. Построение структуры программного обеспечения
При программировании использовался язык программирования Turbo Pascal. Текст программы приведен в приложении A. На рисунке 3.1 представлена структура программы, решающей поставленную задачу. Программа имеет монолитно-модульную структуру.
Рисунок 3.1-Монолитно-модульная структура программы
Опишем некоторые основные стандартные процедуры и функции, используемые для формирования собственных процедур.
Для установки (инициализации) графического режима служит функция initgraph ( ).
InitGraph(gd,gm,'');
(gd-graphic driver, gm-graphic mode);
Функция initgraph( ) считывает в память соответствующий драйвер, устанавливает видеорежим, и определяет маршрут к директории, в которой находится драйвер egavga.bgi.
При работе с цветом активно использовалась функция SetColor (int color), выставляющая цвет надписи и фоновый цвет. В программе с помощью этой функций выводились следующие цвета:
-
синий - SetColor(LightBlue);
2) красный - SetColor(LightRed);
3) белый - SetColor (White);
4) зеленый - SetColor(LightGreen);
Функция outtextxy (int x, int y, textstring text ) позволяет осуществить вывод текстовой строки textstring, начиная с точки с координатами x,y.
Для очистки экрана от информации использовалась функция ClearScreen(ClrScr). Функция CloseGraph в конце процедуры выводит систему из графического режима.
В программе используется следующие типы констант:
- integer - целочисленные значения; - real - действительные значения;
- text - тип текстового файла; Модули pcx,pcx1-графические, используются для установления параметров экрана. В частности, в следующих строках устанавливается режим работы VGAhi.
gd:=VGA; gm:=vgahi;
У этого режима работы следующие характеристики:
-разрешение: 640 на 480
-число цветов: 16;
Также вместе с запускным файлом должны находится следующие файлы:
- egavga.bgi - EGA/VGA Video Driver
3.2. Описание диалога с пользователем
При запуске программы на экране монитора рисуется график требуемой в задаче функции “Лемнискаты Бернули”. После первого нажатия клавиши Enter, программа показывает первоначальные приближения функции и окончательные значения x и y. После второго нажатия клавиши Enter программа завершает работу.
ЗАКЛЮЧЕНИЕ
В процессе написания данной курсовой работы, были приобретены навыки работы с пакетом программ MS Office 2000, в частности, с текстовым редактором Word 2000, что, наверняка, облегчит дальнейшее общение с компьютером. Были получены новые знания в таких науках, как "Технология программирования" и "Дискретная математика".
Сама программа была написана на языке программирования TurboPascal, являющемся сейчас одним из самых распространенных в мире, наряду с Си и Си++.
При подготовке данной работы использовалось техническое обеспечение со следующими характеристиками:
-компьютер AMD K5-100/16/6.4 Gb/SVGA 2 Mb/FDD 3.5/14' LG
-принтер Epson Stylus Color 600
Список использованных источников
1. Норенков И.П. Системы автоматизированного пректирования: Учебное пособие для ВТУЗов: в 9 кн/Кн. 3: Федорук В.Г. Черненький В.М. Информационное и пограмное обеспечение. - М.: Высшая школа, 1986.-159 с.
2. Технология разработки программных средств: Методические указания / Э.И.Воробьёв, О.Ю.Макаров, А.В.Антиликаторов; Воронеж. гос.тех. ун-т.- Воронеж, 1997.- 24 с.
3. Курсовое проектирование. Организация, порядок проведения, оформление расчётно-пояснительной записки и графической части: Стандарт предприятия / Г.Д. Дель; Воронеж. гос. тех. ун-т. - Воронеж, 1998.- 48 с.
1>1>














