Программная система ТК 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. Обладая большими возможностями масштабирования, эта система представляет собой завершенную СОС, которая в равной степени пригодна для небольших или средних по размеру, одно- и многосерверных корпоративных сетей.
Вирус представляет собой самовоспроизводящуюся программу, которая способна внедрять свои копии в файлы, системные области, вычислительные сети и т.д. и
83
приводить к нарушению нормального функционирования компьютера. Копии вирусной программы также сохраняют способность дальнейшего распространения. Вирусы принято классифицировать по следующим признакам:
среде обитания;
способу заражения среды обитания;
способу активации;
деструктивным возможностям;
особенностям алгоритма.
По среде обитания вирусы разделяют на файловые, загрузочные и сетевые. Файловые вирусы внедряются в файлы, чаще всего выполняемые, пли файлы документов текстовых процессоров и рабочих книг табличных процессоров. Загрузочные вирусы внедряются в загрузочный сектор диска или в сектор системного загрузчика жесткого диска. Сетевые вирусы распространяются по компьютерной сети. Существуют также файлово-загрузочные вирусы, которые заражают файлы и загрузочные секторы.
Способ заражения среды обитания зависит от самой среды. В частности, тело файлового вируса может при заражении размещаться в конце, начале, середине или хвостовой (свободной) части последнего кластера файла. Наиболее просто реализуется внедрение вируса в конец файла типа com. Наиболее сложна имплантация вируса в середину файла, поскольку для этого должна быть известна структура заражаемого файла, чтобы можно было внедриться, к примеру, в область стека. При внедрении загрузочного вируса (ввиду малых размеров среды обитания) используется размещение головы тела вместо загрузочного сектора диска или сектора системного загрузчика, а хвост вируса и следующий за ним загрузочный сектор размещаются в других кластерах или секторах.
По способу активации вирусы подразделяют на резидентные и нерезидентные. Резидентный вирус при заражении оставляет в оперативной памяти резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения - файлам, загрузочным секторам и т.п., и внедряется в них. Резидентные вирусы сохраняют свою активность вплоть до выключения или перезагрузки компьютера.
Нерезидентные вирусы являются активными ограниченное время и активизируются в определенные моменты, например, при запуске зараженных выполняемых программ пли при обработке документов текстовым процессором. Некоторые нерезидентные вирусы оставляют в оперативной памяти небольшие резидентные программы.
По деструктивным возможностям вирусы разделяют на безвредные, неопасные, опасные и очень опасные. Безвредные вирусы проявляются только в том, что уменьшают объем памяти на диске в результате своего распространения. Неопасные вирусы, кроме отмеченного проявления, порождают графические, звуковые и другие эффекты. Опасные вирусы могут привести к нарушениям нормальной работы компьютера, например к зависанию или к неправильной печати документа. Очень опасные вирусы могут привести к уничтожению программ и данных, стиранию информации в системных областях памяти и даже приводить к выходу из строя движущихся частей жесткого диска при вводе в резонанс.
По особенностям алгоритмов различают следующие вирусы: спутники, черви, пли репликаторы, паразитические, студенческие, невидимки, или стелс-вирусы, призраки, или мутанты. Вирусы-спутники файлы не изменяют, а для выполнимых программ (ехе) создают одноименные программы типа com, которые пр выполнении исходной программы
84
запускаются первыми, а затем передают управление исходной выполняемой программе. Вирусы-черви распространяются в компьютерных сетях, вычисляют адреса сетевых компьютеров и создают там свои копии. Паразитические вирусы при распространении меняют содержимое дисковых секторов и файлов и, как следствие, легко обнаруживаются. Студенческие вирусы представляют собой простейшие легко обнаруживаемые вирусы. Стелс-вирусы (название происходит от STEALTH - названия проекта создания самолетов-невидимок) перехватывают обращение операционной системы к пораженным файлам и секторам дисков и подставляют незараженные участки диска, затрудняя тем самым их обнаружение. Вирусы-призраки представляют собой труднообнаруживаемые вирусы, которые имеют зашифрованное с помощью алгоритмов шифровки-расшифровки гсло вируса, благодаря чему две копии одного вируса не имеют одинаковых участков кода (сигнатур).
Основные отличительные особенности 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
Тип тега | Описание |
Regular | Значение индексного выражения записывается для каждой записи таблицы. При наличии одного и того же значения для нескольких записей в индексном файле будет указатель на каждую из них. При просмотре таблицы такие записи появляются в порядке их ввода. |
Unique | Значение индексного выражения записывается только для первой из повторяющихся записей и только на нее в индексном файле есть указатель. При просмотре таблицы видна только одна (первая) из записей с одинаковым значением индексного выражения. |
Candidate | Создается уникальный индекс, не содержащий полей с пустыми значениями. Он является кандидатом на роль первичного ключа, но не является таковым, так как в таблице может быть только один первичный ключ. |
Primary | Один из индексов, удовлетворяющий требованиям индекса типа Candidate, может быть выбран в качестве первичного (Primary) ключа. Используется для связывания таблиц и определения условий целостности данных. |
Таблица | Имя тега | Индексное выражение |
T_ZAGR | i_zagr | FIO+ Predm-i-STR(Gruppa) |
T_PREP | i_prep | FIO |
T_STAG | i_stag | Stag |
T_DOLGN | i_dolgn | Dolgn |
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;
процедура устанавливает текущий указатель (СР) в начало и переустанавливает графическую систему.
Используемые для разработки СИИ, в том числе ЭС, инструментальные средства можно разделить на следующие типы:
системы программирования на языках высокого уровня;
системы программирования на языках представления знаний;
оболочки систем искусственного интеллекта - скелетные системы;
средства автоматизированного создания ЭС.
Системы программирования на языках высокого уровня (ЯВУ), такие как 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.
После загрузки 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 (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-узле, к которому осуществлено подключение, а при просмотре документа в ней отображается адрес гиперссылки, на которую указывает курсор. В правом конце строки состояния находится информация об уровне защиты, заданной пользователем;
В состав 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 :: Содержание
Рассматриваемая нами версия системы ТК 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 (Предварительный просмотр) - просмотр перед печатью выводимой информации;
Рассматриваемая версия системы логического программирования Турбо-Пролог 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 (рис. 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 |
Изменение параметров абзацев выполняется с помощью диалогового окна Абзац ( 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 (удалить). Если открытый па данный момент индексный файл не содержит ссылок на удаляемое поле, ч о поле будет удалено. Если такие ссылки имеются, то появится предупреждающее сообщение.
В ТК Solver вычислительная модель представляет собой совокупность объектов и отношений между ними. Каждый объект в модели принадлежит к некоторому классу (типу данного) и в описании модели в ТК Solver объект соотносится с именем переменной. Тип переменной определяется множеством значений, которые может принимать переменная, и множеством операций над этими значениями. ВМ в ТК Solver описывается в соответствии с правилами синтаксиса и семантики конструкций языка описания вычислительных моделей и задач, в системе он не имеет специального названия, будем его называть Язык Спецификации Вычислительных Задач (ЯСВЗ).
В ВМ объект каждого типа имеет уникальное имя. В ТК Solver имя может иметь в длину до 200 символов и включать буквы A-Z и a-z, цифры 0-9 и специальные символы @, #, $ , %, и _. Имя не может начинаться с цифры, содержать внутри себя пробелы, строчные и прописные буквы в имени различаются, т.е. например, имена: Abс и abc обозначают разные объекты. Для системных имен это ограничение не действует (SIN и Sin обозначают одно и то же).
В ЯСВЗ допускается использовать переменные следующих типов:
числовые переменные (целые, вещественные и комплексные);
символьные переменные;
булевы переменные.
339
Явные описатели типов в языке отсутствуют, тип переменной определяется либо видом принимаемых переменной значений при их инициализации, либо местом использования переменной, либо указанием определенных атрибутов в полях панелей объявления переменных.
В ЯСВЗ можно использовать и структурированные типы данных. Если в модели задачи требуется проводить вычисления многократно с различными исходными данными, тогда с переменной в ТК Solver можно связать список - последовательность однотипных значений, называемых элементами списка. В свою очередь, списки можно объединять (связывать) в более сложные структуры - таблицы, соответствие между элементами двух числовых списков можно представлять в форме геометрической интерпретации в виде графиков, столбиковых и круговых диаграмм.
Язык ОБЕ позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции - достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.
С помощью языка ОБЕ можно задавать запросы однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц).
При задании запросов с помощью языка ОБЕ допустимы следующие операции: выборка, вычисление и модификация данных; вставка и удаление записей. Результатом выполнения запроса может быть новая таблица пли обновленная исходная таблица.
Выборка, вставка, удаление и модификация данных и записей могут выполняться с использованием условий, задаваемых с помощью логических выражений. Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые - вычисляемые поля.
Во многих современных СУБД, например, в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка ОБЕ выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто "протаскиванием" мытью ноля одной таблицы к полю другой.
Хранимые в базе данные можно обрабатывать (просматривать и редактировать) "вручную" - с помощью имеющихся в каждой СУБД средств просмотра и редактирования данных в таблицах. Для повышения эффективности множественной обработки данных (редактирования и выбора данных из таблиц) создаются и выполняются запросы.
Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке или модификации хранимых данных.
Для подготовки запросов с помощью различных СУБД, как правило, используются два основных языка описания запросов:
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 программа после компиляции |
Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы РМД и формы их представления приведены в табл. 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
На ЭВМ могут решаться задачи различного характера, например: научно-инженерные; разработки системного программного обеспечения; обучения; управления производственными процессами и т.д. В процессе подготовки и решения на ЭВМ научно-инженерных задач можно выделить следующие этапы:
постановка задачи;
математическое описание задачи;
выбор и обоснование метода решения;
алгоритмизация вычислительного процесса;
составление программы;
отладка программы;
решение задачи на ЭВМ и анализ результатов.
В задачах другого класса некоторые этапы могут отсутствовать, например, в задачах разработки системного программного обеспечения отсутствует математическое описание.
Перечисленные этапы связаны друг с другом. Например, анализ результатов может показать необходимость внесения изменений в программу, алгоритм или даже в постановку задачи. Для уменьшения числа подобных изменений необходимо на каждом этапе по возможности учитывать требования, предъявляемые последующими этапами. В некоторых случаях связь между различными этапами, например, между постановкой задачи и выбором метода решения, между составлением алгоритма и программированием, может быть настолько тесной, что разделение их становится затруднительным.
Постановка задачи. На данном этане формулируется цель решения задачи и подробно описывается ее содержание. Анализируются характер и сущность всех величии, используемых в задаче, и определяются условия, при которых она решается. Корректность постановки задачи является важным моментом, так как от нее в значительной степени зависят другие этапы.
Математическое описание задачи. Настоящий этап характеризуется математической формализацией задачи, при которой существующие соотношения между величинами, определяющими результат, выражаются посредством математических формул. Так формируется математическая модель явления с определенной точностью, допущениями и ограничениями. При этом в зависимости от специфики решаемой задачи могут быть использованы различные разделы математики и других дисциплин.
При рассмотрении ЭВМ как средства обработки информации важную роль играют понятие архитектуры ЭВМ, классификация ЭВМ, структура и принципы функционирования ЭВМ, а также основные характеристики вычислительной техник.
Каталог представляет собой справочник, содержащий сведения о местоположении, размере, дате и времени обновления файлов. Для каждого файла на диске имеется один элемент в определённом каталоге. Один элемент корневого каталога выделяется для метки
65
диска. Для каждого каталога имеется элемент в его родительском каталоге. Кроме того, каждый каталог, за исключением корневого, содержит по одному элементу для специальных имен "." и "..". Эти элементы указывают начало цепочки в FAT соответственно для самого каталога и для его родительского каталога. Такая система описания каталогов обеспечивает возможность сокращенного написания пути к данному файлу, когда он походит через родительский каталог. Здесь особенно важна возможность написания программ, просматривающих все дерево каталогов произвольной структуры.
Каждый элемент каталога имеет длину 32 байта и структуру, представленную в табл. 3.3.
Таблица 3.3
Поля элемента каталога
Длина, байт | Содержимое поля |
8 | Имя файла, каталога или тома |
3 | Расширение имени файла |
1 | Байт атрибутов |
10 | Резервное поле |
2 | Код времени изменения файла |
2 | Код даты изменения файла |
2 | Номер первого кластера файла (подкаталога) |
4 | Размер файла |
Поле имени. Если имя файла содержит меньше 8 символов, то справа оно дополняется пустыми позициями. Пробелы в записи имени файла недопустимы. Однако большинство системных функций позволяют создавать файлы с пробелами в поле имени, которые трудно удалить обычным способом.
Код 00 в первом байте поля имени показывает, что этот элемент каталога ранее не использовался. Так как каталог заполняется последовательно, это означает, что и следующие за ним элементы также не использовались. Это позволяет избежать лишних поисков в каталоге. При стирании файла в первом байте соответствующего элемента каталога записывается код Е5. Все остальные байты элемента не изменяются. Сохраняемая в каталоге и FAT информация после удаления файла позволяет выполнять его восстановление, если занимаемое им ранее дисковое пространство не было выделено другому файлу.
№ бита | Назначение |
0 | Защищенный |
1 | Скрытый |
2 | Системный |
3 | Метка тома |
4 | Каталог |
5 | Архивный |
6 | Не используется |
7 | Не используется |
Антивирусными называются программы, предназначенные для защиты данных от разрушения, обнаружения и удаления компьютерных вирусов. Различают следующие разновидности антивирусных программ:
фильтры, или сторожа;
детекторы;
доктора, пли фаги;
ревизоры;
иммунизаторы, или вакцины.
Фильтр представляет собой резидентную программу, которая контролирует опасные деист вня, характерные для вирусных программ, и запрашивает подтверждение на их выполнение. К таким действиям относятся следующие:
изменение файлов выполняемых программ;
размещение резидентной программы;
прямая запись на диск по абсолютному адресу;
запись в загрузочные секторы диска;
форматирование диска.
Достоинством программ-фильтров является их постоянное отслеживание опасных действий, повышающее вероятность обнаружения вирусов на ранней стадии их развития. С другой стороны, это же является и недостатком, так как приводит к отвлечению пользователя от основной работы для подтверждения запросов на выполнение подозрительных операций.
Детекторы обеспечивают поиск и обнаружение вирусов в оперативной памяти и на внешних носителях. Различают декторы универсальные и специализированные. Универсальные детекторы в своей работе используют проверку неизменности файлов путем подсчета и сравнения с эталоном контрольной суммы. Недостаток универсальных детекторов связан с невозможностью определения причин искажения файлов. Специализированные детекторы выполняют поиск известных вирусов по их сигнатуре (повторяющемуся участку кода). Недостаток таких детекторов состоит в том, что они неспособны обнаруживать все известные вирусы. Детектор, позволяющий обнаруживать несколько вирусов, называют полидетектором.
Доктором называют антивирусную программу, позволяющую обнаруживать и обезвреживать вирусы. При обезвреживании вирусов среда обитания может восстанавливаться или не восстанавливаться. Программы-доктора, позволяющие отыскивать и
85
обезвреживать большое числор вирусов, называют полифагами. К их числу принадлежат получившие широкое распространение программы Aidstest, Doctor Web и Norton AntiVirus.
Чтобы судить о возможностях ЭВМ, их принято разделять на группы по определенным признакам, т.е. классифицировать. Сравнительно недавно классифицировать ЭВМ по различным признакам не составляло большого труда. Важно было только определить признак классификации, например: по назначению, но габаритам, по производительности, по стоимости, по элементной базе и т.д.
С развитием технологии производства ЭВМ классифицировать их стало все более затруднительно, ибо стирались грани между такими важными характеристиками, как производительность, емкость внутренней и внешней памяти, габариты, вес, энергопотребление и др. Например, персональный компьютер, для размещения которого достаточно стола, имеет практически такие же возможности и технические характеристики, что и достаточно совершенная в недавнем прошлом ЭВМ Единой системы (ЕС), занимающая машинный зал в сотни квадратных метров. Поэтому разделение ЭВМ по названным признакам нельзя воспринимать как классификацию по техническим параметрам. Это, скорее, эвристический подход, где большой вес имеет предполагаемая сфера применения компьютеров.
С этой точки зрения классификацию вычислительных машин по таким показателям, как габариты и производительность, можно представить следующим образом:
сверхпроизводительпыс ЭВМ и системы (супер-ЭВМ);
большие ЭВМ (универсальные ЭВМ общего назначения);
средние ЭВМ;
малые или мини-ЭВМ;
микро-ЭВМ;
персональные компьютеры;
микропроцессоры.
Отметим, что понятия "большие", "средние" и "малые" для отечественных ЭВМ весьма условны и не соответствуют подобным категориям зарубежных ЭВМ.
14
Исторически первыми появились большие ЭВМ (универсальные ЭВМ общего назначения), элементная база которых прошла путь от электронных ламп до схем со сверхвысокой степенью интеграции. В процессе эволюционного развития больших ЭВМ можно выделить отдельные периоды, связываемые с пятью поколениями ЭВМ. Поколение ЭВМ определяется элементной базой (лампы, полупроводники, микросхемы различной степени интеграции), архитектурой и вычислительными возможностями.
Математическое моделирование можно разделить на аналитическое и имитационное. При аналитическом моделировании процессы функционирования элементов системы записываются в виде алгебраических, интегральных, дифференциальных, конечно-разностных и др. соотношений и логических условий. Аналитическая модель может быть исследована следующими методами:
аналитическим, когда стремятся найти явные зависимости для искомых характеристик;
численным (получаются числовые значения ответных параметров для заданных входных данных).
Получить аналитическое решение обычно удается лишь после упрощающих предположений. Его возможность весьма критична к изменениям модели. Гораздо чаще удается применить численные методы, но они дают лишь частные результаты, по которым трудно делать обобщающие выводы. При оптимизации модели необходим многовариантный счет.
При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования системы во времени и в пространстве, причем имитируются составляющие процесс элементарные явления с сохранением его логической и временной структуры. Имитационное моделирование усугубляет недостатки численного, но зато практически свободно от ограничений на класс решаемых задач. Обычная сфера его применения - сложные случайные процессы.
Перспективно комбинированное моделирование, позволяющее объединить достоинства названных подходов. Математические модели обычно классифицируют на
статические и динамические,
дискретные и непрерывные,
детерминированные, стохастические и нечеткие,
сосредоточенные и распределенные,
линейные и нелинейные,
стационарные и нестационарные.
Статическим моделям соответствуют системы с быстро затухающими переходными процессами. Динамические модели описываются более сложным математическим аппаратом - дифференциальные и разностные уравнения, конечные автоматы.
Дискретная система может находиться в состояниях из счетного (в простейших случаях конечного) множества. Эти состояния меняются только в дискретные моменты времени. Дискретные системы описываются конечными автоматами, сетями Петри, марковскими цепями. Траектории непрерывных систем определены на континуальных множествах и описываются классической алгеброй или дифференциальными уравнениями.
Выход детерминированных систем однозначно определяется их входом (при этом погрешностями любого рода пренебрегают). При значимых погрешностях и/или
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-местный предикат.
Логические связки "И", "ИЛИ", "НЕ" и т.д., с помощью которых строятся сложные предложения (формулы), соотносятся с операциями логики следующим образом:
НЕВЕРНО ЧТО | - ¬ (знак отрицания); |
И | - ? (знак конъюнкции); |
ИЛИ | - ? (знак дизъюнкции); |
ЕСЛИ ... ТО | - > (знак импликации); |
ТОГДА, КОГДА | - ? (знак эквивалентности). |
ДЛЯ ВСЯКОГО | - ? (знак квантора общности); |
СУЩЕСТВУЕТ | - ? (знак квантора существования). |
α, α → β |
β |
?,? > ? |
? |
Новую область - логическое, или реляционное программирование, - открыло появление языка 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 показан пример масштабирования растрового изображения - увеличения его в два раза по каждому измерению.