Основы современных компьютерных технологий

         

Характеристика решателя задач ТК Solver


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

Система ТК Solver является открытой и позволяет:

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

накапливать описания в библиотеке моделей (базе знаний системы);

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

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



Характеристика сетевых ОС


Существует множество СОС, различающихся своими возможностями и условиями эксплуатации. Основными параметрами, которые учитываются при сравнении систем, являются следующие:

зависимость производительности от количества PC;

надежность работы сети;

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

406

защита информации от несанкционированного доступа;

потребление ресурсов сетевыми средствами (объем оперативной и дисковой памяти, требуемая доля производительности вычислительной системы);

возможность использования в сети нескольких серверов;

типы поддерживаемых топологий сети, а также возможность изменения состава сети;

перечень поддерживаемых сетевых устройств (сетевых плат, принтеров, сканеров, модемов и т.д.);



наличие интерфейсов с другими ЛВС и выхода в Internet и т.д.

Однозначно склониться в пользу той или иной СОС при ее выборе непросто. Это объясняется несколькими причинами:

различием важности тех или иных показателей качества СОС;

особенностями решаемых задач;

структурой аппаратных средств;

стоимостью;

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

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

Рассмотрим достоинства и недостатки наиболее широко используемых следующих серверных СОС: Microsoft Windows NT Server 3.51 (фирма Microsoft), NetWare 4.1 (фирма Novell), OS/2 Warp Server Advanced (фирма IBM) и VINES 6.0 (фирма Banyan Systems).

Microsoft Windows NT Server 3.51. Обладая большими возможностями масштабирования, эта система представляет собой завершенную СОС, которая в равной степени пригодна для небольших или средних по размеру, одно- и многосерверных корпоративных сетей.


В составе комплекта прикладных программ MS BackOffice операционная система Microsoft Windows NT Server 3.51 наиболее близка к представлению об идеальной современной сетевой среде.

К основным достоинствам названной системы можно отнести следующее:

наличие унифицированного графического интерфейса;

простота и удобство использования и администрирования;

надежность служб файлов и печати;

развитый интерфейс API (Application Program Interface) прикладного программирования, облегчающий процесс разработки прикладных программ;

возможность реализации одно- и многопроцессорной (до 32 процессоров) обработки в одном пакете;

поддержка различных архитектур процессоров (CISC и RISC) и разных аппаратных платформ (Intel, Alpha, MIPS и др.).

Среди недостатков обычно отмечаются следующие:

слабая гибкость службы каталогов (доменная модель) по сравнению с аналогичными службами СОС NetWare 4.1 и Banyan VINES 6.0;

сложность системы защиты при управлении доступом внутри доменов и между ними.

407

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

Достоинствами системы являются:

хорошо продуманные и мощные службы файлов и печати;

наличие средств оперативного сжатия информации на дисках;

мощные средства администрирования больших многопользовательских, многосерверных сетей Novell;

возможность создания сетей с повышенной отказоустойчивостью (пакет NetWare SFTIII);

большое количество прикладных программ, разработанных независимыми поставщиками;

удобная иерархическая структура распределенного каталога. К недостаткам системы относятся:

ориентация системы только на процессоры Intel;

необходимость приобретения отдельного пакета NetWare SMP для организации многопроцессорной обработки;

отсутствие простых инструментальных средств разработки приложений;

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



OS/2 Warp Server Advanced. В этой СОС, помимо основных сетевых служб файлов и печати, предусмотрена программа дистанционного доступа LAN Distance и ряд утилит для выполнения основных функций управления системой, учета программных и аппаратных средств, сетевого резервного копирования и восстановления. Она лучше других отвечает требованиям небольших или средних сетей.

Достоинствами системы являются следующие:

неплохая работа системы в качестве сервера приложений, таких как СУБД DB2 (фирмы IBM), программы обмена сообщениями и групповой работы Lotus Notes (фирмы Lotus Development), сервера IBM Internet Connection Server и других;

хорошие возможности использования сетевых дисков и принтеров;

мощные средства административного управления и контроля.

Основными недостатками системы являются невозможность обеспечения симметричной многопроцессорной обработки и отсутствие полноценной глобальной службы каталогов (здесь используется доменная структура, как и в Windows NT Server 3.51).

VINES 6.0. Из четырех сравниваемых здесь СОС система VINES 6.0 обладает наиболее мощной службой каталогов. Это является ее основным достоинством.

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

Недостатками системы являются следующие:

ограниченные возможности службы приложений (файлы не могут быть больше 2 Гбайт; разработано незначительное число готовых приложений);

средства работы с Internet и дистанционного доступа ограничены;

недостаточно удобные средства инсталляции;

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

408


Характеристика вирусов


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

83

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

среде обитания;

способу заражения среды обитания;

способу активации;

деструктивным возможностям;

особенностям алгоритма.

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

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

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

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

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

84

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


Характеристика Windows


Основные отличительные особенности Windows 98 связаны с тем, что разработанные ранее различные программы, в основном для работы с сетями, теперь являются неотъемлемой частью самой операционной системы.



Имена диапазонов ячеек и формул


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

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

Имя диапазона или формулы должно удовлетворять следующим требованиям:

первым символом имени должна быть буква, символ подчеркивания или наклонная черта (\);

имя не должно превышать 255 символов;

в именах можно использовать цифры, но они не должны совпадать с адресами ячеек стиля "А1".

Присвоить имя диапазону ячеек можно двумя способами: через поле имени в строке формул или путем выполнения команды Присвоить (Define) меню Вставка (Insert). Первый способ присвоения имени можно реализовать следующим образом:

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

поместить щелчком мыши курсор ввода в поле имени строки формул и заменить указанный здесь адрес ячейки именем диапазона;

нажать клавишу .

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

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

выделить диапазон ячеек;

выполнить команду Имя (Name) меню Вставка (Insert), а в появившемся подменю - команду Присвоить (Define);

в поле Имя: (Name in Workbook:) открывшегося диалогового окна ввести имя (в поле Формула: (Refers to:) этого окна будет отображаться ссылка на выделенный диапазон ячеек, а в средней части окна - список всех имен, присвоенных ранее в текущей рабочей книге);

нажать одну из кнопок: О/С Закрыть (Close) или Добавить (Add). Замечание.

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

159

курсор ввода перевести в поле Формула: (Refers to:) и с помощью мыши ( методом указания) выделить новый диапазон ячеек. Имя этому диапазону задается вводом символов с клавиатуры в поле Имя (Name). Действуя таким образом, можно присвоить имена нескольким диапазонам ячеек и завершить работу нажатием кнопки О/С или Закрыть (Close).

Способ присвоения имени формуле аналогичен рассмотренному. Так же с помощью команды Присвоить (Define) подменю Вставка\Имя(lnsert\Name) вызывается диалоговое окно Присвоить имя (Define Name). В поле Имя (Names in Workbook) этого окна задается имя формулы, а в поле Формула: (Refers to:) - сама формула. После этого можно завершить диалог (с помощью кнопок О/С, Закрыть (Close)) или ввести следующую формулу и ее имя.

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

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

щелчком мыши открывается список существующих в книге имен;

выбирается нужное имя;

завершается ввод формулы. Замечание.

По умолчанию присвоенное имя распознается в любом листе рабочей книги. Для того, чтобы имя было определено только в пределах текущего листа рабочей книги, необходимо во время присвоения имени диапазону в поле Формула: (Refers to:) перед ссылкой ввести имя рабочего листа с восклицательным знаком в конце, например: Лист5!$А$15.

160

159 :: 160 :: Содержание


Индексирование таблиц


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

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

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

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

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

260

В Visual FoxPro тип индексов задается при их создании с помощью Конструктора таблиц. Рассмотрим процедуру создания индекса. В диалоговом окне Table Designer (конструктор таблиц) выберем вкладку Indexes (индексы) (рис. 21.3).

Рис. 21.3. Вкладка Indexes


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

В поле Туре (тип) выберем из списка подходящий тип для устанавливаемого гега (табл. 21.3).

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

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

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

Рассмотрим формирование первичного ключа для таблицы T_ZAGR. Первичный ключ здесь является составным и представляет собой выражение FIO+ Predm+STR(Gruppa). В подобных выражениях все компоненты должны быть одного типа. Поэтому следует использовать

261

Таблица 21.3

Типы индексов (тегов)

Тип тега Описание
Regular Значение индексного выражения записывается для каждой записи таблицы. При наличии одного и того же значения для нескольких записей в индексном файле будет указатель на каждую из них. При просмотре таблицы такие записи появляются в порядке их ввода.
Unique Значение индексного выражения записывается только для первой из повторяющихся записей и только на нее в индексном файле есть указатель. При просмотре таблицы видна только одна (первая) из записей с одинаковым значением индексного выражения.
Candidate Создается уникальный индекс, не содержащий полей с пустыми значениями. Он является кандидатом на роль первичного ключа, но не является таковым, так как в таблице может быть только один первичный ключ.
Primary Один из индексов, удовлетворяющий требованиям индекса типа Candidate, может быть выбран в качестве первичного (Primary) ключа. Используется для связывания таблиц и определения условий целостности данных.
<


/p> стандартную функцию STR(), преобразующую числовые значения в символьные. Для создания индекса выполним следующие действия.

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

В диалоговом окне Конструктора таблиц выберем вкладку Indexes (индексы).

В поле Name (имя) открывшегося диалогового окна введем имя индекса i_zagr.

В списке возможных типов индекса в поле Туре (тип) выберем Primary.

В поле Expression (выражение) введем выражение для индекса i_zagr.

Установим переключатель Order (порядок) в положение по возрастанию (рис. 21.3).

Нажмем ОК.

Аналогично можно проиндексировать остальные таблицы БД Bdu (табл. 21.4).

Таблица 21.4

Индексные выражения для индексов БД Bdu

Таблица Имя тега Индексное выражение
T_ZAGR i_zagr FIO+ Predm-i-STR(Gruppa)
T_PREP i_prep FIO
T_STAG i_stag Stag
T_DOLGN i_dolgn Dolgn
В остальных таблицах можно использовать простые индексные выражения, состоящие из одного поля.

262

260 :: 261 :: 262 :: Содержание


Индивидуальные задания


1. Набрать и вычислить в системах Derive и Scientific Work Place:

a) ?

vxdx
(x+1) 2
  ;

б) (sin 2x)'' :

в)

1
?
0
 

dx
vx
  ;

г)

?
?
i=1
 

1
i2
  ;

д)

x2 -5
(x-1) 2

 

2. Вычислить разложение в ряд Тейлора в окрестности нуля функции

sin x - e- x

3. Найти корни уравнения

x5+8x4+31x3+80x2+94x+20=0

4. Вычислить обратную матрицу для

А =

1 2 3
2 4 5
3 5 6

5. Найти произведение AA-1.

6. Разработайте трафарет графических объектов Visio для Вашей предметной области.

7. Разработайте подложку для Вашей предметной области.

8. Создайте схему алгоритма решения квадратного уравнения.

9. Создайте схему организации циклических вычислений для варианта с верхним окончанием.

225

Литература

1. Говорухин В. Я., Цыбулин В.Г. Введение в Maple. Математический пакет для всех. - М.: Мир, 1997. - 208 с.

2.Дьяконов В.П. Справочник по системе DERIVE. - М.: "СК Пресс", 1998. - 256 с.

3. Рыжиков Ю.И. Решение научно-технических задач на персональных ЭВМ/Учебное пособие. - СПб.: ВИКА им. А.Ф. Можайского, 1997. - 206 с.

4. Тюрин Ю.Н., Макаров А.А. Анализ данных на компьютере. - М.: Финансы и статистика, 1995. - 384 с.

226

222 :: 223 :: 224 :: 225 :: 226 :: Содержание



Информация и формы ее представления


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

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

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

Термин "информация" происходит от латинского informatio - разъяснение, изложение, осведомленность. Энциклопедический словарь (М.: Сов. энциклопедия, 1990) определяет информацию в исторической эволюции: первоначально - сведения, передаваемые людьми устным, письменным или другим способом (с по-

7

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

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

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

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

С понятием информации связаны такие понятия, как сигнал, сообщение и данные.

Сигнал (от латинского signum - знак) представляет собой любой процесс, несущий информацию.

Сообщение - это информация, представленная в определенной форме и предназначенная для передачи.

Данные - это информация, представленная в формализованном виде и предназначенная для обработки ее техническими средствами, например, ЭВМ.

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

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

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

На рис. 1.1 в виде графиков изображены: а) непрерывный по уровню и во времени сигнал Хнн; б) дискретный по уровню и непрерывный во времени сигнал Хдн; в) непрерывный по уровню и дискретный во времени сигнал Хнд; г) дискретный по уровню и во времени сигнал Хдд.

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

8

Рис. 1.1. Виды информационных сигналов

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


Информационные процессы и технологии


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

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

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

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

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

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

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

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

11

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

Древние греки считали, что технология (techne - мастерство + logos - учение) - это мастерство (искусство) делать вещи. Более емкое определение это понятие приобрело в процессе индустриализации общества. Технология - это совокупность знаний о способах и средствах проведения производственных процессов, при которых происходит качественное изменение обрабатываемых объектов.



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

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

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

предметом (объектом) обработки (процесса) являются данные;

целью процесса является получение информации;

средствами осуществления процесса являются программные, аппаратные и программно-аппаратные вычислительные комплексы;

процессы обработки данных разделяются на операции в соответствии с данной предметной областью;

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

критериями оптимизации процесса являются своевременность доставки информации пользователю, ее надежность, достоверность, полнота.

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

12

11 :: 12 :: Содержание


Инициализация графики


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

Таблица 27.2

Графические режимы монитора

ДРАЙВЕР РЕЖИМ РАЗРЕШЕНИЕ ФАЙЛ
CGA(1) CGACO (CGAHI) 320X200 (640X200) cga.bgi
EGA (3) EGALo (EGAHI) 640x200(640x350) egavga.bgi
VGA (9) VGALo (VGAHI) 640X200 (640X350) egavga.bgi
HERC(8) HERCMONOHI 720X348 herc.bgi

380

Процедура, устанавливающая графический режим, имеет формат:

InitGraph(DriverVar, ModeVar, 'путь к файлу графического драйвера');

Целочисленные переменные DriverVar и ModeVar задают драйвер и режим. Первый параметр может задаваться как по имени, так и цифрой. На случай, если тип дисплея компьютера не известен, имеется стандартная константа Detect. Если соответствующее типу дисплея значение присвоено параметру DriverVar (DriverVar:=Detect;), то InitGRAPH автоматически инициирует нужный драйвер и устанавливает наиболее подходящий графический режим. Третий параметр в InitGRAPH - это путь к драйверу, если он находится в текущем каталоге, то вместо маршрута можно указать пустую строку, то есть два апострофа. Для различных манипуляций с видеорежимами в Turbo Pascal имеются следующие процедуры и функции:

GetDriveName: string;

функция возвращает имя установленного драйвера.

GetGraphMode: integer;

функция возвращает текущий графический режим.

GetModeRange(graphDriver: integer; VarloMode: integer);

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

DetectGraph(VarGraphDriver, GraphMode: integer);

процедура возвращает номера текущих драйвера и режима.

GetMaxMode:integer;

функция возвращает номер максимального режима установленного драйвера.

GetModeName(GraphMode: integer): string;

функция возвращает имя текущего драйвера.

GraphDefaults;

процедура устанавливает текущий указатель (СР) в начало и переустанавливает графическую систему.


SetGraphMode(Mode: integer);

процедура переводит систему в графический режим и очищает экран.

RestoreCRTMode;

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

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

381

Память видеобуфера подразделяется на видеостраницы. Их количество зависит от текущего режима и типа адаптера. Более одной страницы имеют видеокарты EGA, VGA, Hercules. Нумерация страниц начинается с нуля. В каждый момент времени на экране монитора может быть видимой одна страница. По умолчанию это страница с номером 0. Страница, на которой в данный момент формируется изображение, называется активной.

Для работы со страницами предусмотрены две процедуры: SetActivPage(Page: word) - устанавливает активную страницу для построения изображения, при этом создаваемый рисунок не отображается на экране. После построения изображения можно визуализировать эту страницу при помощи процедуры SetVisualPage(Page: word).

Для предотвращения и нейтрализации ошибок в графическом режиме предусмотрены две функции GraphResult и GraphErrorMsg. GraphResult возвращает значение О (grOK), если последняя графическая операция выполнялась без ошибок. GraphError - возвращает строку сообщения об ошибке, соответствующую коду ошибки.

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

Uses Graph;
Var DriverVar, ModeVar :integer;
ErrorCode : integer;
Begin

DriverVar:=Detect;

lnitGraph(DriverVar, Modevar,' ');

ErrorCode:=GraphResult;

IF ErrorCodeOgrOK Then

begin
writeln('Графическая системная ошибка: ',ErrorCode);
Halt(1);
end
End.

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

Uses Graph;
Var DriverVar, ModeVar: integer;
Begin
ClrScr;
Writeln(Текстовый режим');
...
DriverVar:=Detect;
InitGraph(DriverVar, Modevar,'');
OutTextXY(200,100, 'Графический режим');
...
RestoreCRTMode;
Writeln(Текстовый режим');

382

SetGraphMode(ModeVar);
OutTextXY(200,100,'Графический режим');
CloseGraph
End.

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

383

380 :: 381 :: 382 :: 383 :: Содержание


Инструментальные средства СИИ


Используемые для разработки СИИ, в том числе ЭС, инструментальные средства можно разделить на следующие типы:

системы программирования на языках высокого уровня;

системы программирования на языках представления знаний;

оболочки систем искусственного интеллекта - скелетные системы;

средства автоматизированного создания ЭС.

Системы программирования на языках высокого уровня (ЯВУ), такие как C++, Паскаль, Фортран, Бэйсик, Forth, Refal, SmallTalk, Лисп и др., в наименьшей степени ориентированы на решение задач искусственного интеллекта. Они не содержат средств, предназначенных для представления и обработки знаний. Тем не менее, достаточно большая, но со временем снижающаяся, доля СИИ разрабатывается с помощью традиционных ЯВУ В приведенном перечне можно выделить языки Лисп и SmallTalk, как наиболее удобные и широко используемые для создания СИИ. В частности, широкое использование языка Лисп объясняется наличием развитых средств работы со списками и поддержкой механизма рекурсии, важных для характерной в СИИ обработки символьной информации. С помощью языка Лисп разработан ряд распространенных ЭС, таких, как MYCIN, DENDRAL, PROSPECTOR.

Системы программирования на языках представления знаний имеют специальные средства, предназначенные для создания СИИ. Они содержат собственные средства представления знаний (в соответствии с определенной моделью) и поддержки логического вывода. К числу языков представления знаний можно отнести FRL, KRL, OPS5, LogLisp, Пролог и др. Разработка СИИ с помощью систем программирования на ЯПЗ основана на технологии обычного программирования. От разработчика

302

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

Средства автоматизированного создания ЭС представляют собой гибкие программные системы, допускающие использование нескольких моделей представления знаний, способов логического вывода и видов интерфейса, и содержащие вспомогательные средства создания ЭС.
В качестве примеров рассматриваемого класса средств можно назвать следующие системы: EXSYS (предназначена для создания прикладных ЭС классификационного типа), 1st-Class, Personal Consultant Plus, ПИЭС (программный инструментарий экспертных систем), GURU (интегрированная среда разработки ЭС), Xi Plus, OPS5+. Построение ЭС с помощью рассматриваемых средств заключается в формализации исходных знаний, записи их на входном языке представления знаний и описании правил логического вывода решений. Далее экспертная система наполняется знаниями.

К рассматриваемому классу систем можно отнести также специальный программный инструментарий. К примеру, сюда относятся библиотеки и надстройки над языком Лисп: КЕЕ (Knowledge Engeneering Environment - среда инженерии знаний), FRL (Frame Represantation Language - язык представления фреймов), KRL (Knowledge Represantation Language - язык представления знаний) и др. Они повышают возможности и гибкость в работе с заготовками экспертных систем.

Оболочки, или "пустые" экспертные системы представляют собой готовые экспертные системы без базы знаний. Примерами оболочек ЭС, получивших широкое применение, являются зарубежная оболочка EMYCIN (Empty MYCIN - пустой MYCIN) и отечественная оболочка Эксперт-микро, ориентированная на создание ЭС решения задач диагностики. Технология создания и использования оболочки ЭС заключается в том, что из готовой экспертной системы удаляются знания из базы знаний, затем база заполняется знаниями, ориентированными на другие приложения. Достоинством оболочек является простота применения - специалисту нужно только заполнить оболочку знаниями, не занимаясь созданием программ. Недостатком применения оболочек является возможное несоответствие конкретной оболочки разрабатываемой с ее помощью прикладной ЭС.

303

300 :: 301 :: 302 :: 303 :: Содержание


Интеграция возможностей программ


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

103

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

Совместное применение различных приложений с возможностью доступа к функциям друг друга без выхода из своих сред предусмотрено одним из наиболее распространенных стандартов интеграции OLE (Object Linking and Embedding - связывание и встраивание объектов), положенным в основу разработки современных программных систем. Объектами могут быть рисунки, диаграммы, таблицы и другие элементы документа. Современный вариант технологии - OLE 2.0 - позволяет при создании документов в среде текстового процессора (OLE-клиента) использовать данные и функциональные возможности других программ (OLE-серверов). В частности, технологию OLE 2.0 поддерживают программы Write, Word (OLE-клиенты) и Excel, PowerPoint, Paint (OLE-серверы).

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

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

В обоих случаях (после связывания или встраивания) при необходимости изменения объекта в ходе редактирования документа осуществляется автоматический вызов OLE-сервера в окно текстового процессора без выполнения переключения программ Windows.


Встраивание и связывание объектов может осуществляться либо с использованием буфера обмена, либо путем указания спецификации файла OLE-сервера. Кроме того, имеется возможность переноса OLE-объекта из окна одной прикладной программы (OLE-сервера) в окно другой прикладной программы (OLE-клиента) техникой drag-and-drop ("перетащить и положить"). К примеру, можно взять график в окне электронной таблицы и перетащить в окно текстового процессора.

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

Еще одним стандартом интеграции программных систем, поддерживаемым большинством приложений для Windows, включая текстовые процессоры, является стандарт DDE (Dynamic Data Exchange - динамический обмен данными). Он предусматривает возможность установления такой связи между объектами двух файлов различных приложений (например, между файлом таблицы Lotus 1 -2-3 и таблицей файла документа Ami Pro), что изменение одного объекта вызывает автоматическое обновление другого.

104

103 :: 104 :: Содержание


Интерфейс и запуск программ


После загрузки Windows 95 на экране монитора появляется Рабочий стол (Desktop) (рис. 5.2), Набор элементов рабочего стола зависит от настройки компьютера. Основными элементами его являются ярлыки папок Мой компьютер (My Computer), Сетевое окружение (Network Neighborhood), Корзина (Recycled), кнопка Пуск (Start) и Панель задач (Task Bar).

Рис. 5.2. Рабочий стол и панель задач Windows 95

Кнопка Пуск (Start) и панель задач (Task Bar) расположены по умолчанию внизу экрана. При нажатии кнопки Пуск (Start) на экране появляется Главное меню, содержимое которого также зависит от настройки компьютера и может содержать дополнительные команды.

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

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

Нажать кнопку Пуск (Start).

В меню Программы (Programs) выбрать папку, которая содержит нужную программу (например, Стандартные) и затем выбрать саму программу, нажав правую кнопку мыши.

Если известно имя программы, которую требуется запустить, то это можно сделать другим способом:

78

Нажать кнопку Пуск (Start) и выбрать команду Выполнить (Run). На экране появится окно Запуск (Start).

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

После ввода имени в поле Открыть (Open) нажать ОК.

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

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

79

78 :: 79 :: Содержание



Интерфейс MSIE


MSIE (Microsoft Internet Explorer) имеет стандартизованный для приложений Windows интерфейс. Вид окна MSIE показан на рис. 29.4. Основные компоненты окна имеют следующее назначение:

Рис. 29.4. Вид окна MSIE

430

строка заголовка содержит название активного HTML-документа или приложения, а также кнопки в правом верхнем углу - соответственно Свернуть, Восстановить и Закрыть для управления окном приложения;

строка меню: Файл (File), Правка (Edit), Вид (View), Переход (Go), Избранное (Favorites), Справка (Help) служит для выдачи различных команд работы с документами, настройки окна, установки шрифта при просмотре Web-страниц, осуществления перехода к работе с электронной почтой или телеконференциями, для выбора адресов Internet из папки "Избранное" и управления подпиской на различные группы новостей, а также получения справочной информации непосредственно из сети;

панель инструментов содержит кнопки для быстрого и удобного поиска информации в Internet, обращения к ранее просмотренным страницам, которые запомнены в папке "Избранное" или в "Журнале", подключения к установленным каналам, а также кнопки для получения "Почты", установки шрифта при просмотре страниц и вывода их содержимого на принтер;

поле Адрес позволяет задавать адрес поиска нужного документа в Сети, а при работе содержит сетевой адрес текущего документа;

значок ссылки задает адреса 5 страниц: "Сегодня", "Microsoft", "Лучшая", "Новости" и "О Web", которые позволяют выполнить быстрый поиск оперативной информации в Сети, относящейся к новостям фирмы Microsoft;

область окна отображает содержимое просматриваемого документа;

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


на панели задач справа от кнопки Пуск расположены четыре кнопки: Включить каналы, Запустить Outlook Express, Запустить обозреватель Internet Explorer, Свернуть все окна, позволяющие ускорить работу с Обозревателем и Outlook одновременно.

Для повышения эффективности работы в WWW с помощью Internet Explorer целесообразно использовать следующие приемы и действия:

перемещение по списку просмотренных документов, который хранится в Журнале или с помощью кнопок Назад и Вперед;

создание и использование списка избранных страниц в папке Избранное или в любой другой папке, например, в виде документа Word;

выбор адреса для начальной страницы, который заносится пользователем в поле Адрес;

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

431

429 :: 430 :: 431 :: Содержание


Интерфейс пользователя


В состав Windows 98 включен броузер MSIE (Microsoft Internet Explorer 4.0). Доступ к WWW возможен теперь из окна любого приложения или Проводника Windows (Windows Explorer), а также с любой панели. Обозреватель MSIE позволяет просматривать помимо Web-ресурсов локальные и сетевые ресурсы. Рабочий стол представляет собой Web-страницу со встроенной панелью каналов. Объект на рабочем столе выделяется при указании на него мышью, а открывается путем однократного щелчка.

Каналы, расположенные на рабочем столе, обеспечивают быстрый доступ к серверам Internet, которые они задают. Проводник Windows приобретает форму Обозревателя Internet Explorer, поэтому средства и методы доступа к локальным и сетевым ресурсам в Windows 98 унифицированы. Имеющиеся в его окне дополнительные кнопки Назад (Back) и Вперед (Forward) упрощают навигацию в иерархии папок. Если открытая папка представлена в виде Web-страницы, то выделение объекта приводит к отображению его свойств. Имеются четыре панели, обеспечивающие удобство в работе: Адрес (Address), Ссылки (Links), Рабочий стол (Desktop) и Быстрый Запуск (Qwick Launch).

Windows 98 позволяет подключать к компьютеру до 9 мониторов, что позволяет работать в развернутых на весь экран окнах приложений. Использование специальных программ позволяет рассматривать объект с разных сторон, например: слева, справа, анфас и сзади.

В систему добавлен компонент WHS (Windows Scripting Host), обеспечивающий выполнение сценариев на языках JavaScript и VBScript, которые позволяют автоматизировать часто выполняемые последовательности действий в среде Windows.

Для обслуживания дисков добавлена специальная утилита Disk Cleanup, осуществляющая удаление с жесткого диска ненужных (например, временных) файлов. Утилита дефрагментации дисков Disk Def ragmenter позволяет переразмещать файлы на жестком диске, относящиеся к одному приложению, в том порядке, как они загружаются в память перед выполнением приложения, порядок загрузки определяет специальный агент, постоянно отслеживающий подобные операции.

В Windows 98 полностью поддерживается централизованная служба каталогов сетей Novell NDS (Netware Directory Services) и протокол DLC (Data Link Control), позволяющий осуществлять подключение к большим компьютерам IBM и IBM AS/400. Кроме этого, имеется сервер удаленного доступа Dial-Up Server, ранее находившийся только в Microsoft Plus!

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

96

Обеспечивается также удаленный доступ через Internet с использованием протокола РРТР (Point-to-Point Tunneling Protocol), что избавляет от необходимости пользоваться междугородной телефонной связью. Реализована также инфраструктура распределенной объектной модели компонентов DCOM (Distributed COMponent Object Model), которая представляет собой сетевое OLE.

97

96 :: 97 :: Содержание



Вид диалогового окна программы Microsoft


Вид диалогового окна программы Microsoft Graph 5.0 показан на рис. 14.1 Кроме стандартных элементов диалога, в окне содержатся еще два компонента: Диаграмма (Chart) и Таблица данных (Datasheet). Состав команд главного меню Microsoft Graph 5.0, естественно, ориентирован на работу по редактированию и настройке диаграмм. В диалоговом

Рис. 14.1. Диалоговое окно программы Microsoft Graph 5 О

175

окне Microsoft Graph 5.0 (рис. i4.1), показаны две панели инструментов: Стандартная (Standard) и Форматирование (Formatting).

Панель инструментов Стандартная (Standard)(puc. 14.2), появляется в окне диалога сразу после запуска Microsoft Graph 5.0 и позволяет выполнять наиболее часто выполняемые действия по редактированию диаграммы.

Рис. 14.2. Состав панели инструментов Стандартная

Панель инструментов Форматирование (Formatting)(pиc. 14.3), также появляется при запуске Microsoft Graph 5.0. Панель содержит кнопки, позволяющие форматировать графические объекты, содержимое ячеек таблицы данных и объекты диаграммы, такие как текст и линии сетки.

Рис. 14.3. Состав панели инструментов Форматирование

Управление отображением панелей инструментов в окне Microsoft Graph 5.0 выполняется по команде Панели инструментов... (Toolbars..) меню Вид (View).

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

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

176

Рис. 14.5. Состав таблицы данных

Если работа с диаграммой ведется прямо в документе Word или рабочей книге Excel, то окно таблицы данных отображается сразу после создания диаграммы и закрывается после щелчка на диаграмме для активизации. Для отображения окна таблицы данных в окне редактирования диаграммы следует нажать кнопку Таблица данных панели инструментов Стандартная (Standard).

Закрытие диалога работы с программой Microsoft Graph 5.0 происходит при выполнении щелчка мышью за пределами диаграммы.

177

175 :: 176 :: 177 :: Содержание


Интерфейс системы ТК Solver


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

Основное меню системы ТК Solver содержит следующие меню: File (Файл), Edit (Правка), Commands (Команды), Format (Формат), Window (Окно), Application (Приложение), Help (?). Рассмотрим краткое описание основных команд меню.

334

Меню File (Файл)содержит следующие команды по работе с файлами моделей задач.

New (Новый) - создание нового файла описания модели задачи;

Open (Открыть) - открытие существующего файла и загрузка его содержимого в качестве текущей модели задачи;

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

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

Save (Сохранить) - сохранение всех панелей текущей модели задачи в файле под тем же именем;

Save As... (Сохранить как...) - то же, что и Save, но в файле с другим именем;

Save Window (Сохранить окно) - сохранение активного окна (панели) в файле;

Import (Импорт) - загрузка списков в текущую модель задачи из файла, созданного ранее по команде Export;

Export (Экспорт) - сохранение списков текущей модели задачи в файле в формате ASCII (расширение имени файла .asc);

Print (Печать) - вывод па печать содержимого панелей текущей модели задачи;

Print Preview (Предварительный просмотр) - просмотр перед печатью выводимой информации;


Print Setup (Параметры печати) - установка параметров для печати;

Recent Files (Недавние файлы) - список файлов;

Exit (Выход) - выход из системы.

Меню Edit (Правка) содержит команды редактирования панелей текущей модели задачи.

Меню Commands (Команды)обеспечивает различные режимы решения задачи на текущей вычислительной модели, содержит следующие команды:

Display Plot (Отобразить график) - активизировать процесс построения графиков, описанных на панели Plot Sheet, на экран выводится выбранный на этой панели график;

Solve (Решить) - выполнить вычисления в режиме прямого решателя;

List Solve (Решить список) - выполнить списковые вычисления;

Block Solve (Решить блок) - выполнить списковые вычисления для элементов списков, указанных в команде;

Abort Operation (Прервать операцию) - прервать выполнение операции;

Examine (Исследовать) - выполнить вычисления для заданных в команде функций, переменных или введенного здесь лее выражения;

List Fill (Заполнить список) - генерировать числовые значения элементов выбранного списка;

335

Put Values To Lists (Поместить значения в список) - присвоить содержимое поля Input (или Output) панели Variable Sheet элементу списка, связанного с этой переменной, номер элемента указывается в команде;

Get Values From Lists (Получить значения из списка) - вывести на панель Variable Sheet в поле Input (Ввод) содержимое элемента списка, связанного с выбранной переменной;

Display Solution Time (Отобразить время решения) - показать время решения текущей задачи.

Меню Format (Формат) содержит диалоговые команды для установки параметров системы (команда Settings), подключения и изменения применяемых на отдельных или всех панелях шрифтов (команда Set Font, символы кириллицы можно использовать в качестве комментариев), изменения цветовой палитры панелей (команда Set Color).

Меню Window (Окно) содержит команды для управления отображением и размещением панелей.

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



Меню Help (?) содержит команды для получения справочной информации.

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

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

В ТК Solver вычислительная задача описывается с использованием следующих основных панелей:

Variable Sheet - переменных модели;
Rule Sheet - предложений вычислимости постановки задачи;
Function Sheet - заголовков функций и процедур;
Unit Sheet - единиц измерения переменных вычислительной модели;
List Sheet - списков, используемых в модели;
Plot Sheet - графиков;
Table Sheet - таблиц;
Format Sheet - форматов данных переменных модели;
Comment Sheet - комментариев.

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

336


Интерфейс системы Турбо-Пролог


Рассматриваемая версия системы логического программирования Турбо-Пролог 2.0 работает под управлением DOS и имеет стандартизованный программный интерфейс. Главное меню интегрированной среды системы включает в свой состав следующие меню и команды: Files (Файл), Edit (Правка), Run (Выполнение), Compile (Компиляция), Options (Параметры) и Setup (Настройка). Дадим краткую характеристику команд в составе указанных меню.

Меню Files (Файл) содержит следующие команды управления файлами программ на Прологе: Load (Загрузка файла), Pick (Загрузка файла), New file (Создание файла), Save (Сохранение файла), Write to (Сохранение файла с новым именем), Directory (Вывод текущего каталога), Change dir(Смена каталога), OS Shell (Временный выход в среду DOS) и Exit (Выход).

Команда Edit (Правка) служит для переключения в режим редактирования исходного текста программы на Прологе.

Команда Run (Выполнение) запускает процесс компиляции и выполнения текущей исходной программы на языке Турбо-Пролог.

Меню Compile (Компиляция) содержит следующие команды управления компиляцией: Memory (Компиляция программы с размещением в оперативной памяти), OBJ file (Компиляция с созданием объектного файла), EXE file (auto link) (Построение файла EXE), Project (Создание файла проекта), Link only (Редактирование связей файла объектной программы OBJ), Link options (Параметры редактирования связей), EDIT PRJ file (Правка файла проекта), Compiler directives (Директивы компилятора).

Меню Setup (Настройка) содержит следующие команды настройки системы: Colors (Цвета), Window Size (Размеры окон), Directories (Управление каталогами), Miscellaneous (Параметры внешних устройств), Load SYS file (Загрузить файл SYS), Save SYS file (Сохранить файл SYS).

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

308



Интерфейс Visual FoxPro


Работа по созданию баз данных и приложений выполняется в главном окне Visual FoxPro (рис. 20.1). Состав элементов в главном окне может настраиваться пользователем в процессе работы.

Обязательным элементом главного окна Visual FoxPro является строка меню. С ее помощью можно задавать команды настройки состава окна, вызывать средства автоматизации (Мастера, Конструкторы и Построители).

250

Рис. 20.1. Главное окно Visual FoxPro

В главном окне Visual FoxPro обычно отображается панель инструментов Standard (стандартная). С помощью кнопок этой панели удобно задавать наиболее часто используемые команды по работе с файлами элементов Visual FoxPro: New( создать), Open (открыть), Save (сохранить), Print One Copy (печатать один экземпляр); команды работы с выделенным фрагментом с помощью буфера обмена: Cut (вырезать), Сору (копировать), Paste (вставить) и ряд других.

В главном окне Visual FoxPro (рис. 20.1) можно установить отображение следующих панелей инструментов: Color Palette (цветовая палитра), Database Designer (Конструктор баз данных), Form Controls (элементы управления форм), Form Designer (Конструктор форм), Layout (размещение элементов управления в отчете или форме), Print Preview (предварительный просмотр), Query Designer (Конструктор запросов), Report Controls (элементы управления отчетов), Report Designer (Конструктор отчетов) View Designer (Конструктор просмотров). Изменение состава панелей инструментов выполняется с помощью команды View | Toolbars.... (Вид | панели инструментов...)

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

Окно команд (при условии его отображения в главном окне Visual FoxPro) служит для ввода команд SQL. Кроме того, в случае выполнения каких-либо действий над базой данных в окне команд отображаются соответствующие им команды SQL. Для задания отображения окна команд служит команда Window | Command Window(окно | командное

251

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

Окно Project Manager (Менеджер проектов) отображается при создании нового или при открытии существующего проекта. Создание базы данных, запросов, отчетов и ряда других элементов может выполняться и без создания проекта. Однако использование проекта создает определенные удобства в работе с различными элеметами Visual FoxPro, входящими в состав одного проекта.

252

250 :: 251 :: 252 :: Содержание



Использование буфера обмена


В любом приложении Windows, включая Word 7.0, имеются команды Вырезать (Cut), Копировать (Сору) и Вставить (Insert). Они позволяют упростить действия по редактированию документов, связанные с вырезанием, копированием и перемещением различных фрагментов документа, включая текст, рисунки и таблицы.

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

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

Пример. Копирование фрагмента документа в другой документ с использованием буфера обмена.

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

Выполним команду Копировать (Сору) меню Правка (Edit) и переключимся в документ-приемник.

Поместим указатель в место вставки копии фрагмента.

Выполним команду Вставить (Insert) меню Правка (Edit).

124

124 :: Содержание



Использование функций в формулах


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

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

В списке Категории (Function Category) первого окна Мастера функции необходимо выбрать нужную группу функций, а в списке Функция (Function Name) - имя функции.

158

После этого можно нажать кнопку Готово (Finish) или кнопку Далее (Next). В первом случае Мастер функции вставит в ячейку функцию с шаблонами аргументов, которые затем необходимо исправлять. Во втором случае на экране появляется второе окно Мастера функций, в котором вводятся необходимые аргументы. Текущий результат при этом отображается в поле Значение (Value) окна. После нажатия кнопки Готово (Finish) Excel вставляет выбранную функцию с аргументами в текущую ячейку.

159

152 :: 153 :: 154 :: 155 :: 156 :: 157 :: 158 :: 159 :: Содержание



Использование ярлыков


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

Чтобы создать ярлык на рабочем столе, необходимо:

Найти объект, для которого следует создать ярлык, и отметить его.

В меню Файл (File) указать на команду Создать (Create) и выбрать Ярлык (Label).

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

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

Ярлык можно также скопировать любым из рассмотренных ранее способов на рабочий стол или в папку.

Удаление ярлыка не приводит к удалению файла, на который он указывает.

81

81 :: Содержание



Использование сервисных программ


Рассматриваемые в данном разделе сервисные программы имеются в среде DOS и в среде Windows 95. Техника их использования в названных средах имеет несущественное отличие, поэтому мы специально на этом вопросе сосредоточивать свое внимание не будем.



Использование сетевых дисков


Применение сетевых дисков позволяет работать с сетевыми ресурсами так же, как и с локальными. При этом для именования сетевых объектов применяется соглашение UNC (Universal Naming Convection), использующее следующий формат:

\\сервер\разделяемый_ресурс\путь

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

Рис 28 9. Сетевое окружение рабочей станции St163-3

416

в папке Сетевое окружение (Neighborhood). На рис. 28.9 представлен пример сетевого окружения рабочей станции с именем St 163-3.

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

Рис.28.10. Сетевые ресурсы рабочей станции Lab157-1

На рисунке 28.10 представлены ресурсы рабочей станции Labi 57-1, на которой установлено разделение доступа к дискам С:, D:, Е: (с сетевыми именами соответственно с, d, е), к принтеру (сетевое имя hp) и к папке C:\HPW (сетевое имя hpw). В данном примере сетевое имя станции Lab 157-1, поэтому путь к папке будет \\ Lab 157-1 \c\hpw (это и ее UNC имя), но обращаться к ней можно и \\ Lab157-1\hpw, поскольку она имеет собственное имя разделенного доступа hpw.

Для удобства работы с сетевыми папками им могут присваиваться имена дисков (рис. 28.11) Существует несколько способов подключения сетевых дисков:

командой Подключить сетевой диск (Map Network Drive) из контекстного меню, появляющегося при щелчке по правой клавише мыши на значках Мой компьютер (My Computer) или Сетевое окружение (Network Neighborhood);

в меню Проводника (Explorer) - выбрав пункт Сервис \ Подключить сетевой диск (Tools | Map Network Drive);

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

Рис. 28.11. Подключение папки BAZAVFP в качестве сетевого диска Е

Установка флажка Автоматически подключать при входе в систему (Reconnect at logon) приводит к автоматическому подключению данного диска при каждом входе в сеть.

После подключения сетевого диска он появляется в папке Мой компьютер.

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

417

410 :: 411 :: 412 :: 413 :: 414 :: 415 :: 416 :: 417 :: Содержание



Избыточное дублирование данных и аномалии


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

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

Пример избыточного дублирования представляет приведенное на рис. 19.5 а отношение С_Т_Н, которое, в отличие от отношения С_Т, дополнено атрибутом Н_комн (номер комнаты сотрудника). Естественно предположить, что все служащие в одной комнате имеют один и тот же телефон. Следовательно, в рассматриваемом отношении

С_Т

Сотрудник Телефон
Иванов 3721
Петров 4328
Сидоров 4328
Егоров 4328

Рис. 19.4 Неизбыточное дублирование

235

имеется избыточное дублирование данных. Так, в связи с тем, что Сидоров и Егоров находятся в той же комнате, что и Петров, то их номера-можно узнать из кортежа со сведениями о Петрове. На рис. 19.5 б приведен пример неудачного отношения С_Т_Н, в котором вместо телефонов Сидорова и Егорова поставлены "прочерки" (неопределенные значения). Неудачность подобного способа исключения избыточности заключается

С_Т_Н

а)

Служащий Телефон Н_комн
Иванов 37-21 109
Петров 43-28 111
Сидоров 4328 111
Егоров 4328 111

С_Т_Н

б)

Служащий Телефон Н_коми
Иванов 3721 109
Петров 4328 111
Сидоров - 111
Егоров - 111

Рис. 19.5. Избыточное дублирование

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

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

Процедура декомпозиции отношения С_Т_Н на два отношения С_П и Н_Т является основной процедурой нормализации отношений.

С_Н

Служащий Н_комн
Иванов 109
Петров 111
Сидоров 111
Егоров 111
Н_Т
Н_комн Телефон
109 3721
111 4328
Рис. 19.6. Исключение избыточного дублирования

Избыточное дублирование данных создает проблемы при обработке кортежей отношения, названные Э. Коддом аномалиями обновления отношения. Он показал, что для некоторых отношений проблемы возникают при попытке удаления, добавления или редактировании их кортежей. Проблемы удаления и добавления кортежей, в принципе, снимаются в современных СУБД (например, Visual FoxPro) с появлением в них значений для полей таблиц типа Null - неопределенных значений. Поэтому далее рассмотрим только проблемы редактирования кортежей отношений.

236


Изменение параметров абзацев


Изменение параметров абзацев выполняется с помощью диалогового окна Абзац ( Paragraph )(рис. 10.2), вызываемого по команде Абзац... (Paragraph...) меню Формат (Format). Для задания варианта выравнивания абзацев удобно использовать кнопки панели инструментов Форматирование (Formatting).

Пример 1. Задание интервалов.

Установим для выделенных абзацев полуторный межстрочный интервал и интервалы до и после абзацев.

Выделим нужные абзацы и зададим команду Абзац... (Paragraph...).

В появившемся диалоговом окне (рис. 10.2) выберем вкладку Отступы и интервалы (Indents and Spacing).

В списке Межстрочный: (Line Spacing:) выберем Полуторный (1.5 Lines).

В списках Перед: (Before:) и После: (After:) зададим требуемые значения в пунктах интервалов перед первой строкой и после последней строки каждого из выделенных абзацев соответственно.

Примерный вид параметров форматирования абзацев (отступы, интервалы и варианты выравнивания) приведен на рис. 10.3.

127

Рис. 10.2. Вклада Отступы и интервалы

Рис. 10.3. Параметры форматирования абзацев

128

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

Выделим абзацы для настройки параметров.

Вызовем диалоговое окно Абзац (Paragraph) и выберем вкладку Отступы и интервалы (Indents and Spacing).

В списках Слева: (Left:) и Справа: (Right:) выберем или введем значения отступов абзацев от левого и правого полей страницы документа.

В списке Первая строка: (Special) выберем Выступ (Hanging) и справа в поле На: (By:) зададим величину выступа первой строки каждого из абзацев

В документе можно задавать запрет висячих строк. Для эгого в диалоговом окне Абзац (Paragraph) на вкладке Положение на странице (Text Flow) устанавливается флажок Запрет висячих строк (Widow/Orphan Control). Висячей строкой называется отдельная (первая или последняя) строка абзаца в конце или начале страницы документа. Задание запрета висячих строк улучшает внешний вид документа.

Для документа можно установить также запрещение разрыва строк абзаца, запрет отрыва абзаца от следующего, размещение абзаца в начале новой страницы, запрет автоматической нумерации строк и запрет автоматического переноса слов. Для этого на вкладке Положение на странице (Text Flow) соответственно устанавливаются флажки: Не разрывать абзац (Keep Lines Together), He отрывать от следующего (Keep with Next), С новой страницы (Page Break Before), Запретить нумерацию строк (Suppress Line Numbers) и Запретить автоматический перенос слов (Don't Hyphenate).

129

127 :: 128 ::129 :: Содержание



Изменение параметров шрифта


Изменение параметров шрифта выполняется с помощью диалогового окна Шрифт (Font)(pnc. 10.1). вызываемого по команде Шрифт... (Font...) меню Формат (Format). Кроме того, отдельные параметры шрифта (гарнитуру размер, и начертание) можно задать с помощью кнопок панели инструментов Форматирование (Formatting).

Рис. 10.1. Диалоговое окно Шрифт

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

Пример 1. Задание для выделенного фрагмента текста гарнитуры Arial Cyr размером 12 пунктов, с полужирным начертанием п подчеркиванием.

126

Выделим нужный фрагмент текста.

Далее на панели инструментов Форматирование (Formatting) с помощью мыши выберем в списке Шрифт (Font) гарнитуру Arial Cyr.

З.В списке Размер (Size) выберем число 12.

Нажмем кнопки Полужирный и Подчеркнутый.

Пример 2. Установление для выделенного фрагмента скрытого текста с двойным подчеркиванием.

Выделим требуемый фрагмент текста.

Зададим команду Шрифт... (Font...) меню Формат (Format).

В открывшемся диалоговом окне Шрифт (Font) выберем вкладку Шрифт(РоМ) (рис. 10.1).

В списке поля Подчеркивание: (Underline:) выберем строку Двойное (Double).

В поле Эффекты (Effects) установим флажок Скрытый (Hidden).

Замечание.

Управление отображением скрытого текста документа на экране выполняется с помощью флажка Скрытый текст (Hidden Text) на вкладке Вид (View) диалогового окна Параметры (Options). Для управления выводом скрытого текста при печати используется флажок Скрытый текст (Hidden Text) на вкладке Печать (Print). Вызов окна выполняется по команде Параметры... (Options...) меню Вид (View).

В диалоговом окне Шрифт (Font) на вкладке Интервал (Spacing) можно задать требуемую степень уплотнения или разреженности интервала между символами и установить кернинг. Кернинг означает задание такого интервала между отдельными парами символов (с учетом их геометрии), при котором текст становится более сглаженным. Просмотр на экране влияния кернинга на внешний вид документа возможен в режимах Разметка страницы (Page Layout) и Предварительный просмотр (Print Preview).

127

126 :: 127 :: Содержание



Изменение структуры таблицы


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

изменять имена и типы полей,

вставлять пропущенные поля,

удалять лишние поля,

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

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

переименовании существующих индексных полей, так как это требует перезаписи индексных файлов таблицы;

изменении длины полей или числа знаков после запятой, так как это может привести к потере данных;

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

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

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

Рассмотрим подробнее операции по модификации таблицы, выполняемые в окне Конструктора таблиц (Table Designer).

Добавление полей является самой безопасно]"! операцией. Для ее реализации необходимо с помощью клавиш-стрелок установить курсор па строку, перед которой необходимо вставить новое поле (в любом ее столбце) и нажать кнопку Insert (вставить) (рис. 21.2). При этом появляется новая строка с именем NewField. Далее по рассмотренной технологии можно ввести имя нового поля п его параметры.

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


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

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

263

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

Возможны проблемы и при изменении типов полей. Например, преобразование числового поля в символьное возможно всегда при условии достаточного выделения места для образующихся символьных строк. Это преобразование осуществляется с помощью функции STRQ. Обратное преобразование выполняется функцией VAL() и возможно только в тех случаях, когда строка начинается с цифр или пробелов. В противном случае полученное в результате преобразований числовое поле будет иметь нулевое значение. 4 Без проблем осуществляется преобразование даты в строку - функцией DTOC() и обратное преобразование - функция CTOD(), при условии что символьная строка содержит допустимые символы.

264

263 :: 264 :: Содержание


Язык спецификации вычислительных задач


В ТК Solver вычислительная модель представляет собой совокупность объектов и отношений между ними. Каждый объект в модели принадлежит к некоторому классу (типу данного) и в описании модели в ТК Solver объект соотносится с именем переменной. Тип переменной определяется множеством значений, которые может принимать переменная, и множеством операций над этими значениями. ВМ в ТК Solver описывается в соответствии с правилами синтаксиса и семантики конструкций языка описания вычислительных моделей и задач, в системе он не имеет специального названия, будем его называть Язык Спецификации Вычислительных Задач (ЯСВЗ).

В ВМ объект каждого типа имеет уникальное имя. В ТК Solver имя может иметь в длину до 200 символов и включать буквы A-Z и a-z, цифры 0-9 и специальные символы @, #, $ , %, и _. Имя не может начинаться с цифры, содержать внутри себя пробелы, строчные и прописные буквы в имени различаются, т.е. например, имена: Abс и abc обозначают разные объекты. Для системных имен это ограничение не действует (SIN и Sin обозначают одно и то же).

В ЯСВЗ допускается использовать переменные следующих типов:

числовые переменные (целые, вещественные и комплексные);

символьные переменные;

булевы переменные.

339

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

В ЯСВЗ можно использовать и структурированные типы данных. Если в модели задачи требуется проводить вычисления многократно с различными исходными данными, тогда с переменной в ТК Solver можно связать список - последовательность однотипных значений, называемых элементами списка. В свою очередь, списки можно объединять (связывать) в более сложные структуры - таблицы, соответствие между элементами двух числовых списков можно представлять в форме геометрической интерпретации в виде графиков, столбиковых и круговых диаграмм.


Числа представляются в ТК Solver в стандартной или экспоненциальной форме, могут иметь до 16 значащих цифр в диапазоне от 1Е-307 до 1Е308 ( абсолютное значение). Примеры записи чисел: 1.09092, 18437560000000000000000, 6.672Е-11. Для записи комплексных чисел используется специальная конструкция, называемая парой.

Символьные значения заключаются в двойные кавычки ", при этом имена переменных, хранящие символьные значения, должны начинаться с апострофа \

Примеры символьных переменных и констант: 'х, 'Bank, 'a_row_1, '_line, 'aj%d4, "lined","a*j/d[4]","K".

Символьные значения, используемые для обращения к спискам или выступающие в качестве аргументов функций для указания объектов ТК Solver (переменные, списки и т.д.), записываются или с апострофом в качестве префикса имени, или заключаются в двойные кавычки. Примеры правильного описания символьных значений: 'Xupper[i], given('ab,'cd,1,0), "Xupper"[i], given("ab","cd",1,0). Примеры неверного описания: "X upper"[i], given("ab,cd",1,0)

Простейшими синтаксическими единицами в ЯСВЗ являются выражения. В ТК Solver применяются следующие выражения: арифметические, логические и символьные выражения.

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

a + b/(c*d)

(b>3) + а

(а+b)^ln(х)

exp(cos(x)+sin(y))

-SIN(X)

Логические выражения строятся с использованием знаков операций сравнения, имен переменных, констант, вызовов булевых функций и принимают значения 1 (ИСТИНА) или О (ЛОЖЬ). К операциям сравнения относятся операции:

сравнение на равенство ( = );

сравнение на неравенство (, =, =>, <>, >

В ТК Solver реализованы следующие булевы функции:

NOT(x) - логическое НЕ ;



EQV(x,y) - эквивалентность;

340

AND () - логическое И;

IMPLY(x,y) - логическая импликация;

ОР() - логическое ИЛИ.

Здесь х и у - логические выражения, а - последовательность логических выражений, разделенных запятыми. К символьным выражениям относятся:

переменные символьного типа;

выражения, в которых используются символьные переменные.

Объекты (переменные) в ТК Solver связываются между собой отношениями. В моделях допускается применение следующих видов отношений:

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

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


Язык запросов по образцу


Язык ОБЕ позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции - достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.

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

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

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

Во многих современных СУБД, например, в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка ОБЕ выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто "протаскиванием" мытью ноля одной таблицы к полю другой.



Языки запросов QBE и SQL


Хранимые в базе данные можно обрабатывать (просматривать и редактировать) "вручную" - с помощью имеющихся в каждой СУБД средств просмотра и редактирования данных в таблицах. Для повышения эффективности множественной обработки данных (редактирования и выбора данных из таблиц) создаются и выполняются запросы.

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

Для подготовки запросов с помощью различных СУБД, как правило, используются два основных языка описания запросов:

244

язык QBE (Query By Example) - язык запросов по образцу;

SQL (Structured Query Language) - структурированный язык запросов.

По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Главное отличие между ними, по-видимому, заключается в способе формирования запросов: язык ОБЕ предполагает ручное или визуальное формирование запроса, в то время как использование SQL означает программирование запроса.



Элементы проекта


При создании проектов, баз данных, таблиц, запросов, форм, отчетов, приложений и других элементов в среде Visual FoxPro для каждого из названных элементов формируется отдельный файл. При этом для любого элемента пользователь может задать произвольное имя файла, расширение имени файла формируется автоматически и помогает в идентификации этих элементов (объектов). Перечень элементов проектов Visual FoxPro и соответствующих им расширений имен файлов приведен в табл. 20.1. Файлы элементов, созданных на базе других (родительских) элементов, имеют общие с ними имена. К примеру, Memo-пол е и поле типа General создаются на базе таблицы БД, поэтому имена их файлов совпадают с именами соответствующих таблиц, а расширения указывают на назначение этих файлов.

Раскроем кратко назначение указанных элементов Visual FoxPro.

Проект является основным средством объединения отдельных элементов Visual FoxPro и управления ими. С помощью проекта Visual FoxPro осуществляет поиск и собирает вместе файлы проекта, отслеживает текущие версии элементов, перекомпилирует программы, обновляет экранные формы, меню и т.д. Из проекта осуществляется генерация приложения (арр-файл) или исполняемого приложения (ехе-файл). Вся информация о проекте хранится в специальной таблице - файле с расширением pjx и соответствующем Мемо-файле с расширением pjt.

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

Словарь БД хранит описание структуры БД и представляет собой совокупность системных таблиц.

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

Создание БД осуществляется с использованием Конструктора БД, который позволяет создавать, индексировать, модифицировать и связывать таблицы БД между собой. Вся информация о БД хранится в файле с расширением dbc. Для поддержки предыдущих версий FoxPro возможно создание отдельных таблиц, не объединенных в БД.
Каждая отдельная или входящая в БД таблица размещается в файле с расширением dbf.

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

Memo-поля содержат текстовую информацию, поля типа General служат для организации обмена данными с другими приложениями Windows.

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

Запросы являются средством извлечения информации из БД, которая может содержаться в нескольких ее таблицах. При этом можно использовать Конструктор запросов или создавать запрос вручную с использованием SQL-команд Visual FoxPro. Конструктор запросов позволяет создавать запросы по образцу. При этом обеспечивается

248

Таблица 20 1

Элементы проектов Visual FoxPro и расширения имен файлов

Элементы Расширения имен, примечания
Приложение арр,сгенерированная программа
ехе выполнимая программа
Проект pix
pjt, Memo-поле
База данных dbc,
dct Memo-поле
dcx-индекс
Таблица Visual FoxPro dbf
fpt Memo- поле
Одиночный индексный файл idx
Составной индексный файл cdx
Мемо-поле и поле типа General frt
Форма sex set, Memo-поле
Запрос qpr, сгенерированная исходная программа
qpx программа после компиляции
Отчет frx
frt Memo-поле
Этикетка Ibx
Ibt Memo-поле
Меню mnx описание облика меню
mnt Memo-поле
mpr, cгенерированная исходная программа mpx, программа после компиляции
Библиотека VCX, класса
vct, Memo-поле библиотеки класса
dll динамических связей Windows
fll динамических связей Visual FoxPro
Программа prg исходный текст
fxp после компиляции
Ошибки компиляции err
Файл формата fmt
Описание окружения vue
Рисунок bmp
Звуковая запись wav
Текст txt
Экран (предыдущие версии FoxPro) spr сгенерированная исходная программа
spx программа после компиляции
<


/p> 249

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

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

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

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

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

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

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

На третьем этапе после компиляции из mrp-файла программа меню помещается в файле с расширением mрх.

Библиотеки классов предназначены для хранения классов, созданных в Visual FoxPro. Классы служат для описания объектов, используемых в объектно-ориентированном программировании (ООП). Библиотеки классов наиболее часто применяются для создания экранных форм.

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

Файлы описания окружения с расширением vue хранят информацию об открытых таблицах, активных индексах и установленных между таблицами отношениях.

Рисунки и звукозаписи соответственно хранятся в файлах с расширениями bmp и wav или в полях типа General таблиц. Этой информацией Visual FoxPro-приложение может обмениваться с другими Windows-приложениями.

250

248 :: 249 :: 250 :: Содержание


Элементы реляционной модели


Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы РМД и формы их представления приведены в табл. 19.1.

Таблица 19.1

Элементы реляционной модели

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

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

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

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

Математически отношение можно описать следующим образом. Пусть даны n множеств D1, D2, D3, ... Dn, тогда отношение R есть множество упорядоченных кортежей ,где dk ? Dk, a D1, D2, D3,... Dn - домены отношения R.

На рис. 19.2 приведен пример представления отношения СОТРУДНИК.

Множество всех значений каждого атрибута отношения образует домен. Отношение СОТРУДНИК включает 4 домена. Домен 1 содержит фамилии всех сотрудников, домен 2 - номера всех отделов фирмы, домен 3 - название всех должностей, домен 4 - даты рождения всех сотрудников. Каждый домен образует значения одного типа, например, числовые или символьные.

Отношение СОТРУДНИК содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4-х элементов, каждый из которых выбирается из соответствующего домена. Каждому кортежу соответствует строка таблицы.

Схема отношения представляет собой список имен атрибутов. Например, для приведенного примера схема отношения имеет вид СОТРУДНИК(ФИО, Отдел, Должность, Д_Рождения).

232


Рис. 19.2. Представление отношения СОТРУДНИК

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

Существует также понятие внешнего ключа. С помощью внешних ключей устанавливаются связи между отношениями. Например, имеются два отношения СТУДЕНТ (ФИО. Группа, Специальность) и ПРЕДМЕТ(Назв.Пр. Часы), которые связаны отношением СТУДЕНТ_ПРЕДМЕТ(ФИО. Назв.Пр. Оценка) (рис. 19.3). В связующем отношении атрибуты ФИО и Назв.пр образуют составной ключ. Эти атрибуты представляют собой внешние ключи, являющиеся первичными ключами других отношений.

Рис. 19.3. Связь отношений

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

Наиболее часто таблица с отношением размещается в отдельном файле. В некоторых СУБД, например, Microsoft Access, в одном фарше размещается полностью база данных.


Этапы подготовки и решения задач на ЭВМ


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

постановка задачи;

математическое описание задачи;

выбор и обоснование метода решения;

алгоритмизация вычислительного процесса;

составление программы;

отладка программы;

решение задачи на ЭВМ и анализ результатов.

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

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

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

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


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

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

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

45

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

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

46

44 :: 45 :: 46 :: Содержание


ЭВМ как средство обработки информации


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



Каталоги


Каталог представляет собой справочник, содержащий сведения о местоположении, размере, дате и времени обновления файлов. Для каждого файла на диске имеется один элемент в определённом каталоге. Один элемент корневого каталога выделяется для метки

65

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

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

Таблица 3.3

Поля элемента каталога

Длина, байт Содержимое поля
8 Имя файла, каталога или тома
3 Расширение имени файла
1 Байт атрибутов
10 Резервное поле
2 Код времени изменения файла
2 Код даты изменения файла
2 Номер первого кластера файла (подкаталога)
4 Размер файла

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

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


Код 2Е (символ ".") в первом байте показывает, что элемент описывает сам каталог. Если и во втором байте содержится код 2Е, то элемент описывает родительский каталог ("..").

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

66

Атрибуты файла. Каждый бит этого поля задает определенный атрибут, указанный в табл. 3.4.

Таблица 3.4

Состав байта атрибутов

№ бита Назначение
0 Защищенный
1 Скрытый
2 Системный
3 Метка тома
4 Каталог
5 Архивный
6 Не используется
7 Не используется
Поле время". Его содержимое рассматривается как целое число без знака, полученное по следующей формуле: часы ? 2048+минуты ? 32+секунды/2.

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

Поле "дата". Содержимое его рассматривается как целое число без знака, полученное по следующей формуле: (год-1980) ? 512+месяцх 32+день.

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

Номер первого кластера. Содержимое этого поля одновременно служит указателем к первому кластеру файла в поле данных и к первому элементу в цепочке FAT. Для файлов, которым не выделено места на диске, и для метки тома это поле содержит OOOOh.

67

65 :: 66 :: 67 :: Содержание


Классификация антивирусных программ


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

фильтры, или сторожа;

детекторы;

доктора, пли фаги;

ревизоры;

иммунизаторы, или вакцины.

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

изменение файлов выполняемых программ;

размещение резидентной программы;

прямая запись на диск по абсолютному адресу;

запись в загрузочные секторы диска;

форматирование диска.

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

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

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

85

обезвреживать большое числор вирусов, называют полифагами. К их числу принадлежат получившие широкое распространение программы Aidstest, Doctor Web и Norton AntiVirus.


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

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


Классификация ЭВМ


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

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

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

сверхпроизводительпыс ЭВМ и системы (супер-ЭВМ);

большие ЭВМ (универсальные ЭВМ общего назначения);

средние ЭВМ;

малые или мини-ЭВМ;

микро-ЭВМ;

персональные компьютеры;

микропроцессоры.

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

14

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


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

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

Производительность больших ЭВМ порой оказывается недостаточной для ряда приложений, например, таких как прогнозирование метеообстаповки, ядерная энергетика, оборона и т.д. Эти обстоятельства стимулировали создание сверхбольших или суперЭВМ. Такие машины обладают колоссальным быстродействием в миллиарды операций в секунду, основанном на выполнении параллельных вычислений и использовании многоуровневой иерархической структуры ЗУ(запоминающих устройств), требуют для своего размещения специальных помещений и крайне сложны в эксплуатации. Стоимость отдельной ЭВМ такого класса достигает десятков миллионов долларов. Представители этого класса ЭВМ - компьютеры фирм Cray Research, Control Data Corporation (CDC) и отечественные супер-ЭВМ семейства Эльбрус.



Средние ЭВМ представляют некоторый интерес в историческом плане. На определенном этапе развития ЭВМ, когда их номенклатура и, соответственно, возможности были ограниченными, появление средних машин было закономерным. Вычислительные машины этого класса обладают несколько меньшими возможностями, чем большие ЭВМ, но зато им присуща и более низкая стоимость. Они предназначены для использования всюду, где приходится постоянно обрабатывать достаточно большие объемы информации с приемлемыми временными затратами. В настоящее время трудно определить четкую грань между средними ЭВМ и большими с одной стороны и малыми - с другой. К средним могут быть отнесены некоторые модели ЕС ЭВМ, например: ЕС-1036, ЕС-1130, ЕС-1120. За рубежом средние ЭВМ выпускают фирмы IBM (International Business Machinery), DEC (Digital Equipment Corporation), Hewlett Packard, СОМРАRЕХ и др.

15

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

Класс мини-ЭВМ появился в 60-е годы (12-разрядная ЭВМ PD5-5 фирмы DEC). Их появление было обусловлено развитием элементной базы и избыточностью ресурсов больших и средних ЭВМ для ряда приложений. Для мини-ЭВМ характерно представление данных с узким диапазоном значений (машинное слово - 2 байта), использование принципа магистральности в архитектуре и более простое взаимодействие человека и ЭВМ. Такие машины широко применяются для управления сложными видами оборудования, создания систем автоматизированного проектирования и гибких производственных систем. К мини-ЭВМ относятся машины серии PDP (затем VAX) фирмы DEC и их отечественные аналоги - модели семейства малых ЭВМ (СМ ЭВМ).

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


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

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

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

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

На основе ПЭВМ создаются автоматизированные рабочие места (АРМ) для представителей разных профессий (конструкторов, технологов, административного аппарата и др.).



16

Рынок персональных и микро- ЭВМ непрерывно расширяется за счет поставок ведущих мировых фирм: IBM, DEC, Hewlett Packard, Apple (США), COMPAREX, Siemens (Германия), ICL (Англия) и др. Отечественная промышленность, к сожалению, здесь не представлена.

Структура и принципы функционирования ЭВМ

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

Любая ЭВМ неймановской архитектуры содержит следующие основные устройства:

арифметико-логическое устройство (АЛУ);

устройство управления (УУ)

запоминающее устройство (ЗУ);

устройства ввода-вывода (УВВ);

пульт управления (ПУ).

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

Рис. 1.3. Обобщенная логическая структура ЭВМ

17

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

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


Эту функцию осуществляет УУ. Оно же помещает выбранные из ЗУ операнды в АЛУ, где они и обрабатываются. Само АЛУ работает под управлением УУ.

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

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

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

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



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

18

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

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

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

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

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

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


Классификация математических моделей


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

аналитическим, когда стремятся найти явные зависимости для искомых характеристик;

численным (получаются числовые значения ответных параметров для заданных входных данных).

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

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

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

статические и динамические,

дискретные и непрерывные,

детерминированные, стохастические и нечеткие,

сосредоточенные и распределенные,

линейные и нелинейные,

стационарные и нестационарные.

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

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

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

186

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



Ключевые понятия электронных таблиц


При описании порядка работы с Excel будут использоваться следующие ключевые элементы и понятия.

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

Листы предназначены для создания и хранения таблиц, диаграмм и макросов. Лист состоит из 256 столбцов и 16384 строк. В зависимости от формы представления данных в Excel различают листы следующих типов:

листы таблиц, в которых создаются и обрабатываются таблицы;

листы диаграмм, предназначенные для размещения диаграмм;

листы макросов, в которых хранятся макрокоманды автоматизации процесса обработки таблиц. По умолчанию рабочую книгу составляют 16 листов с именами ЛИСТ 1 - ЛИСТ 16. Excel позволяет увеличивать и уменьшать количество листов в книге и выполнять их переименование. Как правило, на одном листе создается одна таблица.

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

Адрес ячейки предназначен для определения местонахождения ячейки в таблице. Существует два способа записи адресов ячеек:

Указанием буквы столбца и номера строки таблицы, перед которыми может записываться знак $, указывающий на абсолютную адресацию, например С5, J$1, $К$3 и т.д.
Этот способ используется в Excel по умолчанию н называется стилем "А1".

Указанием номера строки и номера столбца, следующих после букв R и С, соответственно. Номера строк и столбцов могут заключаться в квадратные скобки, которые указывают на относительную адресацию. Например, R5C3 - адрес ячейки, стоящей на пересечении 5-й строки с 3-м столбцом (равнозначно адресу С5 при первом способе записи), R[1 ]C4, R3C[7], R[5]C[11 ] и т.д. Такой способ записи адресов называется стилем "R1С1" и выбирается настройкой параметров функционирования Excel.

140

Формула - это математическая запись вычислений, производимых над данными таблицы. Формула начинается со знака равенства или математического оператора и записывается в ячейку таблицы. Результатом выполнения формулы является вычисленное значение. Это значение автоматически записывается в ячейку, в которой находится формула. Пример записи формулы: = А$1 + 100+ВЗ.

Ссылка - это запись адреса ячейки в составе формулы. Например, в формуле =(А5+$С$3) содержатся две ссылки: А5 и $С$3. Ссылки могут быть абсолютные, относительные и смешанные (см. параграф 12.2).

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

Примеры функций: =SUMM(A1 :A4)

=LOG10(B2)

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

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

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

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

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

141

140 :: 141 :: Содержание


Кодирование методом Хаффмана


Смысл метода Хаффмана заключается в замене данных более эффективными кодами. Более короткие коды используются для замены более часто появляющихся величин. Например в выражении abbbcccddeeeeeeeeef есть шесть уникальных величин, с частотами появления: а:1, b:3, c:3, d:2, e:9, f:l. Для образования минимального кода используется двоичное дерево. Алгоритм объединяет в пары элементы, появляющиеся наименее часто, затем пара объединяется в один элемент, а их частоты объединяются. Это действие повторяется до тех пор, пока элементы не объединятся в пары. В данном примере надо объединить а и f - это первая пара, а присваивается нулевая ветвь, a f - 1-я. Это означает, что Out будут младшими битами кодов для а и f соответственно. Более старшие биты будут получены из дерева по мере его построения.

364

Суммирование частот дает в итоге 2. Теперь самая низкая частота -2, поэтому пара а и f объединяется с d (которая тоже имеет частоту 2). Исходной паре присваиваемся нулевая ветвь, ad - ветвь 1. Таким образом, код для а заканчивается на 00; для f на 01, d заканчивается на 1 и будет на один бит короче по сравнению с кодами для а и f.

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

365

364 :: 365 :: Содержание



Компиляция и интерпретация программ


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

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

Человеку свойственно формулировать и решать задачи в выражениях более общего характера, чем команды ЭВМ. Поэтому с развитием программирования появились языки, ориентированные на более высокий уровень абстракции при описании решаемой на ЭВМ задачи. Эти языки получили название языков высокого уровня. Их теоретическую основу составляют алгоритмические языки, например, Паскаль, Си, Бейсик, Фортран, PL/1.

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

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

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

46

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

47

46 :: 47 :: Содержание



Контрольные вопросы


В чем разница между методом и реализующей его подпрограммой?

Что дает модульное построение функциональной части пакета?

Что можно сказать об автоматическом планировании вычислений?

Почему работа с пакетом математических программ не избавляет от изучения математики?

Дайте общую характеристику математических ППП.

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

Какова роль графики в представлении результатов расчета?

Перечислите "статистические возможности" Maple.

Перечислите возможности пакета Network из Maple.

Какие задачи можно решать с пакетом QSB?

Дайте общую характеристику пакета Scientific Workplace и укажите, как его лучше использовать.

Опишите панель инструментов SWP.

Как сменить содержимое ниспадающих панелей с символами?

Перечислите основные пункты меню Maple из SWP.

Как в SWP набираются дроби и элементарные функции?

Расскажите об определениях Maple.

Как задать в Maple систему уравнений?

Дайте общую характеристику пакета Derive.

Как производится набор заданий системе?

Как записать в Derive комплексное число?

Перечислите основные операции группы Simplify. Как можно управлять режимами их работы?

Расскажите о выполнении в Derive операций интегрирования.

Перечислите доступные в системе операции над векторами и матрицами и расскажите о правилах их записи.

Назовите известные Вам дополнительные математические возможности Derive.

Укажите назначение и основные моменты технологии работы с Visio.

Приведите примеры названий трафаретов и назовите перечень содержащихся в них объектов.

Как открыть новый рисунок с требуемым трафаретом?

Опишите технологию копирования объектов Visio в рабочем поле.

Перечислите возможности редактирования изображения Visio и опишите как они реализуются.

Как создается собственный стандартный объект Visio и как он помещается в трафарет?

Опишите варианты комбинирования фигур Visio.

Как обеспечить "непрозрачное" наложение надписи Visio на графику?

В чем смысл введения подложек и как они взаимодействуют с лицевыми страницами?

224



Копирование дискет


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

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



Линейное программирование


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

203

201 :: 202 :: 203 :: Содержание



Логические системы


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

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

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

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

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

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

Однако не все предложения, содержащие переменные, являются высказывательными формами. Различают связанные и свободные переменные. Так, сложные предложения с переменными, содержащие логические связки СУЩЕСТВУЕТ или ВСЕ, обозначают высказывания, а переменные, к которым они относятся, являются связанными.

297

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

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

НЕВЕРНО ЧТО - ¬ (знак отрицания);
И - ? (знак конъюнкции);
ИЛИ - ? (знак дизъюнкции);
ЕСЛИ ... ТО - > (знак импликации);
ТОГДА, КОГДА - ? (знак эквивалентности).
Логические связки "ДЛЯ ВСЯКОГО", "СУЩЕСТВУЕТ" относятся к переменным в предложении и обозначают:

ДЛЯ ВСЯКОГО - ? (знак квантора общности);
СУЩЕСТВУЕТ - ? (знак квантора существования).
В различных логических системах используются разнообразные правила вывода. Приведем два наиболее распространенных из них.

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



Второе - "правило заключения" (латинское название Modus Ponens - положительный модус) состоит в следующем: Если а и ? > ? являются истинными высказываниями посылками, тогда и высказывание заключение ? также истина. Записывается правило в виде дроби:

α, α → β
β
Пример. Пусть имеются следующие истинные высказывания:

Если самолет проверен и заправлен, то он готов к вылету.

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

Если самолет взлетел, то он выполняет рейс.

Самолет ЯК-42 проверен и заправлен.

Самолет ТУ-134 проверен.

Самолет ИЛ-62 заправлен.

Самолету ЯК-42 дано разрешение на вылет.

Самолет ЯК-42 не находится на взлетной полосе.

Требуется найти, какой из самолетов в момент времени Т выполняет рейс.

Проведем анализ данных высказываний. Высказывания 1, 2, 3 являются сложными и построены с использованием логических связок > (импликация), ? (И). Во всех элементарных высказываниях, из которых построены предложения 1,2,3, субъектом является

298

понятие "самолет"; предикатами выступают сказуемые, описывающие свойства всех объектов, принадлежащих классу "самолет". Высказывания 4-8 являются фактами, истинными на момент времени Т. Они являются элементарными высказываниями, описывающими свойства конкретных объектов предметной области.

Для формального описания задачи введем следующие одноместные предикаты:

ПРОВЕРЕН(Х) - самолет X проверен;

ЗАПРАВЛЕН(Х) - самолет X заправлен;

ГОТОВ(Х) - самолет X готов к вылету;

ДАНО_РАЗР(Х) - самолету X дано разрешение на вылет;

ВЗЛЕТЕЛ(Х) - самолет X взлетел;

НАХ_ВЗП(Х) - самолет X находится на взлетной полосе;

НЕ_НАХ_ВЗП(Х) - самолет X не находится на взлетной полосе;

ВЫП_РЕЙС(Х) - самолет X выполняет рейс.

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

?Х(ПРОВЕРЕН(Х)? ЗАПРАВЛЕН(Х) > ГОТОВ(Х))

?Х(ГОТОВ(Х) ? ДАНО_РАЗР(Х)иНЕ_НАХ_ВЗП(Х) > ВЗЛЕТЕЛ(Х))

?Х(ГОТОВ(Х) ? ДАНО_РАЗР(Х)1Ю ВЗЛЕТЕЛ(Х) > НАХ_ВЗП(Х))



?Х(ВЗЛЕТЕЛ(Х) > ВЫП_РЕЙС(Х))

ПРОВЕРЕН(ЯК-42)

ЗАПРАВЛЕН(ЯК-42)

ПРОВЕРЕН(ТУ-134)

ЗАПРАВЛЕН(ИЛ-62)

ДАНО_РАЗР(ЯК-42)

НЕ_НАХ_ВЗП(ЯК-42)

Предложения 1-4, хотя и содержат переменную, являются высказываниями - переменная X связана квантором общности V. В дальнейшем квантор писать не будем, так как он присутствует во всех предложениях.

Чтобы найти, какой из самолетов в момент времени Т выполняет рейс, подготовим запрос вида:

М? ВЫП_РЕЙС(1),

где М - множество предложений 1-10. Вывод запроса можно представить следующей последовательностью шагов.

1шаг.

Применив к предложению 1 подстановку Х=ЯК-42, получим заключение

ПРОВЕРЕН(ЯК-42) ? ЗАПРАВЛЕН(ЯК-42) > ГОТОВ(ЯК-42).

2 шаг.

Первая посылка: объединив предложения 5 и 6, получим

ПРОВЕРЕН(ЯК-42) ? ЗАЛРАВЛЕН(ЯК-42).

Вторая посылка: заключение шага 1:

ПРОВЕРЕН(ЯК-42) ? ЗАПРАВЛЕН(ЯК-42) > ГОТОВ(ЯК-42).

Применив правило Modus Ponens

?,? > ?
?
  299

для ?= ПРОВЕРЕН(ЯК-42) ? ЗАПРАВЛЕН(ЯК-42) и р= ГОТОВ(ЯК-42), получим

следующее заключение: ГОТОВ(ЯК-42).

Зшаг.

Первая посылка: объединив заключение шага 2, предложения 9 и 10, получим:

ГОТОВ(ЯК-42) ?ДАНО_РАЗР(ЯК-42) ?НЕ_НАХ_ВЗП(ЯК-42).

Вторая посылка: применив к правилу 2 подстановку Х=ЯК-42, получим

ГОТОВ(ЯК-42) ? ДАНО_РАЗР(ЯК-42) ? НЕ_НАХ_ВЗП(ЯК-42) > ВЗЛЕТЕЛ(ЯК-42)

Применив правило Modus Ponens, получим заключение ВЗЛЕТЕЛ(ЯК-42).

4 шаг.

Первая посылка: заключение шага 3 - ВЗЛЕТЕЛ(ЯК-42).

Вторая посылка: применив к правилу 4 подстановку Х=ЯК-42, получим

ВЗЛЕТЕЛ(ЯК-42) > ВЫП_РЕЙС(ЯК-42).

Применив правило Modus Ponens, получим заключение ВЫП_РЕЙС(ЯК-42). Таким образом, в момент времени Т рейс выполняет самолет ЯК-42. Остальные подстановки, например Х=ИЛ-62, приводят к тупиковым ситуациям. Логический вывод выполнялся нами в прямом направлении, при этом в процессе вывода трижды использовалось правило заключения.

300

292 :: 293 :: 294 :: 295 :: 296 :: 297 :: 298 :: 299 :: 300 :: Содержание


Логическое программирование


Новую область - логическое, или реляционное программирование, - открыло появление языка PROLOG (Пролог) (PROgramming in LOGic - программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является именно Пролог. Так, имеется свыше 15 различных его реализаций па ПЭВМ. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта, рассматриваемых в данном учебном пособии.

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

50

основывается, а не определять последовательность шагов, которые требуется выполнить. Это свидетельствует о декларативности языка логического программирования. Она метко выражена в формуле Р. Ковальского: "алгоритм = логика + управление". Языки логического программирования характеризуются:

высоким уровнем;

строгой ориентацией на символьные вычисления;

возможностью инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные;

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

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



Локальное форматирование, стили и шаблоны


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

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

Новый стиль создается по команде Format | Define Styles(Формат | Определить стили). В открывшемся диалоговом окне надлежит:

220

выбрать базовый стиль, в наибольшей степени совпадающий с проектируемым (No Style (Без стиля) годится тоже - будут выбраны стандартные значения);

в блоке Includes (Включая) выделить отличительные компоненты стиля из множества {Text, Line, Fill} ({Текст,Линия,Заполнение});

через блок Change (Изменить) последовательно настроить выбранные компоненты;

задать имя нового стиля;

нажать кнопку Add (Добавить);

нажать ОК.

Стиль будет добавлен к тем из стилевых списков панели Visio-окна, которые соответствуют измененным компонентам.

Обычно приходится менять установку компонента Text (Текст) - по крайней мере для выбора шрифта с кириллицей. Можно также выбрать его размер, цвет, стиль (любое сочетание признаков Обычный, Bold (Жирный), Italic (Курсив), Underline (Подчеркнутый), Small caps (Капитель)) и др. Заметим, что упомянутое сочетание определяет не спектр возможностей последующего локального форматирования, а конкретный выбор его.

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

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

Локальное и стилевое форматирование часто комбинируются.
Для выполнения локального форматирования выберите из меню Format соответствующие команды: Line (Линия), Comers (Углы), Fill (Заполнение), Shadow(Tenb), Text(TeKCT), Text Block (Блок текста). Контекстно зависимая часть атрибутов может корректироваться через панель инструментов.

Выше отмечалось, что стиль связывается с конкретным файлом. Более широкое применение имеет Template (Шаблон). Это отдельный файл с расширением .vst, который открывает трафареты, содержит стили и дополнительные установки (параметры страницы, палитра, масштаб и т.п.). Для создания шаблона необходимо:

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

открыть необходимые трафареты и расположить их в желаемом порядке;

задать дополнительные параметры и настройки;

в меню File | Save As...( Файл} Сохранить как...) указать имя файла, расширение .vst и необходимость запоминания окружения Workspace;

сохранить файл.

221

220 :: 221 :: Содержание


Манипулирование фрагментами изображений


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

ImageSize(x1, у1, х2, у2: integer): word,

где х1, у1 и х2, у2 - координаты верхнего левого и правого нижнего угла прямоугольной области экрана. Функция возвращает размер указанного фрагмента в байтах. Образ фрагмента удобно хранить в динамической области памяти, то есть результат работы ImagSize может являться входной информацией для процедуры GetMem, которая выделяет указанный объем в верхней области памяти. Сохранение образа фрагмента в памяти выполняется процедурой

GetImage(x1, у1, х2, у2: integer; Var BitMap),

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

PutImage(X, Y: integer; Var BitMap; Mode: word),

i где X, Y - координаты точки экрана, начиная с которой будет выводится фрагмент, BitMap - уже известный нетипизированный параметр, задающий ширину и высоту фрагмента.

391

391 :: Содержание



Масштабирование изображений


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

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

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

362

одновременное изменение размеров всех пикселов (в большую или меньшую сторону);

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

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

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


Рис. 26.3. Масштабирование растрового изображения

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

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

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

363

357 :: 358 :: 359 :: 360 :: 361 :: 362 :: 363 :: Содержание