Курсовая работа: Разработка программного обеспечения
В крупных САПР, программы которых оперируют с большим числом входных, промежуточных и результирующих переменных, области обмена удобно организовывать в виде некоторого банка данных. Это позволяет возложить часть функций, выполняемых адаптером, на СУБД, что в конечном итоге сокращает время на разработку информационного и программного обеспечения САПР.
Таким образом, адаптер выполняет всю совокупность операций по организации информационного взаимодействия между программными модулями. В случае разноязыковых модулей адаптер практически берет на себя выполнение соответствующих функций операционной системы. Достаточно сложной является также задача построения области обмена, поскольку ее решение связано со структурированием всех переменных, участвующих в информационном обмене. В крупных САПР, программные модули которых оперируют с большим числом входных, промежуточных и результирующих переменных, функции адаптера по организации и взаимодействию с обменными областями целесообразно переложить на типовые СУБД.
Банки данных в настоящее время находят все более широкое применение для организации межмодульного интерфейса. Их использование наиболее эффективно, когда совокупность модулей программного обеспечения зафиксирована и не подлежит изменениям в дальнейшем. В этом случае необходимо составить логическую схему для всей области обмена, в которой были бы указаны наименования переменных, их взаимосвязи, тип представления. Обращение из программных модулей для получения значений необходимых переменных должно выполняться с помощью операторов взаимодействия с СУБД. Применение банков данных для целей организации информационного обмена сокращает сроки разработки информационного и программного обеспечения САПР. /1/
2. АЛГОРИТМИЧЕСКАЯ ЧАСТЬ
2.1. Математическое решение задачи
Пусть даны два уравнения с двумя неизвестными
F1 (x,у)=0, (1)
F2 (x,у)=0
действительные корни которых требуется найти с заданной степенью точности.
Мы предположим, что система (1) допускает лишь изолированные корни. Число этих корней и их грубо приближенные значения можно установить, построив кривые F1 (x,у)=0; F2 (x,у)=0 и определив координаты их точек пересечения.
Пусть х= x 0 ; у= y 0 - приближенные значения корней системы (1), полученные графически или каким-нибудь другим способом (например, грубой прикидкой).
Дадим итерационный процесс, позволяющий при известных условиях уточнить данные приближенные значения корней. Для этого представим систему (1) в виде
x=j1 (x,y),
y=j2 (x,y)
и построим последовательные приближения по следующим формулам:
x1 =j1 (x0 ,y0 ); y1 =j2 (x0 ,y0 );
x2 =j1 (x1 ,y1 ); y1 =j2 (x1 ,y1 ); (3)
xn+1 =j1 (xn ,yn ); yn+1 =j2 (xn ,yn )
Если итерационный процесс (3) сходится, т. е. существуют пределы
x=lim xn иh=lim yn ,
n ® ¥ n ® ¥
то, предполагая функции j1 (x,y) и j2 (x,y) непрерывными и переходя к пределу в равенстве (3) общего вида, получим:
lim xn+1 =lim j1 (xn ,yn )
n ® ¥ n ® ¥
lim xn+1 =lim j2 (xn ,yn )
n ® ¥ n ® ¥
Отсюда x=j1 (x,h); h=j2 (x,h)
т. е. предельные значения x и h являются корнями системы (2), а следовательно, и системы (1). Поэтому, взяв достаточно большое число итераций (3), мы получим числа xn и yn , которые будут отличаться от точных корней x=x и y=hсистемы (1) сколь угодно мало. Поставленная задача, таким образом, окажется решенной. Если итерационный процесс (3) расходится, то им пользоваться нельзя.
Теорема . Пусть в некоторой замкнутой окрестности R {a£ x£A; b£y£B}(рис.) имеется одна и только одна пара корней x=x и y=hсистемы (2). Если:1) функции j1 (x,y) и j2 (x,y) определены и непрерывно дифференцируемы в R; 2) начальные приближения x0 , y0 и все последующие приближения xn , yn (n=1,2...) принадлежат R; 3) в R выполнены неравенства