В Windows 95 существует несколько способов открытия документов. Самым простым является открытие из программы, которая использовалась для его создания. Чтобы открыть документ, который был открыт недавно, можно воспользоваться командой Документы (Documents) в главном меню. Для этого необходимо нажать кнопку Пуск (Start) и в меню Документы (Documents) выбрать открываемый документ. При этом программа, в которой он был создан, запустится автоматически.
При открытии документа из программы необходимо выполнить следующие действия:
Кнопкой Пуск (Start) запустить программу, в которой был создан документ.
В открывшемся окне в меню Файл (File) выбрать команду Открыть (Open) и щелкнуть левую кнопку мыши.
Для нахождения нужного документа раскрыть список Папка (Folder) и выбрать диск, содержащий нужную папку.
Выбрать папку и нажать кнопку Открыть (Open) или дважды щелкнуть лево]'! кнопкой мыши по выбранной папке.
В открывшейся папке выбрать открываемый документ и нажать кнопку Открыть (Open).
Открытие рабочей книги Excel можно выполнить с помощью кнопки Открыть (Open) панели инструментов или по команде Открыть... (Open...) меню Файл (File) программы. При этом на экране появляется диалоговое окно Открытие документа (Open). Назначение кнопок и полей окна, порядок их использования при открытии файла идентичен рассмотренному в Word. Открыть файл рабочей книги можно с помощью списка ранее открывавшихся файлов. Этот список становится доступным при раскрытии меню Файл (File) и включает в себя имена четырех файлов, которые открывались последними в предыдущих сеансах работы с Excel.
Замечания.
Используемая по умолчанию папка, имя которой представляется в диалоговом окне Открытие документа (Open), задается в поле Рабочий каталог (Default File Location) вкладки Общие (General) диалогового окна Параметры (Options). Это окно открывается с помощью одноимённой команды меню Сервис (Tools).
За один раз можно открыть сразу несколько рабочих книг. Для этого необходимо предварительно выделить имена < соответствующих файлов, представленных в открытой папке диалогового окна Отбытие документов (Open). Выделение осуществляется щелчком левой кнопки мышм при одновременно нажатой клавише . Для каждой открытой книги создается свое окно.
Для того чтобы в меню Файл (File) высвечивались имена последних четырех ранее открывавшихся файлов, необходимо установить флажок Список ранее открывавшихся файлов (Recently Used File List) на вкладке Общие (General) диалогового окна Параметры (Options) меню Сервис (Tools). Количество таких файлов в Excel не изменяется и всегда равно 4.
146
Если содержимое открытой книги с внесёнными в неё изменениями необходимо записать в файл с новым именем, то нужно выполнить команду Сохранить как (Save As). При этом появляется диалоговое окно Сохранение документа (Save As), порядок работы с которым рассмотрен ранее. В остальных случаях используется команда Сохранить (Save) или кнопка Сохранить (Save). При этом диалоговое окно Сохранение документа (Save As) не появляется, и все сделанные в открытой рабочей книге изменения записываются в тот же файл.
Перечисленные свойства Windows 95 являются новыми по отношению к графической оболочке Windows 3.11, представляющей собой надстройку над MS DOS. Рассмотрим их более подробно.
32-разрядность означает, что операции над 32-разрядными данными здесь выполняются заметно быстрее, чем в 16-разрядных ОС, поскольку в них требуется программная реализация над 32-разрядными данными. Под управлением Windows 95 могут выполняться и 16-разрядные приложения.
Многозадачность предоставляет возможность одновременной (параллельной) работы с несколькими приложениями. Это повышает эффективность использования микропроцессора и производительность труда пользователя.
Многопоточность означает способность Windows 95 организовывать одновременную обработку нескольких пот оков, конкурирующих за процессорное время. При этом допускается параллельное выполнение нескольких приложений, а также нескольких фрагментов (подзадач) одного или нескольких приложений. Например, в текстовом процессоре могут одновременно выполняться автоматическая проверка орфографии и редактирование документа.
Пользовательский интерфейс Windows 95 обеспечивает удобства в запуске и переключении приложении. Основными компонентами пользовательского интерфейса являются рабочий стол (содержит ярлычки) и панель задач (обеспечивает запуск и переключение приложений). Па рабочем столе размещены графические объекты, соответствующие приложениям, документам, сетевым устройствам. Каждый графический объект имеет поименованный ярлычок. С помощью мыши, ярлычков, главного меню и панели задач пользователь может легко запускать и переключать приложения.
Технология Plug and Play (включи и работай) ориентирована на поддержку любого типа устройств, включая мониторы, видеоплаты, принтеры, звуковые карты, модемы, приводы CD-ROM, контроллеры магнитных дисков. При ее использовании обеспечиваются следующие вспомогательные функции: распознавание устройств для установки и настройки, динамическое изменение состояния системы, интеграция драйверов устройств, системных компонентов и пользовательского интерфейса. При подключении
75
устройств Windows 95 самостоятельно выясняет используемые номера прерываний, адреса портов ввода-вывода, каналы прямого доступа к памяти. При возникновении конфликтов они разрешаются автоматически, избавляя пользователя от необходимости поиска подходящих параметров для совместно подключаемых устройств.
В Windows 95 по отношению к MS DOS для обозначения родственных понятий используется ряд новых терминов. В частности, вместо термина программа чаще используется термин приложение, который обозначает программу, выполняемую под управлением Windows. Понятие папка служит для обозначения хранилища документов и программ, структуру которых можно просмотреть с помощью проводника Windows или значка Мой компьютер. В предыдущей версии Windows и в MS DOS папки назывались каталогами.
Word 7.0 предоставляет удобное средство отмены ошибочно выполненных действий по редактированию. Чтобы отменить последнее выполненное действие, достаточно выполнить команду Отменить ввод (Undo) меню Правка (Edit). Для повторения последнего отмененного действия можно выполнить команду Повторить ввод (Redo). Указанные действия по отмене и повторению ввода удобно выполняются щелчком мыши соответственно на левой и правой кнопках с дуговыми стрелками.
В Word 7.0 запоминается в стеке до сотни последних выполненных действий по редактированию, которые можно отменить и повторить заново. Щелчком кнопкой мыши по одной из кнопок с треугольником можно просмотреть весь список действий по
124
редактированию или отмене редактирования Выбрав элемент в одном из списков и щелкнув по нему мышью, можно отменить или повторить целую цепочку действий по редактированию, связанных с выбранным элементом
Пример. Отмена трех последних действий по редактированию документа
Щелкнем мышью по левой кнопке с треугольником на панели инструментов Стандартная (Standard)
2 Выберем на панели в списке (рис 9 5) третью строку и щелкнем кнопкой мыши
Рис 9.5 Вид панели со списком выполненных действий#.
Для повторения нескольких, например двух, последних из отмененных действий достаточно выполнить следующее щелкнуть мышью по правой кнопке с треугольником на панели инструментов Стандартная (Standard), выбрать на появившейся панели в списке вторую строку и щелкнуть кнопкой мыши
125
124 :: 125 :: Содержание
На рынке программного обеспечения нет пакетов программ, профессионально реализующих достаточно широкий круг методов и моделей исследования операций. Задачи оптимизации обычно рассматриваются в простейших постановках, без информации о методе решения и возможностей такого выбора.
Кратко опишем пакет прикладных программ OSS. Пакет предъявляет умеренные требования л машинным ресурсам. По содержанию, сложности и размерности решаемых задач он соответствует "студенческому" уровню. Ниже перечислены области его применения:
прогнозирование временных рядов;
линейное и целочисленное программирование, а также их частные случаи - транспортная задача и задача о назначениях;
нелинейная оптимизация методом штрафных функций;
динамическое программирование;
оптимизация на графах: нахождение кратчайшего пути, наибольшего потока, дерева минимальной длины, а также критического пути при детерминированной и случайной длительности работ;
стратегические игры с нулевой суммой и статистические решения по критериям Лапласа, Сэвиджа, Гурвица и др.;
марковские процессы и теория очередей (массового обслуживания) на основе аналитических методов и имитационного моделирования.
Недостатками пакета являются примитивный интерфейс, неполная русификация, скудость документации и противоречия между ее частями, значительные расхождения между документацией и фактическими возможностями пакета.
195
195 :: Содержание
Кнопки левой части панели (рис. 16.1) при их нажатии мышью переносят изображенный на них символ в текущее положение курсора (точку вставки). При этом красные прямоугольнички трансформируются в поля для набора подвыражений.
Прямоугольник внутри текста создает поле для набора выключной формулы, и сам набор в нем будет выглядеть крупнее. Остальные символы левой части панели говорят сами за себя. Восемнадцать символов нижней линейки непосредственно копируются в набор. Любой из них может быть заменен на пиктограмму из ниспадающих меню правой части панели. Для такой замены нужно, удерживая клавишу , щелкнуть по пиктограмме заменяемого символа, затем - по пиктограмме заменяющего символа и отпустить .
В правой части панели помещены пиктограммы диалоговых окон, с помощью которых выполняется набор
"больших операторов" (интегралов, сумм, произведений, объединений, пересечений и т.п.);
скобок;
шаблонов матриц;
имен стандартных математических функций;
ТеХ'овских пробелов;
197
конструкции типа числа сочетании;
шаблонов для конструкций с метками типа равенства по определению или стрелки с надписью;
"декорирования" фрагмента формулы посредством надчеркивания, подчеркивания, стрелок, тильды (волны) - сверху или снизу, а также заключения в рамку;
шаблонов таблиц.
Для примера на рис.16.3 представлено диалоговое окно набора "больших операторов".
Рис. 16.3. Диалоговое окно Operator
На рис. 16.4 показано диалоговое'ввода таблицы аналогичное диалоговое окно имеется для ввода матрицы.
Рис. 16.4. Диалоговое окно Enter Table
198
Пиктограммы из нижней части правой половины панели при их нажатии разворачиваются в ниспадающие меню, содержащие соответственно:
малые греческие буквы;
большие греческие буквы;
знаки арифметических, относящихся к теории множеств и других бинарных операций;
знаки бинарных отношений (нестрогих и сильных неравенств, строгого и нестрогого включения, эквивалентности, приблизительного равенства, доминирования, перпендикулярности, параллельности и т.д.);
отрицания двух отношений;
стрелки (влево, вправо, вверх, вниз - одинарные и двойные, диагональные, изогнутые и даже завязанные в узел);
специальные символы (варианты многоточий, оо, символ частной производной, кванторы, знак пустого множества, знак параграфа и т.п.);
левые и правые ограничители для ближайшего большего и меньшего целого, а также угловые скобки;
Упомянутые меню не исчерпывают возможностей SWP. Почти каждое из них может быть скорректировано или дополнено вызовом функции Panel Edition (Редактирование панели) из меню Tools (Инструменты). В этом случае высвечивается нижняя правая панель, нажатие одной из кнопок которой выводит наборы возможных и включённых в меню символов выбранной категории.
199
196 :: 197 :: 198 :: 199 :: Содержание
Пара представляет собой два арифметических выражения, разделенные запятой и заключенные в круглые скобки:
(>,< АРИФМЕТИЧЕСКОЕ ВЫРАЖЕНИЕ2>)
Пара выражений вида (а,Ь) используется для представления:
прямоугольных или полярных координат точки на плоскости;
комплексных чисел;
связанных по некоторой причине выражений а и b.
Тип представления определяется контекстом правила или оператора, в котором эта пара используется. Пара выражений может использоваться для получения значений переменных в функциях с двумя выходными параметрами. Например, при выполнении правила (q,r) = divide(11,3) вычисленные функцией DIVIDE() частное и остаток от деления числа 11 на число 3 присваиваются переменным пары, т.е. будет получено q=3 и r=2.
Примеры использования пар:
= (a*cosd(t),b*sind(t))
(abserr.relerr) = (а2-a1 ,(a2- a1 )/a1)
Последние два выражения эквиваленты четырем выражениям без использования пар:
x = a*cosd(t)
y = b*sind(t)
abserr = a2-a1
relerr = (a2-a1)/a1
Пары могут использоваться как в уравнениях при описании вычислительных моделей, так и в операторах процедур-функций. При использовании пар в уравнениях необходимо учитывать возможные конфликты при попытке перевычисления известных значений переменных модели. Пример такой ситуации:
(а,b) = (b,а).
В процедуре-функции данное выражение описывает оператор, который осуществляет переприсваиваивание значений переменных а и b. В уравнении такое недопустимо.
353
Пары также нельзя использовать в качестве операндов логических выражений. Например, следующие условные выражения приводят к ошибкам:
if (a,b) = (1,0) then return
if (u,v) <> (0,0) then z = 1/sqrt(u*v).
Правильная их запись имеет вид:
if and(a=1 ,b=0) then return
if and(u<>0,v<>0) then z = 1/sqrt(u*v).
В качестве примера использования пары для представления координат точки на плоскости приведем описание параметрической формы задания эллипса:
(x,y) = (a*cosd(t),b*sind(t)),
где а и b суть константы, задающие полуоси эллипса, t - угол в градусах.
Исходное описание комплексных чисел, используемое в ТК Solver, имеет вид:
х + iy, гдеi^2 = -1.
Числа х и у называются вещественной и мнимой частями комплексного числа соответственно. Представляются комплексные числа в виде пары: (х,у). Над комплексными числами можно выполнять соответствующие арифметические операции: +, -, *, и /. Например: (a,b) = (c,d)*(e,f) эквивалентно двум операторам: а = c*e-d*f и b = c*f+d*e.
Комплексные числа и операции над ними можно использовать в уравнениях. При этом при решении уравнений для нахождения неизвестных переменных обратные операции будут выполняться также по законам комплексной арифметики. Например, если заданы a, b, e и f, в предыдущем примере будет выполнено вычисление (a,b)/(e,f) для нахождения неизвестных значений end. Смешивать комплексные типы чисел с другими типами в ТК Solver не допускается. Так, запись вида: (у1 ,у2) = 2*(z1 ,z2) должна быть представлена в форме: (у1 ,у2) = (2,0) * (z1 ,z2).
Комплексные пары в ТК Solver разрешено использовать в качестве аргументов в следующих функциях: POWER((x,y), n) возводит комплексное число (х,у) в степень п, где п -вещественное число, необязательно целое; RE((a,b)) возвращает действительную часть а комплексной пары; IM((c,d)) возвращает мнимую часть d комплексной пары.
Точка z на комплексной плоскости может быть представлена либо в виде прямоугольных координат (х,у), либо в виде полярных координат (r.theta). Последняя запись в ТК Solver есть представление полярной координаты, а не представление комплексного числа в полярной форме. Полное выражение для точки z как комплексного числа в полярной форме имеет вид r(cos theta + i sin theta).
354
Контрольные вопросы и задания
Укажите отличия парадигм обычных программ и систем искусственного интеллекта.
Перечислите модели представления знаний, их достоинства и недостатки.
Охарактеризуйте типы рассуждений.
Сформулируйте правило Modus Ponens и укажите его назначение.
В чем суть метода резолюций?
Перечислите состав и назначение разделов Пролог-программы.
Назовите основные стандартные предикаты Турбо-Пролога.
Поясните механизм использования предикатов fail и ! для управления вычислениями.
Укажите способы организации рекурсии.
Дайте определение списка и поясните основной механизм обработки списков.
Укажите состав и структуру системы синтеза программ.
Дайте определение и укажите форму задания вычислительной задачи.
Охарактеризуйте решатель задач ТК Solver, назовите состав панелей.
Назовите разновидности функций и укажите технологию описания функций пользователя.
Составить Пролог-программу объединения двух списков.
Составить Пролог-программу сортировки элементов списка в порядке убывания.
Составить рекурсивную программу вычисления S = Хn+1/(п+1 )!, n=0, 1,2...
Выполнить в системе ТК Solver решение следующих систем уравнений:
а) | { | X*Y=sin(X) + 1; |
Y=cos(X)+2 |
б) | { | X*Y=sin(X)+1 |
Y-3=cos(X). |
Печать документа выполняется с помощью команды Печать (Print ) меню Файл (File), открывающей диалог задания печати с возможностью настройки параметров (рис 8 4) Печать одной копии активного документа с использованием текущих параметров печати задается с помощью кнопки Печать (Print) панели инструментов Стандартная (Standard)
Рис 8 4 Диалоговое окно Печать
При печати документа чаще всею возникают вопросы, связанные с управлением качеством печати, настройкой и сменой принтеров Для задания ряда параметров печати можно использовать управляющие элементы вкладки Печать (Print) диалогового окна Параметры (Options) Вызов окна можно выполнить по команде Параметры (Options ) меню Сервис (Tools), а также в ходе диалога задания печати
116
Кроме печати документа или фрагмента можно также отдельно отпечатать сведения о документе, примечания, стили, элементы автотекста и сочетания клавиш.
Пример 1. Настройка принтера для черновой печати.
Задав команду Печать... (Print...) меню Файл (File), откроем диалоговое окно Печать (Print) (puc. 8.4).
С помощью кнопки Свойства (Properties) вызовем диалоговое окно Свойства: (Рroperties ).
Па вкладке Графика (Graphics) установим подходящий переключа!ель передачи полутонов и зададим интенсивность.
На вкладке Параметры устройства (Device Options) в списке Качество печати (Print Quality) выберем Черновое (Draft).
Нажмем ОК.
После настройки принтера происходит возврат в диалоговое окно Печать (Print). Здесь нам остается задать печать активного документа или вернуться к его редактированию.
Замечания.
Для настройки параметров принтера можно поступить следующим образом, с помощью кнопки Пуск (Start) среды Windows 95 открыть папку Принтеры (Printers) и выбрать значок нужного принтера. В меню Файл (File) командой Свойства (Properties) вызвать диалоговое окно Свойства: (Properties: ) и выполнить настройку принтера, затем вернуться в среду Word 7.O.
Для смены принтера также с помощью кнопки Пуск (Start) среды Windows 95 следует открыть папку Принтеры (Printers) и выбрать значок нужного принтера.
Затем выполнить команду Использовать по умолчанию (Set as Default Printer) меню Файл (File).
Пример 2. Черновая печать активного документа с рисунками и графическими объектами.
Выполним команду Печать... (Print...) меню Файл (File).
В диалоговом окне Печать (Print)(pnc. 8.4), нажмем кнопку Параметры... (Options...). В результате будет вызвана вкладка Печать (Print) диалогового окна Параметры (Options).
Сбросим флажок Черновая печать (Draft Print) - в противном случае не будут отпечатаны встроенные рисунки - и установим флажок Графические объекты (Drawing Objects), что обеспечит печать графических объектов
Нажав кнопку ОК, вернемся в диалоговое окно Печать (Print).
Для задания черновой печати выполним настройку принтера, следуя рекомендациям предыдущего примера. После настройки принтера возвращаемся в диалоговое окно Печать (Print).
В списке Напечатать: (Print What:) выберем Документ (Document).
Нажатие ОК вызовет печать документа. Желательно не забыть предварительно включить принтер и вставить бумагу, хотя сделать это можно и позже.
Для печати фрагмента документа нужно предварительно выделить печатаемый фрагмент, задать команду Печать... (Print...) меню Файл (File) и в диалоговом окне Печать (Print) (рис. 8.4) установить переключатель Выделенный фрагмент (Selection).
117
116 :: 117 :: Содержание
Печать схемы выполняется с помощью команды File \ Print (Файл] Печать) после диалога по пунктам традиционного содержания. Все цветные тона для черно-белого принтера преобразуются в серые. Шкала серых тонов может регулироваться через Printer Setup (Установка принтера).
В меню Page Setup (Установка страницы) можно установить поля - Visio автоматически уменьшит рисунок до необходимых размеров. Поля задаются применительно к стандартной Portrait (Портретной) ориентации схемы.
Большой рисунок можно распечатать на нескольких листах заданного формата и ориентации. Это делает Visio полезным инструментом изготовления плакатов. Текст и графику плаката можно создать как в Visio, так и в других совместимых с Windows редакторах, перенести в Visio через буфер обмена и промасштабировать. Далее в меню Edit| Drawingpage| Properties(Правка| Рабочая страница | Свойства) после выбора способа описания размера (Metric - А0, А1... Custom - По заказу; Same as Printer - Как при печати u m. д.) в поле Page Size (Размер страницы) устанавливается требуемый размер с учетом размеров страниц, которые поддерживает принтер, и допусков на склейку. Общая площадь распечатки для исключения избыточных полей должна быть приблизительно подобна площади схемы.
Параметры печати настраиваются с помощью команды File \ Page Setup (Файл \ Установка страницы). Для принтера обычно задается "альбомная" ориентация. Затем с помощью полей Fit on___page across by___page down (Уложиться в___страниц поперек и___страниц вниз) нужно выбрать количество полос по горизонтали и по вертикали.
Некоторые проблемы возникают при уменьшении рисунка. В этом случае сформированные для надписей поля также будут уменьшены; шрифты же текстов автоматически не масштабируются. В результате надписи могут оказаться разбитыми на
222
строки, наползти на фигуры и т.п. В любом случае будет нарушена гармония шрифтов и графики.
При планируемом уменьшении требуется делать все надписи более мелким кеглем и уменьшать готовый рисунок через команды Edit| DrawPage | Size&Scale (Правка | Рабочая страница | Размер и масштаб). Выбирается режим Custom Scale (Заказной масштаб), масштабный множитель указывается в левом окошке Scale (Масштаб).
223
Процесс подготовки рабочей книги к печати включает следующие этапы:
Выбор драйвера для подключенного принтера.
Задание параметров страницы и разбиение документа на страницы.
Предварительный просмотр документа перед печатью.
Определение порядка и диапазона выводимых страниц, их нумерация.
Как правило, пользователь реализует по крайне мере три последних этапа. Это делается либо для переустановки ранее выбранных параметров печати, либо для проверки их результативности применительно к печатаемому документу.
Рассмотрим основные моменты, связанные с организацией печати рабочей книги Excel.
Выдать на печать можно один или несколько листов (все листы) рабочей книги. Можно отпечатать часть данных, содержащихся в рабочем листе. В любом случае выводимая на печать информация должна быть предварительно выделена: если печатается лист, то он должен быть активизирован; если печатается диапазон ячеек, то он должен быть выделен; если печатаются несколько листов, то все они также должны быть предварительно выделены. После этого необходимо задать команду Печать... (Print...) меню Файл (File). В появившемся диалоговом окне Печать (Print) выбирается имя принтера, а в поле Вывести на печать (Print What) - один из трех переключателей: Выделенный диапазон (Selection), Выделенные листы (Selected Sheet(s)) или Всю книгу (Entire Workbook). С помощью кнопки Выделенные листы (Selected Sheet(s)) задастся печать текущего листа. Если выделено несколько листов, то они будут выводится на печать по очереди. Если в пределах листа выделено несколько несмежных диапазонов ячеек и выбран переключатель Выделенный диапазон (Selection), то печать каждого диапазона ячеек будет начинаться с новой страницы. В поле Число копий (Number of copies) рассматриваемого диалогового окна можно указать какое количество экземпляров документа должно быть выведено на печать. Переключатель Бее (АН) задает печать всех страниц листа (страниц выделенных листов, страниц диапазонов ячеек), переключатель Страницы с...
по... (Pages from... to...) позволяет задать начальный и конечный номера страниц, когда печатается часть документа.
Разбиение листа на страницы осуществляется автоматически. При этом используются параметры, установленные на четырех вкладках (Страницы (Page), Поля (Margins), Колонтитулы (Header/Footer) и Лист (Sheet)) диалогового окна Параметры страницы (Page Setap). У пользователя имеется возможность задавать следующие параметры: ориентацию страницы (книжную или альбомную); размер бумаги; номер первой страницы, с которой будет продолжена автонумерация страниц; масштаб выводимого листа рабочей книги в процентах от исходной его величины; центрирование данных (горизонтальное или вертикальное) в пределах страницы; размеры полей и колонтитулы страницы; последовательность вывода страниц (сначала сверху вниз затем вправо или слева направо затем вниз); печатать или не печатать рабочую сетку ячеек, заголовки строк (1,2...) и столбцов (А, В, С...) и другие параметры. В Excel существуют горизонтальный и вертикальный маркеры разрыва страницы, которые отображаются на экране в виде горизонтальной и вертикальной линии соответственно. Эти линии можно сделать видимыми, задав параметр Авторазбиение на страницы (Automatic Page Breaks) на вкладке Вид (View) диалогового окна Параметры (Options) меню Сервис (Tools).
Наряду с автоматическим разбиением листа на страницы можно задать вставку маркера разрыва страницы вручную. Для этого нужно выполнить следующие операции:
148
переместить указатель на ячейку, перед которой должен быть вставлен разрыв страницы;
выполнить команду Разрыв страницы (Page Break) меню Вставка (Insert).
В результате Excel вставит соответствующий маркер разрыва страницы: вертикальный, горизонтальный или оба сразу. Определяющей является позиция указателя ячейки. Замечания:
если указатель расположен на ячейке внутри рабочего листа, то вставляются вертикальный и горизонтальный маркеры страницы, проходящие по левой и верхней границе активной ячейки;
если указатель расположен на ячейке первой строки рабочего листа, то будет вставлен только вертикальный маркер разрыва страницы по левой границе активной ячейки;
если указатель расположен на ячейке первого столбца, то будет вставлен только горизонтальный маркер по верхней границе активной ячейки;
если указатель расположен на ячейке А1, то команда Разрыв страницы (Page Break) недоступна;
для того, чтобы вставить только горизонтальный или вертикальный маркер разрыва страницы, перед выполнением команды необходимо выделить соответствующую строку или столбец;
удаление вставленного вручную маркера осуществляется по команде Убрать разрыв страницы (Remove Page Break). Эта команда доступна в случае, если указатель помещен на ячейке, у которой верхняя и левая граница являются частью горизонтального и вертикального маркера разрыва страницы, соответственно.
4. Содержимое определенных строк и/или столбцов таблицы можно распечатать как заголовки на каждой странице многостраничного документа. Для этого необходимо выполнить следующее:
в диалоговом окне Параметры страницы (Page Setup) выбрать вкладку Лист (Sheet) и разместить окно таким образом, чтобы были видны нужные диапазоны ячеек печатаемой таблицы;
поместить курсор ввода в поле Сквозные строки (Rows to Repeat at Top) этой вкладки;
выделить с помощью мыши смежные строки, содержимое которых будет печататься на каждой странице (в поле Сквозные строки (Rows to Repeat at Top) появится ссылка на эти строки);
поместить курсор ввода в поле Сквозные столбцы (Columns to Repeat at Left);
выделить с помощью мыши нужные смежные столбцы (в поле Сквозные столбцы (Columns to Repeat at Left) появится ссылка на эти столбцы);
нажать ОК.
149
148 :: 149 :: Содержание
При работе с документом пользователь в зависимости от выполняемых действий задает подходящий режим просмотра и редактирования. В режиме Обычный (Normal) достигается наибольшая скорость ввода и редактирования текста документа. Режим Разметка страницы (Page Layout) в сравнении с предыдущим режимом более точно отображает окончательный внешний вид страниц документа, кроме того, этот режим обязателен при работе с кадрами и выполнении некоторых других действий. Режим Структура (Outline) удобен для просмотра и управления структурой документа в целом. Режим Главный документ (Master Document) строго ориентирован на создание и работу с главным документом и вложенными документами.
Переключение между указанными режимами просмотра и редактирования документа выполняется с помощью одноименных команд меню Вид (View). Кроме того, для переключения в один из первых трех указанных режимов удобно использовать кнопки, размещенные в левом конце горизонтальной полосы прокрутки окна Word 7.0.
Настройка параметров режимов просмотра и редактирования документа выполняется с помощью управляющих флажков вкладки Вид (View) диалогового окна Параметры (Options). Вызов окна осуществляется по команде Параметры... (Options...) меню Сервис (Tools).
Пример 1. Установление режима просмотра и редактирования Обычный (Normal).
Рассмотрим задание отображения строки состояний, горизонтальной и вертикальной полос прокрутки, наименований стилей абзацев, пустых рамок рисунков использованием чернового шрифта.
Для перехода в нужный режим выполним команду Обычный (Normal) меню Вид (View).
Зададим команду Параметры (Options) меню Сервис (Tools).
На вкладке Вид (View) диалогового окна Параметры (Options) сделаем следующие настройки.
Установим флажки Строка состояния (Status Bar), Горизонтальная полоса прокрутки (Horizontal Scroll Bar) и Вертикальная полоса прокрутки (Vertical Scroll Bar).
В поле Ширина полосы стилей: (Style Area Width:) зададим подходящее значение в сантиметрах ширины полосы для отображения наименований стилей абзацев.
Перемещение по документу выполняется с помощью мыши, горизонтальной и вертикальной полос прокрутки и комбинаций клавиш. В режиме просмотра страниц на вертикальной полосе прокрутки добавляются кнопки , с помощью которых выполняется постраничная прокрутка документа в окне. Для отображения вертикальной и горизонтальной полосы прокрутки в окне документа следует предусмотреть установку соответствующих флажков на вкладке Вид (View) диалогового окна Параметры (Options), см. пример 1 из предыдущего раздела.
Для перехода к определенному месту документа (странице, строке, закладке, примечанию, сноске, таблице, графике и т. п ) используется команда Перейти...(Go to...) меню Правка (Edit). С помощью комбинации клавиш + выполняется переход к месту последних изменений в активном документе или к месту последних изменений в документе, выполненных перед его закрытием.
Для выполнения быстрого перемещения по документу можно временно перейти в режим Структура (Outline). Наибольшая скорость перемещения достигается при отжатой кнопке "Все" панели инструментов Структура (Outline). В этом случае в окне документа отображаются только заголовки различных уровней и перемещение по документу с помощью мыши, линеек прокрутки и клавиш управления курсором выполняется быстрее.
Пример. Переход к определенной странице документа.
Зададим команду Перейти... (Go To) меню Правка (Edit).
2. В поле Элемент документа: (Go to What:) диалогового окна Переход (Go To) (рис. 9.3) выберем строку Страница (Page).
В поле Введите номер страницы: (Enter Page Number:) укажем номер страницы.
Нажмем кнопку Перейти (Go To).
Для удобного выполнения неоднократного перехода к некоторому месту документа целесообразно выполнить вставку закладки. Для этого нужно поместить курсор в место вставки новой закладки, задать команду Закладка... (Bookmark...) меню Правка (Edit),
Рис. 9 3. Диалоговое окно Переход
121
в открывшемся диалоговом окне в поле Имя закладки: (Bookmark Name:) ввести имя закладки и нажать кнопку Добавить (Add). Переход к закладке выполняется аналогично рассмотренному в предыдущем примере способом.
122
121 :: 122 :: Содержание
Появление новых поколений ЭВМ обусловлено расширением сферы их применения, требующей более производительной, дешевой и надежной вычислительной техники. В настоящее время стремление к реализации новых потребительских свойств ЭВМ стимулирует работы по созданию машин пятого и последующего поколений. Вычислительные средства пятого поколения, кроме более высокой производительности п надежности при более низкой стоимости, обеспечиваемых новейшими электронными технологиями, должны удовлетворять качественно новым функциональным требованиям:
работать с базами знаний в различных предметных областях и организовывать на их основе системы искусственного интеллекта;
обеспечивать простоту применения ЭВМ путем реализации эффективных систем ввода-вывода информации голосом, диалоговой обработки информации с использованием естественных языков, устройств распознавания речи и изображения;
упрощать процесс создания программных средств путем автоматизации синтеза программ.
В настоящее время ведутся интенсивные работы как но созданию ЭВМ пятого поколения традиционной (неймановской) архитектуры, так и по созданию и апробации перспективных архитектур и схемотехнических решений. Па формальном п прикладном уровнях исследуются архитектуры на основе параллельных абстрактных вычислителей (матричные и клеточные процессоры, систолические структуры, однородные вычислительные структуры, нейронные сети и др.) Развитие вычислительной техники с высоким параллелизмом во многом определяется элементной базой, степенью развития параллельного программного обеспечения и методологией распараллеливания алгоритмов решаемых задач.
21
Проблема создания эффективных систем параллельного программирования, ориентированных на высокоуровневое распараллеливание алгоритмов вычислений и обработки данных, представляется достаточно сложной и предполагает дифференцированный подход с учетом сложности распараллеливания и необходимости синхронизации процессов во времени.
Наряду с развитием архитектурных и системотехнических решений ведутся работы по совершенствованию технологий производства интегральных схем и по созданию принципиально новых элементных баз, основанных на оптоэлектронных и оптических принципах.
Windows 98 поддерживает:
накопители DVD;
накопители CD-ROM формата ISO-9660 емкостью более 4 Гбайтов;
микропроцессоры ММХ;
платы PC Card новых разновидностей;
сеть ISDN;
высокоскоростные модемы (56 кбит/с);
накопители на дискетах емкостью 120 Мбайтов;
IDE-накопители емкостью до 137 Гбайтов;
инфракрасный порт в соответствии со стандартом IrDA (Infrared Data Association) 3.0;
шины USB и IEEE 1394.
Для поддержки накопителей DVD используется новая файловая система UDF (Universal Disk File SYStem). К новым разновидностям плат PC Card относятся 32-разрядные, многоцелевые и платы с питанием 3,3 В. Многоцелевые платы выполняют функции нескольких внешних устройств, например, сетевого адаптера и модема. Обеспечивается работа скоростных и инфракрасных последовательных портов.
Новая файловая система FAT32 позволяет работать с логическими дисками большого размера при меньшей длине кластера, что исключает разбиение жесткого диска на части и снижает потери дисковой памяти. Встроенная программа преобразует логические диски из формата FAT16 в формат FAT32.
Существенно расширен набор утилит и других программных средств, предназначенных для диагностики и обслуживания системы.
97
97 :: Содержание
Для поиска и открытия нужного документа или папки, если местонахождение их неизвестно, требуется выполнить следующее:
Нажать кнопку Пуск (Start).
В меню Поиск (Find) выбрать Файлы и папки (Files or Folders).
В открывшемся окне Поиск: Все файлы (Find: All Files) в поле Имя (Name) ввести имя файла или папки, которую следует найти.
Чтобы сузить область поиска, нужно раскрыть список Папка (Folder) или нажать кнопку Обзор (Browse) и выбрать область поиска.
Нажать кнопку Найти (Find Now).
Для облегчения поиска информации в Internet используются специальные серверы, обеспечивающие поиск информации среди различных информационных ресурсов. Для нахождения файлов по именам на FTP-серверах используются серверы Archie. Для поиска пунктов меню на серверах Gopher используется поисковая программа Veronica. Поиск документов по ключевым словам в сетевых базах данных индексированных документов поддерживается с помощью WAIS.
Поиск информации на всех WWW-серверах Internet представляет собой непростую задачу. Для ее решения используются следующие основные подходы:
Создание Web-индексов. Этот подход подразумевает автоматический сбор, просмотр и индексирование информации с помощью специальных поисковых программ. Наиболее популярными представителями таких программ являются AltaVista (http://altavista.digital.com), HotBot (http://www.hotbot.com), атакжеOpenText (http://www.opentext.com). Достоинством поисковых систем такого типа является наличие большой базы данных и очень высокая скорость обработки запросов. Недостатком - низкое качество обработки информации.
433
Создание Web-каталогов. Этот подход предполагает организацию предметно-ориентированной информационной системы с каталогами. Анализ и классификация поступающих данных выполняются квалифицированными специалистами. Популярными представителями поисковых систем такого типа являются Yahoo! (http://www.yahoo.com) и Magellan (http://www.magellan.com). Достоинством их является высокое качество сортировки информации, недостатком - высокая трудоемкость создания и обновления информации, а также возможная необъективность представления информации по темам, где имеется давление рекламодателей.
Гибридные системы поиска. В таких системах можно пользоваться и индексами и тематическими каталогами. Представителями гибридных систем поиска являются Lycos (http:// www.lycos.com), Excite (http://www.excite.com) и WebCrawler (http://www/webcrawler.com). Достоинства и недостатки гибридных систем поиска определяются степенью реализации и использования первого и второго принципов хранения и поиска информации.
Для получения информации об аппаратном составе компьютера и распределении основной памяти нужно выполнить команду Команды \ Информация о системе (Commands \ System Information). При этом на нескольких панелях отображается следующая информация: тип процессора; наличие сопроцессора; тип видеоадаптера; тип мыши; состав и емкость накопителей на жестких и мягких магнитных дисках; тип шины; число последовательных и параллельных портов; тип клавиатуры; версия операционной системы; емкость памяти DOS, расширенной памяти и дополнительной памяти; параметры CMOS.
Далее отображается информация о распределении памяти, отведенной под DOS: приводятся данные о распределении адресов, размеров и владельцах каждого блока памяти.
74
72 :: 73 :: 74 :: Содержание
Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения.
Алгоритм - это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату. Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п. Слово алгоритм происходит от algoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX века аль-Хорезми. Благодаря латинскому переводу трактата аль-Хорезми европейцы в XII веке познакомились с позиционной системой счисления, и в средневековой Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней.
Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой совокупности возможных исходных данных и направленный на получение определенных этими исходными данными результатов. Термин вычислительный процесс распространяется и на обработку других видов информации, например, символьной, графической или звуковой.
Если вычислительный процесс заканчивается получением результатов, то говорят, что соответствующий алгоритм применим к рассматриваемой совокупности исходных данных. В противном случае говорят, что алгоритм неприменим к совокупности исходных данных. Любой применимый алгоритм обладает следующими основными свойствами:
результативностью;
определенностью;
массовостью.
Результативность означает возможность получения результата после выполнения конечного количества операций. Определенность состоит в совпадении получаемых результатов независимо от пользователя и применяемых технических
36
средств. Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных.
Для задания алгоритма необходимо описать следующие его элементы:
набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;
С середины 60-х годов существенно изменился подход к созданию вычислительных машин. Вместо независимой разработки аппаратуры и некоторых средств математического обеспечения стала проектироваться система, состоящая из совокупности аппаратных (hardware и программных (software)средств. При этом на первый план выдвинулась концепция их взаимодействия. Так возникло принципиально новое понятие - архитектура ЭВМ.
Под архитектурой ЭВМ понимается совокупность общих принципов организации аппаратно-программных средств и их характеристик, определяющая функциональные возможности ЭВМ при решении соответствующих классов задач.
Архитектура ЭВМ охватывает широкий круг проблем, связанных с построением комплекса аппаратных и программных средств и учитывающих множество факторов. Среди этих факторов важнейшими являются: стоимость, сфера применения, функциональные возможности, удобство эксплуатации, а одним из главных компонентов архитектуры являются аппаратные средства. Основные компоненты архитектуры ЭВМ можно представить в виде схемы, показанной на рис. 1.2.
Рис. 1.2. Основные компоненты архитектуры ЭВМ
13
Архитектуру вычислительного средства следует отличать от его структуры. Структура вычислительного средства определяет его конкретный состав на некотором уровне детализации (устройства, блоки узлы и т.д.) и описывает связи внутри средства во всей их полноте. Архитектура же определяет правила взаимодействия составных частей вычислительного средства, описание которых выполняется в той мере, в какой это необходимо для формирования правил их взаимодействия. Она регламентирует не все связи, а наиболее важные, которые должны быть известны для более грамотного использования данного средства.
Так, пользователю ЭВМ безразлично, на каких элементах выполнены электронные схемы, схемно или программно реализуются команды и т.д. Важно другое: как те или иные структурные особенности ЭВМ связаны с возможностями, предоставляемыми пользователю, какие альтернативы реализованы при создании машины и по каким критериям принимались решения, как связаны между собой характеристики отдельных устройств, входящих в состав ЭВМ, и какое влияние они оказывают на общие характеристики машины. Иными словами, архитектура ЭВМ действительно отражает круг проблем, относящихся к общему проектированию и построению вычислительных машин и их программного обеспечения.
Количеством информации называют числовую характеристику сигнала, отражающую ту степень неопределенности (неполноту знаний), которая исчезает после получения сообщения в виде данного сигнала. Эту меру неопределенности в теории информации называют энтропией. Если в результате получения сообщения достигается полная ясность в каком-то вопросе, говорят, что была получена полная или исчерпывающая информация и необходимости в получении дополнительной информации нет. И, наоборот, если после получения сообщения неопределенность осталась прежней, значит, информации получено не было (нулевая информация).
Приведенные рассуждения показывают, что между понятиями информация, неопределенность и возможность выбора существует тесная связь. Так, любая неопределенность предполагает возможность выбора, а любая информация, уменьшая неопределенность, уменьшает и возможность выбора. При полной информации выбора нет. Частичная информация уменьшает число вариантов выбора, сокращая тем самым неопределенность.
9
Пример. Человек бросает монету и наблюдает, какой стороной она упадет. Обе стороны монеты равноправны, поэтому одинаково вероятно, что выпадет одна или другая сторона. Такой ситуации приписывается начальная неопределенность, характеризуемая двумя возможностями. После того, как монета упадет, достигается полная ясность и неопределенность исчезает (становится равной нулю).
Приведенный пример относится к группе событий, применительно к которым может быть поставлен вопрос типа "да-нeт". Количество информации, которое можно получить при ответе на вопрос типа "да-нет", называется битом (англ, bit - сокращенное от binary digit - двоичная единица). Бит -минимальная единица количества информации, ибо получить информацию меньшую, чем 1 бит, невозможно. При получении информации в 1 бит неопределенность уменьшается в 2 раза. Таким образом, каждое бросание монеты дает нам информацию в 1 бит.
В качестве других моделей получения такого же количества информации могут выступать электрическая лампочка, двухпознцноииый выключатель, магнитный сердечник, диод и т.п.
Включенное состояние этих объектов обычно обозначают цифрой 1, а выключенное - цифрой 0.
Рассмотрим систему из двух электрических лампочек, которые независимо друг от друга могут быть включены или выключены. Для такой системы возможны следующие состояния:
Лампа А | 0 | 0 | 1 | 1 |
Лампа В | 0 | 1 | 0 | 1 |
Для хранения чисел и выполнения различных операций над ними их представляют различными кодами: прямым, обратным и дополнительным. Как уже отмечалось выше, для представления чисел со знаками в памяти ЭВМ используют прямой код. Для обозначения прямого кода числа X. , используется запись вида [Х](q)]пр .
Правило представления q-ичного кода числа в прямом коде имеет вид:
[X(q)]пр= | { | 0 xn-1xn-2...x1x0x-1...x-m, если X ?0 |
1 xn-1xn-2...x1x0, x-1... x-m, если X< 0, |
где х i- значение цифры в i-м разряде исходного кода.
Здесь старший бит несет информацию о знаке числа. Если он принимает значение 0, то знак числа "+" ; если значение 1 - то знак числа "-". Например, для двоичного кода
х(2)=+11011001 | [Х(2)]ир= 0.11011001; |
х(2) = -01101001 | [X(2)]ир= 1.01101001. |
При представлении чисел в прямом коде реализация арифметических операций в ЭВМ должна предусматривать различные действия с модулями чисел в зависимости от их знаков. Так, сложение в прямом коде чисел с одинаковыми знаками выполняется достаточно просто. Числа складываются и сумме присваивается код знака слагаемых. Значительно более сложной является операция алгебраического сложения в прямом коде чисел с различными знаками. В этом случае приходится определять большее по модулю число, производить вычитание чисел и присваивать разности знак большего по модулю числа. Для упрощения выполнения операций алгебраического сложения в ЭВМ используются специальные коды, позволяющие свести эту операцию к операции арифметического сложения. В качестве специальных в ЭВМ применяются обратный и дополнительный коды. Они образуются из прямых кодов чисел, причем специальный код положительного числа равен его прямому коду.
Для обозначения обратного кода числа X(q) используется запись вида [X(q) ] обр .
Правило представления q-ичного кода числа в обратном коде имеет вид:
[X(q)]обр= | { | 0 xn-1xn-2...x1x0x-1...x-m, если X ?0 |
1 xn-1xn-2...x1x0, x-1... x-m, если X< 0, |
Здесь инверсия цифры хi, определяемая из соотношения:
Х(2)= + 11011001, | [х(2)]пр= 0.11011001, | [X(2)]обр=0.11011001. |
х(2)=-01011101, | [Х(2)]пр= 1.01011101, | [Х(2)]обр = 1.10100010. |
[X(q)]обр= | { | 0 xn-1xn-2...x1x0x-1...x-m, если X ?0 |
1 xn-1xn-2...x1x0, x-1... x-m+q-m, если X< 0, |
х(2)=+11011001, | [Х(2)]пр= 0.11011001, | [Х(2)]доп= 0.11011001. |
х(2) = -01011101, | [Х(2)] пр = 1.01011101, | [Х(2)] доп = 1.10100011. |
Программное обеспечение ЛВС как совокупности компьютеров можно условно разделить на системное и прикладное. Системное ПО, используемое в ЛВС, реализует две основные функции: управление ресурсами каждого отдельного компьютера (памятью, устройствами ввода-вывода, принтером, дисками и т.д.) и управление совместно
405
используемыми в сети ресурсами (сетевым принтером, сетевым сканером, разделяемыми дисками, сообщениями и т.д.). Прикладное ПО сети включает пакеты прикладных программ конечного пользователя.
Системные программные средства, управляющие процессами в ЛВС, объединенные общей архитектурой, коммуникационными протоколами и механизмами взаимодействия вычислительных процессов, называются сетевыми ОС.
Сетевая ОС может быть организована двумя способами: как совокупность обычной несетевой ОС (типа MS DOS, Unix, OS/2) и некоторого вспомогательного сетевого пакета либо как самостоятельная собственно сетевая ОС. Сетевые пакеты, а также самостоятельные сетевые ОС в дальнейшем будем называть сетевыми ОС в узком смысле или просто сетевыми ОС (СОС).
Структура и состав СОС, устанавливаемых на компьютеры ЛВС, зависят от типа управления в сети.
Так, в одноранговых сетях на рабочих станциях находятся функционально равноправные компоненты, такие, как например, Windows for Workgroups. Основной частью этих компонентов являются программы обеспечения связи, которые реализуют связные протоколы.
В сетях с централизованным управлением программы СОС, устанавливаемые на серверы и рабочие станции, существенно различаются. Для таких сетей часто говорят, что СОС состоит из двух основных компонентов: СОС сервера и СОС рабочей станции (клиента). Функции обеспечения связи между этими компонентами также как и в одноранговых сетях выполняют соответствующие программы обеспечения связи.
Основной задачей СОС сервера является управление общими сетевыми ресурсами ЛВС. Программы СОС рабочей станции, в основном, обеспечивают нормальное функционирование клиентских программ. Взаимодействие между программами, предоставляющими ресурсы сервера (серверные программы), и программами, выполняющимися на PC (клиентские программы), в современных ЛВС обычно строится по технологии "клиент-сервер", которая описывается далее. В ЛВС в роли сетевых ОС сервера и PC могут выступать программы, разработанные разными фирмами. Популярные системы, как правило, поддерживают режим совместного функционирования с другими известными продуктами.
Поскольку в настоящее время существует множество сетевых ОС для пользователей и администраторов ЛВС, представляет интерес проблема выбора.
Искусственный интеллект (ИИ) - это научная дисциплина, возникшая в 50-х годах на стыке кибернетики, лингвистики, психологии и программирования. С самого начала исследования в области ИИ пошли по двум направлениям.
Первое (бионическое) - попытки смоделировать с помощью искусственных систем психофизиологическую деятельность человеческого мозга с целью создания искусственного разума.
Второе (прагматическое) - создание программ, позволяющих с использованием ЭВМ воспроизводить не саму мыслительную деятельность, а являющиеся ее результатами процессы. Здесь достигнуты важные результаты, имеющие практическую ценность. В дальнейшем речь будет идти об этом направлении.
Разработка интеллектуальных программ существенно отличается от обычного программирования и ведется путем построения системы искусственного интеллекта (СИИ). Если обычная программа может быть представлена в парадигме:
Программа = Алгоритм + Данные,
то для СИИ характерна другая парадигма:
СИИ = Знания + Стратегия обработки знаний.
285
Основным отличительным признаком СИИ является работа со знаниями. Если для обычных программ представление данных алгоритма определяется на уровне описания языка программирования, то для СИИ представление знаний выливается в проблему, связанную со многими вопросами: что такое знания, какие знания хранить в системе в виде базы знаний (БЗ), в каком виде и сколько, как их использовать, пополнять и т.д.
В отличие от данных знания обладают следующими свойствами:
внутренней интерпретируемостью - вместе с информацией в БЗ представлены информационные структуры, позволяющие не только хранить знания, но и использовать их;
структурированностью - выполняется декомпозиция сложных объектов на более простые и установление связей между ними;
связанностью - отражаются закономерности относительно фактов, процессов, явлений и причинно-следственные отношения между ними;
активностью - знания предполагают целенаправленное использование информации, способность управлять информационными процессами по решению определенных задач.
Компьютерная графика представляет собой одну из современных технологий создания различных изображений с помощью аппаратных и программных средств компьютера, отображения их на экране монитора и затем сохранения в файле или печати на принтере. В разделе рассматриваются понятия о способах представления графических изображений, разрешающей способности устройств отображения, цветах и масштабировании изображений.
Существует два способа представлении графических изображений: растровый и векторный. Соответственно различаю! растровый и векторный форматы графических файлов, содержащих информацию графического изображения. Растровые форматы хорошо подходят для изображений со сложными гаммами цветов, оттенков и форм. Это такие изображения, как фотографии, рисунки, отсканированные данные. Векторные форматы хорошо применимы для чертежей и изображений с простыми формами, тенями и окраской.
Согласно М. Минскому, объект А является моделью объекта В, если наблюдатель с помощью А получает интересующие его сведения относительно В.
Модель концентрирует в себе записанную на определенном языке (естественном, математическом, алгоритмическом) совокупность наших знаний, представлений и гипотез о соответствующем объекте или явлении. Поскольку эти знания никогда не бывают абсолютными, а гипотезы могут вынужденно или намеренно не учитывать некоторые эффекты, модель лишь приближенно описывает поведение реальной системы.
Целями моделирования могут являться:
прогнозирование будущего состояния или поведения системы;
постановка экспериментов над моделью с последующей интерпретацией их результатов применительно к моделируемой системе;
обучение и тренаж специалистов.
Модели играют важную и все возрастающую роль в развитии общества. Любые научно-технические расчеты (на прочность, устойчивость, надежность, безопасность, точность и т.п.) в сущности являются специфическими видами моделирования.
Библиотека GRAPH содержит ряд процедур, которые на основе задаваемых параметров формируют различные геометрические фигуры.
388
Для построения прямоугольных фигур существуют несколько процедур. Процедура вычерчивания одномерного прямоугольника имеет следующий формат:
Rectangle (Х1, Y1, Х2, Y2: integer),
где Х1, Y1 - координаты левого верхнего угла, Х2, Y2 - координаты правого нижнего угла прямоугольника. Более удобные для восприятия закрашенные прямоугольники можно строить с использованием процедуры:
Ваг(х1, у1, х2, у2: integer),
которая рисует закрашенный столбец. Цвет закраски устанавливается с помощью SetFillStyle. Процедура
Bar3D(x1, у1, х2, у2: integer; Depth: word; Top: boolean)
вычерчивает трехмерный закрашенный прямоугольник. При этом используются тип н цвет закраски, установленные с помощью процедуры SetFillStyle. Параметр Depth представляет собой число пикселов, задающих глубину трехмерного контура. Чаще всего его значение принимают равным четверти ширины прямоугольника:
Depth:=(X2-X1)DIV4.
Параметр Тор определяет, нужно ли строить над прямоугольником вершину (Тор:=Тше) или нет (Top:=False).
В Turbo Pascal имеется процедура DrowPoly, которая позволяет строить любые многоугольники линией текущего цвета, стиля и толщины. Она имеет следующий формат:
DrawPoly(NumPoints:word; VAR PolyPoints).
Нетипизированный параметр PolyPoints содержит координаты каждого пересечения в многоугольнике, параметр NumPoints задает число координат в PolyPoints. Следует иметь в виду, что при вычерчивании замкнутой фигуры с N вершинами в вызове процедуры DrowPoly нужно передать N+1 координату, где координата вершины с номером N будет равна координате вершины с номером 1. Закраску многоугольника можно произвести, используя процедуру
FillPoly(NumPoints:word; VAR PolyPoints).
Алгоритмы построения кривых сложны для самостоятельной реализации, поэтому рационально использовать готовые процедуры модуля GRAPH. Для задания углов применяется полярная система координат.
Процедура вычерчивания окружности текущим цветом имеет следующий вид:
Circle(X,Y,Radius: word),
где Х, У - координаты центра окружности, a Radius - радиус. Для создания псевдообъемных фигур используются дуги. Их можно вычертить с помощью процедуры
Arc(X,Y:integer;StAngle,EndAngle,Radius:word),
где StAngle и EndAngle - начальный и конечный угол вырисовки. Цвет для вычерчивания устанавливается процедурой SetColor. Работа с различными типами кривых
389
требует информации о координатах последнего обращения к Arc. Ее можно получить, выполнив процедуру
GetArcCoords(VARArcCoords:ArcCoordsType),
где переменная ArcCoords принадлежит к стандартному типу
Туре
ArcCoordsType=Record
х, у: integer;
xStart.yStart: integer;
zEnd.yEnd: integer
End;
Процедура возвращает переменную, содержащую координаты центра X и У, начальную xStart, yStart и конечную xEnd, yEnd позиции указателя при выполнении последней команды Arc.
Для построения эллиптических дуг предназначена процедура
Ellipse(X, Y: integer; StAngle, EndAngle: word; xR, yR: word),
где X, Y - центр эллипса, xR и yR - горизонтальная и вертикальная оси. Дуга эллипса вычерчивается от начального угла StAngle до конечного угла EndAngle текущим цветом. Чтобы создать закрашенный эллипс, используется процедура
FillEllipse(X,Y:integer;xR,yR:word),
где X, Y - центр эллипса, xR и yR - горизонтальная и вертикальная оси. Заполнитель устанавливается процедурами SetFillStyle или SetFillStyle.
В программах часто требуется разделить окружность на сектора. Это можно сделать, используя процедуру
PieSlince(X,Y:integer; StAngle, EndAngle, Radius:word),
которая рисует и заполняет маской сектор круга. Контур сектора вычерчивается текущим цветом, а при закрашивании используется тип и цвет закраски, заданные процедурами SetFillStyle и SetFillPattern. Можно создать и заполнить сектор в эллипсе. Для этого используется процедура
Sector(X,Y:integer; StAngle, EndAngle,xR,yR:word),
где X,Y- центр; xR, yR - горизонтальный и вертикальный радиусы.
Вычерчивание производится текущим цветом и заполняется стилем, заданным процедурами SetFillStyle или SetFillPattern.
В следующем примере приведена программа, рисующая на желтом фоне синего снеговика.
Program SnowMan;
Uses Graph, Crt;
Var DriverVar, ModeVar: integer;
c: char;
390
Begin
DriverVar:=Detect;
InitGraph(DriverVar, Modevar,'');
SetBkColor( 14); SetColor( 1);
Circle(300,300,50);
Circle(300,215,35);
Circle(300,160,20);
Circle(300,180,5); Circle(290,140,5); Circle(310,140,5);
Line(335,215,370,200); Line(265,215,230,200);
c:=readkey;
SetBkColor(0);SetColor(GetMaxColor);
CloseGraph;
End.
391
388 :: 389 :: 390 :: 391 :: Содержание
Derive позволяет строить двумерные графики - в декартовой и полярной системе координат, а также заданные параметрически. График строится для выражения, выделенного в алгебраическом окне. При вызове Plot (График) происходит смена панели инструментов.
В одном графическом окне можно представить несколько кривых. Имеется большой набор опций для управления обрамлением, сеткой, надписями на осях, положением графика, линейным масштабом и т. п: Точки для построения графиков могут быть заданы матрицей значений. Возможности построения графиков в логарифмическом и полулогарифмическом масштабах отсутствуют. Удобно наличие графического курсора - отображаемого на экране с указанием координат крестика, который позволяет определять координаты характерных точек кривых (экстремумы, корни, точки пересечения с другими кривыми).
Есть возможность строить и трехмерные графики в различных системах координат; вращать получаемые тела; менять масштабы; убирать невидимые линии; получать (с помощью дополнительно устанавливаемой системы AcroSpin) эффект анимации.
Графики Derive можно копировать в буфер и переносить в другие Windows-приложения.
211
211 :: Содержание
Word 7.0 обеспечивает автоматизированное создание различных списков (нумерованных, маркированных и многоуровневых) Для создания маркированных и нумерованных списков с параметрами, используемыми по умолчанию, удобно пользоваться кнопками Нумерованный список (Numbering) и Маркированный список (Bullets) панели инструментов Форматирование (Formatting). Для более тонкой настройки
131
параметров списков служит диалрг, возникающий при задании команды Список... (Bullets and Numbering...) меню Формат (Format).
Для автоматического создания нумерованного списка нужно ввести число, точку (или круглую скобку) и пробел в начале абзаца, с которого должен автоматически строится список. После нажатия клавиши в конце абзаца произойдет автоматическое нажатие кнопки Нумерованный список (Numbering) панели инструментов Форматирование (Formatting) и выполнен переход к новому абзацу с автоматическим заданием очередного по номеру числа с точкой (круглой скобкой) и пробелом. Последнее будет происходить при каждом нажатии . Чтобы отменить автоматическую нумерацию абзацев после построения списка, достаточно отжать кнопку Нумерованный список (Numbering) или дважды нажать .
Автоматическое построение маркированного списка происходит аналогично, с той разницей, что в начале первого абзаца маркированного списка следует указать символ "-" (дефис) или "*" (звездочку) с пробелом. В случае дефиса в качестве маркеров будет задаваться квадратик, а в случае звездочки - кружок. Кроме того, задание и отмена маркированного списка возможны с использованием кнопки Маркированный список (Bullets) панели инструментов Форматирование (Formatting).
Для создания маркированного списка из последовательности абзацев нужно выделить нужную последовательность абзацев и нажать кнопку Маркированный список (Bullets) панели инструментов Форматирование (Formatting). В результате абзацы преобразуются в маркированный список. В качестве маркеров в нем будет использоваться символ, выбранный на вкладке Маркированный (Bulleted) диалогового окна Список (Bullets and Numbering) при последнем задании команды Список... (Bullets and Numbering..,) меню Формат (Format).
В рассмотренных примерах результат запроса представлялся в табличном виде на экране Между тем, результат запроса можно запомнить во вновь созданной таблице или файле, направить в отчет или на принтер Чтобы реализовать одну из перечисленных возможностей, достаточно выполнить команду Query | Query Destination (запрос | назначение запроса) и в появившемся диалоговом окне Query Destination (назначение запроса) (рис 22 8) нажать нужную кнопку (табл 22 2)
Рис 22 8 Диалоговое окно Query Destination
Результаты всех реализованных ранее запросов представлялись в окне Browse (просмотр) - по умолчанию, нажата кнопка Browse (просмотр) При выборе этого режима создается временная таблица, которая и выводится в окне Browse (просмотр) Таблица удаляется из памяти вместе с закрытием окна, поэтому данный режим используется тогда, когда результаты запроса необходимо только просмотреть
Рассмотрим оформление в виде отчета результатов многотабличного запроса 4, используя сохраненный ранее файл запроса Query4 qpr Для упрощения решения задачи создания отчета на основе многотабличного запроса выполним следующее
Таблица 22.2
Кнопки выбора варианта представления результата запроса
Кнопка | Назначение |
BROWSE | Просмотр результатов в окне Browse |
CURSOR | Временное хранение результата запроса для просмотра |
TABLE | Сохранение в виде таблицы |
GRAPH | Создание диаграммы с помощью MS Graph |
SCREEN | Вывод результатов выборки в активном окне |
REPORT | Представление в виде отчета |
LABEL | Представление в виде этикетки |
278
Представим результаты запроса в виде одной таблицы, используя опцию Table (таблица) окна Query Destination (назначение запроса).
Создадим отчет с помощью Мастера однотабличных отчетов.
279
278 :: 279 :: Содержание
Представление знаний - это соглашение о том, как описывать реальный мир. В естественных и технических науках принят следующий традиционный способ представления знаний. На естественном языке вводятся основные понятия и отношения между ними. При этом используются ранее определенные понятия и отношения, смысл которых уже известен. Далее устанавливается соответствие между характеристиками (чаще всего количественными) понятий знания и подходящей математической модели.
Основная цель представления знаний - строить математические модели реального мира и его частей, для которых соответствие между системой понятий проблемного знания может быть установлено на основе совпадения имен переменных модели и имен понятий без предварительных пояснений и установления дополнительных неформальных соответствий. Представление знаний обычно выполняется в рамках той или иной системы представления знаний.
Системой представления знаний (СПЗ) называют средства, позволяющие описывать знания о предметной области с помощью языка представления знаний, организовывать храпение знаний в системе (накопление, анализ, обобщение и организация структурированности знаний), вводить новые знания и объединять их с имеющимися, выводить новые знания из имеющихся, находить требуемые знания, устранять устаревшие знания, проверять непротиворечивость накопленных знаний, осуществлять интерфейс между пользователем и знаниями.
Центральное место в СПЗ занимает язык представления знаний (ЯПЗ). В свою очередь, выразительные возможности ЯПЗ определяются лежащей в основе ЯПЗ моделью представления знаний (иногда эти понятия отождествляют).
Модель представления знаний является формализмом, призванным отобразить статические и динамические свойства предметной области (ПО), т.е. отобразить объекты и отношения ПО, связи между ними, иерархию понятий ПО и изменение отношений между объектами.
Модель представления знаний может быть универсальной (применимой для большинства ПО) или специализированной (разработанной для конкретной ПО). В СИИ используются следующие основные универсальные модели представления знаний:
семантические сети;
фреймы;
продукционные системы;
логические модели и другие.
Во всех разработанных системах с базами знаний кроме этих моделей, взятых за основу, использовались специальные дополнительные средства. Тем не менее, классификация моделей представления знаний остается неизменной.
ЭВМ работают с двоичными кодами, пользователю удобнее иметь дело с десятичными или шестнадцатеричными. Поэтому возникает необходимость перевода числа из одной системы счисления в другую.
Преобразование числа X из системы счисления с основанием q в систему счисления с основанием р (преобразование X(q) >Х(р)) осуществляется по правилу замещения или по правилу деления-умножения на основание системы счисления.
Правило замещения реализуется на основании формулы (1.1) и предусматривает выполнение арифметических операций с кодами чисел в новой системе счисления. Поэтому оно чаще всего используется для преобразования чисел из недесятичной системы счисления в десятичную.
Пример. Выполнить преобразование Х(2) >Х(10), если Х(2) = 10101, 011
Х(10)= 1·24 + 0·23 + l·22+0·21 +l·20+0·2-1+l·2-2+l·2-3= 21, 375.
Правило деления-умножения предусматривает выполнение арифметических операций с кодами чисел в исходной системе счисления с основанием q, поэтому его удобно применять для преобразования десятичных чисел в любые другие позиционные системы счисления. Правила преобразования целых чисел и правильных дробей различны. Для преобразования целых чисел используется правило деления, а для преобразования правильных дробей - правило умножения. Для преобразования смешанных чисел используются оба правила соответственно для целой и дробной частей числа.
25
Правило деления используется для преобразования целого числа, записанного в g-ичной системе счисления, в р-ичную. В этом случае необходимо последовательно делить исходное g-ичное число и получаемые частные на новое основание р, представленное в g-ичной системе счисления. Деление продолжают до тех пор, пока очередное частное не станет меньше р. После замены полученных остатков и последнего частного цифрами р-ичной системы счисления записывается код числа в новой системе счисления. При этом старшей цифрой является последнее частное, а следующие за ней цифры соответствуют остаткам, записанным в последовательности, обратной их получению.
Вывод изображения и операции с ним требуют от программиста и пользователя определенной геометрической грамотности. Геометрические соображения, подходы и идеи в coчетании с постоянно расширяющимися возможностями вычислительной техники способствуют эффективному использованию компьютерной графики для в различных областях деятельности.
368
Изображение объектов связано в первую очередь с геометрическими операциями преобразования на плоскости и в пространстве и проекции.
Преобразования с использованием однородных координат
В компьютерной графике изображение на плоскости принято обозначать символом 2D (2-dimension). На плоскости в прямоугольной декартовой системе координат каждая точка М задается парой координат (х, у).
В преобразованиях на плоскости можно выделить несколько частных случаев, или видов преобразования точки М с координатами (х, у) в точку М* с координатами (х*, y*):
А. Поворот вокруг некоторой начальной точки на угол (р (рис. 26.5). Описывается формулами:
Рис. 26.5. Поворот на угол ?
В. Растяжение (сжатие) вдоль координатных осей (рис. 26.6). Задается формулами:
х* = ах,
y* = dy,
где а и d - коэффициенты сжатия соответственно по осям X и Y.
Рис. 26.6. Растяжение вдоль координатных осей
369
С. Отражение относительно координатной оси. На рис. 26.7 показано отражение относительно оси абсцисс, описываемое формулами:
х* =х,
y*=-y
Рис. 26.7. Отражение относительно оси X
D. Перенос на вектор ММ* с координатами (I, т) (рис. 26.8). Описывается соотношениями:
х*=х + I,
у* =у + m.
Рис. 26.8. Перенос на вектор (I, т)
Каждое из приведенных преобразований имеет наглядный геометрический смысл. Кроме того, любое преобразование на плоскости может быть представлено как комбинация некоторого числа указанных преобразований А, В, С, D.
Эти классические геометрические преобразования удобно описывать с помощью матриц. При этом каждое из основных преобразований представляется отдельной матрицей. Для компьютерной графики во многих случаях это приводит к увеличению объема вычислений и возникает необходимость в использовании математического аппарата, обеспечивающего более компактное описание геометрических преобразований.
Наибольшее распространение получил метод однородных координат.
Основа этого метода состоит в том, что каждая точка в Л/-мерном пространстве может рассматриваться как проекция точки из (N+1)- мерного пространства. Так, точка в двухмерном пространстве представляется тремя составляющими х, у, w, где поможет принимать любое значение. Обычно используют w= 1, что соответствует нормализованным координатам (х, у, 1). Таким образом, при решении задач компьютерной графики одно-
370
родные координаты вводятся так, что произвольной точке М (х, у) ставится в соответствие точка М*(х, у, 1) (рис. 26.9).
Рис. 26.9. Однородные координаты точки М
Свойства однородных координат позволяют выражать с помощью одной матрицы все преобразования - повороты, растяжения, отражения и сдвиги, а так же любые их комбинации - в виде произведения матриц.
Для двухмерного случая компьютерной графики однородные координаты исходной точки М и преобразованной точки М* связаны между собой следующим соотношением:
[х* у* 1] = [x y 1]
a11 | a12 | a13 |
a21 | a22 | a23 |
a31 | a32 | a33 |
cos? | sin ? | 0 |
-sin ? | cos? | 0 |
0 | 0 | 1 |
? | 0 | 0 |
0 | ? | 0 |
0 | 0 | 1 |
1 | 0 | 0 |
0 | -1 | 0 |
0 | 0 | 1 |
1 | 0 | 0 |
0 | -1 | 0 |
? | ? | 1 |
a11 | a12 | a13 | a14 |
a21 | a22 | a23 | a24 |
a31 | a32 | a33 | a34 |
a41 | a42 | a43 | a44 |
1 | 0 | 0 | 0 |
0 | cos ? | sin ? | 0 |
0 | 0 | 0 | 1 |
cos ? | 0 | -sin ? | 0 |
0 | 1 | 0 | 0 |
sin ? | 0 | cos ? | 0 |
0 | 0 | 0 | 1 |
cos ? | sin ? | 0 | 0 |
-sin ? | -cos ? | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 |
? | ? | v | 1 |
p | 0 | 0 | 0 |
0 | q | 0 | 0 |
0 | 0 | r | 0 |
0 | 0 | 0 | 1 |
Файл int_apps.mth содержит многочисленные подпрограммы прикладных задач интегрирования типа расчета длины дуги, площадей, объемов, моментов инерции тел вращения и т.п. Здесь же имеются подпрограммы преобразований Фурье и Лапласа.
В качестве примера сложного упорядочения данных рассмотрим создание следующего запроса.
Запрос 5. Организовать выборку сведений о преподавателях со стажем работы от 5 до 10 лет. Сведения упорядочить по виду занятия и фамилии преподавателя.
Выборка информации должна осуществляться из всех четырех таблиц.
Нам необходимо организовать сложный запрос, позволяющий упорядочить выбранные сведения сначала по видам занятий, а затем по фамилии преподавателя. Для этого во вкладке Order By (упорядочение) в список Ordering Criteria (критерий упорядочения) необходимо занести сначала поле VidZan, а затем FIO. Для задания выборки по заданному диапазону преподавательского стажа укажем на вкладке Filter (фильтр) его нижнюю (5 лет) и верхнюю (10 лет) границы.
Подготовим запрос следующим образом.
Создадим новый запрос с помощью команды File New (файл \ создать).
2. Добавим в окно Конструктора запроса все таблицы БД.
На вкладке Fields (поля) занесем в список Selected fields (выбранные поля) выбираемые поля: T_Prep.Fio, T_Prep.Stag, T_Zagr. VidZan, T_Zagr.Gruppa.
На вкладке Filter (фильтр) зададим условия отбора записей. Для этого в списке Field Name (имя поля) укажем поле по которому будет осуществляться выборка - T_Prep.Stag. В списке Criteria (критерий) выберем оператор сравнения Between (между), задающий условия выборки. В поле столбца Example (пример) введем через запятую начальную и конечную границы выборки 5, 10.
Зададим условия упорядочения записей. Для этого выберем вкладку Order By (упорядочение) и в список Ordering Criteria (критерий упорядочения) внесем последовательно поля T_Zagr.VidZan и T_Prep.Fio (рис. 22.7).
Рис. 22.7. Выборка со сложным упорядочиванием данных Для выполнения запроса нажмем кнопку Run (выполнить).
277
277 :: Содержание
Модем как устройство связи между компьютером и телефонной линией предназначен для автоматического преобразования цифровых электрических сигналов в аналоговые и обратно. Это связано с тем, что компьютер работает только с цифровыми сигналами, а телефонные линии - только с аналоговыми.
Процесс преобразования цифрового сигнала в аналоговый называется в технике модуляцией, а процесс обратного преобразования - демодуляцией.
Аналоговый сигнал обычно характеризуется тремя параметрами: амплитудой, частотой и фазой. Современные модемы используют в своей работе все три характеристики аналогового сигнала. Модем принимает от компьютера три бита информации, а затем посылает в линию
419
аналоговый сигнал, амплитуда которого определяется первым принятым битом, частота - вторым и фаза - третьим. Модем-приемник, получив такую информацию, расшифровывает аналоговый сигнал и преобразует его в три переданных бита. Исходным аналоговым сигналом является сигнал несущей частоты, используемой в телефонных линиях связи, который и подвергается преобразованиям модемом-передатчиком. Наличие сигнала несущей частоты в телефонной линии является признаком того, что связь между модемами установлена.
Пропускная способность модема. Эта характеристика определяется двумя составляющими: скоростью передачи информации и объемом цифровой информации в одном аналоговом сигнале. Скорость передачи информации измеряется в бодах и определяется способностью модема переключаться с одного аналогового сигнала на другой. Так, если модем за секунду изменяет характеристики аналогового сигнала 2400 раз, то он имеет скорость передачи данных 2400 бод.
Объем цифровой информации в одном аналоговом сигнале определяется количеством битов, упакованных в этом сигнале.
Пропускная способность модема, являющаяся основной его характеристикой, определяется как произведение рассмотренных составляющих и измеряется в bps (бит/сек). Если модем имеет скорость 2400 бод, а аналоговый сигнал несет информацию о 4 битах, то пропускная способность модема составит 9600 bps.
Существует два основных принципа управления в локальных сетях: централизация и децентрализация.
В сетях с централизованным управлением функции управления обменом данными возложены на файл-серверы. Файлы, хранящиеся на сервере, доступны PC сети. Одна PC к файлам другой PC доступа не имеет. Правда, обмен файлами между PC может происходить и в обход основных путей, например, с помощью программы NetLink. После запуска этой программы на двух компьютерах можно передавать файлы между ними так же, как выполняется копирование с помощью программы Norton Commander.
Существует множество сетевых ОС, реализующих централизованное управление. Среди них Microsoft Windows NT Server, Novell NetWare (версии З.Х и 4.Х), Microsoft Lan Manager, OS/2 Warp Server Advanced, VINES 6.0 и другие.
Преимуществом централизованных сетей является высокая защищенность сетевых ресурсов от несанкционированного доступа, удобство администрирования сети, возможность создания сетей с большим числом узлов. Основной недостаток состоит в уязвимости системы при нарушении работоспособности файл-сервера (это преодолевается при наличии нескольких серверов или принятия некоторых других мер), а также в предъявлении довольно высоких требований к ресурсам серверов.
402
Децентрализованные (одноранговые) сети не содержат в своем составе выделенных серверов. Функции управления сетью в них поочередно передаются от одной PC к другой. Ресурсы одной PC (диски, принтеры и другие устройства) оказываются доступными другим PC.
Наиболее распространенными программными продуктами, позволяющими строить одноранговые сети, являются следующие программы и пакеты: Novell NetWare Lite, Windows for Workgroups, Artisoft LANtastic, LANsmart, Invisible Software NET-30 и другие. Все они могут работать под управлением DOS. Для одноранговой сети могут быть быть использованы также ОС Windows 95 и Windows NT.
Развертывание одноранговой сети для небольшого числа PC часто позволяет построить более эффективную и живучую распределенную вычислительную среду. Сетевое программное обеспечение в них является более простым по сравнению с централизованными сетями. Здесь не требуется установка файл-сервера (как компьютера, так и соответствующих программ), что существенно удешевляет систему. Однако такие сети слабее с точки зрения защиты информации и администрирования.
Переменной можно присвоить значение оператором присваивания :=. Значением может быть как число, так и выражение, а также ссылка #п на запись алгебраического листа.
При всех упрощениях включающего переменную выражения вместо ее имени будет подставляться значение, так что забытое автором присваивание может сделать ему неожиданный "подарок". Поэтому рекомендуется использовать многосимвольные имена и своевременно отменять присваивания. Присваивание аннулируется его повторной записью с пустой правой частью. Вся совокупность присваиваний и определения областей сбрасываются командой Edit\ Remove (Правка \ Удалить).
Проектирование информационных систем, включающих в себя базы данных, осуществляется на физическом и логическом уровнях. Решение проблем проектирования на физическом уровне во многом зависит от используемой СУБД, оно зачастую автоматизировано и скрыто от пользователя. В ряде случаев пользователю предоставляется возможность настройки отдельных параметров системы, что не составляет большой проблемы.
Логическое проектирование заключается в определении числа и структуры таблиц,
234
формировании запросов к БД, определении типов отчетных документов, разработке алгоритмов обработки информации, создании форм для ввода и редактирования данных в базе и решении ряда аналогичных задач.
Решение задач логического проектирования БД в основном определяется спецификой задач предметной области. Наиболее важной здесь является проблема структуризации данных, на ней мы сосредоточим основное внимание.
При проектировании структур данных для автоматизированных систем можно выделить три основных подхода.
Сбор информации об объектах решаемой задачи в рамках одной таблицы (одного отношения) и последующая декомпозиция ее на несколько взаимосвязанных таблиц на основе процедуры нормализации отношений.
Формулирование знаний о системе (определение типов исходных данных и их взаимосвязей) и требований к обработке данных, получение с помощью СЛЗЕ-системы (системы автоматизации проектирования и разработки баз данных) готовой схемы БД или даже готовой прикладной информационной системы.
Структурирование информации для использования в информационной системе в процессе проведения системного анализа на основе совокупности правил и рекомендаций.
Ниже мы рассмотрим первый из названных подходов, являющийся классическим и исторически первым. Прежде всего охарактеризуем основные проблемы, имеющие место при определении структур данных в отношениях реляционной модели.
Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система иод названием "машина Тьюринга".
Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Концепция памяти как хранилища значении, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании.
Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней.
Процедурные языки характеризуются следующими особенностями:
необходимостью явного управления памятью, в частности, описанием переменных;
малой пригодностью для символьных вычислений;
отсутствием строгой математической основы;
высокой эффективностью реализации на традиционных ЭВМ.
Одним из важнейших классификационных признаков процедурного языка является его уровень. Уровень языка программирования определяется семантической (смысловой) емкостью его конструкций и степенью его ориентации на программиста. Язык программирования частично ликвидирует разрыв между методами решения различного рода задач человеком и вычислительной машиной. Чем более язык ориентирован на человека, тем выше его уровень. Дадим краткую характеристику реализованным на ПЭВМ языкам программирования в порядке возрастания их уровня.
Двоичный язык является непосредственно машинным языком. В настоящее время такие языки программистами практически не применяются.
Язык Ассемблера - это язык, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке.
Он позволяет
47
программисту пользоваться мнемоническими кодами операций, присваивать удобные имена ячейкам и областям памяти, а также задавать наиболее удобные схемы адресации.
Язык Макроассемблера является расширением языка Ассемблера путем включения в него макросредств. С их помощью в программе можно описывать последовательности инструкций с параметрами - макроопределения. После этого программист может использовать снабженные аргументами макрокоманды, которые в процессе ассемблирования программы автоматически замещаются макрорасширениями. Макрорасширение представляет собой макроопределение с подставленными вместо параметров аргументами.
Другими словами, язык Макроассемблера представляет средства определения и использования новых, более мощных команд как последовательности базовых инструкций, что несколько повышает его уровень.
Языки Ассемблера и Макроассемблера применяются системными программистами-профессионалами с целью использования всех возможностей оборудования ЭВМ и получения эффективной по времени выполнения и по требуемому объему памяти программы. На этих языках обычно разрабатываются относительно небольшие программы, входящие в состав системного программного обеспечения: драйверы, утилиты и другие.
Язык программирования С (Си) первоначально был разработан для реализации операционной системы UNIX в начале 70-х годов. В последующем приобрел высокую популярность среди системных и прикладных программистов. В настоящее время этот язык реализован на большинстве ЭВМ.
В С сочетаются достоинства современных высокоуровневых языков в части управляющих конструкций и структур данных с возможностями доступа к аппаратным средствам ЭВМ на уровне, который обычно ассоциируется с языком низкого уровня типа языка Ассемблера. Язык С имеет синтаксис, обеспечивающий краткость программы, а компиляторы способны генерировать эффективный объектный код.
Одна из наиболее существенных особенностей С состоит в нивелировании различий между выражениями и операторами, что приближает его к функциональным языкам.
В частности, выражение может обладать побочным эффектом присваивания, а также может использоваться в качестве оператора. также четкой границы между процедурами п функциями, более того, понятие процедуры не вводится вообще.
Синтаксис языка затрудняет программирование и восприятие составленных программ. Отсутствует и строгая типизация данных, что предоставляет дополнительные возможности программисту, но не способствует написанию надежных программ.
Ваsiс(Бэйсик) (Beginners All-purpose Symbolic Instruction Code) - многоцелевой язык символических инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками. Он был разработан как простейший язык для непосредственного общения человека с вычислительной машиной. Поэтому первоначально работа велась в интерактивном режиме с использованием интерпретаторов. В настоящее время для этого языка имеются также и компиляторы.
Согласно концепциям, заложенным в Basic, этот язык в смысле строгости и стройности является антиподом языка Pascal. В частности, в нем широко распространены различные правила умолчания, что считается плохим тоном в большинстве языков программирования подобного типа.
48
Basic широко распространен на ЭВМ различных типов и очень популярен в среде программистов, особенно начинающих. Существует множество диалектов этого языка, мало совместимых между собой. Basic активно поглощает многие концепции и новинки из других языков. Поэтому он достаточно динамичен, и нельзя однозначно определить его уровень.
Pascal (Паскаль) является одним из наиболее популярных среди прикладных программистов процедурным языком программирования, особенно для ПЭВМ. Разработанный в 1970 году швейцарским специалистом в области вычислительной техники профессором Н. Виртом, язык назван в честь французского математика и но замыслу автора предназначался для обучения программированию. Однако язык получился настолько удачным, что стал одним из основных инструментов прикладных и системных программистов при решении задач вычислительного и информационно-логического характера.
В 1979 году был подготовлен проект описания языка - Британский стандарт языка программирования Pascal BS6192, который стал также и международным стандартом ISO 7185.
В языке Pascal реализован ряд концепции, рассматриваемых как основа "дисциплинированного" программирования и заимствованных впоследствии разработчиками многих языков. Одним из существенных признаков языка Pascal является последовательная и достаточно полная реализация концепции структурного программирования. Причем это осуществляется не только путем упорядочивания связен между фрагментами программы но управлению, но и за счет структуризации данных. Кроме того, в языке реализована концепция определения новых типов данных на основе уже имеющихся. Этот язык, в отличие от языка С, является строго типизированным. Pascal характеризуется:
высоким уровнем;
широкими возможностями;
стройностью, простотой и краткостью;
строгостью, способствующей написанию эффективных и падежных программ;
высокой эффективностью реализации па ЭВМ.
Pascal реализован на ЭВМ различных типов, но наиболее распространен и развит для ПЭВМ. В настоящее время широко используются такие версии этого языка для ПЭВМ, как Borland Pascal и Turbo Pascal.
Продукционные системы - это системы представления знаний, основанные на правилах типа
"УСЛОВИЕ-ДЕЙСТВИЕ".
Записываются эти правила обычно в виде
ЕСЛИ А1,A2...An ТО В.
Такая запись означает, что "если выполняются все условия от А1 до Аn (являются истинными), тогда следует выполнить действие В". Часть правила после ЕСЛИ называется посылкой, а часть правила после ТО - выводом, или действием, или заключением.
Условия А1,А2...Аn обычно называют фактами. С помощью фактов описывается текущее состояние предметной области. Факты могут быть истинными, ложными либо, в общем случае, правдоподобными, когда истинность факта допускается с некоторой степенью уверенности.
Действие В трактуется как добавление нового факта в описание текущего состояния предметной области.
В упрощенном варианте описание ПО с помощью правил (продукций) базируется на следующих основных предположениях об устройстве предметной области. ПО может быть описана в виде множества фактов и множества правил.
Факты - это истинные высказывания (в естественном языке - это повествовательные предложения) об объектах или явлениях предметной области.
Правила описывают причинно-следственные связи между фактами (в общем случае и между правилами тоже) - как истинность одних фактов влияет на истинность других. Такое представление предметной области является во многих случаях достаточным, а вот соответствует ли оно действительному положению вещей, зависит от точки зрения наблюдателя.
Описание ПО нетрудно ввести в ЭВМ - для этого достаточно снабдить его соответствующими средствами для хранения множества фактов, например, в виде базы фактов, для хранения правил, например, в базе правил, и построить интерпретатор базы правил, который по описанию текущего состояния ПО в виде предъявленных ему фактов осуществляет поиск выводимых из фактов заключений.
295
На этой идее и построены системы продукций. Типичная структура системы, основанной па правилах, приведена на рис. 23.2.
Рис. 23.2.
Структура продукционной системы
В продукционных системах используются два основных способа реализации механизма вывода:
1) прямой вывод, или вывод от данных;
2) обратный вывод, или вывод от цели.
В первом случае идут от известных данных (фактов) и на каждом шаге вывода к этим фактам применяют все возможные правила, которые порождают новые факты, и так до тех пор, пока не будет порожден факт-цель.
Для применения правила используется процесс сопоставления известных фактов с правилами и, если факты согласуются с посылками в правиле, то правило применяется.
Во втором случае вывод идет в обратном направлении - от поставленной цели. Если цель согласуется с заключением правила, то посылку правила принимают за подцель или гипотезу, и этот процесс повторяется до тех пор, пока не будет получено совпадение подцели с известными фактами.
Рабочая память представляет собой информационную структуру для хранения текущего состояния предметной области. Обмен информацией в продукционной системе осуществляется через рабочую память. К примеру, из одного правила нельзя переслать какие-либо данные непосредственно в другое правило, минуя рабочую память. Состояние рабочей памяти целиком определяет подмножество применимых на каждом шаге вывода правил.
Например, возможная формулировка правил продукций в экспертной системе диагностики автомобиля имеет следующий вид:
Если(горит_лампа_датчика_давления_масла
и уровень_масла_норма
и обороты_двигателя_норма
и масляный фильтр_не_засорен)
То (проверить масляный насос)
Приведенное правило позволяет принять решение по ремонту системы смазки автомобиля.
296
Достоинством применения правил продукций является их модульность. Это позволяет легко добавлять и удалять знания в базе знаний. Можно изменять любую из продукций, не затрагивая содержимого других продукций.
Недостатки продукционных систем проявляются при большом числе правил и связаны с возникновением непредсказуемых побочных эффектов при изменении старых и добавлении новых правил.Кроме того, отмечают также низкую эффективность обработки систем продукций и отсутствие гибкости в логическом выводе.
Все виды проекций, используемые в компьютерной графике, представляют собой комбинации двух главных типов проекций: параллельной и центральной (перспективной).
Параллельная проекция. При параллельной проекции точки предмета проецируются на поверхность пучком лучей, параллельных заданному направлению. Координаты изображения определяются путем совместного решения уравнения прямой, проходящей через точку А изображения параллельно единичному вектору, и уравнения поверхности проекции:
{ | (XA-X'A)/ VX=(YA-Y'A)/VY=(ZA-Z'A)/VZ | (3.1) | |
F(XA', Y'A, Z'A)=0 |
где ХА, YA, ZA - координаты точки предмета;
Х'А, Y'A, Z'A - координаты точки изображения;
373
VX, VY, , Vz - координаты единичного вектора;
F(XA, YA, ZA) - уравнение поверхности проекции.
Если проецирование осуществляется на плоскость и проецирующие лучи перпендикулярны к ней, то проекция называется ортогональной или перпендикулярной. Этот вид проекции широко используется в техническом черчении. Если оси X и У лежат в плоскости проекции, a Z перпендикулярна ей, то при представлении предмета в координатном базисе плоскости проекции координаты точек изображения можно определить по координатам точек предмета с помощью соотношения:
[XA' Y'A Z'A]=[XAYAZA] | (3.2) |
где Z=const - координата плоскости проекции по оси Z.
Как следует из (3.2), для получения ортогональной проекции достаточно определить координаты ХА и YA. Однако этим не ограничивается процедура построения трехмерной модели на экранедисплея. Предмет обычно задается в своей объектной системе координат XYZ, оси которой в исходном состоянии параллельны экранной системе дисплея xyz. Изображение предмета отображается на экране с некоторым масштабным коэффициентом т, а начало объектной системы координат располагается в точке Х0, У0, Z0 экрана. Для этого более общего случая можно записать:
+m
| (3.3) |
Выбором значения т можно осуществлять масштабирование изображения объекта.
Чтобы получить трехмерное изображение, предмет вместе со связанной системой координат разворачивается таким образом, что проекции координатных осей получают определенную ориентацию друг относительно друга, а отрезки, взятые по координатным осям, отображаются на проекции с определенным соотношением масштабных коэффициентов.
Для воспроизведения предмета на экране в заданной проекции необходимо определить матрицу преобразования координат. Основой для этого являются принципы построения изображения в данной проекции. В изометрической проекции координатные оси X, Y, Z предмета отображаются на плоскости экрана дисплея под углом 120 градусов, а масштабные коэффициенты по всем трем осям одинаковы. С учетом этих свойств изометрической проекции можно записать
|
(3.4) |
|
(3.5) |
{ |
(XA-XA1)/(XA-XS)=(YA-YA1)/(YA-YS)=(YA-YA1)/(YA-YS); ?(XA, YA, ZA.)=0 |
(3.6) |
|
(3.8) |
|
(3.9) |
{ |
(X-XS)=(Z-ZS)(c11x+c12y+c13f)/(c31x+c32y+c33f), (Y-YS)=(Z-ZS)(c21x+c22y+c23f)/(c31x+c32y+c33f), |
(3.10) |
Проектирование БД является одним из этапов жизненного цикла информационной системы. Основной задачей, решаемой в процессе проектирования БД, является задача нормализации ее отношений. Рассматриваемый ниже метод нормальных форм является классическим методом проектирования реляционных БД. Этот метод основан на фундаментальном в теории реляционных баз данных понятии зависимости между атрибутами отношений.
В зависимости от используемых средств построения изображения можно выделить четыре случая графических программ:
программы базируются только на стандартных процедурах и функциях, содержащихся в библиотеке GRAPH;
графические изображения создаются средствами BIOS. Такие программы используют функции прерывания 10h;
прямое обращение к портам видеоадаптера или ячейкам видеопамяти (это самый быстрый способ);
Pascal-код дополняется вставками на языке Ассемблера или непосредственно в машинном коде, которые выполняют различные графические действия.
Далее речь пойдет о создании графических программ, в основе которых лежит использование подпрограмм библиотеки GRAPH. Для облегчения процесса программирования графики помимо данной библиотеки фирма Borland Int. разработала также набор драйверов, позволяющих работать практически со всеми типами мониторов, и набор шрифтов для вывода символов различных форм и размеров.
Программа в Derive - это .mth-файл с определениями функций и назначениями переменных. Для ее использования файл загружается в алгебраическое окно командой File\Load\Utility(Файл|Загрузить|Утилита), после чего содержащиеся в нем функции становятся доступными аналогично встроенным.
Обсуждавшиеся выше правила набора выражений и вызова системных функций используются и при формировании .mth-файлов. Таким образом, нам осталось обсудить лишь управляющие конструкции - разветвления и циклы.
210
Разветвления записываются конструкцией
IF (, [,[,]]),
где через t, f, и обозначены действия, планируемые при истинности, ложности и неопределенности условия. В квадратные скобки заключены необязательные конструкции.
Для записи условий применяются операции отношения (>, >=,
Простые циклы в Derive заменяются функциями SUM и PROD. Цикл с пересчетом видах = и(х) реализуется специальной функцией ITERATES(u,x,xO[,n]), где необязательный параметр п - число итераций. Если п < О, то итерируется обратная функция. Выдаются результаты всех итераций, а при вызове ITERATE - только последнее значение. При наборе ITERATES(COS^X^,x,0.75) и обработке ее командой Simplify\Approximate были получены последовательные приближения 0.75, 0.731688, 0.744047, 0.735733, 0.741338, 0.737565, 0.740108, 0.738395.
211
210 :: 211 :: Содержание
Назначением ЭВМ является выполнение программ. Программа содержит команды, определяющие порядок действий компьютера. Совокупность программ для компьютера образует программное обеспечение (ПО). По функциональному признаку различают следующие виды ПО:
системное;
прикладное.
Под системным (базовым) понимается программное обеспечение, включающее в себя операционные системы, сетевое ПО, сервисные программы, а также средства разработки программ (трансляторы, редакторы связей, отладчики и пр.).
Основные функции операционных систем (ОС) заключаются в управлении ресурсами (физическими и логическими) и процессами вычислительных систем. Физическими ресурсами являются: оперативная память, процессор, монитор, печатающее устройство, магнитные и оптические диски. К логическим ресурсам можно отнести программы, файлы, события и т.д. Под процессом понимается некоторая последовательность действий, предписанная соответствующей программой и используемыми ею данными.
В настоящее время существует большое количество ОС, разработанных для ЭВМ различных типов. Па ЭВМ Единой Системы (ЕС ЭВМ), например, используются такие операционные системы, как СВМ и ОС ЕС, на малых ЭВМ (СМ-4, СМ-1420 и др.) - ОС РВ и RSX-11М, на ПЭВМ - DOS 6.22, Windows 95, Windows NT, Unix, OS/ 2.
Сетевое ПО предназначено для управления общими ресурсами в распределенных вычислительных системах: сетевыми накопителями па магнитных дисках, принтерами, сканерами, передаваемыми сообщениями п т.д. К сетевому ПО относят ОС, поддерживающие работу ЭВМ в сетевых конфигурациях (так называемые сетевые ОС), а также отдельные сетевые программы (пакеты), используемые совместно с обычными, не сетевыми ОС.
Например, большое распространение получили следующие сетевые ОС: NetWare 4.1 (фирма Novell), Windows NT Server 3.5 (фирма Microsoft) и LAN Server 4.0 Advanced (фирма IBM).
Для расширения возможностей операционных систем и предоставления набора дополнительных услуг используются сервисные программы. Их можно разделить на следующие группы:
Для успешного применения технологии "клиент-сервер" должно использоваться соответствующее программное обеспечение, включающее клиентскую и серверную части. В частности, широко используемый пакет Microsoft Office представляет собой комплекс программ для клиентского компьютера. В его состав входят: текстовый процессор Word, табличный процессор Excel, система подготовки презентаций PowerPoint, система управления базами данных Access и программа управления информацией Outlook.
В связи с успехом распространения этого пакета корпорация Microsoft решила собрать воедино комплекс программ для сервера - так появился пакет MS BackOffice.
В состав названного пакета входят следующие компоненты:
Windows NT Server - сетевая операционная система;
System Management Server - система администрирования сети;
SQL Server - сервер управления базами данных;
SNA Server - сервер для соединения с хост-компьютерами;
Exchange Server - сервер системы электронной почты;
Internet Information Server - сервер для работы с Internet.
Windows-NT Server способна обеспечить совместное использование файлов, печатающих устройств, предоставить услуги по соединению с рабочими станциями (клиентскими компьютерами) и другой сервис.
Существуют следующие две разновидности Windows NT:
Windows NT Workstation предназначена для использования на автономном компьютере',
Windows NT Server предназначена для использования в качестве сетевой операционной системы и может использоваться на рабочей станции для реализации дополнительных возможностей.
Windows NT Server целесообразно использовать в случаях, когда предполагается наличие нескольких процессоров (обычно до четырех). Кроме того, Windows NT Server обеспечивает совместное использование ресурсов многими пользователями, возможность соединения с удаленными сетями через сервис удаленного доступа - RAS (Remote Access Service), а также через средства связи с сетями других фирм (Novell, Digital Pathworks и Apple).
System Management Server (SMS) позволяет сетевому администратору централизованно управлять всей сетью.
При этом обеспечивается возможность администрирования каждого компьютера, подключенного к сети, включая установленное на нем программное обеспечение. SMS предоставляет следующий сервис:
управление инвентаризацией программного и аппаратного обеспечения;
автоматизация установки и распространения программного обеспечения, включая его обновление;
удаленное устранение неисправностей и предоставление полного контроля администратору за клавиатурой, мышью и экранами всех компьютеров в сети, работающих под управлением MS-DOS или Windows;
управление сетевыми приложениями.
SQL Server представляет собой систему управления реляционными базами данных, использующую принципы технологии "клиент-сервер". MS SQL Server поддерживает
409
систему обработки транзакций, систему сохранения ссылочной целостности, механизм распределенных транзакций, тиражирование данных.
SNA Server обеспечивает возможность связи с IBM AS/400 и мэйнфреймами IBM (ЕС ЭВМ). Этот продукт позволяет нескольким настольным ПЭВМ, работающим под управлением MS-DOS, Windows, Windows NT, Macintosh, Unix или OS/2, "видеть" хост-компьютеры.
Exchange Server обеспечивает средства передачи и приема сообщений в информационной сети организации. Этот сервис включает электронную почту (E-mail) и обмен информационными сообщениями для рабочих групп. Microsoft Exchange Server построен на принципах технологии "клиент-сервер" и масштабируется в соответствии с возрастанием вычислительных возможностей сети.
Internet Information Server обеспечивает возможность создания Web-, FTP- и Gopher-серверов для сети Internet, поддерживает управление ими с помощью встроенной программы Internet Service Manager.
410
405 :: 406 :: 407 :: 408 :: 409 :: 410 :: Содержание
Для работы с графическим изображениями существует большое количество различных программ и пакетов, называемых графическими редакторами.
Одной из таких программ является входящий в Windows 95 графический редактор Paint. Используя его, можно считывать и сохранять изображение в широко известных растровых форматах. Он позволяет также рисовать различные примитивы, закрашивать области цветами и т.п. Вид окна Paint показан на рис. 26.4.
367
Рис 264 Вид окна Paint
Другим примером простого графического редактора служит программа Photo Plus Ее интерфейс подобен редактору Paint, однако программа обладает существенно большими возможностями В ней, кроме известных возможностей рисования графических примитивов, реализованы функции сканирования изображения, конвертации с различным количеством битов глубины цвета, изменения яркости, контрастности и корректировки цветовой гаммы
Фирмой Corel разработан графический пакет, в котором интегрированы несколько программ для обработки различных изображении В состав пакета входят мощный графический редактор CorelDraw!, позволяющий работать с векторными и растровыми изображениями, Corel Photo-Paint, ориентированный на обработку растровых изображений, в том числе высококачественных фотографий
368
365 :: 366 :: 367 :: 368 :: Содержание
Для работы в WWW на компьютере необходимо иметь специальную программу - броузер (browser). Броузер - это прикладная программа, взаимодействующая с WWW и позволяющая получать из сети различные документы, просматривать и редактировать их содержимое. Броузеры предоставляют возможность работы с документами, содержащими текстовую и мультимедийную информацию. Кроме того, они поддерживают все рассмотренные ранее способы и протоколы доступа в Internet.
В WWW документы, как правило, содержат гипертекст (текст с гиперссылками). В отличие от обычных текстов, документы в сети содержат команды, задающие их структуру, включая ссылки на другие документы. Это позволяет броузеру отформатировать документ для его отображения на экране в соответствии с возможностями конкретного компьютера. Поскольку в составе Internet используются разнородные аппаратно-программные средства, то для разработки Web-страниц был принят универсальный язык разметки гипертекста - HTML (HyperText Markup Language).
В состав HTML входит набор команд, используемых для описания структуры документа. С помощью HTML документ разбивается на соответствующие логические компоненты: абзацы, заголовки, списки и т.д. Конкретные атрибуты форматирования документа (основного текста и выделенных компонентов) при его просмотре определяются используемым броузером.
Наиболее распространенными броузерами являются:
Mosaic для Windows;
программа Cello;
427
программа Linx;
EINetWinWeb;
Internetworks;
Microsoft Internet Explorer (MSIE);
Netscape Communicator.
Рассмотрим кратко их назначение и основные возможности. Основное внимание будет уделено MSIE, как одному из самых популярных броузеров. Его последняя версия 4.0 распространяется в Internet фирмой Microsoft бесплатно и входит в состав Windows 98.
Mosaic для Windows - одна из первых программ просмотра. Она имеет очень простой графический интерфейс с пользователем и позволяет отображать на экране отформатированные Web-документы. Недостатком ее является необходимость установки дополнительного программного обеспечения для работы с графическими файлами, аудио и видео изображениями, которое не входит стандартно в состав броузера.
Логическое программирование (ЛП) - это направление в программировании, основанное на идеях и методах математической логики. Термин "логическое программирование" в литературе по информатике трактуется в широком и узком смысле.
В широком толковании в ЛП включают круг понятий, методов, языков и систем, в основе которого лежит идея описания задачи совокупностью утверждений на некотором логическом языке и получение решения задачи путем построения логического вывода в некоторой формальной дедуктивной системе. Классы формул, используемые для описания задач, методы вывода и модели вычислений, используемые в таких системах, очень разнообразны. Поэтому различные их комбинации образуют специфические стили программирования: концептуальное, функциональное (аппликативное) и другие.
Наибольшие практические результаты достигнуты в системах программирования, где в качестве логических программ используются специальные классы логических формул - хорновские дизъюнкты, а в качестве способа их использования применяются специальные методы логического вывода - варианты метода резолюций. Программирование с использованием таких систем называют хорновским и резолюционным, но чаще всего - логическим программированием, перенося узкую трактовку термина на более широкое понятие. Самыми известными системами такого рода являются реализации языка Пролог (Программирование в терминах логики - Programming in logic). Рассмотрим основные идей и понятия ЛП в узком смысле.
Неформально логическая программа описывает множество объектов, множество функций и отношений на этих объектах. Строится логическая программа как набор утверждений об объектах, функциях и отношениях. Такое описание является статическим и никакого вычислительного процесса не задаст, т.е. можно считать, что это описание определяет базу данных, в которой хранятся объекты и заданные на них функции и отношения, например, в виде графиков.
Конкретному применению логической программы соответствует понятие запроса (цели) - например, каково значение функции, заданной логической программой, при данном значении аргумента.
Вычисление ответа на запрос соответствует доказательству существования такого объекта. Правила, по которым проводятся вычисления, образуют процедурную - операционную - семантику логической программы. Успехи языка Пролог обусловлены тем, что, с одной стороны, с помощью используемых в нем логических формул - хорновских дизъюнктов - можно описать многие практические задачи, а с другой - найдена простая интерпретация этих формул и построена достаточно эффективная реализация системы логического программирования.
Правило в Прологе имеет вид:
A0
где А0,А1,.. .Аm - атомы. Атом А0 называется заголовком, а А1... -Аm- телом правила. Тело
304
может быть пустым (при m=0) - такие правила называют фактами. Атом имеет вид
?(t1,t2,...tn)
где ? - n-арный предикатный символ или имя отношения; t1, t2,...tn- термы.
Терм - это либо имя переменной, либо константа, либо составной терм вида f (t1 ,t2. . .tn), f - n-арный функциональный символ. Функции, задаваемые логической программой, представляются в виде отношений - n-местная функция y=f(x1,x2...xn) представляется в виде (n+1)-местного отношения вида F(x1,x2...xn,y).
Запрос (цель) имеет вид:
< С1С2...Сr-
где r ?0 и С1С2...Сr- атомы.
Каждое правило допускает логическую и процедурную интерпретации (семантики). Логическая интерпретация правила A0 < Ar...Am - "истинность А0 следует из истинности А1 и истинности А2, и... и истинности Аm" или "А0 истинно, если истинны А1 и А2, и... и Аm". Таким образом, правила рассматриваются как формулы языка логики предикатов вида:
? x1, ? x2... ? xn(A1? A2?... ? Am> A0).
Здесь ? - квантор общности, ? - логическая связка И, > - логическая связка ЕСЛИ - ТО.
В Прологе, в силу традиции, данные формулы записываются в обратную сторону и используются другие обозначения для логических связок: ? обозначается "," (запятой) или словом and; ? обозначается ";" (точкой с запятой) или словом or ; > обозначается в теории |, а в языке программирования используется конструкция ":-" (двоеточие и минус) или слово if.
Все переменные в предложениях связаны квантором общности, поэтому обычно знак квантора ? опускается.
Формула с использованием связок > и ? может быть преобразована в эквивалентную, но имеющую связки ¬ (HE) и ? (ИЛИ), формулу вида:
A0? ¬A1? ¬A2?... ? ¬Am(m ? 0).
Такие формулы и называются хорновскими дизъюнктами, а стиль программирования - хорновским.
Процедурная интерпретация правил Пролога вида:
А0:-А1, А2... Аm или А0 if А1 and A2 and ... and Am
следующая: "для достижения цели А0 необходимо последовательно достичь целей А1 , А2 . . . Am"
Соответственно, для фактов (когда m = 0) имеет место логическое прочтение: "А0 истинно", процедурная интерпретация факта: "цель А достигнута".
Логическая семантика запроса G: С1,С2...Сr(с переменными x1,х2...хi) к логической программе понимается как требование вычислить все значения переменных x1,х2...хi, при которых утверждение С1 ? С2 ?... ? Сr логически следует из утверждений программы или, записывая это, как принято в логике, необходимо показать, что
? G
305
т.е. запрос G логически следует (выводим) из логической программы . При этом оказывается, что доказательство выводимости G из аналогично тому, чтобы показать
, ¬ G ?
т.е. присоединение отрицания запроса G к программе приводит к противоречию. Однако последнее выполнить в классе формул, с помощью которых записывается Пролог-программа, существенно проще, и имеется эффективный метод доказательства - метод резолюций, одна из версий которого и применяется в Прологе.
Метод резолюций, получив на вход логическую программу с присоединенным к ней запросом в виде множества хорновских дизъюнктов, пытается построить вывод пустого дизъюнкта, обозначаемого символом D. Если это ему удается, тогда цель допускается, в противном случае отвергается. Реализуется метод резолюций с помощью двух правил: правила резолюции и правила склейки, которые во время работы вызывают процедуру унификации - сопоставления.
Унификация - процесс, на вход которого поступает два терма и для них находится унификатор. Унификатором двух термов называется подстановка, которая делает термы одинаковыми.
Если унификатор существует, то термы называются унифицируемыми и для них отыскивается наиболее общий унификатор, если нет - процедура унификации сообщает об отказе.
Пусть имеются два терма t1=ОТЕЦ(Х,У) и t2=ОТЕЦ("ПЕТР", "ПАВЕЛ"). Унификатором этих двух термов будет подстановка ?=(Х="ПЕТР", Y="ПАВЕЛ"), т.е. если в терм t1 вместо переменных X и Y подставить значения из соответствующих мест терма t2, термы станут одинаковыми, а значением их будет пример ОТЕЦ("ПЕТР", "ПАВЕЛ").
Пусть теперь t1=ОТЕЦ(Х,"ИВАН") и t2=ОТЕЦ("ПЕТР", "ПАВЕЛ"). В этом случае унификация невозможна, так как с помощью подстановки термы нельзя сделать одинаковыми - на втором месте в обоих термах стоят разные константные выражения. Если бы термы были, например, вида t1=ОТЕЦ(Х,"ИВАН") и t2=ОТЕЦ("ПЕТР",Z), тогда ?=(Х="ПЕТР", Z="ИBAH"), и пример для этих термов ОТЕЦ("ПЕТР", "ИВАН").
Правило резолюции позволяет из дизъюнктов
D1 = ¬ A1(t) ? A2 ? ... ?An
D2 = ¬ A1(s) ? B1 ? ... ? Bm
получить новый дизъюнкт D = Q(A2 ?... ? An ? B1 ?... ? Bm).
Здесь ? - наиболее общий унификатор термов t и s, обеспечивает их равенство и означает, что все подстановки унификатора выполнены для всех атомов, входящих в дизъюнкты D1 D2. Дизъюнкты D1 D2 называют родителями дизъюнкта D. В дизъюнкте D отсутствует пара: A (? t)? A1 (?s), при этом (?t) = (?s) и пара является тавтологией (тождественно-истинной) и может быть удалена из дальнейших вычислений, что и выполняет правило резолюции.
Правило склейки позволяет из дизъюнкта A(t) ?A(s) ? B1 ?...? Bn получить дизъюнкт ?(A(t) ? B1.? ... ? Bn), т.е. осуществляется "склеивание" одинаковых атомов, полученных после унифицирующей подстановки ?t = ?s.
306
Работу метода резолюции опишем на примере, приведенном ранее. Запишем множество утверждений и фактов в виде логической программы, используя прологообразный синтаксис:
ГОТОВ(Х1) if ПРОВЕРЕН(Х1) and ЗАПРАВЛЕН(Х1).
ВЗЛЕТЕЛ(Х2) if ГОТОВ(Х2) and ДАНО_РАЗР(Х2) and (НЕ_НАХ_ВЗП(Х2).
НАХ_ВЗП(Х3) if ГОТОВ(ХЗ) and ДAHO_PA3P(X3) and not (ВЗЛЕТЕЛ(ХЗ).
ВЫП_РЕЙС(Х4) if (ВЗЛЕТЕЛ(Х4).
ПРОВЕРЕН(ЯК-42)
ЗАПРАВЛЕН(ЯК-42)
ПРОВЕРЕН(ТУ-134)
ЗАПРАВЛЕН(ИЛ-62)
ДАНО_РАЗР(ЯК-42)
НЕ_НАХ_ВЗП(ЯК-42).
Предложения 1- 4 являются утверждениями Пролога, предложения 5-10 - факты. Переменные в каждом утверждении являются локальными - их область действия одно утверждение.
Представим утверждения в форме дизъюнктов:
ГОТОВ(Х1) ¬ ? ПРОВЕРЕН(Х1) ¬? ЗАПРАВЛЕН (X1).
ВЗЛЕТЕЛ(Х2) ¬ ? ГОТОВ(Х2) ¬ ? ДАНО_РАЗР(Х2) ¬ ? НЕ_НАХ_ВЗП(Х2).
НАХ_ВЗП(ХЗ) ¬ ? ГОТОВ(ХЗ) ¬ ? ДАНО_РАЗР(ХЗ) ¬ ? ВЗЛЕТЕЛ(ХЗ)
ВЫП_РЕЙС(Х4) ¬ ? ВЗЛЕТЕЛ(Х4)
ПРОВЕРЕН(ЯК-42)
ЗАПРАВЛЕН(ЯК-42)
ПРОВЕРЕН(ТУ-134)
ЗАПРАВЛЕН(ИЛ-62)
ДАНО_РАЗР(ЯК-42)
НЕ_НАХ_ВЗП(ЯК-42)
Запрос: ? ¬ ВЫП_РЕЙС(Z). Доказательство запроса приведено ниже.
307
Запрос
Правило
Подстановка
?¬ВЫП_РЕЙС(Z)
4
Z=X4
?¬ВЗЛЕТЕЛ(Х4)
2
Х4=Х2
?¬ ГОТОВ(Х2) ? ¬ ДАНО РАЗР(Х2) ? ¬ НЕ_НАХ_ВЗП(Х2)
1
Х2=Х1
? ¬ ПРОВЕРЕН(Х1) ? ¬ ЗАПРАВЛЕН(Х1) ? ¬ ДАНО_РАЗР(Х1) ? ¬ НЕ_НАХ_ВЗП(Х1)
5
Х1=ЯК-42
? ¬ЗАПРАВЛЕН(ЯК-42) ? ¬ ДАНО РАЗР(ЯК-42) ? ¬ НЕ_НАХ_ВЗП(ЯК-42)
6
7 ¬ДАНО РАЗР(ЯК-42) ? ¬ НЕ_НАХ_ВЗП(ЯК-42)
9
? ¬ НЕ_НАХ_ВЗП(ЯК-42)
10
?
В результате доказательства мы вывели логически пустой дизъюнкт D, следовательно, цель допускается. Композиция подстановок Z=X4=X2=X1 =ЯК-42 на наш запрос дает ответ 7=ЯК-42. Любая другая подстановка, например, Х1 =ТУ-134, приводит в тупик.
308
304 :: 305 :: 306 :: 307 :: 308 :: Содержание