Телевизоры. Приставки. Проекторы и аксессуары. Технологии. Цифровое ТВ

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

Информатика, кибернетика и программирование

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

ПРОГРАММНО-МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ АСУ

Общая характеристика программно-математического обеспечения

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

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

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

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

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

Поэтому задачи календарного планирования СМР в АСУ чаще всего решают эвристическим методом. Сущность его заключается в следующем. Пусть технология сооружения объектов задана сетевыми графиками. По работам известна потребность в ресурсах. Необходимо найти такой план, чтобы соблюдались технологические и организационные ограничения, заданные сетевыми графиками, и расчетная потребность в ресурсах в любой момент времени не превышала заданного верхнего уровня. Последовательно в каком-либо порядке просматривают и планируют работы, одновременно рассчитывается потребность в ресурсах в заданной дробности календарной шкалы. Если эта потребность превышает заданный уровень, то работу сдвигают на поздний срок на столько, чтобы заданный уровень потребления ресурсов не был превышен.

Смысл этого метода в том, чтобы запланировать работы в насколько это возможно более ранние сроки, но так, чтобы не превысить заданный верхний уровень ресурсов. Как правило, при использовании эвристических методов предусматривается человеко-машинный диалог, в рамках которого на ЭВМ возлагаются вычисления и выдача промежуточных результатов, включая различные графики и диаграммы. Руководитель работ, в зависимости от полученных данных, директирует дальнейшее направление расчетов. В большинстве случаев задачи АСУ носят расчетный характер, алгоритмы обработки данных в них достаточно просты. Сложность решения задач заключается в необходимости организации поиска и обработки больших объемов данных.

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

Математическое программирование объединяет линейное, нелинейное, динамическое и стохастическое программирование. Особо выделяются транспортные задачи, решаемые с применением методов линейного программирования. С использованием линейного программирования решены и решаются такие задачи, как разработка планов развития строительной промышленности; выбор наилучших пунктов строительства новых предприятий; прогноз развития отраслей, оптимальное распределение объектов по подразделениям и строительных машин по объектам и др.

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

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

объем вычислений на ЭВМ).

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

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

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

Метод теории расписаний позволяет установить оптимальную последовательность строительства объектов по какому-либо критерию. Например, в качестве критерия может служить один из следующих: "наименьший срок строительства", "минимум простоев исполнителей на объектах", "максимальная плотность работ на объектах" и др.

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

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

Рисунок 1

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

В состав системного программного обеспечения (рис. 1) входят: операционные системы; сервисные программы; трансляторы языков программирования; программы технического обслуживания. Операционные системы обеспечивают управление процессом обработки информации и взаимодействие между аппаратными средствами и пользователем.

Одной из важнейших функций операционных систем является автоматизация процессов ввода-вывода информации и управления выполнением задач АСУ. На операционные системы также возложен анализ внештатных ситуаций в процессе вычислений с выдачей соответствующих сообщений. Исходя из выполняемых функций, операционные системы можно разбить на три группы: однозадачные, многозадачные, сетевые.

Однозадачные операционные системы предназначены для ра-

боты одного пользователя в каждый конкретный момент с одной конкретной задачей. Из однозначных операционных систем в большинстве случаев используется дисковая операционная система MS - DOS . Многозадачные операционные системы обеспечивают коллективное использование ЭВМ в мультипрограммном режиме разделения времени (в памяти ЭВМ находится несколько программ и процессор распределяет ресурсы компьютера между ними). Среди многозадачных операционных систем наиболее известны UNIX и OS/2 корпорации IBM , а также Microsoft Windows 95, Microsoft Windows NT и некоторые другие.

Сетевые операционные системы связаны с появлением локальных и глобальных сетей и предназначены для обеспечения доступа пользователей АСУ ко всем ресурсам компьютерной сети. В качестве сетевых операционных систем набольшее распространение получили: Novell NetWare , Microsoft Windows NT , Banyan Vines , IBM LAN , UNIX . С развитием операционных систем многие их функции передаются микропрограммам, которые "зашиваются" в аппаратную часть ЭВМ. Операционным системам также передаются функции по обеспечению работы многопроцессорных компьютеров, совместимости программ для различных типов компьютеров, параллельного выполнение программ.

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

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

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

Операционные оболочки предоставляют пользователю качественно новый интерфейс и освобождают его от детального знания операций и команд операционной системы. Функции большинства оболочек, например семейства MS - DOS , направлены на более эффективную организацию работы с файлами и каталогами. Они обеспечивают быстрый поиск файлов, создание и редактирование текстовых файлов, выдачу сведений о размещении файлов на дисках, о степени занятости дискового пространства и ОЗУ. Все операционные оболочки обеспечивают ту или иную степень защиты от ошибок пользователя, что уменьшает вероятность случайного уничтожения файлов. Среди имеющихся операционных оболочек для системы MS - DOS наиболее популярна оболочка Norton Commander .

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

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

Трансляторы языков программирования являются неотъемлемой частью программно-математического обеспечения. Они необходимы для перевода текстов программ с языков программирования (как правило, языков высокого уровня) в машинные

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

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

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

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

Наиболее распространенными языками программирования высокого уровня, включающие средства компиляции и имеющие возможность работать в режиме интерпретатора, являются такие как: Basic , Visual C++, Fortran , Prolog , Delphi , Lisp и др.

В настоящее время ведутся интенсивные разработки языков четвертого поколения типа Visual Basic .

Эффективная и надежная эксплуатация программно-математического обеспечения АСУ невозможна без программно-аппаратных средств технического обслуживания. Основное их назначение заключается в диагностике и обнаружении ошибок при работе ЭВМ или вычислительной системы в целом. Программно-аппаратные системы технического обслуживания имеют средства диагностики и тестового контроля правильности работы ЭВМ и ее отдельных частей (в том числе программные инструментарии автоматического поиска ошибок н неисправностей с определенной локализацией их в ЭВМ).

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

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

Пакеты прикладных программ являются мощным инструментом информатизации. Они освобождают разработчиков и пользователей АСУ от необходимости знать, как ЭВМ выполняет те или иные функции и процедуры, тем самым значительно облегчая автоматизацию управленческих задач. В настоящее время имеется широкий спектр пакетов прикладных программ, различающихся по своим функциональным возможностям и способам реализации. Их можно разделить на две большие группы. Это пакеты прикладных программ общего назначения и метод - ориентированные пакеты.

Пакеты прикладных программ общего назначения предназначены для автоматизированного решения как отдельных задач управления производством, так и для разработки целых подсистем и АСУ в целом. К этому классу программ можно отнести текстовые и графические редакторы, электронные таблицы, сис--темы управления базами данных (СУБД), интегрированные программные инструментарии, Case-технологии, оболочки экспертных систем и систем искусственного интеллекта.

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

иллюстрации; печать текстов; запись текстовых документов на машинные носители.

При работе с операционными системами Windows , Windows 95, Windows NT , OS/2 применяются мощные и удобные текстовые процессоры Microsoft Word , Word Perfect . Для подготовки несложных текстовых документов существуют редакторы ChiWriter , MultiEdit , Word Pro , Just Write , Лексикон и др.

Графические редакторы предназначены для обработки графических документов, включая диаграммы, иллюстрации, чертежи, таблицы. Допускается управление размером фигур и шрифтов, перемещение фигур и букв, формирование любых изображений. Из наиболее известных графических редакторов можно выделить Adobe Photoshop , Adobe Illustrator , Corel Draw , Photo - Paint , Fractal Design Painter , Fauve Matisse , PC Paintbrush , Boieng Graf , Pictire Man и др.

Издательские системы соединяют в себе возможности текстовых и графических редакторов, обладают развитыми возможностями по форматированию полос с графическими материалами и последующим выводом на печать. Эти системы, в основном, ориентированы на использование в издательском деле и называются системами верстки. Из таких систем можно назвать продукты PageMaker фирмы Adobe и Ventura Publisher корпорации Corel .

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

Современные табличные процессоры поддерживают трехмерные таблицы, позволяют создавать собственные входные и выходные формы, включать в таблицы рисунки, использовать такие средства автоматизации как макрокоманды, работать в режиме баз данных и др. К наиболее популярным электронным таблицам по праву относятся программные продукты Microsoft Excel (для Windows ), Lotus 1-2-3 и Quattro Pro (для DOS и Windows ) и др.

Одной из важнейших задач программно-математического обеспечения АСУ организация работы с базами данных. Под базой данных понимается совокупность специальным образом организованных наборов данных, хранящихся на диске. Управление базой данных включает в себя ввод данных, их коррекцию и манипулирование данными, то есть добавление, удаление, извлечение, обновление, сортировку записей, составление отчетов и т.д. Простейшие системы управления базами данных позволяют обрабатывать на ЭВМ один массив информации. Среди таких систем известны PC - File , Reflex , Q & A .

Более сложные системы управления базами данных поддерживают несколько массивов информации и связи между ними, то есть могут использоваться для задач, в которых участвует много различных видов объектов, связанных друг с другом различными соотношениями. Обычно эти системы включают средства программирования, но многие из них удобны и для интерактивного применения. Типичными представителями таких систем являются Microsoft Access , Microsoft FoxPro , Paradox , Clarion и др.

Для создания многопользовательских АСУ применяются системы управления базами данных типа "клиент-сервер". В них сама база данных располагается на мощном компьютере - сервере, который принимает от программ, выполняемых на других компьютерах - клиентов, запросы на получение той или иной информации из базы данных или осуществление тех или иных манипуляций с данными. Эти запросы, как правило, делаются с помощью структурного языка запросов SQL (Structured Query Language ).

Как правило, компьютер-сервер работает под управлением операционных систем типа Windows NT или UNIX , причем этот компьютер может быть не IBM PC совместимый. А приложения-клиенты могут создаваться для DOS , Windows и многих других операционных систем. В многопользовательских АСУ используются следующие системы управления базами данных:

Oracle , Microsoft SQL , Progress , Sybase SQL Server , Informix и др.

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

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

Наиболее типичными и известными пакетами такой организации являются Wicrosoft Works , Alphaworks , Framework , Symphony , Smartware II, основные функциональные характеристики которых приведены в сводной табл. 1.

Таблица 1. Функциональные возможности интегрированных пакетов

Функциональное назначение

Ws Works

Alpha Works

Frame work

Symphony

Smart-ware II

Текстовой процессор

Электронные таблицы

Деловая графика

СУБД

Телекоммуникация

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

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

Инструментальные средства CASE-технологий применяются на всех этапах жизненного цикла АСУ (от анализа и проектирования до внедрения и сопровождения), значительно упрощая решение возникающих задач. CASE-технологии позволяют отделить проектирование автоматизированной системы управления от собственно программирования и отладки. Разработчики АСУ занимаются проектированием на более высоком уровне, не отвлекаясь на детали. Такой подход исключает ошибки уже на стадии анализа и проектирования, что позволяет подготавливать более качественное программно-математическое обеспечение АСУ. Так, например, CASE-технологии дают возможность оптимизировать модели организационных и управленческих структур строительных предприятий. В большинстве случаев применение CASE-технологий сопровождается радикальным преобразованием деятельности строительного предприятия, направленного на оптимальную реализацию того или иного строительного проекта.

Коллективная работа над проектом АСУ предполагает обмен информацией, контроль выполнения задач, отслеживание изменений и версий, планирование, взаимодействие и управление. Фундаментом реализации подобных функций служит общая база данных проекта, называемая репозитарем. Репозитарий является важнейшим компонентом набора инструментальных средств CASE-технологий и служит источником информации, необходимой для автоматизации построения АСУ. Кроме того, CASE-продукты на базе репозитария позволяют разработчикам использовать при создании АСУ и другие инструментальные средства, например пакеты быстрой разработки программ.

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

Рисунок 2

всего процесса создания АСУ . Из CASE- технологий , нашедших наибольшее применение , можно выделить : Application Development Workbench фирмы Knowledge Ware, BPwin (Logic Works), CDEZ Tods, (Oracle), Clear Case (Alria Software), Composer (Texas Instrument), Discover Development Information System (Software Emancipation Technology).

Одним из перспективных направлений автоматизированной выработки управленческих решений является применение экспертных систем. Его суть заключается в переходе от строго формализованных алгоритмов, предписывающих, как решать ту или иную управленческую задачу, к логическому программированию с указанием, что нужно решать на базе знаний, накопленных специалистами предметных областей. Большинство современных экспертных систем включает следующие пять базовых компонент (рис. 2): базу данных, систему логического вывода, специальные подсистемы приобретения знаний и пояснений, а также пользовательский интерфейс. База знаний в экспертных системах занимает центральное место и основывается на фактах и правилах. Факты фиксируют количественные и качественные показатели явлений и процессов. Правила описыва-

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

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

Применение экспертных систем в строительстве наиболее эффективно при решении задач целевого планирования и прогнозирования, а также управлении процессом функционирования. В качестве средств реализации экспертных систем на ЭВМ используют соответствующие языковые средства и программные оболочки. Из языков программирования, с помощью которых создается внутренний язык представления знаний, можно выделить языки общего назначения (Forth , Pascal , Lisp и др.), продукционные (OPSS , Planer , LOOPS и др.), логические (Prolog , Loglisp , и др.). Из наиболее известных оболочек следует отметить GURU, Xi Plus, OP55+, Personal Consultant, Expert System Consultation Environment и др .

Метод-ориентированные пакеты прикладных программ отличаются от пакетов общего назначения тем, что они имеют более узкую направленность и предназначены для решения какой-либо задачи в конкретной функциональной области. В основе каждого из них, как правило, лежит тот или иной математический метод, например: линейное программирование, динамическое программирование, математическая статистика, сетевое планирование и управление, теория массового обслуживания, стохастическое программирование и др. Исключение составляют программные пакеты Mathematica фирмы Wolfram Research sh , Mathcad фирмы Mathsoft , Maple фирмы Waterloo Maple Software и др., использующие математические методы общего назначения.

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

Microsoft Project , Time Line , Prima Vera и др, в основе которых лежат методы сетевого планирования и управления. Их применение позволяет решать на принципиально более высоком качественном уровне важные задачи календарного планирования строительного производства.

В группе статистических программ общего назначения наиболее известны автоматизированные системы обработки статистических данных: SPSS , Statistica , Stadia . Из статистических специализированных программных продуктов можно отметить Forecast PRO фирмы Business Forecast Systems , а также отечественный пакет Эвриста Центра Статистических Исследований. Пакеты прикладных программ по статистике широко применяются а в строительстве при решении задач управления качеством, в инженерных расчетах.

Программные системы графики предназначены для вывода на экран, принтер или графопостроитель графики функций (заданных в табличном или аналитическом виде), линии уровня поверхностей, диаграммы рассеяния и т.д. Среди таких пакетов прикладных программ наиболее известны Grapher , Surfer , Harvard Graphics и др. Качественную научную и инженерную графику также можно получить с помощью математического программного пакета общего назначения типа Mathematica .

Вторая составляющая прикладного программного обеспечения, — рабочие программы пользователя и АСУ в целом. Ее можно разделить на три группы программных систем: проблемно-ориентированные, для глобальных сетей ЭВМ, организации вычислительного процесса. Проблемно-ориентированные пакеты представляют собой наиболее широкий класс прикладных программных средств АСУ. Практически нет ни одной предметной области, для которой не существует хотя бы одного такого программного инструментария. Из всего многообразия проблемно-ориентированных программных средств выделим две группы: а) предназначенные для комплексной автоматизации функций управления на предприятиях; б) пакеты прикладных

программ для предметных областей.

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

Следует отметить, что несмотря на достаточно высокую стоимость большинства комплексных проблемно-ориентированных программных систем, они находят все более широкое применение в отечественной и зарубежной практике информатизации производства. Существует целый ряд многофункциональных программных продукты этого класса: R /3 (SAP ), Oracle , Mac-Рас Open (A . Andersen ) и др. Из российских комплексных программных систем высшего ценового класса следует отметить интегрированный многопользовательский сетевой программный комплекс "Галактика", разработанный корпорацией "Галактика", в состав которой входят АО "Новый Атлант" (г. Москва) и НТО "Топ Софт" (г. Минск), ЗАО "ГэлэксиСПБ" (г. Санкт-Петербург) и др.

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

Например, для выполнения проектно-конструкторских работ применяется система автоматизированного проектирования AutoCad фирмы AutoDesk , относящаяся к системам малого и среднего класса. AutoCad является расширяемым программным

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

EVCLID, UNIGRAPHICS, CIMATRON и др .

Имеется ряд отечественных систем автоматизированного проектирования, которые позволяют выполнять разработку чертежей в полном соответствии с требованиями ЕСКД (единой системы конструкторской документации) и учитывают особенности отечественных стандартов. Их отличает от соответствующих зарубежных программных пакетов и значительно меньшие требования к техническим средствам АСУ, что позволяет существенно снизить затраты на автоматизацию проектирования. Наибольшее применение из отечественных систем автоматизации проектирования нашел интегрированный программный пакет "Компас", который разработан для операционных систем DOS и Windows .

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

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

Для предприятий, совершающих небольшое количество хозяйственных операций, обычно применяются простые и недорогие программы бухгалтерского учета, позволяющие вести книгу хозяйственных операций, финансовую отчетность и баланс. Как правило, в такого класса программах имеются также программные модули начисления зарплаты, учета материалов и основных средств, печати банковских документов и др. Примерами таких систем являются: "1 (^Бухгалтерия", Инфо-бухгалтер фирмы Информатик, Турбо-бухгалтер фирмы ДИЦ, "Бест" фирмы Интелект-сервис и др.

Во многих организациях, включая строительные предприятия, наибольшее распространение нашла программная система "1С:Бухгалтерия", разработанная для DOS и Windows , и имеющая сетевую поддержку. Эта программа сочетает хорошую функциональность, простоту в использовании, невысокую стоимость и значительную гибкость. Ее можно адаптировать без участия разработчиков на особенности учета на предприятии, изменения законодательства и правил ведения бухгалтерского учета. Широкое распространение также получила программа Инфо-бухгалтер фирмы Информатик, которая хотя и обладает несколько меньшей гибкостью в сравнении с пакетом "1С:Бух-галтерия", но содержит больше встроенных возможностей для решения конкретных задач.

Для предприятий с большим объемом хозяйственных операций требуются более продвинутые возможности бухгалтерского учета, включающие кроме складского учета и управленческий учет, а также контроль за выполнением договоров, финансовый анализ деятельности предприятия и др. В этом случае наиболее целесообразно применение более мощных и, следовательно, более дорогих систем автоматизации бухгалтерского учета. Среди среднего ценового класса бухгалтерских программных пакетов эксплуатируются: Парус, Инфософт, Инфин, Атлант-Информ, КомТех+ и ряд других систем.

Существует третья группа программных прикладных пакетов обеспечения бухучета, предназначенных для эксплуатации на крупных предприятиях. Эти пакеты обычно интегрированы в комплексные системы автоматизации деятельности предприятия. Большинство из них работает под управлением операционной системы Windows и предназначено для эксплуатации в локальных сетях. Примером такой программной системы автоматизации бухгалтерии можно назвать ППП БУ "Офис", объединяющий продукты фирм 1С и Microsoft , позволяющий не только автоматизировать функции бухгалтера, но и организовать все делопроизводство фирмы в виде "электронного офиса". Другим примером встраивания бухгалтерских задач в комплексные автоматизированные системы управления крупными предприятиями может служить взаимодействие контуров административного управления, оперативного управления, управления производством, бухгалтерского учета в АСУ "Галактика".

Наряду с чисто бухгалтерскими пакетами прикладных программ имеется целый ряд программных систем для финансового анализа предприятия и планирования. Эти инструментарии, в первую очередь, необходимы инвесторам и финансовым менеджерам кампаний. Из программ анализа финансового состояния предприятия наиболее известны: ЭДИП фирмы ЦентрИнвест-Софт, "Альт-Финансы" фирмы Альт, "Финансовый анализ" фирмы Инфософт. Для анализа инвестиционных проектов разработаны пакеты: "Альт-Инвест" фирмы Альт, FOCCAL - UNI фирмы ЦентрИнвестСофт, Project Expert фирмы PRO - Invest Consulting , а также универсальные программы "Инвестор" фирмы ИНЕК.

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

Чтобы обеспечить удобный и надежный доступ при решении задач АСУ к территориально распределенным общесетевым ресурсам и базам данных, передать электронную почту, провести

телеконференцию, обеспечить конфиденциальность передаваемой информации необходимы компьютерные сети и соответствующие программные инструментарии. Для выполнения указанных задач и некоторых других имеются набор стандартных пакетов прикладных программ глобальной сети Internet , представляющих собой: средства доступа и навигации — Netscape Navigator , Microsoft Internet , Explorer ; электронную почту Eudora и др.

Для обеспечения организации администрирования вычислительного процесса в локальных и глобальных сетях ЭВМ в более чем 50% систем мира используется пакеты прикладных программ фирмы Bay Networks (США). Эти пакеты управляют администрированием данных, коммутаторами, концентраторами, маршрутизаторами, графиком сообщений.

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



А также другие работы, которые могут Вас заинтересовать

58321. English is a language of the world 46.5 KB
Цели урока: Триединая дидактическая цель Образовательная: сбалансированное и систематическое формирование ИКК в единстве всех ее составляющих. Тип урока: урок построения знаний и развития навыков перевода.
58322. How to Understand Those Mystifying Foreigners 343.5 KB
It was the British who started the fashion for seaside holidays. Not surprisingly, nobody in Britain lives mоrе than оnе hundred and twenty kilometers from the sea. The nearest holiday area of\France is only three or four hundred kilometers a\way.
58323. Правописание безударных гласных в корне слова 1.17 MB
Цели урока: Учить различать проверочное слово и проверяемое, подбирать проверочные слова к проверяемым; Развивать орфографическую зоркость, развивать речь учащихся, мышление; Расширять кругозор учащихся. Воспитывать бережное отношение к природе
58327. Единицы измерения информации 2.95 MB
Цель урока: Обобщить знания учащихся о представлении информации в памяти компьютера дать представление о единицах измерения информации. Задачи урока: образовательная: дать учащимся знания о единицах измерения информации научить находить информационный объем сообщений...
58328. Экономический рост и развитие 81.5 KB
Цель: раскрыть сущность и соотношение понятий экономический рост и экономическое развитие; охарактеризовать способы использования различных факторов производства для достижения экономического роста...
58329. Знакомство с мастером Украшения. Красоту надо уметь замечать. Изучение родной природы 53.5 KB
Цель: изучение приемов целенаправленного обследованию предметов наблюдения процессов и явлений окружающей действительности; творческое развитие личности ребенка направленное на развитие воображения фантазий...

6.1Математическое обеспечения АСУ Под математическим обеспечением АСУ понимается совокупность различных математических методов, моделей, алгоритмов и комплексов программ, обеспечивающих функционирование АСУ в соответствии с ее целевым назначением. Под термином математическое обеспечение АСУ понимают математическое, лингвистическое и программное обеспечение АСУ. Особенностью математического обеспечения АСУ является: -увеличение относительной стоимости математического обеспечения по сравнению с комплексом технических средств (КТС) АСУ; -разумная типизация (унификация) прикладного программного обеспечения; -широкое применение ППП, стандартных оболочек и др.


Математическое обеспечения АСУ Математическое обеспечение (МО) можно разделить на три части: МО ЭВМ (или внутреннее); специальное математическое обеспечение (или внешнее); программные средства телеобработки данных Внутреннее МО включает операционные системы (MS DOS), системы программирования и тесты (программы проверки исправности работы устройств ЭВМ),



Математическое обеспечения АСУ Операционная система (ОС) - набор программ, управляющих процессом решения задач. Оптимальная загрузка всех узлов ЭВМ и внешних устройств является основной задачей ОС. В состав ОС входит ряд программ, из которых основными являются: диспетчер, супервизор, служебные программы. Диспетчер - программа, обеспечивающая определенный режим работы ЭВМ. Супервизор - программа, обеспечивающая работу, задаваемую машине человеком-оператором в рамках установленного для нее режима. К служебным - относятся программы ввода исходных данных; программы редактирования и выдачи результатов; программы общения ОС с человеком-оператором и др. ОС различают по целевому назначению на: общие для решение широкого круга задач и проблемные. В зависимости от организации решения задач на ЭВМ различают следующие режимы работы ОС: индивидуальный, пакетный, мультипрограммирование, разделение времени.


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


Математическое обеспечение АСУ. Основными целями ОС являются: увеличение производительности вычислительных систем (ВС) путем обработки непрерывного входного потока заданий и совместного использования ресурсов ВС одновременно выполняющимися в ОП задачами (эффект мультипрограммирования); планирования ВС в соответствии с приоритетами отдельных заданий, ведение учета и контроля использования ресурсов; обеспечение программистов средствами разработки и отладки программ; обеспечение оператора средствами управления ВС.


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


Математическое обеспечение АСУ Программы конкретных задач АСУП можно условно разделить на 3 класса: программы общие для всех отраслей (промышленности, транспорта, торговли и др); программы общие для предприятий авиационной отрасли; программы специфические для каждого предприятия (АРЗ, авиационного производственного объединения и др.). К 1 классу задач относятся задачи: (расчет заработной платы, учет кадров, учет материальных ценностей и т.д.). Ко второму - задачи диспетчерского управления (расчет режимов работы оборудования, расчет выпуска АТ и др.). К третьему - специфические задачи ремонта АТ(выпуск запасных частей при ремонте, подготовка АТ к вылетам и др.). Большое количество различных по целям и значению программ требует их организации в масштабах всей системы и это выполняется с помощью системной диспетчерской программы.


МО строится на основе типизации алгоритмов по классам задач и унификации методов решения родственных задач. Такой подход позволяет удешевить МО, а также создать единые модели для решения различного класса задач. К первому классу задач относятся задачи первичного учета (массовые) (повторяемость расчетов с абонентами - миллионы в год, расчетов по заработной плате - сотни тысяч в год и т.п.). Примеры задач первичного учета: суточный, декадный, месячный и годовой учет поступления и расхода ГСМ по авиакомпаниям, отрядам и др.; суточный и недельный, месячный налет ВС; учет и анализ отказов авиационного оборудования; учет движения и запасов материальных средств и др.


Первичный учет позволяет накопить попутно большое количество информации, последующее обобщение которой позволит получить полноценные статистические данные, необходимые для принятия решений. Эти задачи образуют класс учетно-статистических задач, к которым примыкают и задачи нормативного планирования. Математической характеристикой этих задач является большое количество логических операций при небольшом объеме простых математических операций. В числе задач этого класса можно отметить: составление всех форм статистической и бухгалтерской отчетности; расчет себестоимости продукции; расчеты потребностей в ГСМ и т.д. Обширную группу среди перечисленных составляют бухгалтерские задачи, характеризующиеся большим числом операций сложения, вычитания, логических операций (сортировка, группировка, сравнение) и формированием таблиц заданной формы. Математическое обеспечения АСУ


Математическое моделирование широко применяется в значительной в трех принципиально разных классах задач:в сложных не экстремальных расчетах, прогнозировании и оптимизации. В АСУ за человеком остаются функции принятия решений на основе данных выданных АСУ, непосредственное наблюдение за управляемым процессом (объектом) (контроль), разработка и установление решающих правил (критериев, нормативов, предельных уровней контролируемых величин), совершенствование управления и его формы, анализ результатов работы ЭВМ и подготовка мероприятий по совершенствованию работы системы.


6.3 Языки программирования для описания задач в АСУП языки высокого уровня (т.е. немашинные языки), которые стали своеобразным связующим мостом между человеком и машинным языком компьютера. Языки высокого уровня работают через трансляционные программы, которые вводят "исходный код" (гибрид английских слов и математических выражений, который считывает машина), и в конечном итоге заставляет компьютер выполнять соответствующие команды, которые даются на машинном языке. Существует два основных вида трансляторов: интерпретаторы, которые сканируют и проверяют исходный код в один шаг, и компиляторы, которые сканируют исходный код для производства текста программы на машинном языке, которая затем выполняется отдельно Интерпретаторы Одно, часто упоминаемое преимущество интерпретатор ной реализации состоит в том, что она допускает "непосредственный режим". Непосредственный режим позволяет вам задавать компьютеру задачу вроде PRINT *3/2.1 и возвращает вам ответ, как только вы нажмете клавишу ENTER (это позволяет использовать компьютер стоимостью 3000 долларов в качестве калькулятора стоимостью 10 долларов). Кроме того, интерпретаторы имеют специальные атрибуты, которые упрощают отладку. Можно, например, прервать обработку интерпретатор ной программы, отобразить содержимое определенных переменных, бегло просмотреть программу, а затем продолжить исполнение Компиляторы Компилятор-это транслятор текста на машинный язык, который считывает исходный текст. Он оценивает его в соответствии с синтаксической конструкцией языка и переводит на машинный язык. Другими словами, компилятор не исполняет программы, он их строит. Интерпретаторы невозможно отделить от программ, которые ими прогоняются, компиляторы делают свое дело и уходят со сцены. При работе с компилирующим языком, таким как Турбо-Бейсик, вы придете к необходимости мыслить о ваших программах в признаках двух главных фаз их жизни: периода компилирования и периода прогона.


2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 2.1. Машинно – ориентированные языки Машинно – ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно –ориентированные языки позволяют использовать все возможности и особенности Машинно – зависимых языков: - высокое качество создаваемых программ (компактность и скорость выполнения); - возможность использования конкретных аппаратных ресурсов; - предсказуемость объектного кода и заказов памяти; - для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ; - трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок; - низкая скорость программирования; - невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.


Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы: Машинный язык компьютер имеет свой определенный Машинный язык (далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. Однако, некоторые семейства ЭВМ (например, ЕС ЭВМ, IBM/370/ и др.) имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции Языки Символического Кодирования Языки Символического Кодирования (далее ЯСК), так же, как и МЯ, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных (во внутреннем коде) или восьмеричных (часто используемых при написании программ) цифр, в ЯСК заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ Автокоды Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды. Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как правило, составлены на языках типа Ассемблер Макрос Язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму - называется Макрос (средство замены). В основном, Макрос предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором.


2.2. Машинно – независимые языки Машинно – независимые языки – это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ и ВС. Подобные языки получили название высокоуровневых языков программирования. Программы, составляемые на таких языках, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка(задачи, сегменты, блоки и т.д.). Операторы языка описывают действия, которые должна выполнять система после трансляции программы на МЯ. Программист получил возможность не расписывать в деталях вычислительный процесс на уровне машинных команд, а сосредоточиться на основных особенностях алгоритма Проблемно – ориентированные языки С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно – ориентированные языки. Эти языки, языки ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме.Проблемных языков очень много, например:Фортран, Алгол – языки, созданные для решения математических задач; Simula, Слэнг - для моделирования; Лисп, Снобол – для работы со списочными структурами.


Универсальные языки Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д. Первый универсальный язык был разработан фирмой IBM, ставший в последовательности языков Пл/1. Второй по мощности универсальный язык называется Алгол-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнение участков программ. Программы в Пл/1 компилируются с помощью автоматических процедур. Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти Диалоговые языки Появление новых технических возможностей поставило задачу перед системными программистами – создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками. Эти работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных (не диалоговых) языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач.


Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу с использованием диалогового языка система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе. Одним из примеров диалоговых языков является Бэйсик. Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам (табличные языки и генераторы отчетов), и языков связи с операционными системами. Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны быть выполнены прежде чем переходить к какому-либо действию. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения. Табличные методы легко осваиваются специалистами любых профессий. Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе.

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

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

Спрос на универсальные и специализированные программные пакеты для решения различных прикладных задач вызвал появление на рынке программных продуктов систем компьютерной математики, которые быстро стали популярными. На рынке современных математических систем в настоящее время присутствует целый ряд крупных фирм: Macsyma, Inc., Waterloo Maple Software, Inc., Wolfram Research, Inc., MathWorks, Inc., MathSoft, Inc., SciFace GmbH и др. К разработке каждой такой математической системы привлекаются сотни профессионалов из известных университетов и крупных научных центров, а также высококвалифицированные программисты и эксперты в области проектирования сложных программных систем. В результате мы имеем весьма совершенные, гибкие и одновременно универсальные продукты, включающие существенные математические понятия и обладающие богатым набором методов для решения общих математических и научно-технических задач. Именно обзору и краткому анализу таких программных продуктов и посвящена данная статья.

MATLAB

MATLAB - продукт компании MathWorks, Inc.(http://www.mathwork.com/), представляющий собой язык высокого уровня для научно-технических вычислений. Среди основных областей применения MATLAB - математические расчеты, разработка алгоритмов, моделирование, анализ данных и визуализация, научная и инженерная графика, разработка приложений, включая графический интерфейс пользователя. MATLAB решает множество компьютерных задач - от сбора и анализа данных до разработки готовых приложений. Среда MATLAB соединяет в себе математические вычисления, визуализацию и мощный технический язык. Встроенные универсальные интерфейсы позволяют легко работать с внешними информационными источниками, а также осуществлять интеграцию с процедурами, написанными на языках высокого уровня (C, C++, Java и др.). Мультиплатформенность MATLAB сделала его одним из самых распространенных продуктов - он фактически стал принятым во всем мире стандартом технических вычислений. MATLAB имеет широкий спектр применений, в том числе цифровую обработку сигналов и изображений, проектирование систем управления, естественные науки, финансы, экономику, приборостроение и т.п. Цена - 2940 долл.

Maple

Данный продукт компании Waterloo Maple Software, Inc. (http://www.maplesoft.com/) часто называют системой символьных вычислений или системой компьютерной алгебры. Maple позволяет выполнять как численные, так и аналитические расчеты с возможностью редактирования текста и формул на рабочем листе. Благодаря представлению формул в полиграфическом формате, великолепной двух- и трехмерной графике и анимации Maple является одновременно и мощным научным графическим редактором. Простой и эффективный язык-интерпретатор, открытая архитектура, возможность преобразования кодов Maple в коды C делает его очень эффективным средством создания новых алгоритмов. Обладающий интуитивно понятным интерфейсом, простыми правилами работы и широким функционалом, этот продукт уже завоевал популярность у российских математиков и инженеров. Цена Maple 7 - 1695 долл.

Mathematica

Система Mathematica - компании Wolfram Research, Inc. (http://www.wolfram.com/) имеет чрезвычайно широкий набор средств, переводящих сложные математические алгоритмы в программы. По сути дела, все алгоритмы, содержащиеся в курсе высшей математики технического вуза, заложены в память компьютерной системы Mathematica. В некоторых странах (например, в США) система высшего образования тесно связана с этим продуктом. Огромное преимущество системы Mathematica состоит в том, что ее операторы и способы записи алгоритмов просты и естественны. Mathematica имеет мощный графический пакет, с помощью которого можно строить графики очень сложных функций одной и двух переменных. Главное преимущество Mathmatica, делающее ее бесспорным лидером среди других систем высокого уровня, состоит в том, что эта система получила сегодня очень широкое распространение во всем мире, охватив огромные области применения в научных и инженерных исследованиях, а также в сфере образования. Цена - 1460 долл.

Macsyma

Macsyma от компании Macsyma, Inc. (http://www.macsyma.com/) - это одна из первых математических программ, оперирующих символьной математикой. Сильные стороны Macsyma - развитой аппарат линейной алгебры и дифференциальных уравнений. Система ориентирована на прикладные расчеты и не предназначена для теоретических исследований в области математики. В связи с этим в программе отсутствуют или сокращены разделы, связанные с теоретическими методами (теория чисел, теория групп, и др.). Пожалуй, главным преимуществом Macsyma перед другими универсальными математическими пакетами является то, что пользователь может аналитически и численно решать большое количество различных типов уравнений в частных производных. Macsyma имеет очень удобный интерфейс. Рабочим документом программы является научная тетрадь, в которой содержатся доступные для редактирования поля текста, команд, формул и графиков. Отличительной особенностью пакета является совместимость с текстовым редактором Microsoft Word. Почти все команды Macsyma в библиотечных файлах загружаются автоматически; очень удобно и окно просмотра (браузер) математических функций. Macsyma генерирует коды FORTRANа и C, включая управляющие операторы. Система работает на платформе Intel под управлением OS Windows.

MuPAD

В сравнении с другими математическими пакетами MuPAD - продукт компании SciFace GmbH (http://www.sciface.com/) - является относительно молодым продуктом, однако это не мешает ему уверенно конкурировать с ними. MuPAD является программным пакетом компьютерной алгебры, предназначенным для решения математических задач различного уровня сложности. Основные качественные отличия MuPAD - невысокие требования к ресурсам PC, наличие собственного ядра символьной математики, способность к развитию самим пользователем и мощные средства визуализации решения математических задач. Пакет поддерживает большой набор математических объектов и алгоритмов для самого широкого круга задач. Работа пользователя проходит в окне блокнота, позволяющего перемежать текст с математическими формулами, форматированным текстом и выводом решений, включая двух- и трехмерную графику. Для разработки собственных алгоритмов и функций на базе библиотеки функций MuPAD в системе предусмотрены специальный паскалеподобный язык программирования и интерактивный пошаговый отладчик. Созданные пользователем алгоритмы могут объединяться в отдельные библиотеки. Цена MuPAD 2.0 - 700 долл.

S-PLUS

S-PLUS - продукт компании Insightful Corporation (http://www.insightful.com/), ранее известной как подразделение MathSoft, а теперь являющейся одним из мировых лидеров в области статистического анализа данных, визуализации и прогнозирования. S-PLUS представляет собой интерактивную компьютерную среду, обеспечивающую полнофункциональный графический анализ данных и включающую оригинальный объектно-ориентированный язык. Гибкая система S-PLUS может использоваться для исследовательского анализа данных, статистического анализа и математических вычислений, а также для удобного графического представления анализируемых данных. К основным достоинствам S-PLUS относятся непревзойденная функциональность, возможность интерактивного визуального анализа данных, интуитивно понятные интерфейс пользователя и методы подготовки анализируемых данных, простота использования самых современных статистических методов, мощные вычислительные возможности, расширяемый набор статистических методов, гибкий интерфейс пользователя. Цена - 2865 долл.

КомпьютерПресс 12"2001

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

Apple Mac OS X

Mac OS представляет собой линейку операционных систем, созданных компанией Apple. Она поставляется предустановленной на всех новых компьютерах Macintosh или Mac. Последние версии этой операционной системы известны как OS X . А именно Yosetime (выпущенный в 2014 году), Mavericks (2013), Mountine Lion (2012), Lion (2011), и Show Leopard (2009). Также есть Mac OS X Server , который предназначен для работы на серверах.

По данным общей статистики StatCounter Global Stats, процент пользователей Mac OS X составляет 9,5% рынка операционных систем, по состоянию на сентябрь 2014 года. Это намного ниже чем процент пользователей Windows (почти 90% ). Одной из причин этого является то что компьютеры Apple очень дорогие.

Linux

Linux — семейка операционных систем с открытым исходным кодом. Это значит, они могут модифицироваться (изменяться) и распространятся любым человеком по всему миру. Это очень отличает эту ОС от других, таких как Windows, которая может изменяться и распространяться только самим владельцем (Microsoft). Преимущества Линукса в том, что он бесплатный, и есть много различных версий на выбор. Каждая версия имеет свой внешний вид, и самые популярные из них это Ubuntu , Mint и Fedora .

Linux назван в честь Линуса Торвальдса, который заложил основу в Linux в 1991 году.

По данным общей статистики StatCounter Global Stats, процент пользователей Linux составляет менее 2% рынка операционных систем, по состоянию на сентябрь 2014 года. Однако, из-за гибкости и легкости в настройках большинство серверов работают на Linux.

Операционные системы для мобильных устройств

Все операционные системы, о которых мы говорили выше разработаны для настольных и портативных компьютеров, таких как ноутбук. Есть операционные системы, которые разработаны специально для мобильных устройств, таких как телефоны, и MP3-плееры, например, Apple, IOS, Windows Phone и Google Android. На рисунке ниже вы можете увидеть Apple, IOS работающий на IPad.

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

На этом все. Оставьте в комментариях какой операционной системой пользуетесь вы и почему она вам нравиться

Системы компьютерной математики (СКА) творят чудеса. Развитие математических пакетов достигло того уровня, когда невольно закрадывается мысль - а зачем нам теперь нужны классические методики преподавания математики (или физики, или механики) в школе или вузе, если большую часть «грязной» работы по преобразованию выражений можно переложить на плечи машины. А если нельзя, или трудно получить аналитическое решение задачи, то почему бы не «прощелкать» её численно в одном из популярных пакетов. Так что, давайте ограничим уровень понимания учеников составлением исходной системы уравнений, а решать учить не будем - всё легко и непринужденно сделает за них компьютер.

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

1. Система тригонометрических уравнений

Когда, в не слишком далеком 2003 году я начал работать над кандидатской диссертацией, я столкнулся с необходимостью решать систему тригонометрических уравнений вида

Параметры a, b, A, B - положительны. На корни уравнения накладываются условия

Где мы сталкиваемся с такими системами? При расчете кинематики замкнутых четырехзвенников, например. Такой замкнутый четырехзвенник был в моей работе, почти такой же попался мне около года назад, когда я взялся сделать «шабашку» (помог одному профессору в его работе).

Тогда, в 2003-м я только познакомился с системой Maple и был в восторге от её возможностей, естественно я поручил эту систему ей. И меня ждал «облом»… Посмотрим, какое решение дают Maple 18 и Mathematica 10 для этой задачи сегодня.

2. Решение задачи в СКА «в лоб»

В моем любимом Maple задаем систему уравнений

Restart; eq01:= a*cos(x) + b*cos(y) = A; eq02:= a*sin(x) - b*sin(y) = B;

И пробуем решить

Solv:= solve({eq01, eq02}, {x, y});

И получаем…

Эта бяка не влезла в онлайн-LaTeX, поэтому пришлось привести скриншот. Такой результат получается из-за того, что постановка задачи слишком общая. Необходимо указать системе, какое решение нас интересует, воспользовавшись условием (3)

Solv:= solve({eq1, eq2, x > 0 and x < Pi, y > 0 and y < Pi}, {x, y});

В этом случае результат выглядит получше

Ещё раз попрошу прощения у читателя за корявый скриншот и замечу, что мы получили два решения системы (1) - (3) и нам теперь ещё предстоит разобраться, какой ответ соответствует механическому смыслу задачи (он там есть, да), а учитывая, что за a, b, A и B могут таится довольно значительные выражения (не зависящие, естественно, от x и y) нам должно стать довольно грустно в этот момент.

У системы Mathematica 10 с этими уравнениями лучше дела обстоят в том смысле, что она получает конечную форму общего решения, часть которого на скрине

Если систему дополнить условием (3), то Вольфрам говорит нам, что Solve[...] не имеет метода решения для такого случая (был бы признателен читателю за подсказку по этому вопросу, ибо считаю что сам я вопрос изучил не полностью, а пока продолжу повествование).

Кроме того, обе СКА выдают в решении богомерзкий арктангенс, который не всегда удобен по разным причинам, о которых говорить не буду - в каждом случае причины свои.

Когда мой покойный ныне «шеф» увидел эти решения в 2003 году, он задумался и изрек, что «эти крокодилы надо причесать», чем заставил меня погрузится в дальнейшие раздумья. И я снова вооружился листком бумаги и карандашом…

3. СКА + головной мозг

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

Итак, возведем уравнения (1) и (2) в квадрат и сложим, перенеся всё, что не зависит от x и y в правую часть уравнения

Left1:= lhs(eq01): left2:= lhs(eq02): right1:= rhs(eq01): right2:= rhs(eq02): eq03:= simplify(left1^2 + left2^2)= right1^2 + right2^2; eq03:= eq03 - (a^2 + b^2); left3:= combine(lhs(eq03)); eq03_1:= left3 = rhs(eq03);

Используя формулу «косинус суммы», получим новое уравнение

Теперь, разрешая его относительно суммы неизвестных приходим к линейному уравнению

Линейное уравнение оно и в Африке линейное - найдя одну неизвестную, получим и другую. Займемся другой неизвестной, исключив x из одного их уравнений. Так как у нас есть условие (3), то очевидно, что

А это дает нам возможность воспользоваться основным тригонометрическим тождеством без неоднозначности «плюс-минус»

Косинус икса берем из первого уравнения

Получая, таким образом для синуса икс

Чтобы не пыхтеть над бумагой, поручим всё это Maple

Eq01_1:= subs(cos(x) = u, eq01); slv:= solve(eq01_1, u); eq02_1:= subs(sin(x) = sqrt(1-slv^2), eq02); eq02_1:= eq02_1 + b*sin(y);

Имея на выходе уравнение

Уравнение (7) надо возвести в квадрат и провести некоторые преобразования

Left:= expand(lhs(eq02_1)^2): right:= expand(rhs(eq02_1)^2): eq02_2:= collect(simplify(right - left), b); eq02_3:= subs(coeff(eq02_2, b) = tmp, eq02_2); slv2:= solve(eq02_3, tmp); eq02_4:= -2*A*cos(y) + 2*B*sin(y) = slv2; eq02_5:= eq02_4/(-2);

А теперь выполним, известный многим, «финт ушами»

Left2:= lhs(eq02_5); left3:= subs(A = O2A*cos(xi), B = O2A*sin(xi), left2); left4:= subs(O2A = sqrt(A^2 + B^2), combine(left3));

То есть, делим обе части уравнения на и сворачиваем левую часть по формуле косинуса суммы, справедливо полагая что

Получаем новое уравнение,

Которое успешно решаем относительно y

Eq02_6:= left4 = rhs(eq02_5); slv3:= subs(xi = arccos(A/sqrt(A^2 + B^2)), solve(eq02_6, y)):

Как видим, игрек вышел довольно компактным. Возвращаемся к уравнению (5) и находим икс



Похожие публикации