русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Адаптируемость пакетов программ


Дата добавления: 2013-12-24; просмотров: 2486; Нарушение авторских прав


Пакет прикладных программ (ППП) - это совокупность совместимых программ для решения определенного класса задач. ППП всегда ориентируется на пользователей определенной квалификации, как в программировании, так и в той области, к которой относятся задачи, решаемые с применением этого ППП.

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

П.4 Интегрирование тригонометрических функций

Интеграл вида , где рациональная функция переменных и , можно свести к интегралу от рациональной функций с помощью подстановки:

, так как

.

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

В частных случаях удобнее пользоваться другими подстановками:

Если , то ;

если , то ;

если , то или .

 

Далее указаны некоторые интегралы и подстановки, которые сводят интегралы от иррациональных функций к интегралам от тригонометрических функций.

 

или

или

или

 

Пакет, как правило, состоит из нескольких программных единиц. Такие программные единицы обычно называют программными модулями. Пакет предназначен для решения задач определенного класса. Этот класс задач обычно называют предметной областью пакета. Применительно к ППП для решения расчетных задач предметная область определяет некоторую структуру данных, т.е. организацию входных, промежуточных и выходных данных. Говорят, что пакет использует информационную базу, соответствующую своей предметной области.

Для реализации выбранных пользователем конкретных действий пакет должен воспринимать от пользователя управляющую информацию. Эта управляющая информация представляется на формальном языке - входном языке пакета. Описание конкретного задания пользователя на входном языке пакета называют программой на входном языке (ПВЯ).



Решение каждой задачи в пакете сводится к выполнению соответствующего алгоритма. Программные модули пакета, реализующие алгоритмы решения задач, предусмотренных в пакете, будем называть обрабатывающими модулями. Обрабатывающие модули выполняют преобразование данных, составляющих информационную базу пакета.

Для того чтобы преобразовать задание пользователя в последовательность вызовов обрабатывающих модулей, в пакет должны входить управляющие модули.

Чтобы обеспечить взаимодействие пакета с пользователем и управляющих модулей пакета с информационной базой и обрабатывающими модулями, в состав пакета включаются обслуживающие модули.

Таким образом, ППП можно рассматривать как объединение входного языка, информационной базы, управляющих, обслуживающих и обрабатывающих программных модулей. Совокупность обрабатывающих модулей часто называют функциональным наполнением пакета. Управляющие и обслуживающие модули называются системной частью пакета, или системным наполнением пакета.

Модель предметной области (МПО) ППП можно представить совокупностью данных (переменных), используемых в пакете при решении задач, и связей между этими данными.

Каждое используемое в пакете данное в модели предметной области характеризуется именем, типом и значением. Совокупность данных в модели предметной области представляет информационную базу пакета. Данные в информационной базе связаны между собой - образуют некоторую структуру данных. Характер этих связей определяется при разработке информационной базы пакета и обычно не изменяется в процессе функционирования пакета. Будем называть такие связи связями по определению. Таким образом, связи по определению - это связи, устанавливаемые в информационной базе при построении модели предметной области пакета.

Иной характер носят связи, реализуемые обрабатывающими модулями пакета. Эти связи предопределены и потенциально присутствуют в модели предметной области, но реализуются только по прямому или косвенному указанию пользователя в процессе решения конкретной задачи, в ходе работы пакета. Такие связи будем называть функциональными.

Можно представить модель предметной области (МПО) как объединение множества данных, связей по определению и функциональных связей:

MПO = {X,R,F},

где X - множество данных;

R - множество связей по определению;

F - множество функциональных связей.

 

В правильно построенной модели предметной области реализация функциональной связи не должна разрушать связи по определению. В этом состоит условие непротиворечивости совокупности функциональных связей.

Функционирование ППП включает выполнение модулей ввода данных и обрабатывающих модулей. Каждый такой модуль может изменять значения данных.

Состояние модели предметной области или состояние вычислительного процесса можно характеризовать вектором

S= (s1 ... sn),

где п - число данных (элементов множества X),

si=1, если значение i-го данного установлено (известно),

si=0, если значение i-го данного не определено.

Состояние вычислительного процесса и МПО изменяются под воздействием управляющей информации, задаваемой пользователем. Если пользователь вводит значение данного xi, то оно получает новое значение. При этом должны быть проверены связи по определению, и если они не удовлетворяются, значение этого данного становится неопределенным.

Если пользователь требует выполнить некоторый обрабатывающий модуль и все входные данные этого модуля известны, то выходные данные этого модуля получают новые значения.

Таким образом, функционирование пакета отображается на модели предметной области изменением состояния модели. Если в начале работы с пакетом пользователь установил значения некоторых данных и модель оказалась в состоянии S0, то при выполнении обрабатывающих модулей f1, f2, ... , fk модель будет последовательпно проходить состояния S1 ... Sk. В модели предметной области, содержащей п данных (переменных), возможны 2n различных состояний. В действительности из-за наличия связей по определению и функциональных связей число реально осуществимых состояний будет значительно меньшим.

Возможные состояния модели и связи между ними могут быть представлены графом переходов, узлы которого соответствуют состояниям модели, а дуги - выполняемым модулям пакета.

 

 

Законченное задание на решение задачи или на выполнение отдельного этапа вычислений обычно называют программой на входном языке (ПВЯ).

Если пакет применяется в режиме диалога, типичном для большинства современных ППП, программа на входном языке может вводиться по частям, содержание очередной части программы может определяться пользователем на основе анализа результатов выполнения предыдущих частей программы. В этой ситуации под входным языком следует понимать средства общения пользователя с ППП, используемые в процессе диалога.

В современных ППП, ориентированных на пользователей-непрограммистов, чаще всего применяются языки табличного типа, командного типа и языки типа меню.

В языке табличного типа вводимая пользователем информация представляется в виде одной или нескольких таблиц. Форма таблицы, возможно с заполненными отдельными графами или позициями, выводится на экран, и пользователь должен занести необходимую информацию в клетки таблицы. Такая форма представления информации удобна для ввода значений данных.

В языках командного типа управляющие предложения строятся по типу машинных команд или команд ОС, т.е. состоят из кода команды (операции) и операндов. Если количество кодов команд невелико, правила записи операндов достаточно простые, такой язык может быть удобным для пользователя.

При входном языке типа меню инициатива диалога полностью принадлежит управляющей программе пакета. Запуск пакета приводит к выводу на экран главного меню - списка допустимых действий. Совокупность заранее подготовленных меню часто образует древовидную иерархическую структуру.

 

Можно выделить два способа внешнего управления ППП: процедурно-ориентированный и проблемно-ориентированный.

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

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

Под планированием вычислительного процесса в ППП будем понимать определение такой последовательности вызовов обрабатывающих модулей, которая обеспечивает вычисление значений данных, указанных пользователем.

Обрабатывающий модуль и соответствующую ему функциональную связь можно рассматривать как функцию y=fi(x), где х есть входные (исходные) данные модуля, у - выходные данные (результаты выполнения модуля). В общем случае х и у могут быть векторами, составленными из элементов X.

В текущем состоянии S обрабатывающий модуль fi будем называть выполнимым, если значения всех компонентов х известны. Выполнимый модуль будем называть эффективным в состоянии S, если его вызов переводит модель предметной области в новое состояние S' <> S.

Совокупность функциональных связей в модели предметной области пакета можно представить матрицами Т и R, имеющими по m строк (m - число функциональных связей) и по п столбцов (п - число данных). Элемент матрицы Т – tij равен:

  • 1, если j-e данное является входным для i-го модуля;
  • 0 в остальных случаях.

Аналогично элементами матрицы R будут rij:

  • 1, если j-e данное является результатом i-го модуля;
  • 0 в остальных случаях.

Если рассматривать S как вектор-строку с элементами 1 и 0 и операции & (конъюнкцию–логическое умножение), V (дизъюнкцию–логическое сложение ) и ~ (отрицание - инверсия) интерпретировать как поэлементные булевские операции над битовыми строками, то условие выполнимости модуля fi можно записать так:

Ti & S=Ti ,

где Ti - строка матрица T, соответствующая модулю fi.

Выполнимый модуль будет эффективным, если Ri & (~S)<>0, т.е. результатом вычисления выражения Ri & (~ S) будет битовая строка, содержащая хотя бы одну единицу.

Если обозначить вектор исходного состояния S0, а требования к конечному состоянию определить вектором Z, и принимая, что компоненты этих векторов равны единице для известных данных и равны нулю для данных с неопределенными значениями, то конечное состояние - это любое состояние Sk, удовлетворяющее условию

Sk & Z=Z.

Задача планирования вычислительного процесса в этой интерпретации состоит в поиске пути на графе переходов из заданного исходного узла в любой из узлов, соответствующих этому условию.

Один из возможных алгоритмов планирования вычислений основан на так называемом методе "прямой волны". Сущность этого метода состоит в том, чтобы последовательно (в цикле по строкам матриц Т и R) включать в управляющий вектор все модули, эффективные в каждом текущем состоянии модели предметной области, и повторять этот процесс до тех пор, пока не будет получено одно из конечных состояний.

Если задача планирования вычислений разрешима, то алгоритм прямой волны позволяет получить одно из возможных решений. Вместе с тем в управляющий вектор этот алгоритм включает и лишние модули, выполнение которых не требуется для вычисления искомых данных.

Управляющий вектор можно улучшить, если применить к нему алгоритм метода обратной волны, суть которого состоит в следующем: начиная с конечного состояния, определяемого вектором искомых данных Z, отыскивать в управляющем векторе U модули, результатом которых являются данные, входящие в Z, отмечать их как выбранные и дополнять вектор Z неизвестными на данном шаге входами выбранного модуля.

 

 



<== предыдущая лекция | следующая лекция ==>
П.3 Интегрирование иррациональных функций | Проектирование программ сложной структуры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.257 сек.