Стандартные пакеты прикладных программ для решения задач математического программирования
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Михайлов Дмитрий Юрьевич
Инженерная сфера требует использования программных средств моделирования, тестирования и отладки управляющих программ. Критериями выбора являются возможности ПО, его ресурсные ограничения, стоимость, доступность справочного материала. Проводится краткий обзор используемых для этих целей приложений.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Михайлов Дмитрий Юрьевич
BRIEF REVIEW OF MATHEMATICAL SOFTWARE
Engineering requires software tools for modeling, testing and control program debugging. The selection criteria are software capabilities, software resource limitations, cost, availability of reference materials. The article provides brief review of applications used for these purposes.
Текст научной работы на тему «Краткий обзор математического программного обеспечения»
Moiseev Anton Stanislavovich, the head of department, asmoiseev 71 @yandex. ru, Russia, Tula, JSC «KBP»
КРАТКИЙ ОБЗОР МАТЕМАТИЧЕСКОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Инженерная сфера требует использования программных средств моделирования, тестирования и отладки управляющих программ. Критериями выбора являются возможности ПО, его ресурсные ограничения, стоимость, доступность справочного материала. Проводится краткий обзор используемых для этих целей приложений.
Ключевые слова: компьютерное моделирование, программное обеспечение, инженерные расчеты.
В настоящее время технические устройства любых назначений и свойств широко распространены во всем мире. В качестве одного из наиболее распространённого способа для отработки модели изделия, удешевления производства, а также для упрощения процесса испытаний используют компьютерное моделирование.
Важными критериями выбора необходимого программного обеспечения (ПО) являются функциональные возможности, ресурсные ограничения, стоимость продукта, лицензионные ограничения, доступность литературы. Существует множество математических программ, позволяющих заниматься совершенно разными техническими задачами - от калькулятора, работающего с числами и буквенными выражениями, до приложений, позволяющих смоделировать целые динамически изменяющиеся системы. Остановимся на некоторых из них.
Программа Macsyma (Massachusetts computation symbolic algebra) (рис. 1) - одна из первых оперирующих символьной математикой математических программ, что позволяет вести расчеты не только численно, но и аналитически. Приложение является развитым аппаратом линейной алгебры и дифференциальных уравнений, ориентированным не на теоритиче-ские исследования, а на прикладные расчеты. Следствием этого является отсутствие (сокращение) разделов, связанных с теорией (теория групп, теория чисел и др.).
В качестве одного из главных преимуществ этого приложения можно отметить возможность пользователем решать аналитически и численно большое количество различных типов уравнений в частных производных [4].
Macsyma работает в интерактивном режиме - команды и результат отображаются в командной строке.
Рис. 1. Интерфейс пользователя в виде рабочей тетради
Для решения специализированных задач программа имеет специальные пакеты расширений: графика, геометрический пакет, прикладная математика, векторное исчисление, интегральные преобразования, обыкновенные дифференциальные уравнения, интегральные уравнения, а также обработка данных [4].
Данный инженерный программный продукт может иметь применение в школьном учебном процессе, а также при ведении расчетов без использования визуального программирования процессов.
Mathcad (рис. 2) - программное средство для выполнения на компьютере математических расчетов, имеющее простой в работе и освоении графический интерфейс. Инструментарий приложения позволяет работать с формулами, текстами, графиками, числами. МаШсаё имеет большое количество логических функций, а также операторов, позволяющих проводить вычисления как численно, так и символьно, операции с векторными, скалярными величинами, матрицами. Также имеется возможность перевода единиц измерения [5].
МаШсаё имеет широкие возможности: решение дифференциальных уравнений, построение графиков, использование греческого алфавита, символьные операции, работа с векторами и матрицами, аппроксимация, поиск корней функций и многочленов, работа с единицами измерения.
В качестве достоинства программы можно отметить автоматизацию процесса вычисления, удобный интерфейс программы, интеграцию численных и символьных математических инструментов, поддержку работы с единицами измерения физических величин.
Для решения каких-либо специализированных задач возможности программ могут расширяться пакетами, имеющими дополнительные функции и константы: пакет для анализа данных, обработки сигналов, изображений и многое другое.
Рис. 2. Программа Mathcad
MathCad позволяет работать с данными программ Машой Excel, MatLab, ANSYS ШогкЬепсЬ Результаты всех вычислений сохраняются в рабочих листах с возможностью преобразования в ряд форматов, включая MS ШоМ, XML, PDF и HTML.
Приложение имеет широкое применение при решении инженерных задач, создании интерактивных документов для обучения, визуализации вычислений. К недостаткам ПО относятся: невозможность построения параметрически заданных поверхностей с непрямоугольной областью определения параметров, отсутствие библиотек для визуального моделирования, отсутствие автоматического переноса длинных уравнений.
Octave (рис. 3) был задуман в 1988 году как программное обеспечение для изучения химической конструкции реактора и представляет собой интерактивный командный интерфейс.
Рис. 3. Программа Octave
ПО поддерживает работу со всеми основными ОС [3], данные в которых представляются в виде матриц. Ойауе включает в себя функции для дифференцирования, интегрирования, а также численного и аналитического решения нелинейных систем и уравнений. Приложение позволяет решать разнообразные задачи при помощи инструментов оптимизации, анализа и обработки данных эксперимента, идентификации, и т.д.
К недостаткам данного ПО для его применения в моделировании систем автоматического управления (САУ) можно отнести отсутствие библиотек для визуализации модели, а также только численное решение математических задач, что не всегда дает необходимую точность.
LabVIEW (ЬаЬога1;огу Virtual Instrument Engineering ШогкЬепеИ) -это коммерческий продукт, появившийся на рынке в 1986 году, являющийся средой графического программирования, выпущенной для инженеров, преподавателей, технических специалистов, ученых. Приложение позволяет разрабатывать прикладное ПО для организации связи с управляющей и измерительной аппаратурой, сбора, обработки, отображения информации и результатов, а также моделирования систем и их объектов.
Программы, созданные в LabVIEW, представляют собой графические диаграммы, подобные обычным блок-схемам. В состав LabVIEW входят библиотеки управления различными аппаратными средствами и интерфейсами, такими, как PCI, VME, VXI, системами технического зрения и др. Также имеется возможность связи с фрагментами С/С++, БОЯТКАК, Pascal, Basic, что позволяет говорить о широкой поддержке многих видов аппаратных средств.
Одной из «изюминок» программы является возможность создания виртуальной панели приборов, что превращает персональный компьютер и набор произвольного контрольно-измерительного оборудования в многофункциональный измерительно-вычислительный комплекс. Пакет также может работать с данными программ MathCad, MatLab, Sci^s. Программа LabVEIW является средой графического программирования, что означает сведение работы к созданию блок-диаграмм и в дальнейшем - к компиляции в бинарный исполняемый код.
К недостаткам LabVIEW - системы относятся сложность в освоении и большая стоимость лицензии, так как первоначально пакет был создан для использования в исследовательских лабораториях фундаментальной науки (например CERN в Европе), а также в отраслевых промышленных лабораториях.
SciLab (рис. 4). ПО разрабатывалось исследовательскими институтами INRIA и ENPC, а с мая 2003 г. Scilab Сошогйит взял на себя поддержку этого продукта [7].
Хотя Scilab распространяется с открытым исходным кодом и бесплатно, его возможности вычисления вполне сравнимы с компьютерными математическими системами профессионального уровня.
Являясь некоммерческим аналогом инженерного ПО MatLab, Scilab имеет схожий с ним интерфейс, принципы взаимодействия с пользователем (через командную строку), то есть, по сути, является облегченным вариантом вышеупомянутого коммерческого приложения с сохранением основных возможностей [13]. К специальным функциям, поддерживаемым Scilab, относятся функции сглаживания и аппроксимации, функции Бесселя, эллиптические интегралы, а также возможность работы с матричными и обычными полиномами. Scilab предназначен почти исключительно для реализации численных методов и по умолчанию оперирует с любыми значениями как с числами с плавающей точкой, что также является его особенностью.
Рис. 4. Программа Scilab
Приложение имеет профессионально выполненную графическую часть, позволяющую выводить поток данных как во внешние файлы, так и на экран.
Scilab содержит полноценную справочную систему с полным справочником по функциям в HTML-формате, а также с коллекцией примеров.
Хотя Scilab является типичным интерпретатором, его стандартные средства включают некоторые интерактивные возможности, делающие процесс общения с системой более простым и наглядным, например, создание диалоговых окон, выполнение файловых операций и ввод матриц.
SciLab обеспечивает широкий набор дополнительных инструментов: моделирование систем в режиме реального времени, бибилотеки для численных расчетов, работы в области робототехники, летательных аппа-
ратов, построения графиков. Также имеются узкоспециализированные пакеты для анализа динамических систем, цифровой обработки сигналов, оптимизации.
В качестве входных данных инженерный пакет SciLab использует полученную из программ Maple, MatLab, LabVIEW информацию.
Модуль Sci^, входящий в состав данного ПО, - это система компьютерного моделирования, аналогичная Simulink - инструменту для редактирования блочных диаграмм и симуляции.
ПО поддерживает взаимодействие с кодом на языках С и РоНтап, а также имеет возможность отладки процесса моделирования, что дает возможность получать информацию о переменных по ходу выполнения процедуры.
Среди недостатков, присущих пакету, можно отметить следующие: слабая поддержка аналитических операций, ограничение количества символьно-аналитических операций, неинтерактивность отладчика.
Таким образом, можно сделать вывод, что данное ПО позволяет создавать недорогие конкурентоспособные решения в области численной реализации алгоритмов и обработки данных. Возможности SciLab хорошо подходят для ведения научных расчетов и анализа полученной информации в области физики, энергетики, химии.
Одной из старейших программ (создана в 70-е гг. прошлого века) для систем автоматизации математических расчетов является Matlab (рис. 5). Она основана на расширенном применении и представлении матричных операций.
Рис. 5. Программа Matlab
Язык Matlab - высокоуровневый интерпретируемый язык программирования, включающий матричные структуры данных, интегрированную среду разработки, обширный спектр возможностей, объектно-ориентированные функции и интерфейсы к программам, которые созданы при помощи других языков программирования.
Различают два типа программ, созданных при помощи пакета Matlab - скрипты и функции. Функции содержат входные и выходные аргументы, а также свое рабочее пространство для сохранения промежуточных результатов расчетов и переменных. В свою очередь, скрипты оперируют общим рабочим пространством. Кроме того, можно сохранить pre-parsed - программы - функции и скрипты, которые обработаны в виде, удобном для машинного исполнения, выполняющиеся значительно быстрее обычных.
Расширить функции Matlab помогает возможность создания специальных наборов инструментов. Они представляют собой коллекцию функций, которые написаны на языке Matlab для решения специализированных задач. В частности, это:
- цифровая обработка сигналов, изображений и данных: DSP Тоо1Ьох;
- системы управления: Control Systems Тоо1Ьох;
- сбор и анализ экспериментальных данных: Data Acquisitiоn ТооШох;
- набор инструментов для визуализации и представления данных: Virtual Reality ТооШох;
- инструменты для синтеза и анализ нейронных сетей: Neural Net^^rk ТооШох [1].
К совместимым с Matlab программам относятся: GNU ОctaveMaxima, FreeMat, Scilab, Maple, Таблицы Exce1.
Matlab включает в свой состав библиотеку визуального программирования Simulink. Это позволяет построить логическую схему системы управления, используя стандартный набор блоков. Закончив конструирование схемы, можно детально проанализировать ее работу. Значения параметров, сигналы и атрибуты схемы отображаются непосредственно на самой схеме или вводятся из текстовой консоли. Программа Matlab осуществляет работу с различными типами данных: вещественными, целыми, матрицами, с фиксированной запятой, комплексными, векторами, при этом также работает и с пользовательскими типами данных.
Matlab является инженерным пакетом высокого уровня, который тщательно отлажен. Он широко используется в различных сферах инженерных расчетов, научных исследований, а также проектировании систем автоматического управления.
Библиотеки программы Matlab обладают высокой скоростью численных вычислений. Основой составлений уравнений состояния динамических объектов и систем, а также автоматического решения и являются матрицы. Пакет Matlab - один из наиболее мощных и универсальных интегрированных пакетов компьютерной математики [1].
Кроме того, эта программа обладает хорошей справочной системой. Фирменная документация содержит почти 5 тысяч страниц, что, правда, делает ее труднообозримой. Стоит отметить, продукт является коммерческим и не имеет открытого программного кода, а также имеет высокую стоимость лицензии.
Matlab широко используется в науке, технике и образовании. Он дает возможность анализировать данные, которые охватывают практически все области математики: многочлены и интерполяция, матрицы и линейная алгебра, математическая статистика и анализ, дифференциальные уравнения, обработка данных, разреженные матрицы.
Обширные возможности визуализации данных также предоставлены в Matlab. В его составе есть достаточное количество функций, чтобы построить графики, в том числе трёхмерные, провести визуальный анализ данных и создать анимированные ролики.
Matlab - одна из самых глобальных программ компьютерной математики, которая вобрала опыт, правила и методы математических вычислений, объединила знания за тысячи лет развития математики. Документацию системы вполне можно считать фундаментальным многотомным электронным справочником по математическому обеспечению [1].
SimlnTech - российская система модельно-ориентированного проектирования САУ. Программное обеспечение SimInTech состоит из графической среды разработки и исполнительной системы реального времени NordWind. SimInTech - среда создания математических моделей, интерфейсов управления и алгоритмов управления.
SimInTech предназначен для подробного исследования и анализа нестационарных процессов в различных объектах управления. Приложение позволяет решать задачи моделирования энергетических объектов, а также транспортных, нефтегазовых и др. Возможности SimInTech позволяют также создавать тренажеры [8].
На данный момент SimInTech проигрывает Matlab в количестве дополнительных модулей для специализированных задач.
Данный обзор включает в себя далеко не все приложения, позволяющие заниматься инженерными расчетами и математическим моделированием. Современные математические и инженерные пакеты могут быть успешно использованы для совершенно разных задач. В зависимости от поставленных целей и имеющихся ресурсов пользователь может как заниматься расчетами формул в пакете Mathcad, так и моделировать динамику объекта в SciLab. Среди представленных в обзоре вариантов программного
обеспечения наиболее мощный и развитый инструментарий имеет ПО Matlab, что позволяет ему максимально эффективно выполнять задачи расчетов, моделирования и отладки сложных технических систем.
1. Дьяконов В. П. MATLAB. Полный самоучитель. М.: ДМК Пресс, 2012. 768 с.
2. В.Ф. Худяков, В. А. Хабузов. Моделирование источников вторичного электропитания в среде MATLAB 7.x: учеб. пособие. СПб.: ГУАП, 2008. 332 с.
3. Алексеев Е.Р., Чеснокова О.В. Введение в Octave для инженеров и математиков. М.: ALT Linux, 2012. 368 с.
4. Чичкарёв Е.А. Компьютерная математика с Maxima: руководство для школьников и студентов. М.: ALT Linux, 2012. 384 с.
5. Очков В.Ф. Теплотехнические этюды с Excel, Mathcad и Интернет, 2014. 336 с.
6. Макаров Е. Инженерные расчеты в MathCAD: учеб. курс. СПб.: Питер, 2003. 218 с.
7. Алексеев Е.Р., Чеснокова О.В., Рудченко Е.А. Scilab: Решение инженерных и математических задач. М.: ALT Linux; БИНОМ. Лаборатория знаний, 2008. 260 с.
8. Среда динамического моделирования технических систем SimlnTech. Практикум по моделированию систем автоматического регулирования / Б.А. Карташов, Е.А. Шабаев, О.С. Козлов, А.М. Щекатуров. ДМК Пресс, 2017. 424 с.
Михайлов Дмитрий Юрьевич, инженер, khkedratula. net, Россия, Тула, АО «КБП»
BRIEF REVIEW OF MATHEMATICAL SOFTWARE D. Y. Mikhailov
Engineering requires software tools for modeling, testing and control program de-hugging. The selection criteria are software capabilities, software resource limitations, cost, availability of reference materials. The article provides brief review of applications used for these purposes.
Key words: computer simulation, software, engineering evaluation.
Mikhaylov Dmitry Yuryevich, engineer, khkedratula. net, Russia, Tula, JSC «KBP»
Пакеты прикладных программ (ППП) служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Установка программных продуктов на компьютер выполняется квалифицированными пользователями, а непосредственную их эксплуатацию осуществляют, как правило, конечные пользователи – потребители информации, во многих случаях деятельность которых весьма далека от компьютерной области. Данный класс программных продуктов может быть весьма специфичным для отдельных предметных областей.
Пакет прикладных программ (application program package) – комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования являются системные и прикладные программисты.
Характеристика пакетов прикладных программ. Классифицируются:
- Проблемно-ориентированные пакеты;
- Методо-ориентированные пакеты;
- Общего назначения;
- Автоматизированного проектирования;
- Офисные ПП;
- Программные средства мультимедиа;
- Настольные издательские системы;
- Интеллектуальные системы;
- Самый представительный. Внутри проводят классификацию по разным признакам (По типам предметных областей, информационным системам, функциям и комплексам задач, реализации программным способом.). Пакеты прикладных программ управляют материальными запасами, управляют производством.
Основные тенденции в области развития ПОС:
- Создание программных комплексов в виде автоматизированных рабочих мест (АРМ);
- Объединение автоматизированных рабочих мест в единый программный комплекс с архитектурой клиент-сервер;
- Организация данных больших информационных систем в виде распределенных БД.
- Оперативная обработка данных (Пропускная способность банковских систем должна составлять несколько сот транзакций в секунду).
- Большой объем хранимой информации (Повышение требований к администрированию).
- Предназначено для работы конструкторов и технологов, связанных с разработкой чертежей, схем, диаграмм, математического моделирования, создания библиотечных стандартных элементов (template) для их многократного использования.
Особенности: высокие требования к технической части обработки систем, наличие библиотеки встроенных функций и объектов, интерфейсов и баз данных.
Пакеты общего назначения
- Поддержка информационных технологий конечными пользователями (СУБД, локальных пользователей Access и пр.);
- Организация запросов специальных языков высокого уровня;
- Генерация отчетов различной структуры баз данных с промежуточными и окончательными итогами;
- Обработка встроенных функций (программы, написанные с помощью макрокоманд);
- СУБД создаются по типу меню работы конечного пользователя, каждая команда которого обеспечивает автоматизированное выполнение каждой функции.
Элементы CASE-технологии в процессе корректировки содержат:
- Визуализированная схема БД;
- Осуществлена автоматическая поддержка целостности БД при различных видах обработки (включение, удаление, модификация);
- Предоставление “мастера”, обеспечивающего поддержку процесса проектирования (режим “конструктор”);
- Прототипы структур БД (Шаблоны).
Серверы БД – успешно развивающийся вид программного обеспечения:
- Для создания и использования при работе в сети интегрированной БД в архитектуре клиент-сервер;
- Многоуровневая СУБД – типа Paradox, Access, FoxPro в сетевом варианте обработки данных – хранят информацию на файл-сервере – специальный выделенный компьютер в централизованном виде. Сама обработка данных идет на рабочих станциях;
- Серверы БД всю обработку данных выполняют самостоятельно, одновременно обеспечивая данными большое число пользователей сети;
- Большинство серверов БД поддерживают широкий аспект протоколов передачи данных и несколько платформ;
- Некоторые сервера реализуют распределенное хранение информации, поддерживают интерфейс на уровне выбора ODBC (Open Data Base Connectivity) для доступа к разнообразным БД.
DAL – Data Access Language – для создания запросов на выборку данными из сети;
SQL – для распределения запросов.
Самая большая проблема серверов баз данных – обеспечение целостности базы данных.
Генераторы отчетов (серверы отчетов):
- Самостоятельное направление развития программных средств, обеспечивающих реализацию запросов и формирование отчетов в печатном, либо в экранном виде в условиях сети с архитектурой клиент-сервер;
- Сервер отчетов подключен к серверу базы данных, использующий все уровни передач и драйверы сервера БД.
Сервер отчетов включает:
- Программы планирования (учет времени для формирования отчета ПО требуемого пользователю);
- Программы управления очередью запросов на формирование отчетов;
- Программы ведения архива отчетов.
Подготовленные отчеты рассматриваются клиентами по электронной почет или другим транспортным агентом. Серверы отчетов обычно поддерживают разнородные платформы, поэтому эффективно работать в других вычислительных сетях.
При описании текстовых процессоров следует выделить две группы программных продуктов этого типа. Первая группа ориентирована на создание документов разной степени сложности с мощными средствами форматирования и включения графики. Типичным представителем этой группы является WinWord. Вторая группа текстовых процессоров (их часто называют текстовыми редакторами) ориентирована для работы с чисто текстовыми файлами, среди которых могут быть тексты программ, написанные на различных языках, конфигурационные файлы, файлы настройки и др. Ярким представителем таких программных продуктов является MultiEdit версий, начиная с 5.0. Этот текстовый процессор имеет мощную систему контекстной замены, встроенный язык макрокоманд на уровне Visual Basic, средства поддержки внутренней среды, средства помощи при наборе ключевых слов.
Текстовый процессор - прикладное программное обеспечение, используемое для создания текстовых документов.
Возможности: автоматическое форматирование документов, вставка рисунков объектов и графики, составление оглавления и указателей, проверка орфографии, шрифтовое оформление, подготовка шаблонов документов.
Развитие данного направления программных продуктов является издательские системы.
Электронная таблица -компьютерный эквивалент обычной таблицы, в клетках (ячейках) которой записаны данные различных типов: тексты, даты, формулы, числа.
Результат вычисления формулы в клетке является изображением этой клетки. Числовые данные и даты могут рассматриваться как частный случай формул. Для управления электронной таблицей используется специальный комплекс программ - табличный процессор.
Главное достоинство электронной таблицы - это возможность мгновенного пересчета всех данных, связанных формульными зависимостями при изменении значения любого операнда.
Табличный процессор – удобная среда для вычислений конечного пользователя. Средства деловой графики, специальной обработки встроенных функций, работа с базами данных, статистическая обработка данных и программ.
Средства презентационной графики
- Специализированные программы, предназначенные для создания изображений и показа их на экране, подготовки слайдов, фильмов, мультфильмов и пр.
- Презентация может включать показ диаграмм и графиков. Все программы презентационной графики делятся на:
- Программы для подготовки слайд-шоу;
- Программы для подготовки мультимедиа презентаций.
- Для работы этих программ необходимо специальное оборудование (проекционная панель), которая подсвечивает проектором для ввода изображений.
- Презентация требует предварительного составления плана показа; для каждого слайда выполняется проектирование, определяется содержимое слайда (размер, состав элементов, способы их форматирования).
- Полнота информационных технологий для конечных пользователей;
- Однотипный интерфейс конечного пользователя для всех программ, входящих в состав интегрированного пакета;
- Общий сервис для программ интегрированного пакета (словарь, средства орфографии, построение диаграмм, конвертирование данных);
- Легкость обмена и ссылок на объекты, создание программами интегрированного пакета.
- Перенос объектов.
- Наличие единой языковой платформы для разработки макрокоманд;
- Возможность создания документов, интегрированных в себе возможности различных программ, входящих в состав интегрированного пакета.
- Обеспечивает независимо от предметной области и функции информационных систем, математические, статистические и другие методы решения задач;
- Наиболее распространены методы математического программирования, решения дифференцированных уравнений, имитационное моделирование, исследовательские операции;
- Методы статистической обработки анализа данных (раздел описательной статистики, регрессивный анализ, прогнозирование технико-экономических данных и т.д.) имеют все возрастающее применение.
- Расширенный набор встроенных функций, реализация статистической обработки, статистический анализ;
- Имеются специальные программные средства статистической обработки, обеспечивающие высокую точность, многообразие статистических методов.
- Обеспечивающие организационное управление деятельностью офиса (органайзеры). ПО для планирование рабочего времени, составление протоколов встреч, расписаний, ведения записной и телефонной книжки;
- В состав ПО органайзер входит калькулятор;
- Наиболее часто подобное ПО разрабатывается для ноутбуков;
- Программы-переводчики, средства проверки орфографии;
- Коммуникационные программные продукты (предназначены для организации взаимодействия пользователей с удаленными абонентами или информационными ресурсами сети.
- Включает программы, обеспечивающие информационную технологию компьютерной издательской деятельностью;
- Форматирование и редактирование текста. Автоматическое разбитие текста на страницы, создание заголовков, компьютерная верстка печатной страницы, монтирование графики и т.д.;
- Формат печатной страницы – А4;
- Максимальный формат печатной страницы – А2;
- Расширенные возможности по верстке;
- Неограниченное число страниц шаблонов, которые могут присутствовать в одной публикации;
- Применение различных цветных эффектов к тексту, настройка резкости, регулировка цвета, закрепление расположения объектов на странице, автоматическое выравнивание объекта;
- Разработаны и включены цветовые библиотеки.
- Относительно новый класс ПП, сформированный в связи с изменением среды обработки данных и появлением лазерных дисков высокой плотности записи с хорошими техническими параметрами, доступной ценой;
- Расширение состава периферийного оборудования, подключенного к компьютеру;
- Развитие сетевых технологий обработки, появления региональных и глобальных информационных сетей, располагающих мощными информационными ресурсами.
- База знаний;
- Интеллектуальный интерфейс с пользователем;
- Программа формирования логических выводов.
- Программные оболочки для создания экспертных систем путем наполнения баз знаний и правил логического вывода;
- Готовые экспертные системы для принятия решений в рамках определения предметных областей;
- Системы управления базами знаний для поддержания семантических моделей;
- Системы анализа и распознания речи.
- Диалоговый процессор на естественном языке;
- Планировщик (преобразование описания задачи на основе информационной базы знаний);
Набор нескольких программных продуктов, функционально дополняемых друг друга, поддерживающих единые информационные технологии, реализуемые на общей вычислительной и операционной платформе.
Яркий представитель – Microsoft Office. Компоненты пакета могут работать изолированно друг от друга. Основное достоинство – их разумное сочетание друг с другом.
Характеристика интегрированного пакета:
- DDE и OLE (динамическая компоновка объектами);
Методоориентированные пакеты прикладных программ
Современный табличный процессор Excell:
Офисные пакеты прикладных программ (ППП):
Средства интернет:
Браузеры, средства создания интернет-страниц и прочего;
Электронная почта – важный компонент;
- Различаются платформами на которых работают, ценой, условиями распространения, поддерживаемыми транспортными протоколами, интерфейсами и сетями;
Настольные издательские системы
Программные средства мультимедиа
Основное назначение этого класса программных продуктов:
Создание и использование аудио- и видео информации для расширения информационного пространства пользователя.
Программные продукты мультимедиа заняли лидирующее положение на рынке в сфере библиотечного информационного обслуживания, в процессе обучения, организации досуга, БД компьютерных изображений, произведений искусства, библиотечных звуковых записей – все это основа для прикладных обучающих систем, компьютерных игр, библиотечных каталогов и фондов.
Системы Искусственно Интеллекта (ИИ)
Данный класс ПП реализует отдельные функции интеллекта человека.
Основными компонентами системы ИИ являются:
Разработка интеллектуальных систем ведется по следующим направлениям:
Интеллектуальный интерфейс включает:
Модуляция/демодуляция голоса – главный фактор в отставании проектирования интеллектуального интерфейса.
Семантическая сеть – модель знаний, в форме графа, в основе таких моделей лежит идея о том, что любой из знания можно представить в виде совокупности объектов и связи между ними.
Классификация семантических сетей:
1. Однородные (с единым типом взаимодействий);
2. Неоднородные (с различными типами взаимодействий).
Рассмотрим некоторые технические вопросы решения задач математического программирования на ЭВМ. Если специалисту часто приходится решать однотипные задачи (например, задачи линейного программирования), он может приобрести и установить на своем компьютере готовую и апробированную совокупность программ их решения.
Такая совокупность программ называется пакетом прикладных программ. Основу пакета составляет выполняемый файл (в каталоге — ехе-файл), который, собственно, и является программой решения задачи. Кроме него, в пакет входят также файлы, содержащие описание программы, методические указания (help-файлы) и другие файлы.
Один из стандартных пакетов прикладных программ для решения задач линейного программирования — пакет LP88. Этот пакет широко используется специалистами в конкретных предметных областях. Программа LP88 позволяет организовывать и решать линейные задачи, содержащие до 255 ограничений и до 2 255 переменных.
Программа LP88 функционирует на IBM PC под управлением операцйонной системы PC DOS версий 2.00 и выше.
Подробное описание программы LP88 дано в [7]. Там же приведены методические указания по работе с этой программой. Здесь мы отметим только некоторые ее особенности.
1. Программа работает в диалоговом режиме; вопросы пользователю высвечиваются на экране. Ввод данных осуществляется с помощью редактора LP88 (Display Editor), который легко осваивается пользователем.
2. По завершении работы программы на экране появляются все ненулевые значения компонент оптимального решения, а также значения двойственных переменных.
3. Программа позволяет вносить изменения во входные данные (коэффициенты системы ограничений и целевой функции) с помощью редактора LP88. При этом не требуется вновь вводить неизмененные входные данные.
В качестве примера рассмотрим задачу об использовании ресурсов.
Фабрика выпускает три вида тканей, причем плановое задание составляет: не менее 90 м ткани 1-го вида, 70 м — 2-го и 60 м — 3-го вида.
Поиск оптимального плана на компьютере занимает несколько секунд. После завершения работы программы экран будет выглядеть так:
tkani | SOLUTION is OPTIMAL | DATE. | ||||
MAXIMUM | ENTERS | BASIS X: | 3 | |||
PIVOTS: | 5 | LEAVES | BASIS S.- | 3 | ||
LAST INV: | 0 | DELTA: | 0 | стоим | 19075 | |
BASIS | S.6 | S.2 | S.4 | ТКІ | tk2 | ткЗ |
PRIMAL | 26.25 | 26.25 | 22.25 | 112.5 | 70 | 8.25 |
DUAL | 2.5 | 0 | 25 | 0 | -37.5 | 0 |
В строке BASIS указаны основные переменные оптимального решения (тк1, тк2, ткЗ — оптимальный план выпуска ткани 1-го, 2-го, 3-го видов, S.l, S.2, S.3 — остаток 1-го, 2-го, 3-го ресурса, S.4, S.5, S.6 — перевыполнение задания по тканям соответственно 1-го, 2-го и 3-го видов).
В строке PRIMAL указаны значения основных переменных оптимального решения, в строке DUAL — значения двойственных переменных. Указатель “стоим” задает оптимальное значение целевой функции.
Подробное описание решения этой задачи приведено в [7].
С помощью функциональных клавиш — можно получать дополнительную информацию о решении, а также проводить анализ зависимости его структуры от входных данных.
Эта таблица указывает границы значений коэффициентов целевой функции (столбцы MINIMUM и MAXIMUM), которые обеспечивают сохранение типа переменных в оптимальном решении. Так, если цена 1 м ткани 1-го типа станет меньше 50 или больше 90 денежных единиц, набор основных переменных в оптимальном решении изменится (т.е. целевая функция будет достигать своего максимума в другой угловой точке системы ограничений).
Для задачи об использовании ресурсов при отсутствии ограничений снизу такие данные интерпретируются как пределы рентабельности производства продукции.
Если переменная xh которая задает выпуск /-го вида продукции, перестает быть основной в оптимальном решении, это значит, что продукцию /-го вида становится Невыгодно производить и ее не следует включать в оптимальный план производства.
В этом случае в столбцах MINIMUM и MAXIMUM указаны граница коэффициентов правой части системы ограничений, при которых не изменяется набор основных переменных в оптимальном решении двойственной задачи.
Таким образом программа LP88 позволяет не только найти решение задачи линейного программирования, но и провести его
экономико-математический анализ (оценку дефицитности ресурсов, рентабельности продукции, эффективности отдельных планов, сопоставление оптимальных условных затрат и результатов производства, определение норм заменяемости ресурсов и т.п.).
Возможность проведения экономико-математического анализа результатов существенно увеличивает преимущество решения задач на ЭВМ даже для относительно простых задач линейного программирования (см. для сравнения, например, разд. 6.5, где элементы такого анализа проведены вручную).
Количественный анализ задачи производится с помощью пробного изменения ее исходных данных. Сначала следует выявить факторы, ограничивающие производство, т.е. имеющие ненулевые объективно обусловленные оценки. Это можно сделать с помощью клавиши . Ее использование приведет к следующей записи на экране:
tkani | SOLUTION IS MAXIMUM | стоим 19 075 | |||
DUAL PROBLEM SOLUTION | |||||
ROW ID | STATUS | DUAL | RHS | USAGE | SLACK |
VALUE | VALUE | ||||
оборуд | BINDING | 2.5 | 780 | 780 | 0 |
сырье | NONBINDING | 0 | 850 | 823.75 | 26.25 |
эл-эн | BINDING | 25 | 790 | 790 | 0 |
ТК1-ПЛ | NONBINDING | 0 | 90 | 112.5 | -22.5 |
тк2-пл | BINDING | -37.5 | 70 | 70 | 0 |
ткЗ-пл | NONBINDING | 0 | 60 | 86.25 | -26.5 " |
Здесь RHS VALUE — правые части системы ограничений.
USAGE — фактическое использование ресурсов в ограничениях или фактическое выполнение плановых заданий, SLACK — разность между значениями этих столбцов. Отсюда видно (см. также разд. 6.5), что оборудование и электроэнергия являются дефицитными ресурсами и их увеличение приводит к повышению максимального дохода. Продукция тк2 — нерентабельная — уменьшение плана по этой продукции также увеличит максимальное значение целевой функции.
Рассмотрим, например, два вида изменений исходных данных: а) уменьшение задания по ткани 2-го вида на 10 единиц и б) увеличение запаса ресурса электроэнергии на 12 единиц.
В результате первого изменения на экране появится решение следующего вида:
MAXIMUM | ENTERS: | BASIS | X: | 3 | ||
PIVOTS: | 5 | LEAVES: | BASIS | S: | 3 | |
LAST INV: | 0 | DELTA 0 | стоим | 19 450 | ||
BASIS | S.6 | S.2 | S.4 | тк1 | tk2 | ткЗ |
PRIMAL | 27.5 | 47.5 | 35 | 125 | 60 | 87.5 |
DUAL | 2.5 | 0 | 25 | 0 | -37.5 | 0 |
Уменьшение плана по нерентабельному виду продукции позволило перераспределить ресурсы в пользу более рентабельных — 1-го и 3-го видов. В результате целевая функция увеличилась на 375 ден. единиц.
Второе изменение приведет к следующему решению:
MAXIMUM | ENTERS: | BASIS | X: | 3 | |
PIVOTS: | 5 LEAVES: | BASIS | S: | 3 | |
LAST INV: | 0 DELTA 0 | стоим 19 750 | |||
BASIS | S.6 S.2 | S.4 | тк1 | tk2 | ткЗ |
PRIMAL | 24.5 56.5 | 41 | 131 | 60 | 84.5 |
DUAL | 2.5 0 | 25 | • 0 | -37.5 | 0 |
Целевая функция возросла еще на 300 ден. единиц.
Программа ЬР88 позволяет также получать таблицу значений базисных решений и значений целевой функции задачи, что дает возможность следить за пошаговым его изменением. Программа ЬР88 может быть использована и в учебных целях.
Составление и отладка программ, подобной ЬР88, требуют немалых затрат и имеют смысл только в том случае, если спрос на готовые пакеты достаточно высок. Так, например, существуют стандартные программы решения оптимизационных задач с квадратичной целевой функцией. Если требуется решить частную задачу, то, как правило, приходится составлять программу самостоятельно, используя разработанный алгоритм. Стандартных текстовых программ, задающих решение частных математических задач, обычно не существует. Программистам бывает проще самим написать текст программы, чем приспособить чужой текст под свой компьютер.
Эффективность решения реальных многоразмерных оптимизационных задач определяется, как правило, тесным взаимодействием специалиста в предметной области (экономиста, менеджера и т.п.), математика и программиста.
Пакеты прикладных программ: основные сведения и классификация. Применение программного обеспечения в учебном процессе применительно к математическим и экономическим специальностям. Язык программирования и среда разработки. Специфика пакетного подхода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 20.06.2012 |
Размер файла | 13,7 K |
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Построение пакета прикладных программ «Численные методы решения задач уравнений математической физики»
Одним из условий эффективного внедрения вычислительной техники в практику является создание специализированных пакетов прикладных программ. Доступность и простота использования их создает предпосылки более широкого внедрения ЭВМ в инженерный труд, решение конкретных задач научной области, экономики, культуры, образования. Существующие пакеты прикладных программ охватывают почти все сферы человеческой деятельности связанной с обработкой информации.
Пакеты прикладных программ обычно строятся на базе специальных систем и являются дальнейшим их развитием в конкретном направлении. Они поставляются отдельно от программного обеспечения вычислительных средств, имеют свою документацию и не входят в состав операционных систем.
Прикладные программы предназначены для того, чтобы обеспечить применение вычислительной техники в различных сферах деятельности человека. Поэтому этот класс программ представляет наибольший интерес для массового пользователя компьютеров.
В нашей курсовой работе будет представлена построение пакета прикладных программ «Численные методы решения задач уравнений математической физики» и интеграция этого пакета в сетевую структуру.
1. Пакеты прикладных программ. Основные сведения и классификация
Пакет прикладних программ (аббр. ППП, Software package) - программный пакет, комплекс взаимосвязанных программ, предназначенных для решения задач определённого класса конкретной предметной области. Служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Пакеты прикладных программ можно разделить на статические (С-пакеты) и динамические (Д-пакеты). В случае С-пакета сначала происходит построение прикладной программы (работает пакет-конструктор, или К-пакет), затем проводится расчёт (пакет-вычислитель, или В-пакет), после чего графический пакет (Г-пакет) выполняет визуализацию полученных данных. Работа В-пакета и Г-пакета может происходить параллельно. На практике С-пакеты более распространены, чем Д-пакеты.
В случае Д-пакета три вышеупомянутых этапа выполняются динамически в рамках единого процесса. Такой подход может быть эффективным, но разработка Д-пакета более трудоёмка, чем у С-пакета.
Из-за огромного разнообразия прикладного ПО существует множество вариантов его классификации. Рассмотрим наиболее общую классификацию прикладных программ. Разделим данное ПО на 2 больших класса:
Пакеты прикладных программ общего назначения. К таким относятся программы, обеспечивающие выполнение наиболее часто используемых, универсальных задач (текстовые редакторы, табличные процессоры, графические редакторы, СУБД и т.д.).
Пакеты прикладных программ профессионального уровня. Программы этого класса ориентируются на достаточно узкую предметную область, но проникают в нее достаточно глубоко (издательские системы, САПР - системы автоматизированного проектирования, программы 3D-графики, программы видеомонтажа, нотные редакторы, АСУ - автоматизированные системы управления и т.д.).
прикладной программа пакет
2. Математические и статистические пакеты прикладных программ
Одним из направлений внедрения информационных технологий в вузовское образование является применение прикладного программного обеспечения в учебном процессе. Применение пакетов прикладных программ обеспечит более эффективное усвоение студентами научных знаний. Эта эффективность проявится в возможности более быстрого усвоения студентами знаний значительно большего объема. Кроме этого само прикладное программное обеспечение является элементом научного знания и студент, овладевший большим количеством пакетов прикладных программ будет более конкурентоспособным и успешным на рынке труда.
Применительно к математическим и экономическим специальностям, усовершенствование учебного процесса в соответствии с требованиями времени должно проявляться во все большем использовании таких прикладных программных продуктов как MathCAD, MATLAB, Maple, NAG FORTRAN LIBRARY, статистических пакетов. Причем первые четыре пакета целесообразно использовать при ведении курсов по высшей математике, алгебре, математическому анализу, функциональному анализу, дифференциальным уравнениям и др. Статистические пакеты - при ведении таких курсов как: теория вероятностей и математическая статистика, статистика, многомерные статистические методы, эконометрика и др.
При решении задач или выполнении учебных заданий по перечисленным выше курсам студенты сталкиваются с трудностями, вызванными громоздкостью и сложностью вычислительных процедур, что в конечном итоге приводит к большим интеллектуальным усилиям и неоправданным временным затратам. Да и качество, и содержание решаемых задач не соответствуют требованиям времени. Они излишне модельные, отвлеченные от современных реалий, малой размерности, так как предназначены для ручного счета, в лучшем случае при помощи калькулятора. Применение статистических пакетов прикладных программ позволяет: улучшить содержательную часть решаемых задач; повысить эффективность учебного процесса за счет сокращения рутинных процедур, эффективного поиска правильного решения за счет быстрой, программной реализации большого количества альтернативных способов решения.
3. Язык программирования и среда разработки
Object Pascal -- результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5.5, добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal -- динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией -- данная технология получила обозначение RTTI. Так как все классы наследуют функции базового класса TObject, то любой указатель на объект можно преобразовать к нему, после чего воспользоваться методом ClassType и функцией TypeInfo, которые и обеспечат интроспекцию.
Object Pascal (Delphi) является результатом функционального расширения Turbo Pascal.
4. Построение пакета
4.1 Пакетная модуляризация
Пусть требуется разработать программное обеспечение для проведения расчетов в некоторой предметной области. И пусть множество различных задач, возникающих в этой области, достаточно велико. Тогда построение одной «единичной» «универсальной» программы, решающей все множество задач, оказывается, как правило, нерациональным. Такая программа будет иметь гигантские размеры и труднообозримую структуру. Тем самым не только усложнится процесс ее создания, но и появится серьезное препятствие на пути последующего развития программы.
Другой подход мог бы заключаться в реализации программы для каждой задачи. Он представляется чрезвычайно расточительным, поскольку из-за общности задач предметной области в текстах программ, построенных таким образом, неизбежно будут присутствовать совпадающие или близкие по содержанию части. Это означает массовое дублирование программного материала, которое крайне затруднит последующее сопровождение и развитие.
4.1.1 Пакет и библиотека
Чтобы четче определить специфику пакетного подхода, сопоставим его с другими конфигурационными решениями. Ближе всего к пакету стоит библиотека модулей, но между ними есть принципиальное отличие. При построении библиотеки не ставится цель покрытия предметной области, т. е. формирования конкретных приложений исключительно из хранящихся в библиотеке модулей. Как правило, в выполняемой программе библиотечные модули соседствуют с модулями, разрабатываемыми и хранимыми вне библиотеки. На такие модули, создаваемые специально для конкретной программы, помимо их основной, функциональной нагрузки ложатся обычно и все заботы по обеспечению межмодульного интерфейса.
Любая выполняемая программа должна целиком составляться из модулей пакета (что позволяет, в частности, использовать пакет людям, не знакомым с программированием). Поэтому здесь основные проблемы интерфейса, т. е. межмодульных связей по данным и управлению, должны быть решены на стадии проектирования пакета и не могут быть перенесены на стадию формирования конкретных выполняемых программ.
4.1.2 Пакет и универсальная программа
Наряду с сопоставлением «библиотека -- пакет» заслуживает внимания и параллель между пакетом и «универсальной» программой. На первый взгляд, отличие между ними невелико. Скомпоновав вместе все составляющие пакет модули и снабдив их небольшой управляющей надстройкой, мы получим эквивалентную пакету «универсальную» программу. А высекая из «универсальной» программы только составляющие, участвующие в конкретном расчете, мы получим, вообще говоря, такую же выполняемую программу, как и в случае сборки ее из выделенного подмножества модулей пакета.
На самом деле главными аргументами в пользу пакетного подхода являются не непреодолимые сложности построения универсальной программы и не компактность программ, формируемых из модулей пакета. Основное преимущество пакета в том, что его архитектура делает его открытым для расширения и модификации.
Открытость пакета прикладных программ основана на возможности его развития. Расширение класса решаемых пакетом задач достигается в основном за счет подключения к пакету дополнительных вновь создаваемых модулей. При этом не требуются изменения существующих модулей, т. е. не может пострадать работоспособность отлаженных ранее версий программ.
ППП в настоящее время стали неотъемлемой частью программного обеспечения персональных компьютеров. Это объясняется большим набором функций для работы с данными, простотой освоения и работы.
В настоящее время, когда пользователь все больше обращает внимание на оперативность, наглядность предоставляемой информации, а для инженерно - технических работников все важнее становится обработка и хранение больших объемов данных, играют большую роль такие функции табличного процессора, как составление списков, сводных таблиц, возможность использования формул, копирование данных, форматирование и оформление, анализ и предоставление данных с помощью диаграмм и сводных таблиц, извлечение информации из внешних баз данных, обеспечение безопасности.
Этим же объясняется широкое применение их в различных областях деятельности человека. Они являются неотъемлемой частью информационных систем, которые облегчают доступ пользователя к информации по практически любой области науки, техники, культуры, здравоохранения, обучения. Постоянное совершенствование имеющихся пакетов электронных таблиц, появление новых делают работу с данными все более и более простой, доступной для пользователя любой квалификации.
В последнее время стало возможным в табличных процессорах создание гипертекстовых ссылок в таблице с целью перехода в другие файлы, находящиеся на компьютере пользователя, в локальной сети или в сети Internet. Данные и диаграммы можно сохранить как отдельную Web - страницу или добавлять к существующей странице.
Список использованной литературы
Информатика (В.А. Острейковский. Москва, "Высшая школа", 1999 год).
Математика и программирование (Ю.Г. Хацкевич. Минск, ТОО "ХАРВЕСТ", 1996 год).
Самоучитель работы на компьютере - 2-е издание (А. Левин. "Питер", 2003 год).
Справочник по информатике (К.А. Рывкин. Москва, "ОНИКС 21 век": "Мир и Образование", 2005 год).
5. Пакеты прикладных программ: Учеб. пособие для сред, проф. образования / Э.В. Фуфаев, Л.И. Фуфаева. - М.: Издательский центр "Академия", 2004.
6. Нил Дж. Рубенкинг. Язык программирования Delphi для «чайников».
7. Введение в Borland Delphi 2006 = Delphi for Dummies. -- М.: Диалектика, 2007. -- 336 с. -- ISBN 0-7645-0179-8
9. А.Н. Вальвачев, К.А. Сурков, Д.А. Сурков, Ю.М. Четырько. Программирование на языке Delphi. Учебное пособие. -- 2005.
Подобные документы
Системное, прикладное и инструментальное программное обеспечение. Наиболее распространённые пакеты прикладных программ. Назначение и структура системных программ. Заполнение таблицы и работа с итогами в Excel, фильтрация данных и построение диаграммы.
контрольная работа [1,6 M], добавлен 29.01.2014
Оптимизации внутренних бизнес-процессов на промышленном предприятии ООО "Брянскпромбетон" с использованием пакета прикладных программ "КИС: Бюджетирование". Анализ программных продуктов для решения задач. Логическая последовательность бюджетирования.
дипломная работа [7,0 M], добавлен 25.05.2008
Развитие новых информационных и телекоммуникационных технологий. Решение экономической задачи с использованием табличного процессора Microsoft Excel. Возможности Excel при работе с функциями. Математические и статистические пакеты прикладных программ.
курсовая работа [452,8 K], добавлен 01.04.2009
Программные средства, обеспечивающие функционирование аппаратных средств ЭВМ. Характеристики пакетов прикладных программ и их классификация. Оформление программных модулей в виде библиотек. Средства доступа к данным. Системы искусственного интеллекта.
курсовая работа [163,3 K], добавлен 23.04.2013
Исходные данные по предприятию ОАО "Красногорсклексредства". Разработка математических моделей задач по определению оптимальных планов производства продукции с использованием пакетов прикладных программ для решения задач линейного программирования.
курсовая работа [122,5 K], добавлен 16.10.2009
Определение понятия и сущности программного обеспечения. Рассмотрение основ интерпретируемых и компилируемых программ. Особенности несвободных, открытых, свободных, системных, прикладных и инструментальных программ; основные принципы их применения.
реферат [25,6 K], добавлен 06.11.2014
Стандартизированный процедурный язык программирования. Создание системного программного обеспечения и прикладных программ. Особенности языка Си, его основные недостатки. Передача параметров в функцию по значению. Стандартная библиотека языка Си.
Читайте также: