Инструментальные программные средства для решения прикладных математических задач
Описанные выше программные системы - текстовые редакторы и издательские системы, электронные таблицы и СУБД - являются инструментальными средствами общего назначения, т.е. могут использоваться для решения наиболее общих задач информационного характера в любой из сфер человеческой деятельности. Вместе с тем в отдельных сферах деятельности часто возникают задачи менее общего характера, такие, например, как проведение математических расчетов типа решения систем уравнений, интегрирования, статистической обработки информации и т.п., которые также требуют использования инструментальных программных средств. Таких более специальных инструментальных программ в настоящее время существует огромное количество. Одно их перечисление заняло бы многие страницы и все равно осталось бы неполным, так как новые «полуприкладные» системы появляются очень часто. Укажем лишь некоторые классы таких инструментальных средств: универсальные математические пакеты, пакеты статистической обработки данных, электронные «органаизеры» - программные средства, облегчающие планирование деятельности, хранение и поиск записей, отслеживающие заданные промежутки времени и т.д.
В среде MATHCADимеются функции трех видов: встроенные, пользовательские и вложенные. Это виртуальные функции, производные, интегралы, корни, связанные с соответствующими вычислительными методами и алгоритмами. В менюSymbolicпакетаMathcad. включены следующие операции символьной математики:
• вычисление выражения в аналитическом виде;
• вычисление выражения в комплексном виде;
• вычисление числового значения выражения;
• упрощение выражений;
• развертывание выражения;
• разложение на множители;
• группировка выражения;
• вычисление коэффициентов полинома;
• поиск производной по переменной;.
• интегрирование по переменной;
• решение уравнения в аналитическом виде;
• подстановка в выражение;
• разложение в ряд;
• представление в виде смешанной дроби;
• транспонирование матрицы;
• инвертирование (обращение) матрицы;
• нахождение детерминанта (определителя) матрицы;
• преобразование Фурье;
• обратное преобразование Фурье;
• преобразование Лапласа;
• обратное преобразование Лапласа;
• Z-транспонирование;
• обратное Z-транспонирование;
• пределы (команд нет.есть кнопки-иконки).
Разновидности компьютерных вирусов
Рассмотрим подробнее основные особенности компьютерных вирусов, характеристики антивирусных программ и меры зашиты программ и данных от компьютерных вирусов в наиболее распространенной операционной системе MSDOS.
По приближенным оценкам к 1997 г. существовало около 7000 различных вирусов. Подсчет их осложняется тем, что многие вирусы мало отличаются друг от друга, являются вариантами одного и того же вируса и, наоборот, один и тот же вирус может менять свой облик, кодировать сам себя. На самом деле основных принципиальных идей, лежащих в основе вирусов, не очень много (несколько десятков).
Среди всего разнообразия вирусов следует выделить следующие группы:
•загрузочные(boot) вирусызаражают программу начальной загрузки компьютера, хранящуюся в загрузочном секторе дискеты или винчестера, и запускающиеся при загрузке компьютера;
• файловые вирусы в простейшем случае заражают пополняемые файлы, но могут распространяться и через файлы документов (системыWordforWindows) и даже вообще не модифицировать файлы, а лишь иметь к ним какое-то отношение;
• загрузочно-файловые вирусыимеют признаки как загрузочных, так и файловых вирусов;
• драйверные вирусызаражают драйверы устройств компьютера или запускают себя путем включения в файл конфигурации дополнительной строки.
Из вирусов, функционирующих не на персональных компьютерах под операционной системой MSDOS, следует упомянуть сетевые вирусы,распространяющиеся в сетях, объединяющих многие десятки и сотни тысяч компьютеров.
Рассмотрим принципы функционирования загрузочных вирусов. На каждой дискете или винчестере имеются служебные сектора, используемые операционной системой для собственных нужд, в том числе сектор начальной загрузки. В нем помимо информации о дискете (число дорожек, число секторов и пр.) хранится небольшая программа начальной загрузки, о которой уже рассказывалось в настоящей главе.
Простейшие загрузочные вирусы, резидентно находясь в памяти зараженного компьютера, обнаруживают в дисководе незараженную дискету и производят следующие действия:
• выделяют некоторую область дискеты и делают ее недоступной операционной системе (помечая, например, как сбойную - bad);
• замещают программу начальной загрузки в загрузочном секторе дискеты, копируя корректную программу загрузки, а также свой код, в выделенную область дискеты;
• организуют передачу управления так, чтобы вначале выполнялся бы код вируса и лишь затем - программа начальной загрузки.
Известные ныне антивирусные программыможно разделить на несколько типов, перечисленных ниже.
• Детекторы. Пх назначение - лишь обнаружить вирус. Детекторы вирусов могут сравнивать загрузочные сектора дискет с известными загрузочными секторами, формируемыми операционными системами различных версий, и таким образом обнаруживать загрузочные вирусы или выполнять сканирование файлов на магнитных дисках с целью обнаружения сигнатур известных вирусов. Такие программы в чистом виде в настоящее время редки.
• Фаги.Фаг - это программа, которая способна не только обнаружить, но и уничтожить вирус, т.е. удалить его код из зараженных программ и восстановить их работоспособность (если возможно). Известнейшим в России фагом являетсяAidstest, созданный Д.Лозинским. К январю 1997 года эта программа была способна обнаружить и обезвредить около 1600 вирусов. Еженедельно появляются новые версии этой программы, рассчитанные на обезвреживание десятков новых вирусов.
Очень мощным и эффективным антивирусным средством является фаг DoctorWeb(созданный И.Даниловым). Детектор этого фага не просто сканирует файлы в поисках одной из известных вирусных сигнатур.DoctorWebреализует эвристический метод поиска вирусов, может находить и обезвреживать, так называемые, полиморфные вирусы (не имеющие определенной сигнатуры), проверять файлы, находящиеся в архивах. Для нахождения вирусовDoctorWebиспользует программную эмуляцию процессора, т.е. он моделирует выполнение остальных файлов с помощью программной "модели микропроцессора 1-8086 и тем самым создает среду для проявления вирусов и их размножения. Таким образом, программаDoctorWebможет бороться не только с полиморфными вирусами, но и с вирусами, которые только еще могут появиться в перспективе. Специалисты рекомендуют использоватьAidstestиDoctorWebв комплексе.
• Ревизоры. Программа-ревизор контролирует возможные пути распространения программ-вирусов и заражения компьютеров. Программы-ревизоры относятся к самым надежным средствам защиты от вирусов и должны входить в арсенал каждого пользователя. Ревизоры являются единственным средством, позволяющим следить за целостностью и изменениями файлов и системных областей магнитных дисков. Наиболее известна в России программа-ревизорADinf, разработанная Д.Мостовым.
• Сторожа. Сторож - это резидентная программа, постоянно находящаяся в памяти компьютера, контролирующая операции компьютера, связанные с изменением информации на магнитных дисках, и предупреждающая пользователя о них. В состав операционной системыMSDOS, начиная с версии 6.0, входит сторожVSAFE. Однако, из-за того, что обычные программы выполняют операции, похожие на те, что делают вирусы, пользователи обычно не используют сторожа, так как постоянные предупреждения мешают работе.
• Вакцины.Так называются антивирусные программы, ведущие себя подобно вирусам, но не наносящие вреда. Вакцины предохраняют файлы от изменении и способны не только обнаружить факт заражения, но и в некоторых случаях «вылечить» пораженные вирусами файлы. В настоящее время антивирусные программы-вакцины широко не применяют, так как в прошлые годы некоторыми некорректно работающими вакцинами был нанесен ущерб многим пользователям.

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

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

Функциональная структура АСУП
Автоматизированная система управления предприятием может состоять из следующих подсистем управления:
технической подготовки производства (конструкторской и технологической подготовки);
технико-экономического планирования;
бухгалтерского учета;
управления материально-техническим снабжением;
оперативного управления основным и вспомогательными производствами;
управления сбытом;
управления кадрами;
управления качеством;
управления финансами;
нормативного хозяйства и др.
В качестве примера объектной распределенной СУБД, которая может быть использована для автоматизации системы управления, рассмотрим систему SQLWindows, первоначально разработанную компанией «GuptaTechnologies»,aпозже развитую «Microsoft». Данная система позволяет работать в сети с наиболее популярнымиSQL-серверами.ПакетSQLWindowsотличается от аналогичных систем наиболее полной реализацией возможностей, необходимых для эффективной объектно-ориентированной разработки сетевых прикладных программ. В первую очередь, к его преимуществам можно отнести
• высокую автоматизацию процесса разработки;
• поддержку ручного программирования:
• развитые средства объектно-ориентированного программирования;
• встроенные средства поддержки коллективной разработки.
Данная система обладает многими возможностями, необходимыми для создания SQL-приложений в среде Windows, например, развитым графическим интерфейсом, средствами построения отчетов, отображения информации в графической форме и т.п.

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

Типовая схема САПР
Географические информационные системы

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

Рис. 6.12.Схема обобщенной экспертной системы
Таблица 6.6
Типичные категории способов применения экспертных систем
|
Категория
|
Решаемая проблема
|
|
Интерпретация Прогноз Диагностика Проектирование Планирование Наблюдение Отладка Ремонт Обучение Управление
|
Описание ситуации по информации, поступающей от датчиков Определение вероятных последствий заданных ситуаций Выявление причин неправильного функционирования системы по наблюдениям Построение конфигурации объектов при данных ограничениях Определение последовательности действий Сравнение результатов действий с ожидаемыми результатами Составление рецептов исправления неправильного функционирования системы Выполнение последовательности предписанных исправлений Диагностика и исправление поведения обучаемого Управление поведением системы как целого
|
