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

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

31.03.2019

Математическое обеспечение АСУ ПС

Математическое обеспечение необходимо для формализации процессов управления (с целью их автоматизации) и реализации алгоритмов управления на ЭВМ. Математическое описание в общем случае включает:

* формализованные описания объектов и процессов управления;

* алгоритмы решения задач управления;

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

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

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

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

Например, при автоматическом регулировании параметров объекта управления, система управления реализует функции автоматического регулятора:

x (t) = y з (t) - y (t);

U (t) = A {x (t)},

где x(t) – ошибка объекта управления; y з (t) – заданное значение управляемого параметра, y(t) – текущее значение управляемого параметра; U(t) – управляющее воздействие; A – оператор, зависящий от закона регулирования.

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

Обобщенный алгоритм, реализующий выполнение задачи автоматического регулирования параметра Y на ЭВМ, показан на рис. 206. При запуске задачи программа начинает отсчет времени и опрашивает объект управления. В результате опроса объекта происходит ввод текущего значения управляемого параметра Y(t).

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

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

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

Такие системы рассматриваются как инструмент для разработки программного обеспечения АСУ ТП. В современных АСУ ТП взаимодействие между оператором и технологическим процессом осуществляется с помощью программного обеспечения, получившего общее название SCADA. SCADA-система (Supervisory Control And Data Acquisition System) – система сбора данных и оперативного диспетчерского управления. SCADA-система выполняет следующие основные функции:

· контроль параметров и сбор данных о контролируемом технологическом процессе;

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

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

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

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

Этим методом удается в частности получить характеристики системы без проведения натурных экспериментов. Прикладное программное обеспечение предназначено для решения конкретных задач пользователя и организации вычислительного процесса автоматизированной системы управления в целом. 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 (США). Эти пакеты управляют администрированием данных, коммутаторами, концентраторами, маршрутизаторами, графиком сообщений.

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



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

8507. Китайско-конфуцианская цивилизация 72 KB
Китайско-конфуцианская цивилизация Китайская цивилизация - одна из старейших в мире. По утверждениям китайских учёных, её возраст может составлять пять тысяч лет, при этом имеющиеся письменные источники покрывают период не менее 3500 лет. Налич...
8508. Господарський розвиток та економічна думка на етапі становлення Східної та Західної цивілізацій (УІІІст до н.е.-У ст н.е.) 171 KB
Господарський розвиток та економічна думка на етапі становлення Східної та Західної цивілізацій (УІІІст до н.е.-У ст н.е.) Осьовий час формування світових цивілізацій. Східна цивілізація та її характеристика в осьовий...
8509. История философии. Особенности становления философии в Китае, Индии, Греции 84.5 KB
История философии Раздел история философии в значительной степени перекликается с философией истории. История философии - это попытка осмысления объективного процесса развития философии от ее рождения до наших дней. Философия - важная составная част...
8510. Роль Семьи в Древнем Китае 336 KB
Роль Семьи в Древнем Китае Введение Цель данной работы - всесторонне изучить семью Древнего Китая (12 - 6 вв. до н.э.) по данным источников. Для выполнения поставленной цели необходимо выполнить следующие задачи: 1) Охарактеризовать...
8511. Китайский язык. Начальный уровень 1.11 MB
Китайский язык. Начальный уровень. Учебно-методический комплекс Часть 1 Новосибирск 2010 Фонетика. Структура слога в китайском языке, как видно из схемы, представляет собой сочетание трех компонентов: финали, инициали и тона...
8512. Культура Китая и Японии 29.5 KB
Культура Китая Древнекитайская культура создана китайским народом в условиях относительной изоляции. Формирование своеобразия китайской культуры в значительной степени определялось иероглифической письменностью. Ее основной принцип - связ...
8513. Особенности и современное состояние мировой политики как науки и учебной дисциплины в Китае 64 KB
Особенности и современное состояние мировой политики как науки и учебной дисциплины в Китае Политологические исследования в Китае стали развиваться сравнительно недавно, но, несмотря на это, обладают рядом специфических, свойственных только Китаю, ч...
8514. особенности китайского менеджмента 34 KB
особенности китайского менеджмента В 11-й пятилетке (с 2006 по 2010 годы) Китай вышел на первое место в мире по темпам экономического роста Как пишет журнал Биржевой Лидер: КНР пугает успехами своего стратегического курса, причинами которых стал р...
8515. Китайский и японский стиль деловых переговоров 25.5 KB
Китайский и японский стиль деловых переговоров Китайский стиль ведения переговоров четко разграничивает отдельные этапы, первоначальное уточнение позиций, их обсуждение и заключительный этап. На начальном этапе переговоров большое внимание уделяется...

Основные понятия

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

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

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

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

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

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

Системой операций называется совокупность всех машинных операций, предусмотренных в ЭВМ.

Команда представляет собой элементарное предписание, предусматривающее выполнение некоторой группы операций.

Основными операциями ЭВМ являются арифметические, логические, переносы, переходы, когда машина осуществляет переход от выполнения одной команды к выполнению другой, выборка команд из оперативной памяти и останов машины («стоп»). Основными операциями над буквенной информацией являются: определение длины слова; перенос слова с одного места оперативной памяти в другое; выделение определенной части заданного слова; включение между словами пробелов; деление строки слов на более мелкие строки; сравнение двух слов. Обычно перечисленные операции называют редактированием.

Программирование

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

При решении на ЭВМ некоторой задачи (класса задач) работа распадается на следующие этапы:

    математическую формулировку задачи;

    разработку методики ее решения;

    разработку алгоритма ее решения и запись ее на некотором языке программирования;

    программирование;

    отладку программы на машине;

    подготовку исходных данных, решение задачи на ЭВМ.

Описанный комплекс работ называют проблемным программированием.

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

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

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

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

Применяя ЭВМ для решения задачи, необходимо учитывать следующие ее особенности:

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

Программирование. Программирование заключается в записи разработанного алгоритма на языке программирования (например, на так называемом языке АССЕМБЛЕРА или на АЛГОЛе, ФОРТРАНе, КОБОЛе, ПЛ/I), выполняемой вручную, и последующей трансляции на машинный алгоритмический язык.

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

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

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

Как правило, для ввода информации в вычислительную машину используются либо 80-колонные ПК, либо бумажная ПЛ. На больших машинах имеется и то и другое. Перфокарта содержит 12 строк, и, следовательно, в каждой колонке возможно 12 пробивок; в поперечном направлении перфоленты допускаются 5, 6, 7 и 8 позиции пробивки. Таким образом, теоретически возможно использование алфавита от 2 5 =32 до 2 12 =4096 символов, но на практике в колонке перфокарты редко встречается более 3 пробивок, так что, как правило, используемый алфавит содержит от 40 до 80 символов. Среди оборудования вычислительной машины имеется самостоятельное устройство воспроизведения на бумаге информации, содержащейся на перфокартах и перфоленте в виде, удобном для чтения ее человеком. В результате мы получаем то, что обычно называется листингом, или распечаткой.

После ввода в ЭВМ программ и исходных данных решение задачи производится автоматически.

Математическое обеспечение ЭВМ

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

В систему МО вычислительных машин могут входить следующие группы программ:

    операционная система программ;

    система средств программирования;

    приложения к программам;

    система программ поддержания математического обеспечения;

    система испытательных программ, предназначенных для контроля исправности ЭВМ.

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

диспетчер - программа, обеспечивающая определенный режим работы ЭВМ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В библиотеку собирают обычно специально составленные и специально оформленные программы.

Перечисленные средства программирования целесообразно применять для решения различных задач (проблем). При этом считается, что программы отдельных задач (проблем) могут быть и не очень «хорошие», зато суммарным расход средств на программирование и решение задачи на ЭВМ бывает обычно меньше, чем при составлении более «хороших» программ.

Математическое обеспечение АСУ

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

Основными положениями, которыми необходимо руководствоваться при создании МО АСУ, являются следующие:

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

МО АСУ служит для представления пользователю широкого спектра услуг по технологии программирования. Его можно разделить на две части: составление управляющих программ и составление обрабатывающих программ.

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

Обрабатывающие программы включают в себя систему автоматизации программирования и обслуживающие программы.

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

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

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

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

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

программы ввода и преобразования в машинную форму документов и других письменных источников исходных данных;

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

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

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

Языком программирования называются знаковые системы, применяемые для описания процессов решения задач на ЭВМ. По своему характеру языки программирования делятся на три группы:

  1. формальные алгоритмические языки;
  2. формальные неалгоритмические языки программирования;
  3. не вполне формализованные знаковые системы, применяемые при программировании.

Формальные языки программирования. К этой группе языков относятся: алгоритмические языки машин и операционных систем; машинно-ориентированные алгоритмические языки; проблемно-ориентированные алгоритмические языки; универсальные машинно-независимые алгоритмические языки.

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

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

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

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

Универсальные машинно-независимые алгоритмические языки пригодны для создания алгоритмов решения задач весьма широких классов. К числу этих языков относятся уже упомянутые АЛГОЛ, ФОРТРАН, ПЛ/1.

Из числа универсальных машинно-независимых алгоритмических языков исключение составляет ЯЛС. Назначение этого языка не сводится к тому, чтобы быть языком программирования. ЯЛС используется как первый этап описания алгоритмов при программировании на машинном языке или на языке АССЕМБЛЕРА (операторный метод программирования; записанный на ЯЛС алгоритм вручную переводится на язык машины или язык АССЕМБЛЕРА).

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

Не вполне формализованные знаковые системы. Эти языки обычно используются при программировании вручную или на предварительном, выполняемом вручную этапе автоматизированного программирования. Их примером является блок-схема программы. Блок-схема программы представляет собой укрупненное описание программы, при котором отдельные ее части изображаются в виде «блоков» (прямоугольников, ромбов, кружков и т. п.), внутри которых на естественном языке (например, на русском) излагается содержание этих частей. Связь между блоками (частями программы) изображается с помощью линий, обозначающих передачу управления. Линии могут быть снабжены надписями, указывающими условия, при которых происходит передача управления. Блок-схемы аналогичны алгоритмам, записанным на ЯЛС с помощью обобщенных операторов, но отличаются от них тем, что значение блоков изложено на естественном, неформальном языке, тогда как в ЯЛС обобщенные операторы снабжены расшифровкой на точном формальном языке.

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

Различают языки программирования следующих уровней:

    язык нулевого или низшего уровня - машинный код;

    язык первого уровня - мнемокод, или язык символического кодирования;

    язык второго уровня - автокод (макрокод);

    языки третьего уровня (высшего)-проблемно-ориентированные языки.

В качестве входных языков в зависимости от вида задач АСУП целесообразно применять проблемно-ориентированные языки различного типа

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

Класс алгоритмических языков программирования

Учет особенностей ЭВМ

Характеристика класса задач

Способ программирования

Условная оценка качества программ

Машинные языки

Машинно-ориентированные языки

Частичный

Определяется особенностями ЭВМ

Автоматизированный

Удовлетворительная

Проблемно-ориентированные языки

Незначительный

Автоматизированный

Удовлетворительная

Универсальные машиннонезависимые языки

Отсутствует или весьма незначительный

Весьма обширный

Автоматизированный

Невысокая

(например, для анализа - АЛГОЛ, ФОРТРАН и др., для экономических задач- АЛГЭК и др., для информационных задач -КОБОЛ, СИНТОЛ и др.).

Рассмотрим некоторые из алгоритмических языков программирования.

АЛГОЛ-60. Название языка происходит от английских слов Algorithmic Language. Он был разработан группой ученых различных стран в 1960 г. и получил повсеместное распространение. Причины успеха заключаются в его близости к обычному математическому языку, в удобстве описания широкого класса задач, универсальности и полной независимости от конкретной ЭВМ, строгой формализации языка от алфавита до самых сложных конструкций.

АЛГОЛ-60 не только универсальный язык программирования, но и международный язык описания алгоритмов.

Основой записи алгоритмов на языке АЛГОЛ-60 является последовательность операторов, разделенных символом «;». К этой последовательности операторов, являющихся единичными действиями в языке, присоединяется последовательность описаний, дающих транслятору информацию о необходимых свойствах, используемых в операторах. Описания, например, дают информацию о классах чисел, используемых в качестве значений переменных, о размерности массивов чисел и т. д. Такое объединение описаний и операторов в этом языке называется блоком.

Программой в языке АЛГОЛ-60 называется блок, или составной оператор, который не содержит внутри другого оператора и не использует другой оператор, не содержащийся в нем.

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

В СССР АЛГОЛ-60 получил распространение в виде некоторых его вариантов.

ФОРТРАН. Слово ФОРТРАН образовано из двух английских слов (Formula Translator). Одной из важнейших особенностей языка ФОРТРАН является то, что он относительно свободен от специфики конкретной вычислительной машины. ФОРТРАН является машиннонезависимым языком программирования.

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

Повсеместное внедрение ФОРТРАНа в практику программирования происходит благодаря его качествам, из которых следует отметить, во-первых, его простоту по сравнению с другими алгоритмическими языками (например, АЛГОЛом); во-вторых, благодаря отсутствию слишком сложных конструкций оттранслированные программы получаются более эффективными по сравнению с программами, составленными на других языках; в то же время ФОРТРАН пригоден для программирования большинства вычислительных алгоритмов;

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

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

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

При составлении программ на ФОРТРАНе рекомендуется придерживаться следующего порядка следования операторов: 1) оператор-заголовок основной программы (подпрограммы); 2) оператор описания файлов; 3) неявный оператор задания типа; 4) явный оператор задания типа, оператор задания размеров, оператор задания общих областей; 5) оператор задания эквивалентности; 6) оператор-функция, оператор-процедура; 7) оператор задания формата, выполняемые операторы (безусловные, условные, ввода, вывода); 8) оператор конца.

КОБОЛ. Название языка происходит от английских слов Common Business Orientated Language. КОБОЛ - проблемно-ориентированный алгоритмический язык, предназначенный для описания процессов решения задач и обработки данных. В настоящее время КОБОЛ является единственным широко распространенным языком высокого уровня для программирования экономических задач. Его широкая популярность объясняется тем, что КОБОЛ достаточно близок к естественному языку, на котором обычно формулируются и решаются экономические задачи.

Отличительные особенности языка КОБОЛ состоят в следующем:

язык в известном смысле является подмножеством английского языка; написанный на КОБОЛе текст можно понимать без предварительной подготовки;

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

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

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

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

В КОБОЛе основной единицей ввода-вывода является файл данных. Каждый файл состоит из записей. Один и тот же файл часто используется в различных программах в зависимости от характера решаемых задач. Описание файлов является очень строгим и не допускает изменений.

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

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

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

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

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

Рассмотрим некоторые специализированные алгоритмические языки моделирования.

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

Алгоритмический язык SIMSCRIPT принято считать наиболее мощным моделирующим языком в настоящее время. Благодаря ряду своих уникальных черт он применим для самого широкого класса задач. Однако этот язык сравнительно сложен, диагностические средства для отладки программ ограничены. Кроме того, потенциальный потребитель этого языка должен знать ФОРТРАН, иметь опыт программирования.

Внимание специалистов, связанных с решением проблем моделирования, привлекают специализированные языки, разработанные для этих целей на базе АЛГОЛа. Среди таких языков автоматического программирования наиболее совершенными являютсяSIMULA и SOL (СОЛ).

Примером одного из наиболее удачных специализированных алгоритмических языков, предназначенных для моделирования дискретно изменяющихся систем, является язык СОЛ - Simulation Orientated Language.

Язык СОЛ построен на базе универсального языка программирования АЛГОЛ, имеет такую же структуру и использует основные его элементы. Для описания широкого класса процессов с дискретными событиями СОЛ представляет универсальную систему понятий, и потому он во многих отношениях очень похож на проблемно-ориентированные языки автоматического программирования, такие, как АЛГОЛ или ФОРТРАН. Однако языку СОЛ присущи основные черты, отличающие его от этих языков: СОЛ обеспечивает механизм моделирования асинхронных параллельных процессов, удобные обозначения для случайных элементов внутри арифметических выражении, автоматические средства сбора статистических данных о компонентах моделируемой системы. С другой стороны, многие черты проблемно-ориентированных универсальных языков не используются в СОЛе не потому, что они несовместимы с ним, а скорее потому, что они вносят большие усложнения в его схему, не расширяя его возможности. Принципы, положенные в основу построения языка и написания моделирующих программ на нем, позволяют строить модели сложных систем в удобной для чтения форме.

ПЛ/ I . Название языка происходит от английских слов Programming Language/One.

Язык ПЛ/I появился после создания целого ряда весьма совершенных языков, и, конечно, эти языки-предшественники оказали существенное влияние на его структуру. Так, в нем сохранены от АЛГОЛа блочная структура программы, возможность динамического распределения памяти, имеется аппарат вызова процедур, способ задания форматов, используемый в ФОРТРАНе, и т. д. Но много и новых черт. Язык удобен для моделирования, решения логических задач, исследования логических схем, решения задач в реальном масштабе времени, разработки систем математического обеспечения. Возможно использование разного типа данных (двоичных, десятичных, символьных, комплексных чисел, матриц и т. д.), однако весьма сложно организовывать эти данные в массивы, таблицы, тексты, анкеты, картотеки и т. и. Имеется большой набор стандартных функций и процедур. В языке ПЛ/I разработана удачная система операции, управляющих всеми процессами ввода, вывода и обмена информацией между основными и запоминающими устройствами. Все эти особенности производят впечатление сильной перегруженности языка. Следует иметь в виду и недостатки: описание языка неудовлетворительно, оно не формализовано.

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

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

В языке ПЛ/I каждому описателю переменной, каждой уточняющей конструкции-дополнению и каждой спецификации придана «интерпретация (принцип) умолчания». Это означает, что всюду, где язык предоставляет несколько возможностей, а программист не указал никакой, компилятор применяет «интерпретацию умолчания», т. е. подразумевается некоторая из возможностей, предусмотренная в языке на этот случай. В качестве таких подразумеваемых для каждой конструкции возможностей в языке выбраны те, которые, вероятнее всего, потребуются программисту.

Программы на языке ПЛ/I пишутся в свободной форме; программист может сам разработать нужные ему формы записи программ. При этом обеспечен доступ ко всем средствам системы ЭВМ.

Операторы программы, записанной на языке ПЛ/I, объединяются в «блоки». Блоки выполняют важные функции: они определяют область действия переменных и других имен, так что одно и то же имя в разных блоках может использоваться для различных целей; они позволяют отводить ячейки памяти под переменные только на время выполнения данного блока и освобождать их для использования в других целях по прекращении работы блока.

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

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

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

На основании этой информации транслятор РПГ формирует рабочую программу, и затем созданная программа обрабатывает входные файлы и печатает требуемый отчет.

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

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

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

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

Для получения рабочей программы сначала нужно выполнить трансляцию исходной программы. Для этого к картам исходной программы добавляются некоторые управляющие карты, такие, как управляющая карта транслятора РГ1Г и карты управляющих операторов - УПРАВЛЕНИЯ ЗАДАНИЯМИ, необходимые для работы транслятора РПГ. После трансляции полученный модуль может быть отредактирован с помощью РЕДАКТОРА. В результате редактирования получается готовая для выполнения программа (загрузочный модуль), которая называется рабочей программой. Компиляция и редактирование необходимы для получения желаемого отчета.

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

АЛГАМС. Алгоритмический язык АЛГАМС ориентирован на машины средней мощности; основой его стало подмножество языка АЛГОЛ-60.

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

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

При вводе текста последовательным элементам массива начиная с указанного объекта ввода присваиваются целые значения, соответствующие последовательным символам вводимой строки в смысле процедуры=ТЕХТ. Процедура = ТЕХТ определяется следующим образом: <оператор текст> ::=ТЕХТ (<строка>, <переменная с индексами>).

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

БЭЙСИ К. Название языка происходит от английских слов Beginners all Purpose Symbolic Instructioncode. Он получил широкую популярность благодаря своей простоте, легкости в изучении и большим возможностям для решения самых различных задач. Во многих мини-ЭВМ этот язык принят в качестве основного разговорного языка. Язык БЭЙСИК представляет собой язык программирования. Он удобен для решения научно-технических задач небольшого объема как по количеству выполняемых операций, так и по количеству исходных и результирующих данных. Важнейшей особенностью языка является то, что он приспособлен для шаговой реализации. Это означает, что после каждого изменения исходного текста программы на языке БЭЙСИК можно перетранслировать не всю-программу, а только те ее операторы, которые были изменены. Возможность шаговой реализации языка БЭЙСИК позволяет сократить затраты машинного времени на перетрансляцию. Это в свою очередь позволяет ускорить цикл отладки настолько, что становится целесообразной отладка БЭЙСИК-программ в режиме диалога.

Помимо возможности накапливать большие программы, состоящие из перенумерованных операторов языка БЭЙСИК, предусмотрены так называемые прямые команды, т. е. такие, которые исполняются тотчас же после ввода их с пульта программиста (с телетайпа). В режиме прямых команд могут использоваться не только административные директивы типа RUN-запуск исполнения, LIST - распечатка текста, SAVE - сохранить текст программы в библиотеке, BYE - конец сеанса работы; любой оператор языка БЭЙСИК, введенный без порядкового номера, исполняется в режиме прямой команды. Это позволяет, в частности, распечатывать и изменять значения переменных в любой момент выполнения программы.

Служебное слово Выполняемое действие

PRINT Отпечатать текст сообщения, заключенный в кавычки, или значение арифметического выражения (предварительно вычислив его), или значения переменных

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

LET Присвоить переменной значение выражения

GO ТО Перейти к выполнению оператора с заданным номером

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

DATA Данные; этот оператор не выполняется. Он описывает блок отладочных данных (чисел). Совокупность блоков отладочных данных образует массив отладочных данных

END Конец программы

Таким образом, шаговая схема компиляции в сочетании с режимом прямых команд позволяет эффективно отлаживать БЭЙСИК-программы в режиме диалога.

Программа на языке БЭЙСИК состоит из операторов, каждый из которых начинается со служебного слова. Служебное слово определяет тип оператора и характер действий, осуществляемых при его выполнении.

При решении многих задач необходимо представление данных в виде таблиц. Используя возможности некоторых операторов языка БЭЙСИК, можно формировать таблицы различных форматов.

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

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

1. Модель – представитель определенного оригинала

2. Модель охватывает не все свойства оригинала, а только те, которые существенны для исследователя

3. Модель однозначно соответствует оригиналу, однозначное соответствие устанавливается для определенных объектов внутри определенного промежутка времени.

Моделирование – это опосредственное практическое, или теоретическое исследование объекта, при котором непосредственно изучается не сам интересующий нас объект, а некоторое вспомогательная искусственная, или естественная модель, которая позволяет в результате ее исследования получить …

2 класса моделей:

1. Физические – представляют собой некоторую материально-физическую систему и отличаются от моделируемого оригинала размером и т.п.

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

Наиболее распространенные – математические модели.

1. Статические и динамические

2. Детерминированные и вероятностные

3. Непрерывные и дискретные

4. Модели исследования операций, игровые модели, модели массового обслуживания, имитационные модели.

Этапы создания модели, на основе которых разрабатывается алгоритм, а затем и программа – следующие:

1. Формулировка цели моделирования

2. Получение и сбор информации о структуре модели, взаимодействии между элементами системы

3. Формирование представления об объекте и условиях его функционирования

4. Математическое описание, которое включает математическую формализацию, создание математических моделей с учетом ее решаемости.

5. Методы решения математических отношений

6. Алгоритм решения

7. Решение и его анализ

8. Сопоставление полученных данных с реальными

9. Контроль результатов деятельности

10. Корректировка модели.

Наиболее часто используются модели исследования операций .

Исследование операции - это научная дисциплина, и занимается изучением способов

повышения эффективности функционирования систем в различных условиях.

1. Распределительные – задачи, связанные с оптимальным распределением ограниченных ресурсах (задачи о назначении, транспортные задачи).

2. Задачи управления запасами (минимизация сроков, частоты и т.п.)

3. Задачи замены оборудования – оптимизация срока службы оборудования, длительность его использования, время замены оборудования, выбор оптимального плана ремонта с целью уменьшения вероятности отказа.

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

5. Задачи выбора оптимальных режимов движения.

6. Задачи массового обслуживания.

7. Задачи поиска – минимизация затрат на поиск неисправностей и т.д.

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

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

Методы теории игр .

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

поведения участников.

Конфликт - определяется как наличие у элементов системы нескольких целей и

связанные с этим интересы в их поведении.

Конфликт разделяется на

антагонистический – когда два лица преследуют противоположные интересы, и

НЕ антагонистические – когда интересы хотя и разные, но не противоположны.

В каждой игре исследуются 3 вопроса:

1. В чем состоит оптимальное поведение игроков в каждой игре

2. Существуют ли соответствующие стратегии

3. Нахождение оптимальной стратегии

В результате решения вопросов определяется путь решения задачи и строится модель.

Имитационное моделирование

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

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


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 компилируются с помощью автоматических процедур. Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти Диалоговые языки Появление новых технических возможностей поставило задачу перед системными программистами – создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками. Эти работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных (не диалоговых) языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач.


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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows