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

Адресация Web-документов

Для просмотра определенной Web-страницы нужно указать ее адрес. Явное указание адресов выполняется с помощью Унифицированного указателя ресурсов (URL - Uniform Resource Locator). С помощью URL можно адресовать не только Web-страницы, но и другие ресурсы Internet, например, файлы сервера FTP или Gopher. В общем случае URL включает в себя указатель на тип ресурса, доменное имя компьютера и необязательную спецификацию файла. Например, в составе URL http://www.firma.ru/catalog/ docurnent1.htm некоторой страницы компоненты имеют следующий смысл: http указывает на протокол, используемый при адресации; www.firma.ru задает доменное имя компьютера; catalog/document"! .htm указывает спецификацию файла (папку и имя).
Возможные типы ресурсов, для которых можно задавать ссылки, приведены в табл. 29.1.
Таблица 29.1
Типы адресуемых ресурсов

Тип ресурса Указатель в адресе
Web-страница http://
Файл file://
Мультимедиа http://
Электронная почта @
РТР-сервер ftp://
Gopher-сервер gopher://
UseNet news:
TelNet telnet://

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

Анимация

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

  • стереть объект с экрана;

  • вывести с некоторым смещением другой вариант объекта и т.д.

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

  • рисунок формируется на том же месте цветом, совпадающим с цветом фона. Это вызывает исчезновение рисунка;

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

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

  • Uses Graph, Crt;

  • Label 10,100;

  • Const bxi=300; byi=200; bri=10; bci=4;

  • Var DriverVar, ModeVar:integer;

  • xm.ym :integer;

  • bx,by,br,bc :integer;

  • dx :integer;

  • Begin

  • DriverVar:=Detect;

  • lnitGraph(DriverVar, Modevar,'');

  • xm:=GetMaxX; ym:=GetMaxY;

  • bx:=bxi; by:=byi; br:=bri; bc:=bci;

  • dx:=+1;

  • SetColor(bc);

  • Circle(bx,by.br);

  • 10: SetColor(GetBKColor); Circle(bx,by,br);

  • bx:=bx+dx; by:=by;

  • if bx>=xm-brthen dx:=-1;

  • if bx
  • SetColor(bc); Circle(bx,by,br);

  • if KeyPressed then goto 100;

  • goto 10;

  • 100:

  • SetColor(GetMaxColor);

  • CloseGraph;

  • End.

  • 392
    Контрольные вопросы
  • Чем отличается векторная графика от растровой?

  • Что такое графический примитив?

  • Как зависит вывод графического изображения от разрешающей способности устройства вывода?

  • Каким образом осуществляется масштабирование растровых и векторных изображений?


  • Как происходит смешение цветов в компьютере?


  • Охарактеризуйте основные схемы сжатия изображений.


  • Назовите виды проекции изображений.


  • Перечислите основные виды преобразования точки на плоскости.


  • Охарактеризуйте способы формирования текстуры.


  • Для чего необходимо подключение драйверов монитора при программировании графики?


  • При помощи каких операторов выполняется инициализация графического режима?


  • Каким образом осуществляется переключение между текстовым и графическим режимами?


  • Какие особенности имеет координатная сетка экрана в графическом режиме?


  • Что такое текущий указатель?


  • Какие особенности имеет анимационная программа?


  • Каким образом производится управление цветом и стилем выводимых геометрических фигур и текста?


  • Что такое видеостраница?


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

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


  • Составить программу отображения вращения графического примитива: а) плоского, б) объемного.


  • Составить программу отображения вращения спутника вокруг земли.


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


  • Составить программу, моделирующую распознования фигур в поле объектива: а) плоских (круга, прямоугольника, треугольника); б) объемных (шара, куба, пирамиды).


  • 393

    Литература

  • Алиев В.Э. Обработка графической информации на ПЭВМ. - М.: МФТИ, 1997. - 506с.


  • Бородин Ю.С., Вольвачев А.В., Кузьмич А.И. Паскаль для персональных компьютеров: Справ, пособие. - Минск; Выш. шк.: БФ ГИТМП "НИКА", 1991. - 365с.


  • Валъвачев А.Н. Графическое программирование на языке Паскаль: Справ, пособие. - Минск: Выш. шк., 1992. - 143 с.


  • Григорьев В.Л. Видеосистемы ПК фирмы IBM. - М.: Радио и связь, 1993. - 192 с. З.КорршанДж. Компьютерная графика: Секреты и решения: Пер с англ. - М.: Энтроп, 1995.-352с.


  • Программирование на языке TURBO PASCAL/ Учебн. пособие под ред. Б.С. Богумирского и А.Д.Хомоненко. - СПб.: ВИККА им. А.Ф. Можайского, 1994. - 326 с.


  • Шикин Е.В., БоресковА. В. Компьютерная графика. Динамика, реалистические изображения. - М.: "ДИАЛОГ-МИФИ", 1995. - 288 с.


  • 394

    391 :: 392 :: 393 :: 394 :: Содержание

    Антивирусная борьба

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

    Аппаратная и программная поддержка графики

    Аппаратная поддержка компьютерной графики обеспечивается видеокартой и монитором. На экране монитора, как минимум, 25 раз в секунду формируется изображение. Человеческий глаз не способен уловить такое быстрое мелькание кадров, и создается иллюзия неподвижности изображения. Изображение на экране строится с помощью пикселов, объединяющихся в телевизионные строки.
    Для управления мониторами используются специальные видеокарты. Видеокарты (видеоадаптеры, контроллеры монитора) представляют собой сложные электронные устройства, управляемые собственным процессором и имеющие свою видеопамять. В общем случае видеокарта состоит из контроллера электронно-лучевой трубки и видеобуфера (видеопамяти). Для компьютеров IBM PC разработаны несколько стандартов видеокарт: MDA (Monochrome Display Adapter), CGA (Color GRAPHics Adapter), EGA (Enchanced GRAPHics Adapter), VGA (Virtual GRAPHics Array). В настоящее время актуальным является ознакомление со стандартом VGA (его модификацией является стандарт SVGA - Super VGA), так как другие уже устарели.
    Программную поддержку графики обеспечивают специализированная библиотека GRAPH, наборы драйверов и шрифтов. Подключение модуля GRAPH к пользовательской программе осуществляется с помощью зарезервированного слова USES: Uses GRAPH.
    379
    Графические драйверы находятся в BGI-файлах и подключаются при инициализации графического режима. Список поддерживаемых в среде Turbo Pascal видеокарт и соответствующих драйверов приведен в табл. 27.1.
    Таблица 27.1
    Видеокарты и драйверы

    ВИДЕОКАРТА ДРАЙВЕР
    IBM CGA, MCGA CGA.BGI
    IBM EGA, VGA EGAVGA.BGI
    Hercules (mono) HERC.BGI
    AT@T 6300 ATT.BGI
    IBM 3270 PC PC3270.BGI
    IBM 8514 IBM8514.BGI

    Вывод текста в графических форматах осуществляется с помощью использования шрифтов. Стандартный набор в Turbo Pascal включает в себя следующие шрифты: TriplexFont, SmallFont, SansSerif Font, GothicFont, которые размещаются в файлах trip.chr, litt.chr, sans.chr и goth.chr соответственно.
    380
    379 :: 380 :: Содержание

    Аппаратные средства ЛВС

    Основными аппаратными компонентами ЛВС являются:
  • рабочие станции;

  • серверы;

  • интерфейсные платы;

  • кабели.

  • Рабочие станции (PC) - это, как правило, персональные ЭВМ, которые являются рабочими местами пользователей сети.
    Требования, предъявляемые к составу PC, определяются характеристиками решаемых в сети задач, принципами организации вычислительного процесса, используемой ОС и некоторыми другими факторами. Так, если в сети используется операционная система MS Windows for Workgroups, то процессор PC должен быть как минимум 80386 или 80486.
    398
    Иногда в PC, непосредственно подключенной к сетевому кабелю, могут отсутствовать накопители на магнитных дисках. Такие PC называют бездисковыми рабочими станциями. Однако в этом случае для загрузки в PC операционной системы с файл-сервера нужно иметь в сетевом адаптере этой станции микросхему дистанционной загрузки. Последняя поставляется отдельно, намного дешевле накопителей и используется как расширение базовой системы ввода-вывода BIOS. В микросхеме записана программа загрузки ОС в оперативную память PC. Основным преимуществом бездисковых PC является низкая стоимость, а также высокая защищенность от несанкционированного проникновения в систему пользователей и компьютерных вирусов. Недостаток бездисковой PC заключается в невозможности работать в автономном режиме (без подключения к серверу), а также иметь свои собственные архивы данных и программ.
    Серверы в ЛВС выполняют функции распределения сетевых ресурсов. Обычно его функции возлагают на достаточно мощный ПК, мини-ЭВМ, большую ЭВМ или специальную ЭВМ-сервер. В одной сети может быть один или несколько серверов. Каждый из серверов может быть отдельным или совмещенным с PC. В последнем случае не все, а только часть ресурсов сервера оказывается общедоступной.
    При наличии в ЛВС нескольких серверов каждый из них управляет работой подключенных к нему PC. Совокупность компьютеров сервера и относящихся к нему PC часто называют доменом. Иногда в одном домене находится несколько серверов.
    Обычно один из них является главным, а другие - выполняют роль резерва (на случай отказа главного сервера) или логического расширения основного сервера.

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

    Так, минимальными требованиями к процессору и памяти, предъявляемыми со стороны простых сетевых ОС Novell NetWare 2.2 и Novell NetWare Lite, является наличие процессора 80286 с 4 Мбайтами памяти. Если же предполагается использовать Novell NetWare 386 или MS Windows for Workgroups, то желательно иметь процессор не ниже 80386 с 8 и более Мбайтами оперативной памяти.

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

    Для сервера с емкостью ОЗУ более 16 Мбайтов целесообразно использовать 32-разрядный дисковый контроллер. Иначе могут возникнуть сложности с 16-разрядным каналом DMA (Direct Memory Access) прямого доступа к памяти.

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

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

    399

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


    Используемые сетевые адаптеры имеют три основные характеристики: тип шины компьютера, к которому они подключаются (ISA, EISA, Micro Channel и пр.), разрядность (8, 16, 32,64) и топология образуемой сети (Ethernet, Arcnet, Token-Ring). Так, для сетей с топологией Ethernet и сетевыми ОС Novell NetWare или MS Windows for Workgroups лучше всего использовать сетевые адаптеры фирмы Novell: NE1000 (8 бит), NE2000 (16 бит) или NE3200 (32 бит).

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

    Выбор сетевого кабеля (он бывает тонкий и толстый) определяется спецификацией, приведенной в документации на сетевой адаптер. Лучше применять импортный кабель. Для сетей Ethernet на основе тонкого кабеля небольшой протяженности можно использовать и отечественный кабель РК-50.

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

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

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

    Модем используется в качестве устройства подключения ЛВС или отдельного компьютера к глобальной сети через телефонную связь.Более подробно вопросы функционирования и использования модема рассмотрены в разделе 29.

    400

    398 :: 399 :: 400 :: Содержание

    Архитектура информационной системы

    Эффективность функционирования информационной системы во многом зависит о г ее архитектуры. В настоящее время перспективной является архитектура клиент-сервер. В достаточно распространенном варианте она предполагает наличие компьютерной сети и распределенной базы данных, включающей БД корпоративную (БДК) и БД персональные (БДП). БДК размещается на компьютере-сервере, БДП размещаются на компьютерах сотрудников подразделений, являющихся клиентами корпоративной БД.
    Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом, клиентом - компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, к примеру, базы данных, файловые системы, службы печати, почтовые службы. Тип сервера определяется видом ресурса, которым он управляет. Например, если управляемым ресурсом является база данных, то соответствующий сервер называется сервером базы данных.
    Достоинством организации информационной системы по архитектуре клиент-сервер является удачное сочетание централизованного хранения, обслуживания и коллективного доступа к общей корпоративной информации с индивидуальной работой над персональной информацией. Структура распределенной БД, построенной по архитектуре клиент-сервер, показана на рис. 19.1.
    Корпоративная БД создается, поддерживается и функционирует под управлением сервера БД, например, Microsoft SQL Server или Oracle Server.
    Для создания и управления функционированием персональных БД и приложений, работающих с ними, используются СУБД такие, например, как Access и Visual FoxPro фирмы Microsoft, Paradox фирмы Borland.
    В зависимости от размеров организации и особенностей решаемых задач информационная система может иметь одну из следующих конфигураций:
    компьютер-сервер, содержащий корпоративную и персональные базы;
    228
    Рис. 19.1. Структура распределенной БД
  • компьютер-сервер и персональные компьютеры с БДП;

  • несколько компьютеров-серверов и персональных компьютеров с БДП.


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

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

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

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

    Архитектура Internet

    Рассмотрим упрощенную схему построения Internet. На рис. 29.1 показана архитектура сети. В качестве высокоскоростной магистрали передачи данных используются выделенные телефонные линии, оптоволоконные и спутниковые каналы связи. Любая организация для подключения к Internet использует специальный компьютер, который называется шлюзом (gateway). На нем устанавливается программное обеспечение, осуществляющее обработку всех сообщений, проходящих через шлюз. Каждый шлюз имеет свой IP-адрес.
    Если поступает сообщение, адресованное локальной сети, к которой подключен шлюз, то оно передается в эту локальную сеть. Если сообщение предназначено для другой сети, то оно передается следующему шлюзу. Каждый шлюз имеет информацию обо всех остальных шлюзах и сетях. Когда сообщение посылается из локальной сети через шлюз в Internet, то при
    Рис. 29.1. Архитектура Internet
    422
    этом выбирается самый "быстрый" путь. Шлюзы обмениваются друг с другом информацией о маршрутизации и состоянии сети, используя специальный шлюзовый протокол.
    Некоторые компании могут выступать в качестве провайдера. Провайдер имеет свой шлюз в Internet и позволяет другим компаниям и отдельным пользователям подключаться к Сети через этот шлюз. Кроме информации о маршрутизации сообщений, шлюзу необходимы данные о параметрах подсетей, подключенных к более крупной сети, для корректировки маршрутов передачи сообщений в случае сбоев в отдельных частях сети.
    Шлюзы бывают двух типов: внутренние и внешние. Внутренними называют шлюзы, расположенные в небольшой подсети и обеспечивающие связь с более крупной корпоративной сетью. Такие шлюзы поддерживают связь между собой с помощью внутреннего шлюзового протокола IGP (Internal Gateway Protocol). Внешние шлюзы применяются в больших сетях, подобных Internet, настройки их постоянно меняются из-за изменений в мелких подсетях. Связь между внешними шлюзами осуществляется через внешний шлюзовый протокол EGP (Exterior Gateway Protocol).
    423
    422 :: 423 :: Содержание

    Архитектура сети

    Сеть представляет собой совокупность компьютеров, объединенных средствами передачи данных. Средства передачи данных в общем случае могут состоять из следующих элементов: связных компьютеров, каналов связи (спутниковых, телефонных, цифровых, волоконно-оптических, радио- и других), коммутирующей аппаратуры, ретрансляторов, различного рода преобразователей сигналов и других элементов и устройств.
    Архитектура сети ЭВМ определяет принципы построения и функционирования аппаратного и программного обеспечения элементов сети.
    Современные сети можно классифицировать по различным признакам: по удаленности компьютеров, топологии, назначению, перечню предоставляемых услуг, принципам управления (централизованные и децентрализованные), методам коммутации (без коммутации, телефонная коммутация, коммутация цепей, сообщений, пакетов и дейтаграмм и т.д.), видам среды передачи и т.д.
    В зависимости от удаленности компьютеров сети условно разделяют на локальные и глобальные.
    Произвольная глобальная сеть может включать другие глобальные сети, локальные сети, а также отдельно подключаемые к ней компьютеры (удаленные компьютеры) или отдельно подключаемые устройства ввода-вывода. Глобальные сети бывают четырех основных видов: городские, региональные, национальные и транснациональные. В качестве устройств ввода-вывода могут использоваться, например, печатающие и копирующие устройства, кассовые и банковские аппараты, дисплеи (терминалы) и факсы. Перечисленные элементы сети могут быть удалены друг от друга на значительное расстояние.
    395
    В локальных вычислительных сетях (ЛВС) компьютеры расположены па расстоянии до нескольких километров и обычно соединены при помощи скоростных линий связи со скоростью обмена от 1 до 10 и более Мбит/с (не исключается случай соединения компьютеров и с помощью низкоскоростных телефонных линий). ЛВС обычно развертываются в рамках некоторой организации (корпорации, учреждения). Поэтому их иногда называют корпоративными системами или сетями. Компьютеры при этом, как правило, находятся в пределах одного помещения, здания или соседних зданий.

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

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

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

    Для упорядочения разработки сетевого ПО и обеспечения возможности взаимодействия любых вычислительных систем Международная Организация по Стандартизации (International Standart Organization - ISO) разработала Эталонную модель взаимодействия открытых систем (Open System Interconnection - OSI).

    Эталонная модель OSI определяет следующие семь функциональных уровней:

  • физический (physical layer);


  • управления линией (звеном) передачи или канальный (data link);


  • сетевой (network layer);


  • транспортный (transport layer);


  • сеансовый (session layer);


  • представительный (presentation layer);


  • прикладной, или уровень приложений (application layer).


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

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


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

    396

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

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

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

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


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

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

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

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

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

    Протоколом называется свод правил взаимодействия объектов одноименного уровня, а также форматы передаваемых между объектами блоков данных (сообщений). Примерами протоколов звена данных являются протокол HDLC (Higher-level Data Link Control), принятый ISO, и протокол SDLC (Synchronous Data Link Control) фирмы IBM.

    397

    Интерфейсы описывают процедуры взаимодействия объектов смежных уровней и форматы информации, передаваемой между этими объектами. Примером одного из интерфейсов является интерфейс Х.25 подключения пользователей к сетям передачи данных общего пользования. Этот интерфейс описан в соответствующих рекомендациях (Х.25), где определяется порядок и правила взаимодействия оконечного оборудования обработки данных DTE (Data Terminal Equipment) и оконечного оборудования цепей передачи данных DCE (Data Circuit-terminating Equipment).


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

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

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

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

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

    398

    395 :: 396 :: 397 :: 398 :: Содержание

    Архитектура Windows

    Архитектура Windows 95 схематично показана на рис. 5.1.
    Рис. 5.1. Архитектура Windows 95
    Рассмотрим коротко характеристику представленных на этом рисунке основных компонентов операционной системы.
    76
    Системная виртуальная машина представляет собой операционную среду, поддерживающую работу всех приложении Windows 95 и подсистем, обеспечивающих интерфейс прикладного программирования.
    Приложения Win32 представляют собой 32-разрядные приложения Windows, использующие 32-разрядную модель процессоров 80386 и выше и подмножество интерфейса прикладного программирования. Каждое приложение Win32 имеет свое адресное пространство, недоступное другим приложениям.
    Оболочка есть 32-разрядное приложение Windows 95, обеспечивающее взаимодействие пользователя с системой.
    Приложения Win 76 представляют собой старые 16-разрядные приложения Windows 3.11. Эти приложения делят между собой единое адресное пространство и не могут управляться в соответствии с принципом многозадачности.
    Подсистема системного сервиса уровня API (Application Program Interface) - интерфейса прикладного программирования - обеспечивает совместимость с API Windows 3.1, а также поддержку 32-разрядного интерфейса прикладного программирования.
    Kernel - модуль Windows, который поддерживает низкоуровневые функции по работе с файлами и управлению памятью и процессами. Этот модуль обеспечивает сервис для 16- и 32-разрядных приложений.
    GD/ (Graphics Device Interface) - модуль Windows, обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для дисплея и принтеров.
    User -модуль Windows, который является диспетчером окон и занимается созданием и управлением отображаемыми на экране окнами, диалоговыми окнами, кнопками и другими элементами пользовательского интерфейса.
    Виртуальные машины MS DOS обеспечивают выполнение программ MS DOS под управлением Windows 95. Пользователь может запустить несколько виртуальных машин MS DOS.
    Базовая система включает в свой состав ряд важнейших подсистем.

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

    Сетевая подсистема представляет собой средство поддержки одноранговой сети, впервые появившееся в Windows 3.11. Система осуществляет доступ к удаленным файлам при помощи файловой подсистемы Windows 95.

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

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

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

    77

    75 :: 76 :: 77 :: Содержание

    Автоматизированное форматирование: стили и шаблоны

    Автоматизированное форматирование основано на концепции стилей. Оно позволяет легко и быстро изменить внешний вид всего документа изменением одного или нескольких стилей. Стиль абзаца представляет собой совокупность параметров, которые определяют параметры шрифта, форматирования абзаца, табуляции, обрамления и заливки, язык, возможное наличие кадра и маркированного или нумерованного списка.
    При определении стиля задается также стиль следующего абзаца, назначаемый автоматически новому абзацу при нажатии клавиши по окончании ввода текущего абзаца. Назначение абзацу нового стиля выполняется с помощью списка в поле Стиль (Style) панели инструментов Форматирование (Formatting).
    В Word с каждым документом связывается определенный набор стилей. При создании документа набор стилей формируется путем копирования стилей из указанного шаблона. В шаблонах хранятся наборы стилей и текстовые заготовки, соответствующие характеру документа (письма, приглашения и т.д.).
    Характер оформления документа с помощью определенного шаблона можно оцепить и изменить по команде Библиотека стилей... (Style Gallery...) меню Формат (Format).
    Word 7.0 позволяет создавать, изменять, переименовывать и удалять стили. Перечисленные действия выполняются с помощью команды Стиль... (Style...) меню Формат (Format).
    Кроме шаблона, на котором основан активный документ, могут задаваться один присоединенный и несколько общих шаблонов. Если для документа задан
    129
    присоединенный и/или общий шаблоны, то имеющиеся в этих шаблонах макросы, элементы автотекста, специальные панели инструментов и команды являются доступными в документе Управление открытием и подключением названных шаблонов выполняется по команде Шаблоны.,.(Templates...) меню Файл (File)
    Для задания стиля одного или нескольких абзацев достаточно выполнить следующее поместить указатель в поле абзаца или выделить группу абзацев, на панели инструментов Форматирование (Formatting) в списке Стиль (Style)(pnc 10 4), выбрать строку с наименованием нужного стиля и щелкнуть мышью

    Рис 10.4 Список стилей в поле Стиль

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

    Пример. Изменение, создание и удаление стилей

    Рис 10.5 Диалоговое окно Стиль

    130

  • По команде Стиль... (Style...) меню Формат (Format) вызовем диалоговое окно Стиль (Style)(pиc 105)


  • В списке Стили: (Styles:) выберем строку с наименованием изменяемого стиля и нажмем кнопку Изменить... (Modify...).


  • В результате появится диалоговое окно Изменение стиля (Modify Style).


  • При необходимости в поле Основан на стиле: (Based On:) укажем имя другого стиля, с помощью которого определяется изменяемый стиль


  • Для изменения параметров стиля нажмем кнопку Формат (Format).


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


  • Задание любой из команд вызывает диалог настройки соответствующих параметров. В частности, диалог, возникающий при задании команд Шрифт... (Font...) и Абзац... (Paragraph...), аналогичен рассмотренному для одноименных команд меню Формат (Format).

    Рис. 10.6. Панель Формат

    Замечания.

  • Для создания нового стиля в диалоговом окне Стиль (Style)(pnc. 10 5), нажмем кнопку Создать... (New...). Возникающий при этом диалог настройки параметров стиля аналогичен рассмотренному нами диалогу изменения стиля.


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


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


  • При необходимости можно выполнить изменение состава стилей документа с помощью диалогового окна Организатор (Organizer).Вызов окна производится нажатием кнопки Организатор (Organizer) в диалоговом окне Стиль (StyleДрис. 105)

    131

    129 :: 130 :: 131 :: Содержание

    Автозамена и автозаполнение содержимого ячеек

    Автозамена содержимого ячеек предназначена для исправления орфографических ошибок непосредственно при вводе, а также для ускорения ввода часто используемых фрагментов текста. Например, если пользователь вместо слова "Время" часто по невнимательности вводит "Врмея", то использование автозамены приводит к автоматическому исправлению ошибки. Можно задать также, чтобы Excel интерпретировал последовательность символов (например, "л/с"), как целое предложение (например, "личный состав 256 учебной группы") и всякий раз при вводе указанной последовательности символов выполнял соответствующую замену.
    Для задания параметров автозамены необходимо выполнить команду Автозамена (AutoCorrect) меню Сервис (Tools). В поле Заменить: (Replace:) открывшегося диалогового окна набирается строка, подлежащая замене, а в поле На: (With:) - строка, которая будет ее заменять. После нажатия кнопки Добавить (Add) имеющийся список автозамены будет дополнен набранной строкой. Для включения механизма автозамены необходимо в этом окне установить флажок Заменять при вводе (Replace As You Type).
    162
    В отличие от автозамены, автозаполнение имеет целью быстрое заполнение нескольких ячеек одинаковым начальным значением или несколькими разными значениями из заранее созданных (существующих) рядов данных.
    Для пояснения процесса автозаполнеппя ячеек выполним следующую последовательность действий:
  • Введем нужное значение в ячейку, например: "ПОНЕДЕЛЬНИК".

  • Поместим указатель мыши на маркер заполнения этой ячейки (см. п. 12.2). Указатель мыши примет форму крестика.

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


  • Ряды данных, используемые при автозаполнении ячеек, делят на встроенные и пользовательские. Пользовательские ряды, в отличие от встроенных, можно удалять пли изменять после их создания. Такие ряды могут содержать не более 2000 символов. Отдельный элемент ряда не может превышать 80 символов.

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

  • Выполнить команду Параметры (Options) меню Сервис (Tools). В открывшемся диалоговом окне выбрать вкладку Списки (Custom Lists). В одноименном поле вкладки будут представлены имена всех имеющихся рядов данных.


  • Выбрать элемент Новый список (New List).


  • В поле Элементы списка (List Entries) ввести отдельные значения создаваемого ряда данных, разделяя их запятой или .


  • Нажать кнопку Добавить (Add).


  • Другой способ создания пользовательского ряда состоит в предварительном выделении в таблице диапазона ячеек, содержимое которых будет использовано в качестве элементов ряда. После этого выполняется команда Параметры (Options) меню Сервис (Tools). В появившемся диалоговом окне выбирается вкладка Списки (Custom Lists). В поле Импорт списка из ячеек (Import List from Cells) этой вкладки будет указана ссылка на выделенный диапазон ячеек. Для создания ряда достаточно нажать кнопку Импорт (Import).

    Часто используется следующий способ автозаполнения ячеек:

  • Начальное значение ряда вводится в нужную ячейку.


  • Выделяется заполняемый диапазон ячеек, в котором ячейка с начальным значением является первой.


  • Выбирается команда Заполнить \ Прогрессия (Fill \ Series) меню Правка (Edit).


  • В появившемся диалоговом окне Прогрессия (Series) задаются параметры создаваемого ряда данных:


  • при выборе типа прогрессии Арифметическая (Linear) к содержимому предыдущей ячейки добавляется значение, указанное в поле Шаг (Step Value). Полученный результат записывается в следующую ячейку;


  • 163

  • аналогично задается Геометрическая (Growth) прогрессия;


  • выбор типа прогрессии Автозаполнение (AutoFill) приводит к заполнению ячеек выделенного диапазона содержимым ячейки с начальным значением;



  • тип прогрессии Даты (Date) предназначен для создания ряда, в котором шаг используется из группы Единицы (Date Unit) диалогового окна;


  • если в поле Предельное значение (Stop Value) диалогового окна вводится значение последнего учитываемого члена ряда, то диапазон ячеек предварительно не выделяется. В ячейке таблицы указывается первый член ряда, а в поле Шаг (Step Value) диалогового окна - шаг изменения значений элементов ряда.


  • Замечания.

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


  • Автозаполнение ячеек значениями определенного ряда данных с помощью мыши возможно в случае, если на вкладке Правка (Edit) диалогового окна Параметры (Options) установлен флажок Разрешить перетаскивание ячеек (Allow Cell Drap and Drop).


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


  • Если в ячейке указано числовое значение, которое не воспринимается Excel автоматически как начальное значение ряда данных (например, число 53), то перетаскивание маркера заполнения с нажатой клавишей приводит к автозаполнению ячеек с использованием арифметической прогрессии с шагом 1 (для рассматриваемого примера: 54, 55 и т.д.).


  • При вводе текстовой информации в текущую ячейку Excel автоматически производит сравнение введенных символов с имеющимися строковыми данными в ячейках текущего столбца. При совпадении первых введенных в ячейку букв с имеющейся последовательностью в нее автоматически подставляется вся строка. Такой процесс подстановки называется автовводом. Все ранее введённые текстовые значения ячеек текущего столбца можно выдать в виде упорядоченного по алфавиту списка. Для этого необходимо выполнить команду Выбрать из списка контекстного меню соответствующей ячейки.Нужный элемент списка выбирается щелчком мыши. Использование автоввода задаётся установкой флажка Автозаполнение значений ячеек (Enable AutoComplete for Cell Values) на вкладке Правка (Edit) диалогового окна Параметры (Options).


  • 164

    162 :: 163 :: 164 :: Содержание

    Базовые процедуры и функции

    Для построения изображения на экране используется прямоугольная система координат. Отсчет начинается от верхнего левого угла экрана с нуля. Значение X (столбец) увеличивается слева направо, значение У (строка) увеличивается сверху вниз. Чтобы строить изображение, необходимо указывать точку начала вывода. В графических режимах существует невидимый текущий указатель СР (Current Pointer). Процедура MoveTo(X, У) перемещает текущий указатель в точку с координатами X,У. Процедура MoveRel(dX, dY) перемещает СР на dXточек по горизонтали и на dY точек по вертикали относительно СР. Для контроля местоположения СР используют функции GetX и GetY, которые возвращают соответственно значения Х- и У-координаты СР. Для того, чтобы узнать максимально допустимые значения СР для установленного режима, используются функции GetMaxX: integer и GetMaxY: integer.
    Графический экран может рассматриваться как одно большое или несколько меньших по размеру окон. Окно - это прямоугольная область экрана, выполняющая функции полного экрана. После установки окна остальная площадь экрана как бы не существует и весь ввод-вывод осуществляется через это окно. В каждый момент может быть активным только одно окно. Если окон несколько, то за переключение ввода-вывода в нужное окно отвечает программист. Для создания окна предназначена процедура
    SetViewPort(x1, х2, у1, у2: integer; Clip: boolean),
    где х1, у1 - координаты левого верхнего угла, х2, у2 -координаты правого нижнего угла окна. Параметр Clip определяет, будет рисунок отсекаться при выходе за границы окна (Clip:=True) или нет.
    Для очистки окна используется процедура ClearVierPort. После ее выполнения все изображения в окне стираются и СР устанавливается в левую верхнюю точку окна. Координатную систему полного экрана можно восстановить с помощью ClearDevice или задав в процедуре установки окна максимально возможные значения:
    SetViewPort(0,0, GetMaxX, GetMaxY, True).
    Атрибуты текущего окна можно получить с помощью процедуры GetViewSetting (Var Vp: ViewPortType).
    Переменная Vp относится к стандартному типу ViewPortType:

  • Туре


  • ViewPortType=RECORD


  • х1,х2, у1,у2: integer;


  • Clip: boolean


  • 383

  • end;


  • Фон ("закраска") графического окна устанавливается с помощью процедур SetFillPattern и Ваг, например:

    SetViewPort( 100, 50,500, 200, True);

    SetFillStyle(1,3); (*выбор типа фона*)

    Bar(100,50,500,200); (*формирование фона*)

    В библиотеке GRAPH вывод точки осуществляется процедурой PutPixel(X, Y: integer; Colonword), где X, Y - экранные координаты расположения точки, Color - ее цвет (от 0 до 15). Для определения цвета точки в конкретной позиции экрана служит функция GetPixel(X, Y: integer): word. Из точек возможно построение линий. Это выполняет процедура Line(X7, Y1, Х2, Y2), где Х1, Y1 - координаты начала, Х2, Y2 - координаты конца линии. Например:

    Line(1,1,200,1).

    Для черчения линий применяются также еще две процедуры: LineTo(X, Y) и LineRel(c/X, с/У). Первая строит линию из точки текущего положения указателя в точку с координатами X, Y; а вторая проводит линию от точки текущего расположения указателя в точку СРх+dХ, СРу+dY, где СРх и СРу - текущие координаты СР. Установка стиля (тонкие, широкие, штриховые пунктирные линии и т.д.) производится процедурой SetLineStyle (LineStyle: word; Pattern: word; Thickness: word). Параметр LineStyle устанавливает тип строки, который может быть задан поименованной константой или соответствующим ей цифровым значением из табл. 27.3, Pattern -

    Таблица 27.3

    Тип линии

    КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
    SolidLn 0 Непрерывная линия
    DottedLn 1 Линия из точек
    CentedLn 2 Линия из точек и тире
    DashedLn 3 Штриховая линия
    UserLn 4 Тип пользователя
    образец, Thickness - толщину линии, определяемую константами из табл. 27.4.

    Таблица 27.4

    Толщина линии

    КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
    NormWidth 1 Нормальная толщина
    ThickWidth 3 Жирная линия
    384

    Процедура GetLineSettings(Var linelnfo: LineSettingsType) возвращает текущий стиль, образ и толщину линии, установленные SetLineStyle.


    Тип LineSettingsType имеет следующее стандартное описание:

  • Туре


  • LineSettingType=Record


  • LineStyle: word;


  • Pattern: word;


  • Thickness: word end;


  • Для установления режима вывода (копирование или наложение) линии на экран предназначена процедура SetWriteMode(Mode). Значение Mode определяется стандартными константами:

  • Const


  • CopyPut=0;


  • XORPut=1;


  • Аргумент Mode может принимать одно из двух значений. Если Mode=0, то пикселы, лежащие на отрезке прямой линии, переопределяют пикселы на экране и линия на экране имеет текущий цвет. Если Mode=1, то пикселы, образующие линию, имеют код цвета, равный результату операции исключающее ИЛИ над кодами текущего цвета и цвета пикселов на экране, через которые эта линия проходит.

    385

    383 :: 384 :: 385 :: Содержание

    Базы данных и информационные системы

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

  • изменение (обновление, добавление и удаление) хранимых данных;

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

  • обработка данных и вывод результатов.

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

  • создание файла проекта БД;

  • 227
  • создание БД (формирование и связывание таблиц, ввод данных);

  • создание меню приложения;

  • создание запросов;

  • создание экранных форм, отчетов;

  • генерация приложения как исполняемой программы.

  • Приведенный перечень этапов не является строгим в смысле очередности и обязательности. В частности, этап создания файла проекта БД поддерживается не всеми СУБД и является не обязательным. Процесс создания информационной системы, как правило, имеет итерационный характер.
    Приложение представляет собой программу или комплекс программ, использующих БД и обеспечивающих автоматизацию обработки информации из некоторой предметной области. Приложения могут создаваться как в среде СУБД, так и вне СУБД - с помощью системы программирования, к примеру, Delphi или C++ Builder, использующей средства доступа к БД.
    Для работы с базой данных во многих случаях можно обойтись только средствами СУБД, скажем, создавая запросы и отчеты. Приложения разрабатывают главным образом в случаях, когда требуется обеспечить удобство работы с БД неквалифицированным пользователям или интерфейс СУБД не устраивает пользователя.

    Безусловные операторы

    Оператор присваивания имеет вид:
    :=
    В качестве имени переменной может использоваться как простая переменная, так и переменная, инициализирующая обращение к элементу списка. В операторе присваивания допускается использовать знак = вместо :=.
    Оператор безусловного перехода:
    GОТО
    При выполнении оператора GOTO осуществляется передача управления оператору, помеченному меткой:
    Оператор выхода из процедуры:
    RETURN Оператор вызова процедуры:
    САLL ( ;)
    Оператор цикла:
    FOR :=
    ТО [ STEP ]
    NEXT [ ]
    349
    Здесь и определяют соответственно начальное и конечное числовые значения переменной цикла, a STEP задает значение шага изменения переменной цикла, при отсутствии части STEP значение шага равно 1.
    Внутри тела цикла могут использоваться вложенные циклы. При организации таких циклов применяются оператор продолжения CONTINUE и оператор выхода EXIT. Оператор CONTINUE имеет вид:
    CONTINUE []
    При выполнении данного оператора управление передается на оператор NEXT текущего цикла либо оператору NEXT объемлющего цикла, параметром которого является переменная, указанная в операторе CONTINUE.
    Оператор выхода EXIT задается в виде:
    EXIT []
    и инициирует передачу управления оператору, расположенному за оператором NEXT текущего цикла, либо за оператором NEXT объемлющего цикла, параметром которого является переменная, указанная в операторе EXIT.
    Условный оператор
    Условный оператор задается в следующей форме:
    IF ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ> THEN [ЕLSЕ]
    Примеры операторов:
  • r = sqrt(x"2+yA2)

  • 'x[i][j] = 0

  • RETURN

  • Loop:

  • GOTO loop_end

  • loop_end: NEXT

  • CALLquicksort('Age,'Height,'Weight;'Fact)

  • = ptor(r1 ,theta1) + ptor(r2,theta2)

  • IFx>=0 THEN y=sqrt(x)

  • IF Iog(x)>a THEN y=0 ELSE y='unknown

  • IFx[i][j]=0 THEN return ELSE goto loop

  • IF evltd('x, 1,0) THEN y=x^2 ELSEy=z^2

  • FOR i = j TO k

  • x[i] = (k-j)*i
    NEXT i
    Примеры описания и использования процедур:
    ================= PROCEDURE FUNCTION: Simpson =================
    Comment: Определенный интеграл, метод Симпсона

    Parameter Variables:

    350

    Input Variables: fun,a,b,n Output Variables: value

    S Statement---------------

    ; Обозначения: fun - имя правила, процедуры, списка или встроенной

    ; функции определения подынтегрального выражения

    ; а,b - верхний и нижний пределы

    ; n - число шагов интегрирования (четное число)

    ; value - значение определенного интеграла

    ; Описание: Стандартный метод численного интегрирования

    ; с полиномиальной аппроксимацией второй степени

    ; подынтегрального выражения

    if mod(n,2)<>0 then call errmsg("odd numbers of intervals, must be even")

    h = (b-a)/n

    k=1

    value = 0

    for i = 2 to n

    x = x + h

    k = 3-k

    value = value + k*apply(fun,x)

    next i

    value = (2*value + apply(fun,a) + apply(fun.b)) * h/3

    Рис 25 6 Описание и использование процедуры Factorial

    351

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

    Пример описания и использования процедуры-функции для решения задачи вычисления 4! приведен на рис. 25.6.

    В окне ТК Solver после решения задачи показаны три панели: Variable Sheet с переменными п1 (входная переменная типа Input с значением 4) и fact (выходная переменная типа Output с результирующим значением 24); Rule Sheet с правилом вычисления значения fact, содержащим обращение^ процедуре-функции Factorial; Procedure: Factorial с описанием процедуры-функции Factorial, предназначенной для вычисления п!.

    352

    343 :: 344 :: 345 :: 346 :: 347 :: 348 :: 349 :: 350 :: 351 :: 352 :: Содержание

    Безусловные предложения вычислимости

    Безусловные предложения вычислимости в ТК Solver задаются в виде уравнений и программных отношений.
    Уравнения. Различают арифметические и неарифметические уравнения. Арифметические уравнения имеют вид:
    =,
    где , -арифметические выражения.
    Хранятся арифметические уравнения в рамках текущей вычислительной модели в виде однооператорных отношений, т.е. для каждой переменной конструируется разрешающая (вычисляющая) ее функция. Система ТК Solver в арифметических выражениях позволяет использовать библиотечные функции. При этом система обеспечивает вычисление значений переменных, используемых в качестве аргументов, только в тех функциях, которые имеют обратные функции (например, для функции SIN(X) имеется обратная А5!М(Х)и т.д.).
    Примеры описания арифметических уравнений:
  • a + b = c*d

  • remainder = mod(a,b)

  • theta = pi()A2 + r/2

  • у * (cos(x) - sin(y)) = ln(x)

  • x = 5

  • (x,y) = ptor(r1 ,i1) + ptor(r2,i2)

  • Неарифметические уравнения задаются с использованием символьных выражений, при этом хотя бы в одной из частей уравнения должно быть только одно имя переменной. Примеры описания неарифметических уравнений:
  • res="РЕЗУЛЬТАТ"

  • "ТАБЛИЦА"=TABL

  • 341
    Программные отношения представляют собой отношения, которые задаются с помощью функций: библиотечных (встроенных) или пользователя, последние представляются в ТК Solver с помощью панелей Function Subsheet. Программные отношения описываются в виде обращений к функциям, в обращении указывается имя функции и все ее фактические параметры - переменные модели задачи, которые связаны с данным программным отношением.
    Общая форма описания обращения к функции имеет вид:
    CALL (;
    )
    Здесь список входных переменных отделяется от списка выходных переменных точкой с запятой.

    BMP: Windows Device Independent Bitmap

    BMP (аппаратно-независимое побитовое изображение Windows) поддерживается любыми Windows-совместимыми программами. Структура файла BMP используется Windows для хранения растровых изображений. В этом формате хранятся рисунки фона, пиктограммы и другие растровые изображения Windows. Этот формат сводит к минимуму вероятность ошибок или неправильной интерпретации растровых данных.
    Формат BMP правильно отображает данные независимо от аппаратных и программных устройств (монитора компьютера, видеокарты и драйвера дисплея). Такая независимость от устройств обеспечивается применением системных палитр. Однако данный формат имеет и свои недостатки. Только версии формата с 4- и 8-битовым цветом поддаются сжатию (к ним можно применить метод сжатия RLE), следовательно, 24-битовые файлы BMP будут очень большими. Кроме того, применение файлов BMP ограничено платформами Windows и OS/2.
    Каждый файл BMP содержит заголовок файла, заголовок изображения, растровые данные и карту цветов (кроме изображения 24-битным цветом).
    Заголовок файла BMP содержит информацию о типе и размере файла, а также о расположении в нем данных. После заголовка файла следует структура, задающая информацию о размере, цвете и сжатии изображения.
    Сжатие. Поле biCompression в BITMAPINFO определяет, какой тип сжатия используется в файле. Если значение поля равно BI_RGB, то рисунок не сжимается. Если же значение поля равно BI_RLE4 или BI_RLE8, то рисунок использует метод сжатия групповым кодированием для изображений, соответственно, с 4 бит/пиксел или 8 бит/пиксел.
    Карта цветов. Значение поля biClrUsed определяет, будут ли использоваться растровым рисунком индексированные цвета. Если рисунок состоит из 1-,4-( или 8-битовых пикселов, то должна использоваться карта цветов. Если значение поля biClrUsed равно нулю, то применяется либо полная карта, либо 24-битовый цвет. Если поле не равно нулю, то его значение равно действительному количеству цветов, которые будут доступны программе-генератору графики или драйверам устройств. Поле biClrlmportant определяет, сколько цветов в индексированной карте считаются важными для изображения рисунка. Если его значение равно нулю, то важными будут все цвета.
    Растровые данные. За картой цветов следуют растровые данные. Они хранятся в виде 1-, 4-, или 8-битовых индексов карты цветов или в виде буквенных 24-битовых данных системы RGB. Пикселы в растре записываются, начиная с нижнего левого угла изображения, и читаются слева направо и снизу вверх.

    оформленный определенным образом фрагмент текста.

    437 :: 438 :: 439 :: 440 :: 441 :: Содержание

    СЛОВАРЬ ТЕРМИНОВ

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

    Аддитивный цвет (additive color) - цвет, получаемый при объединении разноцветных лучей.

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

    Ассемблер (assembler) - транслятор с входного языка, близкого к машинному (автокода или языка ассемблера).

    Атрибут (attribute) - свойство, характеризующее сущность.

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

    Байт (byte) - основная единица количества информации, включающая восемь битов.

    Бит (bit) - минимальная единица количества информации, представляющая собой один символ двоичного алфавита.

    Битовая глубина (depth of color) - число битов, используемых для хранения информации о цвете пиксела.

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

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

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

    Видеокарта (graphics card) - устройство управления монитором.

    Видеобуфер (video RAM) - видеопамять для хранения образа экрана.

    Видеостраница (videopage) часть видеобуфера.

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

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


    Глобальная сеть (wide area network) - сеть, элементы которой удалены друг от друга на значительное расстояние.

    Графический драйвер (graphics driver) - программа в BGI-файле, предназначенная для управления графическим режимом соответствующей видеокарты.

    Графический файл (graphicsfile) - файл, содержащий информацию графического изображения.

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

    437

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

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

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

    Кадр (frame) - рамка (видимая или невидимая), служащая для размещения текста, рисунков или таблиц.

    Каталог (directory) - справочник, содержащий сведения о местоположении, размере, дате и времени обновления файлов.

    Кластер (cluster) - один или несколько последовательных секторов дисковой памяти, служащий единицей выделения внешней памяти.

    Ключ отношения или первичный ключ (primary key) - атрибут отношения, однозначно идентифицирующий каждый из его кортежей.

    Компилятор (compilator) - транслятор с языка программирования высокого уровня.

    Компьютер-клиент (computer-client) - ЭВМ сети, обращающаяся за ресурсами к компьютерам-серверам.

    Компьютер-сервер (computer-server) - ЭВМ сети, предоставляющая свои ресурсы другим компьютерам сети.

    Лист (sheet) - элемент рабочей книги Excel, предназначенный для создания и хранения таблиц, диаграмм и макросов.


    Логическая система (logic system) - система представления знаний, в основе которой лежат логические средства - логики высказываний и предикатов первого порядка.

    Локальная вычислительная сеть (local area network) - сеть, в которой компьютеры расположены на расстоянии до нескольких километров и обычно соединены при помощи скоростных линий связи.

    Масштабирование изображения (image scaling) - изменение вертикального и горизонтального размеров изображения.

    Механизм вывода, логический вывод или машина вывода (logic inference) - процедура получения решений задач в системах искусственного интеллекта.

    Модель представления знаний (modelfor knowledge representation) - формализм отображения объектов и отношений предметной области, связей между ними, иерархии понятий и изменения отношений между объектами.

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

    Нормальная форма (normalform) - форма задания ограничения типа функциональных зависимостей для устранения аномалий при выполнении операций над отношениями базы данных. Основание системы счисления (base of numeration) - количество символов, используемых в позиционной системе счисления.

    Отношение (relation) - таблица, содержащая некоторые данные и удовлетворяющая правилам задания отношений.

    Перекрестная ссылка (cross reference) - ссылка на заголовок, метку названия и ряд других элементов документа.

    Пиксел (pixel) -минимальный элемент растрового изображения.

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

    438

    Приложение Windows (Windows application) - программа, выполнимая под управлением Windows.

    Примитив (primitive) - простой геометрический объект (точка, линия, прямоугольник и т.д.) векторного изображения.

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


    Продукционная система (production system) - система представления знаний, основанная на использовании правил вида "Если То ".

    Рабочая книга (workbook) - основной документ табличного процессора Excel, размещаемый в файле с расширением xls.

    Рабочая станция (workstation) -как правило, персональная ЭВМ, являющаяся рабочим местом пользователя сети.

    Раздел документа (document section) - отдельная часть документа, в пределах которой можно установить свои параметры страниц и колонтитулов.

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

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

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

    Система счисления (numeration) -способ представления любого числа с помощью ограниченного алфавита символов, называемых цифрами.

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

    Сортировка списка (list sorting) - упорядочение записей списка в лексикографическом, хронологическом или другом (заданном пользователем) порядке.

    Спецификация файла (file specification) -имя файла с приставкой-указателем устройства и цепочки каталогов.

    Список (list) - специальная таблица рабочей книги Excel, с которой можно работать как с базой данных. Каждый столбец представляет поле, а строка - запись.

    Ссылка (reference) - запись адреса ячейки в формуле рабочей книги Excel. Различают ссылки абсолютные, относительные и смешанные.

    Стиль абзаца (paragraph style) - совокупность параметров шрифта, форматирования абзаца, табуляции, обрамления и заливки, язык, наличие кадра и маркированного или нумерованного списка.


    Субтрактивный цвет (subtractive color) - цвет, получаемый при вычитании разноцветных лучей.

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

    Схема алгоритма (scheme of algorithm) - описание алгоритма с помощью геометрических фигур (блоков), соединенных управляющими линиями.

    Схема отношения (scheme of relation) - список имен атрибутов отношения.

    Текущий указатель (currentpointer) - невидимый маркер, указывающий на текущую позицию (пиксел)экрана.

    439

    Телекоммуникации (telecommunications) - технические устройства, обеспечивающие прием и передачу информации на большие расстояния.

    Технология "клиент-сервер" ("client-server") - технология, согласно которой процесс обработки информации распределен между клиентом и сервером.

    Транзакция (transaction) - последовательность операций над базой данных, рассматриваемая системой управления базами данных как единое целое.

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

    Унификатор (unificator) двух термов - подстановка, которая делает термы одинаковыми.

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

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

    Форма (form) - средство ввода и редактирования данных в таблицах базы данных.

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

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

    Циклический вычислительный процесс (cyclic computing process) - процесс, содержащий многократно повторяемые участки обработки данных (циклы).

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


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

    Шрифт (font) - стандартизованный набор буквенно-цифровых и специальных символов некоторого алфавита, имеющих единообразный внешний вид.

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

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

    ASCH(American Standart Code for Information Interchange) - американский стандартный код для обмена информацией.

    CVF (Compressed Volume File) - файл сжатого тома, используемый программой сжатия данных DoubleSpace.

    DDE (Dynamic Data Exchange - динамический обмен данными) - стандарт установления связи между объектами двух файлов различных приложений такой, что изменение одного объекта вызывает автоматическое обновление другого.

    DNS (domain name system) - доменная система адресации в Internet, предполагающая использование символических составляющих (доменов) общего символического адреса, на основании которого определяется IP-адрес.

    Intranet - локальная (корпоративная) информационная сеть, построенная по принципам глобальной сети Internet.

    Internet - глобальная всемирная сеть, информация в которой хранится на серверах.

    IP-адрес - уникальный сетевой адрес в Internet, назначаемый каждому компьютеру, имеющий длину 32 бита и состоящий из 4 частей по 8 битов.

    440

    FAT (File Allocation Table) - таблица размещения файлов, используемая операционной системой для размещения и поиска файлов и каталогов на диске.

    FTP (File Transfer Protocol) - протокол для работы с любыми типами файлов (текстов, изображений, исполняемых программ) в сети с архитектурой "клиент-сервер".

    GDI (Graphics Device Interface) - модуль Windows, обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для дисплея и принтеров.


    Gopher - протокол работы с информационными ресурсами сети Internet с помощью команд, представленных в виде простых и понятных меню.

    HTML (HyperText Markup Language) - универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet.

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

    KOI8-R - стандартная кодировка русских страниц в Internet.

    MSIE (Microsoft Internet Explorer) - броузер фирмы Microsoft.

    OLE (Object Linking and Embedding - связывание и встраивание объектов) - один наиболее распространенных стандартов интеграции, положенный в основу разработки программных систем.

    OSI (Open Systems Interconnection reference model) - эталонная модель взаимодействия открытых систем.

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

    TCP/IP (Transmission Control Protocol/Internet Protocol - Протокол управления передачей данных/Протокол Internet) - семейство коммуникационных протоколов, используемых для передачи данных в сети Internet и во многих локальных сетях.

    TelNet - протокол, позволяющий использовать ресурсы удаленного компьютера, или протокол удаленного терминального доступа в сети Internet.

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

    URL (Uniform Resource Locator) - унифицированный указатель ресурсов, используется для адресования Web-страниц и других ресурсов Internet.

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

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

    Windows 1251 - кодировка, часто применяемая в компьютерах под управлением Windows и на серверах WWW под управлением Windows NT.

    WYSIWYG (What You See Is What You Get - что видите, то получите) - режим отображения редактируемого документа на экране в том виде, как он будет отпечатан.

    WWW (World Wide Web - всемирная паутина) - cредство организации сетевых ресурсов, построенное на основе гипертекстового представления информации.

    441

    437 :: 438 :: 439 :: 440 :: 441 :: Содержание

    Чистка магнитных дисков

    Чистка магнитных дисков представляет собой процесс удаления различного рода ненужных файлов для высвобождения дискового пространства. К числу ненужных файлов, появляющихся в процессе работы на компьютере, можно отнести временные, резервные, неиспользуемые файлы и файлы-дубликаты. Вопрос автоматической чистки дисков с помощью оболочки Norton Commander мы рассматривали в посвященном этой оболочке разделе. В среде Windows 95 для этих целей можно воспользоваться утилитой Space Wizard (Мастер дискового пространства) из комплекта Norton Utilities.
    Утилита Space Wizard оказывает помощь в поиске файлов, являющихся кандидатами па удаление, обеспечивает их пересылку, удаление и архивирование. При поиске могут быть обнаружены следующие группы ненужных файлов: временные файлы, лишние файлы, редко используемые, большие файлы и файлы-дубликаты.
    К временным файлам рассматриваемая утилита относит файлы с расширением tmp и все файлы, размещенные в папках TEMP и ТМР.
    К лишним файлам по умолчанию относятся файлы с расширением bak (файлы резервных копий), а также файлы ряда других типов. При необходимости пользователь может уточнит расширения файлов, относящихся к лишним, а также задать папки, содержимое которых будет также рассматриваться как лишние файлы.
    Редко используемые файлы определяются по дате последнего доступа к файлам, временные рамки при этом могут уточнятся пользователем.
    К большим относятся файлы, превосходящие по размеру заданную, уточняемую пользователем величину.
    К файлам-дубликатам относятся копии одного и того же файла, расположенные на одном диске. При этом файлы не обязательно должны иметь одинаковые имена. Отыскание их может выполняться по таким характеристикам, как даты создания и модификации файлов и их длина. Файлы с одинаковыми характеристиками сравниваются побитно во избежание ошибок.
    Для запуска утилиты Space Wizard (Мастер дискового пространства) можно из главного меню Windows 95 выполнить команду Программы | Norton Utilities \ Space Wizard (Programs \ Norton Utilities Space Wizard). При работе с утилитой можно выбрать один из двух режимов:
  • Express (быстрого поиска) - в этом режиме отыскиваются только временные файлы;

  • Comprehensive (исчерпывающего поиска кандидатов) - производится поиск всех перечисленых групп файлов.

  • Итоговый список файлов показывается утилитой в окне. Пользователь с помощью соответствующих кнопок может задать архивирование файлов (Compress), удаление файлов (Delete), пересылку файлов в другое место (Move) и завершить работу (Finish).
    95
    90 :: 91 :: 92 :: 93 :: 94 :: 95 :: Содержание

    Цвета

    Некоторые предметы видимы потому, что излучают свет, а другие - потому, что его отражают. Когда предметы излучают свет, они приобретают в нашем восприятии тот цвет, который видит глаз человека. Когда предметы отражают свет, то их цвет определяется цветом падающего на них света и цветом, который эти объекты отражают.
    360
    Излучаемый свет выходит из активного источника, например, экрана монитора Отраженный свет отражается от поверхности объекта, например, листа бумаги
    Существуют два метода описания цвета система аддитивных и субтрактивных цветов Система аддитивных цветов работает с излучаемым светом Аддитивный цвет получается при объединении разноцветных лучей света В системе используются три основных цвета красный, зеленый и синий (Red, Green, Blue - RGB) При смешивании их в разных пропорциях получается соответствующий цвет Отсутствие этих цветов представляет в системе черный цвет Схематично смешение цветов показано на рис 26 2 а
    Рис 26 2 Система смешения цветов
    В системе субтрактивных цветов происходит обратный процесс какой либо цвет получается вычитанием других цветов из общего луча света При этом белый цвет получается в результате отсутствия всех цветов, а присутствие всех цветов дает черный цвет. Система субтрактивных цветов работает с отраженным цветом, например, от листа бумаги. Белая бумага отражает все цвета, окрашенная - некоторые поглощает, остальные отражает.
    В системе субтрактивных цветов основными являются голубой, пурпурный и желтый цвета (Cyan, Magenta, Yellow - CMY) - дополнительные красному, зеленому и синему Когда эти цвета смешивают на бумаге в равной пропорции, получается черный цвет Этот процесс проиллюстрирован на рис 26 2 б В связи с тем, что типографские краски не полностью поглощают свет, комбинация трех основных цветов выглядит темно-коричневой Поэтому для корректировки тонов и получения истинно черного цвета в принтеры добавляют немного черной краски Системы цветов, основанные на таком принципе четырехцветной печати, обозначают аббревиатурой CMYK (Cyan, Magenta, Yellow, blacK)

    Существуют и другие системы кодирования цветов, например, представление его в виде тона, насыщенности и яркости (Hue, Saturation, Brightness - MSB)

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

    361

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

    Другое обозначение системы HSB - HSL (Hue, Saturation, Light - тон, насыщенность и освещенность).

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

    При работе с изображением компьютер создает палитру и присваивает каждому цвету номер, затем при указании цвета отдельного пиксела или объекта просто запоминается номер, который имеет данный цвет в палитре. Для запоминания числа от 1 до 16 необходимо 4 бита памяти, а от 1 до 256 - 8 битов, поэтому изображения, имеющие 16 цветов называют 4-битовыми, а 256 цветов - 8-битовыми. При сравнении с 24 битами, необходимыми для хранения полного цвета в системе RGB, или с 32 битами - в системе CMYK, экономия памяти очевидна.

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

    Действия с файлами документов

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

    Действия с ячейками

    Кроме ввода данных и редактирования содержимого с ячейками рабочей книги Excel можно выполнять следующие действия: копирование, перемещение, вставка, удаление и очистка содержимого.
    Копирование и перемещение содержимого ячеек может выполняться как в пределах текущего рабочего листа, так и в пределах листов одной или нескольких рабочих книг. Отличие операции копирования от операции перемещения состоит в том, что при копировании содержимое ячеек в их исходном местоположении сохраняется, а при перемещении - удаляется.
    Переместить или скопировать содержимое ячейки можно с использованием буфера обмена или с использованием мыши. Второй вариант возможен в случае, если на вкладке Правка (Edit) диалогового окна Параметры (Options) меню Сервис (Tools) установлен флажок Разрешить перетаскивание содержимого ячеек (Allow Cell Drag and Drop).
    При реализации первого способа сначала выполняются команды Вырезать (Cut) или Копировать (Сору) меню Правка (Edit), которые помещают содержимое ячеек в буфер обмена. Затем по команде Вставить (Paste) содержимое буфера обмена вставляется в нужное место таблицы. Эти же команды могут быть выбраны из контекстного меню копируемой ячейки (копируемого диапазона ячеек) и ячейки, которая определяет место вставки содержимого
    160
    буфера обмена, соответственно. Этот способ можно реализовать с помощью соответствующих кнопок панели инструментов Стандартная (Standard) или с помощью комбинаций клавиш: + - копировать; + - вырезать; + - вставить.
    Замечание.
    Операция вставки данных из буфера обмена может выполняться неоднократно. При этом "бегущая" штриховая рамка вокруг выделенных для копирования или перемещения ячеек остаётся видимой. Завершается операция вставки нажатием клавиши , после чего "бегущая" рамка исчезает.
    Переместить содержимое ячейки с помощью мыши можно следующим образом:
  • выделить диапазон ячеек;

  • поместить указатель мыши на границу выделенного диапазона (указатель мыши примет форму полой стрелки);

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


  • Для копирования нужно выполнить те же действия при нажатой клавише . Указатель мыши при этом будет дополнен знаком плюс.

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

  • скопировать или вырезать нужные ячейки в буфер обмена;


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


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


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

    Excel позволяет вставлять скопированные в буфер обмена значения ячеек в любое место таблицы после их предварительной обработки. Для этого необходимо выполнить команду Специальная вставка (Paste Special) меню Правка (Edit). В одноименном диалоговом окне задают различные параметры вставки:

  • в группе флажков Вставить (Paste) указывают, что должно быть вставлено (например, Формула (Formulas), Форматы (Formats), Значения (Values) и др.);


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


  • установкой флажка Транспонировать (Transpose) задают операцию замены строк на столбцы и столбцов на строки.


  • 161

    Процесс удаления ячеек не следует отождествлять с удалением содержимого (очисткой) ячеек.


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

    Проще всего очистку ячеек можно выполнить следующим образом: выделить необходимый диапазон (диапазоны ячеек) и нажать клавишу . Будет удалено только содержимое ячеек. Для удаления вместе с содержимым ячеек их примечаний и параметров форматирования используются соответствующие команды подменю Правка | Очистить (Edit \ Clear). Очистку ячеек можно производить также с помощью команды Очистить содержимое (Clear Contents) контекстного меню выделенного диапазона.

    Удаление предварительно выделенных ячеек осуществляется выполнением команды Удалить (Delete) меню Правка (Edit) или контекстного меню выделенного диапазона. В появившемся диалоговом окне выбирают направление смещения прилегающих ячеек.

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

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


  • выбирается команда Ячейки (Cells) (Строка (Rows), Столбец(Columns)) меню Вставка (Insert);


  • если вставляются ячейки, то в диалоговом окне Добавление ячеек (Insert) задают направление смещения прилегающих ячеек.


  • Аналогичный результат достигается с помощью команды Добавить (Insert) контекстного меню выделенного диапазона элементов.

    162

    160 :: 161 :: 162 :: Содержание

    Дифференциальные уравнения

    Maple предлагает четыре метода решения обыкновенных дифференциальных уравнений(ООЕ): точный, но Лапласу, численный и разложение в ряд. При численном решении дифференциальных уравнений Maple строит представляющие решение дополнительные функции и определяет их, о чем и сообщает пользователю. Графики этих функций можно построить, воспользовавшись командой Plot 2D ODE.

    Доменная адресация

    Адреса в Internet строятся по доменной системе адресации (domain name system, DNS). Это означает, что адрес пользователя состоит из двух частей: идентификатора пользователя и названия домена, разделенных символом @:
    @
    Идентификатор пользователя и название домена могут состоять из сегментов, разделяемых точкой. В адресе допускается использование латинских букв, цифр и некоторых других символов. Например:
    lvan.Kirillov@mycomputer.urfak-univers.spb.ru
    В примере идентификатор пользователя состоит из двух сегментов, а название домена - из четырех. Обычно сегменты домена или поддомены образуют иерархическую структуру: первый слева поддомен, как правило, является названием компьютера, которому присвоен этот адрес, следующий относится к названию организации, где находится этот компьютер, а крайний правый (поддомен верхнего уровня) является сокращенным обозначением страны. Приведенный адрес означает, что он принадлежит Кириллову Ивану, сотруднику юридического факультета Петербургского университета России, имеющему компьютер с именем mycomputer. Идентификаторы пользователей могут быть любыми: полное имя и фамилия, инициалы, фамилия с инициалами, прозвища, а также названия организаций или отделов. При этом на одном компьютере может быть произвольное (ограниченное допустимым количеством IP-адресов) число зарегистрированных пользователей со своими адресами или пользователь может
    426
    иметь несколько адресов на домене (один, например, для личной переписки, а другой - для официальной). Более того, можно иметь несколько адресов на разных компьютерах.
    Поддомен верхнего уровня, обозначающий страну, состоит обычно из двух букв: ш -Россия, su - территория республик бывшего Союза, са - Канада, uk - Великобритания, иа - Украина, de - Германия и т.д.
    В США традиционно используется другая система. Поддомен верхнего уровня состоит из трех букв и обозначает принадлежность владельца адреса к одному из следующих классов:
    com - коммерческие организации;
    edu - учебные и научные организации;
    gov - правительственные учреждения;
    mil - военные организации;
    net - сетевая администрация;
    org - прочие организации.
    В России поддомен второго уровня обычно обозначает город, либо географический регион, где расположен этот адрес, например:
    msk - Москва;
    spb - Санкт-Петербург;
    nsk - Новосибирск;
    altai - Алтайский край.
    Отметим, что в Великобритании поддомены адресов расположены в обратном порядке.
    427
    423 :: 424 :: 425 :: 426 :: 427 :: Содержание

    Дополнительные возможности

    Более сложные задачи система Derive может решать после загрузки входящих в нее дополнительных файлов через меню File \ Load \ Math (Файл \ Загрузить \ Математика). По миновании надобности эти файлы могут быть удалены из окна, а оставшиеся записи - перенумерованы.

    Файловая организация данных

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

    Файловая структура диска

    Операционная система освобождает пользователя от необходимости иметь каталоги размещения файлов, требуемые для доступа к ним, и ведет их сама. При обращении к
    62
    файлу пользователю достаточно указать его спецификацию (путь к файлу и имя). Операционная система сначала обращается к файлу-каталогу, находит в нем запись со сведениями о местоположении на диске файла, затем выполняются требуемые действия. При доступе к данным на диске операционная система использует хранящиеся на нем таблицу размещения файлов - FAT (File Allocation Table), корневой каталог (root) и подкаталоги. Стартовый сектор (загрузочная запись), таблица размещения файлов, корневой каталог и остающееся свободным пространство памяти диска, называемое областью данных, являются элементами файловой структуры диска. Они создаются операционной системой в процессе инициализации диска. На рис. 3.5 показана структура размещения данных на диске.

    Стартовый сектор
    FAT
    Корневой каталог
    Файлы, каталоги, свободное поле
    CVF
     

    Рис. 3.5. Элементы файловой структуры диска
    В дополнение к перечисленным ранее элементам в MS DOS, начиная с версии 6.0, па диске размещается используемый программой сжатия данных DoubleSpace файл сжатого тома CVF (Compressed Volume File). Таких файлов в системе может быть до 255.
    Жесткие диски характеризуются возможностью предварительного разбиения их на несколько разделов. Поэтому в начальных секторах жесткого диска содержится информация о количестве разделов, их местоположении и размерах. Разделы жесткого диска рассматриваются как автономные виртуальные диски. Каждый из них инициализируется отдельно, имеет собственное имя (C:,D:,E:...) и элементы файловой структуры, такие же, как у гибких дисков.
    63
    60 :: 61 :: 62 :: 63 :: Содержание

    Файлы

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

  • имя файла может иметь расширение, отделяемое от имени точкой и содержащее не более трех символов;

  • для записи имен файлов и расширений должны использоваться буквы латинского алфавита A...Z, цифры 0...9 и специальные знаки: - (минус), _ (подчеркивание), $, @, %,(,),^;, ',',{, },~,!;,#

  • в качестве имен файлов не должны использоваться следующие буквенные сочетания: AUX, CON, PRN, NUL, COM1, COM2, LPT1, LPT2, LPT3.

  • Пример 1. Варианты правильной записи имен файлов:
    basic.exe
    prod. pas
    prim.txt
    60
    Имя файла подбирается таким образом, чтобы по нему можно было легко определить содержимое. В частности, судя по именам, приведенным в примере 1, можно предположить, что в файле prod.pas хранится программа вычисления произведения.
    Расширение имени, как правило, указывает на тип хранящихся в файле данных. В табл. 3.1 представлены используемые MS DOS типовые расширения имен файлов.
    Таблица 3.1
    Типовые расширения имен файлов

    Типовое расширение Содержимое файла
    arj Архив, созданный архиватором ARJ
    asm Текст программы на языке Ассемблера
    bak Резервная копия файла
    bat Командный файл
    bin Двоичный файл с машинной программой или драйвером
    com Выполнимая программа с абсолютным адресом загрузки
    doc Файл документа
    dbf Данные СУБД dBASE, Clipper
    exe Выполнимая программа, требующая настройки
    inf Информационный файл
    ini Файл описания конфигурации программы
    obj Программа в объектном коде
    pas Исходный текст программы на Паскале
    sys Драйвер управления устройством

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

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

    61

    Пример 2. Варианты групповых имен файлов:

    *.txt - все файлы типа txt;

    а*.ехе - все файлы типа ехе, имена которых начинаются с буквы а;

    pr?.pas - все файлы типа pas, имена которых начинаются с символов рr и закапчиваются одним произвольным символом;

    *.* - все файлы;

    prim.* - все файлы любых типов с именем prim.

    Групповое имя файлов, к примеру, можно указывать в команде DIR, используемой для выдачи на экран дисплея каталогов диска. В этом случае на экран дисплея будут выводится сведения не о всех файлах, хранящихся на диске, а только о файлах указанной группы. Например, команда C:>DIR *.com выдаст на экран дисплея список хранящихся на диске С файлов типа com, a команда C:>DIR prim.* - список файлов на диске С всех типов с именем prim.

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

    А: razd.txt;

    C:number.dat;

    C:\DOS\SYS\format.exe.

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

    Рис. З.4. Пример древовидной структуры каталогов и файлов

    Отметим, что в среде MS DOS для любой выполняемой программы или отдельных ее компонентов (например, левой и правой панели оболочки Norton Commander) устанавливается текущий каталог. Если адресуемый файл находится в текущем каталоге, то достаточно указать только его имя.В противном случае необходимо указать его полную спецификацию или указать путь поиска данного файла по дереву каталогов в команде PROMPT в файле автозапуска autoexec.bat.

    Фильтрация списка

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

  • когда к ячейкам одного столбца необходимо применить три и более условий отбора:

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

  • Чтобы обработать таблицу с помощью автофильтра, необходимо вначале выбрать в качестве активной любую ее ячейку. После этого в меню Данные \ Фильтр (Data\Filter) выполнить команду Автофильтр (AutoFilter). Как только команда будет выполнена, в
    168
    первой строке таблицы рядом с именем каждого поля появятся кнопки со стрелками. Нажатие любой из этих кнопок приводит к открытию соответствующего набора строк. Каждая строка набора представляет собой одно из неповторяющихся значений ячеек выбранного столбца. Дополнительно к значениям в каждом наборе будут присутствовать строки с именами [Все] ([АН]), [Первые 10...] ([Тор 10...]) и [Условие...] ([Custom...]).
    Чтобы отфильтровать список по одному из имеющихся значений поля, достаточно выбрать это значение из развернувшегося набора строк. В списке остаются только те записи, которые содержат выбранное значение в данном столбце. Номера строк отфильтрованных таким образом записей и стрелка кнопки выбранного столбца будут высвечиваться синим цветом. Эти записи можно снова подвергнуть фильтрации по этому же или другому полю и г. д.
    Если для фильтрации по определенному полю выбрать строку [Первые 10...] ([Тор 10...]), то на экране появится диалоговое окно Наложение условия по списку (Тор 10 AutoFilter), в котором пользователь имеет возможность изменить условие: выбрать от 1 до 500 наибольших или наименьших элементов этого поля.
    После этого па экране монитора отображается выбранное количество записей, отвечающих заданному условию.

    Чтобы отфильтровать список по двум и более значениям, встречающимся в столбце, необходимо выбрать строку [Условие...] ([Custom...]). В появившимся диалоговом окне Пользовательский автофильтр (Custom AutoFilter) можно задать это условие отбора. Для этого используются операторы сравнения (>, =,

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

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


  • Выполнить команду Показать все (Show All) меню Данные \ Фильтр (Data \ Filter).


  • Отказаться от применения Автофильтра. Для этого следует еще раз выполнить команду Автофильтр (AutoFilter) меню Данные \ Фильтр (Data \ Filter). Все кнопки автофильтра, которые были в первой строке списка, исчезнут, и на экране высветится таблица в ее первоначальном виде.


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

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

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

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


    169

    поле "Должность" значение "Инженер-программист", в поле "ФИО сотрудника" - "Сидоров М.А.", а в поле "Дата получения премии" - все даты позже 15.02.97. В этом случае диапазон критериев будет выглядеть следующим образом:

      А С F
    55 ФИО
    сотрудника
    Должность Дата получения премии
    56 Сидоров М.А. Инженер- программист > 15.02.97
    Обратите внимание на следующее:

    1. Диапазон критериев начинается с 55 строки (отделен от списка рис. 13.1 одной пустой строкой).

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

    Для соединения условий отбора по схеме "ИЛИ" необходимо каждое из них разместить в отдельной строке:

      А С F
    59 ФИО
    сотрудника
    Должность Дата получения премии
    60 Сидоров М.А.    
    61   Инженер-программист  
    62     >15.02.97
    При задании оформленного таким образом диапазона критериев из списка будут выбраны все записи, содержащие либо значение "Сидоров М.А." в столбце "ФИО сотрудника", либо "Инженер-программист" в столбце "Должность", либо имеющие значение ">15.02.97" в столбце "Дата получения премии". Именно так задаются разные условия отбора на несколько полей списка одновременно.

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

      А С
    63 ФИО сотрудника Размер премии
    64 Петров С.А. >300
    65 Иванов А.С. >300
    из списка будут отобраны записи, содержащие значения "Петров С.А." и "Иванов А.С." в столбце "ФИО сотрудника" и имеющие размер премии более 300 рублей.

    170

    Пример 2. Три и более условий отбора накладываются на содержимое одного столбца списка.

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


    Например, для рассматриваемого списка следующий диапазон критериев:

      А
    67 ФИО
    сотрудника
    68 Линьков С.А.
    69 Петрова И.В.
    70 Липецких АЛ.
    задает отбор записей, содержащих в столбце "ФИО сотрудника" значения либо "Линьков С.А.", либо "Петрова И.В.", либо "Липецких А.Л.".

    Пример 3. В условии отбора используется возвращаемое формулой значение.

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

  • формула может иметь в своем составе несколько функций и зависеть от нескольких полей списка, но должна обязательно иметь в качестве результата логическую величину ИСТИНА (True) или ЛОЖЬ (False);


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


  • вычисляемый критерий должен иметь имя поля, не совпадающее ни с одним из имен полей списка;


  • формула должна ссылаться хотя бы на одно поле списка;


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


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

      А
    72 Всего руб.
    73 =E2+G2>800
    заданный для списка на рис. 13.1, позволяет найти фамилии сотрудников, которые имеют сумму оклада и премии более 800 рублей.

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

    171

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

    =E2=G2

    =E2

    В примерах в соответствии с требованиями по оформлению диапазонов критерий указаны относительные ссылки на первые ячейки двух полей: "Оклад (руб.)" и "Размер премии (руб.)".


    Более сложные критерии используют ссылки на ячейки нескольких записей списка или на ячейки вне списка, например: =Е2=$В$72 - сравнение значений ячеек в поле "Оклад (руб.)" с значением внешней по отношению к списку ячейки $В$72.

    Логические функции И, ИЛИ, НЕ расширяют возможности вычисляемых критериев. Например, формула =И(С2="Инженер";Р2>1.02.98) в критерии задает отбор записей, содержащих в поле "Должность" значение "Инженер" и в поле "Дата получения премии" - значение дат позже 1.02.98.

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

  • Активизировать одну из ячеек списка.


  • Выполнить команду Расширенный фильтр (Advanced Filter) меню Данные \ Фильтр (Data\ Filter).


  • В ноле Диапазон критериев (Criteria Range) появившегося диалогового окна Расширенный фильтр (Advanced Filter) указать ссылку на данный диапазон критериев.


  • Нажать на ОК.


  • Замечания.

  • При задании критериев строчные и прописные буквы не различаются.


  • При задании критериев можно использовать символы "*" и "?" в соответствии с правилами оформления шаблонов: "*" - любая последовательность символов,"?" - один символ в заданной позиции.


  • Отфильтрованные записи можно поместить в любое место текущего рабочего листа. Для этого в диалоговом окне Расширенный фильтр (Advanced Filter) нужно установить переключатель в положение Скопировать результат в другое место (Copy to Another Location) и в тюле Поместить результат в диапазон: (List Range:) указать место размещения отфильтрованных записей списка.


  • 172

    168 :: 169 :: 170 :: 171 :: 172 :: Содержание

    Фильтрация записей

    До сих пор в качестве результата запроса мы получали все записи исходной таблицы. Чаще возникает необходимость в просмотре части записей таблицы, удовлетворяющих определенным условиям. Процедуру отбора записей, отвечающих определенному условию, называют процедурой фильтрации записей. Для ее выполнения используется вкладка Filter (фильтр) Конструктора запроса. Рассмотрим эту процедуру па примере следующего запроса.
    Запрос 3. Выполнить запрос, аналогичный запросу 2, но сформировать список сведений только о преподавателях 25-й кафедры.
    Поля, входящие в условия отбора записей, не обязательно должны быть включены в запрос.
    Для задания условия фильтрации записей выберем вкладку Filter (фильтр). Из раскрывающегося списка полей исходной таблицы в столбце Field Name (имя поля) выберем поле T_prep.kaf для отбора. В списке Criteria (критерий) выберем оператор точного сравнения (= =). Далее зададим значение поля Kaf, по которому осуществляется сравнение. Для этого в поле Example (пример) введем значение 25. Рассматриваемый в примере запрос готов к выполнению.
    В раскрывающемся списке Criteria (критерий) содержатся следующие операторы сравнения:

    = - равенство,
    Like - вхождение,
    = = - фактическое равенство,
    > - больше чем,

    272

    - меньше чем,
    >= - не меньше чем,
    - не больше чем,
    Is NULL - совпадение с NULL,
    Between - в диапазоне значений,
    In - среди заданных значений.

    Оператор = (Equal) позволяет осуществлять поиск при условии знания части первых символов в значениях поля, по которому осуществляется поиск. Эта часть символов вводится в поле столбца Example (пример) и сравнивается со значением поля, указанного в столбце Field Name (имя поля).
    Оператор Like (подобие) выполняет посимвольное сравнение строки, стоящей слева со строкой стоящей справа, пока она не закончится.
    Операторы >, >=, =, а в поле Example (пример) ввести значение 10.
    При использовании оператора Between (между) начальное и конечное значение вводится через запятую.
    При задании диапазона для значений текстовых полей сравниваются коды символьных величин. Так, условие выбора "А, Д", помещенное в поле Example (пример) применительно к полю FIO позволит выбрать из таблицы Т_Ргер всех тех преподавателей, фамилии которых начинаются с букв в данном диапазоне.

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

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

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

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

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

    273

    272 :: 273 :: Содержание

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

    В среде Norton Commander 5.0 обеспечивается три варианта форматирования: безопасное, быстрое и форматирование DOS. При безопасном и быстром форматировании удаляется информация из корневого каталога и таблицы размещения файлов, сами данные па диске сохраняются. Поэтому информация на ошибочно отформатированной дискете при необходимости может быть восстановлена, к примеру, с помощью утилит Norton Utilities. При всех вариантах форматирования можно запросить создание системной дискеты.
    70
    Безопасное форматирование сопровождается повторной разметкой секторов на дорожках дискеты, выявлением и пометкой дефектных участков ее поверхности. При форматировании не форматировавшейся ранее дискеты и при изменении размера дискеты (с 1.44 Мбайтов на 720 кбайтов) безопасное форматирование выполняется как форматирование DOS.
    Быстрое форматирование выполняется заметно быстрее, но при этом не выявляются дефектные участки поверхности дискеты.
    Форматирование DOS сопровождается полным уничтожением хранимых на дискете данных, повторной разметкой секторов на дорожках дискеты, выявлением и пометкой дефектных участков ее поверхности.
    Для выполнения форматирования дискеты нужно вставить дискету в дисковод, выполнить команду Диск \ Форматирование дискеты (Disk \ Format Disk). Далее в открывшемся диалоговом окне Форматирование дискеты (Format Disk) нужно выбрать тип форматирования, размер дискеты, при необходимости задать опции создания системной дискеты и/или сохранения системной области и указать метку тома, затем нажать ОК.

    Форматирование текста и оформление документов

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

    Форматы графических файлов

    Краткая информация о графических файлах приведена в табл. 26.1.
    Таблица 26.1
    Типы графических файлов

    Название Тип Использование Фирма Расширение
    BMP (Windows BitMap) Растровый Хранение и отображение информации в среде Windows Microsoft bmp
    GIF (Graphics Inter-change Format) Растровый Передача данных в сети CompuServe CompuServe Inc. gif
    Kodak Photo CD Растровый Для фотографической информации Eastman Kodak pcd
    PCX (PC Paintbrush File Format) Растровый В графических редакторах Zsoft Corp. pcx
    JPEG (Joint Photographic Experts Group) Растровый Для фотографической информации Joint Photographic Experts Group jpg
    TIFF (Tagged Image File Format) Растровый Обмен данными между настольными и издательскими системами Aldus Corp. tif
    DXF (Drawing Interchange Format) Векторный Обмен чертежами и данными САПР Autodesk Inc. dxf
    CDR (Corel Drawing) Векторный Чертежная, издательская и другие виды графики Corel cdr
    WMF (Windows MetaFile) Векторный Хранение и отображение информации в среде Windows Microsoft wmf

    365
    Рассмотрим структуру файлов изображений типа BMP и TIFF, получивших наиболее широкое распространение на практике.

    Формирование исходного отношения

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

    ФИО Должн Оклад Стаж Д_Стаж Каф Предм Группа ВидЗан
    Иванов И.М. преп 500 5 100 25 СУБД 256 Практ
    Иванов И.М. преп 500 5 100 25 ПЛ/1 123 Практ
    Петров М.И. ст. преп 800 7 100 25 СУБД 256 Лекция
    Петров М.И. ст. преп 800 7 100 25 Паскаль 256 Практ
    Сидоров Н.Г. преп 500 10 150 25 ПЛ/1 123 Лекция
    Сидоров Н.Г. преп 500 10 150 25 Паскаль 256 Лекция
    Егоров В.В. преп 500 5 100 24 ПЭВМ 244 Лекция
    <
    /p> Рис. 19.7. Исходное отношение ПРЕПОДАВАТЕЛЬ

    237

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

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

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

    238

    234 :: 235 :: 236 :: 237 :: 238 :: Содержание

    Формирование вычисляемого поля в запросе

    В качестве полей результирующей таблицы могут использоваться вычисляемые поля. Вычисляемое поле представляет собой выражение, включающее одно или несколько полей исходной таблицы, константы и функции, соединенные операторами. Для включения в запрос вычисляемого поля необходимо выбрать вкладку Fields Конструктора запроса и в поле Function and expressions (функция и выражения) (рис. 22.1) ввести необходимое выражение. Далее после нажатия кнопки Add (добавить) данное выражение будет занесено в список полей запроса.
    Если нажать кнопку справа от поля Function and expressions (функция и выражение), то открывается диалоговое окно Построителя выражения - Expression Builder (рис. 22.5), упрощающего формирование выражения. Выбирая в поле From table (из таблицы) Построителя таблицу и в поле Fields (поля) - название поля, формируем требуемое
    275
    Рис. 22.5. Диалоговое окно Expression Builder
    выражение, которое при этом выводится в поле Expression (выражение). По нажатию О К вычисляемое поле переносится в список полей запроса.
    Результат выполнения многотабличного запроса с вычисляемым полем (Ехр_7) представлен на рис. 22.6.
    Рис. 22.6. Результат многотабличного запроса
    Из рис. 22.6 видно, что вычисляемому полю автоматически был присвоен заголовок (Ехр_7), который не очень содержателен. Есть возможность изменять заголовки полей в запросе. Для этого в поле Function and expressions (функция и выражения) Конструктора запроса к названию формируемого поля добавляется ключевое слово AS и новый заголовок.
    Сохраним результаты запроса в файле Query4.qpr
    276
    275 :: 276 :: Содержание

    Формы представления данных

    В ЭВМ используются следующие формы представления данных:
  • числа с фиксированной точкой (запятой);

  • числа с плавающей точкой (запятой);

  • десятичные числа;

  • символьные данные.

  • При представлении числа X в форме с фиксированной точкой указываются знак числа (sign X) и модуль числа (mod X) в q-ичном коде. Иногда такую форму представления чисел называют естественной формой. Место точки (запятой) постоянно для всех чисел и в процессе решения задач не меняется. Знак положительного числа кодируется цифрой "О", а знак отрицательного числа - цифрой "1".
    Код числа в форме с фиксированной точкой, состоящий из кода знака и qr-ичного кода его модуля, называется прямым кодом g-ичного числа. Разряд прямого кода числа, в котором располагается код знака, называется знаковым разрядом кода. Разряды прямого кода числа, в которых располагается g-ичный код модуля числа, называются цифровыми разрядами кода. При записи прямого кода знаковый разряд располагается левее старшего цифрового разряда и обычно отделяется от цифровых разрядов точкой.
    В общем случае разрядная сетка ЭВМ для размещения чисел в форме с фиксированной точкой показана на рис. 1.4 а.
    На рисунке показано п разрядов для представления целой части числа и m разрядов - для дробной части числа.
    27
    Рис. 1 .4. Формы представления чисел в ЭВМ
    При заданных л и АЛ диапазон изменения модулей чисел, коды которых могут быть представлены в данной разрядной сетке, определяется неравенством
    q-m ?|Х| ? qn - q-m.
    Для двоичной системы счисления это
    2-m; ? |Х| ? 2n - 2-m.
    Соответственно максимальное и минимальное значения чисел определяются формулами:
    Xmax=+(qn-q-m);
    Xmin=-(qn-q-m);
    Использование формы с фиксированной точкой для представления смешанных (с целой и дробной частью) чисел в ЭВМ практически не встречается. Как правило, используются ЭВМ либо с дробной арифметикой (n=0), либо с целочисленной арифметикой (n=0).
    Форма представления чисел с фиксированной точкой упрощает аппаратную реализацию ЭВМ, уменьшает время выполнения машинных операций, однако при решении задач па машине необходимо постоянно следить за тем, чтобы все исходные данные, промежуточные и окончательные результаты находились в допустимом диапазоне представления.
    Если этого не соблюдать, то возможно переполнение разрядной сетки, и результат вычислений будет неверным. От этих недостатков в значительной степени свободны ЭВМ, использующие форму представления чисел с плавающей точкой, или нормальную форму.

    В нормальной форме число представляется в виде произведения

    Х=т qp,

    где т - мантисса числа;

    q - основание системы счисления;

    р - порядок.

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

    28

    Например, десятичное число 73,28 в нормальной форме может быть записано в следующих вариантах:

    Х(10) = 73,28·100 = 7,328·10t= 0,7328·102 = 0,07328·103 = ... 732,8·10-1 и т.д.

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

    q-1 ? |m| < q0 = 1 .

    В общем случае разрядную сетку ЭВМ для размещения чисел в нормальной форме можно представить в виде, изображенном на рис. 1.4 б. Разрядная сетка содержит:

  • разряд для знака мантиссы;


  • r цифровых разрядов для q-ичного кода модуля мантиссы;


  • разряд для кода знака порядка;


  • s разрядов для q-ичного кода модуля порядка.


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

    q-1q-(qs-1)?|X|?(1-q-r)(qs-1)

    В конкретной ЭВМ диапазон представления чисел с плавающей точкой зависит от основания системы и числа разрядов для представления порядка.

    Примерами применяемых форм чисел с плавающей точкой с различными основаниями системы счисления являются:

    X=m·2p, где 1/2?|m|

    X=m·8p, где 1/8?|m|

    X=m·16p, где 1/16?|m|

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


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

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

    В зонном формате для представления десятичных цифр используется двоичный код обработки информации (рис. 1.5 а). Каждая цифра в этом коде занимает байт, причем в левую тетраду (зону) записывается код llll(2)=F(16). Исключение составляет один из крайних байтов, в котором разряды зоны отведены для представления знака числа.

    29

    Например, в ЕС ЭВМ для представления знака "плюс" выбран код 1100(2)=С(1()), а для представления знака "минус" - код 1101 =D()()). Код знака записывается в зону последнего байта (рис. 1.5 а). Так, число -6285 в зонном формате будет представлено в виде F6 F2 F8 D5.

    а)

    Байт Байт ... Байт Байт
    Зона Цифра Зона Цифра ... Зона Цифра Зона Цифра
    б)

    Байт Байт ... Байт Байт
    Цифра Цифра Цифра Цифра ... Цифра Цифра Цифра Знак
    в)

    Байт Байт ... Байт Байт
    Знак Цифра Цифра Цифра ... Цифра Цифра Цифра Цифра
    Рис. 1.5. Представление десятичных чисел

    В упакованном формате каждый байт содержит код двух десятичных цифр. Правая тетрада последнего байта используется для кода знака числа (рис. 1.5 б). Десятичное число должно занимать целое число байтов. Если это условие не выполняется, то левая тетрада левого байта заполняется нулями. Например, код десятичного числа -6285 в упакованном формате имеет вид 06285D.


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

    В малых ЭВМ десятичные числа в упакованном формате (рис. 1.5, в) представляются дополнительным кодом, причем знаку плюс соответствует код 0000, а знаку минус - код 1001(2). Код того же десятичного числа Х(10) = -6285 в упакованном формате для малых ЭВМ имеет вид [X (10) ] доп = 9.3715.

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

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

    30

    Таблица 1.2

    Двоичный код обработки информации

    0 1 2 3 4 5 6 7 8 9 A В С D Е F
    0 ПУС API ВЦФ Д16 Про-
    бел
    & -   ц и я ь { } \ 0
    1 НЗ СУ1 нзн Д17     /   а j   ы А J дз 1
    2 НТ СУ2 РП син         b k s 3 В К S 2
    3 КТ СУЗ доз Д19         с 1 t ш С L т 3
    4 ВЫП ВСТ БК ВКП         d m u э D М и 4
    5 ГТ НС ПС ОСУ         е n V щ Е N V 5
    6 НП ВШ КБ вп       ю f 0 vv ч F О W 6
    7   ожд АР2 кп       а g P X ъ G Р X 7
    8 Д23 АН Д08 Д24       б h q У ю Н Q Y 8
    9 Д13 КН Д09 Д25         i r z А I R Z 9
    А НРБ УУК УР Д26 [ ] | : д к P Б X Н Т 3
    В ВТ СП1 СП2 СПЗ .   , # е л с Ц И О У Ш
    С ПФ РФ Д12 СТП * % @ Ф M т Д И П Ж Э
    D ВК РГ ктм НЕТ ( )     г H У Е К Я в Ц
    Е ВЫХ РЗ ДА дзо + ; > = X 0 ж Ф Л Р в Ч
    F ВХ РЭ зв ЗМ ! ¬ ? " II П в Г м С ы
    <


    /p> можно закодировать 28=256 символов (табл. 1.2). В КОИ-7 используется только 7 разрядов байта, что позволяет кодировать 27=128 символов. Левый разряд каждого байта в этом случае всегда равен 0.

    Символьная информация представляет собой последовательность знаков, представленных в ДКОИ или КОИ-7. При записи содержимого байта на бумаге обычно используются две шестнадцатеричные-цифры. Например, фамилия Брякалов Г.А. занимает 13 байтов, как это показано в табл. 1.3.

    Таблица 1.3

    Запись символьной информации

    Номер байта 1 2 3 4 5 6 7 8 9 10 11 12 13
    Символ Б Р я к а л 0 в   Г   А  
    Код символа ВА АА АО 77 ЕЕ 40 DF В9
    Во многих микропроцессорных системах и персональных ЭВМ для представления алфавитно-цифровых символов используется код ASCII (American Standart Code for Information Interchange - американский код обмена информацией), расширенный путем добавления букв русского алфавита. Для представления каждого символа также отводится один байт. Следует подчеркнуть, что все виды представления символьной информации отличаются только кодировкой символов.

    31

    Фреймы

    Метод представления знаний с помощью фреймов предложен М.Минским. Фрейм - это структура, предназначенная для представления стереотипной ситуации. Каждый фрейм описывает один концептуальный объект, а конкретные свойства этого объекта и
    293
    факты, относящиеся к нему, описываются в слотах - структурных элементах данного фрейма. Все фреймы взаимосвязаны и образуют единую фреймовую систему, в которой объединены и процедурные знания.
    Концептуальному представлению свойственна иерархичность, целостный образ знаний строится в виде единой фреймовой системы, имеющей иерархическую структуру. В слот можно подставить разные данные: числа или математические соотношения, тексты, программы, правила вывода или ссылки на другие слоты данного или других фреймов.
    Фрейм определяется как структура следующего вида:
    (ИМЯ ФРЕЙМА;
    ИМЯ СЛОТА1 (ЗНАЧЕНИЕ СЛОТА1)

    ИМЯ СЛОТА2 (ЗНАЧЕНИЕ СЛОТА2)

    .......................................................................

    ИМЯ СЛОТА N (ЗНАЧЕНИЕ СЛОТА N))
    Определим, например, фрейм для объекта "Служащий":
    (Служащий
    ФИО (Петров И.П.)

    Должность (инженер)

    Категория (2)

    ................................... ))
    Если значения слотов не определены, то фрейм называют фреймом-прототипом, в противном случае - конкретным фреймом или экземпляром фрейма.
    В теории фреймов ничего не говорится о методах реализации фрейма. Вслед за появлением теории фреймов появилось целое семейство систем программирования, поддерживающих концепцию фрейм-подхода: KRL, GUS, FRL, OWL и другие.
    Для большинства фреймовых языков свойственно иерархическое описание объектов предметной области с использованием типовых фреймов. При этом широко используется механизм наследования свойств одного объекта (представленных в виде значений слотов связанного с ним фрейма) другими объектами. Используются такие виды наследования, как класс - подкласс, класс - экземпляр класса. Это позволяет согласовать однотипную информацию различных объектов, а также в дальнейшем обеспечить соответствующее их поведение.

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

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

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

    294

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

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

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

    Функции и операции

    Derive имеет традиционный набор элементарных функций - показательных, логарифмических (в том числе по задаваемому вторым аргументом произвольному целому основанию), прямых и обратных тригонометрических и гиперболических
    205
    Для преобразования выражений, включающих встроенные функции, необходимо задать соответствующий класс функций в команде Declare\Algebra State\Simplification (Объявить {Алгебраическое состояние \ Упрощение). Предварительно в исходной конструкции выделяют подвыражение, "проблемы" которого попадают в этот класс.
    В Derive имеются три группы основных операций: Simplify (Упростить) занимается эквивалентными преобразованиями выражений, Calculus (Вычислить) - операциями математического анализа, Solve (Решить) - решением уравнений и систем линейных уравнений. Все эти действия применяются к выделенному выражению или подвыражению.
    При описании их подгрупп в угловых скобках будет указываться вызывающая комбинация клавиш.

    Функции-списки

    Функции-списки позволяют задавать двуместные отношения между двумя списками значений, которые представляют область определения (domain) и область значений (range) функции-списка.
    Области определения и значения функций-списков, тип соответствия между ними для каждой функции-списка задаются при описании вычислительной модели задачи на панели List Function Subsheet. Для вызова этой панели нужно па панели Function Sheet указать имя функции в поле Name, выбрать тип List в поле Туре и щелкнуть правой кнопкой мыши.
    Допускается использование следующих типов соответствий в функциях-списках:
  • таблицы (тип функции fab/e, 1-1 соответствие);

  • интервалы (тип функции step, 1-N соответствие);

  • линейная интерполяция (тип функции linear);

  • кубическая интерполяция (тип функции cubic).

  • Список, задающий значения домена функции-списка, просматривается, начиная с головы, т.е. с первого элемента, и в качестве результата выдается первое встретившееся подходящее решение.
    Все типы функций-списков являются одноместными и могут вызываться как процедуры с помощью CALL или использоваться в выражениях. Примеры обращения к функциям-спискам:
    weight = PTE(element)
    call PTE(element;weight)
    elasticity = prop2( material)
    density = air3(air1 (altitude)*air2(temperature))
    Для функций-списков обязательным является соблюдение эквивалентности типов данных переменных, используемых при обращении к функции, и используемых в ее теле типов значений домена и диапазона. При этом имена списков для доменов и диапазонов, задаваемые в теле функции, могут совпадать с именами аргументов функции при обращении к ней.
    344
    Табличные функции-списки (тип функции table в поле Mapping) описывают бинарные таблицы. Элементами первого столбца (Domain) таблицы являются значения элементов списка, указанного в поле Domain List. Элементы второго столбца (Range) связаны со списком, указанным в поле Range List. Элементы списков могут принимать числовые или символьные значения. Ниже приведен текст табличной функции с именем country_capital, содержащей символьные данные.

    =================== LIST FUNCTION: country_capital ===================

    Comment: Определение столицы страны
    Domain List: country
    Mapping: table
    Range List: capital
    Element- Domain-------------------Range--------------

    1 'Russia 'Moscow
    2 'France 'Paris
    3 'England 'London
    Возможны следующие варианты обращения к функции:

    cap = country_capital(ctry)

    callcountry_capital(country;capital)

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

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

    =================== LIST FUNCTION: xfourth =====================

    Comment: четвертая степень х

    Domain List: x
    Mapping: Step
    Range List: у
    Element --------- Domain -------------- Range ----------------

    1 1 1
    2 2 16
    3 3 81
    4 4 256
    Если в модели есть предложение вида: у = xfourth(x) и х=2.5, то у примет значение, равное 16.

    345

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

    Если бы для функции xfourth была бы использована линейная интерполяция, (в поле Mapping указать тип функции linear), то при обращении к ней с тем же значением аргумента х=2.5 результат получился бы равным 48.5, а если бы кубическая (в поле Mapping указать тип функции cubic), то результат получится равным 38.5.Из примера функции xfourth, а в ней заданы значения для функциональной зависимости у = хЛ4, видно, что целесообразно использовать для данного соответствия кубическую интерполяцию, так как при этом обеспечивается наибольшая точность вычислений (2.5Л4=39.0625).

    Функции

    В ТК Solver поддерживается использование функций следующих типов:
  • функции-списки, задают различные виды соответствий между элементами двух списков;

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

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

  • 342
    В системе ТК Solver имеется библиотека, которая содержит более 100 различных встроенных функций и процедур-функций: тригонометрические и гиперболические функции, функции для действий над комплексными данными, булевы функции, функции и процедуры для работы со списками, функции для обработки строковых данных, функции для преобразования полярных и прямоугольных координат, функции для работы с файлами. Кроме того, имеются функции вычисления квадратного корня, возведения в степень, определения знака, вычисления ближайшего целого и ряд других. В состав библиотеки входят математические константы: РI() - константа ?= 3.141592653589793 и Е() - константа е = 2.718281828459045.
    Примеры использования в уравнениях встроенных тригонометрических функций:
  • l.y-y0 = sin(x)/x;

  • a/sind(A) = b/sind(B);

  • ехр(-t^2) = рhi

  • circumference = 2*pi()*radius.

  • Кроме использования встроенных функций, можно описывать и использовать функции пользователя.
    343
    339 :: 340 :: 341 :: 342 :: 343 :: Содержание

    Функциональное программирование

    Сущность функционального (аппликатнвного) программирования определена Л, II. Ершовым как "... способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени для функции, а единственным правилом композиции - оператор суперпозиции функции. Никаких ячеек памяти, ни операторов присваивания, ни циклов, пи, тем более, блок-схем, ни передачи управления".
    Роль основной конструкции в функциональных языках играет выражение. К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций. Функция трактуется как однозначное отображение из Хn в X где Х- множество выражений.
    49
    Аппликативный язык программирования включает следующие элементы:
  • классы констант, которыми могут манипулировать функции;

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

  • правила построения новых функций из базовых;

  • правила формирования выражений на основе вызовов функций.

  • Программа представляет собой совокупность описаний функций и выражения,
    которые необходимо вычислить. Данное выражение вычисляется посредством редукции, то есть серии упрощений, до тех пор, пока это возможно по следующим правилам: вызовы базовых функций заменяются соответствующими значениями; вызовы небазовых функций заменяются их телами, в которых параметры замещены аргументами.
    Функциональное программирование не использует концепцию памяти как хранилища значений переменных. Операторы присваивания отсутствуют, вследствие чего переменные обозначают не области памяти, а объекты программы, что полностью соответствует понятию переменной в математике. В принципе, можно составлять программы и вообще без переменных. Кроме того, нет существенных различий между константами и функциями, то есть между программами и данными. В результате этого функция может быть значением вызова другой функции и может быть элементом структурированного объекта. Число аргументов при вызове функции не обязательно должно совпадать с числом параметров, указанных при ее описании. Перечисленные свойства характеризуют аппликативные языки как языки программирования очень высокого ^уровня.
    Первым таким языком был LlSP(Лисп) (LISt Processing - обработка списков), созданный в 1959 году. Цель его создания состояла в организации удобства обработки символьной информации. Существенная черта этого языка - унификация программных структур и структур данных: все выражения записываются в виде списков.

    Главное меню

    Вход в систему осуществляется выделением пиктограммы swp-pro.exe (синяя бабочка). Пункты главного меню (рис. 16.1) предоставляют обычные возможности стандартных операций с файлами, редактирования, управления просмотром, получения справочной информации.
    Рис. 16 1. Окно SWP
    Пункт Maple (рис. 16.2) обеспечивает вызов функций символьной математики, выполнение численных расчетов, построение графиков
    196
    Рис. 162. Команды пункта меню Maple

    Графика

    После записи функции одной переменной можно построить ее график, вызвав команду Plot 2D. Перечислив (через красную запятую) несколько функций, получим их графики на одном рисунке. Для добавления новой кривой достаточно "втащить" в рисунок соответствующее выражение или имя функции. График может быть построен по точкам, заданным координатами в виде матрицы n x 2 или заключенного в квадратные скобки списка пар (х, у). Размеры и пропорции кадра можно менять.
    Оформление рисунка корректируется в Picture Properties (Свойства рисунка). Можно добавлять или уничтожать кривые, изменять их аналитические выражения, менять диапазоны переменных, вид кривых (точки или линии), толщину линии, количество опорных точек, масштаб (линейный, полулогарифмический, логарифмический). Возможно построение графиков для параметрических, полярных, неявных зависимостей, векторных и градиентных полей.
    Аналогичные, но еще более богатые (например, в смысле выбора систем координат) возможности имеет трехмерная (3D) графика.
    Рисунки в SWP запоминаются как совокупность порождающих Maple-команд и системных установок, включая определяемые функции. По этой причине они хранятся исключительно компактно. Перенос рисунков возможен только в среде SWP (это самое большое неудобство для пользователей LaTeX - если не применять вклейку или двухпроходную печать).
    203
    203 :: Содержание

    Группа операций Calculus

    Calculus Limit позволяет выбрать переменную, предельную точку и - при необходимости - направление стремления к ней. В качестве предельной точки допускается бесконечность, набираемая как inf или нажатием кнопки математической панели. Приведем пример успешно вычисленного Derive предела:
    Calculus Differentiate доставляет частную производную выражения. В команде указываются переменная дифференцирования и кратность производной. Для получения смешанной производной следует применить вложенный оператор дифференцирования.
    Calculus Taylor Series дает полиномиальную аппроксимацию выражения в указанной точке. Порядок аппроксимации определяется числом учтенных производных и может быть выше степени результирующего многочлена.
    Calculus Integrate вычисляет первоообразную функции. Здесь указываются переменная интегрирования, а для определенного интеграла - дополнительно нижний и верхний пределы. Первообразная указывается без произвольной постоянной. Пример:
    ?
    dx
    1+ex
      =x-ln(ex+1)
    Определенный интеграл с числовыми пределами в режиме аппроксимации вычисляется по адаптивной формуле Симпсона. Система распознает критические ситуации (особенность внутри или на границе интервала, очень малое значение интеграла) и выдает соответствующее предупреждение. В точном или смешанном режиме система пытается получить замкнутую форму первообразной.
    При вычислении кратного интеграла следует начинать набор с внутреннего интеграла и задавать интегрирование повторно. Приведем пример с двумя этапами набора двойного интеграла и результат:
    a·(
    ?
    4
      -
    1
    6
      )·|a|;
    Если Derive не может выразить интеграл через ранее определенные функции, в строке состояния выводится сообщение "No elementary integral". В таких случаях можно попытаться сделать подстановку или интегрирование по частям либо аппроксимировать подынтегральное выражение.
    207
    Calculus Sum вычисляет сумму, заданную общим членом, переменной суммирования и пределами. Аналогично работает Calculus Product (Вычисление произведения).
    208
    205 :: 206 :: 207 :: 208 :: Содержание

    Группа операций Simplify

    Диалоговый блок Declare\Algebra State \ Simplification (Объявить {Алгебраическое состояние \ Упрощение) содержит поля Exponential (Экспоненциальное), Logarithm (Логарифим), Trigonometry (Тригонометрия), Trig Powers (Тригонометрические показатели), Angular Unit (Угловая единица), Precision (Точность), Branch (Ветвь). Коррекция их содержимого с последующим нажатием ОК меняет установку системных переменных и выполняет преобразования. При этом в окно выводится информация типа Logarithm:=Collect.
    Режим Collect проводит преобразования в направлении объединения аргументов (например, eX·ey> ех+у ),Expand - в обратном направлении, Auto обеспечивает типичный вариант.
    Поле Branch позволяет указать правило выбора ветви многозначных функций из вариантов {Principal, Real, Any}. Выбор Any расширяет возможности выполнения преобразований.
    Simplify Basic (< Ctrl >+< В >) приводит подобные члены, исключает нулевые слагаемые и единичные сомножители, сокращает дроби на общий наибольший делитель, приводит дроби к общему знаменателю и т.д.
    Simplify Factor (+) разлагает число или выражение на сомножители по всем или указанным переменным. Дополнительный аргумент (Trivial, Squarefree, Rationa, Radical, Complex) определяет желаемый вид сомножителей.
    Simplify Expand (+) разлагает выражение по степеням указанной переменной. Дробные выражения разлагаются на элементарные дроби.
    Simplify Substitute for Variables (+) позволяет подставить в выделенное выражение значения переменных. В предложенном окне будет дан список входящих в выражение переменных. Щелкнув мышью по переменной, нужно затем щелкнуть по строке подстановки и набрать нужное значение.
    Simplify Substitute for Subexpression может заменять в выделенной конструкции одно подвыражение другим (на выбор - все вхождения или единственное).

    Группа операций Solve

    Здесь имеются варианты Algebraically, Numerically, System - для точного и численного решения уравнений и решения систем линейных алгебраических уравнений.
    206

    Групповое сжатие

    Групповое сжатие представляет собой одну самых простых схем сжатия файлов. Суть его заключается в том, что серия повторяющихся величин заменяется единственной величиной и ее количеством. На примере можно заметить выгоду в длине между "aabbbbbbbcdddeeeeaaa" и "2а7Ы c3d4e3a". Данный алгоритм прост в реализации и хорошо сжимает графические файлы с большими однотонными областями. Групповое кодирование используется во многих форматах растровых файлов, таких как TIFF; PCX и т.д.

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

    Среди широкого множества антивирусных программ у отечественного пользователя наибольшую популярность приобрели программы-полифаги Aidstest и Doctor Web, входящие в состав комплекта АО "Диалог-Наука". Причем предпочтение все в большей степени отдается программе Doctor Web, позволяющей обнаруживать п обезвреживать вирусы-мутанты, с которыми Aidstest справиться не в состоянии. Однако названные программы работают на разных наборах вирусов и дублирования проверки не происходит, поэтому для надежности целесообразно использовать их совместно. В состав комплекта АО "Диалог-Наука" входят также ревизор диска ADinf и лечащий блок ADinf Cure Module.
    Определенным недостатком применения программ Aidstest и Doctor Web является необходимость их принудительного запуска для проведения антивирусной проверки дисков п оперативной памяти компьютера. В этом смысле большие гарантии и удобства предоставляет использование программы-полифага Norton AntiVirus, которая может быть установлена резидентно. По своим возможностям обнаружения вирусов она сопоставима с программой Doctor Web. Определенными накладными расходами резидентной установки программы Norton AntiVirus является естественное замедление в работе компьютера.
    Отметим, что программа Norton AntiVirus версии 4.0 по результатам тестирования, описанным в журнале Мир ПК № 4, 1998 г., заняла первое место среди восьми популярных зарубежных программ: Dr. Solomon AntiVirus 7.0, F-Prot Professional 2.15, IBM AntiVirus 3.0.1, Inoculation AntiVirus 5.0 for Windows 95, McAfee VirusScan 3.0, Norton AntiVirus 4.0, PC-cillin Anti-Virus 3.0 и ThunderByte AntyVirus Utilities 8.0.3.
    Программа Doctor Web предназначена для борьбы с полиморфными вирусами, способна обнаруживать изменения в собственном теле. С помощью мощного аналитического анализатора может распознавать заражение файлов неизвестными вирусами, в том числе в упакованных файлах.
    Программой предусматривается возможность проведения эвристического анализа па трех уровнях.
    При этом исследуются файлы и системные области дисков с целью обнаружения неизвестных вирусов по характерным кодовым последовательностям.

    86

    Работа с программой может выполняться в режиме полноэкранного интерфейса с использованием меню и диалоговых окон или в режиме вызова из командной строки. Второй вариант предпочтителен при многократном регулярном использовании программы для контроля дискет. При этом для удобства команду запуска программы Doctor Web включают в меню пользователя оболочки Norton Commander пли в командный файл.

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

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

    Программа Norton AntiVirus фирмы Semantec предназначена для выполнения антивирусной проверки и обезвреживания вирусов при работе в среде Windows. Программа имеет удобный интерфейс, способна обнаруживать и уничтожать свыше 12 тысяч вирусов. Пользователь может устанавливать разнообразные настройки программы, например, задание периодической еженедельной проверки компьютера, режим автоматической проверки, указание перечня контролируемых объектов и др. В случае полной установки Norton AntiVirus компьютер защищен от проникновения вирусов через жесткие и гибкие диски, через локальную сеть или Internet.

    Norton AntiVirus позволяет автоматически:


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


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


  • проверять раз в неделю на вирусы загрузочный жесткий диск;


  • контролировать подозрительные операции, которые могут означать действие вируса;


  • проверять файлы, выгружаемые из Internet;


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


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


  • С помощью Norton AntiVirus можно: проверить на вирусы отдельные файлы, папки пли диски; запланировать автоматический поиск вирусов в заданное время; по плану или в любой нужный момент выполнить обновление файлов описания вирусов с помощью функции LiveUpdate.

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

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

    87

    Борьбу с вирусами Norton AntiVirus ведет следующим образом

  • Выявляет проникшие в систему известные вирусы и уничтожает их (автозащита)


  • Преграждает вирусам путь в систему (автозащита и вакцинация)


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


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


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

  • известного или неизвестного вируса,


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



  • изменения вакцинации ( когда файл либо не вакцинирован, либо подвергся изменению с момента последней вакцинации)


  • Norton AntiVirus может исправить большинство зараженных файлов Однако, если исправить файл не удается, его необходимо удалить с диска и затем заменить незараженной копией Следует хранить оригинальные диски программ в безопасном месте и создавать резервные копии ценных файлов

    Уничтожение вирусов Существует два способа уничтожения вирусов

  • Исправление зараженного файла, загрузочной записи или главной загрузочной записи


  • Удаление зараженного файла с диска и посчедующая замена его незараженной копией


  • Рис 6.2 Главное окно Norton AntiVirus

    88

    При проверке программных файлов Norton AntiVirus просматривает также документы и шаблоны Microsoft Word и Excel Хотя эти файлы не являются программными, в них могут легко проникать так называемые макровирусы

    В главном окне программы (рис 6 2) для обнаружения вирусов можно сделать следующее нажать кнопку Поиск (Scan Now), чтобы сразу приступить к проверке выбранных дисков, в меню Поиск(Sсап) выполнить команду Файл (File) или Папки (Folders), чтобы выбрать для проверки конкретные файлы или папки

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

    Параметры (Options) открывает диалоговое окно настройки (рис 6 3), в котором можно выбрать различные режимы и функции Norton AntiVirus

    Вирусы (Virus List) выводит список известных программе вирусов, где о каждом из них можно просмотреть подробную информацию

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

    Журнал (Activity Log) показывает хронологию действий Norton AntiVirus (например, в нем фиксируются все случаи обнаружения известных вирусов или обновления файлов описания вирусов, выполненного функцией LiveUpdate)

    Рис 6 3 Диалоговое окно Параметры

    89

    LiveUpdate выполняет процедуру обновления файлов описания вирусов.

    Вкладки диалогового окна Параметры (Options) (рис. 6.3) имеют следующее назначение.


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

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

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

    Общие (General) - параметры вкладки действуют при любом варианте поиска файлов и устанавливают, нужно ли резервировать файлы перед исправлением. Резервированные вирусные файлы получают расширение VIR.

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

    Пароль (Password) - позволяет задать пароли для отдельных видов операций, например, для просмотра списка вирусов, девакцинирования файлов, изменения параметров антивирусной проверки и др.

    Сигналы (Alerts) позволяет задать текстовый и звуковой сигналы, определить период закрытия сигнального окна.

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

    Журнал (Activity Log) - параметры журнала определяют, какие действия будут в нем регистрироваться (обнаружение известных вирусов, обнаружение неизвестных вирусов, действия вакцинации и т.п.).

    90

    83 :: 84 :: 85 :: 86 :: 87 :: 88 :: 89 :: 90 :: Содержание

    Характеристика и архитектура

    Windows 95 представляет собой 32-разрядную операционную систему, обеспечивающую многозадачную и многопоточную обработку приложений (программ). Она поддерживает удобный графический пользовательский интерфейс, возможность работы в защищенном режиме, совместимость с программами реального режима и сетевые возможности. В Windows 95 реализована технология поддержки самонастраивающейся аппаратуры Plug and Play, допускаются длинные имена файлов и обеспечиваются повышенные характеристики устойчивости.

    Характеристика интерфейса

    После запуска Visio в его главном окне (рис. 18.1) с помощью меню File (Файл) или кнопок панели инструментов можно выбрать один из трех основных режимов работы: новые файлы для схемы либо трафарета или открытие ранее созданной схемы. Пас будет интересовать в основном первый режим - рисование схем В этом случае предлагается выбор шаблона для соответствующей предметной области. Перед открытием ранее созданного файла со схемой в окне Preview (Предварительный просмотр) можно видеть ее уменьшенное изображение.
    Рис. 18.1. Главное окно Visio
    После выбора шаблона мы входим в окно рисования схем (рис. 18.1) Верхняя его часть содержит обычные пункты меню и панель инструментов. При задержке указателя мыши на кнопке панели появляется поясняющий ее функции ярлык, что избавляет нас от описания их назначения.
    214
    В левой части окна представлен заказанный при входе трафарет с набором стандартных фигур и соединителей. Таких наборов может быть несколько; тогда активация нужного трафарета производится щелчком мышью по его заголовку. Щелчок правой кнопкой мыши по фигуре открывает меню, с помощью которого можно менять вид трафарета (фигуры с подписями или что-нибудь одно), запросить назначение фигуры и демонстрацию ее соединительных точек.
    В правой части на голубом фоне имеется разграфленное в клеточку белое поле для набора схемы. Набор производится перетаскиванием выделенных щелчком мыши фигур из трафарета в нужную позицию поля. Трафарет в обычном режиме защищен от изменений, так что его содержимое не оскудевает. Нестандартные фигуры автор "рисует" с помощью универсального (переключаемого через ниспадающее меню) инструмента. Затем фигуры соединяются рисованными линиями или автоматически (вызовом соединителей), и в них впечатывается текст с помощью имеющегося в составе Windows набора шрифтов (Fonts). На нижней рамке экрана (Status bar) отражается оперативная информация: размер и координаты фигур, угол выполняемого поворота и т.п.
    В исходном положении на экране представлена полная страница стандартного листа, что соответствует масштабу порядка 25% (см. ниспадающее меню в верхней правой части окна). Этот масштаб удобен для предварительного набора блоков и выравнивания схемы в целом. Мешающее восприятию мелкомасштабных схем изображение соединительных точек можно отключить по команде View | Connections (Просмотр|Соединения). Режим Width показывает все ширину страницы, Page обеспечивает размещение в окне всей схемы, 100% - демонстрацию реального масштаба (как при печати). Реальный и более крупный масштаб применяется для вычерчивания нестандартных фигур, набора текста и разного рода доводок.
    Единицы измерения для страниц, фигур, шрифтов и углов можно менять с помощью команды Tools | Options (Сервис | Параметры) или File | Page Setup (Файл \ Параметры страницы).
    215
    214 :: 215 :: Содержание

    Характеристика команд

    Различают команды MS DOS двух типов: внутренние и внешние. Внутренние команды содержатся внутри и выполняются командным процессором. Для примера отметим, что к основным внутренним командам можно отнести следующие команды для работы с файламиталогами:
  • CD - смена и показ имени текущего каталога;

  • COPY - копирование файлов;

  • DEL - удаление файлов;

  • DIR - выдача списка имен файлов и подкаталогов текущего каталога;

  • MD - создание каталога.

  • Внешние команды (утилиты) MS DOS поставляются вместе с операционной системой в виде отдельных файлов. К ним, например, относятся такие важные команды:
  • DISKCOMP - сравнение дискет;

  • DISKCOPY - копирование дискет;

  • FDISK - разметка жесткого диска;

  • FORMAT - форматирование дисков и дискет;

  • SYS - создание системной дискеты путем копирования системных файлов.

  • 59
    59 :: Содержание

    Характеристика пакетов математических расчетов

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

  • Derive - для выполнения достаточно широких математических вычислений при ограниченности аппаратных ресурсов;

  • Fortran Powerstation - для выполнения трудоемких многовариантных вычислений;

  • LaTeX - для подготовки научных публикаций;

  • Visio - для подготовки схем и оформления результатов.

  • 183
    183 :: Содержание

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

  • стоимостью;

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

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

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

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

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


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


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


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


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


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


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

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


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


  • 407

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

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

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


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


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


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


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


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


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


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


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


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



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

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

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


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


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


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

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

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

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

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


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


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


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


  • 408

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

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

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

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

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

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

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

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

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

    84

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    159

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

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

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

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


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


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


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


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

    160

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

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

    Просматривать и отыскивать данные в таблицах удобнее и быстрее отсортированными (упорядоченными) по одному или нескольким полям. Вводить же данные в таблицу упорядоченными хотя бы по одному из полей весьма проблематично. Поэтому данные вводятся в таблицы по мере необходимости и в случайном порядке, а сортировка данных при работе с ними осуществляется с помощью механизма индексирования таблиц.
    Под индексом понимается поле таблицы или выражение, включающее совокупность полей, по которым упорядочена таблица.
    Индексирование таблиц позволяет осуществлять быстрый поиск записей. Механизм индексирования базируется па использовании специального индексного файла, содержащего упорядоченные указатели (ссылки) па записи исходной таблицы, позволяющие извлекать записи в нужном порядке. Поэтому размер индексного файла гораздо меньше размера исходной таблицы.
    В Visual FoxPro имеются различные варианты индексных файлов, в том числе и для поддержки предыдущих версий FoxPro. Будем использовать структурный индексный файл, который эффективен и прост в применении. Структурный индексный файл обеспечивает реализацию всех индексов одной таблицы и имеет имя, совпадающее с именем самой таблицы, и расширение cdx. Структурные индексные файлы открываются и закрываются одновременно с таблицами, что упрощает работу с ними.
    Важным свойством индексов является возможность их использования для организации первичного ключа в таблице. Такие индексы должны быть уникальны, то есть однозначно идентифицировать запись таблицы Если ключевой индекс состоит из одного тюля, то не должно быть двух записей в таблице с одинаковым значением этого поля. Для составного индекса, состоящего из нескольких полей, уникальным должно быть совокупное значение полей.
    260
    В Visual FoxPro тип индексов задается при их создании с помощью Конструктора таблиц. Рассмотрим процедуру создания индекса. В диалоговом окне Table Designer (конструктор таблиц) выберем вкладку Indexes (индексы) (рис. 21.3).
    Рис. 21.3. Вкладка Indexes

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

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

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

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

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

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

    261

    Таблица 21.3

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

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


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

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


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


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


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


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


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


  • Нажмем ОК.


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

    Таблица 21.4

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

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

    262

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

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

    1. Набрать и вычислить в системах Derive и Scientific Work Place:
    a) ?
    vxdx
    (x+1) 2
      ;
    б) (sin 2x)'' :
    в)
    1
    ?
    0
     
    dx
    vx
      ;
    г)
    ?
    ?
    i=1
     
    1
    i2
      ;
    д)
    x2 -5
    (x-1) 2

      2. Вычислить разложение в ряд Тейлора в окрестности нуля функции
    sin x - e- x
    3. Найти корни уравнения
    x5+8x4+31x3+80x2+94x+20=0
    4. Вычислить обратную матрицу для
    А =

    1 2 3
    2 4 5
    3 5 6

    5. Найти произведение AA-1.
    6. Разработайте трафарет графических объектов Visio для Вашей предметной области.
    7. Разработайте подложку для Вашей предметной области.
    8. Создайте схему алгоритма решения квадратного уравнения.
    9. Создайте схему организации циклических вычислений для варианта с верхним окончанием.
    225
    Литература
    1. Говорухин В. Я., Цыбулин В.Г. Введение в Maple. Математический пакет для всех. - М.: Мир, 1997. - 208 с.
    2.Дьяконов В.П. Справочник по системе DERIVE. - М.: "СК Пресс", 1998. - 256 с.
    3. Рыжиков Ю.И. Решение научно-технических задач на персональных ЭВМ/Учебное пособие. - СПб.: ВИКА им. А.Ф. Можайского, 1997. - 206 с.
    4. Тюрин Ю.Н., Макаров А.А. Анализ данных на компьютере. - М.: Финансы и статистика, 1995. - 384 с.
    226
    222 :: 223 :: 224 :: 225 :: 226 :: Содержание

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

    Понятие информации является основополагающим понятием информатики. Любая деятельность человека представляет собой процесс сбора и переработки информации, принятия на ее основе решений и их выполнения. С появлением современных средств вычислительной техники информация стала выступать в качестве одного из важнейших ресурсов научно-технического прогресса.
    Информация содержится в человеческой речи, текстах книг, журналов и газет, сообщениях радио и телевидения, показаниях приборов и т.д. Человек воспринимает информацию с помощью органов чувств, хранит и перерабатывает ее с помощью мозга и центральной нервной системы. Передаваемая информация обычно касается каких-то предметов или нас самих и связана с событиями, происходящими в окружающем нас мире.
    В рамках пауки информация является первичным и неопределяемым понятием. Оно предполагает наличие материального носителя информации, источника информации, передатчика информации, приемника и канала связи между источником и приемником. Понятие информации используется во всех сферах: науке, технике, культуре, социологии и повседневной жизни. Конкретное толкование элементов, связанных с понятием информации, зависит от метода конкретной науки, цели исследования или просто от наших представлений.
    Термин "информация" происходит от латинского informatio - разъяснение, изложение, осведомленность. Энциклопедический словарь (М.: Сов. энциклопедия, 1990) определяет информацию в исторической эволюции: первоначально - сведения, передаваемые людьми устным, письменным или другим способом (с по-
    7
    мощью условных сигналов, технических средств и т.д.); с середины XX века - общенаучное понятие, включающее обмен сведениями между людьми, человеком и автоматом, обмен сигналами в животном и растительном мире (передача признаков от клетки к клетке, от организма к организму).
    Более узкое определение дается в технике, где это понятие включает в себя все сведения, являющиеся объектом хранения, передачи и преобразования.
    Наиболее общее определение имеет место в философии, где под информацией понимается отражение реального мира.
    Информацию как философскую категорию рассматривают как один из атрибутов материи, отражающий ее структуру.

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

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

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

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

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

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

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

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

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

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

    8

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

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

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

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

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

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

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

    11

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

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


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

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

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

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


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


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


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


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


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


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

    12

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

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

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

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

    380
    Процедура, устанавливающая графический режим, имеет формат:
    InitGraph(DriverVar, ModeVar, 'путь к файлу графического драйвера');
    Целочисленные переменные DriverVar и ModeVar задают драйвер и режим. Первый параметр может задаваться как по имени, так и цифрой. На случай, если тип дисплея компьютера не известен, имеется стандартная константа Detect. Если соответствующее типу дисплея значение присвоено параметру DriverVar (DriverVar:=Detect;), то InitGRAPH автоматически инициирует нужный драйвер и устанавливает наиболее подходящий графический режим. Третий параметр в InitGRAPH - это путь к драйверу, если он находится в текущем каталоге, то вместо маршрута можно указать пустую строку, то есть два апострофа. Для различных манипуляций с видеорежимами в Turbo Pascal имеются следующие процедуры и функции:
    GetDriveName: string;
    функция возвращает имя установленного драйвера.
    GetGraphMode: integer;
    функция возвращает текущий графический режим.
    GetModeRange(graphDriver: integer; VarloMode: integer);
    процедура возвращает минимальный и максимальный графические режимы для данного драйвера.
    DetectGraph(VarGraphDriver, GraphMode: integer);
    процедура возвращает номера текущих драйвера и режима.
    GetMaxMode:integer;
    функция возвращает номер максимального режима установленного драйвера.
    GetModeName(GraphMode: integer): string;
    функция возвращает имя текущего драйвера.
    GraphDefaults;
    процедура устанавливает текущий указатель (СР) в начало и переустанавливает графическую систему.

    SetGraphMode(Mode: integer);

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

    RestoreCRTMode;

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

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

    381

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

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

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

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

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

    DriverVar:=Detect;

    lnitGraph(DriverVar, Modevar,' ');

    ErrorCode:=GraphResult;

    IF ErrorCodeOgrOK Then

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

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

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

    382

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

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

    383

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

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

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

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

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

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

  • Системы программирования на языках высокого уровня (ЯВУ), такие как C++, Паскаль, Фортран, Бэйсик, Forth, Refal, SmallTalk, Лисп и др., в наименьшей степени ориентированы на решение задач искусственного интеллекта. Они не содержат средств, предназначенных для представления и обработки знаний. Тем не менее, достаточно большая, но со временем снижающаяся, доля СИИ разрабатывается с помощью традиционных ЯВУ В приведенном перечне можно выделить языки Лисп и SmallTalk, как наиболее удобные и широко используемые для создания СИИ. В частности, широкое использование языка Лисп объясняется наличием развитых средств работы со списками и поддержкой механизма рекурсии, важных для характерной в СИИ обработки символьной информации. С помощью языка Лисп разработан ряд распространенных ЭС, таких, как MYCIN, DENDRAL, PROSPECTOR.
    Системы программирования на языках представления знаний имеют специальные средства, предназначенные для создания СИИ. Они содержат собственные средства представления знаний (в соответствии с определенной моделью) и поддержки логического вывода. К числу языков представления знаний можно отнести FRL, KRL, OPS5, LogLisp, Пролог и др. Разработка СИИ с помощью систем программирования на ЯПЗ основана на технологии обычного программирования. От разработчика
    302
    требуются соответствующие программистские навыки и квалификация. Наибольшее распространение из числа названных языков получили язык логического программирования Прологи OPS5.
    Средства автоматизированного создания ЭС представляют собой гибкие программные системы, допускающие использование нескольких моделей представления знаний, способов логического вывода и видов интерфейса, и содержащие вспомогательные средства создания ЭС.
    В качестве примеров рассматриваемого класса средств можно назвать следующие системы: EXSYS (предназначена для создания прикладных ЭС классификационного типа), 1st-Class, Personal Consultant Plus, ПИЭС (программный инструментарий экспертных систем), GURU (интегрированная среда разработки ЭС), Xi Plus, OPS5+. Построение ЭС с помощью рассматриваемых средств заключается в формализации исходных знаний, записи их на входном языке представления знаний и описании правил логического вывода решений. Далее экспертная система наполняется знаниями.

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

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

    303

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

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

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

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

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

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

    104

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

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

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

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

  • Если известно имя программы, которую требуется запустить, то это можно сделать другим способом:
    78
  • Нажать кнопку Пуск (Start) и выбрать команду Выполнить (Run). На экране появится окно Запуск (Start).

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

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

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

    Интерфейс MSIE

    MSIE (Microsoft Internet Explorer) имеет стандартизованный для приложений Windows интерфейс. Вид окна MSIE показан на рис. 29.4. Основные компоненты окна имеют следующее назначение:
    Рис. 29.4. Вид окна MSIE
    430
  • строка заголовка содержит название активного HTML-документа или приложения, а также кнопки в правом верхнем углу - соответственно Свернуть, Восстановить и Закрыть для управления окном приложения;

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

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

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

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

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

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


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


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

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


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


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


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


  • 431

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

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

    В состав Windows 98 включен броузер MSIE (Microsoft Internet Explorer 4.0). Доступ к WWW возможен теперь из окна любого приложения или Проводника Windows (Windows Explorer), а также с любой панели. Обозреватель MSIE позволяет просматривать помимо Web-ресурсов локальные и сетевые ресурсы. Рабочий стол представляет собой Web-страницу со встроенной панелью каналов. Объект на рабочем столе выделяется при указании на него мышью, а открывается путем однократного щелчка.
    Каналы, расположенные на рабочем столе, обеспечивают быстрый доступ к серверам Internet, которые они задают. Проводник Windows приобретает форму Обозревателя Internet Explorer, поэтому средства и методы доступа к локальным и сетевым ресурсам в Windows 98 унифицированы. Имеющиеся в его окне дополнительные кнопки Назад (Back) и Вперед (Forward) упрощают навигацию в иерархии папок. Если открытая папка представлена в виде Web-страницы, то выделение объекта приводит к отображению его свойств. Имеются четыре панели, обеспечивающие удобство в работе: Адрес (Address), Ссылки (Links), Рабочий стол (Desktop) и Быстрый Запуск (Qwick Launch).
    Windows 98 позволяет подключать к компьютеру до 9 мониторов, что позволяет работать в развернутых на весь экран окнах приложений. Использование специальных программ позволяет рассматривать объект с разных сторон, например: слева, справа, анфас и сзади.
    В систему добавлен компонент WHS (Windows Scripting Host), обеспечивающий выполнение сценариев на языках JavaScript и VBScript, которые позволяют автоматизировать часто выполняемые последовательности действий в среде Windows.
    Для обслуживания дисков добавлена специальная утилита Disk Cleanup, осуществляющая удаление с жесткого диска ненужных (например, временных) файлов. Утилита дефрагментации дисков Disk Def ragmenter позволяет переразмещать файлы на жестком диске, относящиеся к одному приложению, в том порядке, как они загружаются в память перед выполнением приложения, порядок загрузки определяет специальный агент, постоянно отслеживающий подобные операции.
    В Windows 98 полностью поддерживается централизованная служба каталогов сетей Novell NDS (Netware Directory Services) и протокол DLC (Data Link Control), позволяющий осуществлять подключение к большим компьютерам IBM и IBM AS/400. Кроме этого, имеется сервер удаленного доступа Dial-Up Server, ранее находившийся только в Microsoft Plus!
    Удаленный доступ к сети осуществляется по телефонным линиям и линиям ISDN, причем доступ возможен одновременно по нескольким из названных линий.
    96
    Обеспечивается также удаленный доступ через Internet с использованием протокола РРТР (Point-to-Point Tunneling Protocol), что избавляет от необходимости пользоваться междугородной телефонной связью. Реализована также инфраструктура распределенной объектной модели компонентов DCOM (Distributed COMponent Object Model), которая представляет собой сетевое OLE.
    97
    96 :: 97 :: Содержание

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

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

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

    175

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

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

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

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

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

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

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

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

    176

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

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

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

    177

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

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

    Рассматриваемая нами версия системы ТК Solver 1.1 реализована в виде интегрированной среды и имеет стандартный интерфейс приложений Windows. Работа с системой осуществляется с помощью команд основного меню и кнопок панели инструментов, позволяющих удобно задавать наиболее часто употребляемые команды.
    Основное меню системы ТК Solver содержит следующие меню: File (Файл), Edit (Правка), Commands (Команды), Format (Формат), Window (Окно), Application (Приложение), Help (?). Рассмотрим краткое описание основных команд меню.
    334
    Меню File (Файл)содержит следующие команды по работе с файлами моделей задач.
    New (Новый) - создание нового файла описания модели задачи;
    Open (Открыть) - открытие существующего файла и загрузка его содержимого в качестве текущей модели задачи;
    Merge (Вставить) - активизирует диалог загрузки файла. Содержимое файла обновляет текущую модель задачи, т.е. если во включаемом файле есть описания переменных, графиков, списков и т.д., совпадающие с такими же описаниями текущей модели задачи, то они заменяют текущие. Уравнения из файла полностью переносятся в текущую модель, если в модели уже есть такие уравнения, то они помещаются в конец;
    Include (Включить) - включение в текущую модель задачи компонентов других моделей из файла. Включаемые компоненты отображаются в текущей модели другим цветом, не могут быть изменены и не попадают в выходной файл после его сохранения по команде Save;
    Save (Сохранить) - сохранение всех панелей текущей модели задачи в файле под тем же именем;
    Save As... (Сохранить как...) - то же, что и Save, но в файле с другим именем;
    Save Window (Сохранить окно) - сохранение активного окна (панели) в файле;
    Import (Импорт) - загрузка списков в текущую модель задачи из файла, созданного ранее по команде Export;
    Export (Экспорт) - сохранение списков текущей модели задачи в файле в формате ASCII (расширение имени файла .asc);
    Print (Печать) - вывод па печать содержимого панелей текущей модели задачи;
    Print Preview (Предварительный просмотр) - просмотр перед печатью выводимой информации;

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

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

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

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

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

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

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

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

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

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

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

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

    335

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

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

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

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

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

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


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

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

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

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

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

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

    336

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

    Рассматриваемая версия системы логического программирования Турбо-Пролог 2.0 работает под управлением DOS и имеет стандартизованный программный интерфейс. Главное меню интегрированной среды системы включает в свой состав следующие меню и команды: Files (Файл), Edit (Правка), Run (Выполнение), Compile (Компиляция), Options (Параметры) и Setup (Настройка). Дадим краткую характеристику команд в составе указанных меню.
    Меню Files (Файл) содержит следующие команды управления файлами программ на Прологе: Load (Загрузка файла), Pick (Загрузка файла), New file (Создание файла), Save (Сохранение файла), Write to (Сохранение файла с новым именем), Directory (Вывод текущего каталога), Change dir(Смена каталога), OS Shell (Временный выход в среду DOS) и Exit (Выход).
    Команда Edit (Правка) служит для переключения в режим редактирования исходного текста программы на Прологе.
    Команда Run (Выполнение) запускает процесс компиляции и выполнения текущей исходной программы на языке Турбо-Пролог.
    Меню Compile (Компиляция) содержит следующие команды управления компиляцией: Memory (Компиляция программы с размещением в оперативной памяти), OBJ file (Компиляция с созданием объектного файла), EXE file (auto link) (Построение файла EXE), Project (Создание файла проекта), Link only (Редактирование связей файла объектной программы OBJ), Link options (Параметры редактирования связей), EDIT PRJ file (Правка файла проекта), Compiler directives (Директивы компилятора).
    Меню Setup (Настройка) содержит следующие команды настройки системы: Colors (Цвета), Window Size (Размеры окон), Directories (Управление каталогами), Miscellaneous (Параметры внешних устройств), Load SYS file (Загрузить файл SYS), Save SYS file (Сохранить файл SYS).
    В нижней части диалогового окна системы программирования Турбо-Пролог содержится строка подсказки о назначении функциональных клавиш. Справочная помощь системы вызывается нажатием клавиши .
    308

    Интерфейс Visual FoxPro

    Работа по созданию баз данных и приложений выполняется в главном окне Visual FoxPro (рис. 20.1). Состав элементов в главном окне может настраиваться пользователем в процессе работы.
    Обязательным элементом главного окна Visual FoxPro является строка меню. С ее помощью можно задавать команды настройки состава окна, вызывать средства автоматизации (Мастера, Конструкторы и Построители).
    250
    Рис. 20.1. Главное окно Visual FoxPro
    В главном окне Visual FoxPro обычно отображается панель инструментов Standard (стандартная). С помощью кнопок этой панели удобно задавать наиболее часто используемые команды по работе с файлами элементов Visual FoxPro: New( создать), Open (открыть), Save (сохранить), Print One Copy (печатать один экземпляр); команды работы с выделенным фрагментом с помощью буфера обмена: Cut (вырезать), Сору (копировать), Paste (вставить) и ряд других.
    В главном окне Visual FoxPro (рис. 20.1) можно установить отображение следующих панелей инструментов: Color Palette (цветовая палитра), Database Designer (Конструктор баз данных), Form Controls (элементы управления форм), Form Designer (Конструктор форм), Layout (размещение элементов управления в отчете или форме), Print Preview (предварительный просмотр), Query Designer (Конструктор запросов), Report Controls (элементы управления отчетов), Report Designer (Конструктор отчетов) View Designer (Конструктор просмотров). Изменение состава панелей инструментов выполняется с помощью команды View | Toolbars.... (Вид | панели инструментов...)
    При работе с любым элементом проекта (базой данных, таблицей, запросом и др.) для задания команд удобно пользоваться соответствующим контекстным (всплывающим) меню, вызов которого выполняется щелчком правой кнопкой мыши.
    Окно команд (при условии его отображения в главном окне Visual FoxPro) служит для ввода команд SQL. Кроме того, в случае выполнения каких-либо действий над базой данных в окне команд отображаются соответствующие им команды SQL. Для задания отображения окна команд служит команда Window | Command Window(окно | командное
    251
    окно). Отмену отображения окна команд можно выполнить щелчком мыши по кнопке в правом верхнем углу окна.
    Окно Project Manager (Менеджер проектов) отображается при создании нового или при открытии существующего проекта. Создание базы данных, запросов, отчетов и ряда других элементов может выполняться и без создания проекта. Однако использование проекта создает определенные удобства в работе с различными элеметами Visual FoxPro, входящими в состав одного проекта.
    252
    250 :: 251 :: 252 :: Содержание

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

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

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

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

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

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

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

    Excel располагает большим количеством встроенных функций, которые облегчают выполнение вычислений в таблице. Функция вызывается по имени, после которого в большинстве случаев следуют один или несколько аргументов, заключенные в скобки. При вызове функции без аргументов круглые скобки после имени функции также необходимо указывать.
    Функцию в составе формулы можно записывать путем ввода символов с клавиатуры или с использованием Мастера функций (Function Wizard). В последнем случае необходимо поместить указатель мыши на ячейку, в которую вставляется формула, и выполнить команду Функция... (Function...) меню Вставка (Insert). На экране появится первое из двух окон Мастера функций (Function Wizard). Это окно можно вызвать также нажатием кнопки Мастер функции (Function Wizard) на панели инструментов Стандартная (Standard) или щелчком мыши в строке формул, где указан символ функции.
    В списке Категории (Function Category) первого окна Мастера функции необходимо выбрать нужную группу функций, а в списке Функция (Function Name) - имя функции.
    158
    После этого можно нажать кнопку Готово (Finish) или кнопку Далее (Next). В первом случае Мастер функции вставит в ячейку функцию с шаблонами аргументов, которые затем необходимо исправлять. Во втором случае на экране появляется второе окно Мастера функций, в котором вводятся необходимые аргументы. Текущий результат при этом отображается в поле Значение (Value) окна. После нажатия кнопки Готово (Finish) Excel вставляет выбранную функцию с аргументами в текущую ячейку.
    159
    152 :: 153 :: 154 :: 155 :: 156 :: 157 :: 158 :: 159 :: Содержание

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

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

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

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

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

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

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

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

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

    Применение сетевых дисков позволяет работать с сетевыми ресурсами так же, как и с локальными. При этом для именования сетевых объектов применяется соглашение UNC (Universal Naming Convection), использующее следующий формат:
    \\сервер\разделяемый_ресурс\путь
    Все сетевые станции, ресурсы которых могут использоваться вашим компьютером, (входят в одну группу, подключены к сети и включены в данный момент) можно увидеть
    Рис 28 9. Сетевое окружение рабочей станции St163-3
    416
    в папке Сетевое окружение (Neighborhood). На рис. 28.9 представлен пример сетевого окружения рабочей станции с именем St 163-3.
    Дважды щелкнув мышью на изображении рабочей станции, можно увидеть ее ресурсы, для которых установлено разделение доступа (рис. 28.10). Каждый ресурс представлен со своим Сетевым именем (Share Name), которое ему было присвоено при установке разделения доступа (рис. 28.5).
    Рис.28.10. Сетевые ресурсы рабочей станции Lab157-1
    На рисунке 28.10 представлены ресурсы рабочей станции Labi 57-1, на которой установлено разделение доступа к дискам С:, D:, Е: (с сетевыми именами соответственно с, d, е), к принтеру (сетевое имя hp) и к папке C:\HPW (сетевое имя hpw). В данном примере сетевое имя станции Lab 157-1, поэтому путь к папке будет \\ Lab 157-1 \c\hpw (это и ее UNC имя), но обращаться к ней можно и \\ Lab157-1\hpw, поскольку она имеет собственное имя разделенного доступа hpw.
    Для удобства работы с сетевыми папками им могут присваиваться имена дисков (рис. 28.11) Существует несколько способов подключения сетевых дисков:
  • командой Подключить сетевой диск (Map Network Drive) из контекстного меню, появляющегося при щелчке по правой клавише мыши на значках Мой компьютер (My Computer) или Сетевое окружение (Network Neighborhood);

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

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

  • Рис. 28.11. Подключение папки BAZAVFP в качестве сетевого диска Е
    Установка флажка Автоматически подключать при входе в систему (Reconnect at logon) приводит к автоматическому подключению данного диска при каждом входе в сеть.
    После подключения сетевого диска он появляется в папке Мой компьютер.
    В результате настроек, выполненных в соответствии с нашими рекомендациями, пользователь может включиться в существующую или создать новую рабочую группу одноранговой сети, предоставить в общее пользование отдельные ресурсы своей рабочей станции и использовать ресурсы других, организовать парольную защиту разделяемых ресурсов.
    417
    410 :: 411 :: 412 :: 413 :: 414 :: 415 :: 416 :: 417 :: Содержание

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

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

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

    Рис. 19.4 Неизбыточное дублирование
    235
    имеется избыточное дублирование данных. Так, в связи с тем, что Сидоров и Егоров находятся в той же комнате, что и Петров, то их номера-можно узнать из кортежа со сведениями о Петрове. На рис. 19.5 б приведен пример неудачного отношения С_Т_Н, в котором вместо телефонов Сидорова и Егорова поставлены "прочерки" (неопределенные значения). Неудачность подобного способа исключения избыточности заключается
    С_Т_Н
    а)
    Служащий Телефон Н_комн
    Иванов 37-21 109
    Петров 43-28 111
    Сидоров 4328 111
    Егоров 4328 111

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

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

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

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

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

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

    236

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

    Изменение параметров абзацев выполняется с помощью диалогового окна Абзац ( Paragraph )(рис. 10.2), вызываемого по команде Абзац... (Paragraph...) меню Формат (Format). Для задания варианта выравнивания абзацев удобно использовать кнопки панели инструментов Форматирование (Formatting).
    Пример 1. Задание интервалов.
    Установим для выделенных абзацев полуторный межстрочный интервал и интервалы до и после абзацев.
  • Выделим нужные абзацы и зададим команду Абзац... (Paragraph...).

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

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

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

  • Примерный вид параметров форматирования абзацев (отступы, интервалы и варианты выравнивания) приведен на рис. 10.3.
    127
    Рис. 10.2. Вклада Отступы и интервалы
    Рис. 10.3. Параметры форматирования абзацев
    128
    Пример 2. Задание отступов абзацев слева и справа, а также выступа первой строки.
  • Выделим абзацы для настройки параметров.

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

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

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

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

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

    Изменение параметров шрифта выполняется с помощью диалогового окна Шрифт (Font)(pnc. 10.1). вызываемого по команде Шрифт... (Font...) меню Формат (Format). Кроме того, отдельные параметры шрифта (гарнитуру размер, и начертание) можно задать с помощью кнопок панели инструментов Форматирование (Formatting).
    Рис. 10.1. Диалоговое окно Шрифт
    Если перед заданием параметров шрифта выделить некоторый текстовый фрагмент, го выбранные параметры будут применены к этомy фрагменту. В противном случае новые параметры буду! распространяться на вновь вводимый текст.
    Пример 1. Задание для выделенного фрагмента текста гарнитуры Arial Cyr размером 12 пунктов, с полужирным начертанием п подчеркиванием.
    126
  • Выделим нужный фрагмент текста.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Замечание. Перед изменением структуры любой существующей таблицы целесообразно создание резервной копии таблицы и всех ее индексных файлов.
    Для изменения структуры таблицы, являющейся элементом БД, нужно открыть диалоговое окно Конструктора таблиц (Table Designer) со структурой выбранной таблицы. Для этого достаточно открыть окно Конструктора БД, установить в нем курсор на модифицируемую таблицу и нажать кнопку Modify Table (модифицировать таблицу) панели инструментов Database Designer (Конструктор базы данных).
    Рассмотрим подробнее операции по модификации таблицы, выполняемые в окне Конструктора таблиц (Table Designer).
    Добавление полей является самой безопасно]"! операцией. Для ее реализации необходимо с помощью клавиш-стрелок установить курсор па строку, перед которой необходимо вставить новое поле (в любом ее столбце) и нажать кнопку Insert (вставить) (рис. 21.2). При этом появляется новая строка с именем NewField. Далее по рассмотренной технологии можно ввести имя нового поля п его параметры.
    Для удаления лишнего поля достаточно выделить его в окне Конструктора таблиц п нажать клавишу Delete (удалить). Если открытый па данный момент индексный файл не содержит ссылок на удаляемое поле, ч о поле будет удалено. Если такие ссылки имеются, то появится предупреждающее сообщение.

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

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

    263

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

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

    264

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

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

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

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

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

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

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

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

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

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

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

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

  • a + b/(c*d)


  • (b>3) + а


  • (а+b)^ln(х)


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


  • -SIN(X)


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

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


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

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

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



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


  • 340

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


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


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


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

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


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


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

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


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


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

    Язык ОБЕ позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции - достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.
    С помощью языка ОБЕ можно задавать запросы однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц).
    При задании запросов с помощью языка ОБЕ допустимы следующие операции: выборка, вычисление и модификация данных; вставка и удаление записей. Результатом выполнения запроса может быть новая таблица пли обновленная исходная таблица.
    Выборка, вставка, удаление и модификация данных и записей могут выполняться с использованием условий, задаваемых с помощью логических выражений. Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые - вычисляемые поля.
    Во многих современных СУБД, например, в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка ОБЕ выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто "протаскиванием" мытью ноля одной таблицы к полю другой.

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

    Хранимые в базе данные можно обрабатывать (просматривать и редактировать) "вручную" - с помощью имеющихся в каждой СУБД средств просмотра и редактирования данных в таблицах. Для повышения эффективности множественной обработки данных (редактирования и выбора данных из таблиц) создаются и выполняются запросы.
    Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке или модификации хранимых данных.
    Для подготовки запросов с помощью различных СУБД, как правило, используются два основных языка описания запросов:
    244
  • язык QBE (Query By Example) - язык запросов по образцу;

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

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

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

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

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

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

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

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

    248

    Таблица 20 1

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

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


    /p> 249

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

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

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

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

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

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

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

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

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

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

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

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

    250

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

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

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

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

    Важнейшим является понятие отношения, которое представляет собой двумерную таблицу, содержащую некоторые данные.
    Сущность есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.
    Атрибуты представляют собой свойства, характеризующие сущность.
    Математически отношение можно описать следующим образом. Пусть даны n множеств D1, D2, D3, ... Dn, тогда отношение R есть множество упорядоченных кортежей ,где dk ? Dk, a D1, D2, D3,... Dn - домены отношения R.
    На рис. 19.2 приведен пример представления отношения СОТРУДНИК.
    Множество всех значений каждого атрибута отношения образует домен. Отношение СОТРУДНИК включает 4 домена. Домен 1 содержит фамилии всех сотрудников, домен 2 - номера всех отделов фирмы, домен 3 - название всех должностей, домен 4 - даты рождения всех сотрудников. Каждый домен образует значения одного типа, например, числовые или символьные.
    Отношение СОТРУДНИК содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4-х элементов, каждый из которых выбирается из соответствующего домена. Каждому кортежу соответствует строка таблицы.
    Схема отношения представляет собой список имен атрибутов. Например, для приведенного примера схема отношения имеет вид СОТРУДНИК(ФИО, Отдел, Должность, Д_Рождения).
    232

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    45

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

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

    46

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

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

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

    Каталоги

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

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

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

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

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

    66

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

    Таблица 3.4

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

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

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

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

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

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

    67

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

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

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

  • детекторы;

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

  • ревизоры;

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

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

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

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

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

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

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

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

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

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

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

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

  • средние ЭВМ;

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

  • микро-ЭВМ;

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

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

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

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

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

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


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

    15

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

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

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


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

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

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

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

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


    16

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

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

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

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

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


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


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


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


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


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

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

    17

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

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


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

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

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

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

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


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

    18

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    При описании порядка работы с Excel будут использоваться следующие ключевые элементы и понятия.
    Рабочая книга является основным документом Excel. Она хранится в файле с произвольным именем и расширением xls. При создании или открытии рабочей книги ее содержимое представлено в отдельном окне. Каждая книга по умолчанию содержит 16 рабочих листов.
    Листы предназначены для создания и хранения таблиц, диаграмм и макросов. Лист состоит из 256 столбцов и 16384 строк. В зависимости от формы представления данных в Excel различают листы следующих типов:
  • листы таблиц, в которых создаются и обрабатываются таблицы;

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

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

  • Ячейка является наименьшей структурной единицей для размещения данных внутри рабочего листа. Каждая ячейка может содержать данные в виде текста, числовых значений, формул или параметров форматирования. При вводе данных Excel автоматически распознает тип данных и определяет перечень операций, которые могут с ними производиться. По своему содержимому ячейки делятся на исходные (влияющие) и зависимые. В последних записаны формулы, которые имеют ссылки на другие ячейки таблицы. Следовательно, значения зависимых ячеек определяются содержимым других (влияющих) ячеек таблицы. Ячейка, выбранная с помощью указателя, называется активной или текущей ячейкой. Чтобы изменить высоту или ширину одной ячейки в таблице, нужно изменить высоту строки или ширину столбца, соответственно.
    Адрес ячейки предназначен для определения местонахождения ячейки в таблице. Существует два способа записи адресов ячеек:
  • Указанием буквы столбца и номера строки таблицы, перед которыми может записываться знак $, указывающий на абсолютную адресацию, например С5, J$1, $К$3 и т.д.
    Этот способ используется в Excel по умолчанию н называется стилем "А1".


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


  • 140

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

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

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

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

    =LOG10(B2)

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

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

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

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

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

    141

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

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

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

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

    ЭВМ непосредственно выполняет программы на машинном языке программирования данной ЭВМ. При этом программа представляет собой набор отдельных команд компьютера. Эти команды являются достаточно "простыми", например, сложение, умножение, сравнение пли пересылка отдельных данных. Каждая команда содержит в себе сведения о том, какая операция должна быть выполнена (код операции), с какими операндами (адреса данных или непосредственно сами данные) выполняются вычисления и куда (адрес) должен быть помещен результат.
    Машинные языки были первыми языками программирования. Программирование на них затруднительно ввиду того, что, во-первых, эти языки различны для каждого типа ЭВМ, во-вторых, являются трудоемкими для большинства пользователей по причине необходимости знания особенностей конкретной ЭВМ и большого количества реализуемых ею операций (команд). Данные языки обычно используются для разработки системных программ, при этом чаще всего применяются специальные символические языки - Ассемблеры, близкие к соответствующим машинным языкам.
    Человеку свойственно формулировать и решать задачи в выражениях более общего характера, чем команды ЭВМ. Поэтому с развитием программирования появились языки, ориентированные на более высокий уровень абстракции при описании решаемой на ЭВМ задачи. Эти языки получили название языков высокого уровня. Их теоретическую основу составляют алгоритмические языки, например, Паскаль, Си, Бейсик, Фортран, PL/1.
    Для перевода программы, написанной па языке высокого уровня, в соответствующую машинную программу используются языковые процессоры. Различают два вида языковых процессоров: интерпретаторы п трансляторы.
    Интерпретатор - это программа, которая получает исходную программу п по мере распознавания конструкций входного языка реализует действия, описываемые этими конструкциями.
    Транслятор - это программа, которая принимает исходную программу и порождает па своем выходе программу, записываемую па объектном языке программирования (объектную программу). В частном случае объектным может служит машинный язык, и в этом случае полученную на выходе транслятора программу можно сразу же выполнить па ЭВМ. В общем случае объектный язык необязательно должен быть машинным пли близким к нему (автокодом). В качестве объектного языка может служить и некоторый промежуточный язык.
    46
    Для промежуточного языка может быть использован другой транслятор пли интерпретатор - с промежуточного языка на машинный. Транслятор, использующий в качестве входного язык, близкий к машинному (автокод или язык Ассемблера) традиционно называют Ассемблером. Транслятор с языка высокого уровня называют компилятором.
    47
    46 :: 47 :: Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 224

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

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

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

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

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

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

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

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

    297

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

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

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

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

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


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

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

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


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


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


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


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


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


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


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


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

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

    298

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

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

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

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

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

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

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

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

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

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

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

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


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


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



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


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


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


  • ПРОВЕРЕН(ТУ-134)


  • ЗАПРАВЛЕН(ИЛ-62)


  • ДАНО_РАЗР(ЯК-42)


  • НЕ_НАХ_ВЗП(ЯК-42)


  • Предложения 1-4, хотя и содержат переменную, являются высказываниями - переменная X связана квантором общности V. В дальнейшем квантор писать не будем, так как он присутствует во всех предложениях.

    Чтобы найти, какой из самолетов в момент времени Т выполняет рейс, подготовим запрос вида:

    М? ВЫП_РЕЙС(1),

    где М - множество предложений 1-10. Вывод запроса можно представить следующей последовательностью шагов.

    1шаг.

    Применив к предложению 1 подстановку Х=ЯК-42, получим заключение

    ПРОВЕРЕН(ЯК-42) ? ЗАПРАВЛЕН(ЯК-42) > ГОТОВ(ЯК-42).

    2 шаг.

    Первая посылка: объединив предложения 5 и 6, получим

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

    Вторая посылка: заключение шага 1:

    ПРОВЕРЕН(ЯК-42) ? ЗАПРАВЛЕН(ЯК-42) > ГОТОВ(ЯК-42).

    Применив правило Modus Ponens

    ?,? > ?
    ?
      299

    для ?= ПРОВЕРЕН(ЯК-42) ? ЗАПРАВЛЕН(ЯК-42) и р= ГОТОВ(ЯК-42), получим

    следующее заключение: ГОТОВ(ЯК-42).

    Зшаг.

    Первая посылка: объединив заключение шага 2, предложения 9 и 10, получим:

    ГОТОВ(ЯК-42) ?ДАНО_РАЗР(ЯК-42) ?НЕ_НАХ_ВЗП(ЯК-42).

    Вторая посылка: применив к правилу 2 подстановку Х=ЯК-42, получим

    ГОТОВ(ЯК-42) ? ДАНО_РАЗР(ЯК-42) ? НЕ_НАХ_ВЗП(ЯК-42) > ВЗЛЕТЕЛ(ЯК-42)

    Применив правило Modus Ponens, получим заключение ВЗЛЕТЕЛ(ЯК-42).

    4 шаг.

    Первая посылка: заключение шага 3 - ВЗЛЕТЕЛ(ЯК-42).

    Вторая посылка: применив к правилу 4 подстановку Х=ЯК-42, получим

    ВЗЛЕТЕЛ(ЯК-42) > ВЫП_РЕЙС(ЯК-42).

    Применив правило Modus Ponens, получим заключение ВЫП_РЕЙС(ЯК-42). Таким образом, в момент времени Т рейс выполняет самолет ЯК-42. Остальные подстановки, например Х=ИЛ-62, приводят к тупиковым ситуациям. Логический вывод выполнялся нами в прямом направлении, при этом в процессе вывода трижды использовалось правило заключения.

    300

    292 :: 293 :: 294 :: 295 :: 296 :: 297 :: 298 :: 299 :: 300 :: Содержание

    Логическое программирование

    Новую область - логическое, или реляционное программирование, - открыло появление языка PROLOG (Пролог) (PROgramming in LOGic - программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является именно Пролог. Так, имеется свыше 15 различных его реализаций па ПЭВМ. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта, рассматриваемых в данном учебном пособии.
    Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами (в терминах условий или ограничений) и цели (запроса). Процесс выполнения программы трактуется как процесс общезначимости логической формулы, построенной из программы по правилам, установленным семантикой используемого языка. Результат вычисления является побочным продуктом этого процесса. В реляционном программировании нужно только специфицировать факты, на которых алгоритм
    50
    основывается, а не определять последовательность шагов, которые требуется выполнить. Это свидетельствует о декларативности языка логического программирования. Она метко выражена в формуле Р. Ковальского: "алгоритм = логика + управление". Языки логического программирования характеризуются:
  • высоким уровнем;

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

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

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

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

    Локальное форматирование, стили и шаблоны

    Локальное форматирование предполагает выбор фигуры и последующее назначение частных опций из диалоговых окон меню или посредством панели инструментов.
    При необходимости применения нестандартных атрибутов к многим фигурам удобнее воспользоваться стилем, задав общие для всего файла установки шрифта, линий и заполнения фигур. Это придает схеме единообразие, дает возможность быстрой и согласованной модификации ее элементов. Стиль сохраняется вместе с конкретным файлом.
    Новый стиль создается по команде Format | Define Styles(Формат | Определить стили). В открывшемся диалоговом окне надлежит:
    220
  • выбрать базовый стиль, в наибольшей степени совпадающий с проектируемым (No Style (Без стиля) годится тоже - будут выбраны стандартные значения);

  • в блоке Includes (Включая) выделить отличительные компоненты стиля из множества {Text, Line, Fill} ({Текст,Линия,Заполнение});

  • через блок Change (Изменить) последовательно настроить выбранные компоненты;

  • задать имя нового стиля;

  • нажать кнопку Add (Добавить);

  • нажать ОК.

  • Стиль будет добавлен к тем из стилевых списков панели Visio-окна, которые соответствуют измененным компонентам.
    Обычно приходится менять установку компонента Text (Текст) - по крайней мере для выбора шрифта с кириллицей. Можно также выбрать его размер, цвет, стиль (любое сочетание признаков Обычный, Bold (Жирный), Italic (Курсив), Underline (Подчеркнутый), Small caps (Капитель)) и др. Заметим, что упомянутое сочетание определяет не спектр возможностей последующего локального форматирования, а конкретный выбор его.
    При определении нового стиля можно предусмотреть сохранение ранее выполненного локального форматирования (в частности, форматы стандартных фигур). Вновь переносимые фигуры будут переформатироваться.
    При работе со стилями следует иметь в виду возможность базирования стилей (при изменении базового изменятся и базированные на нем). При изменении стиля схемы изменение будет затрагивать только эту схему.
    Локальное и стилевое форматирование часто комбинируются.
    Для выполнения локального форматирования выберите из меню Format соответствующие команды: Line (Линия), Comers (Углы), Fill (Заполнение), Shadow(Tenb), Text(TeKCT), Text Block (Блок текста). Контекстно зависимая часть атрибутов может корректироваться через панель инструментов.

    Выше отмечалось, что стиль связывается с конкретным файлом. Более широкое применение имеет Template (Шаблон). Это отдельный файл с расширением .vst, который открывает трафареты, содержит стили и дополнительные установки (параметры страницы, палитра, масштаб и т.п.). Для создания шаблона необходимо:

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


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


  • задать дополнительные параметры и настройки;


  • в меню File | Save As...( Файл} Сохранить как...) указать имя файла, расширение .vst и необходимость запоминания окружения Workspace;


  • сохранить файл.


  • 221

    220 :: 221 :: Содержание

    Манипулирование фрагментами изображений

    В модуле GRAPH предусмотрен ряд дополнительных процедур, позволяющих сохранять и восстанавливать отдельные фрагменты изображения на экране. Для манипулирования фрагментом следует узнать его размер. Это делается с использованием функции
    ImageSize(x1, у1, х2, у2: integer): word,
    где х1, у1 и х2, у2 - координаты верхнего левого и правого нижнего угла прямоугольной области экрана. Функция возвращает размер указанного фрагмента в байтах. Образ фрагмента удобно хранить в динамической области памяти, то есть результат работы ImagSize может являться входной информацией для процедуры GetMem, которая выделяет указанный объем в верхней области памяти. Сохранение образа фрагмента в памяти выполняется процедурой
    GetImage(x1, у1, х2, у2: integer; Var BitMap),
    где х7, у1, х2, у2 - координаты фрагмента, BitMap - нетипизированный параметр, который должен быть не менее размера памяти, отведенного для области экрана, плюс 6. Возвратить образ фрагмента из памяти на экран можно с помощью процедуры
    PutImage(X, Y: integer; Var BitMap; Mode: word),
    i где X, Y - координаты точки экрана, начиная с которой будет выводится фрагмент, BitMap - уже известный нетипизированный параметр, задающий ширину и высоту фрагмента.
    391
    391 :: Содержание

    Масштабирование изображений

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

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

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

    Рис. 26.3. Масштабирование растрового изображения

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

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

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

    363

    357 :: 358 :: 359 :: 360 :: 361 :: 362 :: 363 :: Содержание

    Математические пакеты

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

    Математические проблемы

    Для решения математических задач создано множество библиотек и пакетов программ. Может показаться, что богатство математического программного обеспечения избавляет специалиста-прикладника от знания математики. Однако упомянутым богатством надо суметь воспользоваться, и ключом к нему является... знание математики. Ниже обсуждаются некоторые типичные затруднения с прикладной математикой - главным образом, с целью побудить читателя постоянно повышать свою математическую подготовку и активно ею пользоваться.
    Влияние ограниченности разрядной сетки проявляется, например, при суммировании чисел одного знака (его надо начинать с малых по модулю слагаемых), при вычитании близких чисел, при рекуррентных вычислениях. В современных ЭВМ происходит не округление промежуточных результатов, а отбрасывание лишних разрядов, что усугубляет обсуждаемый эффект.
    Полиномиальная интерполяция. Многие вычислительные проблемы упрощается при замене исходных функций полиномами. Но, согласно теореме Фабера, при любом интерполяционном массиве найдется непрерывная функция gи точка х из [a,b], для которых Рп(д:х) не сходится к g(х) при п > ?. Поэтому качество выбранной интерполяции необходимо оценивать.
    Ускорение сходимости рядов. Некоторые ряды - в частности,
    ln(1-x)=-[x+
    x2
    2
      +
    x3
    3
      ...].
    сходятся чрезвычайно медленно. В таких случаях может помочь, например, преобразование Эйлера-Абеля.
    Вычисление определенных интегралов. При использовании квадратурных формул возникает вопрос о выборе узлов, прогнозе точности и т.д. Любая попытка оценить сравнительные достоинства квадратурных формул связана с вопросами типа: "Что больше, h2f''(x) или h4 f''''(x)?" Ответ, разумеется, зависит от природы интегрируемой функции.
    При неудачном расположении узлов квадратурная формула может дать сильно искаженные результаты - в особенности при наличии в интервале интегрирования большого числа нулей интегрируемой функции. Для сильно колеблющихся функций следует применять специальную технику интегрирования.
    Специальные меры нужно применять и при расчете несобственных интегралов, которые обращаются в бесконечность внутри или на концах интервала интегрирования, либо берутся на бесконечном интервале.

    188

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

    || A-1||· ||DA|| ?1

    Для некорректно поставленных задач решение тем или иным способом обобщается. В частности, плохо обусловленные линейные системы заменяются задачами вида ATAx=ATb, которые эквивалентны минимизации || b-Ах|| .

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

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

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

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

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

    189

    184 :: 185 :: 186 :: 187 :: 188 :: 189 :: Содержание

    Матрицы

    Матрицы и векторы набираются в круглых или квадратных скобках. SWP выполняет обычные матричные операции сложения и перемножения матриц и векторов. Знаком умножения может быть звездочка, косой крест или точка, а также отсутствие знака. При перемножении векторов точка означает скалярное произведение (сумму парных произведений одноименных проекций).
    В меню Maple | Matrices представлен обширный перечень операций над матричным объектом. Отметим команду Fill Matrix (Заполнить матрицу), позволяющую формировать нулевые, единичные и ленточные матрицы, а также матрицы с элементами, определяемыми функцией координат.
    Обращение матрицы можно выполнить как вызовом команды Inverse, так и возведением в степень -1.
    201

    Методы доступа и протоколы передачи данных

    Для организации обмена между компьютерами ЛВС чаще всего используются стандартные протоколы, разработанные Международным институтом инженеров по электротехнике и радиоэлектронике IEEE (Institute of Electrical and Electronical Engineers).
    Вкратце рассмотрим протоколы обмена, изложенные в стандартах IEEE802.3, IEEE802.4 и IEEE802.5 на локальные сети, которые описывают соответственно методы доступа к сетевым каналам данных: Ethernet, Arcnet и Token Ring. Эти методы доступа реализуют функции канального уровня модели OSI. Название используемого в ЛВС метода часто отождествляют с типом топологии сети.
    Метод доступа Ethernet. Разработан фирмой Xerox. Обеспечивает высокую скорость передачи и надежность. Поддерживает топологию с общей шиной. Принадлежность передаваемого по обшей шине сообщения определяется включенными в заголовок адресами источника и назначения.
    Этот метод является методом множественного доступа с прослушиванием несущей и разрешением конфликтов (CSMA/CD - Carier Sense Multiple Access with Collision Detection).
    Суть метода состоит в том, что PC начинает передачу в том случае, если канал свободен, в противном случае передача сообщений задерживается на некоторое время (для каждой станции свое). Возможные случаи одновременной передачи данных распознаются автоматически аппаратным способом.
    Быстродействие сети заметно снижается при одновременной работе 80-100 PC. Это происходит из-за задержек, связанных с конфликтами в канале.
    Метод доступа Arcnet. Разработан фирмой Datapoint Corp. Используется в топологии "звезда".
    Сообщения от одной PC к другой по этому методу доступа передаются с помощью маркера, который создается на одной из PC. Если PC хочет передать сообщение, то она дожидается прихода маркера и присоединяет к нему свое сообщение, снабженное адресами отправителя и получателя. Если PC ожидает приема, то она ждет прихода маркера,
    403
    а по его приходе - анализирует заголовок прикрепленного к нему сообщения. Если сообщение предназначено данной PC, то она открепляет его от маркера, а также прикрепляет новое, при наличии такового.

    По оценкам различных специалистов этот

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

  • обозреватель MSIE;


  • каналы;


  • компонент обновления рабочего стола;


  • Outlook Express;


  • Microsoft NetMeeting;


  • Microsoft Chat;


  • FrontPage Express;


  • планировщик задач.


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

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

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

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

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

    429

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

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

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

    Модели данных

    Хранимые в базе данные имеют определенную логическую структуру, то есть представлены некоторой моделью, поддерживаемой СУБД. К числу важнейших относятся следующие модели данных:
  • иерархическая;

  • сетевая;

  • реляционная;

  • объектно-ориентированная.

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

    Набор формул

    Набор сложных формул удобно выполнить средствами Microsoft Equation. Для этого нужно выполнить команду Insert | Object (Вставка | Объект) и выбрать упомянутый класс объектов. После нажатия ОК откроется окно редактора формул с панелями символов и математических шаблонов. Набранная формула записывается в
    217
    текстовый блок и в дальнейшем может перемещаться и тиражироваться по стандартной технологии.

    Набор и редактирование

    SWP высвечивает всю набранную "математику" красным цветом. Текущий режим (Математика или Текст) индицируется в панели инструментов. Режим переключается щелчком левой кнопки мыши по индикатору либо нажатием + или + сответственно. Необходимые математические символы, знаки и шаблоны появляются в текущем положении точки вставки рабочего окна после щелчка мышью по нужной клетке подменю.
    Числа с плавающей точкой набираются со знаком умножения (точка, звездочка или косой крест) на 10 в соответствующей степени. Те же знаки используются при наборе выражений: 5*4 x3ћ2=120. При записи комплексных чисел i можно помещать как впереди, так и после вещественного множителя.
    В составе Maple имеются свыше 2500 функций. Около 30 наиболее употребительных из них доступны через иконку "sin/cos".
    Хорошо знакомые функции лучше набирать непосредственно с клавиатуры (обязательно в математической моде). Показатель степени -1 после имени функции рассматривается как оператор обратной функции:
    sin -1
    1
    2
      =
    1
    6
      ? (arcsin
    1
    2
      =?/6)
    К сказанному выше следует добавить правила набора составных конструкций:
    199
  • окончание заполнения поля (индекса, числителя или знаменателя дроби, клетки матрицы) фиксируется нажатием ; в случае матрицы при этом автоматически выполняется переход к следующему по строке полю;

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

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

  • Все действия по коррекции фрагмента выполняются после подвода к нему курсора справа. Нажатие комбинации + переведет строчную формулу в выключную), а < ¬> - выключную в строчную. Выделенный фрагмент может быть вырезан или скопирован в буфер, а затем при необходимости вставлен в нужное место. При нажатии < ¬> удаляется - в зависимости от положения курсора - выражение в целом, его часть или отдельный символ. При удалении одной из парных скобок будет удалена и вторая. Для изменения положения пределов нужно выбрать в меню Revise (Пересмотр) требуемый вариант и нажать ОК.
    200
    199 :: 200 :: Содержание

    Набор текста

    Для набора текста выделите фигуру, войдите в текстовый режим нажатием кнопки панели инструментов либо и начинайте набор. Инструменты текстовой панели появляются только после выделения текста или выхода в режим его набора.
    Набор надписей мы рекомендуем выполнять шрифтами без засечек с кириллицей, например Arial Cyr. Полезно при входе в Windows по цепочке Пуск (Программы) Стандартные (Start\ Program \ Standards) просмотреть Таблицу символов для всех установленных на вашей машине шрифтов. При этом просмотре нужно выписать кодовые комбинации для набора интересующих вас символов и названия содержащих их дополнительных шрифтов. Предпочтительно пользоваться шрифтами серии ^Т (True Type), которые лучше масштабируются.
    Для печати специальных символов из экзотических шрифтов следует, установив такой шрифт, набрать ключевую комбинацию клавиш (цифровых - только на правой
    216
    клавиатуре!). Для набора отдельных математических символов применяется шрифт Symbol (формулы набираются вставкой объектов Word Equation). Самые разнообразные и неожиданные запросы можно удовлетворить посредством шрифтов Dixieland, Signs и Wingdings. Следует иметь в виду возможность укрупнения букв до размеров картинок выбором кегля шрифта (кстати о картинках: через меню Insert возможны вставки из ClipArt, WordArt, DataMap, Microsoft Graph).
    Стандартно установленная гарнитура шрифта не содержит кириллических букв, и шрифт приходится корректировать заново при "надписывании" каждой фигуры схемы. Самым простым лекарством оказывается предварительное тиражирование основного элемента схемы, снабженного произвольной надписью при нужном размере и типе шрифта. Удаление стартовой надписи сохраняет эту настройку.
    Перед набором, коррекцией, перемещением, удалением текста нужно открыть текстовый блок и выделить обрабатываемую часть. Несколько букв выделяются протаскиванием указателя мыши, слово - двойным щелчком, абзац - тройным. Если выбор не производился, то изменения будут отнесены ко всему блоку.

    Выделенный текст дополнительно модифицируется кнопками Курсив, Подчеркнутый, Полужирный и с помощью команды Format\Font (Формат) Шрифт) может переводиться в положение верхнего или нижнего индекса. Здесь же можно корректировать поля между текстом и границами блока и выравнивание текста внутри него. Масштаб автоматически устанавливается 100%.

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

    tlib[i]:=?, ?i.

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

    При надписывании стрелок и простановке номеров блоков, выбрав в меню Format| Text Block (Формат| Блок текста) установку Solid Color (Плотный цвет) и белый фон, мы обеспечим непрозрачное наложение надписей на ранее проведенные линии, фон или штриховку фигуры.

    Будем называть автономной надписью текст, помещенный на схему вне фигур. Такой текст набирается в невидимом боксе аналогично "вложенному". Ширина бокса может быть задана после входа в текстовый режим протаскиванием мыши. Автономный текст также можно вращать. Тем самым Visio предоставляет возможность расположить надпись по вертикали.

    Набор заданий

    После загрузки системы Derive на экране появляется "алгебраическое окно" с меню, содержащим обычный для Windows набор операций работы с файлами, управления окнами, выбора опций и обращения к справочной системе (в подменю этих операций есть и специфические для Derive, например в Edit - связанные с редактированием выражений), а также ряд математических средств и панель инструментов. На рис. 17.1 представлена верхняя часть окна с набранным и выполненным заданием вычисления суммы.
    Рис. 1.71. Алгебраическое окно Derive
    204
    Для набора заданий служит пункт Author (Автор) Его можно вызвать кнопкой с изображением карандаша. Восьмая и девятая кнопки непосредственно готовят набор векторов и матриц соответственно. Набор ведется в строке дополнительного окна, вид которого определяется характером задания. Каждое такое окно имеет одинаковый набор математических символов и букв греческого алфавита, при необходимости переносимых "мышью" в бегущую строку набора. На рис. 17.2 показан вид окна при наборе приведенного выше задания.
    Рис 17.2 Диалоговое окно Calculus Sum
    Основание натуральных логарифмов представляется как e ; корень из мнимой единицы - как I, знак деления - косой чертой, знак умножения - звездочкой или пробелом между операндами, возведение в степень - символом ^. Этот же знак используется и при записи чисел в полулогарифмической нотации: 3 786*10^27.
    Мнимая единица может быть записана как перед коэффициентом, так и после него, знак умножения необязателен
    В процессе набора можно вносить в авторскую строку предварительно выделенные в математическом окне выражения (подвыражения). Вставка выполняется нажатием . Возможны также ссылки вида # на полный текст записи из окна.
    После завершения набора нажатием ОК или набранное выражение преобразуется в выходной формат (в частности, дроби записываются с горизонтальной чертой), добавляется в конец текста "алгебраического окна" и получает очередной номер. Оно окажется выделенным, и для выполнения задания следует набрать +. Если выражение предварительно упростить, нажав кнопку Simplify или +, в окне запишется результат преобразования.
    205
    204 :: 205 :: Содержание

    Направления работ и инструментарий ИИ

    В настоящее время исследования в области ИИ имеют следующую прикладную ориентацию:
  • общение на естественном языке и моделирование диалога;

  • экспертные системы (ЭС);

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

  • робототехника;

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

  • распознавание образов;

  • решение комбинаторных задач.

  • Наибольшие практические результаты достигнуты в создании ЭС, которые получили уже широкое распространение и используются при решении практических задач.
    Экспертная система представляет собой программный комплекс, содержащий знания специалистов из определенной предметной области, обеспечивающий консультациями менее квалифицированных пользователей для принятия экспертных решений. Основное отличие ЭС от обычных программ, также способных поддерживать экспертные решения, заключается в отделении декларативных знаний от манипулирующего знаниями процедурного компонента.
    Структура экспертной системы зависит от ее назначения и решаемых задач. В состав современных экспертных систем (рис. 23.3) входят следующие основные компоненты: база знаний, решатель, редактор базы знаний, подсистема объяснений и интерфейс пользователя.
    Определение и взаимодействие компонентов ЭС может быть описано следующим образом.
    База знаний представляет собой совокупность знаний о предметной области, организованных в соответствии с принятой моделью представления знаний.
    300
    Рис. 23.3. Структура экспертной системы
    Решатель, или подсистема логического вывода, представляет собой программу, обеспечивающую автоматический вывод решения формулируемых пользователем или экспертом задач на основе знаний, хранящихся в базе.
    База знаний и решатель вместе составляют основную часть - ядро ЭС. В ряде источников к ядру ЭС относят только базу знаний.
    Инженер по знаниям - специалист по искуственному интеллекту, помогающий эксперту вводить знания в базу знаний.
    Эксперт - специалист в предметной области, способный принимать экспертные решения и формулирующий знания о предметной области для ввода их в базу знаний.

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

    Пользователь ЭС является специалистом в данной предметной области, квалификация которого уступает квалификации эксперта.

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

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

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

    301

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

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

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

    Настройка для работы в сети

    Окно сетевой настройки (рис 28 4) может быть вызвано, например, выбором значка Сеть (NetWork) Панели управления
    Рис 28 4 Диалоговое окно Сеть
    Вкладка Конфигурация (Configuration), отображает список установленных сетевых компонентов Их можно подгрузить, используя окно, вызываемое по нажатию кнопки Добавить (Add)
    411
    Раскрывающийся список Способ входа в сеть (Primary Network Logon) позволяет применить один из следующих способов входа в сеть:
  • обычный вход в Windows (Windows Logon), при котором система сама определяет тип используемой сети и необходимость соответствующего клиента (устанавливается по умолчанию);

  • клиент для сетей Microsoft.

  • Вкладка Компьютер (Identification) предоставляет возможность установки параметров, идентифицирующих компьютер в сети:
  • имя пользователя (Computer Name) длиной не более 15 символов;

  • название рабочей группы (Workgroup), которой принадлежит компьютер (не более 15 символов);

  • описание компьютера (Computer Description) - необязательное.

  • Для имени компьютера система по умолчанию использует первые 8 символов имени пользователя.
    Вкладка Управление доступом (Access Control) позволяет назначить режим доступа пользователя к сетевым ресурсам:
  • на уровне ресурсов (Share-level access control) - в этом режиме общим ресурсам (папка, диск, принтер) назначается пароль для доступа к этим ресурсам;

  • на уровне пользователя (User-level access control), используется в сетях под управлением Windows NT, Novell NetWare и других, в которых защита основана на присвоении пользователям или группам определенных прав. Этот режим позволяет указать сетевой домен или сервер, на котором хранится список пользователей с указанием их прав доступа к сетевым ресурсам. В одноранговой сети под управлением Windows 95 данный режим использоваться не может.


  • Настройка на одноранговую сеть или клиента Windows NT

    Для включения станции Windows 95 в одноранговую сеть необходимо
  • организовать на станции доступ На уровне ресурсов (Share-level access control),

  • установить тип требуемого программного обеспечения рабочей станции (в Windows 95 называется программное обеспечение клиента Microsoft),

  • подключить данную станцию к той рабочей группе, с которой предполагается работать

  • 414
    Рис 28 7 Установка службы разделения ресурсов для сетей Microsoft
    Для реализации второй задачи необходимо в окне Сеть (Network) во вкладке Конфигурация (Configuration) добавить Клиента Microsoft (обычно он устанавливается по умолчанию) в список установленных компонентов Механизм этой процедуры аналогичен добавлению Службы разделения ресурсов сетей Microsoft (рис 28 7)
    Для включения станции в рабочую группу необходимо, выбрав вкладку Компьютер (Identification) окна Сеть (Network), установить в поле названия рабочей группы (Workgroup) имя нужной рабочей группы
    Для подключения станции в качестве клиента к серверу Windows NT необходимо
  • организовать на станции доступ На уровне пользователя (User-levelsecurity),

  • в сети установить программное обеспечение клиента Microsoft (так же, как и при организации одноранговой сети),

  • указать имя домена в окне Свойства Клиент сетей Microsoft, которое появляется при нажатии кнопки Свойства (Properties) при выбранном клиенте Microsoft (рис 288)

  • Кроме того, устанавливается флажок Входить в домен Windows NT (Logon to Windows NT domain) До входа в сеть администратор должен присвоить пользователю имя, обеспечивающее ему определенные полномочия
    415
    Рис 28 8. Выбор домена сети

    Настройка оболочки

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

    Нелинейные уравнения и системы уравнений

    Файл solve.mth содержит следующие подпрограммы:
  • NEWTONES([],[],[],) реализует метод Ньютона.

  • FIXED_POINT с аналогичными параметрами реализует метод итераций.

  • TAYLOR_SOLVE (u,x,y,x0,y0,n) представляет решение у(х) уравнения и(х,у) =0 рядом Тейлора л-го порядка. Предполагается u(x0,y0)=Q.

  • TAYLOR_INVERSE(i/,x,y,xO,n) представляет в виде степенного ряда функцию х(у), обратную у=и(х) в окрестности у0=и(х0).

  • Первые две из названных подпрограмм выводят значения переменных на каждом шаге (при опущенном числе шагов - до совпадения строк).
    209

    Нормальные формы

    Процесс проектирования БД с использованием метода нормальных форм является итерационным, и заключается в последовательном переводе отношений из первой нормальной формы в нормальные формы более высокого порядка по определенным правилам. Каждая следующая нормальная форма ограничивает определенный тип функциональных зависимостей, устраняет соответствующие аномалии при выполнении операций над отношениями БД и сохраняет свойства предшествующих нормальных форм.
    Выделяют следующую последовательность нормальных форм:
  • первая нормальная форма (1НФ);

  • вторая нормальная форма (2НФ);

  • третья нормальная форма (ЗНФ);

  • усиленная третья нормальная форма, или нормальная форма Бойса-Кодда (БКНФ)

  • четвертая нормальная форма (4НФ);

  • пятая нормальная форма (5НФ).

  • Первая нормальная форма. Отношение находится в 1 НФ, если все его атрибуты являются простыми (имеют единственное значение). Исходное отношение строится таким образом, чтобы оно было в 1 НФ.
    240
    Перевод отношения в следующую нормальную форму осуществляется методом декомпозиции без потерь. Такая декомпозиция должна обеспечить то, что запросы (выборка данных по условию) к исходному отношению и к отношениям, получаемым в результате декомпозиции, дадут одинаковый результат.
    Основной операцией метода является операция проекции. Поясним ее на примере. Предположим, что в отношении R(A,B,C,D,E...) устранение функциональной зависимости C->D позволит перевести его в следующую нормальную форму. Для решения этой задачи выполним декомпозицию отношения R на два новых отношения R1 (А,В,С,Е...) и R2(C,D). Отношение R2 является проекцией отношения R на атрибуты С и D.
    Исходное отношение ПРЕПОДАВАТЕЛЬ, используемое для иллюстрации метода, имеет составной ключ ФИО, Предм, Группа и находится в 1НФ, поскольку все его атрибуты простые.
    В этом отношении, в соответствии с рис. 19.8 б, можно выделить частичную зависимость атрибутов Стаж, Д_Стаж, Каф, Должн, Оклад от ключа - указанные атрибуты находятся в функциональной зависимости от атрибута ФИО, являющегося частью составного ключа.

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

    1. В отношении присутствует явное и неявное избыточное дублирование данных, например:

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


  • повторение сведений об окладах для одной и той же должности или о надбавках за одинаковый стаж.


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

    Часть избыточности устраняется при переводе отношения в 2НФ.

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

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

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


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


  • В результате получили два отношения R1 и R2 в 2НФ (рис. 19.9).

    В отношении R1 первичный ключ является составным и состоит из атрибутов ФИО, Предм, Группа. Напомним, что данный ключ в отношении R1 получен в предположении, что каждый преподаватель в одной группе по одному предмету может либо читать лекции, либо проводить практические занятия. В отношении R2 ключ ФИО.

    Исследование отношений R1 и R2 показывает, что переход к 2НФ позволил исключить явную избыточность данных в таблице R2 - повторение строк со сведениями о преподавателях. В R2 по-прежнему имеет место неявное дублирование данных.

    241

    Рис. 19.9. Отношения БД в 2НФ

    Для дальнейшего совершенствования отношения необходимо преобразовать его в ЗНФ.

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


    Если в отношении R1 транзитивные зависимости отсутствуют, то в отношении R2 они есть:

    ФИО-> Должн -> Оклад,
    ФИО-> Оклад -> Должн,
    ФИО-> Стаж -> Д_Стаж ,
    Транзитивные зависимости также порождают избыточное дублирование информации в отношении. Устраним их. Для этого используя операцию проекции на атрибуты, являющиеся причиной транзитивных зависимостей, преобразуем отношение R2, получив при этом отношения R3, R4 и R5, каждое из которых находится в ЗНФ (рис. 19.10 а). Графически эти отношения представлены на рис. 19.10 б.

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

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

    Усиленная ЗНФ, или нормальная форма Бойса-Koддa (БКНФ).

    Отношение находится в БКНФ, если оно находится в ЗНФ и в нем отсутствуют зависимости ключей (атрибутов составного ключа) от неключевых атрибутов.

    242

    Рис. 19.10. Отношения БД в 3НФ

    У нас подобной зависимости нет, поэтому процесс проектирования на этом заканчивается. Результатом проектирования является БД, состоящая из следующих таблиц: R1, R3, R4, R5. В полученной БД имеет место необходимое дублирование данных, но отсутствует избыточное.

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

  • частичных зависимостей неключевых атрибутов от ключа (2НФ);


  • транзитивных зависимостей неключевых атрибутов от ключа (ЗНФ);


  • зависимости ключей (атрибутов составных ключей) от неключевых атрибутов (БКНФ).


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

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

    После завершения проектирования БД создается с помощью СУБД.

    243

    238 :: 239 :: 240 :: 241 :: 242 :: 243 :: 241 :: Содержание

    Нумерация заголовков

    Word 7.0 обеспечивает автоматическую нумерацию заголовков на основе привязки к уровням заголовков, определяемых их стилем. Например, если в документе используются заголовки трех уровней, то при записи заголовка ему нужно назначать один из трех предопределенных стилей заголовков Заголовок1 (Headingl), Заголовок2
    134
    (Heading2) и Заголовок З (Headings). При соблюдении указанного условия для автоматической нумерации заголовков, задания формата и отмены нумерации используется команда Нумерация заголовков... (Heading Numbering...) меню Формат (Format).
    Для задания автоматической нумерации заголовков нужно выполнить следующее: выполнив команду Нумерация заголовков... (Heading Numbering...), открыть диалоговое окно Нумерация заголовков (Heading Numbering) (рис. 10.8); щелчком мыши выбрать вариант нумерации и нажать ОК.
    Рис. 10.8. Диалоговое окно Нумерация заголовков
    Пример. Настройка формата автоматической нумерации заголовков.
  • Выполним команду Нумерация заголовков... (Heading Numbering...).

  • В диалоговом окне Нумерация заголовков (Heading Numbering) нажмем кнопку Изменить... (Modify...).

  • В открывшемся диалоговом окне Изменение нумерации заголовков (Modify Heading Numbering) произведем настройку формата нумерации. Для этого в поле Уровень (Level) поочередно зададим каждый из настраиваемых уровней заголовков, скажем с 1-го по 3-й.

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

  • Нажатие на кнопку Шрифт... (Font...) вызывает диалог настройки параметров шрифта, используемого для номеров данного уровня. Если такую настройку шрифта не проводить, то для каждого из номеров будет использоваться шрифт, соответствующий стилю заголовка данного уровня (см. примеры для команды Стиль... (Style...)).

  • 135
    Для удаления автоматической нумерации заголовков нужно задать команду Нумерация заголовков... (Heading Numbering...) и в диалоговом окне Нумерация заголовков (Heading Numbering)(рис. 10.8) нажать кнопку Удалить (Remove).
    136
    134 :: 135 :: 136 :: Содержание

    Объектно-ориентированное программирование

    Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного Л. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.
    В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: "объект = данные + процедуры". Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемые методами. Объединение данных и процедур в одном объекте называется инкапсуляцией и присуще объектно-ориентированному программированию.
    Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить как экземпляр класса.
    Программирование рассматриваемого стиля заключается в выборе имеющихся или создании новых объектов и организации взаимодействия между ними. При создании новых объектов свойства объектов могут добавляться или наследоваться от объектов-предков. В процессе работы с объектами допускается полиморфизм - возможность использования методов с одинаковыми именами для обработки данных разных типов.
    К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java.
    Язык C++ был разработан в начале 80-х годов Б. Страуструпом, сотрудником лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в которой за основу был взят язык С, дополненный элементами языков BCPL, Simula-67 и Algol-68. К июлю 1983 года появился язык С с классами, а чуть позднее - C++. К 1990 году была выпущена третья версия языка C++, принятая комитетом ANSI в качестве исходного материала для его стандартизации.
    В 1990 году сотрудник корпорации Sun Д. Гослинг на основе расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого было
    51
    обеспечение сетевого взаимодействия различных по типу устройств.
    Новая интегрируемая в Internet версия языка, получила название Java. Первый броузер, который поддерживал язык Java, разработан программистом корпорации Sun П. Нафтопом и получил название HotJava. С января 1995 года Java получает распространение в Internet.

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

    Принципиальной разницей между Java и C++ является то, что первый из них является интерпретируемым, а второй - компилируемым. Синтаксис языков практически полностью совпадает.

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

    В силу своей конструктивности идеи объектно-ориентированного программирования используются во многих универсальных процедурных языках. Так, например, в состав интегрированной системы программирования на языке PASCAL (корпорации Borland International) версии 5.5 входит специальная библиотека объектно-ориентированного программирования Turbo Vision.

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


    К числу объектно- ориентированных систем визуального программирования относятся: Visual Basic, Delphi, C++ Builder и Visual C++.

    52

    Контрольные вопросы и упражнения

  • Что такое информация, сигнал, сообщение, данные? Дайте определение.


  • Назовите основные формы представления информации.


  • Что такое количество информации, в каких единицах оно измеряется?


  • Дайте общую характеристику процессов сбора, обработки и передачи информации.


  • Как соотносятся понятия "информационная техника" и "информационная технология"?


  • Что такое архитектура ЭВМ?


  • Перечислите основные устройства ЭВМ и дайте им краткую характеристику.


  • Назовите основные технико-эксплуатационные характеристики ЭВМ.


  • Представьте десятичное число -113 двоичным восьмиразрядным прямым, обратным и дополнительным кодами.


  • Числа -24.75(10) и 18.625 (10)представьте последовательно в шестиадцатеричной и двоичной системах.Выполните сложение и вычитание этих чисел в обратном и дополнительном кодах. Переведите полученные результаты в десятичную систему счисления.


  • Запишите свою фамилию, имя, отчество и год рождения в коде ДКОИ.


  • Дайте классификацию видов ПО.


  • Что такое алгоритм и какими свойствами он обладает?


  • Укажите способы описания алгоритмов.


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


  • Что такое компиляция и интерпретация программ?


  • Охарактеризуйте основные стили программирования.


  • 53

    Литература

  • Аверьянов Г.П., Рошаль А.С. Элементы информатики: Учебное пособие.- М.:МИ-ФИ, 1995. - 175 с.


  • Богумирский Б.С. Руководство пользователя ПЭВМ: в 2-х частях.-Санкт-Петербург: Ассоциация OILCO, 1992. - 735 с.


  • ГОСТ 19.002-80 ЕСПД.


  • ГОСТ 19.003-80 ЕСПД.


  • Дворкин П.Л. Основы информатики и вычислительной техники: Учебное пособие .- Омск.:ОПИ, 1988.-119с.


  • Иванов Н. C++ или Java // Мир Internet, № 1,1997. - С. 42-49.


  • Информатика: Энциклопедический словарь для начинающих/Сост. Д.А. Поспелов - М.: Педагогика - Пресс, 1994. - 352 с.


  • Компьютерные технологии обработки информации: Учебное пособие / С.В.


    Назаров, В.И. Першинов, В.А. Тафинцев и др.; Под ред. С.В. Назарова. - М.: Финансы и статистика, 1995. - 248 с.


  • Основные понятия информатики и вычислительной техники: Методические материалы. - Новосибирск, 1990. - 123 с.


  • Основы компьютерной грамоты / А. Н.Жигарев, Н.В. Макарова, М.А. Путинце-ва; Под общ. ред. Н.В. Макаровой. - Л.: Машиностроение, 1987. - 255 с.


  • Программирование. Учебник под ред. Свердлика А.Н., МО СССР, 1992. - 608 с.


  • Ростовцев 10. Г. Основы построения автоматизированных систем сбора и обработки информации: Учебник. - СПб.: ВИККА им. А.Ф. Можайского, 1992. - 717 с.


  • Трудов Ю.В. Основы построения ЭВМ. Часть 1. Теоретические основы, элементы и узлы ЭВМ: Учебное пособие. - Л.: ВИКИ им. А.Ф. Можайского, 1990. - 216 с.


  • Шафрин Ю.А. Основы компьютерных технологий. Уч. Пособие для 7-11 классов по курсу "Информатика и вычислительная техника". - М.: ABF, 1996. - 560 с.


  • Шоу А. Логическое проектирование операционных систем: Пер. с англ. - М.: Мир, 1981.-360 с.


  • 54

    47 :: 48 :: 49 :: 50 :: 51 :: 52 :: 53 :: 54 :: Содержание

    Обеспечение целостности БД

    Обеспечение целостности БД означает выполнение ряда ограничений, соблюдение которых необходимо для поддержания непротиворечивости хранимых данных. Среди ограничений целостности можно выделить ограничения диапазонов значений атрибутов отношений и структурные ограничения на кортежи отношений.
    243
    Первый тип ограничений целостности предполагает контроль значений атрибутов отношений. Например, значения атрибута Дата_рождения не могут превышать значений атрибута Дата_приема в записях отношений о кадрах.
    Структурные ограничения фиксируют два требования целостности, которые должны поддерживаться реляционными СУБД: требование целостности сущностей и целостности ссылок. Каждому экземпляру сущности, представленному в отношении, соответствует только один его кортеж. Первое требование состоит в том, что любой кортеж отношения должен быть отличим от любого другого кортежа этого отношения, иными словами, любое отношение должно обладать первичным ключом.
    Формулировка второго требования тесно связана с понятием внешнего ключа. Напомним, что внешние ключи служат для связи отношений (таблиц БД) между собой. При этом атрибут одной таблицы, назовем ее родительской, служащий для связи ее с другой таблицей - дочерней, в которой он является первичным ключом - называется внешним ключом данного отношения (таблицы). Говорят, что отношение, в котором определен внешний ключ, ссылается на отношение, в котором этот же атрибут является первичным ключом.
    Требование целостности по ссылкам состоит в том, что для каждого значения внешнего ключа родительской таблицы должна найтись строка в дочерней таблице с таким же значением первичного ключа. Например, если в отношении R1 (рис. 19.11) содержатся
    Рис. 19.11. Связь отношений с помощью внешнего ключа
    сведения о сотрудниках кафедры, а атрибут этого отношения Должн является первичным ключом отношения R2, то в этом отношении для каждой должности из R1 должна быть строка с соответствующим ей окладом.
    244
    243 :: 244 :: Содержание

    Обеспечение ссылочной целостности БД

    Понятие ссылочной целостности определяет допустимые операции над связанными между собой таблицами. Главное требование ссылочной целостности заключается в том, чтобы записи дочерних таблиц имели ссылки на записи в родительской таблице (дети должны иметь родителей). В родительской таблице могут быть записи, не имеющие связанных с ними записей в дочерних таблицах (может быть семья без детей). В Visual FoxPro поддержка ссылочной целостности выполняется с помощью одноименного Построителя. Чтобы открыть Построитель ссылочной целостности, достаточно выполнить следующее:
  • открыть БД с таблицами, для которых необходимо установить ссылочную целостность;

  • в контекстном меню Конструктора БД задать команду Referential Integrity (ссылочная целостность), что и приведет к открытию окна Построителя ссылочной целостности данных (рис. 21.5).

  • Рис. 21.5 Диалоговое окно Referential Integrity Builder
    В окне Построителя перечислены все постоянные связи между таблицами БД Bdu. Информация но каждой связи размещена в отдельной строке. Первые два столбца содержат имена родительских и дочерних таблиц. Следующие три столбца содержат правила поддержания ссылочной целостности в случае редактирования, удаления и добавления записей соответственно. Изначально все правила содержат Ignore, но они определяются для каждой связи и каждой из трех перечисленных операций. Последние два столбца содержат индексы (теги) родительской и дочерней таблиц, по которым осуществляется связь.
    В диалоговом окне Построителя ссылочной целостности коррективам могут быть подвергнуты только столбцы с правилами. Пагпа задача - для каждой связи (пары родительской и дочерней таблицы) определить правила поддержания ссылочной
    266
    целостноети при выполнении каждой из трех возможных операций с данными этих таблиц (редактирования, добавления и удаления). Этот выбор можно осуществить двумя способами:
  • при выборе поля одного из столбцов с правилами Update (обновить), Delete (удалить) и Insert (вставить) появляется кнопка, нажатие которой приводит к появлению списка возможных правил;


  • при выборе одной из вкладок Rules for Updating (правила обновления), Rules for Deleting (правила удаления), Rules for Inserting (правила вставки) в верхней части таблицы появляются переключатели с комментариями для каждого из правил.


  • Например, при выборе вкладки Rates for Updating (правила обновления) выбираются правила, связанные с изменениями значения первичного ключа или ключа-кандидата в родительской таблице. При этом возможен выбор одного из трех правил, приведенных в табл. 21.6.

    Таблица 21.6

    Правила изменения значений первичного ключа

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

    При удалении записей из связанных таблиц (вкладка Rules for Deleting - правила удаления) требуется использование также трех правил (табл. 21.7).

    Таблица 21.7

    Правила удаления записей из связанных таблиц

    Наименование Описание
    Cascade Удаление записей в родительской таблице автоматически приводит к каскадному удалению всех записей дочерней таблицы, имеющих аналогичные значения соответствующего внешнего ключа.
    Restrict Запрещается удаление записи в родительской таблице, если в дочерней таблице имеется хотя бы одна запись, внешний ключ которой содержит значение, совпадающее со значением первичного ключа или ключа-кандидата в удаляемой записи. При попытке удаления записи выдается сообщение об ошибке, которую можно обработать программно.
    Ignore Допускается неограниченное удаление записей родительской таблицы. Целостность данных не поддерживается.
    <


    /p> Правила для добавления записей применимы со стороны дочерней таблицы. Их всего два (табл. 21.8).

    267

    Таблица 21.8

    Правила добавления записей

    Наименование Описание
    Restrict Запрещается добавление записи к дочерней таблице, если в родительской таблице отсутствуем запись, значение первичного ключа или ключа-кандидата которой не совпадает со значением внешнего ключа добавляемой записи
    Ignore Допускается неограниченное добавление записей в дочернюю таблицу. Целостность данных не поддерживается.
    По окончании выбора правил выйдем из Построителя, нажав ОК. При выходе появляется запрос подтверждения сделанных изменений. В случае подтверждения в БД создается ряд хранимых процедур и триггеров. Если такие процедуры и триггеры уже существуют, то перед их перезаписью создается резервная копия. Теперь все наши требования по обеспечению ссылочной целостности данных сохраняются в словаре БД и реализуются при работе с пей.

    При формировании правил ссылочной целостности (рис. 21.5) мы рассуждали следующим образом:

  • Изменение значений ключевых полей родительских таблиц. Таблица Т_Ргер является дочерней по отношению к таблицам T_Dolgn и T_Stag; в свою очередь, для нее дочерней является таблица T_Zagr. He будем исключать возможность изменения названия должности или фамилии преподавателя. Соответствующие поля являются ключевыми. При необходимости такие изменения необходимо произвести в родительских таблицах соответственно: должность - в T_Dolgn, а фамилию -в Т_Ргер. В этом случае они синхронно (каскадом) изменятся в дочерних таблицах. Запретим изменения значений ключевого поля Stag (стаж) в родительской таблице T_Stag.


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


  • Изменение (добавление) записей в дочерней таблице. Запретим ввод записей в дочерние таблицы, не соответствующие одной из записей в родительской таблице.


  • Проверим средства обеспечения ссылочной целостности в действии.


    Откроем БД Bdu с помощью команды File Open (файл \ открыть) системного меню Visual FoxPro (если она закрыта). В появившемся окне Конструктора БД откроем для просмотра таблицу Т_ргер. Для этого установим курсор на эту таблицу и, вызвав всплывающее меню, зададим команду Browse (просмотр).

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

    Замечание. При необходимости произвести добавление или изменение защищенных данных (режим Restrict) нужно снять защиту и после выполнения требуемых действий повторно установить защиту.

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

    268

    266 :: 267 :: 268 :: Содержание

    Объявление объектов и режимов

    Область значений переменной
    По умолчанию все переменные считаются действительными. Переопределить область можно командой Declare Variable Domain (Определить область переменной). После ввода имени в диалоговом окне предлагается выбор области из {Integer, Real, Complex, Nonscalar}. В первых двух случаях требуется дальнейшая детализация. Отработка команды подтверждается выводом сообщения вида
    х: ? < область >< интервал >.

    и графики позволяют заметно повысить

    Диаграммы и графики позволяют заметно повысить наглядность представления числовых табличных данных в документах и электронных таблицах. Создание и изменение диаграмм выполняется с помощью программы Microsoft Graph 5.0, входящей в состав Microsoft Office 95. С ее помощью можно удобно создавать диаграммы и графики различных типов: от гистограмм, линейчатых и кольцевых диаграмм до объемных гистограмм, линейчатых и круговых диаграмм. Кроме того, возможно создание диаграмм и графиков смешанного типа.

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

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

    Кроме того, диалог редактирования диаграммы можно открыть путем выделения диаграммы и задания команды Объект Диаграмма (Chart Object) меню Правка (Edit). Далее на панели команд нужно выбрать команду Изменить (Edit) или Открыть (Open). В первом случае диалог редактирования диаграммы откроется прямо в документе Word или рабочей книге Excel (как и после открытия диаграммы с помощью двойного щелчка). Во втором случае откроется отдельное окно программы Microsoft Graph 5.0 для редактирования выделенной диаграммы.

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

    Пример 1. Запуск программы Microsoft Graph 5.0 для создания новой диаграммы.

  • Поместим курсор ввода в место размещения будущей диаграммы.


  • Выполним команду Объект... (Object...) меню Вставка (Insert).


  • З. В открывшемся диалоговом окне Вставка объекта (Object) па вкладке Создание (Create New) выберем тип объекта Microsoft Graph 5.0 и нажмем ОК.



  • В результате откроется диалог программы Microsoft Graph 5.0 для создания диаграммы путем редактирования стандартной диаграммы.


  • Пример 2. Запуск программы Microsoft Graph 5.0 для создания диаграммы на основе имеющейся таблицы.

  • Выделим имеющуюся таблицу, поместив нее курсор и задав команду Выделить таблицу (Select Table) меню Таблица (Table).


  • 1. Выполним команду Объект... (Object...) меню Вставка (Insert).


  • В открывшемся диалоговом окне на вкладке Создание (Create New) также выберем тип объекта Microsoft Graph 5.0 и нажмем ОК.


  • В результате откроется диалог программы Microsoft Graph 5.0 с запуском Мастера диаграмм для создания диаграммы на основе выделенной таблицы.

    174

    Замечание.

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

    Пример 3. Запуск программы Microsoft Graph 5.0 для создания диаграммы с передачей данных из имеющейся таблицы с помощью буфера обмена

  • Выделим имеющуюся таблицу, поместив нее курсор и задав команду Выделить таблицу (Select Table) меню Таблица (Table).


  • Выполнив команду Копировать (Сору) меню Правка (Edit), поместим копию таблицы в буфер обмена.


  • Поместим курсор в место размещения диаграммы


  • Выполним команду Объект...(Objekt...) меню Вставка (Insert).


  • В открывшемся диалоговом окне на вкладке Создание (Create New) выберем тип объекта Microsoft Graph 5.0


  • Нажав OK, откроем диалог программы Microsoft Graph 5.0


  • Выберем левую верхнюю ячейку в таблице данных


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


  • В результате данные из исходной (имеющейся) таблицы будут помещены в таблицу данных программы Microsoft Graph 5.0 и по ним будет создана диаграмма для настройки.

    175

    174 :: 175 :: Содержание

    Общая характеристика СУБД

    Visual FoxPro 5.0 представляет собой СУБД реляционного типа с развитыми средствами создания БД, организации запросов к ним, построения приложений с использованием визуального, объектно-ориентированного программирования.
    СУБД Visual FoxPro 5.0 может работать в среде Windows 95 и Windows NT.
    В Visual FoxPro реализованы все атрибуты реляционной СУБД. Так, в ней введено понятие базы данных как совокупности связанных таблиц, информация о которых хранится в словаре данных. В БД определяются условия ее целостности с помощью первичных и внешних ключей таблиц. Все события (изменения), происходящие в БД, могут обнаруживаться и централизованно обрабатываться в связи с появлением в Visual FoxPro таких средств, как триггеры и встроенные процедуры.
    Visual FoxPro совместима с более ранними версиями FoxPro. Поэтому приложения, разработанные в более ранних версиях FoxPro, могут быть адаптированы с ее помощью в среду Windows 95. Visual FoxPro обладает высокой скоростью в обслуживании БД.
    Используя стандарт ODBC и SQL-запросы Visual FoxPro позволяет работать с данными в формате СУБД Access, Paradox, dBase и т.д., с серверами БД - Microsoft SQL Server, Oracle и др.
    Приложение Visual FoxPro может одновременно работать как с собственными, так и сетевыми таблицами, расположенными на других компьютерах локальной сети.
    Поддерживаются такие механизмы работы с Windows-приложениями как:
  • Dynamic Data Exchage (DDE) - динамический обмен данными,

  • Object Linking and Embedding (OLE) - связывание и встраивание объектов.

  • При работе Visual FoxPro 5.0 под управлением Windows 95 к аппаратным ресурсам предъявляются следующие требования:
  • IBM-совместимый компьютер с процессором 486 и выше;

  • мышь;

  • 10 Мбайтов основной памяти;

  • 15 Мбайтов дискового пространства для минимальной инсталляции, 100 Мбайтов - для типичной инсталляции и 240 Мбайтов - для максимальной инсталляции;

  • монитор VGA или с более высоким разрешением.

  • С помощью Visual FoxPro можно создавать сетевые приложения, функционирующие в сетях под управлением Microsoft Windows 95, Windows NT, Microsoft LAN Manager и др.
    Для упрощения процесса разработки баз данных и приложений имеется большое количество Мастеров, Конструкторов и Построителей.
    Некоторые количественные характеристики Visual FoxPro: максимальное количество записей - 1 000 000 000; максимальный размер таблицы - 2 Гбайта; максимальное количество символов в записи - 65 500; максимальное количество полей в записи - 255; максимальное количество одновременно открытых таблиц - 2551.
    247
    247 :: Содержание

    Общая характеристика

    Рассмотрим Norton Commander 5.0 - оболочку MS DOS, которая облегчает взаимодействие пользователя с файловой системой, выполнение операций с файлами и каталогами, управление их характеристиками.
    Запуск Norton Commander выполняется заданием в командной строке имени nс.ехе. Предварительно нужно установить текущим каталог NC, в котором размещены все файлы оболочки. Можно этого не делать, но тогда в файле автозапуска autoexec.bat следует прописать путь доступа к файлу nс.ехе.
    Интерфейс оболочки Norton Commander имеет вид двухпанельного диалогового окна (рис. 4.1).
    Рис. 4.1. Вид панелей Norton Commander
    Каждая из панелей (левая и правая) связана с одним внешним накопителем (логические имена накопителей А:, В:, С:...) и обычно отображает перечень файлов и подкаталогов текущего каталога этого накопителя. В любой момент времени одна из панелей является активной (на рис. 4.1 - правая), другая панель - пассивной.
    Линейка меню (появляется в верхней строке оболочки) имеет в своем составе 5 подменю: Левая панель (Left), Файл (Files), Диск (Disk), Команды (Commands), Правая панель (Right). Каждое из названных подменю можно активизировать после нажатия клавиши с помощью клавиш управления курсором пли с помощью мыши. Команды
    68
    меню позволяют управлять отображением информации на панелях, задавать параметры конфигурации оболочки Norton Commander.
    Командная строка (вторая снизу) служит для ввода команд DOS. До нажатия клавиши команду в строке можно редактировать. Можно выполнять сборку команды в строке из состава объектов, представленных на панелях.
    Строка подсказок (самая нижняя строка) содержит пояснения относительно назначения функциональных клавиш .... Например, функциональная клавиша вызывает справочную информацию об оболочке; - вызывает меню пользователя, с помощью которого можно запустить программу из предусмотренного в меню перечня.
    69
    68 :: 69 :: Содержание

    Общие понятия и терминология

    Подготовка документов средствами текстовых редакторов и процессоров предоставляет немыслимые недавно удобства и возможности. К примеру, режим WYSIWYG позволяет пользователю видеть документ па экране в его реальном виде - как при печати. Работа с документом по стандарту OLE предоставляет возможность встраивания в документ объектов из других приложений (к примеру, табличных процессоров, графических редакторов, систем управления базами данных) с возможностью вызова последних для обработки связанных объектов.
    В составе функций, характерных для развитых современных текстовых процессоров, можно назвать следующие: автоматизированное форматирование документа на основе стилей; работа с документом в режиме исправлений, обеспечивающем возможности последующей отмены или подтверждения каждого изменения; проверка орфографии и автоматическое разделение слов при переносе; структурное проектирование документа; создание формульных выражений и таблиц; возможность встраивания и редактирования графических изображений; поддержка совместимости с распространенными прикладными программами для DOS и Windows; работа с электронной почтой и многое другое.
    Текстовые редакторы и текстовые процессоры представляют собой программы, предназначенные для подготовки документов (писем, статей, книг) с помощью ПЭВМ. Мы будем различать их на качественном уровне: текстовые редакторы определим как
    101
    программы, обеспечивающие основные возможности по подготовке несложных документов; к текстовым процессорам отнесем программы, обеспечивающие широкий набор средств по подготовке документов любой сложности. В среде Windows к числу текстовых редакторов можно отнести программу Write, а к текстовым процессорам - Word 6.0, 7.0 и 97, Лексикон 2.0 и 97, Ami Pro 3.1 и т.п.
    Рассмотрим ряд понятий, являющихся общими для большинства текстовых процессоров. Подготавливаемый документ состоит из разнообразных элементов - символов, абзацев, страниц, разделов, кадров, сносок, колонтитулов.
    Символ представляет собой минимальный элемент текста документа.
    Внешне символ воспринимается как отдельный знак. При обработке текстовым процессором каждому символу ставится в соответствие числовой код, задается определенное шрифтовое оформление, а для алфавитных символов указывается принадлежность к некоторому национальному языку. Для кодового представления символов в Windows используется стандарт ANSI.

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

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

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

    Сноска представляет собой комментарий, вынесенный за пределы основного текста документа и обычно содержащий ссылку на текст из другого источника. В некоторых текстовых процессорах последние два понятия имеют отличное толкование.

    Кадр представляет собой видимую или невидимую рамку, служащую для размещения текста, рисунков или таблиц. Кадр может обтекаться текстом документа, придавая ему выразительность.

    Система стилей документа представляет собой набор определений способов оформления абзацев различных элементов документа (заголовков, названий, колонтитулов и др.) и символов.

    Раздел есть отдельная часть документа, в пределах которой можно установить свои параметры страницы и колонтитулов. Границы разделов отмечаются разделителями.

    Шаблон документа представляет собой текстовое содержимое заготовки документа, выполненное в соответствии с определенным набором стилей и предназначенное для отображения структуры документа в целях облегчения его подготовки.

    WYSIWYG (What You See Is What You Get - что видите, то получите) означает режим отображения редактируемого документа на экране в том виде, как он будет отпечатан.

    102

    101 :: 102 :: Содержание

    Общие понятия ВМ- функций и процедур-функций

    В В М-функциях и процедурах-функциях могут использоваться входные, выходные и промежуточные переменные. Все переменные в них являются локальными, т.е. они не доступны для обработки вне тела процедур и функций. Передача информации в процедуры-функции и ВМ-функции и возврат вычисленных значений из них осуществляется через аппарат параметров и аргументов (формальных и фактических параметров).
    В общем случае все переменные связи при вызове процедуры-функции или ВМ-функции можно разбить на входные и выходные. При этом входные переменные в зависимости от способа передачи данных также можно разделить на два вида: передаваемые при вызове процедуры-функции или ВМ-функции и передаваемые непосредственно из Variable Sheet, минуя список вызова. В описаниях процедур-функций и ВМ-функций все перечисленные виды переменных связи формируются путем соотнесения их в соответствующий список.
    При описании ВМ-функций и процедур-функций можно объявить от 0 до 20 переменных каждого вида (входных и выходных). Все объявленные переменные, кроме параметров, являются локальными. При вызове ВМ-функций и процедур-функций соответствие между параметрами и аргументами осуществляется позиционным способом: количество аргументов (входных и выходных) должно соответствовать порядку следования и количеству параметров (входных и выходных) ВМ-функции или процедуры-функции.
    Процедуры-функции и ВМ-функции, в описаниях которых объявлен один выходной параметр (одна выходная переменная) (Output) или соответственно один результат (Result), могут вызываться либо с помощью вызова CALL, либо по ссылке. В последнем случае ссылка используется в выражениях и количество аргументов при обращении к процедуре-функции или ВМ-функции будет на единицу меньше числа описанных параметров. При вызове по CALL в списке аргументов входные переменные отделяются от выходных переменных точкой с запятой.
    В процедурах-функциях вход и выход соответственно называют входными и выходными переменными, в ВМ-функциях их называют переменными-аргументами (Argument Variables) и переменными-результатами (Result Variables) соответственно.
    346

    Общие сведения о списках

    Список - это таблица Excel, данные в которой расположены, как в базе данных. В такой таблице каждый столбец имеет свой заголовок, который называется именем поля. Все имена полей располагаются в первой строке таблицы. На каждое имя отводится одна ячейка. Отдельный столбец такой таблицы называется полем данных, а каждая строка - записью. Запись состоит из элементов, число которых равно числу полей данных. Все записи имеют одинаковую структуру. На рис. 13.1 представлен пример таблицы Excel, оформленной в виде списка.

      А В С D Е F G
    1 ФИО
    сотрудника
    Дата рождения Должность Стаж работы (лет) Оклад (руб.) Дата получения премии Размер премии (руб.)
    2 Петрова И.В. 3.06.1953 Ведущий инженер 20 600 6.03.98 300
    3 Линьков С.А. 4.11.1974 Инженер 4 400 22.02.97 200
    . . .              
    53 Липецких А.Л. 21.06.1961 Инженер прог. 17 500 6.03.98 300

    Рис. 13.1. Пример списка
    Со списком можно выполнять следующие операции: сортировку, фильтрацию, вычисление промежуточных итогов. Например, в списке на рис. 13.1 все записи можно отсортировать по первому полю, расположив фамилии сотрудников в алфавитном порядке, или по четвертому полю - например, в порядке убывания стажа работы.
    С помощью фильтра можно отобрать из списка записи, удовлетворяющие определенным условиям. Например, оставить в списке фамилии только тех сотрудников, день рождения которых совпадает с текущей датой, или фамилии сотрудников со стажем работы не менее 10 лет и окладом выше 400 рублей и т.д. Для решения подобных задач пользователь имеет возможность применять два вида фильтров: автофилътр и расширенный фильтр. Примером вычисления промежуточных итогов в рассматриваемом списке может служить сумма премиальных, полученных сотрудниками подразделения за 1997 год и др.
    Excel автоматически распознает списки. Для этого достаточно, чтобы в качестве текущей была выбрана одна из ячеек списка.
    В качестве списка можно обрабатывать не всю таблицу, а только часть ее в виде соответствующего диапазона предварительно выделенных ячеек. Если такому диапазону присвоить имя (см. параграф 12.3), то переход к нему в текущей книге значительно
    165
    упростится. При этом содержимое каждой ячейки в первой строке диапазона будет восприниматься в качестве имени соответствующего поля.
    Для безошибочного выполнения операций над данными списка рекомендуется в рабочем листе создавать только один список. Таким образом, размер списка ограничен размерами рабочего листа.
    Записи списка могут создаваться и редактироваться обычным образом - с помощью клавиатуры или с использованием диалогового окна, называемого формой данных.
    166
    165 :: 166 :: Содержание

    Общие сведения о табличном процессоре Excel

    Табличными процессорами называют пакеты программ, предназначенные для создания электронных таблиц и манипулирования их данными. Среди таких пакетов наибольшее распространение получили Lotus 1 -2-3, QuatroPro, SuperCalc и Microsoft Excel, версию 7.0 которого мы рассмотрим.
    При создании таблиц Excel предоставляет пользователю следующие возможности:
  • В ячейках таблиц могут быть использованы сложные формулы, содержащие в своем составе встроенные функции различного назначения (математические, финансовые, статистические, инженерные и т.д.). По формулам вычисляются результирующие значения, зависящие от содержимого других ячеек таблицы.

  • Организовывать связи нескольких таблиц: значения ячеек одной таблицы могут формироваться на основе данных из других таблиц, причем изменение данных в исходных таблицах автоматически влияет на конечные результаты в итоговой таблице.

  • Создавать так называемые сводные таблицы - интерактивные таблицы, обеспечивающие удобный анализ больших массивов данных.

  • Применять к таблицам, оформленным в виде списков (баз данных), операции сортировки, вычисления промежуточных итогов и фильтрации данных.

  • Осуществлять консолидацию данных, при которой данные из нескольких таблиц могут быть объединены в одну таблицу.

  • Использовать сценарии - поименованные массивы исходных данных, по которым формируются конечные итоговые значения в одной и той же таблице. Имея несколько таких массивов данных, можно быстро получить несколько вариантов конечных результатов.

  • Выполнять автоматизированный поиск ошибок вычислений по формулам. Кроме анализа кодов сообщений об ошибке, пользователь имеет возможность отслеживать зависимости между ячейками. С помощью панели инструментов Зависимости можно задать режим выдачи таблицы на экран, при котором влияющие ячейки соединены разноцветными линиями с зависимыми ячейками.

  • Защищать данные от изменения посторонними лицами. Защитить можно одну или несколько ячеек, всю таблицу или рабочую книгу. Могут быть использованы возможные комбинации уровней защиты.


  • Использовать структурирование данных, позволяющее скрывать или отображать определенную часть (уровень) таблицы. Это значительно улучшает контроль за данными на рабочем листе и придает гибкость процессу выбора информации.


  • Применять механизм автозаполнения, при котором в несколько ячеек таблицы может быть быстро введено одно и тоже значение или несколько разных значений, заранее подготовленных и сохраненных в виде рядов данных. Каждый член ряда вводится в одну ячейку таблицы. Последовательный ввод данных в ячейки может осуществляться начиная с любого члена ряда в прямом или обратном направлении.


  • Использовать таблицы подстановки, которые могут содержать одну или две переменные с произвольным количеством их значений. Эти значения переменных используются при вычислении результатов по одной и той же формуле. Результаты затем отображаются в виде массива данных


  • 139

    Табличный процессор Excel поддерживает также общие функциональные возможности текстовых процессоров, такие как использование макросов, построение диаграмм, автозамена и проверка орфографии, использование стилей, шаблонов, автоформатирование данных, обмен данными с другими приложениями, наличие развитой справочной системы, печать с настройкой параметров и другие сервисные возможности.

    Табличный процессор Excel целесообразно использовать для создания таблиц в случаях, когда предполагаются сложные расчеты, сортировка, фильтрация, статистический анализ массивов, построение на их основе диаграмм.

    140

    139 :: 140 :: Содержание

    Общие сведения об Internet

    Internet представляет собой Всемирную сеть, информация в которой хранится на серверах. Серверы имеют свои адреса и управляются специализированными программами. Они позволяет пересылать почту и файлы, производить поиск в базах данных и т.п. Обмен информацией между серверами сети выполняется по высокоскоростным каналам связи. Доступ отдельных пользователей к информационным ресурсам Internet обычно осуществляется по телефонной сети через провайдера или корпоративную сеть. В качестве провайдера выступает некоторая организация, имеющая модемный пул для соединения с клиентами и выхода во Всемирную сеть.
    Отметим, что корпоративные сети, построенные по принципам Internet, наывают Intranet (см. также параграф 28.3).

    Общие сведения

    Под телекоммуникационными средствами понимают технические устройства, обеспечивающие прием и передачу информации на большие расстояния.
    Для обеспечения доступа к любой информации в мире необходимо, чтобы отдельный компьютер имел возможность подключаться к требуемому "хранилищу". А это, в свою очередь, обусловливает объединение всех компьютеров в гигантские вычислительные сети.
    В 60-80-е годы нашего столетия большие универсальные ЭВМ имели удаленные терминалы, чем обеспечивалась возможность одновременно нескольким пользователям работать на одном большом компьютере. Технология соединения удаленных терминалов с ЭВМ явилась основой для создания первых вычислительных сетей, которые получили название локальных. Подробно вопросы организации и функционирования локальных сетей рассматривались в предыдущем разделе.
    Позже появился другой тип сетей, которые обеспечивают связь достаточно удаленных друг от друга компьютеров; такие сети получили название глобальных. Примером глобальной сети является Internet. В локальных сетях довольно просто организовать обмен информацией между компьютерами, поскольку они расположены сравнительно близко один от другого. Для обмена информацией с удаленным компьютером через глобальную сеть необходимо выполнить ряд действий: задать сетевой адрес и установить связь, что требует определенных временных затрат. Основным каналом при обмене информацией является телефонная линия, поскольку другие каналы пока дороги в эксплуатации и доступны ограниченному числу клиентов глобальной сети.
    В начале 70-х годов появилось первое устройство для организации, компьютерной связи по телефонным линиям. Этим устройством является модем (модулятор-демодулятор), подключаемый к компьютеру и позволяющий посылать и принимать данные через телефонную сеть.
    Сейчас существует огромное количество всевозможных модемов с большим разнообразием выполняемых функций. Они позволяют набирать заказываемый телефонный номер, осуществлять дозвон, "поднимать" телефонную трубку, работать в режиме автоответчика, записывая принимаемые голосовые сообщения в файлы на диске.
    С помощью модемов организована большая часть мировых сетей.

    В последнее время стала широко использоваться телефонная сеть с интеграцией услуг (Integrated Services Digital Network - ISDN). Она была разработана для того, чтобы обойти ограничения по скорости передачи данных и при этом сохранить совместимость с существующими телефонными линиями. В основе работы такой сети лежит цифровая обработка сигналов. Существенным отличием ISDN от её предшественниц является многоканаль-ность. Для подключения к сети используются два интерфейса: базовый и расширенный. Под интерфейсом понимают совокупность устройств для организации взаимодействия клиентов, имеющих оборудование с различными физическими характеристиками.

    418

    Базовый интерфейс содержит минимум оборудования и предоставляет абоненту два канала: для голоса или для передачи данных со скоростью 64 Кбит/с и служебный канал, по которому абонентское оборудование обменивается информацией с телефонной сетью.

    Расширенный интерфейс является расширением базового интерфейса и предоставляет дополнительно 30 информационных каналов, в которых телефонные номера не привязаны жестко к каналам. Для передачи данных с высокой скоростью существует специальный протокол "инверсного мультиплексирования", позволяющий задействовать несколько информационных каналов одновременно.

    Для увеличения пропускной способности используются спутниковые каналы связи. При их использовании у клиента сети должна быть малогабаритная параболическая антенна. Запросы в сеть, как и раньше, передаются по телефонной линии связи, а получаемая информация - по спутниковому каналу связи, поскольку практически любой пользователь из сети получает информации гораздо больше, чем передает ее в сеть. Естественно, скорость приема информации возрастает в несколько раз по сравнению с телефонной линией. Кроме того, существенно повышается надежность передачи данных.

    Появление персональных компьютеров оказало огромное влияние на глобальные сети, вызвав их значительный количественный и качественный рост.


    Большая часть этого прироста обеспечивается за счет пользователей, имеющих компьютер и модем.

    Все глобальные сети связаны между собой, при этом некоторые из них могут предоставлять доступ к обычным средствам связи: телеграфу, телефаксу, телексу и к обычной почте. Для этого существуют специальные узлы сети, которые принимают письма и другую корреспонденцию по электронной почте, а отправляют ее факсом на указанный номер.

    Точно так же по сети можно отправлять обычные письма и телеграммы. При этом по электронной почте отправляется текст на специальный узел сети, где он распечатывается, вкладывается в конверт и отправляется по обычной почте получателю.

    Эти колоссальные возможности фактически устраняют границы между локальными и глобальными сетями. Развитие сетей стало возможным благодаря бурному развитию средств и сетей телекоммуникаций. По электронной почте в Internet сегодня можно посылать письма клиентам сети более чем в 130 странах мира. Более 1000 серверов во всем мире обеспечивают свободный доступ к различным файлам, число которых составляет более 2 миллионов.

    Современные глобальные компьютерные сети объединяют в себе все достоинства существующих средств связи и обеспечивают высокую скорость и надежность передачи больших массивов различной информации.

    Общие возможности

    Все математические пакеты имеют общий (с небольшими вариациями) и хорошо известный из опыта работы с текстовыми и графическими редакторами набор файловых операций, вставки и удаления фрагментов; настройки системы, обеспечения справочной информацией.
    При наборе заданий пакету строчные и заглавные буквы различаются. Системе обычно известны константы ?, e, i. Для указания пределов используется ключевое слово Infinity (бесконечность) или его аналог.
    В качестве знака умножения обычно применяются точка, косой крест или пробел (иногда - любой из этих вариантов).
    Предусмотрены арифметические и логические операции, вычисление алгебраических, тригонометрических функций и им обратных, гиперболических и им обратных, ряда специальных (высших трансцендентных) функций, статистические и финансово-экономические операции. Действия могут выполняться над числами произвольной разрядности и в различных системах счисления (от 2 до 36), с действительными и комплексными числами.
    Арифметика целых чисел реализуется абсолютно точно с обеспечением требуемой разрядности. Для перехода к вещественной арифметике нужно хотя бы один из непосредственных операндов и аргументы всех указателей функций задать в вещественной форме (в некоторых пакетах - начать имя вызываемой функции с буквы N).
    Имеется обширный набор средств работы с матрицами, включая их обращение, псевдообращение неквадратных матриц, вычисление матричной экспоненты, нахождение собственных чисел и векторов, различные разложения произвольных матриц в произведения матриц специального вида.
    Из минимаксных задач с ограничениями универсальные пакеты решают только задачи линейного программирования.
    Новое поколение интегрированных математических систем освоило и символьную алгебру (как правило, заимствованную из Maple). Стандартным набором возможностей являются:
  • подстановки;

  • операции с полиномами, дробно-рациональными функциями, функциями одной и многих переменных, упорядочение по степеням заданной переменной, вычисление действительных и комплексных корней, нахождение числовых значений и т.п.;


  • 191

  • нахождение разложений в ряд Тейлора в окрестности заданной точки;


  • вычисление сумм и произведений рядов, вычисление пределов функций;


  • символьное дифференцирование и интегрирование;


  • решение дифференциальных уравнений.


  • Разумеется, перечисленные возможности реализуются и в численной форме, а также используются в комбинации (сложное выражение перед числовым расчетом преобразуется аналитически). При работе с неозначенными объектами выполняются смешанные (параметрические) вычисления.

    Графические способы представления информации играют важную роль в выполнении научно-технических расчетов, поскольку через наглядность быстрее приходит понимание ситуации. Графики незаменимы для локализации корней уравнений, выбора начальных приближений при решении уравнений и систем уравнений, определения числа решений, оценки крутизны целевой функции, и т.п. Для демонстрации тонких эффектов при сравнительном анализе предпочтительны таблицы.

    Современные математические ППП содержат встроенные средства вычерчивания двумерных (плоских) и трехмерных графиков в различных системах координат (декартовой, полярной, цилиндрической и сферической), шкалах (линейной и логарифмической), позволяют задавать оцифровку осей, разметку кривых, различные надписи и т.п. График можно помещать в рамку, выводить на него несколько кривых линиями различной толщины или структуры, задавать сетку и надписи на осях. Кривые могут быть заданы параметрически.

    В комплект пакета входят сотни (иногда - тысячи) дополнительных функций (процедур), сгруппированных по областям применения в субпакеты. В частности, в Mathematica 2.2 имеются следующие субпакеты:

  • тензорный анализ и его приложения;


  • расширенные графические средства;


  • обеспечение анализа сигналов и разработки фильтров;


  • логика нечетких множеств;


  • анализ динамических рядов;


  • финансовые расчеты;


  • расчет оптических систем.


  • Пакет Maple V включает 32 дополнительных субпакета.

    В состав математических пакетов входят аналоги традиционных средств программирования, позволяющие управлять выбором и повторением этапов вычислений.Результаты программирования отдельных задач па языке пакета можно оформить в виде отдельного файла, записать на диск и при необходимости многократно использовать в дальнейшем.

    Для отладки заданий в наиболее мощных системах имеются режимы трассировки и отладки.

    Применение подобных систем оказалось полезным даже для опытных математиков - хотя бы с точки зрения повышения производительности их труда. Однако следует помнить, что все математические пакеты работают в интерпретирующем режиме и уже по этой причине являются инструментом поисковых исследований, но не массового счета.

    192

    Обслуживание дисков

    Основными операциями по обслуживанию магнитных дисков являются следующие: устранение дефектов на дисках, оптимизация размещения информации па диске с целью ускорения доступа к ней, чистка магнитных дисков от ненужной информации для высвобождения дискового пространства и, как следствие, ускорения доступа к информации.
    90

    Очистка дисков от лишней информации

    Для выполнения очистки диска от лишней информации нужно выполнить следующее.
  • Установить активным логический привод (С:, D: и т.д.), для которого будет выполняться очистка.

  • Задать команду Уборка диска \ Диск (Disk Cleanup \ Disk).

  • В открывшемся диалоговом окне Уборка диска (Disk Cleanup) пометить типы файлов, подлежащих удалению.

  • При необходимости уточнить параметры подлежащих удалению файлов нажать кнопку Определить (Define) и в очередном диалоговом окне (рис. 4.2) указать эти параметры.

  • Нажать кнопку Старт (Start).

  • 71
    Рис. 4.2. Диалоговое окно определения набора удаляемых файлов
    Замечание.
    Рассматриваемое средство весьма полезно для очистки пространства на жестких дисках, однако пользоваться им нужно с большой осторожностью во избежание утраты полезной информации.
    72
    70 :: 71 :: 72 :: Содержание

    Ограничения и операции над отношениями

    Приведем условия и ограничения, накладываемые на отношения, выполнение которых позволяет таблицу считать отношением.
    233
  • Все строки таблицы должны быть уникальны, т.е. не может быть строк с одинаковыми первичными ключами.

  • В таблице не должно быть столбцов с повторяющимися именами.

  • Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов.

  • Имена столбцов таблицы должны быть различны, а значения их простыми, т.е. недопустима группа значений в одном столбце одной строки.

  • Порядок размещения строк в таблице может быть произвольным.

  • К отношениям можно применять систему операций, позволяющую получать одни отношения из других. Например, результатом запроса к реляционной БД может быть повое отношение, вычисленное на основе хранящихся в базе отношений. Отсюда появляется возможность разделить обрабатываемые данные на хранимую и вычисляемую части.
    Основной единицей обработки данных в реляционных БД является отношение, а не отдельные его кортежи (записи), как это принято в традиционных языках программирования.
    Операции, выполняемые над отношениями, можно разделить на две группы.
    Первую группу составляют операции над множествами, к которым относятся операции: объединения, пересечения, разности, деления и декартова произведения.
    Вторую группу составляют специальные операции над отношениями, к которым относятся операции: проекции, соединения, выбора.
    В различных СУБД реализована некоторая часть этих операций, определяющая в какой-то мере возможности данной СУБД и сложность реализации запросов к БД.
    В реляционных СУБД для выполнения операций над отношениями используют две группы языков, имеющие в качестве своей математической основы реляционную алгебру и реляционное исчисление соответственно.
    В реляционной алгебре операнды и результаты всех действий являются отношениями. Языки реляционной алгебры являются процедурными, так как отношение, являющееся результатом запроса к реляционной БД, вычисляется при выполнении последовательности операций над хранимыми в ней отношениями. В основном языки СУБД являются процедурными.
    Языки реляционного исчисления являются непроцедурными. Запрос к БД, выполненный с использованием подобного языка, содержит лишь информацию о желаемом результате. Для этих языков характерно наличие наборов правил для записи запросов. В частности, к языкам этой группы относится SQL.
    Между реляционной алгеброй и реляционным исчислением существует связь с помощью так называемой процедуры редукции, которая сводит любое выражение реляционного исчисления к набору стандартных операций реляционной алгебры и наоборот.
    234
    232 :: 233 :: 234 :: Содержание

    Операции над файлами и каталогами

    В среде оболочки Norton Commander выполнение операций может выполняться над одиночными файлами и каталогами, возможно, вместе с их содержимым, а также над группой файлов или каталогов. Одиночный файл или каталог перед выполнением операции достаточно просто подсветить, поместив на него курсор. Группу файлов или каталогов предварительно нужно выделить.
    Выделение (отмену выделения) файлов и каталогов можно осуществлять:
    69
  • поочередно - путем нажатия клавиши при размещении курсора на имени файла или каталога;

  • как групповое выделение - с помощью серой клавиши "+", вызывающей диалоговое окно для задания группового имени (например: *.* - все файлы текущего каталога; *.txt - все файлы с расширением txt и т.п.);

  • групповая отмена выделения выполняется аналогично с помощью серой клавиши "-", вызывающей аналогичное диалоговое окно для задания группового имени для отмены выделения.

  • Над одиночными файлами и каталогами возможно выполнение следующих операций:
  • копирование - ,

  • перемещение или переименование - ,

  • удаление - .

  • Создание каталога выполняется с помощью клавиши , вызывающей диалоговое окно для задания имени создаваемого каталога.
    С помощью комбинации клавиш + выполняется упаковка в архив выделенной группы файлов. В появляющемся диалоговом окне требуется указать имя и место размещения архива, а также выбрать метод (программу) архивации, например ARJ, PKZIP, RAR и т.п. Распаковка файлов из архива выполняется с помощью комбинации клавиш +.
    Просмотр содержимого архива и извлечение отдельных файлов и групп файлов из архива, а также добавление файлов в архив удобно выполняются следующим образом. Помещают курсор на имени интересующего архива и нажимают . В результате па соответствующей панели Norton Commander отображается содержимое архива. Теперь с помощью функциональной клавиши можно выполнять копирование файлов из архива в каталог альтернативной панели и, наоборот, из каталога альтернативной панели в архив. При таком копировании будет автоматически выполняться упаковка и распаковка копируемых файлов. Выделение и отмена выделения группы файлов в рассматриваемом режиме (просмотра содержимого архива) выполняются, как описано выше - с помощью клавиши и с помощью серых клавиш "+" и "-". Для выхода из режима просмотра содержимого архива нужно в просматриваемом архиве выбрать верхнюю строку (с символами ".,") и нажать .
    70
    69 :: 70 :: Содержание

    Операции над векторами и матрицами

    Векторы и матрицы можно покомпонентно складывать и вычитать, умножать и делить на скаляр. Скалярное произведение векторов, матричное и векторно-матричное умножение записываются с помощью "*".
    Для матриц определены следующие операции: транспонирования (задается обратным апострофом '), вычисление определителя DET, следа TRACE, возведение в целую степень (в том числе отрицательную). Derive поддерживает и использует при преобразованиях все основные правила матричной алгебры (например, (a·b)' > b'·а'. Систему линейных уравнений можно решить умножением обеих частей матричного равенства на обратную матрицу коэффициентов. При решении этой задачи через Solve \ System (Решить | Система) все переменные должны иметь индивидуальные имена, т.е. не могут быть компонентами вектора.
    Функция CHARPOLY позволяет получить характеристический полином матрицы, EIGENVALUES - ее собственные значения.
    Derive позволяет выполнять операции векторного анализа.
    209
    208 :: 209 :: Содержание

    Описание функций пользователя

    Решение сколько-нибудь сложной задачи в предметной области решателя требует ее сведения к решению такой совокупности подзадач, решение которых известно. Для структуризации задачи в виде взаимодействующих подзадач в ТК Solver используется аппарат описания подзадач в виде функций различных типов.
    Выбор типа функции для представления подзадачи определяется тем, в каком виде существует это решение. Если решение существует в виде алгоритма, то описать такой алгоритм в ТК Solver можно на встроенном бэйсикоподобном языке программирования и оформить это описание в виде процедуры-функции.
    В случае, когда решение подзадачи может быть описано декларативным образом в виде множества уравнений и программных отношений, тогда такое решение можно оформить в ТК Solver в виде функций вычислительных моделей (ВМ-функций). Если же решение связано с задачей поиска данных, удовлетворяющих тем или иным свойствам, то это можно оформить в виде функций-списков (табличных, интервальных или интерполяционных).
    343
    Организация взаимодействия подзадач в ТК Solver реализуется путем обращения к представляющей подзадачу функции с помощью аппарата параметров и аргументов (формальных и фактических параметров).
    В отличие от функций и процедур в других системах программирования, здесь при описании функции множество ее параметров явно (синтаксическим способом - путем записи символа ;) разбивается на два подмножества: входных и выходных переменных, т.е. по существу на вход каждой функции поступает формулировка подзадачи, задаваемая в виде описания двух последовательностей: известных и неизвестных переменных.
    Алгоритм решения подзадачи для функций различных типов будет свой. Для процедур-функций он уникален и определяется алгоритмом, который описан в теле процедуры-функции. Для ВМ-функций механизм нахождения решения подзадачи, которую представляет ВМ-функция, един для всех ВМ-функций и определяется он заложенным в ТК Solver алгоритмом планирования вычислений.
    Рассмотрим основные правила описания функций пользователя различных типов.

    Определение функций

    Произвольную последовательность набранных в окне команд можно сохранить в .mth-файле, после чего вызывать аналогично встроенным функциям. Определение функции вводится через Author\Expression (Автор\Выражение) набором: ():=.
    208
    208 :: Содержание

    Определения

    Меню Define (Определить) позволяет вводить определения (New Definition), просматривать список действующих (Show Definition), отменять отдельные (Undefine) или весь список (Clear Definitions), сохранять их для следующих сеансов работы с данным документом (Save) и восстанавливать ранее запасенные (Restore). Из этих команд в подробных пояснениях нуждается только первая.
    Различают два класса определений - выражения и функции. Определения первого класса просто вводят сокращенные обозначения для выражений и матриц. Пусть сделаны определения двух выражений р = ах2 + bх + с, q = 4y2 + Зху + 2 и матрицы
    A= (
    1 x+y
    4 3

    )
    Теперь можно вычислить
    А2 = (
    1+4x+4y 4x+4y
    16 4x+4y+9

    ),
    получить p+q = a x2+bx+c+4y2+3xy+2 и ? pdx =
    1
    3
      ax3+
    1
    2
      bx2+cx
    200
    Однако вычисление р(2) вместо 4а + 2b + с даст 2ах2 + 2bx + с , поскольку ссылка на эти обозначения при выполнении команд Maple вызывает строго текстуальные замены.
    Определение функции вида р(х)=ах2+2bх+с позволяет задавать нужные для расчетов функции и использовать их при различных аргументах. Функция может иметь и матричное значение.
    Выполнение команды Save Definitions (Сохранить определения) сохраняет только активные в данный момент определения. Для добавления новых определений к ранее сохраненным нужно предварительно воспользоваться командой Restore (Восстановить).

    Организация доступа к сетевым ресурсам

    Совместное использование ресурсов компьютера (принтера, факс-модема, диска, папки) членами рабочей группы часто называют разделением ресурсов Запустить службу разделения ресурсов можно, нажав кнопку Доступ к файлам и принтерам (File and Print Sharing) в окне Сеть (Network) (рис 28 4) и установив в появившемся окне флажки разделения файлов и принтеров
    413
    Рис 28 6 Добавление пользователей ресурсов станции
    Добавим службу разделения ресурсов сетей Microsoft, как это представлено на рис 28 7 в список установленных компонентов
    Аналогично может быть выбрана служба разделения ресурсов для сетей Novell После установки сервиса разделения ресурса можно создавать сетевые ресурсы Для этого в Проводнике (Explorer) следует выбрать конкретно разделяемый ресурс (файл, папку, принтер, диск), используя меню Файл \ Доступ (File \ Sharing) или в контекстном меню Доступ (Sharing) Переключателем Тип доступа (Access Type) можем установить доступ Только чтение (Read-only) или Полный доступ (Full), а также, при желании, обеспечить доступ только при введении пароля На рис 28 5 представлен случай, когда к папке Тр70 устанавливается полный доступ, контролируемый паролем Необходимо помнить, что при выборе диска доступными станут и все папки этого диска

    Организация многотабличных запросов

    Для формирования многотабличного запроса необходимо разместить в окне Конструктора запросов все участвующие в запросе таблицы и определить условия их связи. Вместе с таблицами в окне Конструктора запросов отображаются и их постоянные
    273
    связи Если необходимые постоянные связи отсутствуют, то с помощью вкладки Join (связь) организуются временные межтабличные связи
    Рассмотрим создание многотабличного запроса на следующем примере
    Запрос 4. Необходимо получить на экране информацию о преподавателях кафедры 25, их должностях и окладах, преподавательском стаже и надбавке за стаж
    Требуемая информация содержится в следующих трех таблицах T_prep, T_dolgn, T_stag В окне Конструктора запросов уже имеется таблица Т_ргер Остальные можно добавить, например, с помощью команды Query | Add Table (запрос |добавить таблицу) При этом в появившемся диалоговом окне Add Table or View (добавить таблицу или запрос) выбирается требуемая таблица В результате образ таблицы появляется в окне Конструктора запросов
    Если при создании БД между выбранными таблицами были установлены постоянные связи, то они будут также представлены, во-первых, в виде линий соединяющих соответствующие поля в образах этих таблиц (верхняя часть рис 22 3), а во-вторых - во вкладке Join (Связь) добавятся соответствующие строки с условиями объединения таблиц
    Рис 22 3 Окно многотабличного запроса с выбранной вкладкой Join
    Если ранее постоянных связей между выбранными таблицами установлено не было, то открывается диалоговое окно Join Condition (условие связи), служащее для установления или модификации связи (рис 22 4) В связи с тем, что в рассматриваемом примере имеются постоянные связи между выбранными таблицами, то окно Join
    274
    Рис. 22.4. Окно Join Condition
    Condition (условие связи) было вызвано двойным щелчком мыши на выбранной линии, связывающей таблицы по полю dolgn. Этот прием используется также при модификации типа связи.
    Тип связи модифицируется или задается с помощью переключателя Type of join (тип связи) рассматриваемого окна. В левой и правой частях окна содержатся раскрывающиеся списки полей двух таблиц, с помощью которых выбираются поля для связи таблиц. Будем использовать предлагаемую по умолчанию опцию Inner рт(внутренняя связь). В этом случае создается объединение, в которое выбираются записи, содержащие совпадающие значения в полях связи.
    Замечание. Для установления временных связей возможно использование любых полей таблиц без ограничений, имеющих место при установке постоянных межтабличных связей.
    275
    273 :: 274 :: 275 :: Содержание

    Организация постоянных межтабличных связей

    В Visual FoxPro можно связывать таблицы - устанавливать отношения (связи) между ними. При этом возможно установление постоянных и временных отношений между таблицами. Постоянные связи можно установить в Конструкторе БД, и они прежде всего необходимы для поддержания целостности БД при обновлении содержимого таблиц. Временные связи между таблицами могут устанавливаться при создании экранных форм (для ввода и редактирования данных) и отчетов. Обычно это делается в случаях, когда имеющиеся постоянные связи но каким-либо причинам не подходят для создаваемой формы или отчета.
    Постоянные связи хранятся в словаре БД и автоматически устанавливаются при открытии таблиц. Приведем условия установления постоянных связей.
  • Одна из связываемых таблиц является родительской, другая - дочерней.

  • Для родительской таблицы индекс должен быть определен как первичный ключ (Primary) или ключ-кандидат (Candidate).

  • Для дочерней таблицы индекс может быть не уникальным. По этому индексу дочерняя таблица будет связываться с родительской (внешний ключ).

  • Создадим постоянные связи между таблицами. Для этого войдем в Конструктор БД и убедимся в наличии (пли создадим) перечисленные ниже индексы (табл. 21.5).
    После создания всех необходимых индексов в окне Конструктора БД (рис. 21.4) будут представлены все таблицы в виде списка из полей и индексов, разделенных ключевым словом Indexes (индексы). Если в таблице список нолей и индексов виден не полностью, сто можно прокрутить вниз пли вверх. На рис. 21.4 показаны установленные межтабличные связи.
    Для установления постоянной связи между родительской и дочерней таблицей необходимо:
  • установить указатель мыши на первичный ключ родительской таблицы;

  • нажав левую кнопку мыши, переместить указатель на индекс дочерней таблицы, по которому устанавливается связь;

  • отпустить кнопку.

  • 264
    Таблица 21.5
    Типы индексов БД Bdu

    Таблица Имя тега Тип индекса Индексное выражение
    T_ZAGR i_zagr Primary FIO+Predm+STR(Gruppa)
    T_PREP i_fio Primary FIO
    T_PREP i_dolgn Candidate Dolgn
    T_PREP i_stag Candidate Stag
    T_STAG i_stag Primary Stag
    T_DOLGN i_dolgn Primary Dolgn
    <
    /p> На экране появится диалоговое окно Edit Relationship (правка отношений) содержащее имена связываемых таблиц с раскрывающимися списками индексов В списках уже выбраны индексы, по которым должна осуществляться связь Здесь же указывается гнп отношений между таблицами "один к одному" или "один ко многим " Для сохранения отношения нажмем ОК, а при отказе - Cancel (отмена)

    Для удаления межтабличнои связи требуется выполнить следующее

  • навести указатель мыши на линию связи таблиц


  • нажать правую кнопку мыши, что приведет к утолщению линии и появлению всплывающего меню,


  • выполнить команду Remove Relationship (удалить отношение) всплывающего меню


  • В результате выделенная связь будет удалена Напомним, что установленные постоянные отношения (связи) между таблицами используются прежде всего для обеспечения ссылочной целостности (непротиворечивости) БД при обновлении ее содержимого Прежде чем усыпавливать правила ссылочной целостности рекомендуется ввести данные в таблицы

    Рис 21 4 Межтабличные связи БД Bdu

    265

    264 :: 265 :: Содержание

    Организация защиты сетевых ресурсов

    Выбор режима доступа На уровне ресурсов позволяет организовать парольную защиту сетевых ресурсов (share-levelsecurity) от несанкционированного доступа. При этом для доступа (открытия) к защищаемой папке или диску назначаются пароли:
    первый - для полного доступа;
    второй - только для чтения.
    Сетевой принтер может быть либо доступен, либо нет.
    Назначение пароля выполняется в диалоговом окне Свойства (Properties) ресурса, открываемого с помощью Проводника (Explorer) или папки Мой компьютер (My Computer) (рис. 28.5).
    Пользователю, не знающему пароля, ресурс будет недоступен. Подобная защита целесообразна в небольших сетях.
    При использовании защиты на уровне пользователей (User-level security) доступ к ресурсам предоставляется в зависимости от прав, полученных пользователем от сетевого администратора, например, Windows NT. Каждый пользователь идентифицируется в сети по имени, присвоенному ему вместе с правами администратором.
    412
    Рис 28 5 Назначение пароля папке
    При использовании данного метода доступа на станции с Windows 95 можно предоставить право пользования ресурсами станции отдельным пользователям или группам, сформированных администраторами того или иного уровня
    Это делает защиту более гибкой, так как администратор Windows NT помимо полного доступа и доступа по чтению к папкам может предоставлять ряд дополнительных прав На рис 28 6 представлены группы пользователей домена KAF_25, созданных администратором сети Windows NT
    Предоставление выбранной группе пользователей соответствующих прав выполняется нажатием кнопки Только чтение (Read Only), Полный доступ (Full Access) или Специальный (Custom) Специальные права более разнообразны и определяются возможностями ОС сервера сети

    Основные действия с Web-документами

    К основным действиям пользователя при работе с Web-документами можно отнести следующие:
  • открытие документа;

  • переключение кодировки;

  • перемещение на нужную страницу с помощью гиперссылок;

  • сохранение файла выбранного документа;

  • печать документа.

  • Рассмотрим способы выполнения перечисленных действий в среде Microsoft Internet Explorer.
    Открытие документа. Здесь возможны две ситуации. Если адрес документа неизвестен, а известен только характер требуемой информации, то нужно обратиться за
    432
    помощью к одной из поисковых систем. Для этого можно щелкнуть по значку Поиск панели инструментов Internet Explorer. Если сетевой адрес документа известен, то его нужно ввести в поле Адрес, например: http://www.netcom.spb.ru, при этом http:// можно не указывать, поскольку он формируется и подставляется автоматически. При вводе адреса следует учитывать заглавные и строчные буквы.
    Переключение кодировок страниц нужно выполнить, если открытая Web-страница в окне Internet Explorer отображается неправильно. Для этого достаточно щелкнуть мышью по значку кодировки в правом конце строки состояния и на появившейся напели выбрать нужный вариант кодировки. Стандартной кодировкой русских страниц в Internet является кодировка KOI8-R. Она поддерживается в компьютерах, работающих под управлением операционной системы UNIX. В компьютерах, работающих под управлением Windows и на серверах WWW, работающих под управлением Windows NT, в большинстве случаев поддерживается кодировка Windows 1251.
    Перемещение на нужную страницу документа с помощью гиперссылок. Выполняется щелчком мыши по значкам гиперссылок. Гиперссылки могут ссылаться на страницы других документов.
    Сохранение файла выбранного документа. Выполняется в случае, если открытая страница документа представляет интерес для более внимательного изучения или вывода на печать. Для этого нужно выполнить команду Сохранить меню Файл. При задании команды Сохранить как... можно выбрать подходящий формат файла (html или текстовый). При выборе текстового формата файла можно добиться экономии памяти, но при этом будет утеряна возможность просмотра графических изображений.
    Печать файла документа. Перед печатью документа его нужно открыть либо по сети, либо из ранее сохраненного файла документа. Далее выполняется команда Печать меню Файл. В открывшемся диалоговом окне указываются номера страниц для печати и число копий, при необходимости производится настройка принтера. На каждой печатной странице в колонтитуле указывается сетевой адрес (URL) документа. Это позволяет определить адрес узла, с которого документ был получен.
    433
    431 :: 432 :: 433 :: Содержание

    Основные характеристики вычислительной техники

    К основным характеристикам вычислительной техники относятся ее эксплуатационно-технические характеристики, такие, как быстродействие, емкость памяти, точность вычислений и др.
    Быстродействие ЭВМ рассматривается в двух аспектах. С одной стороны, оно характеризуется количеством элементарных операций, выполняемых центральным процессором в секунду. Под элементарной операцией понимается любая простейшая операция типа сложения, пересылки, сравнения и т.д. С другой стороны, быстродействие
    19
    ЭВМ существенно зависит от организации ее памяти. Время, затрачиваемое на поиск необходимой информации в памяти, заметно сказывается на быстродействии ЭВМ.
    В зависимости от области применения выпускаются ЭВМ с быстродействием от нескольких сотен тысяч до миллиардов операций в секунду. Для решения сложных задач возможно объединение нескольких ЭВМ в единый вычислительный комплекс с требуемым суммарным быстродействием.
    Наряду с быстродействием часто пользуются понятием производительность. Если первое обусловлено, главным образом, используемой в ЭВМ системой элементов, то второе связано с ее архитектурой и разновидностями решаемых задач. Даже для одной ЭВМ такая характеристика, как быстродействие, не является величиной постоянной. В связи с этим различают: пиковое быстродействие, определяемое тактовой частотой процессора без учета обращения к оперативной памяти; поминальное быстродействие, определяемое с учетом времени обращения к оперативной памяти; системное быстродействие, определяемое с учетом системных издержек на организацию вычислительного процесса; эксплуатационное, определяемое с учетом характера решаемых задач (состава операций или их "смеси").
    Емкость, или объем, памяти определяется максимальным количеством информации, которое можно разместить в памяти ЭВМ. Обычно емкость памяти измеряется в байтах. Как уже отмечалось, память ЭВМ подразделяется на внутреннюю и внешнюю. Внутренняя, или оперативная память, по своему объему у различных классов машин различна и определяется системой адресации ЭВМ.
    Емкость внешней памяти из-за блочной структуры и съемных конструкций накопителей практически неограниченна.

    Точность вычислений зависит от количества разрядов, используемых для представления одного числа. Современные ЭВМ комплектуются 32- или 64-разрядными микропроцессорами, что вполне достаточно для обеспечения высокой точности расчетов в самых разнообразных приложениях. Однако, если этого мало, можно использовать удвоенную или утроенную разрядную сетку.

    Система команд - это перечень команд, которые способен выполнить процессор ЭВМ. Система команд устанавливает, какие конкретно операции может выполнять процессор, сколько операндов требуется указать в команде, какой вид (формат) должна иметь команда для ее распознания. Количество основных разновидностей команд невелико. С их помощью ЭВМ способны выполнять операции сложения, вычитания, умножения, деления, сравнения, записи в память, передачи числа из регистра в регистр, преобразования из одной системы счисления в другую и т.д. При необходимости выполняется модификация команд, учитывающая специфику вычислений. Обычно в ЭВМ используется от десятков до сотен команд (с учетом их модификации). На современном этапе развития вычислительной техники используются два основных подхода при формировании системы команд процессора. С одной стороны, это традиционный подход, связанный с разработкой процессоров с полным набором команд, - архитектура CISC (Complete Instruction Set Computer - компьютер с полным набором команд). С другой стороны, это реализация в ЭВМ сокращенного набора простейших, но часто употребляемых команд, что позволяет упростить аппаратные средства процессора и повысить его быстродействие - архитектура RISC (Reduced Instruction Set Computer - компьютер с сокращенным набором команд).

    20

    Стоимость ЭВМ зависит от множества факторов, в частности or быстродействия, емкости памяти, системы команд и т.д. Большое влияние на стоимость оказывает конкретная комплектация ЭВМ и, в первую очередь, внешние устройства, входящие в состав машины.


    Наконец, стоимость программного обеспечения ощутимо влияет па стоимость ЭВМ.

    Надежность ЭВМ - это способность машины сохранять свои свойства при заданных условиях эксплуатации в течение определенного промежутка времени. Количественной оценкой надежности ЭВМ, содержащей элементы, отказ которых приводит к отказу всей машины, могут служить следующие показатели:

  • вероятность безотказной работы за определенное время при данных условиях эксплуатации;


  • наработка ЭВМ на отказ;


  • среднее время восстановления машины и др.


  • Для более сложных структур типа вычислительного комплекса пли системы понятие "отказ" не имеет смысла. В таких системах отказы отдельных элементов приводят к некоторому снижению эффективности функционирования, а не к полной потере работоспособности в целом.

    Важное значение имеют и другие характеристики вычислительной техники, например: универсальность, программная совместимость, вес, габариты, энергопотребление и др. Они принимаются во внимание при оценивании конкретных сфер применения ЭВМ.

    Основные сведения о шрифтах

    Под шрифтом понимается способ представления текстовой информации, используемый при ее передаче в виде изображения. Шрифт определяет единообразный внешний вид символов некоторого алфавита. Рассмотрим основные характеристики и типы шрифтов.
    102
    Гарнитура определяет рисунок шрифта, отличающий данный шрифт от другого. Каждая гарнитура имеет определенное название, например, Courier. Приведем фрагменты текстов различной гарнитуры. Данный фрагмент текста набран гарнитурой Arial Суг. Этот - гарнитурой Courier New Cyr. Слово Суг в названии гарнитуры указывает па то, что шрифт включает в свой состав символы русского алфавита.
    Кегль задает размер шрифта в пунктах, равных 1/72 доле дюйма, например:
    18 кегль, 16 кегль, 14 кегль, 12 кегль, 10 кегль, 8 кегль.
    Шрифты одной и той же гарнитуры различаются но начертанию: прямое начертание, курсивное начертание, полужирное начертание, полужирный курсив одной и той же гарнитуры Times New Roman Cyr.
    По способу описания символов различают следующие типы шрифтов:
  • Растровые шрифты, основанные на использовании битовых карт представления символов.

  • Штриховые (векторные) шрифты, кодирующие изображение символа в виде набора векторов заполнения его пространства.

  • Контурные шрифты, использующие кодирование контуров символов в виде комбинаций отрезков прямых и кривых линий

  • Наибольшую популярность получили контурные шрифты. Достоинством их является легкость масштабирования без потери качества изображения. Для работы с ними не нужен большой объем дисковой памяти, так как достаточно хранить один базовый шрифт.
    Основными форматами контурных шрифтов (фактически - стандартами) являются шрифты PostScript и TrueType.
    Шрифты формата PostScript (или Туре 1) представляют собой разработку фирмы Adobe, ориентированную на получение высококачественной печати с помощью специализированных полиграфических устройств - PostScript-устройств. С форматом Туре 1 связан язык описания страниц Post-Script, признанный международным техническим стандартом описания внешнего вида документов.
    В среде Windows основными являются TrueType-шрифты, представляющие собой совместную разработку фирм Apple и Microsoft. Название шрифтов ("Истинная печать") обусловлено тем, что на экране символы видны в том виде, как они будут отпечатаны. В списках выбора их помечают знаком TT. Шрифты TrueType предпочтительны при печати документов с помощью лазерных и струйных принтеров. Кроме того, документы с TrueType-шрифтами можно использовать и в PostScript-принтерах, некоторые из которых допускают непосредственную работу такими шрифтами, а остальные выполняют предварительное преобразование в формат Туре 1.
    103
    102 :: 103 :: Содержание

    Основные возможности

    Обсуждаемая версия системы Derive 4.02 работает в среде Windows и сочетает богатые возможности с простотой и умеренными требованиями к ПЭВМ. Числовые расчеты ведутся в точном, приближенном или смешанном режиме. В первом из них решение представляется через простые дроби и радикалы; во втором вычисления выполняются с плавающей точкой и выбором разрядности для счета и вывода результатов. Смешанный режим выражает результат через числа с плавающей точкой и радикалы.
    Формулы выводятся на экран с выделением отдельных строк для индексов и степеней. Другими недостатками вывода являются: набор имен функций заглавными буквами, нерегулируемый (малый) размер математических символов корня, суммы и произведения, запись корня без перекрывающей подкоренное выражение горизонтальной черты.
    Базовые возможности системы иллюстрируются набором примеров в демонстрационных файлах с расширением .dmo. arith, algebra, calculus, function, trig, matrix. Дополнительные возможности реализуются при загрузке вспомогательных подпакетов - файлов с расширением .mth.
    Справочная система Derive, помимо технологических рецептов, содержит множество сведений и рекомендаций математического характера.
    204
    204 :: Содержание

    Основы программирования

    Алфавит языка Турбо-Пролог включает следующие символы:
  • прописные и строчные буквы латинского алфавита (A-Z, a-z);

  • цифры (0-9);

  • специальные символы: ! @ # $ & ( ) | ? * - + ? < > ; , ? . \ _" ' ?.

  • В Прологе имена используются для обозначения символических констант, доменов, предикатов и переменных. В общем случае имя должно начинаться с буквы или знака подчеркивания, за которым идет любая комбинация букв, цифр или знаков подчеркивания. При этом правила именования различных типов объектов в Пролог-программе имеют свои особенности:
  • имена символических констант и имена предикатов должны начинаться со строчной буквы;

  • имена предметных переменных (аргументы предикатов и функций) должны начинаться с прописной буквы или знака подчеркивания.

  • В качестве имени переменной в предикатах может использоваться знак подчеркивания, такая переменная называется анонимной, применяется это в случаях, когда значение переменной безразлично для Пролог-программы.
    К ключевым (служебным ) словам в языке Турбо-Пролог относятся следующие слова:

    and domains goal include
    clauses elsedef if or
    constants enddef ifdef predicates
    database global ifndef  

    Программа на Турбо-Прологе имеет следующую структуру:
    /*-----------------------------------------------------------* /

    /* Комментарии */

    /*-----------------------------------------------------------* /
    constants
    /*определение констант */
    domains
    /* определение типов данных программы*/
    database
    /*определение предикатов динамической базы данных*/
    predicates
    /*определение предикатов*/
    clauses
    /*определение правил и фактов*/
    goal
    /*Определение целей*/

    /*----------------------------------------------*/

    /* Комментарии */

    /*----------------------------------------------*/
    309
    В разделе constants объявляются используемые в программе константы.
    В разделе domains объявляются нестандартные типы данных для переменных, используемых в качестве аргументов предикатов.
    В Прологе типы данных называют доменами. Связывание типа домена с конкретным аргументом (местом) предиката осуществляется в разделе predicates. Домен описывает множество значений, которые может принимать переменная предиката в ходе выполнения программы.

    Домены подразделяются на простые и структурированные, стандартные и нестандартные. К стандартным доменам относятся:

    symbol - символьная константа (длина не более 250 символов), имеет две формы записи: последовательность букв, цифр и знаков подчеркивания, начинающаяся со строчной буквы; последовательность символов, заключенная в двойные кавычки. Примеры: apple, sortl, "personal", "Курсант Петров С.В."

    string - строка символов: любая последовательность символов, заключенная в двойные кавычки.

    char - отдельный символ, заключенный между двумя апострофами.

    integer - целое число в диапазоне от-32768 до +32767.

    real - действительное число, допускается обычная и экспоненциальная формы записи. Значение экспоненты должно быть в диапазоне от Е-307 до Е+308. Примеры: -34.567, 0.654, 9.76Е+3.

    file - файловая переменная, значение ее определяется по правилам именования файлов и устройств в MS DOS. При выполнении операций с файлом ее необходимо связать с конкретным файлом или устройством.

    Объявление новых доменов с использованием стандартных имеет вид:

    =

    Примеры объявлений:

    domains

    a=integer

    fas=symbol

    ret,das=real

    Такие объявления новых доменов улучшают читабельность программы и обеспечивают контроль типов значений переменных - смешивать в ходе выполнения программы переменные разных типов (доменов) нельзя.

    Кроме стандартных типов доменов, в Турбо-Прологе допускается использовать структуры доменов, состоящие из нескольких простых или сложных объектов. Объявление структуры имеет следующий вид:

    =(,...).

    Здесь называют функтором, а домены ,..., - это либо простые домены, либо имена ранее объявленных доменов, либо, в свою очередь, структуры. Структуры позволяют сортировать объекты по категориям.


    Ссылки на доменную структуру осуществляются по имени функтора.

    В одном объявлении можно описать несколько альтернативных вариантов структуры, разделяя варианты точкой с запятой или служебным словом or.

    310

    Примеры объявления структур:

    domains

    d1,d2,d3=symbol

    fr=fruits(d1,d2,d3); pot(d1)

    Раздел описания предикатов predicates содержит перечень предикатов пользователя, используемых в программе. Описание предиката содержит имя предиката и список доменов его аргументов:

    (,...)

    Здесь ,...- имена стандартных доменов или имена доменов, объявленных в разделе domains.

    Один и тот же предикат может иметь различное число аргументов, такие предикаты объявляются для каждого варианта отдельно. В программе допускается использовать не более 300 предикатов, число аргументов у предиката не должно превышать 50.

    Примеры объявления предикатов:

    predicates

    add(integer,integer,integer)

    Ik(fr)

    Ik(d1,d2)

    В разделе database описываются предикаты динамической базы данных. Перечисленные здесь предикаты после подстановки в них вместо переменных констант (т.е. превращения их в факты) могут быть помещены и, если потребуется, удалены во время выполнения программы в динамическую базу данных. Делается это с помощью стандартных (встроенных в систему) предикатов: assert, asserta, assertz, consult, retract, retractall. В программе можно использовать несколько разделов database, при этом каждому из них можно назначить уникальное имя. Если имя разделу database не назначено, компилятор по умолчанию назначает имя dbasedom.

    Раздел database имеет следующий формат:

    database [-]

    dbpred1(...)

    dbpred2(...)

    В разделе clauses описываются утверждения, каждое из которых является правилом или фактом. В конце каждого утверждения ставится точка.

    Факт состоит из имени предиката и заключенного в скобки списка аргументов - констант.

    Правило состоит из заголовка - предиката, объявленного в разделе predicates, за которым следует сперва двоеточие с дефисом (:-), а затем список вызовов предикатов (пользовательских и/или стандартных), разделенных запятыми или точками с запятой.


    Вместо двоеточия с дефисом можно использовать ключевое слово if, вместо запятой - ключевое слово and, вместо точки с запятой - ключевое слово or.

    Правила и факты, имеющие в качестве заголовка один и тот же предикат, должны быть сгруппированы в рамках одного блока, т.е. следовать в программе друг за другом.

    311

    Переменные в предикатах во время выполнения Пролог-программы могут находиться в двух состояниях: конкретизированном или свободном (неконкретизированном). Переменная является свободной, если ей не присвоено значение, в противном случае переменная является конкретизированной.

    В теле правила, кроме объявленных в программе предикатов, могут использоваться стандартные предикаты и операции сравнения.

    Стандартные предикаты выполняют разнообразные функции по вводу-выводу, работе с файлами, выполнению функций DOS, обработке строк, поддержке графического режима, обеспечению интерфейса с другими системами программирования и т.д. Описание основных стандартных предикатов Турбо-Пролога рассматривается ниже.

    В правилах можно использовать следующие основные операции сравнения: < (меньше), > (больше), = (больше или равно), = (равно), <> или >< (не равно). Сравнивать между собой можно выражения и переменные.

    Операция = (равно) устанавливает соответствие между выражениями правой и левой частей предиката Х=Y - предикат этот записан в привычной инфиксной форме. В процессе согласования переменных используются следующие соглашения:

  • 1) если X - свободная переменная, a Y - конкретизированная, то при записи X=Y, переменная X станет конкретизированной и получит значение, равное Y;


  • 2) целые числа и строки всегда равны самим себе;


  • 3) две структуры равны, если они имеют одинаковые функторы, одинаковое число параметров и все соответствующие параметры равны между собой.


  • 4) если имеется запись вида Х=Y и обе переменные свободны, то они становятся сцепленными и при конкретизации одной из них вторая автоматически будет означена тем же значением.


  • Раздел goal содержит запрос к программе, называемый внутренним.Для внутреннего запроса Пролог осуществляет поиск только первого подходящего решения. При этом система не сообщает о результатах найденного решения (успешное или нет). Полученные при сопоставлении значения переменных, входящих в предикаты запроса, также не отображаются на экране. Эти действия должен запрограммировать программист с использованием стандартных предикатов для вывода данных.

    Раздел описания целей (goal) в компилируемой программе может отсутствовать, тогда в диалоговом окне после запуска программы на выполнение можно ввести внешний запрос. При использовании внешнего запроса Турбо-Пролог отыскивает все варианты решений и в этом же окне выводятся значения переменных предикатов запроса и сообщение об успешном или не успешном решении.

    312

    308 :: 309 :: 310 :: 311 :: 312 :: Содержание

    Основы решения вычислительных задач

    Рассмотрим принципы описания и решения простейших вычислительных задач в системе ТК Solver Для того чтобы в ТК Solver появилась текущая вычислительная задача необходимо ее описать как минимум на двух панелях
  • на панели Rule Sheet описать вычислительную модель в виде условных и безусловных предложений вычислимости

  • на панели Variable Sheet сформулировать задачу путем явного разбиения переменных входящих в ВМ на входные (типа Input) и выгодные (типа Output) и д ы входных переменных задать начальные значения

  • После такою описания в ТК Solver появляется текущая вычислительная модель задачи
    Вычислительная модель представляет собой декларативное описание отношении вы числимости на языке спецификации вычислительных задач В рамках вычислительно!! модели можно обращаться к функциям описывающим алгоритмы с использованием операторов беисикоподобного алгоритмического языка
    Для получения решения задачи на текущей модели задачи необходимо выполнить команду Commands | Solve (Команды |Решить) или нажать клавишу На рис 25 5 показано содержимое панелей Rule Sheet и Variable Sheet в окне ТК Solver после решения задачи с формулировкой
    ЗНАЯ Текущую модель задачи ВЫЧИСЛИТЬ S ПО P
    Здесь переменным с именами S и Р в графическом представлении модели задачи (рис 25 4) соответствуют объекты ПЛОЩАДЬ и ПЕРИМЕТР соответственно
    Рис 25 5 Вид панелей переменных и правил в окне ТК Solver
    337
    Содержимое всех панелей текущей модели задачи можно сохранить в файле с расширением TKW. В дальнейшем этот файл можно загрузить и использовать для решения других задач.
    Решение задач на вычислительной модели, описанной в ТК Solver, на панели Rule Sheet может осуществляться в трех режимах:
  • в режиме прямого решателя, который активизируется с помощью команды Commands \ Solve (Команды \ Решить) или нажатием клавиши ;

  • в режиме спискового решения, который активизируется командой Commands \ List Solve (Команды \ Решить списком) или нажатием клавиши ;

  • в режиме итеративного решателя, который активизируется автоматически из других режимов, если возникает прерывание по ошибке из-за невозможности вычислить значение какой-либо переменной, входящей в уравнение и для этой переменной назначен атрибут G в поле St на панели описания переменных Variable Sheet.


  • На рис. 25. 5 приведен пример, когда решение получено с использованием режима прямого решателя. Прямой решатель находит значения всех переменных, которые можно вычислить с использованием предложений вычислимости, заданных на панели Rule Sheet, с использованием входных переменных панели Variable Sheet. Если для предложения вычислимости входных данных недостаточно, то оно в вычислениях не участвует и в поле S на панели Rule Sheet помечается символом *.

    В процессе решения решатель проверяет вычисления на непротиворечивость, т.е. если, например, в процессе решения для какого-либо из уравнений все переменные оказались входными, то проверяется выполнение равенства левой и правой частей уравнения. В случае невыполнения равенства вычисления прекращаются, выводится сообщение об ошибке, а переменные уравнения и само уравнение на соответствующих панелях помечаются символом >. Для исключения уравнения из вычислений достаточно перед ним поставить символ ; (точка с запятой), т.е. объявить его комментарием.

    Для выполнения списковых вычислений, т.е. решения одной и той же задачи на различных исходных данных, необходимо предварительно с каждой переменной, участвующей в вычислениях, связать список. Для этого в поле St на панели Variable Sheet указать атрибут L, а для входных переменных - атрибут Input (в поле Input появится 0, а не первый элемент списка ) и в связанные с ними списки занести множество принимаемых этой переменной значений. После этого можно активизировать списковые вычисления нажатием клавиши .

    В процессе списковых вычислений прямой решатель вызывается столько раз, сколько элементов в списках входных переменных. Найденные на каждом цикле значения выходных переменных задачи помещаются в соответствующие списки для выходных переменных. При этом номер элемента в списке является номером решения одной и той же задачи на различных исходных данных. Результаты решения можно просмотреть в соответствующем списке, для этого необходимо активизировать панель List Sheet и раскрыть список с помощью правой кнопки мыши.


    Режим списковых вычислений целесообразно использовать для выяснения характера функциональной зависимости между входными и выходными данными решаемой задачи. Эту зависимость можно в дальнейшем представить либо в виде таблицы, либо в

    338

    графическом виде в форме графика в декартовой системе координат, столбиковой или круговой диаграммы.

    В процессе решения задачи может оказаться, что получение решения невозможно из-за неполноты задания исходных данных задачи. В этом случае целесообразно применять режим итеративного решателя. Для того, чтобы перевести систему ТК Solver в режим итеративного решения уравнений, необходимо неизвестным переменным назначить тип Guess в поле St на панели Variable Sheet и в поле Input присвоить им начальное приближение.

    Рассмотрим два уравнения с двумя неизвестными:

    y=x*sin(x)

    x*y = cos(x + y)

    Пусть эти уравнения описаны в виде правил. Если переменной х назначить тип Input и значение х=0.5, то в режиме прямого решателя (после нажатия клавиши ) будет выведено сообщение об ошибке, так как после вычисления значения у с помощью первого уравнения прямой решатель подставит значения x и y во второе уравнение и равенство для него не будет выполняться.

    В случае, когда переменной х назначен тип Guess и значение х =0.5, будет активизирован режим итеративного решения, при этом после возникновения ошибки из-за второго уравнения решение не будет прекращено, а произойдет перевычисление значения переменной х, вычислено новое значение у и цикл вычислений будет повторяться до тех пор, пока будет инициироваться прерывание по ошибке. Окончательное решение для данных уравнений х = .727 и у = .484.

    339

    334 :: 335 :: 336 :: 337 :: 338 :: 339 :: Содержание

    Открытие файла документа

    Открытие файла удобно выполняется с помощью списка ранее открывавшихся файлов, если файл имеется в этом списке.
    При отсутствии файла в списке открытие файла с возможностью поиска выполняется в диалоге (рис. 8.3), возникающем при задании команды Открыть... (Open...) меню Файл (File) или нажатии кнопки Открыть (Open) панели инструментов Стандартная (Standard).
    Для открытия файла с помощью списка открывавшихся файлов нужно выполнить следующее: щелчком мыши раскрыть меню Файл (File) и в списке файлов, открывавшихся последними, выполнить щелчок мышью в строке с именем нужного файла. В результате произойдет автоматический поиск и открытие данного файла, разумеется, если он не был удален или перемещен в другое место.
    Управление названным списком выполняется с помощью вкладки Общие (General) диалогового окна Параметры (Options). Для задания списка устанавливается флажок Помнить список из: (Resently Used File List:), и в поле справа вводится длина списка (от 1 до 9). Для того, чтобы изменение списка файлов, открывавшихся последними, происходило правильно, каждый сеанс работы с текстовым процессором следует завершать по команде Выход (Exit) меню Файл (File), а не с помощью размещаемой в правом верхнем углу окна Word 7.0 кнопки закрытия приложения.
    Пример 1. Открытие файла документа Word в диалоге.
  • Откроем диалоговое окно Открытие документа (Open) (рис. 8.3).

  • В поле Папка: (Look in:) выберем путь доступа к файлу документа.

  • 114
    Рис 8.3 Диалоговое окно Открытие документа
  • В поле Тип файла (Files of type ) выберем "Документы Word"

  • В поле Имя (Name) выберем строку с именем файла и выполним двойной щелчок

  • Замечания.
  • Для предварительного просмотра содержимого открываемого файла документа следует нажать кнопку "Вывод содержимого" в верхней строке диалогового окна Открытие документа (Open)

  • При наличии длинного списка в поле Имя (Name) целесообразно утсановить подходящий вариант сортировки имен файлов (по возрастанию или по убыванию) Для этого нажатием кнопки Команды и режимы (Commands and Settings) откроем панель команд и, выполнив команду Сортировка (Sorting ) зададим нужный вариант сортировки имен файлов


  • Если в начале каждого сеанса работы при открытии файла документа используется одна и та же папка, то для обеспечения непосредственно доступа к ней целесообразно образно указать ее местоположение Делается с помощью вкладки Расположение (File Locations) диалогового окна Параметры (Options)


  • Пример 2. Преобразование файла при открытии

  • Откроем диалоговое окно Открытие документа (Open) (рис 83)


  • В поле Папка (Lookm ) выберем путь доступа к файлу документа.


  • В поле Тип файла (Files of type ) выберем тип открываемою файла


  • В поле Имя (Name) выберем строку с именем файла и выполним двойной щелчок


  • В результате будет выполнено автоматическое преобразование файла в формат Word 7 0 и открытие документа. Если распознавание не удается, то появивившееся окно Преобразование файла (Convert File), в котором нужно явно выбрать формат исходного файла документа

    115

    Замечание.

  • Большой интерес представляет возможность открытия и обработки файлов документов, подготовленных в среде редактора Лексикон для DOS Для этого с помощью программы lexwptf exe (входит в состав поставки Лексикон) преобразуем файл документа из формата Лексикон в текстовый формат для DOS Полученный файл будем открывать в Word 7 0, указывая строку Текст DOS в списке Из формата (Convert File From ) диалогового окна Преобразование файла (Convert File)


  • 116

    111 :: 112 :: 113 :: 114 :: 115 :: 116 :: Содержание

    Открытие и поиск документов

    В 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) не появляется, и все сделанные в открытой рабочей книге изменения записываются в тот же файл.

    Замечания.

  • Excel позволяет сохранять не только отдельные документы, но и текущую конфигурацию открытых книг и окон. Такой "срез" состояния программы запоминается в так называемом файле рабочей области по команде Сохранить рабочую область... (Save Workspace...) меню Файл (File). В одноименном с командой диалоговом окне задается папка, имя и расширение файла рабочей области (по умолчанию Личная папка/Resume.xlw). Создавать файл рабочей области рекомендуется при завершении сеанса работы с несколькими большими документами. Тем самым сохраняются имена открытых рабочих книг, параметры окон и т.д. В начале следующего сеанса работы открытие файла рабочей области приведет к открытию всех файлов и установке необходимых параметров, соответственно.


  • В процессе работы с рабочей книгой рекомендуется использовать функцию Автосохранение (AutoSave). При этом Excel автоматически, через заданный период времени сохраняет документ в его же файле. Тем самым "страхуются" от потери части информации, имеющейся в оперативной памяти, но не записанной на диск, в случае отключения питания, сбоев в работе программы или аппаратуры. Издержкой использования Автосохранения (AutoSave) является непроизводительное расходование процессорного времени на перезапись файла.


  • Режим автоматического сохранения программы можно задать только в том случае, если ранее была установлена соответствующая программа-надстройка, расширяющая стандартные функциональные возможности Excel. Для установки таких программ в Excel используется Мастер надстроек, который выбирается командой Надстройки... (Add-Ins...) меню Сервис (Tools). При ее выполнении в одноименном диалоговом окне появляется список доступных в Excel программ-надстроек. Установка флажка напротив строки Автосохранение (AutoSave) подключает соответствующую программу. При этом в меню Сервис (Tools) появляется ранее отсутствующая команда Автосохранение (AutoSave). Выполнение этой команды приводит к появлению на экране одноименного диалогового окна.С его помощью задается временной интервал автосохранения, что сохранять (только активную или все открытые рабочие книги) и как сохранять (с предварительным запросом на разрешение сохранения или без него).

    147

    146 :: 147 :: Содержание

    Отличительные свойства Windows

    Перечисленные свойства 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).
    19. Разработать ВМ для расчета параметров пассивных и активных электрических цепей, включающих сопротивления, индуктивности, емкости и источники тока.

    355

    Литература

  • Агафонов В. PL, Борщев В.Б., Воронков А.А. Логическое программирование в широком смысле (обзор). В кн. Логическое программирование: Пер. с англ, и фр.- М.:Мир,1988.-368с.


  • Вольфенгаген В.Э., Яцук В.Я. и др. Методические указания к проведению практических занятий по курсу "Основы разработки специализированных машин" (реализация в среде аппликативной логики). - М: МИФИ,1990. - 60 с.


  • Ин Ц., Соломон Д. Использование Турбо-Пролога: Пер. с англ. - М.: Мир, 1993. - 606 с.


  • Искусственный интеллект: В 3-х кн. Кн. 2. Модели и методы: Справочник/Под ред. Д.А. Поспелова. - М.: Радио и связь, 1990. - 304 с.


  • Искусственный интеллект: В 3-х кн. Кн. 3. Программные и аппаратные средства: Справочник/Под ред. В.Н. Захарова, В.Ф. Хорошевского. - М.: Радио и связь, 1990. - 368 с.


  • Искусственный интеллект - основа новой информационной технологии/Поспелов Г.С. - М.: Наука, 1988. - 280 с.


  • Компанией, Р.И., Ломако А. Г. Программирование и исчисление вычислительных задач.Инф. бюллетень № 89. - СПб.: ВИККА, 1996. - 29 с.


  • Котпенко И.В. Логическое программирование на Прологе. TURBO и PDC PROLOG. Учебное пособие. - СПб.: ВАС, 1993.- 412 с.


  • Лорьер Ж.-Л. Системы искусственного интеллекта: Пер. с фр. - М.: Мир, 1991. - 568с.


  • Ю.Марселлус Д. Программирование экспертных систем на Турбо-Прологе.: Пер. с англ. - М.: Финансы и статистика, 1994. - 256 с.


  • Осу га С. Обработка знаний: Пер. с яп. - М.: Мир, 1989. - 293 с.


  • Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог: Пер.с англ.- М.: Мир, 1990. - 235 с.


  • Тыугу Э.X. Концептуальное программирование. - М.:Наука,1984. - 256 с.


  • Фагпиев II. И. Логика: Учебное пособие. - СПб.: СПбГУП, 1994. - 118 с.


  • 356

    353 :: 354 :: 355 :: 356 :: Содержание

    Печать документа

    Печать документа выполняется с помощью команды Печать (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:) зададим подходящее значение в сантиметрах ширины полосы для отображения наименований стилей абзацев.


  • Установим флажки Пустые рамки рисунков (Picture Placeholders) и Черновик (Draft Font).


  • 4. Нажмем ОК. Замечание.

  • Последние две установки позволяют ускорить работу с документом. При этом вместо рисунков отображаются пустые рамки соответствующих размеров, а вместо шрифта True Type будет отображаться шрифт с минимальным форматированием.


  • 118

    Пример 2. Установление режима Разметка страницы (Page Layout). Установим отображение границ области текста, графических объектов, привязки объектов и закладок.

  • Для установления режима зададим команду Разметка страницы (Page Layout) меню Вид (View).


  • Как и в предыдущем примере, вызовем вкладку Вид (View) диалогового окна Параметры (Options).


  • В поле Показывать (Show) установим флажки Графические объекты (Drawings), Привязку объектов (Object Anchors), Границы области текста (Text Boundaries) и Закладки (Bookmarks).


  • Нажмем ОК.


  • Возможный вид окна документа со указанными установками приведен на рис. 9.1.

    Рис. 9.1. Вид документа в режиме Разметка страницы

    Замечания.

  • Графические объекты (на рисунке - прямоугольник и эллипс) в других режимах просмотра и редактирования не отображаются.


  • Реальное местоположение кадров на странице документа также изображения не только в рассматриваемом режиме.


  • Символ привязки (знак якоря) объекта отображается в окне документа при выделении объекта - на рисунке выделен кадр.


  • Пример 3. Установление режима Структура (Outline) с отображением заголовков 1-го, 2-го и 3-го уровней.

    1.Для перехода в этот режим выполним команду Структура (Outline) меню Вид (View).

    2. Па появившейся панели инструментов Структура (Outline) нажмем кнопку Заголовки уровней 1-3 (Show Headings).

    Вид документа в таком режиме показан на рис. 9.2.

    119

    Рис. 9.2. Вид документа в режиме Структура

    Замечание.

    Символом "плюс" помечены заголовки, после которых в документе имеется некоторое наполнение текстом или графикой, символом "минус" помечены заголовки, не имеющие такого наполнения. Пример 4.


    Изменение структуры документа.

    Предположим, что для документа, структура которого показана на рис. 9.2, требуется повысить на 1 уровень заголовок "1.1.5. Печать документа" и переместить заголовок "1.2.1. Переключение режимов просмотра и редактирования" на третью позицию в подразделе "1.1. Основные этапы работы".

  • Поместим курсор в строку с заголовком "1.1.5. Печать документа".


  • На панели инструментов Структура (Outline) нажмем кнопку Повысить уровень (Promote).


  • В результате наш заголовок преобразуется к виду "1.2. Печать документа" и выполнится автоматическая перенумерация следующих за ним строк заголовков.


  • Поместим курсор во второй заголовок "1.3.1. Переключение режимов просмотра и редактирования" (изменение номера произошло в результате указанной автоматической перенумерации).


  • Последовательно нажимаем кнопку Переместить вверх (Move Up) до перемещения выбранного заголовка в нужное место


  • При каждом перемещении строки заголовка вверх происходит автоматическая перенумерация соответствующих заголовков. Рассматриваемый заголовок окончательно получит номер "1.1.3".

    120

    Замечание.

  • Нумерация заголовков может и отсутствовать, задание и отключение нумерации заголовков выполняется по команде Нумерация заголовков... (Heading Numbering...) меню Формат (Format).


  • 121

    118 :: 119 :: 120 :: 121 :: Содержание

    Перемещение по документу

    Перемещение по документу выполняется с помощью мыши, горизонтальной и вертикальной полос прокрутки и комбинаций клавиш. В режиме просмотра страниц на вертикальной полосе прокрутки добавляются кнопки , с помощью которых выполняется постраничная прокрутка документа в окне. Для отображения вертикальной и горизонтальной полосы прокрутки в окне документа следует предусмотреть установку соответствующих флажков на вкладке Вид (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

    Для облегчения поиска информации в 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). Достоинства и недостатки гибридных систем поиска определяются степенью реализации и использования первого и второго принципов хранения и поиска информации.

    Кроме перечисленных, существует ряд дополнительных средств классификации и поиска информации.

    Онлайновые справочники. Они составляются вручную, но, в отличие от Web-каталогов, не содержат внутренний поисковый механизм, поэтому информацию в них нужно искать самостоятельно. К числу широко известных онлайновых справочников относятся: Whole Internet Catalog (http://nearnet.gnn.com/gnn/wic/index.html), Web Server Directory (http://www.w3.org/hypertext/DataSource/WWW/Servers.html), тематический справочник BigBook (http://www.bigbook.com), алфавитный классификатор Hoovers (http://www.hoovers.com).

    Справочники на внешних носителях CD-ROM. Представляют собой локальные базы данных сетевых ресурсов Internet. Примерами таких справочников являются Электронный каталог А. Сигалова "Желтые страницы Internet. Русские ресурсы", система поиска WebCompass фирмы Quaterdeck. Достоинством их является возможность предварительного поиска нужных адресов в автономном режиме, что позволяет сократить время соединения с провайдером недостатком - невозможность оперативного обновления информации.

    Для российского пользователя особый интерес представляют поисковые системы, обеспечивающие возможность поиска документов на русском языке. Уровень их развития соответствует уровню Web-индексов. Достижение же русскоязычными поисковыми системами уровня Web-каталогов еще предстоит. Оно требует больших затрат и может быть стимулировано внедрением систем электронной торговли и, как следствие, интенсивным развитием отечественных сетей.

    Русскоязычные поисковые системы можно разделить на:

  • международные Web-индексы, позволяющие заносить в базу данных русскоязычные слова. Среди таких систем одной из лучших является известная AltaVista (http:/ /altavista.telia.com);


  • поисковые системы, разработанные российскими компаниями. В их числе достаточно большую известность приобрели системы: Rambler (http://www.rambler.ru) фирмы СТЕК, Русская Машина Поиска (http://search.interrussia.com) компании INTERRUSSIA.


    Кроме них, можно рекомендовать также следующие поисковые системы: Comptek International (http://www.cti.ru/arcadia/index.html), Дукс ((http:// www.dux.ru).


  • 434

    Контрольные вопросы и задания

  • Назовите уровни Эталонной Модели взаимодействия открытых систем.


  • Охарактеризуйте структуры ЛВС.


  • Какие существуют типы управления в ЛВС?


  • Дайте характеристику методов доступа Ethernet, Arcnet и Token Ring.


  • Поясните понятие технологии "клиент-сервер".


  • Назовите назначение, принципы работы и характеристики модема.


  • Поясните понятие сетевой ОС.


  • Приведите примеры используемых сетевых ОС.


  • Какие функции реализованы в пакете MS BackOffice ?


  • В чем принципиальное отличие между сетевыми драйверами, отвечающими требованиям спецификаций NDIS 3.11 и NDIS 2?


  • В каком качестве в сети может использоваться станция с ОС Windows 95?


  • Назовите возможные режимы доступа к сетевым ресурсам Windows 95.


  • Как организуется защита сетевых ресурсов в Windows 95?


  • Просмотрите все станции и серверы, к которым вы имеете доступ.


  • Просмотрите сетевые ресурсы одной из станций.


  • Подключитесь к имеющейся рабочей группе в одноранговой сети:


  • организуйте доступ на уровне ресурсов; •установите программное обеспечение клиента Microsoft;


  • подключите станцию к рабочей группе.


  • 17. Предоставьте в общее пользование ресурсы собственной станции:

  • диск с полным доступом;


  • папку 1 с полным доступом, но по паролю;


  • папку 2 с доступом по чтению и также по паролю.


  • 18. Создайте сетевой диск для ресурса другой станции вашей группы.

    19. Подключитесь к домену сервера Windows NT с разрешения администратора и получив у него пароль:

  • организуйте на станции доступ на уровне пользователя;


  • задайте имя домена.


  • 20. Просмотрите группы пользователей домена.

    21. Просмотрите список специальных возможностей групп по доступу к сетевым ресурсам.

    22. Предоставьте группам различные права для пользования ресурсами вашей станции.

    435

    Литература

  • Ахметов К. Windows 95 не для всех. - М.: ТОО фирма "КомпьютерПресс", 1997. - 268с.



  • Берзип С. Internet у Вас дома. СПб.: BHV - Санкт-Петербург, 1997. - 400 с.


  • Богумирский Б. Энциклопедия Windows 98. - СПб.: Питер, 1998. - 816 с.


  • Компьютерные технологии обработки информации: Учеб. пособие / С.В. Назаров, В.И. Першинов, В.А. Тафиицев и др.; под ред. С.В. Назарова. М.: Финансы и статистика, 1995. - 248 с.


  • Ладыженский Г. Технология "клиент-сервер" и мониторы транзакций//Открытые системы, № 3 (7), 1994. - С. 4-5, 8-11.


  • Локальные вычислительные сети: Справочник. В 3-х кн. - Кп. 1. Принципы построения, архитектура, коммуникационные средства/Под ред. С.В. Назарова. - М.: Финансы и статистика, 1994. - 208 с.


  • Мартин Дж. Вычислительные сети и распределенная обработка данных: программное обеспечение, методы и архитектура/Пер, с англ. - Вып. 1 (1985. - 256 с.). Вып. 2 (1986.- 269 с.). - М.: Финансы и статистика.


  • Пайк М. Internet в подлиннике. - СПб.: ВHV-Санкт-Петербург, 1996. - 640 с.


  • Френк Дж.Дерфлер. Эволюция сетевых операционных систем//РС MAGAZINE/ Russian Edition, № 9, 1996. - С. 28-59.


  • . Фролов А.В., Фролов Г.В. Локальные сети персональных компьютеров. Монтаж сети, установка программного обеспечения. - М.: "ДИАЛОГ-МИФИ", 1993. - 176 с.


  • 436

    433 :: 434 :: 435 :: 436 :: Содержание

    Получение информации о компьютере

    Для получения информации об аппаратном составе компьютера и распределении основной памяти нужно выполнить команду Команды \ Информация о системе (Commands \ System Information). При этом на нескольких панелях отображается следующая информация: тип процессора; наличие сопроцессора; тип видеоадаптера; тип мыши; состав и емкость накопителей на жестких и мягких магнитных дисках; тип шины; число последовательных и параллельных портов; тип клавиатуры; версия операционной системы; емкость памяти DOS, расширенной памяти и дополнительной памяти; параметры CMOS.
    Далее отображается информация о распределении памяти, отведенной под DOS: приводятся данные о распределении адресов, размеров и владельцах каждого блока памяти.
    74
    72 :: 73 :: 74 :: Содержание

    Понятие алгоритма

    Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения.
    Алгоритм - это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату. Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п. Слово алгоритм происходит от algoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX века аль-Хорезми. Благодаря латинскому переводу трактата аль-Хорезми европейцы в XII веке познакомились с позиционной системой счисления, и в средневековой Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней.
    Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой совокупности возможных исходных данных и направленный на получение определенных этими исходными данными результатов. Термин вычислительный процесс распространяется и на обработку других видов информации, например, символьной, графической или звуковой.
    Если вычислительный процесс заканчивается получением результатов, то говорят, что соответствующий алгоритм применим к рассматриваемой совокупности исходных данных. В противном случае говорят, что алгоритм неприменим к совокупности исходных данных. Любой применимый алгоритм обладает следующими основными свойствами:
  • результативностью;

  • определенностью;

  • массовостью.

  • Результативность означает возможность получения результата после выполнения конечного количества операций. Определенность состоит в совпадении получаемых результатов независимо от пользователя и применяемых технических
    36
    средств. Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных.
    Для задания алгоритма необходимо описать следующие его элементы:
  • набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;


  • правило начала;


  • правило непосредственной переработки информации (описание последовательности действий);


  • правило окончания;


  • правило извлечения результатов.


  • Алгоритм всегда рассчитан на конкретного исполнителя. В нашем случае таким исполнителем является ЭВМ. Для обеспечения возможности реализации на ЭВМ алгоритм должен быть описан на языке, понятном компьютеру, то есть па языке программирования.

    Таким образом, можно дать следующее определение программы. Программа для ЭВМ представляет собой описание алгоритма и данных на некотором языке программирования, предназначенное для последующего автоматического выполнения.

    Способы описания алгоритмов

    К основным способам описания алгоритмов можно отнести следующие1

  • словесно-формульный;


  • структурный или блок-схемный;


  • с помощью граф-схем;


  • с помощью сетей Петри.


  • Перед составлением программ чаще всего используются словесно-формульный и блок-схемный способы. Иногда перед составлением программ на низкоуровневых языках программирования типа языка Ассемблера алгоритм программы записывают, пользуясь конструкциями некоторого высокоуровнего языка программирования. Удобно использовать программное описание алгоритмов функционирования сложных программных систем. Так, для описания принципов функционирования ОС использовался Алголо-подобный высокоуровневый язык программирования.

    При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.

    Пусть, например, необходимо найти значение следующего выражения:

    y=2a-(x+6).

    Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде:

  • Ввести значения а и х.


  • Сложить х и 6.


  • Умножить а на 2.


  • Вычесть из 2а сумму (х+6).


  • Вывести у как результат вычисления выражения.


  • 37

    При блок-схемном описании алгоритм изображается геометрическими фигурами (блоками), связанными по управлению линиями (направлениями потока) со стрелками. В блоках записывается последовательность действий.


    Данный способ по сравнению с другими способами записи алгоритма имеет ряд преимуществ. Он наиболее нагляден: каждая операция вычислительного процесса изображается отдельной геометрической фигурой. Кроме того, графическое изображение алгоритма наглядно показывает разветвления путей решения задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали.

    Оформление программ должно соответствовать определенным требованиям. В настоящее время действует единая система программной документации (ЕСП/Д), которая устанавливает правила разработки, оформления программ и программной документации. В ЕСПД определены и правила оформления блок-схем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД).

    Операции обработки данных и носители информации изображаются на схеме соответствующими блоками. Большая часть блоков по построению условно вписана в прямоугольник со сторонами а и b. Минимальное значение а равно 10 мм, увеличение а производится на число, кратное 5 мм. Размер b=1,5а и Ь, равное 1:2. В пределах одной схемы рекомендуется изображать блоки одинаковых размеров. Все блоки нумеруются. Виды и назначение основных блоков приведены в табл. 2.1.

    Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки. Стрелка в конце линии может не ставиться, если линия направлена слева направо пли сверху вниз. В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков. Из блока (кроме логического) может выходить только одна линия. Логический блок может иметь в качестве продолжения один из двух блоков, и из него выходят две линии. Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.

    Схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки.

    Если при обрыве липни продолжение схемы находится па этом же листе, то на одном и другом конце линии изображается специальный символ соединитель - окружность диаметром 0,5 а.Внутри парных окружностей указывается один и тот же идентификатор. В качестве идентификатора, как правило, используется порядковый номер блока, к которому направлена соединительная линия.

    Если схема занимает более одного листа, то в случае разрыва линии вместо окружности используется межстраничный соединитель. Внутри каждого соединителя указывается адрес - откуда и куда направлена соединительная линия. Адрес записывается в две строки: в первой указывается помер листа, во второй - порядковый номер блока.

    Блок-схема должна содержать все разветвления, циклы и обращения к подпрограммам, содержащиеся в программе.

    38

    Таблица 2.1

    Условное обозначение блоков схем алгоритмов

    39

    36 :: 37 :: 38 :: 39 :: Содержание

    Понятие архитектуры ЭВМ

    С середины 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
    Чтобы получить полную информацию о состоянии системы, необходимо задать два вопроса типа "да-нет" - по лампочке Л и лампочке В соответственно. В этом случае количество информации, содержащейся в данной системе, определяется уже в 2 бита, а число возможных состояний системы - 4. Если взять три лампочки, то необходимо задать уже три вопроса и получить 3 бита информации. Количество состояний такой системы равно 8 и т.д.

    Связь между количеством информации и числом состояний системы устанавливается формулой Хартли:

    i=log2N,

    где i- количество информации в битах;

    N-число возможных состояний.

    Ту же формулу можно представить иначе:

    N= 2i.

    Группа из 8 битов информации называется байтом. Если бит - минимальная единица информации, то байт ее основная единица. Существуют производные единицы информации: килобайт (кбайт, кб), мегабайт (Мбайт, Мб) и гигабайт (Гбайт, Гб).

    1 кб = 1024 банта = 210 (1024) байтов.

    1 Мб = 1024 кбайта = 220 (1024 ? 1024) байтов.

    1 Гб - 1024 Мбайта = 230 (1024 ? 1024 ? 1024)бантов.

    Эти единицы чаще всего используют для указания объема памяти ЭВМ.

    10

    7 :: 8 :: 9 :: 10 :: Содержание

    Понятие о специальном кодировании чисел

    Для хранения чисел и выполнения различных операций над ними их представляют различными кодами: прямым, обратным и дополнительным. Как уже отмечалось выше, для представления чисел со знаками в памяти ЭВМ используют прямой код. Для обозначения прямого кода числа 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, определяемая из соотношения:

    где: q - основание системы счисления;

    хi - значение цифры в i-ом разряде исходного кода.

    Для двоичной системы счисления, если хi = 1, то хi= 0 и наоборот. Отсюда можно сформулировать частное правило образования обратного кода для отрицательных двоичных чисел.

    Для преобразования прямого кода двоичного отрицательного числа в обратный код и наоборот необходимо зиковый разряд оставить без изменения, а в остальных разрядах пули заменить на единицы, а единицы на пули.

    32

    Например:

    Х(2)= + 11011001, [х(2)]пр= 0.11011001, [X(2)]обр=0.11011001.
    х(2)=-01011101, [Х(2)]пр= 1.01011101, [Х(2)]обр = 1.10100010.
    Для обозначения дополнительного кода числа Х(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+q-m, если X< 0,
    Таким образом, для преобразования прямою кода q-ичного отрицательного числа в дополнительный необходимо образовать его в обратный код и в младший разряд добавить единицу. Например, для двоичных чисел:

    х(2)=+11011001, [Х(2)]пр= 0.11011001, [Х(2)]доп= 0.11011001.
    х(2) = -01011101, [Х(2)] пр = 1.01011101, [Х(2)] доп = 1.10100011.
    При выполнении операции сложения чисел, представленных специальными д-пч-пыми кодами знаковые разряды участвуют в операции наряду с цифровыми разрядами. При этом цифровые разряды слагаемых складываются как модули чисел но правилам q-ичиой арифметики. Знаковые разряды и цифры переноса из старшего цифрового разряда при любом основании системы счисления (q>2) складываются как одноразрядные двоичные коды. Если при этом формируется перенос из знакового разряда, то он имеет вес единицы младшего разряда q~m при использовании обратного кода и должен быть добавлен в младший разряд результата. При использовании дополнительного кода единица переноса из знакового разряда не принимается во внимание, т. с. отбрасывается.

    Например:

    При выполнении операции алгебраического сложения перед преобразованием прямых кодов слагаемых в специальные необходимо их выровнять по числу разрядов, если число разрядов слагаемых различно.Кроме того, в некоторых случаях может произойти переполнение разрядов сетки. Признаком переполнения разрядной сетки является следующая комбинация цифр в знаковых разрядах слагаемых и результата:

    Результат сложения специальных кодов чисел при переполнении разрядной сетки является неверным.

    33

    22 :: 23 :: 24 :: 25 :: 26 :: 27 :: 28 :: 29 :: 30 :: 31 :: 32 :: 33 :: Содержание

    Понятие сетевой операционной системы

    Программное обеспечение ЛВС как совокупности компьютеров можно условно разделить на системное и прикладное. Системное ПО, используемое в ЛВС, реализует две основные функции: управление ресурсами каждого отдельного компьютера (памятью, устройствами ввода-вывода, принтером, дисками и т.д.) и управление совместно
    405
    используемыми в сети ресурсами (сетевым принтером, сетевым сканером, разделяемыми дисками, сообщениями и т.д.). Прикладное ПО сети включает пакеты прикладных программ конечного пользователя.
    Системные программные средства, управляющие процессами в ЛВС, объединенные общей архитектурой, коммуникационными протоколами и механизмами взаимодействия вычислительных процессов, называются сетевыми ОС.
    Сетевая ОС может быть организована двумя способами: как совокупность обычной несетевой ОС (типа MS DOS, Unix, OS/2) и некоторого вспомогательного сетевого пакета либо как самостоятельная собственно сетевая ОС. Сетевые пакеты, а также самостоятельные сетевые ОС в дальнейшем будем называть сетевыми ОС в узком смысле или просто сетевыми ОС (СОС).
    Структура и состав СОС, устанавливаемых на компьютеры ЛВС, зависят от типа управления в сети.
    Так, в одноранговых сетях на рабочих станциях находятся функционально равноправные компоненты, такие, как например, Windows for Workgroups. Основной частью этих компонентов являются программы обеспечения связи, которые реализуют связные протоколы.
    В сетях с централизованным управлением программы СОС, устанавливаемые на серверы и рабочие станции, существенно различаются. Для таких сетей часто говорят, что СОС состоит из двух основных компонентов: СОС сервера и СОС рабочей станции (клиента). Функции обеспечения связи между этими компонентами также как и в одноранговых сетях выполняют соответствующие программы обеспечения связи.
    Основной задачей СОС сервера является управление общими сетевыми ресурсами ЛВС. Программы СОС рабочей станции, в основном, обеспечивают нормальное функционирование клиентских программ. Взаимодействие между программами, предоставляющими ресурсы сервера (серверные программы), и программами, выполняющимися на PC (клиентские программы), в современных ЛВС обычно строится по технологии "клиент-сервер", которая описывается далее. В ЛВС в роли сетевых ОС сервера и PC могут выступать программы, разработанные разными фирмами. Популярные системы, как правило, поддерживают режим совместного функционирования с другими известными продуктами.
    Поскольку в настоящее время существует множество сетевых ОС для пользователей и администраторов ЛВС, представляет интерес проблема выбора.

    Понятия искусственного интеллекта

    Искусственный интеллект (ИИ) - это научная дисциплина, возникшая в 50-х годах на стыке кибернетики, лингвистики, психологии и программирования. С самого начала исследования в области ИИ пошли по двум направлениям.
    Первое (бионическое) - попытки смоделировать с помощью искусственных систем психофизиологическую деятельность человеческого мозга с целью создания искусственного разума.
    Второе (прагматическое) - создание программ, позволяющих с использованием ЭВМ воспроизводить не саму мыслительную деятельность, а являющиеся ее результатами процессы. Здесь достигнуты важные результаты, имеющие практическую ценность. В дальнейшем речь будет идти об этом направлении.
    Разработка интеллектуальных программ существенно отличается от обычного программирования и ведется путем построения системы искусственного интеллекта (СИИ). Если обычная программа может быть представлена в парадигме:
    Программа = Алгоритм + Данные,
    то для СИИ характерна другая парадигма:
    СИИ = Знания + Стратегия обработки знаний.
    285
    Основным отличительным признаком СИИ является работа со знаниями. Если для обычных программ представление данных алгоритма определяется на уровне описания языка программирования, то для СИИ представление знаний выливается в проблему, связанную со многими вопросами: что такое знания, какие знания хранить в системе в виде базы знаний (БЗ), в каком виде и сколько, как их использовать, пополнять и т.д.
    В отличие от данных знания обладают следующими свойствами:
  • внутренней интерпретируемостью - вместе с информацией в БЗ представлены информационные структуры, позволяющие не только хранить знания, но и использовать их;

  • структурированностью - выполняется декомпозиция сложных объектов на более простые и установление связей между ними;

  • связанностью - отражаются закономерности относительно фактов, процессов, явлений и причинно-следственные отношения между ними;

  • активностью - знания предполагают целенаправленное использование информации, способность управлять информационными процессами по решению определенных задач.


  • Все эти свойства знаний в конечном итоге должны обеспечить возможность СИИ моделировать рассуждения человека при решении прикладных задач - со знаниями тесно связано понятие процедуры получения решений задач (стратегии обработки знаний). В системах обработки знаний такую процедуру называют механизмом вывода, логическим выводом или машиной вывода. Принципы построения механизма вывода в СИИ определяются способом представления знаний и видом моделируемых рассуждений.

    Для организации взаимодействия с СИИ в ней должны быть средства общения с пользователем, т.е. интерфейс. Интерфейс обеспечивает работу с БЗ и механизмом вывода на языке достаточно высокого уровня, приближенном к профессиональному языку специалистов в той прикладной области, к которой относится СИИ. Кроме того, в функции интерфейса входит поддержка диалога пользователя с системой, что дает пользователю возможность получать объяснения действий системы, участвовать в поиске решения задачи, пополнять и корректировать базу знаний. Таким образом, основными частями систем, основанных на знаниях, являются:

  • База знаний.


  • Механизм вывода.


  • Интерфейс с пользователем.


  • Каждая из этих частей может быть устроена по-разному в различных системах, отличия эти могут быть в деталях и в принципах. Однако для всех СИИ характерно моделирование человеческих рассуждений. СИИ создаются для того, чтобы овеществлять в рамках программно-технической системы знания и умения, которыми обладают люди, чтобы решать задачи, относящиеся к области творческой деятельности человека. Знания, па которые опирается человек, решая ту или иную задачу, существенно разнородны. Это прежде всего:

  • понятийные знания (набор понятий и их взаимосвязи);


  • конструктивные знания (знания о структуре и взаимодействии частей различных объектов);


  • процедурные знания (методы, алгоритмы и программы решения различных задач);


  • фактографические знания (количественные и качественные характеристики объектов, явлений и их элементов).


  • 286

    Особенность систем представления знаний заключается в том, что они моделируют деятельность человека, осуществляемую часто в неформальном виде.Модели представления знаний имеют дело с информацией, получаемой от экспертов, которая часто носит качественный и противоречивый характер. Для обработки с помощью ЭВМ такая информация должна быть приведена к однозначному формализованному виду. Методологией формализованного представления знаний является логика. Перейдем к рассмотрению основных понятий логики.

    287

    285 :: 286 :: 287 :: Содержание

    Понятия компьютерной графики

    Компьютерная графика представляет собой одну из современных технологий создания различных изображений с помощью аппаратных и программных средств компьютера, отображения их на экране монитора и затем сохранения в файле или печати на принтере. В разделе рассматриваются понятия о способах представления графических изображений, разрешающей способности устройств отображения, цветах и масштабировании изображений.
    Существует два способа представлении графических изображений: растровый и векторный. Соответственно различаю! растровый и векторный форматы графических файлов, содержащих информацию графического изображения. Растровые форматы хорошо подходят для изображений со сложными гаммами цветов, оттенков и форм. Это такие изображения, как фотографии, рисунки, отсканированные данные. Векторные форматы хорошо применимы для чертежей и изображений с простыми формами, тенями и окраской.

    Постановка задачи

    Согласно М. Минскому, объект А является моделью объекта В, если наблюдатель с помощью А получает интересующие его сведения относительно В.
    Модель концентрирует в себе записанную на определенном языке (естественном, математическом, алгоритмическом) совокупность наших знаний, представлений и гипотез о соответствующем объекте или явлении. Поскольку эти знания никогда не бывают абсолютными, а гипотезы могут вынужденно или намеренно не учитывать некоторые эффекты, модель лишь приближенно описывает поведение реальной системы.
    Целями моделирования могут являться:
  • прогнозирование будущего состояния или поведения системы;

  • постановка экспериментов над моделью с последующей интерпретацией их результатов применительно к моделируемой системе;

  • обучение и тренаж специалистов.

  • Модели играют важную и все возрастающую роль в развитии общества. Любые научно-технические расчеты (на прочность, устойчивость, надежность, безопасность, точность и т.п.) в сущности являются специфическими видами моделирования.

    Построение геометрических фигур

    Библиотека 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).

    Создание нумерованного списка из последовательности абзацев выполняется аналогично, но с использованием кнопки Нумерованный список (Numbering) той же панели. Соответственно, для нумерации будет использоваться вариант, выбранный на вкладке Нумерованный (Numbered) диалогового окна Список (Bullets and Numbering) при последнем задании той же команды.

    Пример 1. Выбор, замена и форматирование символа для маркированного списка.

  • Поместим курсор в один из абзацев маркированного списка, для которого будем выполнять указанные действия по настройке параметров символа.


  • Задав команду Список... (Bullets and Numbering...) меню Формат (Format), откроем диалоговое окно Список (Bullets and Numbering).


  • На вкладке Маркированный (Bulleted) щелчком мыши выберем подходящий вариант маркера списка.


  • При необходимости замены и форматирования символа маркера с помощью кнопки Изменить... (Modify...) откроем диалоговое окно Изменение маркированного списка (Modify Bulleted List).


  • Для замены символа маркера с помощью кнопки Маркер... (Bullet) вызовем диалоговое окно Символ (Symbol) и выберем в нем новый символ маркера.


  • В списке Размер: (Size:) выберем или введем размер символа маркера в точках. С помощью списка Выравнивание текста списка: (Alignment of List Text:) выберем вариант размещения маркера в отведенном для него поле.


  • 132

  • В списке Отступ: (Distance from Indent to Text:) установим расстояние от левого поля страницы до текста первой строки абзаца


  • В списке От маркера до текста: (Distance from Bullet to Text:) зададим минимальное расстояние от маркера до текста.


  • При необходимости задать размещение второй и последующих строк текста абзаца под маркером сбросим флажок Выступ (Hanging Indent).


  • Пример 2. Создание и настройка многоуровневого списка

  • Выделим последовательность абзацев, для которой будем создавать многоуровневый список.


  • Задав команду Список... (Bullets and Numbering...) меню Формат (Format), откроем диалоговое окно Список (Bullets and Numbering)


  • На вкладке Многоуровневый (Multilevel) щелчком мыши выберем подходящий вариант нумерации



  • При необходимости настройки параметров многоуровневого списка нажатием кнопки Изменить... (Modify...) откроем диалоговое окно Изменение многоуровневого списка (Modify Multilevel List) (рис 107)


  • Рис. 10.7 Диалог настройки параметров многоуровневого списка

  • В поле Уровень (Level) переберем все уровни, скажем, от 1 до 3, которые будем нумеровать в создаваемом списке, и для каждого из них проведем настройку


  • В полях Текст перед: (Text Before') и Текст до: (Text After:) при необходимости зададим символы, которые нужно разместить до и после маркера или номера текущего уровня нумерации Обычно в качестве таких символов задают точку или круглую скобку


  • 133

  • В списке Маркер или Номер: (Bullet or Number:) для каждого уровня списка выберем один из следующих типов: арабские или римские цифры, строчные или прописные буквы латинского алфавита, порядковые номера (1-й, 2-й... или первый, второй...), один из символов маркеров, а также значение Другой... (New Bullet...), выбор которого открывает диалог вставки произвольного символа.


  • В списке Начать с: (Start At:) выберем начальный номер нумерации для заданного уровня.


  • Выполним настройку расположения номера относительно текста с помощью элементов поля Положение номера (Number Position).


  • В результате выполненных действий выделенные абзацы преобразуются в многоуровневый список, который пока еще имеет все одинаковые уровни и каждому абзацу которого остается задать нужный уровень.


  • Отменим выделение абзацев.


  • Для каждого абзаца, требующего изменения уровня, выполним следующие действия:


  • поместим курсор в одну из строк настраиваемого абзаца;


  • с помощью кнопок Увеличить отступ (Increase Indent) и Уменьшить отступ (Deacrease Indent) панели инструментов Форматирование (Formatting) соответственно выполним понижение или повышение уровня нумерации абзаца до требуемого.


  • Пример 3. Преобразование списка или элемента списка в обычный текст.

  • Выделим фрагмент текста, содержащий список.


  • Зададим команду Список... (Bullets and Numbering...) меню Формат (Format).



  • В диалоговом окне Список ( Bullets and Numbering) на соответствующей типу списка вкладке, например, на вкладке Маркированный (Bulleted), нажмем кнопку Удалить (Remove).


  • В результате будет выполнено преобразование всего списка в обычный текст.

    4. Для преобразования отдельного элемента списка в обычный текст поместим курсор в соответствующий абзац и повторим описанные выше действия.

    Замечания.

  • Вместо задания команды Список... (Bullets and Numbering...) меню Формат (Format) и выполнения последующих действий удобно просто отжать соответствующую типу списка кнопку панели инструментов Форматирование (Formatting).


  • При преобразовании в обычный текст отдельного элемента нумерованного или иерархического списка происходит автоматическая перенумерация остальных элементов списка.


  • 134

    131 :: 132 :: 133 :: 134 :: Содержание

    Современные информационные технологии основаны на

    Современные информационные технологии основаны на применении программных продуктов, как правило, обладающих широкими функциональными возможностями и развитым пользовательским интерфейсом. Зачастую это порождает иллюзию о необязательности серьезной подготовки в области информационных технологии и приводит к неэффективному использованию программных продуктов. Наглядным примером здесь могут служить любая из современных систем управления базами данных пли систем искусственного интеллекта.
    При подготовке материалов книги авторы исходили из того, что осмысленное применение информационных технологий должно опираться на всестороннее знание современных программных продуктов: теоретических основ построения, сравнительных характеристик, приемов эффективного использования для решения прикладных задач.
    В связи с отмеченным главной: целью ставилось изложение основных понятий рассматриваемых предметных областей, теоретических основ и приемов подготовки документов и разработки прикладных продуктов (баз данных и их приложений, экспертных систем), решения важнейших практических задач (настройки параметров операционных систем, действий с файлами и папками, выполнения математических расчетов и т.п.). При этом авторы не стремились к исчерпывающему и детальному изложению всех возможностей каждого из рассматриваемых программных продуктов. Акцепт делался на освещение приемов эффективного выполнения основных этапов рассматриваемых технологий.
    Отбор материала книги выполнен на основе общих требований программ дисциплины "Информатика" для ряда технических и экономических специальностей высших учебных заведений, изложенных в Государственном образовательном стандарте. При этом за рамками пособия остались вопросы программирования па алгоритмических языках, требующие отдельного рассмотрения.
    Материалы пособия основаны на опыте преподавания ряда дисциплин, в том числе "Информатика", "Базы данных", "Операционные системы" и "Математическое обеспечение ЭВМ", преподавателями кафедры Математического обеспечения ВИКА им.
    А.Ф. Можайского.
    Кинга состоит из следующих восьми частей.
    Часть 1. Основы информатики. Представляет собой введение в информатику и содержит: характеристику процессов сбора, обработки и передачи информации; понятия о системах счисления, кодировании чисел и представлении информации в ЭВМ. Кроме
    3
    того, здесь описываются вопросы алгоритмизации, этапы подготовки и решения задач на ЭВМ, дается характеристика стилей программирования.
    Часть 2. Операционные системы и сервисные программы. Содержит общую характеристику и основные приемы использования операционной системы MS DOS. Описывается популярная оболочка Norton Commander и ее использование для выполнения основных действий по работе с каталогами и файлами. Рассматривается характеристика интерфейса и технология выполнения основных действий в среде Windows 95: запуск и переключение приложений, выполнение операций с файлами, настройка интерфейса приложений. Описываются назначение и применение сервисных программ: антивирусных программ, программ обслуживания дисков и файлов, программ работы с архивами. Рассматриваются отличительные особенности операционной системы Windows 98.
    Часть 3. Текстовые и табличные процессоры. Описываются возможности и технология применения текстового процессора Word и табличного процессора Excel из состава пакета Microsoft Office для Windows 95. Рассматриваются основные этапы работы с файлами документов и рабочих книг, режимы просмотра и редактирования, важнейшие приемы по работе с документами и рабочими книгами, техника построения различных типов диаграмм.
    Часть 4. Пакеты математических расчетов. Дается характеристика математических задач, для решения которых целесообразно использование пакетов прикладных программ. Приводится сравнительная характеристика пакетов для математических расчетов, описываются интерфейс и технология применения математического пакета Scientific Workplace и важнейшего его компонента Maple для решения различных типов задач. Кроме того, рассматриваются характеристики и техника применения математического пакета Derive и пакета Visio для построения схем.


    Часть 5. Базы данных. Описываются основные понятия баз данных и информационных систем, дается общая характеристика моделей представления данных. Рассматриваются основные понятия реляционной модели данных, вопросы проектирования реляционных баз данных (нормализация отношений, организация связей между таблицами). Описывается технология создания баз данных и организации запросов к ним с помощью СУБД Visual FoxPro.
    Часть 6. Системы искусственного интеллекта. Рассматриваются основные понятия искусственного интеллекта, вопросы представления знаний. Описываются основные формализмы представления знаний: семантические сети, фреймы и продукционные системы. Дается характеристика вычислительных моделей и задач, формулируется задача синтеза программ. Рассматриваются основы логического программирования и программирование в среде системы Турбо-Пролог. В качестве прикладной системы искусственного интеллекта описываются характеристика и технология применения решателя задач ТКSolver. При этом рассматриваются: язык спецификации вычислительных задач, списки, представление комплексных чисел и функции пользователя.
    Часть 7. Компьютерная графика. Рассматриваются понятия компьютерной графики и основные форматы графических файлов. Дается характеристика возможностей программ для работы с графическими изображениями, приводятся математические основы проекции изображений. Рассматриваются вопросы программирования графики в среде
    4
    Turbo Pascal: инициализация графики, базовые процедуры и функции, установка цвета и построение графических фигур, манипулирование фрагментами изображении.
    Часть 8. Сети ЭВМ и работа в них. Рассматриваются понятия и архитектура сетей ЭВМ, принципы построения локальных вычислительных сетей и их программное обеспечение, технология работы пользователя в сети. Приводятся понятия и общая характеристика средств телекоммуникаций. Рассматриваются схема построения сети Internet и характеристика важнейших видов информационного обмена, адресация в сети. Дается характеристика броузеров - программ просмотра и редактирования Web-доку ментов.


    Описывается интерфейс и технология просмотра и создания Web-документов с помощью броузера Microsoft Explorer.
    В каждой части пособия первоначально рассматриваются общезначимые теоретические вопросы, далее приводится технология решения соответствующего класса задач па примере конкретной инструментальной системы или пакета программ. Ввиду большого разнообразия таких средств выбор осуществлялся с учетом распространенности и характеристик программного средства в соответствующем классе продуктов. Для удобства названия команд, кнопок, панелей инструментов, диалоговых окон и вкладок приводятся для локализованной и английской версий.
    В конце каждой части приводятся контрольные вопросы и задания, литература. В конце книги приводится перечень определений важнейших понятий и терминов. Отдельные классические примеры приведены в книге в их первоначальном виде - без изменений, это, в частности, касается некоторых примеров в материалах по искусственному интеллекту.
    При оформлении материалов использовались следующие соглашения о выделении текста: определения терминов даются полужирным начертанием; подчиненные определения - полужирным курсивом; текст, на который обращается внимание читателя, набран курсивом.
    Авторы выражают благодарность руководству издательства BHV-Санкт-Петербург за разрешение использовать материалы книги Хомоненко А.Д. "Word 7.0 для Windows 95 в примерах" (СПб: BHV-Санкт-Петербург, 1996).
    Большую неоценимую помощь авторам в подготовке материалов рукописи книги оказали сотрудницы лаборатории кафедры Математического обеспечения ВИКА им. А.Ф. Можайского Баглаж Е.А., Кошмак Е.А., Михайлова А.Ю., Попкова Т.В. и Слесарева Н.Ю.
    Авторы будут признательны читателям за критические замечания предложения и пожелания по улучшению содержания книги.
    А.Д. Хомоненко
    5
    Посвящаем светлой памяти профессора
    СВЕРДЛИКА Анатолия Николаевича,
    руководившего кафедрой Математического
    обеспечения ВИКА им. А.Ф. Можайского с 1976
    по 1989 годы.
    6
    3 :: 4 :: 5 :: 6 :: Содержание

    Представление результатов запросов

    В рассмотренных примерах результат запроса представлялся в табличном виде на экране Между тем, результат запроса можно запомнить во вновь созданной таблице или файле, направить в отчет или на принтер Чтобы реализовать одну из перечисленных возможностей, достаточно выполнить команду 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-ичной системе счисления. Деление продолжают до тех пор, пока очередное частное не станет меньше р. После замены полученных остатков и последнего частного цифрами р-ичной системы счисления записывается код числа в новой системе счисления. При этом старшей цифрой является последнее частное, а следующие за ней цифры соответствуют остаткам, записанным в последовательности, обратной их получению.

    Правило умножения используется для преобразования дробного числа, записанного в g-ичной системе счисления, в р-ичиую. В этом случае необходимо последовательно умножать исходную дробь и дробные части получающихся произведений на основание р, представленное в исходной g-ичной системе счисления. Целые числа получаемых произведений, замененные цифрами р-ичной системы счисления, и дают последовательность цифр в новой р-ичной системе.

    Умножение необходимо производить до получения в искомом р-ичном коде цифры того разряда, вес которого меньше веса младшего разряда исходной g-ичной дроби. При этом в общем случае получается код приближенно, и всегда с недостатком значения дроби. Поэтому в случае обратного преобразования (р-ичного кода дроби в g-ичный) результат может не совпадать с исходным значением g-ичной дроби.

    Пример. Выполнить преобразование X(10)>X(2), X(10)=37,45

    Для получения частных и остатков по правилу деления для целой части числа удобно использовать формулу записи, известную под названием "деление в столбик", а для получения р-ичного кода дробной части числа по правилу умножения - форму записи, известную под названием "умножение столбиком". Применительно к рассматриваемому примеру имеем:

    Таким образом, в результате преобразования получаем 37,45(2)= 100101,0111... 2. Как следует из примера, процесс перевода дробной части можно продолжить до бесконечности. ЭВМ оперирует числами, представленными конечными наборами цифр.

    26

    Поэтому дроби округляют в соответствии с правилами преобразования и весом младшего разряда исходной дроби.

    Преобразование чисел из двоичной системы счисления в восьмеричную, шестнад-цатеричную и обратно осуществляется по упрощенным правилам с учетом того, что основания этих систем счисления кратны целой степени 2, т.е. 8=23 , а 16=24 . Это означает, что при преобразовании восьмеричного кода числа в двоичный, необходимо каждую восьмеричную цифру заменить соответствующим трехзначным двоичным кодом (триадой).

    При преобразовании шестнадцатеричного кода числа в двоичный необходимо каждую шестнадцатеричную цифру заменить четырехзначным двоичным кодом (тетрадой).

    При преобразовании двоичного кода в восьмеричный или шестнадцатеричный двоичный код делится соответственно на триады или тетрады влево и вправо от запятой (точки), разделяющей целую и дробные части числа. Затем триады (тетрады) заменяются восьмеричными (шестнадцатеричными) цифрами.

    Например: 1CD,4(16) = 000111001101,0100(2)= 715,2(8).

    Если при разбиении двоичного кода в крайних триадах (тетрадах) недостает цифр до нужного количества, они дополняются нулями. Соответственно, "лишние" нули слева и справа, не вошедшие в триады (тетрады) отбрасываются.

    Преобразование и проекция изображений

    Вывод изображения и операции с ним требуют от программиста и пользователя определенной геометрической грамотности. Геометрические соображения, подходы и идеи в 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
    Основные преобразования выражаются с помощью соответствующих частных матриц: поворот на угол ?

    [R] =
    cos? sin ? 0
    -sin ? cos? 0
    0 0 1
    растяжение вдоль координатных осей с коэффициентами ? и ?

    [D] =
    ? 0 0
    0 ? 0
    0 0 1
    отражение (относительно оси абсцисс)

    [M]=
    1 0 0
    0 -1 0
    0 0 1
    371

    перенос на вектор (?, ?)

    [T]=
    1 0 0
    0 -1 0
    ? ? 1
    При выполнении любого преобразования на плоскости оно разбивается на отдельные этапы, описываемые матрицами [R], [D], [M], [T].

    Для случая трехмерной графики однородные координаты исходной точки М и преобразованной точки М* связаны между собой следующим соотношением:

    [x* y* z* 1]=[x y z 1]
    a11 a12 a13 a14
    a21 a22 a23 a24
    a31 a32 a33 a34
    a41 a42 a43 a44
    При этом основные преобразования выражаются с помощью матриц следующим образом: Поворот на угол вокруг оси X

    [Rx] =
    1 0 0 0
    0 cos ? sin ? 0
    0 0 0 1
    <


    /p> поворот на угол вокруг оси Y

    [Ry] =
    cos ? 0 -sin ? 0
    0 1 0 0
    sin ? 0 cos ? 0
    0 0 0 1
    поворот на угол вокруг оси Z

    [Rz] =
    cos ? sin ? 0 0
    -sin ? -cos ? 0 0
    0 0 1 0
    0 0 0 1
    372

    сдвиг на вектор (?, ?, v)

    [T]=
    1 0 0 0
    0 1 0 0
    0 0 1 0
    ? ? v 1
    отражение относительно координатных осей

    [M] =
    p 0 0 0
    0 q 0 0
    0 0 r 0
    0 0 0 1
    Совокупность операций по преобразованию координат предмета, как и в случае двухмерной графики, описывается произведением матриц, которое затем приводится к единой матрице для всех точек предмета.

    Предположим, что задан поворот предмета на угол вокруг оси, параллельной осп X, и на угол вокруг оси Z, проходящих через точку предмета с координатами (х0, y0, z0). Данное преобразование описывается произведением четырех матриц: матрицы ТГ описывающей сдвиг для совмещения точки (х0, y0, z0) с началом координат; двух матриц Rх и Rz, описывающих повороты вокруг соответствующих осей; матрицы T2 описывающей сдвиг для возвращения точки (х0, y0, z0) в первоначальное положение.

    Результирующая матрица А имеет вид M=T1RxRzT2

    Приложения интегрирования

    Файл 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.

    Два модема при установке связи должны работать на одной и той же скорости и использовать один и тот же метод модуляции, в противном случае такая связь просто не может быть установлена. Поэтому каждый модем имеет стандартную скорость передачи данных. Сейчас преимущественно используются модемы со скоростью передачи 9600,14 400,28 800 и 33 600 bps. Величина скорости определяет свой способ модуляции, то есть, как и какими характеристиками аналогового сигнала кодируется цифровая информация. Кроме того, любой модем должен поддерживать не только свою максимальную скорость, но и все меньшие, чтобы иметь возможность устанавливать связь и с более медленными модемами. При этом модем с более высокой скоростью переходит на более низкую, соответствующую скорости модема на другом конце связи. Переход на более низкую скорость может происходить и при плохих условиях связи, обусловленных помехами в некачественных телефонных линиях.

    Сжатие информации. Перед тем, как передавать информацию в линию связи, ее необходимо сжать, чтобы за один и тот же промежуток времени можно было передать большее количество информации. Один из принципов сжатия заключается в том, чтобы повторяющуюся последовательность символов или кодов заменить на более короткую по принципу: АААААВВВВСССССС = 5А4В6С

    Другой принцип сжатия заключается в том, что при передаче информации используются укороченные байты. Естественно, что сами байты являются восьмибитовыми, а группы информации, например, из пяти битов могут начинаться в одном байте, а заканчиваться в другом. Длина таких укороченных байтов в общем случае может быть различной, при этом наиболее часто встречающиеся символы кодируются более короткой последовательностью битов.

    В настоящее время разработано огромное количество программ-архиваторов, которые работают по сложным алгоритмам сжатия информации. Отметим, что минимальной единицей сжатия является блок информации, размер которого зависит от ее типа. Примером могут служить наиболее часто используемые в настоящее время программы Arj или Zip.


    Сжатие данных могут осуществлять программы-архиваторы, встроенные в модем аппаратные протоколы сжатия (например, MNP5), а также сами протоколы передачи данных.

    420

    Обнаружение и коррекция ошибок. После передачи очередного блока передающий модем ожидает от модема на другом конце линии связи подтверждения, что все принято правильно. Если информация принята с ошибкой, то принимающий модем выдаст сигнал на повторение передачи посланного блока. Этот метод коррекции ошибок называется ARQ (Automatic Repeat reQuest - автоматический запрос на повторение). Некоторые протоколы связи отслеживают определенное заранее число ошибок при передаче информации, и когда это число превышает указанное, модем-приемник предлагает модему-передатчику перейти на более низкую скорость или уменьшить размер передаваемых блоков.

    Для контроля передаваемой информации каждый ее блок снабжается контрольной суммой, которая представляет собой число, получаемое путем арифметических действий над всеми битами передаваемого блока. Алгоритм получения этого числа выбирается таким образом, чтобы искажение любого бита приводило к изменению контрольной суммы. Модем-приемник, получив очередной блок информации, определяет контрольную сумму по тому же самому алгоритму и сравнивает ее с полученной. При совпадении контрольных сумм считается, что блок передан правильно. Если же они не совпадают, то считается, что при передаче произошла ошибка, и модем-приемник выдаст сигнал на повтор передачи полученного блока. Вероятность того, что испорченная контрольная сумма будет соответствовать искаженным данным, ничтожно мала. Поэтому такой метод обеспечивает практически стопроцентное обнаружение ошибок.

    Коррекция ошибок может осуществляться в самом модеме, если у него встроен аппаратный протокол коррекции ошибок (например, MNP4), а также в коммуникационной программе, которая реализует протокол передачи файлов (например, Xmodem).

    Режимы работы модема. Подключенный к компьютеру модем может находиться в одном из двух режимов работы: режим передачи данных (modem is online) или режим команд.


    В режиме передачи данных все, что посылает модему компьютер, воспринимается им как данные, которые нужно преобразовывать в аналоговый сигнал и передавать в телефонную линию. Режим команд предназначен для управления модемом. В этом режиме используются специальные команды, выдаваемые компьютером, а сам модем работает самостоятельно. Получив строку символов, он интерпретирует ее как команду. Если команда распознается, то модем исполняет ее. В противном случае он выдает сообщение об ошибке.

    Разновидностью режима команд является режим ожидания звонка, в котором модем находится в состоянии ожидания, готовый в любой момент снять телефонную трубку и установить связь с модемом на другом конце линии.

    Хотя набор команд модема зависит от фирмы-производителя, модели и года выпуска, тем не менее существует ряд команд для выполнения основных операций, которые являются общими для всех модемов. К этим командам относятся: снятие трубки, набор номера и установка режимов работы.

    Сразу же после включения в модеме устанавливается режим команд. Переход в режим передачи данных происходит по команде снятия трубки и набора номера. Для обратного перехода в режим команд используется специальная последовательность кодов (escape-последовательность), которая воспринимается модемом как команда в режиме передачи данных.

    Современное коммуникационное программное обеспечение освобождает пользователя от необходимости знания модемных команд, последовательность и количество которых формируется в зависимости от решаемой задачи.

    421

    418 :: 419 :: 420 :: 421 :: Содержание

    Принципы управления

    Существует два основных принципа управления в локальных сетях: централизация и децентрализация.
    В сетях с централизованным управлением функции управления обменом данными возложены на файл-серверы. Файлы, хранящиеся на сервере, доступны 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 экрана. Для этого более общего случая можно записать:


    XA1
    YA1
    ZA1
      =
    X0
    Y0
    Z0

      +m
    1
    1
    0

     
    XA
    YA
    ZA

     
    (3.3)

    Выбором значения т можно осуществлять масштабирование изображения объекта.
    Чтобы получить трехмерное изображение, предмет вместе со связанной системой координат разворачивается таким образом, что проекции координатных осей получают определенную ориентацию друг относительно друга, а отрезки, взятые по координатным осям, отображаются на проекции с определенным соотношением масштабных коэффициентов.

    Для воспроизведения предмета на экране в заданной проекции необходимо определить матрицу преобразования координат. Основой для этого являются принципы построения изображения в данной проекции. В изометрической проекции координатные оси X, Y, Z предмета отображаются на плоскости экрана дисплея под углом 120 градусов, а масштабные коэффициенты по всем трем осям одинаковы. С учетом этих свойств изометрической проекции можно записать

    XA1
    YA1
    ZA1
     =
    X0
    Y0
    Z0
     +m
    1
    1
    0
     
    3 0,5/2
    -0,5
    3-0,5
     
    0
    1
    3-0,5
     
    3 0.5/2
    -0.5
    3 0.5
     
    XA
    YA
    ZA
     
    (3.4)
    Аналогично можно получить формулу преобразования для фронтальной проекции, при которой оси X и У проецируются параллельно осям х, у дисплея, а проекция оси Z

    374

    совпадает с биссектрисой угла между осями х и у. В этом случае преобразование координат выполняется следующим образом:

    XA1
    YA1
    ZA1
     =
    X0
    Y0
    Z0
     +m
    1
    1
    0
     
    1
    0
    2.05
     
    0
    1
    2-0,5/4
     
    -2 0.5//4
    20.5/4
    (2/3)0.5
     
    XA
    YA
    ZA
     
    (3.5)
    Отметим, что фронтальная проекция не является линейным преобразованием пространства предметов.

    Формулы преобразования (3.4) и (3.5) позволяют выполнить вычерчивание изображения предмета на дисплее в изометрической или фронтальной проекции, если задано его математическое описание. Однако такой узкопрактический подход не позволяет в полной мере использовать возможности компьютерной графики. В программах формирования изображения обычно предусматривается операция вращения предмета вокруг двух или трех осей. Это позволяет получить такой вид объекта, который наиболее выразительно отображает его геометрическую форму.

    Центральная проекция. При центральной проекции все проектирующие лучи проходят через определенную точку пространства S - центр проекции.


    Физическим устройством, реализующим центральную проекцию, является объектив. При визуальном наблюдении роль объектива выполняет глаз. В объективе лучи, соединяющие сопряженные точки в пространстве предметов и изображений, проходят через заднюю главную точку - центр проекции. Координаты каждой точки изображения могут быть вычислены путем определения точки пересечения прямой, проходящей через предметную точку А и центр проекции S, с поверхностью проекции изображения. Если в выбранной объектной системе координат известны координаты точек Л и S, а также уравнение поверхности изображения ?(X, Y, Z)=0, то координаты точки изображения А определяются в результате решения системы уравнений:

    { (XA-XA1)/(XA-XS)=(YA-YA1)/(YA-YS)=(YA-YA1)/(YA-YS);

    ?(XA, YA, ZA.)=0
    (3.6)
    Для получения резкого изображения необходимо, чтобы светочувствительная поверхность была перпендикулярна оптической оси объектива и располагалась на определенном расстоянии от центра проектирования, которое, как правило, принимают равным фокусному расстоянию f.

    С учетом отмеченных особенностей центральной проекции в реальных устройствах формирования изображения связь координат точек пространства предметов и пространства изображений может быть выражена в иной форме, чем в системе уравнений (3.6). Введем систему координат xyz для плоскости изображения, связанную систему координат объектива x'y'z' и систему координат пространства предметов XYZ. Особенность центральной проекции можно выразить следующим образом: векторы rSA и RAS, соединяющие центр проекции S с сопряженными точками А и А соответственно, являются ко л линеарными. Отсюда следует, что

    RAS=? SA (3.7)

    375

    где ? константа данной пары точек A и A'

    Формулу (3.7) можно записать в следующем виде:

    X Y Z
    - - -
    XS YS ZS
    =?[C]
    x y z
    - - -
    x0 y0 z0
    ,
    (3.8)
    где XsYSZS -координаты центра проектирования S в системе XYZ; x0 y0 z0 - координаты центра проектирования S в системе xyz.

    Если учесть, что поверхность проекции является плоской, начало координат системы xyz, как правило, совпадает с главной точкой картинной плоскости, расположенной на расстоянии f от S (z0=-f), то формула (3.8) примет вид:


    X Y Z
    - - -
    XS YS ZS
    =?[C]
    x
    y
    z
     
    (3.9)
    Исключая константу путем деления первой и второй строк на третью получаем уравнение, связывающее координаты сопряженных точек в системах XYZ и xyz; можно получить следующие соотношения:

    { (X-XS)=(Z-ZS)(c11x+c12y+c13f)/(c31x+c32y+c33f),

    (Y-YS)=(Z-ZS)(c21x+c22y+c23f)/(c31x+c32y+c33f),
    (3.10)
    Из этой системы по координатам х, у точек изображения можно определить координаты X, Y, Z сопряженных точек в пространстве предметов, если задано уравнение наблюдаемой поверхности F(X,Y,Z)=0. Затем по координатам X,Y,Z точки А, уравнению поверхности F(X,Y,Z)=0 и известным условиям освещения могут быть определены атрибуты точки А (яркость, цвет) и рассчитаны соответствующие атрибуты точки Л'изображения. Описанная процедура синтеза изображений основана на отслеживании луча, исходящего из пространства изображений в пространство предметов, то есть в направлении, противоположному ходу лучей в реальной системе. Этот подход в компьютерной графике называется методом обратного трассирования лучей.

    Характерной особенностью центральной проекции является существенное различие в масштабах изображения предметов, находящихся на различных расстояниях от центра проектирования. Это связано с уменьшением угловых размеров предмета и соответственно с уменьшением линейных размеров плоскости изображения при удалении от него.

    376

    368 :: 369 :: 370 :: 371 :: 372 :: 373 :: 374 :: 375 :: 376 :: Содержание

    Проектирование БД методом нормальных форм

    Проектирование БД является одним из этапов жизненного цикла информационной системы. Основной задачей, решаемой в процессе проектирования БД, является задача нормализации ее отношений. Рассматриваемый ниже метод нормальных форм является классическим методом проектирования реляционных БД. Этот метод основан на фундаментальном в теории реляционных баз данных понятии зависимости между атрибутами отношений.

    Программирование графики в среде Turbo Pascal

    В зависимости от используемых средств построения изображения можно выделить четыре случая графических программ:
  • программы базируются только на стандартных процедурах и функциях, содержащихся в библиотеке GRAPH;

  • графические изображения создаются средствами BIOS. Такие программы используют функции прерывания 10h;

  • прямое обращение к портам видеоадаптера или ячейкам видеопамяти (это самый быстрый способ);

  • Pascal-код дополняется вставками на языке Ассемблера или непосредственно в машинном коде, которые выполняют различные графические действия.

  • Далее речь пойдет о создании графических программ, в основе которых лежит использование подпрограмм библиотеки GRAPH. Для облегчения процесса программирования графики помимо данной библиотеки фирма Borland Int. разработала также набор драйверов, позволяющих работать практически со всеми типами мониторов, и набор шрифтов для вывода символов различных форм и размеров.

    Программирование в Derive

    Программа в 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).
    Для расширения возможностей операционных систем и предоставления набора дополнительных услуг используются сервисные программы. Их можно разделить на следующие группы:

  • интерфейсные системы;


  • оболочки операционных систем;


  • утилиты.


  • Интерфейсные системы являются естественным продолжением операционной системы и модифицирую! как пользовательский, так и программный интерфейсы,

    34

    а также реализуют дополнительные возможности по управлению ресурсами ЭВМ. В связи с тем, что развитая интерфейсная система может изменить весь пользовательский интерфейс, часто их также называют операционными системами. Это относится, например, к Windows 3.11 и Windows 3.11 for Work Groups (для рабочих групп).

    Оболочки операционных систем, в отличие от интерфейсных систем, модифицируют только пользовательский интерфейс, предоставляя пользователю качественно новый интерфейс по сравнению с реализуемым операционной системой. Такие системы существенно упрощают выполнение часто запрашиваемых функций, например, таких операций с файлами, как копирование, переименование и уничтожение, а также предлагают пользователю ряд дополнительных услуг. В целом, программы-оболочки заметно повышают уровень пользовательского интерфейса, наиболее полно удовлетворяя потребностям пользователя.

    На ПЭВМ широко используются такие программы-оболочки, как Norton Commander и Dos Navigator.

    Утилиты предоставляют пользователям средства обслуживания компьютера и его ПО. Они обеспечивают реализацию следующих действий:

  • обслуживание магнитных дисков;


  • обслуживание файлов и каталогов;


  • предоставление информации о ресурсах компьютера;


  • шифрование информации;


  • защита от компьютерных вирусов;


  • архивация файлов и др.


  • Существуют отдельные утилиты, используемые для решения одного из перечисленных действий, и многофункциональные комплекты утилит. В настоящее время для ПЭВМ среди многофункциональных утилит одним из наиболее совершенных является комплект утилит Norton Utilities. Существуют его версии для использования вереде DOS и Windows.

    Средства разработки программ используются для разработки нового программного обеспечения как системного, так и прикладного.

    Прикладным называется ПО, предназначенное для решения определенной целевой задачи из проблемной области.


    Часто такие программы называют приложениями.

    Спектр проблемных областей в настоящее время весьма широк и включает в себя по крайней мере следующие: промышленное производство, инженерную практику, научные исследования, медицину, управление (менеджмент), делопроизводство, издательскую деятельность, образование и т.д.

    Из всего разнообразия прикладного ПО выделяют группу наиболее распространенных программ (типовые пакеты и программы), которые можно использовать во многих областях человеческой деятельности.

    К типовому прикладному ПО относят следующие программы:

  • текстовые процессоры;


  • табличные процессоры;


  • системы иллюстративной и деловой графики (графические процессоры);


  • системы управления базами данных;


  • 35

  • экспертные системы;


  • программы математических расчетов, моделирования и анализа экспериментальных данных.


  • Предлагаемые на рынке ПО приложения, в общем случае, могут быть выполнены как отдельные программы либо как интегрированные системы. Интегрированными системами обычно являются экспертные системы, программы математических расчетов, моделирования и анализа экспериментальных данных, а также офисные системы. Примером мощной и широко распространенной интегрированной системы является офисная система Microsoft Office.

    1 [оскольку разработка ПО любого назначения, как правило, является довольно сложным и трудоемким процессом, дальнейший; материал настоящего раздела посвятим общим вопросам разработки программ и инструментальному ПО.

    36

    34 :: 35 :: 36 :: Содержание

    Программное обеспечение технологии "клиент-сервер"

    Для успешного применения технологии "клиент-сервер" должно использоваться соответствующее программное обеспечение, включающее клиентскую и серверную части. В частности, широко используемый пакет 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 :: Содержание

    Программы просмотра Web-документов

    Для работы в 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-документы. Недостатком ее является необходимость установки дополнительного программного обеспечения для работы с графическими файлами, аудио и видео изображениями, которое не входит стандартно в состав броузера.

    Программа Cello была разработана как альтернатива Mosaic. Непосредственно предоставляет доступ к HTTP-, Gopher-, FTP-серверам, телеконференциям UseNet, а также поддерживает работу с Telnet при использовании внешних клиентских программ. Программа имеет очень простой интерфейс, что позволяет быстро освоить работу с ней. Неудобством работы с броузером является малое количество кнопок на панели управления, поэтому постоянно приходится работать с ниспадающими меню.

    Программа Linx относится к числу броузеров с текстовым интерфейсом. Гипертекстовые ссылки выделяются па экране другим цветом или инверсией цветов фона и текста. Достоинством этого броузера является возможность быстро находить текстовую информацию в WWW с помощью гипертекстовых ссылок. Просмотренные страницы можно отмечать с помощью закладок, которые могут быть созданы во время работы с броузером.

    Броузер EINet WinWeb отличается в лучшую сторону малым объемом занимаемой при работе основной памяти, хорошей поддержкой интерактивных форм, устойчивой и надежной работой. Механизм навигации реализован просто и удобно для пользователя. Имеется встроенное средство поиска документов по ключевым словам. Настройка броузера дает возможность выбора шрифтов и цветов, используемых при отображении документов и выделении гиперссылок.

    Броузер Internet Works позволяет работать не только с WWW, но и с FTP- и Gopher-серверами. Документы, с которыми работает пользователь, могут представляться на трех уровнях. При этом переход от страницы к странице может происходить как в пределах одного уровня, так и между ними, используя кнопки панели инструментов и возможность работы в многооконном режиме. Просмотр текстового документа может происходить при одновременной фоновой загрузке файлов мультимедиа. Имеется возможность настройки интерфейса пользователем.

    Общепризнанные лидеры среди программ просмотра и редактирования Web-документов - броузеры Netscape Communicator и Microsoft Internet Explorer являются наиболее удобными и многофункциональными.Они позволяют отображать на экране любые документы, созданные в любой операционной среде и на любом компьютере с конфигурацией, которая обеспечивает работу в сети.

    428

    427 :: 428 :: Содержание

    Пролог и логическое программирование

    Логическое программирование (ЛП) - это направление в программировании, основанное на идеях и методах математической логики. Термин "логическое программирование" в литературе по информатике трактуется в широком и узком смысле.
    В широком толковании в ЛП включают круг понятий, методов, языков и систем, в основе которого лежит идея описания задачи совокупностью утверждений на некотором логическом языке и получение решения задачи путем построения логического вывода в некоторой формальной дедуктивной системе. Классы формул, используемые для описания задач, методы вывода и модели вычислений, используемые в таких системах, очень разнообразны. Поэтому различные их комбинации образуют специфические стили программирования: концептуальное, функциональное (аппликативное) и другие.
    Наибольшие практические результаты достигнуты в системах программирования, где в качестве логических программ используются специальные классы логических формул - хорновские дизъюнкты, а в качестве способа их использования применяются специальные методы логического вывода - варианты метода резолюций. Программирование с использованием таких систем называют хорновским и резолюционным, но чаще всего - логическим программированием, перенося узкую трактовку термина на более широкое понятие. Самыми известными системами такого рода являются реализации языка Пролог (Программирование в терминах логики - 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). Доказательство запроса приведено ниже.

    Запрос Правило Подстановка
    ?¬ВЫП_РЕЙС(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  
    ?    
    307

    В результате доказательства мы вывели логически пустой дизъюнкт D, следовательно, цель допускается. Композиция подстановок Z=X4=X2=X1 =ЯК-42 на наш запрос дает ответ 7=ЯК-42. Любая другая подстановка, например, Х1 =ТУ-134, приводит в тупик.

    308

    304 :: 305 :: 306 :: 307 :: 308 :: Содержание

    Просмотр содержимого компьютера

    Чтобы просмотреть содержимое компьютера, необходимо на рабочем столе указать на значок Мой компьютер (My Computer) и дважды нажать на левую кнопку мыши.
    79
    На экране появится окно, содержащее несколько значков. Для выбора любого элемента в этом окне необходимо указать па пего и дважды нажать левую кнопку мыши. Например, если выбрать значок жесткого диска, то в открывшемся окне появится его содержимое в виде папок и отдельных файлов. Выбор одного из значков в этом окне приведет к открытию папки, документа или запуску программы.
    Другим способом просмотра содержимого компьютера является использование проводника Windows. Он отображает содержимое в виде "дерева". Таким образом можно быстро просмотреть содержимое любого диска или папки.
    Чтобы вывести дерево папок с помощью проводника, необходимо:
  • Нажать кнопку Пуск (Start).

  • В меню Программы (Programs) выбрать команду Проводник (Windows Explorer) и нажать левую кнопку мыши.

  • Па экране откроется окно Проводник (Windows Explorer), в левой части которого отображаются диски и папки, а в правой - содержимое элемента, указанного в левой части.

  • Чтобы открыть документ или запустить программу, достаточно указать на соответствующий значок в правой области окна и дважды нажать левую кнопку мыши.
    Проводник можно открыть и другим способом. Для этого необходимо указать на значок Мой компьютер (My Computer) па рабочем столе, нажать правую кнопку мыши и затем выбрать команду Проводник (Windows Explorer).
    Чтобы развернуть или свернуть папку в левой области проводника, нужно указать в дереве на знак "плюс" или "минус" слева от ее имени и нажать левую кнопку мыши.
    Для изменения способа изображения значков в меню Вид (View) следует выбрать одну из команд: Крупные значки (Larges Badges), Мелкие значки (Smalls Badges), Список (List) или Таблица (Table). Это же можно сделать с помощью кнопок панели инструментов.
    80
    79 :: 80 :: Содержание

    Протоколы обмена и адресация

    Подключение пользователя к Internet может осуществляться разными способами, отличающимися по стоимости, удобству и объему предоставляемых услуг. Этими способами являются:
  • электронная почта (E-mail);

  • телеконференции (UseNet);

  • система эмуляции удаленных терминалов (TelNet);

  • поиск и передача двоичных файлов (FTP);

  • поиск и передача текстовых файлов с помощью системы меню (Gopher);

  • поиск и передача документов с помощью гипертекстовых ссылок (WWW, или Всемирная паутина).

  • Создание и развитие этих способов связано сложилось исторически. Каждый из них характеризуется своими возможностями и различием в организации протоколов обмена информацией. В общем случае под протоколом понимается набор инструкций, регламентирующих работу взаимосвязанных систем или объектов в сети.
    Электронная почта (E-mail) - наиболее простой и доступный способ доступа в сети Internet. Она позволяет выполнять пересылку любых типов файлов (включая тексты, изображения, звуковые вставки) по адресам электронной почты в любую точку планеты за короткий промежуток времени в любое время суток. Для передачи сообщения необходимо знать только электронный адрес получателя. Работа электронной почты основана на последовательной передаче информации по сети от одного почтового сервера к другому, пока сообщение не достигнет адресата. К достоинствам электронной почты относятся высокая оперативность и низкая стоимость Недостаток электронной почты состоит в ограниченности объема пересылаемых файлов.
    UseNet разработана как система обмена текстовой информацией. Она позволяет всем пользователям Internet участвовать в групповых дискуссиях, называемых телеконференциями, в которых обсуждаются всевозможные проблемы. Сейчас в мире насчитывается более 10 тысяч телеконференций. Информация, посылаемая в телеконференции,
    423
    становится доступной любому клиенту Сети, обратившемуся в данную телеконференцию. В настоящее время телеконференции позволяют передавать файлы любых типов, включая текстовые, графические и аудио файлы.
    Для работы с телеконференциями наиболее часто используются средства программ просмотра и редактирования Web-документов.

    TelNet - это протокол, позволяющий использовать ресурсы удаленного компьютера. Другими словами - это протокол удаленного терминального доступа в сети. В данном случае речь идет о передаче команд от локального компьютера удаленному компьютеру в Сети.

    FTP - это протокол Сети для работы с любыми типами файлов: текстовыми и бинарными, являющийся примером системы с архитектурой "клиент-сервер". FTP-сервер устанавливается на удаленном компьютере для того, чтобы предоставлять пользователям возможность просматривать файловую систему и копировать требуемые файлы. Для реализации связи по протоколу FTP на удаленной компьютерной системе должна функционировать программа - FTP-сервер. Достоинством данного протокола является возможность передачи файлов любого типа - текстов, изображений, исполняемых программ. К недостатку протокола FTP следует отнести необходимость знания местоположения отыскиваемой информации.

    Протокол Gopher и реализующее его программное обеспечение предоставляют пользователям возможность работы с информационными ресурсами, не зная заранее их местонахождение. Для начала работы по этому протоколу достаточно знать адрес одного Gopher-сервера. В дальнейшем работа заключается в выборе команд, представленных в виде простых и понятных меню. При этом пункты меню одного сервера могут содержать ссылки на меню других серверов, что облегчает поиск требуемой информации в сети Internet. Во время работы с системой Gopher программа-клиент не поддерживает постоянного соединения с Gopher-сервером, поэтому сетевые ресурсы расходуются более экономно.

    WWW (World Wide Web - Всемирная паутина) представляет собой самое современное средство организации сетевых ресурсов. Она строится на основе гипертекстового представления информации. Гипертекст - это текст, содержащий ссылки на другие части данного документа, на другие документы, на обьекты нетекстовой природы (звук, изображение, видео), а также система, позволяющая читать такой текст, отслеживать ссылки, отображать картинки и проигрывать звуковые и видеовставки.


    Гипертекст с нетекстовыми компонентами (звук, видео) называется гипермедиа. Конечной целью WWW является объединение всех ресурсов сети (файлов, текстов, баз данных, программ-серверов) в единый всемирный гипертекст.

    Работа сети Internet основана на использовании семейства коммуникационных протоколов - Протокол управления передачей данных/Протокол Internet (Transmission Control Protocol/Internet Protocol -TCP/IP), который используется для передачи данных в глобальной сети и во многих локальных сетях. TCP/IP - семейство протоколов. В состав его входят протоколы, которые можно разделить по назначению на следующие группы:

  • транспортные протоколы, служащие для управления передачей данных между двумя компьютерами;


  • протоколы маршрутизации, обрабатывающие адресацию данных и определяющие кратчайшие доступные пути к адресату;


  • протоколы поддержки сетевого адреса, предназначенные для идентификации компьютера по его уникальному номеру или имени;


  • прикладные протоколы, обеспечивающие получение доступа к всевозможным сетевым услугам;


  • 424

  • шлюзовые протоколы, помогающие передавать по сети сообщения о маршрутизации и информацию о состоянии сети, а также обрабатывать данные для локальных сетей;


  • другие протоколы, не относящиеся к указанным категориям, но обеспечивающие клиенту удобство работы в сети.


  • Архитектура TCP/IP построена на основе эталонной модели (см. параграф 28.1), однако в ней первые три уровня OSI-модели объединены в один (рис. 29.2).

    Рис. 29.2. Уровни эталонной модели и протоколы TCP/IP

    Любой документ или сообщение отправляется в сеть из прикладной программы (уровень приложений). Затем через модем и телефонную линию связи (транспортный уровень) сообщение попадает на узел сети Internet и далее с помощью сетевых программ (сетевой интерфейс) передается в линию связи узлов глобальной сети (физический уровень). Программы каждого уровня по-своему обрабатывают сообщение или передаваемый документ, не зная ничего о его содержании.

    Работа с архивами

    В качестве примера рассмотрим работу с приложением Windows Commander 3.0, которое позволяет очень просто выполнять всевозможные операции с файлами и, в частности, их архивирование и разархивирование. Эти задачи возникают, когда необходимо пересылать в сети большие объемы информации, а также при размещении информации на гибких носителях (дискетах).
    Среди большого числа известных программ-архиваторов в настоящее время наиболее широко используются Arj, Zip и Rar. Они отличаются друг от друга степенью сжатия информации, скоростью работы и используются для разных типов файлов, например, для текстовых фалов обычно применяют архиватор Arj, а для выполняемых файлов - Zip. Архиватор Rar удобен в использовании для любых типов файлов и позволяет разбивать упакованный файл на части по размеру дискет (например, 1.44 Мбайта).
    Интерфейс Windows Commander имеет много общего с известным в MS DOS Norton Commander. Встроенные функции по архивации файлов позволяют пользователю работать с ними, не зная даже основных параметров для их запуска. Диалоговое окно Windows Commander представлено на рис. 6.1.
    Рис. 6.1. Диалоговое окно Windows Commander
    82
    В заголовке окна расположены меню: Файл (Files), Выделение (Mark), Действия (Commands), Вид(Show), Конфигурация(Configuration), Запуск (Start) и Помощь (Help).
    Ниже расположены кнопки с пиктограммами для выполнения наиболее часто используемых команд из указанных меню. Состав кнопок можно изменять с помощью команды Панель инструментов (Button bar) меню Конфигурация (Configuration).
    В Windows Commander находятся два окна, в которых отображается структура каталогов и файлов. Ниже размещена командная строю, являющаяся аналогом командной строки в MS DOS, для указания пути к файлу при его запуске. Внизу размается семь кнопок с номерами функциональных клавиш для работы с файлами и каталогами: Просмотр (View), Редактор (Edit), Копия (Сору), Перемещ(RеnМоv), CoздKaт(MkDir), Удалить( Delete) u Выход( Exit).
    Над каждым из окон находится раскрывающееся окно для выбора дискового устройства.
    После выбора диска в выбранном окне отображается структура файловой системы, расположенной на этом диске. При выборе файла вначале необходимо выбрать каталог, где он находится, и отметить его нажатием левой кнопки мыши. Двойной щелчок левой кнопкой мыши приводит к раскрытию отмеченного каталога.

    Когда требуемый файл или группа файлов найдены, их необходимо отметить. Если файлов несколько, то отмечаются они левой кнопкой мыши при нажатой клавише . Для создания архива после выделения требуемых файлов в меню Файл (Files) достаточно выполнить команду Упаковать (Pack). В открывающемся окне Упаковка файлов (Pack Files) выбирается один из пяти архиваторов, которые прописаны в Windows Commander, задается католог, куда должен быть помещен архивный файл, а затем нажимается ОК. Для текстовых файлов степень сжатия достигает двух и более.

    Разархивирование файлов осуществляется аналогичным образом. Вначале нужно отметить и выделить требуемые для обработки файлы с помощью мыши. Затем в меню Файл (Files) выполнить команду Распаковать (Unpack Files). В открывающемся окне задать папку, куда должны быть помещены распакованные файлы и нажать ОК.

    Чтобы настроить Windows Commander для работы с определенными архиваторами, нужно выполнить следующую последовательность действий:

  • В меню Конфигурация (Configuration) выполнить команду Настройки (Options).


  • В диалоговом окне Установки (Configuration) на вкладке Упаковщик (Packer) указать спецификацию используемых архиваторов. Для архиватора ZIP-файлов имеется отдельная одноименная вкладка.


  • Нажать ОК.


  • 83

    82 :: 83 :: Содержание

    Работа с цветом

    В видеобуфере (видеопамяти) для хранения информации о цвете пиксела отводится фиксированное количество битов памяти. Однако практически любой современный видеоадаптер способен отобразить значительно большее количество цветов, чем это определяется количеством битов, отводимых в видеобуфере для одного пиксела. Для использования этой возможности вводится понятие палитры. Палитра - это массив, в котором каждому возможному значению пиксела сопоставляется значение цвета, выводимое на экран. Размер палитры и ее организация зависят от типа используемого видеоадаптера.
    При использовании видеокарты EGA/VGA для установки цвета пиксела используется 6 битов. Для формирования цвета используется система RrGgBb, где RGB - красный, зеленый и голубой цвета нормальной яркости, a rgb - те же цвета, но яркость их в два раза меньше. Для EGA/VGA-карт драйвер EGAVGA.BGI устанавливает 54 цвета. В табл. 27.5 приведены 16 основных цветов.
    До того момента, пока цвет не определен, для вывода используется цвет, имеющий максимальный номер палитры и фон, устанавливаемый по минимальному номеру. Для EGA- и VGA-адаптеров в качестве фона может быть задано любое целое число в диапазоне 0-63.
    Любой цвет для создания фигур и вывода текста может быть установлен с помощью процедуры SetColor(Color: word).
    Фон задается процедурой SetBkColor(Color: word).
    385
    Таблица 27.5
    Цвета видеокарты EGA/VGA

    КОНСТАНТА ЗНАЧЕНИЕ код ЦВЕТ
    EGABIack 0 000000 Черный
    EGABlue 1 000001 Синий
    EGAGreen 2 000010 Зеленый
    EGACyan 3 000011 Сине-зеленый
    EGARed 4 000100 Красный
    EGAMagenta 5 000101 Красно-синий
    EGABrown 6 000110 Коричневый
    EGALightGray 7 000111 Светло-серый
    EGADarkGray 56 111000 Темно-серый
    EGALightBlue 57 111001 Ярко-синий
    EGALightGreen 58 111010 Ярко-зеленый
    EGALightCyan 59 111011 Яркий сине-зеленый
    EGALightRed 60 111100 Ярко-красный
    EGALightMagenta 61 111101 Яркий красно-синий
    EGAYellow 62 111110 Желтый
    EGAWhite 63 111111 Белый
    <
    /p> Для проверки максимально допустимого количества используемых программой цветов служит процедура GetMaxColor: word, возвращающая максимальное значение кода цвета в палитре минус 1.

    Процедуры GetColor: word и GetBKColor: word возвращают номера текущих цветов соответственно для выводимых элементов изображения и для фона.

    Для управления палитрами могут быть использованы следующие процедуры и функции:

  • GetDefaultPalette(Var palette: paletteType) - возвращает аппаратную палитру в записи PaletteType;


  • GetPalette(Var palette: PaletteType) - возвращает текущую палитру и ее размер;


  • SetPalette(colorNum: word; color: shortint) - изменяет один цвет палитры, указанный через colorNum и color;


  • SetAIIPalette(Var palette) - изменяет порядок расположения цветов в палитре;


  • GetPaletteSize: integer - возвращает количество цветов в палитре.


  • 386

    385 :: 386 :: Содержание

    Работа с дисками

    В среде оболочки Norton Commander удобно выполнять ряд часто используемых практических операций с дисками и дискетами: копирование и форматирование дискет; задание метки диска; очистка содержимого диска от лишней информации. Все эти действия выполняются с помощью команд меню Диск (Disk).

    Работа с файлами и папками

    Чтобы переместить или скопировать файл или папку необходимо выполнить следующие действия:
  • Дважды нажать левую кнопку мыши на значке Мой компьютер (My Computer).

  • В открывшемся окне отметить папку или файл, который нужно переместить или скопировать.

  • В меню Правка (Edit) выбрать команду Вырезать (Cut), чтобы переместить файл, или команду Копировать (Сору), чтобы скопировать его.

  • Открыть папку, в которую необходимо поместить файл, а затем в меню Правка (Edit) выполнить команду Вставить (Insert).

  • Эти же действия можно выполнить и в Проводнике, для чего в правой области выделить перемещаемую панку или файл. Нажав правую кнопку мыши, выбрать в появившемся контекстном меню команду Вырезать (Cut) или Копировать (Сору). Затем в левой области проводника отметить папку, в которую необходимо переместить файл. Нажать правую кнопку мыши и в появившемся контекстном меню выполнить команду Вставить (Paste). Вместо выполнения рассмотренных команд можно использовать соответствующие кнопки на панели управления проводника.
    80
    Для удаления файла или папки самым простым является способ, при котором удаляемый файл перетаскивается с помощью нажатой левой кнопки мыши на значок Корзина (Recycled) рабочего стола.
    Другой способ - это использование Проводника. В правой или левой области выбирается уничтожаемая папка или файл и отмечается с помощью мыши. В меню Файл (File) нужно выполнить команду Удалить (Delete). Это же самое можно сделать, нажав на удаляемой папке или файле правую кнопку мыши и выполнить команду Удалить (Delete) в появляющемся контекстном меню.
    Чтобы создать новую папку, в Проводнике в левой области необходимо нажать левой кнопкой мыши на папку или диск, где должна находиться новая пайка. В меню Файл (File) указать па команду Создать (Create) и выбрать Папка (Folder). В появившейся папке ввести ее имя и нажать левую кнопку мыши на свободном иоле или клавишу .
    Для копирования файла или папки на дискету необходимо отметить копируемый файл или папку. Затем в меню Файл (File) указать на команду Отправить (Send) и выбрать диск, куда файл или папка должны быть скопированы. Эгу же операцию можно выполнить следующим образом:
  • Отметить копируемую папку или файл и нажать правую кнопку мыши.

  • В открывшемся контекстном меню указать на команду Отправить (Send).

  • Выбрать диск, куда копируется файл или папка.

  • Следует отметить, что для копирования нескольких последовательно расположенных файлов или папок, необходимо выделить их с помощью мыши при нажатой клавише , а далее проделать указанные выше операции.
    81
    80 :: 81 :: Содержание

    Работа с Maple

    Меню Maple вызывается нажатием +. Пункты, помеченные в меню знаком >, допускают дальнейшую детализацию.
    При обращении к Maple точка вставки (мерцающая вертикальная линия) должна находиться внутри обрабатываемого выражения или непосредственно справа от него. Для обработки части выражения ее нужно предварительно выделить. Чтобы результат заменил собой исходное подвыражение, нужно при вызове операции из Maple удерживать нажатой клавишу .

    Работа с таблицей данных

    Для изменения отображаемых в диаграмме данных соответствующие изменения должны быть внесены в таблицу данных. В таблице данных можно установить формат чисел для всей таблицы или свой формат чисел для отдельных строк, столбцов или ячеек. При изменении формата чисел в таблице данных меняется формат соответствующих им меток данных на диаграмме.
    Для ввода и изменения данных в таблице данных щелчком мыши выделяют пустую или заполненную ячейку таблицы, в которую нужно ввести данные или внести
    177
    изменения. Вводится новое значение в выбранную ячейку. Выполняется переход в другую ячейку или закрытие таблицы данных с помощью кнопки в правом верхнем углу таблицы. В результате внесенные изменения отображаются в диаграмме.
    Пример 1. Исключение и включение столбца данных в диаграмме.
  • Щелчком мыши в заголовке исключаемого столбца выделим его.

  • Выполним команду Исключить строку\столбец (Exclude Row\Col) меню Данные (Data). В результате из диаграммы в окне Microsoft Graph 5.0 будут удалены соответствующие исключенному столбцу данные. Сами данные в исключенном столбце сохраняются, но отображаются в таблице бледно-серым цветом, а не черным (рис. 14.5).

  • Щелчком мыши в заголовке исключенного ранее столбца выделим его.

  • Выполним команду Включить строку) столбец (Include Row\ Col) меню Данные (Data).

  • В результате в диаграмме в окне Microsoft Graph 5.0 появятся соответствующие включенному столбцу данные. Данные в этом столбце станут отображаться в таблице черным цветом вместо бледно-серого.
    Замечания.
  • Аналогичным способом выполняется исключение и включение строки таблицы данных.

  • Для исключения столбца (строки) или включения ранее исключенного столбца (строки) достаточно выполнить двойной щелчок мышью в заголовке соответствующего столбца (строки).

  • Пример 2. Задание формата чисел.
  • Выделим ячейки таблицы данных, для которых следует установить новый формат.

  • Зададим команду Число... (Number...) меню Формат (Format).

  • В открывшемся диалоговом окне Формат числа (Number Format) в поле Категория: (Category:) выберем из списка наименование категории формата.

  • В поле Коды формата: (Format Codes:) выберем подходящий код.

  • Нажмем ОК. Замечание.

  • При необходимости можно задать свой (пользовательский) код формата числа. Для этого его нужно ввести в поле Код: (Code:) названного диалогового окна Формат числа (Number Format) и нажать ОК.
    178
    177 :: 178 :: Содержание

    Работа с текстом

    В графическом режиме для вывода на экран текста используются процедуры: OutText(TextString: string), выводящая строку текста с текущего положения СР, и OutText(X, Y, Text), где X, Y - координаты точки начала вывода текста, Text - константа или переменная типа string. Определенные проблемы создает вывод численных данных, так как в модуле GRAPH нет специально предназначенных для этого процедур. Для подобного вывода необходимо перевести численную константу в строковую, например, с помощью процедуры Str.
    Установить нужный шрифт вывода можно процедурой SetTextStyle(Font: word; Direction: word; CharSize: word), где Font - выбранный шрифт, задаваемый константами из табл. 27.6, Direction - направление вывода (горизонтальное или вертикальное), задаваемое константами из табл. 27.7, CharSize - размер выводимых символов.
    Таблица 27.6
    Типы шрифтов

    КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
    DefaultFont 0 8 x 8-битовый шрифт
    TriplexFont 1 Штриховой шрифт
    SmallFont 2 Малый шрифт
    SansSerifFont 3 Шрифт SansSenf
    GothicFont 4 Готический шрифт

    Таблица 27.7
    Ориентация текста

    КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
    HorizDir 0 Слева направо
    VertDir 1 Снизу вверх

    Таблица 27.8
    Типы линий

    КОНСТАНТА ЗНАЧЕНИЕ ОПИСАНИЕ
    LeftText 0 Выровнять влево
    CenterText 1 Центрировать по горизонтали
    RightText 2 Выровнять вправо
    BottomText 0 Выровнять вниз
    CenterText 1 Центрировать по вертикали
    TopText 2 Выровнять вверх

    387
    Для выравнивания текста необходимо использовать процедуру SetTextJastify (Horiz, Vert: word). Выравнивание относительно СР выполняется по вертикали и по горизонтали с помощью параметров Horiz и Vert (табл. 27.8).
    В следующем примере приведена программа, выводящая заставку. Заставка представляет собой фразу "Демонстрация заставки", напечатанную коричневыми буквами обычного размера и синими буквами увеличенного размера; по периметру экрана нарисованы три разноцветных прямоугольника линиями различной толщины и стиля.

  • Program Zast;


  • Uses Graph, Crt;


  • Var DriverVar, ModeVar:integer;


  • xm.ym :integer;


  • с :char;


  • Begin


  • { Инициализация графического режима }


  • DriverVar:=Detect;


  • InitGraph(DriverVar, Modevar,'');


  • xm:=GetMaxX; ym:=GetMaxY;


  • { Вывод прямоугольника, нарисованного зеленой сплошной жирной линией }


  • SetColor(2);Setl_ineStyle(0,0,2);


  • Rectangle(0,0,xm,ym);


  • { Вывод прямоугольника, нарисованного голубой сплошной тонкой линией }


  • SetColor(S); SetLineStyle(0,0,1);


  • Rectangle(20,20,xm-20,ym-20);


  • { Вывод прямоугольника, нарисованного красной пунктирной тонкой линией }


  • SetColor(4); SetLineStyle(3,0,1);


  • Rectangle(40,40,xm-40,ym-40);


  • { Вывод синего текста с увеличенным размером букв }


  • SetColor(1); SetTextStyle(0,0,2);


  • OutTextXY( 100,60,'Демонстрация заставки');


  • { Вывод коричневого текста с обычным размером букв }


  • SetColor(6); SetTextStyle(0,0,1);


  • OutTextXY( 150,100,'Демонстрация заставки');


  • { Ожидание нажатия клавиши }


  • c:=readkey;


  • { Закрытие графического режима }


  • CloseGraph;


  • End.


  • 388

    387 :: 388 :: Содержание

    Работа с Web-документами

    Web-документ (Web-страница) представляет собой документ, содержащий текст, гиперссылки на другие документы, графику, аудио и видео изображения. Просмотр и переход между Web-страницами выполняется с помощью броузера, который позволяет просматривать Web-страницы и переходить между документами с помощью гиперссылок и явно задаваемых адресов. При щелчке мышью по гиперссылке происходит переход к адресуемому ею документу или аудио- и видеоизображению.
    431

    Работа в системе программирования

    Система программирования Турбо-Пролог включает в свой состав:
  • интегрированную среду для разработки, отладки и выполнения логических программ;

  • язык логического программирования Турбо-Пролог.

  • Рассмотрим коротко интерфейс интегрированной среды и основы программирования в этой среде на языке Турбо-Пролог.

    Растровая графика

    Наиболее просто реализовать растровое представление изображения. Растр, пли растровый массив (bitmap), представляет совокупность битов, расположенных на сетчатом поле-канве. Бит может быть включен (единичное состояние) или выключен (нулевое состояние). Состояния битов можно использовать для представления черного или белого цветов, так что, соединив на канве несколько битов, можно создать изображение из черных и белых точек.
    357
    Растровое изображение напоминает лист клетчатой бумаги, на котором каждая клеточка закрашена черным или белым цветом, в совокупности формируя рисунок, как показано на рис. 26.1.
    Рис. 26.1. Растровое изображение
    Основным элементом растрового изображения является пиксел (pixel). Под этим термином часто понимают несколько различных понятий: отдельный элемент растрового изображения, отдельная точка на экране монитора, отдельная точка на изображении, напечатанном принтером. Поэтому на практике эти понятия часто обозначают так:
  • пиксел - отдельный элемент растрового изображения;

  • видеопиксел - элемент изображения на экране монитора;

  • точка - отдельная точка, создаваемая принтером или фотонаборным автоматом. Цвет каждого пиксела растрового изображения - черный, белый, серый или любой

  • из спектра - запоминается с помощью комбинации битов. Чем больше битов используется для этого, тем большее количество оттенков цветов для каждого пиксела можно получить. Число битов, используемых компьютером для хранения информации о каждом пикселе, называется битовой глубиной или глубиной цвета.
    Наиболее простой тип растрового изображения состоит из пикселов, имеющих два возможных цвета - черный и белый. Для хранения такого типа пикселов требуется один бит в памяти компьютера, поэтому изображения, состоящие из пикселов такого вида, называются 1-битовыми изображениями. Для отображения большего количества цветов используется больше битов информации. Число возможных и доступных цветов или градаций серого цвета каждого пиксела равно двум в степени, равной количеству битов, отводимых для каждого пиксела. 24 бита обеспечивают более 16 миллионов цветов.
    О 24- битовых изображениях часто говорят как об изображениях с естественными цветами, так как такого количества цветов более чем достаточно, чтобы отобразить всевозможные цвета, которые способен различать человеческий глаз.

    Основной недостаток растровой графики состоит в том, что каждое изображение для своего хранения требует большое количество памяти. Простые растровые картинки, такие как копии экрана компьютера или черно-белые изображения, занимают до нескольких сотен килобайтов памяти. Детализированные высококачественные рисунки, например, сделанные с помощью сканеров с высокой разрешающей способностью,

    358

    занимают уже десятки мегабайтов. Для разрешения проблемы обработки объемных (в смысле затрат памяти) изображений используются два основных способа:

  • увеличение памяти компьютера;


  • сжатие изображений.


  • Другим недостатком растрового представления изображений является снижение качества изображений при масштабировании.

    Разрешающая способность

    Разрешающая способность - это количество элементов в заданной области. Этот термин применим ко многим понятиям, например, таким как:
  • разрешающая способность графического изображения;

  • разрешающая способность принтера как устройства вывода;

  • разрешающая способность мыши как устройства ввода.

  • Например, разрешающая способность лазерного принтера может быть задана 300 dpi (dot per inche - точек на дюйм), что означает способность принтера напечатать на отрезке в один дюйм 300 отдельных точек. В этом случае элементами изображения являются лазерные точки, а размер изображения измеряется в дюймах.
    Разрешающая способность графического изображения измеряется в пикселах на дюйм. Отметим, что пиксел в компьютерном файле не имеет определенного размера, так как хранит лишь информацию о своем цвете. Физический размер пиксел приобретает при отображении на конкретном устройстве вывода, например, на мониторе или принтере.
    Разрешающая способность технических устройств по-разному влияет на вывод векторной и растровой графики.
    Так, при выводе векторного рисунка используется максимальное разрешение устройства вывода. При этом команды, описывающие изображение, сообщают устройству вывода положение и размеры какого-либо объекта, а устройство для его прорисовки использует максимально возможное количество точек. Таким образом, векторный объект, например, окружность, распечатанная на принтерах разного качества, имеет на листе бумаги одинаковые положение и размеры. Однако более гладко окружность выглядит при печати па принтере с большей разрешающей способностью, так как состоит из большего количества точек принтера.
    Значительно большее влияние разрешающая способность устройства вывода оказывает па вывод растрового рисунка. Если в файле растрового изображения не определено, сколько пикселов на дюйм должно создавать устройство вывода, то по умолчанию для каждого пиксела используется минимальный размер. В случае лазерного принтера минимальным элементом служит лазерная точка, в мониторе - видеопиксел. Так как устройства вывода отличаются размерами минимального элемента, который может быть ими создан, то размер растрового изображения при выводе на различных устройствах также будет неодинаков.

    Редактирование схем

    Редактирование и перемещение фигур. Характер проведенной линии можно менять по команде Format|Line (Формат|Линия), задавая в диалоговом окне Pattern (Тип линии) (штриховые и пунктирные линии разных видов), Weight (Толщину) и Color (Цвет).
    Для изменения размера фигуры она отмечается указателем Панели инструментов. Затем мышью перемещаются ее граничные точки или - в двумерном случае - ручки обрамляющего бокса.
    Размер и кривизна дуг меняются перемещением "ручек эксцентриситета" порождающего их эллипса или окружности вслед за предварительно выбранным "карандашом".
    Для сдвига фигуры нужно отметить ее инструментом Указатель, а затем поместить на нее (но не на ручку контура) указатель мыши, который должен превратиться в белую стрелку. Затем фигура перетаскивается.
    С помощью меню Shape (Форма) и выведенных на панель инструментов возможно зеркальное отражение и вращение объектов, в том числе на произвольный угол. В последнем случае нужно
  • выбрать соответствующий инструмент;

  • выбрать фигуру;

  • при необходимости перетаскиванием сместить центр вращения;

  • поместить указатель мыши в одну из ручек блока;

  • вращать объект протаскиванием этой ручки до занятия требуемого положения.

  • Замкнутые фигуры вращаются и отражаются вместе с заключенным в них текстом. Для заполнения фигур используется команда Format|Fill(Фopмaт|Зaпoлнeниe). В окне открывшегося диалога можно выбрать Pattern (Тип штриховки) (24 варианта), Foreground (Цвет) и Background (Цвет фона). Простейшая косая штриховка выполняется нажатием кнопки на панели инструментов. |
    Размножение, объединение, группировка фигур. Для помещения в заданное место копии нужно выделить оригинал и выполнить буксировку при нажатой клавише . Копия выделенной фигуры снимается также командами Edit | Duplicate (Правка | Дубликат). Она появляется на схеме слегка смещенной относительно оригинала. Последовательным нажатием можно получить любое число дополнительных копий с аналогичным сдвигом. Затем копии поочередно расставляются по местам.
    Копирование и вставку можно организовать и через Clipboard (буфер обмена).

    Для создания комбинированных фигур сначала нарисуйте компоненты, а затем наложите их перетаскиванием. По команде Shape|Operatrons|Union (Форма|Операции| Объединение) выполняется объединение налагающихся замкнутых фигур (остается их общий контур). Команда Shape | Operations\ Combine (Форма | Операции | Комбинировать) позволяет объединять пересекающиеся фигуры (удаляется их общая часть). Форматы и текст наследуются от фигуры, выбранной первой. При изображении строго вложенных фигур начинайте с внешних - тогда никаких дополнительных операций не потребуется.

    218

    С другой стороны, с помощью Shape|Operations| Fragment (Форма {Операции Фрагмент) можно, проведя линии с нажатой , разделить фигуру на части и в дальнейшем отдельно распорядиться каждой из них.

    Выделенные фигуры одной схемы независимо от степени их "территориальной близости" могут быть сгруппированы командой Shape | Grouping | Group. Группа перемещается, вращается и масштабируется как единое целое, однако сохраняется возможность раздельного редактирования компонент. Команда Ungroup рассыпает группу. Имеется возможность добавления элементов к группе и их удаления.

    Соединение фигур. Для соединения фигур "штатным" (из трафарета) соединителем нужно выделить эти фигуры, а затем выбрать нужный соединитель и набрать команду Tools| Connect Shapes (Сервис | Соединить фигуры) либо нажать соответствующую кнопку в панели.

    Если соединитель не выбирался, применяется "универсальный соединитель". На этом соединителе имеется текстовый блок, используемый на схемах алгоритмов для записи условий передачи управления.

    При сдвиге одной из соединенных фигур связь сохраняется, но растягивается и деформируется. Если выделены оба элемента, они будут двигаться вместе со связью. Соединения можно и нарисовать. В этом случае сдвиги будут нарушать связи.

    Выравнивание фигур. Кнопка Align (Выровнять) позволяет выровнять выделенные фигуры по вертикали и горизонтали (по три варианта).Кнопка Distribute равномерно распределяет выделенные фигуры (в уже сложившихся границах) по горизонтали и вертикали. Она работает только для трех и более объектов.

    Имеются возможности выравнивания посредством "приклеивания" фигур к специально создаваемым горизонтальным и вертикальным направляющим (guiders). Соответствующие опции в меню View (Просмотр) должны быть включены. Все приклеенные к направляющей фигуры будут двигаться вместе с направляющей.

    Для формирования направляющей нужно указать на линейку сверху или слева от окна рисования. Затем линейку перетаскивают в нужную позицию. Для выравнивания блоков но направляющей их к ней подтаскивают. При включении нужной опции происходит приклеивание, что отображается "покраснением" точки прикрепления или ручек обрамляющего бокса.

    219

    215 :: 216 :: 217 :: 218 :: 219 :: Содержание

    Редактор MultiEdit

    Редактор MultiEdit разработан фирмой American Cybernetics. Одной фразой его можно определить как редактор для программистов. MultiEdit содержит собственную среду программирования, обладает открытостью и расширяемостью. Имеет развитый пользовательский интерфейс, систему генерации электронных справочников, средства поддержки баз данных.
    Как средство поддержки разработки прикладных программ MultiEdit обеспечивает возможность настройки на тип конкретного языка программирования. MultiEdit может быть использован в качестве среды программирования для тех компиляторов, в которых она отсутствует. При настройке на язык программирования можно задать ключи командной строки.
    При настройке на конкретный язык программирования наиболее полезными, существенно облегчающими разработку программ, являются следующие четыре механизма: цветовое выделение синтаксических конструкций, автоматическое форматирование программ, построение типовых синтаксических конструкций по шаблонам, попек парных операторных скобок.
    MultiEdit имеет встроенный язык программирования СМАС (C-like Macro Language) и средства, присущие интегрированным системам программирования: компилятор, редактор, библиотекарь макрофайлов, отладчик и электронный справочник. Кроме того, он включает стандартную библиотеку системных функций и процедур, поддерживающих широкий перечень операций, например, таких как: управление файловой системой и конфигурацией экрана, интерфейс справочной системы, обработка прерываний, преобразование текста, поддержка сигналов клавиатуры и мыши.
    Если рассматривать MultiEdit с позиций подготовки документов, то он обеспечивает форматирование текстов, генерацию индексов и оглавлений. В нем имеются средства проверки орфографии и сортировки и ряд других возможностей. К ограничениям редактора можно отнести отсутствие: понятия шрифта, возможности выбора гарнитуры, вставки изображений, поддержки режима WYSIWIG.

    Редактор научных документов Chiwriter

    Редактор научных документов Chiwriter представляет собой достаточно простую и удобную в применении программную систему. Он имеет удобный пользовательский интерфейс. Позволяет удобно подготавливать документы со сложными многоэтажными формулами. Chiwriter обеспечивает автоматическую разбивку на страницы, допускает нижние и верхние колонтитулы.
    В редакторе Chiwriler русский, английский и греческий алфавиты хранятся в раздельных шрифтовых наборах. Это позволяет в выделенном фрагменте документа производить замену одного шрифтового набора другим, в том числе символов русского алфавита символами других алфавитов.
    В Chiwriter имеется достаточно большой набор шрифтов различной гарнитуры. Кроме того, пользователь имеет возможность самостоятельно изменять внешний вид символов имеющихся шрифтов или формировать новые шрифты. Однако шрифты редактора Chiwriter являются растровыми и, как следствие, не масштабируемыми. При печати не удается получить высокое качество выходного документа при использовании струйных и лазерных принтеров. Еще одним из основных недостатков Chiwriter является несоответствие его стандарту PostScript, что существенно ограничивает возможности его использования для подготовки научных работ к печати.

    Редактор научных документов ТEХ

    Редактор научных документов ТEХ представляет собой программную систему, предназначенную для подготовки документов с большим количеством формул. Отличительной
    107
    особенностью ТEХ является работа его в режиме компиляции, - процесс подготовки документа заключается в составлении программы построения научного документа. Затем исходная программа компилируется и па выходе ТEХ формирует готовый документ. Подготовленный к печати документ можно просмотреть в режиме предварительного просмотра, однако для внесения исправлений нужно снова вернуться исходному тексту программы формирования документа.
    Достоинством ТEХ является простота построения и редактирования сложных формул, перемещения их по документу. Аналогичные действия в текстовых процессорах требуют кропотливой работы. ТEХ позволяет задавать стили для всех логических единиц научного документа: заголовков, примечаний, определений, доказательств, примеров, замечаний и т.д. Для этих целей можно использовать макрокоманды. Кроме того, в ТEХ имеется возможность быстро задавать и изменять глобальные параметры формул.
    Важным обстоятельством в пользу широкого применения является его соответствие стандарту PostScript - требование, зачастую предъявляемое редакциями журналов к научным статьям и тезисам докладов. Кроме того, реализации ТEХ на ПЭВМ различных типов совместимы друг с другом. К недостаткам ТEХ можно отнести высокую сложность его освоения, а также отсутствие широкого спектра возможностей, предоставляемых текстовыми процессорами для подготовки обычных (с небольшим количеством формул) документов.

    Рекурсивные вычисления

    Использование рекурсии обеспечивает организацию циклических вычислений в Прологе. Рекурсия применяется обычно в ситуациях, когда либо число возможных решений заранее не известно, либо когда обрабатываются структуры данных с произвольным числом элементов.
    Рекурсивное описание правила содержит в своем теле ссылку на заголовок этого же правила. При этом возможны следующие варианты рекурсивных правил:
    1) правая рекурсия
    pr1():-pr11(), pr12(), ..., pr1()
    2) левая рекурсия
    pr1():-pr1(),pr21(), pr22(),...
    3) обобщенная рекурсия
    pr1():-pr11(),pr12(),..., pr1(), pr21(), pr22() .....
    Для того чтобы во время выполнения рекурсивного правила не происходило зацикливания, необходимо предусмотреть условия завершения рекурсии. Их можно реализовать двумя способами:
  • 1) заданием в программе альтернативного правила или факта рr1(), не содержащего рекурсии (выход произойдет при успешном выполнении этого альтернативного правила);

  • 2) формированием условия выхода одним из предикатов рr11 (), рr12()... - выход происходит, если в процессе выполнения правила хотя бы один из предикатов завершается неуспехом.

  • Предикаты рr21(), рr22()...не влияют на выполнение рекурсии - Они выполняются только после выхода из нее и получают значения переменных из стека, в который они помещаются во время выполнения рекурсии. Производимые при этом вычисления называют хвостовыми вычислениями.
    Основные идеи реализации рекурсивных определений в Прологе рассмотрим на примере вычисления факториала. Программа на Прологе имеет вид:
    domains
    number, product=integer

    predicates
    fact(number,product)

    clauses
    317
    fact(N,R):-Next_N=N-1,

    fact(Next_N,P),

    R=N*P.

    goal
    fact(3,Res),write(" Факториал 3= " , Res),nl.
    Действия при выполнении программы по шагам представлены в табл. 24.1.
    Таблица 24.1
    Действия при выполнении программы

    Вызов предиката Подстановки Вычисления Хвостовые вычисления Результаты вычислений
    fact(3,Res) N=3, Res=R, Next_N=N-1=2 R=N*P Res=R=3*2=6
    fact(2,P) N'=2, P=R' Next_N'=N'-1=2 R'=N'P' P=R'=2*1=3
    fact(1,F) 1=1, P'=1      
    <
    /p> На первом шаге выполняется целевой запрос fact(3,Res) и выбирается первый вариант решения: правило fact( 1,1):-!, сопоставление для него заканчивается неуспехом, так как 3#1, происходит откат и выбирается второе правило. Для него сопоставление с заголовком правила заканчивается успешно, при этом выполняется подстановка N=3, Res=R, тело правила помещается в стек и начинают отрабатываться предикаты тела. Первый из них - сравнение Next_N=N-1, оно завершается успешно, переменная Next_N становится равной 2.

    Затем инициируется вызов fact(2,P), снова выбирается первый вариант правила, сопоставление 1 #2 приводит к неуспеху, происходит откат и выбор второго варианта правила. Здесь сопоставление с заголовком правила заканчивается успешно, при этом выполняется подстановка N'=2, P'=R', новая копия правила помещается в стек и начинается его выполнение. Первое из них - сравнение Next_N'=N'-1 - завершается успешно, копия переменной Next_N' становится равной 2-1 =1.

    Затем выполняется вызов fact(1,P'). Снова производится сопоставление с первым вариантом, и вот здесь оно становится успешным, подстановка имеет вид 1=1, Р'=1, тело первого правила пусто, поэтому никаких действий не инициирует и начинается выполнение "хвостов", оставшихся в стеке от копий второго правила, в результате этих вычислений переменная Res получит значение, равное 6, которое и будет выведено на экран следующим предикатом запроса write("Факториал 3= ", Res). Отметим, что в первом утверждении применено отсечение !. Сделано это для того, чтобы в случае использования внешнего запроса вида fасt(1 ,Res), т.е. запроса на вычисление факториала 1, после успешного сопоставления запроса с первым утверждением (1 = 1,Res=1) отсечь второй вариант правила для нахождения альтернативного решения. Если этого не сделать, то второе правило приведет к зацикливанию и ошибке. Для обеспечения корректной работы программы для запроса fact(0, Res) в раздел clauses нужно добавить еще одно утверждение, а именно fact(0,1):-!.

    318

    317 :: 318 :: Содержание

    Реляционная модель данных

    Модель данных в общем случае описывает набор базовых признаков, которыми должны обладать все конкретные СУБД и управляемые ими БД, основанные на этой модели.

    Решатель вычислительных задач

    Решатели вычислительных задач принадлежат к классу интеллектуальных пакетов прикладных программ (ИППП). Они позволяют пользователю решать задачи с использованием ЭВМ по описанию и исходным данным без программирования алгоритма решения задачи - программирование осуществляется автоматически программой планировщиком из набора готовых программных модулей, относящихся к конкретной предметной области. Мы рассмотрим систему ТК Solver, являющуюся характерным представителем решателей вычислительных задач.

    Решение дифференциальных уравнений

    Файл odel.mth содержит подпрограммы решения обыкновенных дифференциальных уравнений первого порядка в соответствии с обычной классификацией их (линейных, однородных, с разделяющимися переменными, Бернулли, Клеро и др.).
    Описанная выше общая технология применения дополнительных файлов была проверена на дифференциальном уравнении типа Бернулли ху' + у- у21n(х). После его приведения к стандартной форме у' + (1/х) у - ln(x /х) у2было сформировано задание
    bernulli_gen(1/х,ln(х)/х,2,х,y,с)
    и получен правильный результат в форме 1/у = In х + с ·х + 1.
    Файл ode2.mth предлагает средства решения дифференциальных уравнений второго порядка. Здесь мы отметим только возможность решения уравнений как с начальными, так и с граничными условиями (DSOLVE2_IV и DSOLVE2_BV соответственно).
    В файле ode_appr.mth содержатся инструменты приближенного решения дифференциальных уравнений посредством разложения в ряд Тейлора, уточнения такого разложения методом Пикара, численного решения уравнений и систем уравнений методами Эйлера и Рунге-Кутта (с заданным фиксированным шагом).
    Файл approx.mth содержит процедуру PADE(y,x,x0,n,d) аппроксимации Паде функции у(х) в окрестности хО - дробью со степенями числителя и знаменателя л и d соответственно (n = d или п = d -1).
    Файл misc.mth объединяет разнообразные вспомогательные средства: инструменты исследования сходимости рядов, выборки коэффициентов полинома, интерполяции многочленом по методу наименьших квадратов, формирования случайных векторов и матриц и т.д. Из них мы упомянем процедуры:
  • INT_PARTS(u, v ,x) интегрирования по частям;

  • INT_SUBST(y,x,u) интегрирования подстановкой вместо х функции, обратной и(х);

  • INVERSE(u,x)- вычисления обратной функции.

  • 210
    209 :: 210 :: Содержание

    Рисование фигур

    Рисуемая фигура составляется из отрезков прямых, криволинейных дуг и ранее заготовленных фигур. Все рисовальные инструменты закреплены за одной кнопкой панели инструментов (ниспадающее меню - карандаш, прямая, дуга, произвольная кривая, прямоугольник и эллипс). Карандашом можно рисовать произвольные фигуры с имитацией раскрошившегося грифеля. Фигура может быть открытой и замкнутой. Любая открытая фигура может иметь стрелки, направленность которых задается отдельной кнопкой с циклическим перебором вариантов. При рисовании горизонтальных, вертикальных и 45°-линий держите нажатой .
    215
    Дуги, изображаемые через arc tool, являются частями эллипса, "карандашные" дуги - частями окружности. Для рисования линии или дуги надлежит
  • выбрать инструмент (карандаш, линия, дуга);

  • отметить на схеме начало объекта;

  • прочертить объект (указатель мыши будет представляться перекрестием);

  • отпустить кнопку мыши.

  • С новым нажатием кнопки мыши можно сменить направление движения инструмента. Рисование фигуры заканчивается нажатием или щелчком мышью вне фигуры.
    При изображении фигуры из многих сегментов нужно
  • выбрать инструмент;

  • отметить начало нового сегмента (это не должен быть конец предыдущего, иначе последующие операции сведутся к трансформации последнего);

  • вычертить новый сегмент аналогично первому.

  • Для представления эллипсов и прямоугольников обычно можно использовать элементы трафарета. При нестандартных размерах их приходится рисовать. Точкой вставки считается угол фигуры или описанного прямоугольника (какой именно угол - зависит от направления протягивания мыши). Круг и квадрат рассматриваются как соответствующие частные случаи.
    Для получения круга и квадрата при вычерчивании следует удерживать . Характер проведенной линии можно менять командой Format\Line (Формат\Линия), задавая в диалоговом окне Pattern (Тип линии): сплошные, штриховые и пунктирные разных видов, Weight (Толщина) (в пикселах,) и цвет.
    Все операции над ранее созданными объектами производятся после их выделения. Выделение производится щелчком мыши внутри фигуры. Для последовательного выделения нескольких объектов нужно удерживать нажатой . Несколько объектов можно выделить, обведя указателем прямоугольную зону их расположения.

    Scientific Workplace

    Scientific WorkPlace 2.0 (далее SWP) - "рабочее место ученого". Пакет удачно объединяет несколько весьма совершенных и полезных инструментов
  • подобный Word текстовый редактор;

  • заимствованные из Ami Pro 3.1 и усовершенствованные свойства набора математических зависимостей в привычной форме;

  • подмножество пакета Maple V, позволяющее выполнять аналитические преобразования и численные расчеты

  • Система готовит выходной документ в формате LaTeX, что позволяет получить высококачественную распечатку в любом из богатого набора стилей
    Недостатками рассматриваемой версии SWP являются отсутствие русификации и крайне медленная работа компилятора. Кроме того, возникают трудности с переносом полученных графиков. Тем не менее даже для русскоязычного пользователя SWP представляет значительный интерес благодаря уникальному сочетанию обычного представления математических объектов с колоссальными возможностями Maple. Автор, выполнив все необходимые и математические выкладки в SWP, может самостоятельно перенести в собственную латексовскую рукопись нужные ему результаты - вручную (списав их с экрана или распечатки SWP) либо машинным способом (вставкой фрагмента .tex-файла).

    Семантические сети

    Семантические сети (СС) являются исторически первым классом моделей представления знаний. Здесь структура знаний предметной области формализуется в виде ориентированного графа с размеченными вершинами и дугами. Вершины обозначают сущности и понятия ПО, а дуги - отношения между ними. Под сущностью понимают объект
    292
    произвольной природы. Вершины и дуги могут снабжаться метками, представляющими собой мнемонические имена. Основными связями для СС, с помощью которых формируются понятия, являются:
  • класс, к которому принадлежит данное понятие;

  • свойства, выделяющие понятие из всех прочих понятий этого класса;

  • примеры данного понятия.

  • На самой СС принадлежность элемента к некоторому классу или части к целому передается с помощью связок IS А и PART OF соответственно. Свойства описываются связками IS и HAS (является и имеет). На рис. 23.1 приведен пример описания понятия с помощью СС.
    Рис. 23.1. Пример фрагмента семантической сети
    С помощью СС можно описывать события и действия. Для этих целей используются специальные типы отношений, называемые падежами: агент - действующее лицо, вызывающее действие; объект - предмет, подвергающийся действию; адресат - лицо, пользующееся результатом действия или испытывающее этот результат. Возможны и другие падежи типа: время, место, инструмент, цель, качество, количество и т.д. Введение падежей позволяет от поверхностной структуры предложения перейти к его смысловому содержанию.
    В СС понятийная структура и система зависимостей представлены однородно. Поэтому представление в них, например, математических соотношений графическими средствами неэффективно. СС не дают ясного представления о структуре ПО, они представляют собой пассивные структуры, для обработки которых необходима разработка аппарата формального вывода и планирования.
    В чистом виде СС на практике почти не используются. При построении СИИ с использованием СС обычно либо накладывают ограничения на типы объектов и отношений (примером таких сетей являются функциональные СС), либо расширяют СС специальными средствами для более эффективной организации вычислений в СС (К-сети, пирамидальные сети и др.).

    Сетевые адреса

    В Internet каждому компьютеру назначается свой уникальный сетевой адрес - IP-адрес, имеющий длину 32 бита и состоящий из 4 частей по 8 битов. Каждая часть может принимать значения от 0 до 255 и отделяется от других частей точкой. Например, 194.105.195.17 и 147.115.3.27 представляют два IP-адреса.
    Сетевой адрес состоит из двух частей: адреса сети и адреса хоста в этой сети. Под хостом понимается компьютер, включенный в сеть и предоставляющий различные сетевые услуги. Благодаря такой структуре IP-адреса компьютеры в разных сетях могут иметь одинаковые адреса.
    Для обеспечения максимальной гибкости IP-адреса подразделяются на классы А, В, С и выделяются в зависимости от количества локальных сетей и компьютеров в них. Указанные три класса IP-адресов определяют размер локальной сети организации. В зависимости от класса полный 32-битный адрес по-разному разбивается на 8-битные составляющие. При этом первые от одного до трех битов в начале IP-адреса идентифицируют соответствующий класс. Структура IP-адресов представлена на рис. 29.3.
    425
    Рис.29.3. Структура IP-адресов
    По первому числу IP-адреса можно определить тип класса, к которому относится организация:
    Адреса класса А - числа от 0 до 127.
    Адреса класса B- числа от 128 до 191.
    Адреса класса C - числа от 192 до 223.
    Адрес сети класса А позволяет идентифицировать более 16 миллионов компьютеров в локальной сети организации, но при этом может существовать не более 128 локальных сетей данного класса. Адрес сети класса В позволяет выделить большее количество локальных сетей, но с меньшим числом компьютеров в самой сети. И, наконец, сети класса С могут иметь максимум 254 компьютера, но таких сетей может быть свыше 2 миллионов.
    При посылке сообщения в Internet IP-адрес используется для указания отправителя и получателя. Клиенту нет необходимости запоминать сетевые адреса, поскольку в сети используют доменные имена, которые преобразуются доменной системой имен в IP-адреса.

    Сетевые возможности Windows

    Рассмотрим работу пользователя в сети средствами ОС Windows 95, которая может использоваться в качестве:
  • ОС одноранговой сети с узлами, функционирующими под управлением как Windows 95, так и Windows for Workgroups или Windows NT Workstation.

  • клиентской ОС в сетях с выделенным сервером, управляемых ОС Windows NT, a также

  • NetWare.
    Использование Windows 95 в качестве ОС одноранговой сети позволяет:
  • осуществлять обмен данными между рабочими станциями сети;

  • совместно использовать ресурсы рабочих станций (диски, папки, принтеры, факсы). Для удобства пользования сетевыми папками на рабочих станциях можно назначать им имена дисков. После этого они будут отображаться в виде сетевых дисков в папке Мой компьютер (My Computer);

  • обеспечивать парольную защиту ресурсов рабочих станций, выделенных в общее пользование;

  • создавать рабочие группы пользователей.

  • Рабочей группой называют совокупность пользователей, объединенных одной общей задачей (например, разработкой проекта) и имеющих общее имя. В рамках каждой рабочей группы действует электронная почта Microsoft Mail, позволяющая обмениваться членам группы почтой. В одной сети может быть организовано несколько рабочих групп, имеющим доступ ко всем сетевым ресурсам.
    Использование Windows 95 в качестве клиентской ОС предоставляет дополнительные возможности по разграничению доступа к сетевым ресурсам.
    Подключение компьютеров в сеть осуществляется с помощью сетевых адаптеров. Взаимодействие Windows 95 с сетевыми адаптерами осуществляется через драйверы устройств, отвечающие следующим спецификациям:
    NDIS 3.11- спецификация интерфейса сетевых драйверов. Каждый драйвер, отвечающий требованиям данной спецификации, может работать с различными
    410
    протоколами транспортного уровня модели OSI и поддерживает спецификацию Plug and Play,
    NDIS 2 - это обычные MS-DOS драйверы, как правило, имеющие расширение DOS или SYS При их использовании приходится загружать несколько копий для различных транспортных протоколов, ODI - драйверы спецификации фирмы Novell
    На одном компьютере могут размещаться одновременно драйверы всех трех спецификаций

    Схема процесса моделирования

    Общая схема организации моделирования показана на рис. 15.1. Выделенные штриховым контуром элементы являются компонентами программного обеспечения ЭВМ или этапами машинной обработки и тем самым - объектами изучения информатики.
    При исследовании сложных систем может потребоваться разработка набора моделей, соответствующих различным иерархическим уровням рассмотрения и функциональным разрезам деятельности системы.
    Принцип баланса точности требует соизмеримости погрешностей, вызываемых различными причинами: неполнотой модели, неточным заданием ее параметров, погрешностью выбранного численного метода, счетом в ограниченной разрядной сетке.
    В сравнении с натурным экспериментом математическое моделирование имеет следующие преимущества:
  • экономичность (в частности, сбережение ресурсов реальной системы);

  • возможность моделирования гипотетических, т.е. не реализованных в натуре объектов (прежде всего на этапе проектирования);

  • возможность реализации режимов, опасных или трудновоспроизводимых в натуре (например, критический режим ядерного реактора - вспомним Чернобыль!), работа системы ПРО);

  • возможность изменения масштаба времени;

  • большая прогностическая сила вследствие возможности выявления общих закономерностей;

  • универсальность технического и программного обеспечения проводимой работы (ЭЦВМ, системы программирования и пакеты прикладных программ широкого назначения).

  • 184
    Рис. 15.1 Схема организации моделирования
    185
    Практическое использование построенной модели возможно лишь после тщательного ее исследования и настройки, в процессе которых необходимо решить задачи проверки адекватности, выбора параметров и оценки их значимости.

    Символьные преобразования

    Символьное преобразование выражений обеспечивается универсальными функциями Maple, именно Evaluate (Оценить), Simplify (Упростить). При необходимости дополнительно привлекаются следующие команды:
  • Expand - раскрытия скобок (возведение в степень, перемножение);

  • Factor - свертка в произведения,

  • Combine - преобразования выражений различных классов (Exp, Log, Trig),

  • Series - разложения в ряд Тейлора,

  • Polynomials - действий с многочленами (приведение подобных членов, упорядочение, деление, разложение на простые дроби, вычисление корней и т.п.),

  • Calculus - специальных вычислительных приемов (интегрирование по частям, подстановки).

  • Выбор ведущей к окончательному решению последовательности операций определяется спецификой задачи и получаемыми "субпродуктами". Он требует определенной математической подготовки, изобретательности и опыта работы с SWP. Эксперименты предпочтительно проводить над дубликатами задачи и/или ее промежуточных стадий.
    201
    200 :: 201 :: Содержание

    Системы счисления и представление данных

    В вопросах организации обработки информации с помощью ЭВМ важное место занимают системы счисления, формы представления данных и специальное кодирование чисел.

    Системы счисления

    Совокупность приемов наименования и записи чисел называется счислением. Под системой счисления понимается способ представления любого числа с помощью ограниченного алфавита символов, называемых цифрами. Счисление представляет собой частный случай кодирования, где слово, записанное с использованием определенного алфавита и по определенным правилам, называется кодом. Применительно к счислению это код числа.
    22
    Различают позиционные и непозиционные системы счисления. В непозиционных системах счисления каждое число обозначается соответствующей совокупностью символов. Характерным представителем непозиционных систем является римская система счисления со сложным способом записи чисел и громоздкими правилами выполнения арифметических операций. Например, запись MCMXCVIII означает, что записано число 1998 (М - тысяча, С - сто, X - десять, V - пять, I - единица и т.д.).
    Позиционные системы счисления обладают большими преимуществами в наглядности представления чисел и в простоте выполнения арифметических операций.
    В позиционной системе счисления значение числа определяется не только набором входящих в него цифр, но и их местом (позицией) в последовательности цифр, изображающих это число, например, числа 127 и 721.
    Позиционной является десятичная система счисления, используемая в повседневной жизни. Помимо десятичной существуют другие позиционные системы счисления, и некоторые из них нашли применение в информатике.
    Количество символов, используемых в позиционной системе счисления, называется ее основанием. Его обозначают обычно буквой q. В десятичной системе счисления используется десять символов (цифр): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, и основанием системы является число десять.
    Особое место среди позиционных систем счисления занимают системы со степенными весами разрядов, в которых веса смежных позиций цифр (разрядов) отличаются по величине в постоянное количество раз, равное основанию q системы счисления.
    В общем случае в такой позиционной системе счисления с основанием q любое число X может быть представлено в виде полинома разложения:

    X(q)=xn-1qn-1+xn-2qn-2+...+x1q1x0q0+x-1q-1+...+x-mq-m=
    n-1
    ?
    i=-m
      xiqi (1.1)

    где x(q) - запись числа в системе счисления с основанием q;

    q - основание системы счисления;

    хi - целые числа, меньше q;

    п - число разрядов (позиций) в целой части числа;

    т - число разрядов в дробной части числа.

    Например: 4295, 6731(10)=4·103+2·102+9·101+5·100+6·10-1+7·10-2+1·10-4.

    Для обозначения используемой системы счисления ее основание указывается в индексе в круглых скобках. Изображение числа X(q) в виде последовательности коэффициентов х полинома является его условной сокращенной записью (кодом).

    X(q)=xn-1xn-2...x1x0,x-1...x-m (1.2)

    Запятая отделяет целую часть числа от дробной и служит началом отсчета значений веса каждой позиции (разряда).

    В информатике применяют позиционные системы счисления с недесятичным основанием: двоичную, восьмеричную и шестнадцатеричную, т.е. системы счисления с основанием q = 2k , где k = 1 , 3, 4.

    23

    Наибольшее распространение получила двоичная система счисления. В этой системе для представления любого числа используются два символа - цифры 0 и 1. Основание системы счисления q = 2.

    Произвольное число с помощью формулы (1.1) можно представить в виде разложения по степеням двойки:

    X(2)=xn-12n-1+xn-2+...x121+x020+x-12-1+...x-m2-m

    Тогда условная сокращенная запись в соответствии с (1.2) означает изображение числа в двоичной системе счисления (двоичный код числа), где хi = 0 или 1. Например:

    13,625(10)= 1·23 + 1·22+0·21 + 1·20+ 1·2 -1 +0·2-2 + 1·2-3 = 1101, 101(2)

    Двоичное представление числа требует примерно в 3,3 раза большего числа разрядов, чем его десятичное представление. Тем не менее применение двоичной системы счисления создает большие удобства для работы ЭВМ, т.к. для представления в машине разряда двоичного числа может быть использован любой запоминающий элемент, имеющий два устойчивых состояния.

    Арифметические действия над одноразрядными двоичными числами выполняются по следующим правилам:

    0+0=0 0?0=0
    0+1=1 0?1=0
    1+0=1 1?0=0
    1 + 1 = 10 1?1=1.
    <


    /p> В восьмеричной системе счисления алфавит состоит из восьми символов (цифр): 0, 1 ... 7. Основание системы счисления q = 8. Для записи произвольного числа в восьмеричной системе счисления необходимо по формуле (1.1) найти его разложение по степеням восьмерки, а затем воспользоваться условной сокращенной записью (1.2).

    Например, десятичное число 28 (10) = 3·81 + 4·8 0 = 34(8)

    Восьмеричное изображение (код) основания системы счисления q = 8 (10)= 10 (8)

    В шестнадцатеричной системе счисления алфавит включает в себя 16 символов (цифр и букв) : 0, 1 ... 9, А, В, С, D, Е, F. Основание системы счисления q= 16. Для записи произвольного числа в этой системе счисления необходимо по формуле (1.1) найти его разложение по степеням 16, а по формуле (1.2) - код.

    Например: 75(10)= 4·161 + В-160= 4В (16).

    Шестнадцатеричное изображение (код) основания системы счисления q = 16 (10) =10 (16).

    Для сравнения в табл. 1.1 приведены коды одних и тех же чисел в разных системах счисления.

    Наряду с двоичными кодами, которыми оперирует ЭВМ, для ввода и вывода десятичных чисел (данных) используют специальное двоично-десятичное кодирование. При двоично-десятичном кодировании каждая десятичная цифра заменяется тетрадой (четверкой) двоичных цифр, а сами тетрады записываются последовательно в соответствии с порядком следования десятичных цифр. При обратном преобразовании двоично-десятичного кода в десятичный исходный код

    24

    Таблица 1.1

    Коды чисел в различных системах счисления

    X(10) 0 1 2 3 4 5 6 7 8
    X(2) 0 1 10 11 100 101 110 111 1000
    X(8) 0 1 2 3 4 5 G 7 10
    X(16) 0 1 2 3 4 5 6 7 8
    X(10) 9 10 11 12 13 14 15 16 17
    X(2) 1001 1010 1011 1100 1101 1110 1111 10000 10001
    X(8) 11 12 13 14 15 16 17 20 21
    X(16) 9 А В С D Е F 10 11
    разбивается на тетрады вправо и влево от запятой, которые затем заменяются десятичными цифрами.

    Таким образом, при двоично-десятичном кодировании фактически не производится перевод числа в новую систему счисления, а мы имеем дело с двоично-кодированной десятичной системой счисления.

    Например, десятичное число 15(10)= F(16) = 17(8) = 1111(2) = 00010101 (2-10)

    Системы управления базами данных

    СУБД, как правило, разделяют по используемой модели данных (как и базы данных) на следующие типы: иерархические, сетевые, реляционные и объектно-ориентированные.
    По характеру использования СУБД делят на персональные (СУБДП) и многопользовательские (СУБДМ).
    К персональным СУБД относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др. К многопользовательским СУБД относятся, например, СУБД Oracle и Informix. Многопользовательские СУБД включают в себя сервер БД и клиентскую часть, работают в неоднородной вычислительной среде - допускаются разные типы ЭВМ и различные операционные системы. Поэтому на базе СУБДМ можно создать информационную систему, функционирующую по технологии клиент-сервер. Универсальность многопользовательских СУБД отражается соответственно на высокой цене и компьютерных ресурсах, требуемых для их поддержки.
    СУБДП представляет собой совокупность языковых и программных средств, предназначенных для создания, ведения и использования БД.
    Персональные СУБД обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними, и при необходимости создания приложений, работающих с сервером БД.
    Управляющим компонентом многих СУБД является ядро, выполняющее следующие функции:
  • управление данными во внешней памяти;

  • управление буферами оперативной памяти (рабочими областями, в которые осуществляется подкачка данных из базы для повышения скорости работы);

  • управление транзакциями.

  • 230
    Транзакция - это последовательность операций над БД, рассматриваемая СУБД как единое целое. При выполнении транзакция может быть либо успешно завершена, и СУБД зафиксирует произведенные изменения во внешней памяти, либо, например, при сбое в аппаратной части ПК, ни одно из изменений не отразится в БД. Понятие транзакции необходимо для поддержания логической целостности БД.
    Язык современной СУБДП включает подмножества команд, относившиеся ранее к следующим специализированным языкам:
  • язык описания данных - высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных;


  • язык манипулирования данными - командный язык СУБД, обеспечивающий выполнение основных операций по работе с данными - ввод, модификацию и выборку данных по запросам;


  • структурированный язык запросов (Structured Query Language, SQL) - обеспечивает манипулирование данными и определение схемы реляционной БДП, является стандартным средством доступа к серверу БД.


  • Для обработки команд пользователя или операторов программ в СУБДП используются интерпретаторы команд (операторов) и компиляторы. С помощью компиляторов в ряде СУБДП можно получать исполняемые автономно приложения - ехе-программы.

    Обеспечение целостности БД - необходимое условие успешного функционирования БД. Целостность БД - свойство БД, означающее, что база данных содержит полную и непротиворечивую информацию, необходимую и достаточную для корректного функционирования приложений. Для обеспечения целостности БД накладывают ограничения целостности в виде некоторых условий, которым должны удовлетворять хранимые в базе данные. Примером таких условий может служить ограничение диапазонов возможных значений атрибутов объектов, сведения о которых хранятся в БД, или отсутствие повторяющихся записей в таблицах реляционных БД.

    Обеспечение безопасности достигается в СУБД шифрованием прикладных программ, данных, защиты паролем, поддержкой уровней доступа к базе данных, к отдельной таблице.

    Расширение возможностей пользователя СУБДП достигается за счет подключения систем построения графиков и диаграмм, а также подключения модулей, написанных на языках Си или Ассемблера.

    Поддержка функционирования в сети обеспечивается:

  • средствами управления доступом пользователей к совместно используемым данным, т.е. средствами блокировки файлов (таблиц), записей, полей, которые в разной степени реализованы в разных СУБДП;


  • средствами механизма транзакций, обеспечивающими целостность БД при функционировании в сети.


  • Поддержка взаимодействия с Windows-приложениями позволяет СУБДП внедрять в отчет сведения, хранящиеся в файлах, созданных с помощью других приложений, например, в документе Word или в рабочей книге Excel, включая графику и звук.Для этого в СУБДП поддерживаются механизмы, разработанные для среды Windows, такие как: DDE (Dynamic Data Exchange - динамический обмен данными) и OLE (Object Linking and Embedding - связывание и внедрение объектов).

    231

    227 :: 228 :: 229 :: 230 :: 231 :: Содержание

    Сохранение документа

    Обязательным этаном завершающей стадии работы с документом является его сохранение в файле. Настройка параметров сохранения документов выполняется на вкладке Сохранение (Save) диалогового окна Параметры (Options), вызываемого командой Параметры (Options) меню Сервис (Tools). Для сохранения файла документа под тем же именем достаточно задать команду Сохранить (Save) меню Файл (File) или нажать одноименную кнопку напели инструментов Форматирование (Formatting). Дополнительные возможности по изменению имени файла и/или формата файла при сохранении документа предоставляет команда Сохранить как... (Save As...) меню Файл (File), открывающая диалоговое окно Сохранение документа (Save As). Здесь можно указать местоположение, имя и тип сохраняемого файла документа.
    Пример. Сохранение документа под новым именем.
  • Откроем диалоговое окно Сохранение документа (Save As).

  • В поле Имя файла: (File name:) зададим или выберем из списка имя файла для сохранения документа и нажмем кнопку Сохранить (Save).

  • В результате документ будет сохранен в файле с заданным именем и расширением DOC (в формате документа Word 7.0). Замечания.
  • Диалоговое окно Сохранение документа (Save As) появляется при первом сохранении вновь созданного документа с помощью команды Сохранить (Save) или одноименной кнопки панели инструментов Стандартная (Standard).

  • С помощью кнопки Параметры... (Options...) вызывается вкладка Сохранение (Save) диалогового окна Параметры (Options). С ее помощью можно выполнить настройку параметров сохранения файла документа.

  • Word позволяет выполнить сохранение документа для последующей обработки другими приложениями. Для этого необходимо выполнить следующие действия: задав команду Сохранить как... (Save As...) меню Файл (File), открыть диалоговое окно Сохранение документа (Save As); в поле Тип файла: (Save as type:) выбрать из списка тип файла, соответствующий планируемому для последующей обработки файла документа приложению и нажать кнопку Сохранить (Save).
    Для последующей обработки файла документа в среде DOS подойдет значение Текст DOS с разбиением на строки (MS DOS Text with Line Breaks) или Текст DOS (MS DOS Text).
    При этом значительная часть форматирования, направленная на придание выразительности документу, будет утеряна. Своеобразным стандартом для обмена между различными приложениями служит богатый текстовый формат. Ему соответствует значение Текст в формате RTF (Rich Text Format). .Этот формат позволяет сохранить форматирование документов, но требует большого объема дисковой памяти (примерно вдвое большего, чем в случае формата документов Word).

    113

    В среде Word можно установить режим автоматического сохранения документов. Для этого нужно, выполнив команду Параметры... (Options) меню Сервис (Tools), открыть диалоговое окно Параметры (Options) и на вкладке Сохранение (Save) установить флажок Автосохранение каждые: (Automatic Save Every:) и в поле справа задать число, определяющее длительность интервала в минутах между автоматическим сохранением всех открытых документов.

    Задание автоматического сохранения документов является полезным средством сохранения проделанной работы в случае возникновения сбоев и отказов в работе аппаратно-программных средств. Не следует устанавливать короткий интервал между моментами автоматического сохранения документов, так как в противном случае работа над документами будет заметно замедляться.

    Можно установить также режим быстрого сохранения документов. Для этого нужно, выполнив команду Параметры.. .(Options...) меню Сервис (Tools), открыть диалоговое окно Параметры (Options) и на вкладке Сохранение (Save) установить флажок Разрешить быстрое сохранение (Allow Fast Saves).

    В рассматриваемом режиме сохранение выполняется быстрее за счет того, что сохраняются только вносимые изменения. Однако при этом расходуется больше дискового пространства, чем при полном сохранении. Сохранять документ полностью рекомендуется: после внесения окончательных изменений; перед началом операций, требующих большого расходования памяти, таких как построение предметного указателя и поиск текста; перед преобразованием файла документа в другой формат.

    Сохранение многотабличного запроса и оформление отчета

    При выборе опции Table (таблица) в окне Query Destination (назначение запроса) (рис. 22.8) мы заказываем форму представления результата запроса в виде таблицы и указываем имя файла, в котором она в дальнейшем будет сохранена. Задание имени файла таблицы в окне Query Destination (назначение запроса) выполняется путем ввода имени файла в поле Table name (имя таблицы) или с помощью диалогового окна Open (открыть), вызываемого нажатием кнопки справа.
    Замечание. Все опции направления вывода результатов, выбираемые в диалоговом окне Query Destination (назначение запроса), дают ожидаемый результат только после нажатия в нем ОК и выполнения запроса, например, с помощью команды Query Run Query (запрос выполнить запрос).
    Выполним запрос, его результат будет сохранен в файле, имя которого мы указали ранее. Созданная таблица сохраняется и при выходе из Visual FoxPro. В этой таблице можно производить удаление, добавление и редактирование записей.
    После создания таблицы можно приступить к формированию отчета на ее основе. Для этого вызовем диалоговое окно Query Destination (назначение запроса), выполнив одноименную команду меню Query (запрос). В появившемся окне нажмем кнопку Report (отчет). В результате получим соответствующий вариант диалогового окна Query Destination (назначение запроса) (рис. 22.8). Чтобы вызвать Мастер отчетов, нажмем кнопку с "волшебной палочкой". Па экране появится диалоговое окно Report Wizard(Мастер отчетов).
    Замечание. Для обеспечения возможности вызова Мастера отчетов необходимо предусмотреть указание его местоположения (папки и имени приложения) в диалоговом окне Options (Параметры) на вкладке File Locations (Расположение файлов) в поле Wizards (Мастера). Вызов окна выполняется с помощью команды Tools \ Options (сервис \ параметры).
    Работа с Мастером отчетов заключается в выполнении пяти следующих шагов.
  • Выбор таблицы (одной), на основе которой будет формироваться отчет, и выбор полей таблицы, сведения из которых будут включены в отчет.
    Для решения этих задач в списке Databases and tables (базы данных и таблицы) выбирается одно из двух значений: DBU (таблица будет выбираться из БД) или Free Tables (таблица является свободной). В нашем случае необходим второй вариант, так как выбирается таблица с результатами запроса. Далее формируем список Selected fields (выбранные поля). Переносим в него поля таблицы из списка Available fields (доступные поля) в том порядке, в каком хотим их видеть в отчете.


  • Выбор стиля оформления отчета.


  • Выбор ориентации листа (книжной или альбомной) и способа расположения сведений из полей таблицы (в строке или в колонке).


  • На четвертом шаге задается способ сортировки сведений в отчете: имя поля, по которому осуществляется сортировка; способ сортировки - по возрастанию или по убыванию.


  • Выполнение следующих действии формирование заголовка отчета, указание способа его дальнейшего использования (мы выбрали запись отчета в файл), при необходимости предварительный просмотр отчета (опция Preview), завершение подготовки отчета нажатием кнопки Finish (финиш)


  • 279

    Результат предварительного просмотра отчета представлен на рис 22 9

    Рис 22 9 Предварительный просмотр отчета

    После нажатия кнопки Finish на экране вновь появится диалоговое окно Query Destination (назначение запроса) с предложением подтвердить необходимость сохранения создание го отчета в файле

    280

    Контрольные вопросы

  • Укажите состав и функции банков данных, назовите этапы создания информационной системы.


  • Охарактеризуйте архитектуру клиент-сервер.


  • Назовите модели представления данных, их достоинства и недостатки.


  • Укажите состав и дайте характеристику элементам реляционной модели данных.


  • Поясните отличия между персональными и многопользовательскими СУБД. Назовите некоторые из них.


  • Назовите функции СУБД.


  • Поясните цель и суть процесса нормализации отношений.


  • Перечислите методы нормализации отношений и поясните возможность их совместного использования.


  • Охарактеризуйте виды зависимости между атрибутами отношений.



  • Дайте определение 1, 2 и 3 нормальных форм. Поясните примерами.


  • Приведите пример использования команды SELECT языка SQL.


  • Перечислите общие характеристики СУБД Visual FoxPro.


  • Укажите назначение элементов проекта Visual FoxPro.


  • Перечислите типы данных, используемые в Visual FoxPro.


  • Перечислите типы индексов.


  • Где н зачем устанавливаются постоянные отношения между таблицами, и где они хранятся?


  • Перечислите правила обеспечения ссылочной ценности, используемые в Visual FoxPro.


  • Варианты индивидуального задания

    Индивидуальное задание включает следующие элементы:

  • проектирование БД;


  • создание БД средствами Visual FoxPro и занесение в нее данных;


  • организацию запросов к базе;


  • оформление отчета с помощью Конструктора запросов.


  • Обучаемому необходимо спроектировать БД, содержащую некоторые сведения, представленные в виде группы представленных ниже атрибутов. Восемь первых атрибутов являются обязательными для всех, а остальные варьируются (табл.). Приведенные атрибуты характеризуют некоторую группу людей и позволяют с учетом их профессиональной деятельности рассчитать денежное содержание. Состав атрибутов:

  • FIO - фамилия и инициалы;


  • God - год рождения;


  • Dolgn - должность занимаемая;


  • 0_Dolgn - оклад по должности;


  • Stag - стаж работы;


  • D_Stag - надбавка за стаж (свыше 5, 10, 15, 20, 25, 30, 35, 40 лет);


  • Udal - удаленность (средняя, большая, очень большая);


  • D_Udal - надбавка за удаленность;


  • 281

    Таблица

    Распределение атрибутов по вариантам

    Вариант Номер атрибута
      9 10 11 12 13 14 15 16 17 18 19 20
    1 * *                 * *
    2 * *             * *    
    3 * *         * *        
    4 * *     * *            
    5 * * * *                
    6     * *             * *
    7     * *         * *    
    8     * *     * *        
    9     * * * *            
    10         * *         * *
    11                 * *    
    12         * * * *        
    13             * *     * *
    14             * * * *    
    15                 * * * *
    16 * *             * * * *
    17 * *         * *     * *
    18 * *         *   * *    
    19 * *     * *         * *
    20 * * * *             * *
    21 * *     * * * *        
    22 * * * * * *            
    23     * *         * * * *
    24     * *     * * * *    
    25     * * * * * *        
    26         * * * *     * *
    27         * * * * * *    
    28             * * * * * *
    <


    /p>
  • Slogn - сложность (средняя, высокая, очень высокая);


  • D_Slogn - надбавка за сложность;


  • Vredn - вредность ( по категориям: 1, 2, 3, 4, 5);


  • D_Vredn - надбавка за вредность;


  • Clasn - классность (мастер, первая, вторая, третья);


  • D_ Clasn - надбавка за классность;


  • U_Zvan - ученое звание (доцент, сне, профессор);


  • D Uzvan - надбавка за ученое звание;


  • 282

  • U_Step - ученая степень (ктн, дтн);


  • D_UStep - надбавка за ученую степень;


  • Zvanie - воинское звание офицерское (лейтенант, ст._лейтенант, капитан,


  • майор, подполковник, полковник);


  • D_Zvanie - надбавка за воинское звание.


  • Задание каждому обучаемому состоит в следующем.

  • Необходимо в соответствии со своим списком атрибутов спроектировать БД.


  • Создать БД.


  • Занести в нее данные.


  • Организовать постоянные связи между таблицами для обеспечения целостности своей БД при: изменении записей, добавлении записей, удалении записей.


  • Убедиться, что:


  • данные, внесенные в таблицы, непротиворечивы;


  • система поддержки целостности БД функционирует. Для этого попытаться изменить, ввести и удалить данные в таблицах с нарушением правил поддержания целостности БД.


  • Организовать запросы к БД, которые бы позволяли продемонстрировать:


  • фамилию и должность сотрудника;


  • сумму денежного содержания сотрудника и значения компонентов, из которых она формируется;


  • для каждого поля сформировать заголовок, используя кириллицу;


  • сведения в запросе упорядочить в порядке убывания денежного содержания, а при равном денежном содержании - в алфавитном порядке фамилий сотрудников.


  • Оформить отчет, используя Конструктор отчетов.


  • 283

    Литература

  • Бородаев В.А., Кустов В.Н. Банки и базы данных. Уч. пособие. - Л.: ВИКИ им. Л.Ф. Можайского, 1989. - 224 с.


  • Горев A. Visual FoxPro 5.0. Книга для программистов - М: Журнал "FoxTalk" TOO "Эдель", 1997.-552с.


  • Джексон Г. Проектирование реляционных баз данных для использования с микро-ЭВМ: Пер. с англ. - М.: Мир,1991. - 252 с.


  • Кузин Л.Т. Основы кибернетики: В 2-х т. Т.2. Основы кибернетических моделей.Уч. пособие для ВУЗов. - М.: Энергия, 1979. - 584 с.


  • МихаельД. Антонович и dp. Visual FoxPro 3 для Windows: М.: БИНОМ; - 668 с.


  • Пинтер Лес, Пинтер Джон Visual FoxPro: уроки программирования/Пер, с англ. М.'.Журнал "The Pinter FoxPro Letter" TOO "Эдаль" совместно с издательским отделом "Русская редакция" ТОО "Chanel Trading Ltd.", 1996. - 480 с.


  • Ульман Дж. Основы систем баз данных. - М.: Финансы и статистика, 1983. - 334 с.


  • Цаленко М.Ш. Моделирование семантики в базах данных. - М.: Наука, 1989. - 288 с.


  • 284

    279 :: 280 :: 281 :: 282 :: 283 :: 284 :: Содержание

    Сопоставление пакетов

    MathCAD является одним из наиболее удобных и применяется для несложных расчетов на ПЭВМ. Он имеет естественный входной язык представления математических зависимостей и инструменты их набора типа предлагаемых в формульном редакторе Word Equation в виде кнопок. MathCAD является полноценным Windows-приложением со встроенными средствами обмена (Clipboard, OLE). Соответственно экспорт построенных средствами MathCAD графиков выполняется легко. Пакет оборудован текстовым процессором, позволяющим оформить статью без помощи редакторов типа Word.
    MatLab ориентирован преимущественно на работу с матрицами. Главная отличительная черта системы - это легкость ее развития. Новые определения MatLab записываются на диск в виде файлов с расширением .т и немедленно готовы к использованию. С системой поставляется около 150 .m-файлов, содержащих демонстрационные примеры и определения новых операторов и функций. Прилагаемые к MatLab инструментальные пакеты (Toolboxes) ориентированы главным образом на теорию автоматического управления (линейные, нелинейные, робастные системы, анализ в частотной области, проблемы идентификации и др.), а также обработку сигналов. Пятая версия пакета только что появилась и в литературе не описана. Ее возможности существенно возросли.
    Графические способности MatLab ограничены. Графики выводятся отдельно от текста, не могут перемещаться по полю, имеют фиксированный размер. Зато возможен многооконный режим.
    Derive интересна с точки зрения собственной символьной математики и двух режимов работы с графикой (грубого и точного). Наличие графического курсора позволяет определять координаты характерных точек кривых (экстремумы, корни, точки пересечения с другими кривыми). Однако записать график в файл невозможно.
    Современным требованиям к оформлению математических зависимостей DOS-версия система Derive не удовлетворяет явно, и ее применение оправдано только при крайней аппаратурной бедности. Недавно появившийся Windows-вариант предоставляет значительно большие удобства.

    ТК Solver основан на идеях концептуального программирования. В нем сравнительно узкие предметные области можно описать системой математических соотношений, и пакет по заданным исходным объектам и перечню требуемых самостоятельно сформирует решение. Математический инструментарий является встроенной частью пакета.

    Mathematica 2.2 и ее новейшая версия 3.0 являются мощным средством выполнения и оформления математических исследований как в символьной, так и в численной форме. Выходной документ может быть подготовлен совместимым с MS Word, MS Excel, Ami Pro, PowerPoint и т.д. По богатству и разнообразию средств высокого уровня работы со списковыми структурами и выполнения символьных вычислений обсуждаемый пакет уникален.

    При всех его богатейших возможностях пакет имеет нестандартную входную и неудобную выходную математическую символику, неадекватное представление результатов многих операций, слабую диагностику ошибок и требует серьезных трудозатрат на освоение.

    193

    Maple V имеет удобный интерфейс и хорошо отработанную справочную систему. Он является наиболее мощным математическим ППП для профессионалов. Приведем обзор содержания тех из 32 его субпакетов, которые особенно интересны (будущим) инженерам.

    Student. Этот "джентльменский набор" для студента обеспечивает пошаговое решение типовых математических задач - расчет сумм, произведений, пределов, интегралов и т.д. Имеется инструментарий для отделения корней уравнений, исследования кривых, нахождения экстремумов и реализации простейших методов численного интегрирования.

    Simplex включает основанные на симплекс-методе процедуры решения задачи линейного программирования - как в целом, так и отдельных элементов метода (переход к стандартной постановке, нахождение базиса, его одновекторное изменение и т.д.).

    Stats ориентирован на типовые задачи статистической обработки данных. В него включены семь субпакетов:

  • anova - проверка гипотезы о равенстве средних значений двух статистических выборок;


  • fit - построение регрессии (выбор параметров заданного типа зависимости у(х) методом наименьших квадратов);



  • random - генерация серий случайных чисел с требуемыми законами распределения (равномерный, бета-, гамма-, нормальный, %2, Стьюдента);


  • statevalf - построение плотности, кумулянты и обратной ей функции для непрерывного распределения и их аналогов для дискретного;


  • statplots - построение графиков и гистограмм;


  • transform - предварительная обработка данных (упорядочение, сортировка по классам и т.п.);


  • describe - расчет числовых характеристик статистического ряда (моды и размаха распределения; обычного, геометрического и гармонического средних; медианы, квартилей и квантилей для произвольного аргумента, высших моментов относительно произвольной точки; дисперсии, среднеквадратического отклонения, асимметрии и эксцесса).


  • Network. Подпакет включает 75 функций работы с графами. Помимо функций создания графа, добавления и удаления ребер и вершин, к ним относятся: определение отношений инцидентности и смежности, степеней исхода и захода для вершин, построения базы графа, проверка плоскостности, нахождение минимального разреза, кратчайшего пути, деревьев минимального веса и т.д.

    194

    190 :: 191 :: 192 :: 193 :: 194 :: Содержание

    Сортировка данных в запросе

    Рассмотрим процедуру упорядочения данных в таблице на примере следующего запроса.
    Запрос 2. Составить список всех преподавателей из таблицы T_prep.dbf с указанием их стажа и должности. Фамилии в списке упорядочить по алфавиту.
    Для упорядочения данных используется вкладка Order By (упорядочение). В ней содержится два списка Selected Fields (выбранные поля) и Ordering Criteria (критерий упорядочения). Для задания критерия упорядочивания необходимо перенести в Ordering Criteria (критерий упорядочения) поля, которые будут определять порядок расположения выводимых в запросе данных. Процедура переноса аналогична рассмотренной при определении полей результирующей таблицы. Для реализации нашего первого запроса во вкладке Order By (упорядочение) выделим курсором поле T_prep.fio (поле FIO таблицы Т_ргер) и, нажав кнопку Add (добавить), перенесем его в список Ordering Criteria (критерий упорядочения).
    С помощью переключателя Order Options (параметры упорядочения) для каждого выбранного поля можно установить критерий упорядочивания по возрастанию (Ascending) пли по убыванию (Descending). Выберем критерий Ascending (возрастающий). Результат выполнения подготовленного описанным образом запроса будет аналогичным представленному на рис. 22.2, но фамилии преподавателей будут следовать в алфавитном порядке.

    Сортировка списка

    Под сортировкой списка понимается упорядочение его записей в алфавитном, числовом, хронологическом или другом (заданном пользователем) порядке. Сортировка может производиться по содержимому одного, двух или трех полей одновременно. Причем в каждом поле может быть указан свой (убывающий или возрастающий) порядок сортировки. Если для выполнения операции выбрано содержимое трех полей, то алгоритм сортировки следующий:
  • Вначале сортируются в заданном порядке записи по содержимому первого поля.

  • Выполняется дополнительная сортировка записей, у которых элементы по первому полю оказались одинаковыми (сортировка таких записей осуществляется в заданном для второго поля порядке).

  • В последнюю очередь происходит сортировка тех записей, у которых элементы по первому и второму полю оказались одинаковыми (с применением своего порядка сортировки, заданного для третьего поля).

  • Если задан возрастающий порядок сортировки по определенному полю, то записи будут расположены в зависимости от содержимого этого поля:
  • числа сортируются от наименьшего отрицательного до наибольшего положительного;

  • значения даты и времени будут отсортированы в порядке от наиболее раннего до наиболее позднего времени;

  • текст - в алфавитном порядке от А до Z, затем от А до Я;

  • логические значения -сначала значения ЛОЖЬ (False), а затем значения ИСТИНА (True);

  • тексты сообщений об ошибках, возникших при вычислении по формулам, будут отсортированы в порядке их следования.

  • Расположение записей при сортировке списка в убывающем порядке противоположно рассмотренному.
    Для сортировки списка необходимо выполнить следующие действия:
  • Активизировать любую ячейку списка.

  • Выполнить команду Сортировка... (Sort...) меню Данные (Data). При этом Excel автоматически выделит диапазон из всех ячеек списка и на экране появится диалоговое окно Сортировка диапазона (Sort).

  • 167
  • Задать нужный порядок сортировки по одному, двум или трем полям списка, выбрать их имена в соответствующих полях диалогового окна.

  • Нажать ОК.


  • Замечания.

  • При выборе в любом порядке сортировки пустые ячейки поля размещаются в конце отсортированного списка.


  • При пользовательском порядке сортировки записи сортируются не по возрастанию или убыванию, а в соответствии с порядком, заданным в созданном заранее пользовательском ряде данных (см. параграф 12.5.). Пользовательский порядок сортировки можно задавать только для столбца (поля), имя которого указано в первой строке диалогового окна Сортировка диапазона (Sort). Чтобы применить пользовательский порядок сортировки для нескольких полей списка, необходимо последовательно выполнить несколько операций, сортировки для каждого из полей.


  • Сортировка приводит к автоматическому изменению относительных ссылок, содержащихся в формулах перемещаемых записей. Для исключения ошибок необходимо проверить, чтобы в записях не было относительных ссылок на ячейки других записей списка. При наличии таких ссылок необходимо заменить их на абсолютные до выполнения сортировки.


  • Перед сортировкой части списка необходимо убедиться, что выделены все поля списка, а не только те, которые видны на экране. Если выделение не захватит все поля, информация может оказаться перемешанной: выделенные поля отсортируются, а остальные останутся на месте.


  • Для того чтобы после неоднократной сортировки или случайного перемешивания данных вернуться к первоначальному виду таблицы, необходимо иметь ее копию.


  • 168

    167 :: 168 :: Содержание

    Составление и редактирование схем

    Основными действиями .пользователя при составлении схем являются рисование фигур, набор текста и формул.

    Создание БД с помощью Конструктора

    Конструктор БД позволяет создавать, модифицировать и индексировать таблицы БД, устанавливать постоянные межтабличные связи.
    Создание базы данных с помощью Конструктора БД выполним применительно к базе данных "Учебная", спроектированной в предыдущем разделе. Прежде всего, определим типы и размеры полей БД следующим образом: Т ZAGR(Fio. Predm. Gruppa. VidZan),
    В рассматриваемой БД подчеркнутые поля образуют ключ соответствующей таблицы. В таблице T_ZAGR поля (Fio, Predm, Gruppa) образуют ключ при условии, что один и тот же преподаватель в одной группе не может одновременно читать лекции и проводить практические занятия. В противном случае ключ таблицы будет включать все ее
    256
    поля. В таблице T_PREDM ключ образуют поля Predm и Gruppa с учетом допущения, что один и тот же предмет может читаться в различных группах.
    Замечание. Наименования полей в рассматриваемой БД по традиции (в связи с ограничениями FoxPro) заданы латинскими буквами (Fio, Predm, Gruppa, Stag и т.д.), хотя в Visual FoxPro 5.0 полям таблицы допускается задавать названия, отличные от латинских.
    Перейдем непосредственно к созданию БД "Учебная". Для удобства присвоим ей обозначение Bdu.
    Для создания БД выполним команду File | New (файл | создать). В результате откроется диалоговое окно New (новый) (рис. 21.1), в котором перечислены все типы файлов Visual FoxPro, которые можно создать.
    Рис. 21.1. Диалоговое окно New
    При выбранном переключателе Database (база данных) нажатие кнопки New file (новый файл) приводит к появлению диалогового окна Create (создать). В списке верхней части окна следует выбрать папку, в поле Enter (ввод) указать имя файла базы данных (Bdu.dbc) и пажа! ь кнопку Save (Сохранить).
    В результате откроется диалоговое окно Database Designer - Bdu (окно Конструктора созданной базы данных Bdu). В системном меню Visual FoxPro появится повое меню Database (база данных), содержащее команды Конструктора БД (табл. 21.2).
    257
    Таблица 21.2
    Команды меню Database

    Команда Назначение
    New Table Создание таблицы
    Add Table Добавление таблицы в БД
    New Remote View Создание удаленного представления данных
    New Local View Создание локального представления данных
    Modify Модификация таблицы
    Browse Редактирование таблицы в режиме Browse
    Remove Удаление таблицы из БД
    Rebuild Table Indexes Перестройка индексов
    Remove Deleted Records Физическое удаление помеченных записей
    Edit Relationship Редактирование межтабличных связей
    Referential Integrity Определение условий целостности данных
    Edit Stored Procedures Редактирование хранимых процедур
    Clean Up Database Очистка БД от помеченных на удаление объектов
    Создать БД можно также, набрав в командном окне Visual FoxPro команду CREATE DATABASE ИмяБазыДанных

    Если имя БД в команде не указано, то при ее выполнении открывается диалоговое окно Create (создать), в котором нужно указать имя создаваемой БД.

    258

    256 :: 257 :: 258 :: Содержание

    Создание БД в среде Visual FoxPro

    Прежде чем рассматривать процедуры создания БД и таблиц, познакомимся с типами данных, используемых в них.

    Создание документа

    Создание нового документа или шаблона выполняется с помощью команды Создать (New) меню Файл (File), скрывающей диалоговое окно Создание документа (New), (рис. 8.2). Шаблоны используются для облегчения подготовки документов и представляют собой стандартные заготовки документов определенного типа и соответствующие им наборы стилей.
    Для удобства шаблоны разделены на группы, объединяющие однотипные документы. Каждая из групп шаблонов имеет два варианта: русский и английский. Наиболее часто для создания документов применяется шаблон Обычный (Normal). Для создания документа на основе шаблона Обычный (Normal) удобно воспользоваться кнопкой Создать (New) панели инструментов Стандартная (Standard).
    Рис. 8.2. Диалоговое окно Создание документа
    Пример. Создание документа на основе шаблона Современное письмо (Contemporary Letter).
  • Задав команду Создать (New) меню Файл (File), откроем диалоговое окно Создание документа (New), рис. 8.2.

  • Выберем вкладку Письма и факсы (Letters &Faxes) и в одноименной группе выберем шаблон Современное письмо (Contemporary Letter).

  • В иоле Просмотр (Preview) оценим приближенно внешний вид выбранного шаблона.

  • Далее установим переключатель Документ (Document) и нажмем ОК.

  • Отредактируем заготовку документа, наполнив своими адресами и текстом, не заботясь о компоновке и оформлении элементов письма.

  • В результате откроется окно нового документа, содержащего заготовку для письма современного стиля.
    112
    Аналогичным образом выполняется создание шаблона документа определенного вида. Разница состоит в выборе переключателя Шаблон (Template) в диалоговом окне Создание документа (New), рис. 8.2.

    Создание и корректировка списка

    Для создания нового списка необходимо выполнить следующие действия:
  • Поместить указатель мыши на верхнюю левую ячейку списка. Записать в нее имя первого поля.

  • Записать в соседние ячейки этой же строки имена всех остальных полей списка.

  • Изменить ширину столбцов таблицы, исходя из длины имени каждого поля. Если длина имени поля слишком велика в сравнении с данными, которые будут записываться в этот столбец, используйте комбинацию клавиш + для записи имени поля в пределах одной ячейки в несколько строк.

  • Выделить и присвоить ячейкам, образующим поле данных, нужные параметры форматирования (например, текстовый, денежный, числовой и др. форматы, в зависимости от назначения столбца списка).

  • Начиная со второй строки, ввести записи списка. Элементы записей могут содержать значения и формулы.

  • Таблица, оформленная таким образом, автоматически распознается Excel как список. Если формат ячеек с именами полей отличается от формата ячеек, предназначенных для хранения самих данных, то первая строка такой таблицы автоматически воспринимается в качестве имен полей.
    Для редактирования списка с помощью формы данных необходимо выполнить следующие действия:
  • Активизировать любую ячейку списка.

  • Выполнить команду Форма (Form) меню Данные (Data). На экране появится диалоговое окно, в котором будут представлены имена полей и их содержимое для первой записи списка. Последовательность имен полей в диалоговом окне формы данных соответствует их последовательности в списке. В окне формы данных всегда отображается только одна запись списка, которая может содержать до 32 наименований полей. Для выбора поля в пределах записи и "пролистывания" записей списка используются следующие клавиши и их сочетания:

  • , (+) - переход к следующей (предыдущей) записи; , () - переход к 10-й записи вперед (назад), начиная от текущей;

  • +, (+ ) - переход к первой (последней) записи списка;

  • , (+) - переход к следующему (предыдущему) полю внутри записи.

  • 166
    Для управления окном формы данных можно использовать также расположенные в нем кнопки. В частности, кнопка Критерии (Criteria) позволяет задавать условия, которым должны отвечать выводимые на экран записи. Все остальные записи списка в окне формы данных отображаться не будут. Такой процесс называется фильтрацией. Для изменения условий фильтрации необходимо нажать кнопку Критерии (Criteria) и внести изменения. Чтобы удалить заданные критерии и вернуться к отображению в окне формы данных всех записей списка необходимо нажать кнопку Очистить (Clear), а затем - кнопку Правка (Form).
    Замечания.
  • Форму данных можно использовать в случае, если первая строка списка содержит имена полей.

  • Если перед выводом на экран формы данных предварительно выделена часть списка, то в окне формы данных будут отображаться только поля и записи выделенной части списка.

  • 167
    166 :: 167 :: Содержание

    Создание и сохранение рабочей книги

    Создание новой рабочей книги аналогично созданию нового файла документа средствами Word. При этом может быть использован имеющийся шаблон. Создать новую рабочую книгу можно с помощью команды Создать (New) меню Файл (File) или нажатием кнопки Создать книгу (New Workbook) на панели инструментов. В первом случае у пользователя есть возможность выбора шаблона, как основы для будущей таблицы, а во втором случае такая возможность отсутствует.
    После нажатия кнопки Создать книгу (New Workbook) Excel откроет новую рабочую книгу с временным (до момента сохранения) именем Книга 1 (Bookl) и чистыми листами Лист 1 - Лист N (Sheet1 - Sheet N), где N - выбирается значением параметра Листов в новой книге (Sheets in New Workbook) на вкладке Общие (General) диалогового окна Параметры (Options). Если при этом в папке автозагрузки Excel XLStart находится файл Book.xls, то он будет использоваться в качестве стандартного шаблона для новой книги.
    Выполнение команды Создать... (New...) меню Файл (File) приводит к появлению диалогового окна Создание документа (New) с несколькими вкладками. Если на вкладке Общие (General) выбрать элемент Книга (Workbook), то это равнозначно созданию новой книги с помощью кнопки Создать книгу (New Workbook). Для использования одного из имеющихся в Excel шаблонов надо выбрать вкладку Решения и указать имя нужного шаблона. При этом в поле предварительного просмотра диалогового окна Создание документа (New) появится левый верхш, угол первого листа шаблона.
    После заполнения данными листа (листов новой рабочей книги ее содержимое необходимо сохранить в файле. Сохранение книги осуществляется выполнением команд Сохранить (Save) и Сохранить как... (Save As...) меню Файл (File), либо
    145
    нажатием кнопки Сохранить (Save) панели инструментов. При этом на экране появляется диалоговое окно Сохранение документа (Save As). В поле Имя файла (File Name) этого окна будет записано временное имя новой книги - Книга 1 (Bookl). Если при установке параметров, используемых по умолчанию, было задано имя рабочей папки для записи файлов книг, то оно будет высвечено в соответствующем поле диалогового окна.
    Используя указатель мыши и курсор ввода символов, можно задать новое имя файла, его расширение, выбрать папку, в которую файл будет записан. Кроме того, нажав кнопку Параметры (Options) этого окна, можно вывести на экран другое диалоговое окно с именем Параметры сохранения (Save Options). В этом окне для задания параметров сохранения файла имеются следующие флажки и поля.

    Установка флажка Всегда создавать резервную копию (Always Create Backup) приводит к тому, что при каждом сохранении файла сохраняется предыдущая версия файла под этим же именем, но с расширением bak.

    В поле Пароль для открытия файла (Protection Password) можно записать пароль, без указания которого рабочая книга не может быть открыта.

    В поле Пароль разрешения записи (Write Reservation Password) указывается пароль, знание которого необходимо будет подтвердить в дальнейшем после внесения изменений в книгу и попытке записать ее содержимое в файл с тем же именем.

    Если установить флажок Рекомендовать доступ только для чтения (Read Only Recomended), то пароль разрешения записи необходимо указывать не только при записи данных в файл с тем же именем, но и в файл с любым другим именем. Тем самым рабочая книга защищается от изменений посторонними пользователями.

    146

    145 :: 146 :: Содержание

    Создание пользовательского меню

    Пользователь может по своему усмотрению формировать меню, вызываемое нажатием клавиши . С помощью пользовательского меню удобно запускать для выполнения прикладные программы (скажем, редактор Лексикон, систему программирования и т.д.).
    Информация, используемая при вызове пользовательских меню, хранится в текстовых файлах с именем nc.mnu. Можно создать глобальное и локальные меню. Глобальное меню размещается в одном каталоге со всеми файлами оболочки NC. Каждое локальное меню
    72
    вызывается при условии, что текущим является каталог, в котором размещен файл nc.mnu этого локального меню.
    Для входа в режим создания или редактирования пользовательского меню нужно задать команду Команды \ Создание меню пользователя (Commands \ Menu file edit). В открывшемся диалоговом окне нужно выбрать вариант Главное (Main) пли Локальное (Local), чтобы создать или отредактировать главное или локальное пользовательское меню соответственно. В результате появится соответствующее меню.
    Для создания нового пункта меню нужно нажать клавишу , на появившейся панели выбрать переключатель Команда (New command) или Меню (Menu).
    При выборе переключателя Команда (New command) в появившемся диалоговом окне (рис. 4.3) требуется задать горячую клавишу, наименование команды (пункта меню), а также записать последовательность команд, которые должны быть выполнены при выборе этого пункта меню. Далее остается нажать ОК и подтвердить необходимость сохранения внесенных изменений.
    Рис. 4.3. Диалог создания пункта меню
    При выборе переключателя Меню (Menu) в появившемся диалоговом окне нужно задать горячую клавишу, указать наименование создаваемого подменю (пункта существующего меню) и нажать ОК с последующим сохранением меню в файле.
    Чтобы отредактировать существующий пункт, вместо клавиши нажимается клавиша . В остальном действия повторяются.
    При выборе в меню пункта, соответствующего названию подменю, появляется окно подменю, в котором создание и редактирование пунктов подменю выполняется аналогично основному меню.

    Создание таблиц

    В Visual FoxPro можно создавать таблицы, входящие в БД, и отдельные таблицы. Рассмотрим создание таблиц, входящих в БД.
    При создании таблицы ей присваивается имя, отражающее существо хранимой информации. При присвоении имен таблицам необходимо придерживаться следующих правил:
  • каждая таблица в БД должна иметь уникальное имя;

  • имя таблицы является именем одноименного файла, возможное число символов в имени определяется операционной системой;

  • имя таблицы может содержать буквы, цифры и знаки подчеркивания.

  • Для создания входящей в БД таблицы требуется выполнить команду Database \ New Table (база данных] новая таблица). Далее в диалоговом окне New Table (новая таблица) следует вызвать Конструктор таблиц (кнопка New Table - новая таблица) или Мастер таблиц (Table Wizard).
    Пример 1. Рассмотрим создание для нашей БД таблицы T_ZAGR(Fio, Predm, Gruppa, VidZan) с помощью Конструктора таблиц.
    258
    Рис. 21.2. Диалоговое окно Table Dezigner
  • Перейдем в Конструктор таблиц, нажав в окне диалога New Table (новая таблица) кнопку New Table (новая таблица). Определим имя создаваемой таблицы в окне Create (создать). В результате откроется диалоговое окно Конструктора таблиц Table Dezigner (рис. 21.2), позволяющее сформировать таблицу.

  • Выберем вкладку Fields (поля), введем имя первого ноля FIO. Для задания типа поля перейдем в следующий столбец с помощью мыши пли клавиши Tab. Тип поля в нем выбирается из раскрывающегося списка.

  • З.В следующем столбце установим размер поля. Для поля FIO эго 15 символов.

  • Установим заголовок ноля. Для этого перейдем в поле Caption (заголовок), расположенное в области Display и введем там заголовок "Фамилия И. О.". В поле Field Comment (комментарий поля) можно задать краткое описание поля.

  • Для задания сортировки данных в таблице по полю FIO надо перейти в столбец Index (индекс) и из раскрывающегося списка выбрать Ascending (возрастающий), если требуется сортировка в порядке возрастания данных, п Descending (убывающий) - по убыванию.
    Эта сортировка достигается использованием индексирования, о котором будет идти речь позже.


  • Аналогично определим остальные поля таблицы. При необходимости изменения порядка следования полей таблицы воспользуемся крайней левой кнопкой вкладки диалогового окна.


  • Полю VidZan (вид занятий) таблицы определим значение по умолчанию. Для этого выберем поле VidZan таблицы и в нижней части окна в поле Default value: (значение по умолчанию:) введем слово "Лекция".


  • 259

    Укажем назначение важнейших элементов диалогового окна:

  • Decimal - задает число цифр после десятичной точки в соответствующих типах данных;


  • Index - позволяет указать поле таблицы по которому она будет проиндексирована;


  • NULL - задает признак поля, позволяющий оставлять это поле пустым при вводе данных. Пустое поле в зависимости от его типа может быть пустой строкой, числом "ноль" или "False" (логическая ложь').


  • Назначение некоторых кнопок:

  • Insert (вставка) - вставка поля перед тем, на который установлен курсор;


  • Delete (удаление) - удаление выбранного поля.


  • Для формирования свойств таблиц необходимо перейти на вкладку Table (таблица) диалогового окна Конструктора таблиц. На этой вкладке можно ввести текстовый комментарий к таблице (поле Table Comment:), задать условия проверки вводимых данных на уровне записей (список Rule:) и задать триггеры (Triggers) - специальные подпрограммы, срабатывающие при выполнении таких операций с записями таблицы, как добавление, удаление и изменение. При этом контроль вводимых данных будет осуществляться при каждом обращении к таблице.

    260

    258 :: 259 :: 260 :: Содержание

    Создание трафаретов

    "Штатные" трафареты бывают двух видов. Автономные трафареты имеют расширение .vss и хранятся отдельно или вместе с шаблонами. Встроенные трафареты хранятся вместе с готовыми схемами и содержат все использованные в них стандартные фигуры.
    Для создания нового трафарета нужно произвести следующие действия.
  • Из меню File (Файл) выбрать New| Stencil (Новый | Трафарет).

  • Из списка Based On (Основанный на) выбрать No Stencil (Нет трафарета) или трафарет, выбираемый как базовый. Нажать ОК.

  • Создавать новые заготовки и/или отредактировать копии старых.

  • Перетащить их в окно нового трафарета.

  • 219
  • Для каждой фигуры щелчком правой кнопки мыши вызвать меню редактирования свойств (Properties), отредактировать заготовку иконки, подпись и пояснения к ней.

  • Сохранить файл с расширением .vss в режиме "только чтение".

  • При редактировании иконки появляется ее растровое изображение и палитра цветов, которыми можно "зарядить" левую и правую кнопки мыши, после чего корректировать изображение. Коррекция заканчивается закрытием окна.
    "Авторские" трафареты запоминаются как файлы с расширением .vss и в список трафаретов не включаются. Для работы с таким трафаретом следует открыть новый файл, указав режим No Stencil (Нет трафарета), а затем вызвать файл с трафаретом. Дальнейший режим не отличается от работы со штатными трафаретами.
    По умолчанию трафареты открываются в режиме "только чтение", на что указывают фигурные скобки, окаймляющие название трафарета. Для модификации необходимо скопировать трафарет.
    Для добавления могут быть использованы объекты из других Windows-приложений. Окно для коррекции фигуры из трафарета открывается двойным щелчком левой кнопки мыши.
    Добавление фигуры из одного трафарета к другому легко организуется перетаскиванием через "рисовальное" окно. Фигуру нужно отметить указателем и затем втащить мышью в трафарет (указатель мыши должен быть белым!). После этого к трафарету применяется команда Window| Arrange Icons (Окно | Выстроить иконки).
    Для редактирования стандартной фигуры в копии трафарета следует:
  • дважды щелкнуть фигуру, подлежащую редактированию; откроется окно редактирования главных фигур;

  • выполнить редактирование теми же средствами, что при обычном рисовании;

  • закрыть окно и дать утвердительный ответ на вопрос о сохранении изменения.

  • Иконки, подписи и аннотации к ним могут корректироваться так же, как при создании нового трафарета.
    220
    219 :: 220 :: Содержание

    Списки

    Список - это упорядоченный набор объектов - элементов списка, следующих друг за другом. Элементы списка в языке Турбо-Пролог должны принадлежать одному и тому же доменному типу. Объектами списка могут быть: целые числа, действительные числа, символы, символьные строки, структуры.
    Совокупность элементов списка заключается в квадратные скобки, а элементы друг от друга отделяются запятыми. Примерами списков являются:
    [10,24,1,8,385,0,8]
    [0.4,67.43,986.01,914.5]
    ["ПЕТРОВ П.Р.","ИВАНОВ Б.О.","СИДОРОВ Т.К."]
    Список может содержать произвольное число элементов (ограничением является объем доступной оперативной памяти). Список, не содержащий элементов, называется пустым списком и обозначается []. Обработка списков в Турбо-Прологе базируется на разбиении списка на голову - первый элемент в списке и хвост - остальную часть списка. Например, как показано в следующей таблице:

    Список Голова Хвост
    [1,2,3,4] 1 [2,3,4]
    ['а'.'b'.'с'] 'а' ['bYc'l
    ["Курсант"] "Курсант" [ ]
    [] не определено не определено

    Наглядным представлением процесса разбиения списка на голову и хвост является графическое представление в виде бинарного (двоичного) дерева. Для списка [1,2,3,4] таким деревом будет следующее:
    Для использования списков в Пролог-программе необходимо:
    1) В разделе domains описать домен списка. Домен списка задается в формате:
    = *
    319
    Например, домен списка, элементами которого являются целые числа, описывается следующим образом:
    domains
    list_num=integer*
    или
    list_num=elem*

    elem= Integer
    2) Описать работающий со списком предикат в разделе predicates, например:
    predicates
    num(list_num)
    3) Ввести или создать в программе собственно список, т.е. задать список в разделах
    goal или clauses.
    Пример задания списков в Пролог-программе:
    domains
    Iist1=symbol*

    Iist2=num*

    num=integer

    predicates
    name(list1)

    score(list2)

    clauses
    name(["ПЕТРОВ П.Р.","ИВАНОВ Б.О.","СИДОРОВ Т.К."]).

    score([1,3,5,7,9]).

    Ниже приведены примеры внешних запросов к программе и получаемые при этом результаты:

    Запрос Результат
    nате(Х) Х= ["Петров П. Р.", "Иванов Б. О.", "Сидоров Т. К."].
    name([_, Y, _]) Y="Иванов Б. О."
    score([A,B,_,_,C]) A=1,B=3,C=9
    При использовании в Пролог-программе списков с произвольным числом элементов используется метод разделения списка на голову и хвост. Этот метод обеспечивает рекурсивную обработку списка. Операция разделения списка на голову и хвост в языке Турбо-Пролог обозначается вертикальной чертой (|) и записывается в виде:

    [Head | Tail]

    Здесь: Head - переменная для обозначения головы списка; Tail - переменная для обозначения хвоста списка.

    Пример 1. Рассмотрим программу распечатки содержимого списка, элементы которого могут быть целыми числами или символьными строками:

    domains

    Iist1=integer*

    320

    Iist2=symbol*

    predicates

    printjist(listl)

    print_list(list2)

    clauses

    print_list([]).

    print_list([Head|Tail]):-write(Head),

    nl,

    print_list(Tail).

    goal

    print_list([1,2,3,4]).

    В данной программе предикат списка print_list() описан для двух типов доменов, поэтому с его помощью могут обрабатываться списки, элементами которых являются как целые числа, так и символьные строки. В программе реализован рекурсивный метод обработки.

    Первое правило программы print_list([]) описывает тот факт, что пустой список не нужно печатать, оно же является условием выхода из рекурсии, используемым во втором правиле - печать списка завершается тогда, когда список пуст. Опишем работу программы.

    Первоначально аргумент целевого внутреннего запроса printjist([1,2,3,4]) сопоставляется с первым вариантом правила; сопоставление терпит неуспех, так как [1,2,3,4]#[]. Затем выбирается второй вариант правила, здесь сопоставление завершается успехом и выполняется операция - разделения целевого списка на голову и хвост. Результатом ее является означение Head=1 и Tail=[2,3,4]. Далее начинают последовательно выполняться предикаты тела правила.


    Первым в теле стоит стандартный предикат write(Head), который выводит на экран значение переменной Head, в данном случае 1, затем выполняется предикат nl - перевод строки и формируется рекурсивный вызов print_list([2,3,4]). Снова обращение к первому варианту правила и снова неуспех - [2,3,4]#[], и снова успешное сопоставление со вторым вариантом и т.д. В конечном итоге переменная Head становится равной 4, a Tail=[], и теперь после рекурсивного вызова printjist([]) сопоставление для первого варианта правила завершится успехом - []=[], этот вариант правила не имеет рекурсии - он является фактом и интерпретируется Прологом как цель достигнута и целевой запрос считается удовлетворенным.

    Пример 2. Рассмотрим Пролог-программу подсчета суммы произведений элементов двух векторов X и Y, представленных списками Х=[х1 ,х2,.. .хn] и Y=[y1 ,у2 ,.. ,уn]:

    domains

    vector=integer*

    predicates

    prod(vector, vector, integer)

    clauses

    prod([],[],0).

    prod([X|Xs],[Y|Ys],S):-prod(Xs,Ys,Sp),

    321

    S=X*Y+Sp.

    goal

    prod([1,2,3],[7,8,9],Rest),white("Rest=",Res).

    Предикат prod (...) является трехместным: первый аргумент - список X, второй - список Y и третий - сумма произведений списков. В разделе clauses описаны два варианта правила для этого предиката.

    Первый вариант - утверждение о том, что сумма произведений элементов пустых списков равна 0. Второй вариант правила реализован с использованием хвостовой рекурсии. Выражение S=X*Y+Sp означает, что текущая сумма равна сумме произведений текущих элементов вектора и частичной суммы, полученной на предыдущих шагах вычислений.

    Схематично действия при выполнении программы представлены в табл. 24.2. Рекурсивное правило описывает отсроченные вычисления - после рекурсивного вызова остается не выполненным хвост правила, копии которого помещаются в стек до тех пор, пока не произойдет сопоставление с первым вариантом правила. И после того, как это произойдет, частичная сумма Sp" получит значение 0 и все накопленные в стеке хвостовые вычисления будут выполнены в обратном порядке.


    Таблица 24.2

    Действия при выполнении программы

    Вызов предиката Подстановки Хвостовые вычисления Результаты вычислений
    Prod([1, 2,3], [7,8,9], Res) X=1, Y=7, Xs=[2,3], Ys=[8,9], Res=S S=X*Y+Sp S=1*7+43=50
    Prod([2,3],[8,9],Sp) X'=2, Y'=8, Xs'=[3], Ys'=[9], S=Sp Sp=X'*Y'+Sp' Sp=2*8+27=43
    Prod([3],[9],Sp') X"=3, Y"=9, Xs"=[], Ys"=[], Sp=Sp' Sp'=X"*Y"+Sp" Sp'=3*9+0=27
    Prod([],[],Sp") Xs"=[],Ys"=[], Sp"=0   Sp"=0
    Ниже приведен текст Пролог-программы, в которой реализованы основные операции над списками целых чисел: создание списка, добавление элементов в список, распечатка содержимого списка, удаление элемента из списка, упорядочивание элементов в списке. В программе реализован оконный интерфейс и используется модель общения типа выбора из меню.

    domains

    Sp1, Sp= integer*

    P, U, Z, Z1, N1, N, N2, X, F, P1, Q = integer

    predicates

    edit_list window(Sp, P) view_list(Sp)

    make_list(Sp) delete_list(Sp)

    process(X,Sp,P) insert_sort(Sp,Sp)

    322

    attent_windowcreate(N,Sp,Z)

    list(Sp,integer) insert(integer,Sp,Sp) inversion(Sp,Sp)

    split(integer,integer,Sp,Sp,Sp)connect(Sp,Sp,Sp)

    add_list(Sp) goto(Sp,integer) prt(char,Sp)

    qrt(char,Sp) delete(integer,Sp) sound1 sound2

    goal

    edit_list.

    clauses

    /*------------------------------------ОСНОВНОЕ МЕНЮ------------------------------------*/

    edit_list:-window([],0).

    window(Sp,P):-makewindow(1,31)7l"MEHЮ

    РЕДАКТОРА",0, 0, 25, 80), cursor(5,15),

    write(" СОЗДАНИЕ СПИСКА -1 "),cursor(7,15),

    write(" ПPOCMOTP СОДЕРЖИМОГО СПИСКА - 2"),cursor(9,15),

    write("КОНКАТЕНАЦИЯ СПИСКА И ЭЛЕМЕНТА - 3"),cursor(11,15),

    write("УДАЛЕНИЕ - 4"),cursor( 13,15),

    write("УПОРЯДОЧИВАНИЕ СПИСКА ПО ВОЗВРАСТАНИЮ-5"),cursor(15,15),

    write("BЫХОД ИЗ РЕДАКТОРА - 6"),cursor(20,10),

    write("Введите номер пункта меню:"),sound1,

    readint(X),sound(8, 2000), X

    process(1 ,Sp,0):-make_list(Sp).

    process(1,Sp,1):-make_list([]).

    process(4,Sp,0):-attent_window,window(Sp,0).

    process(4,Sp,1):-delete_list(Sp).

    process(2,Sp,0):-attent_window,window(Sp,0).

    process(2,Sp,1):-view_list(Sp).

    process(3,Sp,0):-add_list(Sp).

    process(3,Sp,1 ):-add_list(Sp).

    process(5,Sp,0):-attent_window,window(Sp,0).

    process(5,Sp,1):-insert_sort(Sp,Sp1),view_list(Sp1).

    process(6,Sp, 1 ):-sound2, exit. process(6,Sp,0):-sound2, exit.

    /*------------------------------------СОЗДАНИЕ СПИСКА---------------------------------*/

    make_list(Sp):-makewindow(2,48,7," СОЗДАНИЕ СПИСКА",5,5,15,70),

    gotowindow(2),cursor(3,8),

    write("Количество элементов в списке - "),readint(N),

    sound(8,2000),cursor(5,8),

    write(" Введите элементы списка: "),Z=1,Sp=[],create(N,Sp,Z).

    create(0,Sp,Z):-inversion(Sp,[]).create(N,Sp,Z):-

    write(" # ",Z,"-"),readint(U),sound(8,3000),scroll(1,0),cursor(5,32),

    N1 =N-1, Z1 =Z+1 ,create(N1 ,[U | Sp],Z1).

    inversion([],Sp1 ):-window(Sp1,1).

    inversion([H|T],Sp):-inversion(T,[H|Sp]).

    323

    /*---------------- ОКНО ПРЕДУПРЕЖДЕНИЯ ----------- */

    attent_window:-akewindow(3, 64,7, "BHИMAHИE",10,25,5,30),gotowindow(3),nl,

    write(" Ваш список пустой !"),sound(50,1 000), readchar(L).

    /*-------------------------УДАЛЕНИЕ ---------------------*/

    delete_list(Sp):-makewindow(8,48,7,"УДAЛEHИE",5,15,15, 45), gotowindow(8)l

    write(""),nl,

    write(" СПИСКА - 1 "),nl,

    write(" ЭЛЕМЕНТА В СПИСКЕ - 2 "),nl, cursor(7,5),readint(N),delete(N, Sp).

    delete(1, Sp):-makewindow(9, 64, 7,"", 10, 23, 5, 30), gotowindow(9),nl,

    write("CПИCOK УДAЛEH!"), sound1, readchar(U),window([], 0).

    delete(2,Sp):-makewindow(4, 48, 7, " УДАЛЕНИЕ ЭЛЕМЕНТА", 10, 15, 5,45),

    gotowindow(4),nl,

    write(" Введите номер удаляемого элемента: "),readint(S),N=0,

    split(S,N,Sp,Sp1,[H|T]),connect(Sp1,T,Sp3),view_list(Sp3).

    split(S, N,[H|T],[H|L1],L2):-N1=N+1,N1

    split(S,N, [H|T],L1,[H|L2]):-N1=N+1,split(S,N1,T,L1,L2),N1>=S.

    connect([],L,L).

    connect([N | L1 ],L2,[N | L3]):-connect(L1 ,L2,L3).

    /*------------------- ПРОСМОТР СОДЕРЖИМОГО СПИСКА --------- */

    view_list(Sp):-makewindow(5,48,7,"COДEPЖИMOE СПИСКА",5, 1 5, 1 5,45),

    gotowindow(5),cursor(10,5),list(Sp,1),readchar(L),window(Sp,1).

    list([], N).

    list(T,7):-readchar(L),scroll(1 ,0),cursor( 10,5),list(T, 1 ).

    list([H|T],N):-N1=N+1,N2=N1*6,write(H), sound(10,3000),

    cursor(10,N2),list(T,N1),!.

    /* ------- УПОРЯДОЧИВАНИЕ ЭЛЕМЕНТОВ ПО ВОЗРАСТАНИЮ-----------*/

    insert_sort( [],[]).

    insert_sort([X|Tail],Sorted_list):-insert_sort(Tail,Sorted_Tail),

    insert(X,Sorted_Tail,Sorted_list).

    insert(X,[Y|Sorted-list],[Y|Sorted_list1]):-X>Y,!,

    insert(X,Sorted_list,Sorted_list1).

    insert(X,SortedJist,[X|Sorted_list]).

    /* ----------- ДОБАВЛЕНИЕ ЭЛЕМЕНТА К СПИСКУ -------- */

    add_list(Sр):-makewindow(6,48,7,"ДОБАВЛЕНИЕ К СПИСКУ",5, 15, 15,45),

    gotowindow(6), cursor(3,5),

    write("B НАЧАЛО СПИСКА - 1 "),cursor(5,5),

    write("B КОНЕЦ СПИСКА - 2"),cursor(7,5),

    readint(L),sound(8,2000),L

    goto(Sp, 1 ):-makewindow(7,48,7, "ДOБABЛEHИE К СПИСКУ",5, 15, 15,45),

    gotowindow(7),cursor(5,5),

    write("BBEДИTE НОВЫЙ ЭЛЕМЕНТ: "),cursor(5,28),

    readint(X),sound(8,3000),connect([X],Sp,Sp1),cursor(7,5),

    324

    write (" ЕЩЕ - ? < y/n > "),readchar(Z),sound(8, 2000),qrt(Z,Sp1).

    goto(Sp,2):-makewindow(8,48, 7,"ДOБABЛEHИEKCПИCKУ", 5, 15,15,45),

    gotowindow(8),cursor(5,5),

    write("BBEДИTE НОВЫЙ ЭЛЕМЕНТ: "),cursor(5,28),

    readint(X), sound(8,3000),connect(Sp,[X], Sp1),cursor(7,5),

    write("ЕЩЕ - ? < y/n > "),readchar(Z),sound(8,2000),prt(Z,Sp1).

    prt('y',Sp1):-goto(Sp1,2).

    prt('n',Sp1 ):-view_list(Sp1).

    qrt('y',Sp1):-goto(Sp1,1).

    qrt('n',Sp1 ):-view_list(Sp1).

    /*------------------------------------------------------------------------------------*/

    soundl :-sound(15,1000),sound(15,1500),sound(15,2000).

    sound2:-sound(15,2000),sound(15,1500),sound(15,1000).

    325

    319 :: 320 :: 321 :: 322 :: 323 :: 324 :: 325 :: Содержание

    Справочная система

    В MS DOS 6.2/6.22 вызов справки выполняется заданием в командной строке команды Help. В результате появляется диалоговое окно (рис. 3.2). В нем содержится полный список команд DOS.
    Рис. З.2. Диалоговое окно справочной системы
    При выборе любой из команд (с помощью мыши или клавиш перемещения курсора) в окне появляется поясняющая информация. В ней содержится три раздела: - описание команды, - синтаксис и - примеры применения (рис. 3.3).
    Перемещение по справочной системе выполняется путем выбора нужных команд, в рамках справки для выбранной команды можно выбирать разделы для просмотра. Возврат
    59
    Рис. 3.3. Примеры команд в окне справочной системы
    на предыдущий уровень справочной системы выполняется с помощью клавиши . Выход из справочной системы выполняется по команде File | Exit (Файл | Выход).
    60
    59 :: 60 :: Содержание

    Сравнительные характеристики текстовых процессоров

    Текстовые редакторы и процессоры условно можно разделить на следующие основные группы:
    1.Редакторы для подготовки простейших текстовых доку ментов и внесения небольших изменений в имеющиеся текстовые документы. К их числу следует отнести
    Таблица 8.1
    Сравнительные характеристики текстовых процессоров

    Характеристики Лексикон 1.3 Лексикон 2.0 Word 6.0,7.0 Word Perfect 6.0 Ami Pro 3.1 MultiEdit 7.0
    Развитость графических средств -+ + + + + -
    Автоматизированное форматирование - ++ ++ + 4- ++ -
    Развитость средств записи формул + - + + + +
    Удобство работы с таблицами + - ++ + + ++ +
    Поддержка WYSIWYG + ++ ++ + + ++ -
    Поддержка OLE 2.0 - -+ + + - -
    Быстродействие + - -+ - + +
    Работа с несколькими документами + + + + + +
    Работа с многофайловым документом - - ++ ++ ++ -
    Многооконная работа с документами -+ + + + + -+
    Развитость средств проверки правописания + + + + + +
    Автоматическое разделение слов при переносе ++ ++ ++ + + +
    Автонумерация элементов документа - + ++ ++ -+ -
    Развитость справочной системы + - ++ + + ++ +
    Протоколированное создание макро - - ++ + + ++ -
    Совместимость с другими программами + -+ ++ + ++ +

    105
    редактор Edlin операционной системы MS DOS и редактор оболочки Norton Commander.
    2. Редакторы для подготовки тестовых документов с достаточно широкими возможностями по форматированию абзацев, разбиению на страницы, средствами лексического контроля за правильностью набора текста и т.д. К данной группе нужно отнести редакторы Лексикон 1.3, MultiEdit 7.0 и редактор Write в составе Windows.
    3. Специализированные редакторы для подготовки научных текстов. К их числу относятся ChiWriter 4.2 и ТЕХ, которые отличаются широкими возможностями по подготовке документов с большим количеством математических формул.
    4. Текстовые процессоры, обладающие большими возможностями подготовки текстовых документов с большим наборов шрифтов и управляемым размером букв.
    Представителями данной группы являются Лексикон 2.0, Word, WordPerfect, Ami Pro и др.

    По отношению к операционной среде применения перечисленные текстовые процессоры ориентированы на DOS или Windows. Последние имеют более развитые графические возможности, удобный пользовательский интерфейс.

    Некоторые сравнительные характеристики для широко распространенных текстовых редакторов приведены в табл. 8.1.

    Данные, приведенные в таблице, достаточно условны ввиду невозможности задания количественных характеристик. В случаях качественной оценки характеристик количество знаков "+" пропорционально степени их развитости средств. В остальных случаях символы "-" и "+" указывают на наличие или отсутствие соответствующего средства.

    В таблице не приведены данные о текстовом процессоре Word 97, который обладает возможностями Word 7.0 и следующими отличительными особенностями:

  • наличие средств создания и просмотра Web-страниц, возможность создания гиперссылок, в том числе и па объекты, размещенные в сети Internet;


  • наличие средств создания и настройки графических объектов с реализацией объемного или теневого эффекта, возможность настройки параметров изображения рисунков;


  • повышение удобства создания и перестройки таблиц за счет введения возможности рисования и стирания линий между ячейками таблиц и др.


  • Дадим краткую характеристику популярным текстовым процессорам и специализированным редакторам.

    Средства автоматизации разработки

    Для автоматизации разработки баз данных и приложений в среде Visual FoxPro имеются следующие средства визуального программирования: Мастера (Wizards), Конструкторы (Designers) и Построители (Builders).
    Мастера позволяют сконструировать требуемый объею, например, таблицу, просмотр или метку, путем выбора одного из предлагаемых вариантов оформления объекта в ходе пошаговой (с ограниченным числом шагов) процедуры формирования объекта.
    Конструкторы предоставляют существенно большие возможности по формированию облика создаваемого объекта. Естественно, что при этом может потребоваться несколько больше времени.
    Построители помогают формировать отдельные элементы управления при создании объекта или комбинировать конструкции при создании выражений. Можно сказать, что Построители являются аналогами Конструкторов, ориентированными на автоматизацию создания составляющих элементов объектов.
    Мастера удобно использовать при необходимости создать в кратчайший срок несложное приложение. Если возможностей Мастеров окажется недостаточно, целесообразно прибегнуть к помощи Конструкторов и Построителей. При создании крупных проектов могут потребоваться объектно-ориентированные средства Visual FoxPro создания пользовательских классов, упрощающие создание пользовательских интерфейсов программ проекта.
    252
    252 :: Содержание

    Средства формирования запросов

    Выборка информации из БД может осуществляться: с помощью команды SELECT SQL языка Visual FoxPro, которая является аналогом соответствующе]! команды языка SQL; с помощью Мастера запросов и с помощью Конструктора запроса.
    Команда SELECT имеет множество возможностей (опции). Ее упрощенное представление имеет следующий вид:
  • SELECT СписокВыбираемыхПолей

  • FROM СписокТаблиц - источник данных [INTO ИмяТаблицы получателя данных]

  • [WHERE УсловиеВыборки]

  • [GROUP BY Условие Группировки]

  • [ORDER BY УсловисУпорядочнвания выводимых данных]

  • [ТО FILE ИмяФайла ТО PRINTER - направление вывода данных]

  • Квадратные скобки указывают на необязательность опции.
    Конструктор запроса позволяет:
  • выбирать данные из одной или нескольких таблиц, используя сложные критерии;

  • устанавливать временные связи между таблицами;

  • выбирать поля и записи таблиц с требуемыми данными;

  • выполнять вычисления с использованием выбранных данных.

  • Работа с Конструктором запроса сводится к заполнению форм запроса. Результатом запроса всегда является таблица, которая может быть сохранена в массиве или в созданной новой таблице, отображена на экране или оформлена в виде отчета. Данные, содержащиеся в результирующей таблице, могут быть представлены в виде графика или гистограммы. Рассмотрим формирование запросов с помощью Конструктора запроса.
    Для вызова Конструктора запроса после открытия БД можно воспользоваться командой File New (файл \ создать) системного меню Visual FoxPro. При выполнении этой команды открывается диалоговое окно New (рис. 21.1), в котором нужно выбрать переключатель Query (запрос) и нажать кнопку New File (новый файл). В открывшемся диалоговом окне Add Table or View (Добавить таблицу или просмотр) следует выбрать одну или несколько таблиц и нажать ОК. В результате откроется окно Конструктора запроса (рис. 22.1), содержащее выбранные таблицы, а в системном меню Visual FoxPro появится пункт Query (запрос).
    После того как определена таблица (одна или несколько), для формирования запроса в диалоговом окне Конструктора необходимо:

  • выбрать поля, содержащие искомые данные;


  • задать критерии выборки, упорядочения и группировки данных;


  • указать, куда выводится результат запроса.


  • Для решения перечисленных задач Конструктор содержит: панель для отображения таблиц, используемых в запросе (в рассматриваем примере на ней находится одна таблица Т_ргер), и вкладки (табл. 22.1).

    269

    Рис 22 1 Окно Конструктора запроса с таблицей T_PREP

    Поле Functions and expressions (функции и выражения) ислюльзуются для включения в запрос функции и ш выражения

    По окончании формирования запроса в диаговом окне Конструктора результат выполнения опроса можно оценить выполпив команду Query Run Query (запрос выполнить запрос) системною меню

    Для повторного выполнения запроса сформированного в окис Конструктора и о не обходимо сохранить Для этого достаточно выполнить команду File \ Save (файл \ со-

    Таблица 22.1

    Назначение вкладок диалогового окна Конструктора запроса

    Вкладка Назначение
    Fields Выборка полей в результирующую таблицу
    Join Задание условий объеденения таблиц
    Filter Задание фильтра (условии отбора записей)
    Order By Задание критерия упорядочивания
    Group By Задание условий группировки данных
    Miscellaneous Дополнительные установки (признак выборки повторяющихся значении, количество выбираемых данных)
    270

    хранить) и в открывшемся окне указать полное имя файла, в котором будет сохранено окно с описанием запроса. В результате будет создан файл, хранящий запрос, с расширением QPR. Теперь для повторного выполнения запроса достаточно открыть этот файл командой File \ Open (файл \ открыть) и запустить на выполнение командой Query \ Run Query (запрос \ выполнить запрос).

    271

    269 :: 270 :: 271 :: Содержание

    Средства мультимедиа

    В Windows 98 встроен новый мультимедиа-проигрыватель Active Movie Control, являющийся составной частью DirectShow, который поддерживает большинство мультимедиа-форматов: MPEG аудио и видео, WAV, AVI, QwickTime Video, MIDI, AU, и AIFF, а также проигрыватель цифровых видео дисков DVD Player (Digital Video Disc).
    Программа NetShow обеспечивает воспроизведение аудио- и видеофайлов из Internet в реальном масштабе времени по мере их загрузки, а программа WebTV позволяет просматривать на экране телепередачи и принимать данные, передаваемые средствами телевещания, из Internet. Для создания компьютерных игр в систему встроен DirectX 5.O.
    97
    97 :: Содержание

    Стандартные предикаты

    Стандартные (встроенные в систему) предикаты выполняют разнообразные функции по выполнению ввода-вывода переменных различных типов, работе с файлами, выполнению функций DOS, обработке строк, поддержке графического режима, обеспечение интерфейса с другими системами программирования (С, Паскаль) и т.д. Всего в системе содержится более 200 стандартных предикатов.
    Для использования стандартных предикатов необходимо знать имя предиката, способы его вызова, число и типы значений параметров, а также режимы их передачи. Режим передачи описывается обычно в виде шаблона, который показывает, какие из параметров являются входными (в шаблоне обозначается i или вх), а какие выходными (в шаблоне обозначается о или вых) для предиката. Приведем основные стандартные предикаты Турбо-Пролога в следующем формате:
    предикат(список аргументов) (типы доменов):(шаблон)
    Каждый предикат дополнен кратким описанием его назначения.
    makewindow(HoмOкнa, АтрЭкр, АтрРамки, СтрРамки, Строка, Столбец, Высота, Ширина,ЧиститьОкно, ПозСтрРамки, ЗнакиГраницы)

    (integer, integer, integer, string, integer, integer, integer, integer, integer, integer, string): (вх, вх, вх, вх, вх, вх, вх, вх, вх, вх, вх),(вых, вых, вых, вых, вых, вых, вых,вых, вых, вых, вых)
    Создает окно с номером аргумент НомОкна. Остальные аргументы предиката имеют следующий смысл:
    АтрЭкр определяет цвет символа и фона.
    АтрРамки - при отличном от нуля значении рисуется граница - линия обрамления окна.
    СтрРамки указывает строку, помещаемую в центре верхней границы контура окна.
    Строка, Столбец - вертикальная и горизонтальная координаты верхнего левого угла окна.
    Высота, Ширина - высота (число строк) и ширина (число колонок) окна.
    325
    ЧиститьОкно определяет, будет ли чиститься окно после его создания: О = Не чистить окно; 1 = Чистить окно.
    ПозСтрРамки определяет место размещения заголовка окна (внутри верхней линии рамки окна): -1 = Заголовок в центре; N = Размещает заголовок с указанной позиции. ЗнакиГраницы описывают, как рисовать рамку окна; этот аргумент состоит строго из шести символов, обозначающих: верхний левый угол, верхний правый угол, нижний левый угол, нижний правый угол, горизонтальную линию и вертикальную линию соответственно.
    Например: "\218| 191\192\217\196\179" - граница из одной линии; "\201\187\200\188\205\186" -граница из двух линий; "++++ -" -другой вариант описания границы.

    readchar(СимволПеременной)(char):(вых)

    Читает единственный символ с текущего устройства ввода, которым является по умолчанию клавиатура, пока оно не будет изменено с помощью readdevice.

    readdevice(СимвИмяФайла) (symbol):(вx), (вых)

    Устанавливает или выдает текущее устройство ввода.

    (вх): назначает текущее устройство ввода на открытый файл с данным Символич-ИмяФайла. Открываемый файл может быть один из стандартных файлов или любой файл пользователя с символическим именем, открытый для чтения или модификации, (вых): связывает СимвИмяФайла с именем текущего устройства ввода. Стандартные файлы, которые могут быть открыты для ввода: com"! - чтение из последовательного порта связи; keyboard - чтение с клавиатуры (по умолчанию); stdin - чтение из стандартного ввода DOS.

    readint(ПеременнаяЦел)(integer):(вых)

    Читает целое число с текущего устройства ввода. Преобразование символов не осуществляется, пока readint не встретит символ возврата каретки (ASCI! 13).

    readln(ПеременнаяСтр)(string):(вых)

    Считывает строку символов с текущего устройства ввода до символа символ возврата каретки (ASCII 13). Самая большая строка, которая может быть прочитана на экране, содержит 147 символов.

    readreal(ПеременнаяВещ)(геаl):(вых)

    Читает вещественное число с текущего устройства ввода, пока не прочитает символ возврата каретки. Если нажат Esc (ключ), readreal немедленно не согласуется. Readreal также не согласуется, если символы не образуют правильное вещественное число или они определяют вещественное число, превышающее допустимые границы.

    write(e1,e2,e3....eN):(Bx,Bx,BX...Bx)

    Выводит значения констант или переменных в текущее окно или на текущее устройство вывода. Write может быть связан с произвольным ненулевым числом аргументов ei. Аргументы не могут быть свободными переменными.


    326

    writedevice(СимвИмяФайла)(symbol):(вх),(выx)

    Устанавливает или выдает текущее устройство вывода.

    (вх): переназначает текущее устройство вывода в открытый файл с данным СимвИмя-Файлэ. Открытый файл может быть одним из стандартных символических файлов или любым пользовательским файлом, открытым для записи или для модификации, (вых): связывает СимвИмяФайла с текущим устройством вывода. Для вывода могут использоваться следующие встроенные файлы: соm1 - последовательный порт; printer - параллельный порт принтера; screen - экран монитора; stdout - стандартный вывод DOS; stderr - файл стандартных ошибок.

    removewindow/0

    Удаляет текущее окно и переходит к предшествующему окну.

    writef(ФорматСтр,Apг1,Apг2,Apг3... ):(вх,вх....вх)

    Выполняет форматированный вывод. Аргументы Арг1 - ApгN могут быть константами или переменными. Форматы задаются в виде строки ФорматСтр обычного текста, где символы % отмечают положение аргументов строки. Допустимые спецификации формата содержат обычные символы, которые печатаются без модификации, и формат спецификаций формы %-m.pf. Формат спецификаций означает: - (дефис) показывает, что поля выравниваются слева; m поле - десятичное число, описывающее минимальный размер поля; .р поле описывает или точное представление числа с плавающей точкой, или максимальное количество напечатанных в строке символов.

    f поле описывает следующие форматы:

    f - формат вещественного в фиксированной десятичной системе счисления (такой, как 123.4 или 0.004321);

    е - формат вещественного в экспоненциальной форме представления;

    g - формат вещественного в коротком формате (используется по умолчанию);

    d - формат символов или целых десятичных чисел;

    u - формат символов или целых чисел как десятичное число без знака;

    х - формат символов или целых чисел как шестнадцатеричного числа;

    с - формат символов или целых чисел как символа;

    R - использует аргумент как ссылку на номер указателя базы данных (только ref домен);

    X - использует аргумент как длинное шестнадцатеричное число (строки, номер указателя базы данных);


    s - формат как строка (символов и строк).

    asserta()(dbasedom):(вx)

    Заносит факт (утверждение) в начало резидентной базы данных (домен, обозначенный как dbasedom, автоматически объявляется для каждого предиката из раздела database).

    assertz(X)(dbasedom):(вx)

    Заносит факт (утверждение) X в конец резидентной базы данных.

    327

    retract(X):(Bx)

    В базе данных осуществляется поиск утверждения, голова и тело которого сопоставляются с термом X. Первое такое утверждение удаляется из базы данных. Аргумент (терм X) должен быть конкретизирован составным термом.

    retractall(X):(Bx)

    Удаляет из базы данных все утверждения, функтор и арность которых сопоставимы с Х.

    frontchar(Стр, ПерСимв,OcтCтp)(string,char,string):

    (вх,вых,вых), (вх,вх,вых), (вх,вых,вх), (вх,вх,вх),(вых,вх,вх)

    (вх,вых,вых): присваивает первый символ строки Стр переменной ПерСимв, а остаток строки - переменной ОстСтр. Возможны и другие комбинации входных и выходных аргументов.

    frontstr(ЧислСимв,Стр1,НачСтр,Стр2)(integer,string,string,string):(вх, вх, вх, вых)

    Присваивает первые ЧислСимв символов строки Стр 1 переменной НачСтр, а остаток строки - переменной Стр2.

    fronttoken(Cтp,3нaк,OcтCтp)(string, string, string):

    (вх,вых,вых),(вх, вх,вых),(вх,вых,вх),(вх,вх,вх),(вых,вх,вх)

    (вх,вых,вых): переменной Стр присваивается результат конкатенации Знаки ОстСтр. Знак может быть группой символов, задающих допустимое имя, либо символьным представлением числа, либо одиночным символом, отличным от пробела. В других комбинациях входных и выходных аргументов должны быть означены минимум два аргумента предиката.

    cursor(Cтp,Kол)(integer,integer):(вх,вх),(вых, вых)

    (вх,вх): помещает курсор в позицию с координатами (Стр,Кол).

    328

    325 :: 326 :: 327 :: 328 :: Содержание

    Статистические пакеты

    Методы математической статистики позволяют выявлять закономерности на фоне случайностей, делать обоснованные выводы и прогнозы, оценивать вероятности их выполнения. Методы обладают высокой степенью универсальности, а их применимость и технология использования практически не зависит от предметной области.
    Представление о задачах статистической обработки дает приведенное выше описание соответствующего раздела Maple. Еще большие возможности и удобства предоставляют специальные статистические программные пакеты (STADIA, SPSS, STATGRAPHICS, SASn др.).
    194
    194 :: Содержание

    Статистика

    SWP поддерживает вычисление стандартных характеристик выборки. Выборка задается списком в фигурных скобках пли вводится из ASCII-файла с расширением .txt, в котором числа записаны в столбец или через запятую (нужно вызвать меню File). Для столбцов матрицы можно получить матрицы корреляции и ковариацни.
    SWP может работать с распределениями 12 типов. Для любого из них можно стандартными средствами Maple строить графики соответствующих функций, определять вероятности попадания случайной величины в заданный интервал, решением уравнений вычислять квантили, интегрированием получать моменты. Указанные действия требуют
    202
    подстановки числовых значений параметров и в символьной форме выполнены быть не могут. Вызвав команду Random Numbers, можно формировать серии псевдослучайных чисел с заданным законом распределения.

    Стили программирования

    Одним из важнейших признаков классификации языков программирования является принадлежность их к одному из стилей, основными из которых являются следующие стили: процедурный, функциональный, логический и обьектно-орнентированный.

    Страницы и подложки

    Visio-схема может состоять из лицевой страницы и подложки (foreground-background pages). Подложка может содержать некоторое стандартное обрамление (рамку, угловой штамп, логотип организации или конкретного проекта, карту местности, план помещения и т.п.). Каждой лицевой странице может быть сопоставлена только одна подложка. На одну подложку могут опираться несколько лицевых страниц. Подложка сама может иметь под-
    221
    ложку. При подготовке лицевой страницы высвечивается результат "прозрачного" наложения всех слоев. Он же выводится при печати. Печать подложки может быть отключена.
    Дополнительные страницы создаются командой New Page (Новая страница). Сразу же назначается их тип и для лицевых страниц указывается подложка; поэтому работу следует начинать с подложки. Лицевая страница может быть преобразована в подложку через меню Раде (команды Page Setup или New Page).
    Подложка не может быть удалена, пока существуют налагаемые на нее лицевые страницы. Все совместно используемые страницы должны принадлежать к одному файлу.
    Единицы измерения для линеек и сетки назначаются через диалоговый бокс в Раде Setup (Установка страницы). Частота сетки при изменении масштаба поддерживается приблизительно постоянной.
    Размер схемы в целом может быть изменен посредством опции Size]Scale (Размер} Масштаб) того же меню, если выбрать Size отличным от Same as Print Setup (Тот же, что при печати). Переформатирование лицевой страницы не затрагивает надписи и подложку.
    222
    221 :: 222 :: Содержание

    Структура и функции MS DOS

    Операционная система MS DOS имеет развитые средства доступа ко всем аппаратным компонентам, обладает достаточно гибкой файловой системой, основанной на иерархической структуре каталогов, удобным командным языком. Последнюю версию этой ОС представляет MS DOS 6.22. Средства, предоставляемые ОС этого класса, позволяют формировать удобную операционную среду для разработки программного обеспечения. С другой стороны, на их основе достаточно просто можно создавать автоматизированные рабочие места с простыми средствами доступа к прикладным пакетам и программам.
    Основными компонентами MS DOS являются:
    55
  • базовая система ввода-вывода - BIOS (Basic Input/Output System);

  • системный загрузчик SB (System Bootstrap) - размещается в блоке начальной загрузки (Boot Record);

  • модуль расширения BIOS - располагается в скрытом файле io.sys-

  • модуль обработки прерываний - скрытый файл msdos.sys;

  • командный процессор - файл command.com;

  • утилиты, реализующие выполнение внешних команд MS DOS - файлы с расширением СОМ, например format.com;

  • драйверы устройств - размещаются в виде файлов на диске;

  • информация о желательных параметрах настройки MS DOS - при необходимости задается в файле конфигурации config.sys;

  • командный файл, при необходимости выполняемый для настройки параметров и конфигурирования MS DOS имеет имя autoexec.bat.

  • Рассмотрим функции некоторых из перечисленных компонентов MS DOS.
    Базовая система ввода-вывода находится в ПЗУ компьютера и устанавливает связь между обладающими некоторыми фирменными особенностями техническими средствами и стандартизированным программным обеспечением, а именно с операционной системой. Ее назначение состоит в выполнении наиболее простых и универсальных функций операционной системы, связанных с вводом-выводом. BIOS в ПЗУ содержит также тест функционирования компьютера, проверяющий работу памяти и устройств при включении питания. Кроме того, он содержит программу вызова загрузчика ОС.
    BIOS в ПЗУ является общей и неизменяемой частью всех возможных операционных систем для данной модели ПЭВМ.

    Системный загрузчик предназначен для считывания в оперативную память модуля расширения BIOS и модуля обработки прерываний.

    Модуль расширения BIOS (файл io.sys) придает гибкость операционной системе, позволяет управлять с ее помощью набором аппаратных средств ПЭВМ, наиболее точно удовлетворяющим замыслу разработчиков ОС. Этот модуль сравнительно легко можно модифицировать с учетом нужд конкретной версии MS DOS. Этот модуль позволяет перекрыть функции BIOS в ПЗУ и обеспечивает возможность подключения дополнительных драйверов (программ обслуживания внешних устройств).

    Модуль обработки прерываний (файл MSDOS.SYS) образует верхний уровень операционной системы, с которым взаимодействует большинство прикладных программ. Компонентами данного модуля являются программы, обеспечивающие работу файловой системы, устройств ввода/вывода (клавиатуры, дисплея, принтера, портов), обслуживания некоторых ситуаций, связанных с завершением программ, их принудительным прерыванием и обработкой ошибок.

    Командный процессор (файл command.com) на диске может занимать любое место и по сути представляет собой выполнимую программу. Командный процессор выполняет следующие функции:

  • прием и разбор команд, полученных с клавиатуры или из командного файла;


  • выполнение встроенных команд MS DOS, находящихся внутри файла COMMAND.COM;


  • загрузка и выполнение внешних команд MS DOS (утилит) и прикладных программ, хранящихся в виде файлов типа com и ехе.


  • 56

    Замечание.

    Исполняемые программы типа com не требуют настройки адресов после их загрузки в ОЗУ, программы типа ехе при загрузке в ОЗУ настраиваются по месту размещения - для них задаются соответствующие адреса сегментов.

    При загрузке в ОЗУ командный процессор распадается на две части: резидентную (постоянно размещаемую в оперативной памяти) и нерезидентную (периодически изменяемую путем передачи данных между ОЗУ и диском). Резидентная часть содержит подпрограммы стандартной обработки прерываний с номерами 22h...24h. Здесь же находятся программа подзагрузки нерезидентной части в ОЗУ и подпрограмма инициализации, обрабатывающая файл автозапуска autoexec.bat при запуске машины.

    Утилиты, или внешние команды MS DOS, представляют собой программы, поставляемые вместе с операционной системой в виде файлов. Они выполняют различные обслуживающие действия, например, форматирование дискет, проверку дисков и т.д.

    Драйверы устройств представляют собой программы, дополняющие систему ввода вывода MS DOS и обеспечивающие обслуживание новых устройств или нестандартное использование имеющихся устройств. В частности, с помощью драйверов, например драйвера ansi.sys, обеспечивается требуемый способ формирования символов и вывода их на принтер. Драйверы загружаются в ОЗУ при загрузке операционной системы, а их имена указываются в файле конфигурации config.sys.

    57

    55 :: 56 :: 57 :: Содержание

    Структура пакетов прикладных программ

    Каждый инженер или исследователь, регулярно использующий ЭВМ для решения задач хотя бы с минимальными элементами творчества, рано или поздно приходит к необходимости применения разработки пакета подпрограмм. Этот выход на новый уровень программирования порождает и новые проблемы, о которых нужно иметь хотя бы начальное представление.
    189
    Важно различать метод (математический) и подпрограмму. Метод обычно может быть описан несколькими простыми формулами. Подпрограмма же должна предусматривать такие детали, как выбор величины шага; контроль погрешности; управление временной памятью; взаимодействие с другими программами; обнаружение разрывов, особенностей, зацикливания, отсутствия решения, а также континуума решений и бесконечных решений (два последних случая характерны для задач линейного программирования). Подпрограмма должна отбраковывать неправильные аргументы, корректно обрабатывать частные и особые случаи, а также любые размеры матричных объектов, допускаемые ограничениями по объему памяти (в частности, случай п = 1, т.е. скалярный). Все эти требования относятся к стандартным подпрограммам, входящим в библиотеки систем программирования и прикладные пакеты и ориентированным на широкий круг пользователей. С программы, составленной для конкретного случая, спрос меньший - но и пользы от нее меньше.
    Функциональная часть пакета - это совокупность базисных процедур, комбинированием которых может быть получено решение широкого круга задач предметной области. Модульное построение функциональной части обеспечивает обозримость, структуризацию и систематизацию, возможность параллельной разработки моделей, сокращение общего объема программного текста, гибкость применения, уменьшение потребности в оперативной памяти путем избирательной загрузки только необходимых модулей.
    Общие требования к функциональной части пакета:
  • членами библиотеки подпрограмм должна быть перекрыта вся область возможных запросов;

  • они должны не конкурировать, а дополнять друг друга;

  • библиотечная реализация должна сочетать предпринимаемые по умолчанию стандартные действия с разумным выбором опций пользователем;

  • пакет должен содержать классификатор задач и схемы выбора модулей;

  • при необходимости пользователь должен иметь возможность составить и применить вспомогательные процедуры.

  • Специальные средства системного обеспечения - это общий для функциональных модулей механизм приведения их в действие. К таким средствам можно отнести входной язык пакета, транслятор написанных на нем заданий, архивы программ и текстовых вставок, монитор интерактивного общения, справочную систему (help). Автоматическое планирование вычислений требует включения в систему в той или иной форме знаний о закономерностях предметной области, семантике процедур и их параметров, условиях применения отдельных модулей.
    190
    189 :: 190 :: Содержание

    Структурированный язык запросов

    Структурированный язык запросов SQL основан па реляционном исчислении с переменными кортежами. Язык имеет несколько стандартов, наиболее распространенными из которых являются SQL-89 и SQL-92
    SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SOL является непроцедурным языком и не содержит имеющихся в обычных языках программирования операторов управления, организации подпрограмм, ввода-вывода и т.п. В связи с этим SOL автономно не используется, а обычно погружен в в среду встроенного языка программирования СУБД (например, языка FoxPro СУБД Visual FoxPro) или даже процедурного языка типа C++ или Pascal.
    В современных СУБД с интерактивным интерфейсом можно создавать запросы, не применяя SOL. Однако его применение в некоторых случаях позволяет расширить возможности использования СУБД. К примеру при подготовке запроса в среде Access можно перейти из окна конструктора запросов (задания запроса по образцу) в окно с эквивалентным
    245
    оператором SQL. Подготовку нового запроса путем редактирования уже имеющегося в ряде случае проще выполнить путем изменения оператора SQL
    К числу основных операторов усеченного подмножества SQL относятся следующие:
  • CREATE TABLE - создание таблицы;

  • DROP TABLE - удаление таблицы;

  • CREATE INDEX - создание индекса;

  • DROP INDEX - удаление индекса;

  • ALTER TABLE - изменение структуры таблицы;

  • SELECT, UPDATE, INSERT, DELETE - выборка, изменение, вставка и удаление записей.

  • К дополнительным операторам SQL относятся следующие:
  • CREATE DATABASE, SHOW DATABASE, START DATABASE, STOP DATABASE, DROP DATABASE - создание, просмотр, активизация, закрытие, удаление БД;

  • CREATE VIEW, DROP VIEW - создание, удаление выборки (представления);

  • CREATE SYNONYM - создание синонима;

  • GRANT, REVOKE - назначение, удаление привилегии для работы с выборками и таблицами.

  • Рассмотрим подробнее важнейший из перечисленных операторов - оператор SELECT.
    В упрощенном виде оператор имеет следующий формат:

    SELECT [ALL|DISTINCT]

    FROM

    [WHERE ]

    [GROUP BY [, ]...]

    [HAVING ]

    [ORDER BY [,]...]

    Оператор SELECT позволяет выполнять выборку и вычисления над данными одной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL) или не иметь (DISTINCT) повторяющиеся строки.

    В списке данных можно задавать имена столбцов и выражения над ними, к примеру арифметические. Если записи отбираются из нескольких таблиц, то используют составные имена .

    Пример. Имеется таблица Goods (товары) с полями: Code (код), Name (наименование) и Cost (стоимость). Требуется вывести стоимости и коды товаров, стоимость которых не превышает 500 единиц.

    Для решения поставленной задачи можно записать оператор SELECT следующим образом:

    SELECT Code, Cost

    FROM Goods

    WHERECosf

    В различных СУБД состав операторов SQL может несколько отличаться от рассмотренного нами.

    246

    244 :: 245 :: 246 :: Содержание

    Структурные схемы алгоритмов

    Одним из свойств алгоритма является дискретность - возможность расчленения процесса вычислений, предписанных алгоритмом, на отдельные этапы, возможность выделения участков программы с определенной структурой. Можно выделить и наглядно представить графически три простейшие структуры:
  • последовательность двух или более операций;

  • выбор направления;

  • повторение.

  • Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
    Рис. 2.1. Пример линейного алгоритма
    40
  • линейные;

  • ветвящиеся;

  • циклические.

  • Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательное!и.
    Линейные вычислительные процессы имеют место, например, при вычислении арифметических выражений, когда имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия. На рис. 2.1 показан пример линейного алгоритма, определяющего процесс вычисления арифметического выражения
    y=( b2- ac):(a+c).
    Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление
    Рис. 2.2. Пример разветвляющегося алгоритма
    41
    процесса обработки данных является отдельной ветвью вычислений. Ветвление в программе - это выбор одной из нескольких последовательностей команд при выполнении программы. Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным пли конечным результатам. Признак характеризует CBOIICTBO данных и имеет два или более значений.
    Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей - сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.

    Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: "да" - условие выполнено п "нет" - условие не выполнено.

    Следует иметь в виду, что, хотя на схеме алгоритма должны быть показаны все возможные направления вычислений в зависимости от выполнения определенного условия (или условий), при однократном прохождении программы процесс реализуется только по одной вегвп, а остальные исключаются. Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса.

    На рис. 2.2. показан пример алгоритма г разветвлением для вычисления следующего выражения:

    y= { a +b, если Х ? 0;
    с/b, если Х> 0.
    Циклическими называются программы, содержащие циклы. Цикл - это многократно повторяемый участок программы.

    Рис. 2.3. Примеры циклических алгоритмов

    42

    В организации цикла можно выделить следующие этапы:

  • подготовка (инициализация) цикла (И);


  • выполнение вычислений цикла (тело цикла) (Т);


  • модификация параметров (М);


  • проверка условия окончания цикла (У).


  • Порядок выполнения этих этапов, например, Т и М, может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями (рис. 2.3). Для цикла с нижним окончанием (рис. 2.3 а) тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием (рис. 2.3 б) тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.

    Рис. 2.4. Алгоритм нахождения суммы 10-ти чисел

    43

    Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.

    Па рис. 2.4 показан пример циклического алгоритма вычисления суммы десяти чисел.

    44

    40 :: 41 :: 42 :: 43 :: 44 :: Содержание

    Сжатие изображений

    Как и многая информация, графика может быть сжата. Это выгодно с точки зрения экономии памяти компьютера, так как, например, высококачественные изображения, как уже говорилось, имеют размеры до нескольких десятков мегабайтов. Для файлов графических изображений разработаны множество схем и алгоритмов сжатия, основными из которых являются следующие:
  • групповое сжатие;

  • кодирование методом Хаффмана;

  • сжатие по схеме LZW;

  • арифметическое сжатие;

  • сжатие с потерями,

  • преобразование цветов RGB в цвета YUV.

  • В основе большинства схем сжатия лежит использование одного из следующих свойств графических данных: избыточность, предсказуемость и необязательность. В частности, групповое кодирование (RLE) основано на использовании первого свойства. Кодирование по методу Хаффмана и арифметическое кодирование, основанные на статистической модели, используют предсказуемость, предлагая более короткие коды для более часто встречающихся пикселов. Алгоритмы сжатия с потерями основаны на избыточности данных.
    Следует учесть, что алгоритм, обеспечивающий большую степень сжатия, обычно более сложный и поэтому требует для распаковки данных больше процессорного времени.
    Рассмотрим подробнее несколько алгоритмов сжатия.

    Таблица размещения файлов

    В процессе работы компьютера содержимое диска меняется: добавляются новые файлы, удаляются ненужные, изменяется объем файлов и т.д. Для выполнения этих операций необходимо отслеживать распределение пространства диска между файлами. В MS DOS эта задача решается с помощью таблицы размещения файлов. Для каждого файла в FAT создается цепочка элементов, каждый из которых указывает область фиксированной длины (кластер), занимаемую частью файла на диске. В каталоге, содержащем имя файла, имеется указатель к началу цепочки. При стирании файла элементы FAT и адресуемые ими области данных освобождаются (помечаются как свободные) и могут быть использованы для другого файла.
    Достоинством такой организации является возможность осуществления прямого доступа к данным файла. Недостатком является постепенное фрагментирование диска
    63
    при активной работе г файловой системой но уничтожению, созданию п изменению объемов файлов. П рн этом занимаемое файлами пространство "разорвано" но всему диску. Фрагментпроваппе значительно увеличивает время доступа к данным на диске.
    Область данных занимает большую часть диска - от конца корневого каталога до последнего сектора. Участки памяти из области данных выделяются группами из одного пли нескольких последовательных секторов, называемых кластерами. Размер сектора составляет 512 байтов.
    Размеры кластера (число секторов) определяются операционной системой в зависимости от размера логического привода (размера раздела диска, если диск разбит на несколько разделов). Использование кластеров большой длины уменьшает фрагментированпе диска. Кроме того, уменьшается размер FAT, что увеличивает быстродействие. С другой стороны, слишком большой размер кластера ведет к неэффективному использованию пространства диска при наличии большого числа файлов небольшой длины (табл. 3.2).
    Таблица 3.2
    Потери дискового пространства

    Размер раздела диска, Мб Размер кластера, кб Потери на 1000 файлов, Мб
    16-127,9 2 1
    128-255,9 4 2
    256-511,9 8 4
    512-999,9 16 8
    <
    Данные из табл. 3. 2 целесообразно учитывать при принятии решения, стоит ли разбивать жесткий диск на несколько логических приводов.
    Для повышения быстродействия при выполнении операций поиска в FAT последняя копируется в оперативную память. При большой FAT и относительно малой оперативной памяти возможны проблемы ее нехватки.
    Для надежности сохраняются две копни FAT, расположенные одна за другой вслед за загрузочной записью. Однако MS DOS вторую копию FAT не использует. Элементы таблицы размещения файлов имеют длину 12 пли 16 битов. Последний вариант используется в дисках с более чем 4080 кластерами, например в дисках емкостью 20 Мбайтов.
    FAT содержит информацию о расположении файлов, свободном пространстве па диске п неисправных блоках, а также код формата диска. В первых двух элементах FAT первый байт задает код формата диска, остальные 2 пли 3 байта всегда содержат FFh. Приведем примеры кодов, используемых для обозначения формата дисков:
    F0h - DS(Double Sided - двухсторонняя)/НD(Нigh Density - высокой плотности) - дискета 3.5 дюйма (18 секторов);
    F8h - жесткий диск;
    F9h - DS/QD (Quadraple Density - учетверенной плотности)-дискеты 5.25 или 3.5 дюйма (9 секторов).
    64
    Каждому кластеру диска ставится в соответствие элемент FAT с тем же номером. Два элемента FAT (нулевой и первый) используются для задания кода формата диска, поэтому нумерация элементов таблицы начинается с 2. Для удобства нумерация кластеров при расчетах также начинается с 2.
    Каждый элемент FAT представляет собой код из трех (12-битовая таблица) или четырех (16-битовая) шестнадцатеричных цифр. При этом используются следующие коды:
    (0)000h - кластер свободен;
    (0)003h-(F)FEFh - номера очередных кластеров файла;
    (F)FF7h - дефектный кластер;
    (F)FF0h-(F)FF9h - резервные кластеры.
    На рис. 3.6 показан фрагмент FAT с цепочкой, описывающей расположение файла pr1 .txt.
    Рис. 3.6. Пример цепочки FAT
    Как видно из рис. 3.6, в каталоге для данного файла содержится помер первого кластера, занимаемого файлом.Этот номер одновременно определяет точку входа в FAT. Находящийся в ней элемент FAT указывает одновременно на очередной кластер файла и на очередной элемент FAT и т.д. до элемента таблицы, содержащего признак конца файла.
    65
    63 :: 64 :: 65 :: Содержание

    Технология "клиент-сервер"

    Технология "клиент-сервер" пришла на смену централизованной схеме управления вычислительным процессом на базе средней или большой ЭВМ (мэйнфрейма).
    В централизованной схеме управления все вычислительные ресурсы, данные и программы их обработки были сконцентрированы в одной ЭВМ. Пользователи имели доступ к ресурсам машины с помощью терминалов (дисплеев). Терминалы подключались к ЭВМ через интерфейсные соединения или удаленные телефонные линии связи (так называемые удаленные терминалы). Основной функцией терминала было отображение информации, представляемой пользователю. К достоинствам этой схемы можно отнести удобство администрирования, модификации программного обеспечения и защиты информации. Недостатком схемы является ее низкая надежность (выход из строя ЭВМ влечет за собой разрушение вычислительного процесса), сложность масштабирования (наращивания мощности) модификации аппаратного и программного обеспечения, как правило, резкое снижение оперативности при увеличении числа пользователей системы и другие.
    В архитектуре "клиент-сервер" место терминала заняла ПЭВМ (клиентская), а мэйнфрейма - один или несколько мощных компьютеров, специально выделенных для решения общих задач обработки информации (компьютеры-серверы). Достоинством этой модели является высокая живучесть и надежность вычислительной системы, легкость масштабирования, возможность одновременной работы пользователя с несколькими приложениями, высокая оперативность обработки информации, обеспечение пользователя высококачественным интерфейсом и т.д.
    Заметим, что эта весьма перспективная и далеко не исчерпавшая себя технология получила свое дальнейшее развитие. Совсем недавно стали говоршь о технологии Intranet,
    404
    которая появилась в результате перенесения идей сети Internet (см. раздел 29) в среду корпоративных систем. В отличие от технологии "клиент-сервер", эта технология ориентирована не на данные, а на информацию в ее окончательно готовом к потреблению виде. Технология Intranet объединяет в себе преимущества двух предыдущих схем.
    Вычислительные системы, построенные на ее основе, имеют в своем составе центральные серверы информации и распределенные компоненты представления информации конечному пользователю (программы-навигаторы, или броузеры). Детальное рассмотрение этой технологии выходит за рамки настоящего пособия.

    Остановимся вкратце на понятиях, связанных с технологией "клиент-сервер", поскольку она все еще доминирует в локальных вычислительных сетях.

    При взаимодействии любых двух объектов в сети всегда можно выделить сторону, предоставляющую некоторый ресурс (сервис, услугу), и сторону, потребляющую этот ресурс. Потребителя ресурса традиционно называют клиентом, а поставщика - сервером.

    В качестве ресурса можно рассматривать аппаратный компонент (диск, принтер, модем, сканер и т.д.), программу, файл, сообщение, информацию или даже ЭВМ в целом. Отсюда происхождение множества терминов: файл-сервер или диск-сервер, принт-сервер или сервер печати, сервер сообщений, SQL-сервер (программа обработки запросов к базе данных, сформулированных на языке SQL), компьютер-сервер и т.д. Очевидно, нее эти серверы имеют соответствующих клиентов.

    С точки зрения программного обеспечения, технология "клиент-сервер" подразумевает наличие программ-клиентов и программ-серверов. Клиентскими программами обычно являются такие программы, как текстовые и табличные процессоры. В роли серверных программ чаще всего выступают системы управления базами данных. Примером типичной пары программ вида "клиент-сервер" можно считать программу TCKCTOBOI о процессора, обрабатывающую документ, в котором содержится таблица с информацией из базы данных.

    Некоторая программа, выполняемая в сети, по отношению к одним программам может выступать в роли клиента и в то же время являться сервером для других программ. Более того, за некоторый интервал времени роли клиента и сервера между одними и теми же программами могут меняться.

    Разновидностью более сложных клиент-серверных моделей является трехзвенная модель "сервера приложений" - AS-модель (Application Server).Эта модель описывает процесс функционирование сетей, использующих базы данных. Согласно AS-мо-дели, каждая их трех основных функций (управление данными, прикладная обработка и представление информации конечному пользователю) реализуется па отдельном компьютере.

    405

    400 :: 401 :: 402 :: 403 :: 404 :: 405 :: Содержание

    Текстовый процессор Ami Pro разработан

    Текстовый процессор Ami Pro разработан фирмой Lotus и поставляется отдельно или в составе программного комплекса Lotus SmartSuite for Windows. Среди других текстовых процессоров Ami Pro выгодно отличается стройностью интерфейса, высокой

    108

    производительностью и наличием встроенных средств обработки графических изображений и таблиц. Как следствие, он легок в освоении, позволяет удобно и оперативно создавать разнообразные документы. В частности, на IBM PC типа 80386, 80486 Ami Pro работает заметно быстрее, чем Word.

    Ami Pro соответствует стандарту PostScript и обладает всем набором функций, характерных для развитых современных текстовых процессоров. К числу важнейших из них можно отнести следующие: автоматизированное форматирование документа на основе использования типовых стилей абзацев и страниц; работа с документом в режиме исправлений, обеспечивающем пометку (выделение) изменяемого и вводимого текста с возможностями последующей отмены или подтверждения каждого изменения; проверка орфографии и автоматическое разделение слов при переносе, в том числе и для русского текста; работа с документом в режиме плана, обеспечивающем структурное проектирование документа; создание формульных выражений и выполнение численных расчетов над данными таблиц; построение диаграмм с вводом исходных данных вручную, из таблиц и других приложений Windows; поддержка совместимости с распространенными прикладными программами для Dos и Windows и работа с электронной почтой.

    Ami Pro пс лишен недостатков, к числу которых можно отнести не вполне удачную терминологию в локализованной версии, а также наличие отдельных некорректностей использования шрифтов с русскими буквами во врезках документа.

    Текстовый процессор Лексикон

    Лексикон 2.0 представляет собой первый отечественный текстовый процессор для Windows фирмы Микроинформ. По своим возможностям (реализованным и потенциальным) он сопоставим с популярными текстовыми процессорами, такими как Word и Ami Pro. В частности, Лексикон для Windows поддерживает: разнообразное семейство шрифтов различной гарнитуры и национальной принадлежности; возможности ручного и автоматизированного форматирования абзацев и других элементов документа; режим WYSIWYG просмотра подготавливаемых документов в их реальном виде. Он имеет удобный пользовательский интерфейс, среде 1ва встраивания графических изображений и определенные возможности настольных издательских систем.
    Настоящая версия текстового процессора имеет заметные ограничения (слабо развитые средства работы с графикой, таблицами и формулами; отсутствие средств
    106
    вестраиваиия объектов по технике OLE; отсутствие функций автосохранения и некоторые другие) и определенные некорректности в работе, требующие устранения.
    Права на торговую марку Лексикон получила фирма "Арсеналъ" В 1997 г. появился текстовый процессор Лексикой 97. Этот текстовый процессор совместим с Word и имеет схожий интерфейс. По своим возможностям Лексикон 97, по-видимому, сопостовим с предшественником. Одним из его достоинств является наличие встроенного эверестнческого анализатора старого текста. Это позволяет открывать файлы предыдущих версий Лексикона с сохранением абзацев и оформления таблиц.

    представляет собой популярный текстовый

    Word 7. 0 представляет собой популярный текстовый процессор, предназначенный для работы под управлением Windows 95. Он предоставляет широкие возможности по подготовке документов. В их числе выделим следующее: развитый интерфейс, обширную и удобную в применении систему справочной помощи, широкие возможности по внедрению и связыванию графических объектов по технике OLE, возможности редактирования рисунков средствами самого Word 7.0, разнообразные возможности по форматированию абзацев и символов, удобство в построении и редактировании таблиц, наличие развитого формульного редактора, наличие разнообразных конвертеров для связи с другими приложениями, наличие средств контроля грамматической правильности текста, автоматизированное форматирование документов на основе стилей.

    Word 7.0 входит в состав Microsoft Office 95 и обеспечивает возможность интеграции с другими компонентами названной и более ранних версий пакета. В документы Word 7.0 можно легко встроить данные (таблицы, графику), сформированные в среде табличного процессора Excel, системы подготовки презентаций PowerPoint и СУБД Access.

    109

    105 :: 106 :: 107 :: 108 :: 109 :: Содержание

    Текстура изображения

    Под текстурой понимают специфический характер тона (цвета) в изображении объекта или на его фрагменте. К текстуре также относят наличие на изображении характерных линий.
    376
    Текстура может представлять упорядоченный характер тона в виде геометрически правильных или почти правильных рисунков. Подобную текстуру имеют, например, кирпичная кладка, кафельная облицовка, шахматная доска и так далее. Другой тип - стохастическая структура. Она присуща естественным объектам и, как правило, является следствием шероховатости наблюдаемых объектов.
    Одним из принципов формирования текстуры изображения является перенос регулярного или стохастического рисунка на поверхность объекта. Для нанесения рисунка необходимо решить задачу преобразования систем координат. Если рисунок задан в пространстве текстуры в системе координат (u,w), а поверхность - в системе координат (?, ?), то для переноса рисунка нужно найти или задать функцию отображения одного пространства на другое, т.е. определить соотношения ?=f(u, w), ?=g(u, w)
    Во многих практических случаях функции отображения линейны: ?=Au+Bw+C, ?=Du+Ew+F Коэффициенты A, В, С, D, Е, F вычисляются из соотношений между известными точками в системе координат.
    Характерные точки узора из пространства текстуры переносятся в объектное пространство, затем в пространство изображений и определенным образом соединяются отрезками прямых. В процедурах нанесения узоров часто используется разбиение поверхностей и узоров на фрагменты.
    При переносе на поверхность предмета текстуры, представляющей непрерывное регулярное и случайное поле яркости, наиболее подходящим является метод обратного трассирования лучей. Центр каждого пиксела изображения проецируется на поверхность предмета и по координатам точки на поверхности определяется соответствующая ей точка в пространстве текстуры. Чтобы устранить эффекты, связанные с пространственной дискретизацией, используют процедуры сглаживания. Достаточно простой процедурой сглаживания является трассирование четырех точек, соответствующих углам пиксела, и использование среднего значения яркости текстуры для этих четырех точек.
    Использование четырех точек пиксела позволяет оценивать достаточность процедуры сглаживания. Если разность яркостей для указанных четырех точек больше некоторой пороговой величины, можно произвести разбиение пиксела на четыре части и более точно вычислить яркость для пиксела.

    Формирование стохастических текстурных полей, близких к естественным, представляет сложную в вычислительном отношении процедуру. Для синтеза текстур предпочтительным считаются авторегрессионная модель и модели с использованием методов линейного программирования. Синтез осуществляется с использованием статистических характеристик текстур-прототипов: плотности вероятности и автокорреляционной функции. Для определения плотности вероятности в пределах некоторого окна измеряют гистограмму и для ее отображения используют первые четыре момента - среднее значение, стандартное отклонение, ассиметрию и эксцесс. Форму автокорреляционной функцию выражают через ее четыре центральных пространственных момента. В результате формируется восьмимерный вектор признаков текстуры. Наряду с описанным основным вариантом определения параметров, характеризующих стохастическую текстуру, используют ряд упрощенных процедур, обеспечивающих снижение вычислительных затрат. Синтезированные на основе прототипов стохастические текстуры хорошо

    377

    моделируют естественные шероховатые поверхности, если они обладают сравнительно небольшой кривизной.

    Для поверхностей со значительной кривизной (шар, эллипсоид и близкие к ним) перенос на них даже стохастической текстуры не обеспечивает их реалистичного вида. Возникает ощущение, что текстура нарисована на гладкой поверхности. Причина этого заключается в том, что текстура, сформированная без учета формы объекта, не передает изменений освещенности, обусловленных рельефом поверхности. Для реальных шероховатых поверхностей вектор нормали содержит небольшую случайную составляющую, которая определяет характер изменения освещенности в изображении. Чтобы получить изображение, близкое к реалистичному, необходимо смоделировать именно этот фактор.В методе моделирования рельефа поверхности Q(u,w) с помощью вспомогательной функции F(u,w) в направлении нормали к поверхности вносится возмущение, что приводит к изменению отражения от элементов вновь образованной поверхности.

    378

    376 :: 377 :: 378 :: Содержание

    TIFF: Tagget Image File Format

    Формат TIFF сохраняет множество данных изображения в помеченных полях, что и определило его название ("Формат файла помеченного изображения"). Каждое помеченное поле хранит информацию о растровом рисунке или ссылку на другие поля. Программа, читающая файл, может пропускать неизвестные или ненужные ей поля. Эта
    366
    многогранность позволяет формату находить применение в различных компьютерных системах. Кроме того, формат TIFF может сохранять разнообразные дополнительные данные о растровом рисунке, включая: кривую коррекции для изображения с оттенками серого; поля детальной информации об изображении (название программы, автора, дату создания и комментарии); размер изображения и разрешающую способность; детальную информацию о цвете оригинала.
    Большинство программ, читающих файл TIFF, способны без проблем прочесть файлы этого формата, созданные на других системах. Структура формата TIFF изменчива, что позволяет ему хранить разнообразные типы изображений.
    Файлы TIFF начинаются с небольшого заголовка, за которым следует указатель на первый набор помеченных полей. Помеченные поля собираются в каталоги файла изображения (КФИ), который просто содержит счетчик количества помеченных полей и указатель на первое из них. Длина помеченного поля равна 12 байтов, поэтому считывающая программа может быстро найти каждое из них.
    Заголовок файла. Заголовок файла TIFF составляет 8 байтов. Первые 2 байта указывают, какой формат у файла, следующие 2 байта содержат номер версии, последние 4 байта заголовка указывают на первый КФИ. Обычно первый КФИ должен следовать сразу после заголовка, но в файле TIFF все локализуется с помощью указателей.
    Католог файла изображения. Содержит 2-байтовый счетчик общего количества помеченных полей, за которыми следуют сами помеченные поля. Двухбайтовая длина ограничивает предел каждого КФИ 256-ю помеченными полями.
    Помеченные поля. Длина помеченного поля равна 12 байтов. Первые 2 байта - код метки (тип помеченного поля), следующие 2 байта содержат тип данных, на которые указывает поле. Тип данных позволяет программе узнать, сколько байтов нужно читать для каждого отдельного элемента данных. Всего пять различных типов: 1-байтовый код символа ASCII; 1-байтовое целое число; 2-байтовое целое число; 4-байтовое целое число, 8-байтовое дробное число.
    Следующие 4 байта показывают, на сколько различных элементов данных указывает помеченное поле. Если данные занимают в общем 4 байта или меньше, то элементы данных содержатся в последних 4 байтах помеченного поля. Если же данные занимают больше 4 байтов, то последние 4 байта помеченного поля используются в роли указателя на данные.
    Сжатие. Файлы данного формата способны хранить пиксельные данные, сжатые с помощью разнообразных схем, например, кодированием по методу Хаффмана.

    Типовые обозначения и определения

    Важным элементом в работе инженера и организатора является проектирование разнообразных схем - организационных, структурных, маршрутных, логических и т.п. Их общей чертой является наличие некоторого стандартного для каждой предметной области набора типовых элементов (для примера сошлемся на блок-схемы алгоритмов).
    Разумеется, вычерчивание схем возможно средствами любого графического редактора или универсального текстового процессора класса Microsoft Word. Однако в указанных целях гораздо удобнее воспользоваться системой Visio 4 (Visio Corp.) В ее состав входят несколько десятков комплектов трафаретов (stencils), ориентированных на весьма разнообразные применения. Пользователь, выбрав нужный трафарет, переносит из него в рабочий лист необходимые блоки, а затем размножает их, масштабирует, перемещает, соединяет линиями и стрелками, снабжает надписями и т.п.
    Visio 4 является полноценным Windows-приложением, и разработанные в ней схемы переносимы в другие приложения (в частности, поддерживается механизм OLE-2). Технология работы, содержание меню, состав панели инструментов и назначение "горячих клавиш" максимально приближены к принятым в продуктах Microsoft Office. Ценным достоинством Visio 4 является возможность изготовления с ее помощью крупномасштабных плакатов, склеиваемых из листов стандартного формата.
    Экспорт и импорт файлов для работы с другими приложениями производится в форматах CGM, EPS, PCX, TIP, BMR WMF через меню File (Файл). Соответственно Visio можно использовать для преобразования форматов загруженных файлов. По команде Tools \ Options (Сервис | Параметры) можно корректировать пути для записи формируемых рисунков.
    Для работы с системой существенно знание базовых определений.
    Фигура (Shape) - базовый графический элемент, из комбинации которых создается схема (drawing).
    Трафарет (Stencil) - совокупность базовых элементов, объединяемых общностью предметной области.
    Стиль (Style) - совокупность форматов (размер шрифта, толщина и цвет линий, заполнение), имеющая имя и сохраняемая со стандартом или схемой.
    Шаблон (Ternplate) - файл, содержащий стили и установки для некоторого вида схем и открывающий соответствующие трафареты. Создание новой схемы начинается с вызова необходимого трафарета или стандарта.

    Типы данных, используемые в таблицах

    Перечень типов данных и краткая их характеристика приведены в табл. 21.1.
    Приведенные в первой колонке таблицы буквенные обозначения используются для отображения типа используемых переменных. Просмотреть список переменных можно по команде DISPLAY MEMORY.
    Таблица 21.1
    Типы данных Visual FoxPro

    Обозначение Тип Диапазон Объем памяти, байт Описание
    А Array     Массив данных некоторого типа
    В Double от +/-4,9406564854 1247E-324 до +/-1, 797693 13486232E+308 8 Число с плавающей точкой двойной точности
    С Character Любые символы 1-254 Текстовая (символьная) строка
    D Date от 01/01/100 до 12/31/9999 8 Дата
    F Float от -0,9999999999 ? 10+19 до 0,9999999999 ?10+20 8 Такое же, как Numeric
    G General Определяется доступной памятью 4 (в dbf) Ссылка на OLE-объект
    1 Integer - 2147483647 до 2147483646 4 Число целое
    L Logical   1 Логическое значение
    М Memo Определяется доступной памятью (в dbf) 4 Ссылка на примечание
    N Numeric от -0,9999999999 ? 10-+19 до 0,9999999999 ? 10 +20 8 Число с фиксированной 1 очко и целое или дробное; допускает от 1 до 20 символов в таблице
    Т DateTime от 01/01/100 до 12/31/9999 и от 00:00:00 утра до 23:59:59 вечера 8 Дата и время
    Y Currency от -22337203685477,5807 до 922337203685477,5807 8 Денежное значение

    253
    Данные каждого типа могут храниться в полях таблиц этого же типа. Заметим, что Visual FoxPro не имеет команд определения типов переменных. Определение типов выполняется при присваивании переменным первоначальных значений. Рассмотрим подробнее перечисленные типы данных.
    Character. Текстовый (символьный) тип используется для побайтного хранения символьных строк длиной от 1 до 254 символов. Элементами строк могут быть печатные знаки - буквы, цифры, пробелы и знаки препинания. Константа символьного типа должна быть заключена в разделители, например:
    "строка" 'строка' [строка]
    Возможно сравнение символьных строк в соответствии с алфавитным порядком, например:

    " "< "а"=.Т. "арба"

    Здесь .Т. - логические значение (true). Сравнение идет до первого несовпадающего символа или до окончания правой строки. Операторы сравнения те же, что и в Numeric. Дополнительно введена операция точного сравнения (длин строк и всех символов), обозначаемая как ==. Сравниваемые символы должны быть набраны в одинаковом (нижнем или верхнем) регистре. Имеются два оператора склеивания строк + и -.

    Пример:

    "Весна"+ [96] = [Весна 96] или

    "Весна"- [96] = [ВеснаЭб]

    В Visual FoxPro добавлен новый тип символьных полей Character (binary), которые позволяют хранить символы с ASCII-кодами от 0 до 255.

    Следующие 4 типа данных (Numeric, Float, Integer и Double) можно условно объединить в одну общую группу числовых данных. Допустимыми символами полей перечисленных типов являются цифры. При работе с данными этих типов возможны выполнение математических операций и автоматический контроль вводимых данных при работе с Visual FoxPro, исключающий ввод любых символов, кроме цифр.

    Numeric. Числа в формате с фиксированной точкой (запятой). Целое отличается отсутствием дробной части. Например, оператор присваивания

    х=43,385

    определяет тип переменной х как Numeric и присваивает ей указанное значение. Над данными этого типа допустимы два типа операций:

    1. Арифметические:

    + ,-, ',/,

    ** (или ^) - возведение в степень.

    2. Сравнения:

    i = ,=,

    # (или О, или !=) - не равно.

    Float. Числовые данные типа Float включены для совместимости и функционально эквивалентны данным типа Numeric.

    В Visual FoxPro появились новые типы числовых данных, Double и Integer.

    Double. Числовые вещественные (с плавающей точкой) данные двойной точности.

    Integer. Данные целочисленного типа, применяются для представления целых чисел и позволяют сэкономить место для хранения данных.

    254

    Date. Этот тип используется для хранения календарных дат. При этом применяются различные форматы представления данных, например:


    AMERICAN 12/31/97

    GERMAN 31/12/97 и др.

    Формат AMERICAN используется по умолчанию. Иной вид формата устанавливается командой

    SET DATE ,

    где - вид заказываемого формата. Поддерживается контроль правильности вводимых дат. Даты изменяются в диапазоне 01.01.100 до 12.31.9999. При задании дат XX века можно указывать только две последние цифры года.

    DateTime. Тип "дата и время" появился в Visual FoxPro. Кроме 8 байт, которые требовались для хранения дат в формате Date, под данные данного типа отводится дополнительно еще 6 байтов для хранения времени в виде HHMMSS, где НН - часы от 00 до 23, ММ - минуты, а SS - секунды. При преобразовании данных типа Date в данные типа DateTime автоматически устанавливается время 12:00:00. Над данными этого типа можно выполнять определенные арифметические операции, так, например, добавляя к дате 1, мы увеличиваем ее на один день, а добавляя секунды к переменной типа DateTime, мы изменяем соответственно время.

    Logical. Логический тип данных допускает два возможных значения и четыре варианта их обозначения:

    ИСТИНА (ДА) - Т., или .t., или .Y., или .у.

    ЛОЖЬ (НЕТ) - .F., или .f., или .N., или .п.

    Результат сравнения данных любого типа является логическим значением:

  • .Т. - если сравнение положительное,


  • .F. - в противном случае.


  • Над данными логического типа могут выполняться следующие операторы:

  • .NOT. -HE (отрицание или невыполнение условия);


  • .AND. - И (одновременное выполнение двух условий); .


  • .ОR. - ИЛИ (выполнение хотя бы одного условия).


  • Memo. Поля базы данных данного типа предназначены для хранения символьных строк произвольной длины. Значения типа Memo могут иметь произвольный размер, определяемый размером только жесткого диска компьютера, и хранятся в отдельном файле с расширением f pt, имя которого совпадает с именем соответствующей таблицы. Каждая таблица имеет только один Memo-файл вне зависимости от того, сколько Memo-полей она имеет. В Memo-поля dbf-файлов заносятся лишь ссылки (указатели) на соответствующие символьные строки в Memo-файле.


    Значение Memo- поля можно присвоить переменной символьного типа и далее работать с ней как с символьной константой.

    Само Memo-поле имеет блочную структуру. Размеры блока изменяются с помощью команды SET BLOCKSIZE. При этом могут задаваться блоки в диапазоне от 33 до 511 байтов. Размер блока большего размера кратен 512 байтам и обозначается целыми числами от 1 до 32. По умолчанию устанавливается блок размером в 64 байта. Поэтому, например, запись в 65 байт, потребует 2 блока, под которые будет отведена область памяти в 128 байтов. При выборе размеров блоков Memo-полей необходимо стремиться к балансу между перерасходом памяти, если блоки чрезмерно велики, и снижением скорости работы с ними из-за увеличения числа блоков, обусловленного их небольшими размерами.

    255

    Замечание. fpt-файл, созданный для какой-то таблицы, является неотъемлемой ее частью.

    General. Поля баз данного типа позволяют хранить двоичные данные, а именно изображения, звук и т.д. Поля типа General являются специальной разновидностью Memo-полей. Они хранятся в том же fpt-файле, что и все Memo-поля данной таблицы, однако используются они иначе, чем обычные Memo-поля.

    Currency. Это тип данных введен в Visual FoxPro для оперирования денежными суммами. Поля таблиц данного типа схожи с числовыми полями, но в отличие от числового поля, для них определена точность в четыре знака после запятой. Поэтому при отображении целых чисел после денежной точки добавляются 4 нуля, например, не 36, а 36.0000.

    Array. Массив представляет собой совокупное элементов, имеющих общее имя. Массив объявляется командой DECLARE пли DIMENSION, которая задает имя и длину массива в круглых скобках, например:

    DECLAREmas1(4,6), mas2(10)

    Здесь описаны два массива: двумерный массив с именем mas1 (размерность 4 на 6) и одномерный массив из 10 элементов.

    При объявлении массива каждому его элементу по умолчанию присваивается начальное значение .F. (False). Каждый элемент массива может использоваться как переменная любого допустимого типа и размера.Поэтому с ними можно и работать как с переменными: присваивать значения, включать в вычисляемые выражения, распечатывать значения и т.д.

    Обращаются к элементу массива по имени массива с указанием индекса -- номера этого элемента в массиве, например, mas(i).

    256

    253 :: 254 :: 255 :: 256 :: Содержание

    Топология ЛВС

    Конфигурация соединения элементов в сеть (топология) во многом определяет такие важнейшие характеристики сети, как ее надежность, производительность, стоимость, защищенность и т.д.
    400
    Одним из подходов к классификации топологий ЛВС является выделение двух основных классов топологий: широковещательных и последовательных.
    В широковещательных конфигурациях каждый персональный компьютер передает сигналы, которые могут быть восприняты остальными компьютерами. К таким конфигурациям относятся топологии "общая шина", "дерево", "звезда с пассивным центром". Сеть типа "звезда с пассивным центром" можно рассматривать как разновидность "дерева", имеющего корень с ответвлением к каждому подключенному устройству.
    В последовательных конфигурациях каждый физический подуровень передаем информацию только одному персональному компьютеру. Примерами последовательных конфигураций являются: произвольная (произвольное соединение компьютеров), иерархическая, "кольцо", "цепочка", "звезда с интеллектуальным центром", "снежинка" и другие.
    Вкратце рассмотрим три наиболее широко распространенные (базовые) топологии ЛВС: "звезда", "общая шина" и "кольцо".
    В случае топологии "звезда" каждый компьютер через специальный сетевой адаптер подключается отдельным кабелем к центральному узлу (рис. 28.1). Центральным узлом служит пассивный соединитель или активный повторитель.
    Рис.28.1. Топология "звезда"
    Недостатком такой топологии является низкая надежность, так как выход из строя центрального узла приводит к остановке всей сети, а также обычно большая протяженность кабелей (это зависит от реального размещения компьютеров). Иногда для повышения надежности в центральном узле ставят специальное реле, позволяющее отключать вышедшие из строя кабельные лучи.
    Топология "общая шина" предполагает использование одного кабеля, к которому подключаются все компьютеры.
    Информация по нему передается компьютерами поочередно (рис.28.2).

    Рис.28.2. Топология "общая шина"

    Достоинством такой топологии является, как правило, меньшая протяженность кабеля, а также более высокая надежность чем, у "звезды", так как выход из строя отдельной станции не нарушает работоспособности сети в целом. Недостатки состоят в том, что обрыв основного кабеля приводит к неработоспособности всей сети, а также слабая защищенность информации в системе на физическом уровне, так как сообщения,

    401

    посылаемые одним компьютером другому, в принципе, могут быть приняты и на любом другом компьютере.

    При кольцевой топологии данные передаются от одного компьютера другому по эстафете (рис. 28.3). Если некоторый компьютер получает данные, предназначенные не ему, он передает их дальше по кольцу. Адресат предназначенные ему данные никуда не передает.

    Рис.28.3. Топология "кольцо"

    Достоинством кольцевой топологии является более высокая надежность системы при разрывах кабелей, чем в случае топологии с общей шиной, так как к каждому компьютеру есть два пути доступа. К недостаткам топологии следует отнести большую протяженность кабеля, невысокое быстродействие по сравнению со "звездой" (но соизмеримое с "общей шиной"), а также слабая защищенность информации, как и при топологии с общей шиной.

    Топология реальной ЛВС может в точности повторять одну из приведенных выше или включать их комбинацию. Структура сети в общем случае определяется следующими факторами: количеством объединяемых компьютеров, требованиями по надежности и оперативности передачи информации, экономическими соображениями и т.д.

    Трафареты и возможности системы

    Перечислим некоторые из трафаретов, сохраняя для удобства работы с системой их английские названия.
    212
    Basic - правильные многоугольники с числом сторон от 3 до 8, круг, эллипс, овал; разнообразные по форме и направлению стрелки, в том числе криволинейные; соединители фигур.
    Block diagram - три комплекта геометрических фигур, стрелок и соединителей в большом числе вариантов, с оттенением и объемной перспективой.
    Border - элементы фигурных рамок и заполнителей для орнаментов ("греческий", "египетский", звезды, шахматная клетка, волны, зигзаг и т.п.).
    Callout - средства выносных пояснений: "баллоны", ярлыки, оттиски печатей, окна, кнопки, "вспышки".
    Chart - элементы диаграмм (столбчатых, объемных, секторных) и графиков, в частности координатные оси, экспоненциальные и "нормальные" кривые, вспомогательные ярлыки.
    Clipart - разнообразные миникартинки: люди, средства связи, вычислительная техника, транспортные средства, чашка кофе и др.
    Connectors - расширенный набор соединительных элементов.
    Electrical - инверторы, схемы И, ИЛИ, диод, триод, "земля", батарея, резистор, конденсатор, сигнал типа меандра, часы.
    Flowchart (два набора) - элементы схем алгоритмов (все стандартизованные обозначения, внутри- и межстраничные соединители, средства разветвления и соединения потоков, базы данных).
    Forms - рамки для текста, шаблоны для таблиц и графиков (в частности, заготовки
    для логарифмической сетки), текстовые блоки для набора шрифтом Arial в 8,10 и 10 pt.
    Maps - обширная группа наборов географических карт, изображающих контуры штатов США, стран, регионов и континентов, а также обозначений на картах и схемах и знаков дорожного движения.
    Network - элементы сетей связи и компьютерных сетей: устройства ЭВМ; малые и большие ЭВМ разных типов, включая Cray; типичные сетевые структуры; антенна спутниковой связи и сам спутник.
    Office Layout - обозначения офисного оборудования.
    Project Timeline - средства сетевого планирования (PERT-диаграммы и графики Ганта).

    Symbols - разнообразные денежные, дорожные, предостерегающие и информационные знаки.

    Разумеется, полнота наборов не гарантируется (в частности, для электрических и функциональных схем вычислительных машин она явно недостаточна, а обозначения для кинематических и гидравлических схем отсутствуют вообще). Однако в Visio имеются средства создания авторских шаблонов, что снимает упомянутое затруднение.

    Предупредим читателя, заинтересованного в научной графике, что возможности трафарета Chart его разочаруют. Предлагаемые здесь средства изображения столбчатых, круговых и линейных диаграмм ориентированы только на качественное представление зависимостей. Максимум возможного - это "вручную" деформировать шаблон кусочно-линейного графика или колоколообразной "нормальной" кривой. Visio не позволяет строить графики функций и поверхностей, заданных аналитическими

    213

    выражениями или таблицами. Для решения упомянутых задач все математические пакеты имеют встроенные специальные средства, а при работе в LaTeX' можно использовать систему GNUPLOT.

    Примером продукции Visio является приведенная в начальной главе данной части книги схема организации математического моделирования .

    214

    212 :: 213 :: 214 :: Содержание

    Управление панелями и приводами

    Переключение активности панелей выполняется нажатием клавиши . Признаком активности панели является подсветка имени привода в верхней части панели (рис. 4.1).
    Связывание панелей с логическим приводом выполняется с помощью комбинации клавиш + (для левой панели) и + (для правой панели). При этом появляется окно с перечнем логических приводов для выбора.
    Перемещение по древовидной структуре рабочего каталога (текущего каталога на активной панели) выполняется с с помощью клавиш управления курсором и . Для перехода на уровень родительского каталога нужно подсветить верхнюю строку в перечне (с символами "..") и нажать .
    Управление формой отображения информации на левой и правой панелях выполняется с помощью команд и опций меню Правая панель (Right) и Левая панель (Left) соответственно. В частности, установка опции Краткий формат (Brief) предписывает краткое отображение информации о файлах и каталогах (выводятся только имена). При установке опции Полный формат (Full) предписывается вывод имен файлов и каталогов, дат и времен их последнего изменения, размеров файлов. Здесь же можно выбрать вариант сортировки имен файлов и каталогов: по имени, по расширению, по дате и времени последнего обновления.
    При выборе опции Дерево каталогов (Tree) на правой или левой панелях устанавливается отображение структуры каталога альтерантивной панели в виде дерена. 11ри установке на заданной панели опции Состояние (Info) па ней отображается информация об общем и свободном объеме основной памяти и внешней памяти привода, связанного с альтернативной панелью.
    69
    69 :: Содержание

    Управление вычислениями

    Основными средствами управления процессом вычислений в Прологе являются стандартные предикаты fail (неуспех) и ! (отсечение).
    Назначение этих предикатов и методы их использования рассмотрим на примере следующей программы на Турбо-Прологе:
    domains
    st=student(fam,pr,oc)
    312
    fam.pr=symbol

    num,oc=integer

    g=gr(num,st)

    predicates
    kurs_22(g)

    clauses
    kurs_22(gr(261 ,student("ПETPOB П.Р.","Программирование",5))).

    kurs_22(gr(261,student("ИBAHOB Б.О. ","Операционные системы",5))).

    kurs_22(gr(261,student("CИДOPOB Т.К.","Системы управления",4))).

    kurs_22(gr(262,student("ЖИГAPEB С.И. "."Программирование''3))).

    kurs_22(gr(262,student(" ДЕМИН ", "Системы управления", 5))).

    kurs_22(gr(261 ,student(" ПETPOB П.Р.","Иностранный язык",4))).

    kurs_22(gr(263,student(" СИДОРОВ ","Операционные системы",5)))
    Приведенная программа в разделе clauses содержит утверждения-факты, в данном случае информацию о результатах пересдачи экзаменов студентами соответствующих групп (номер группы - первый компонент структуры gr) по соответствующим дисциплинам (фамилия, дисциплина, оценка - компоненты структуры student, которая входит в состав структуры gr). Если теперь после компиляции программы в качестве внешней цели ввести запрос:
    kurs_22(X)
    то в диалоговом окне будет выведена информация:
    X=gr(261 ,student("ПETPOB П.Р.","Программирование",5))

    Х= gr (261 ,student("ИBAHOB Б.О.", " Операционные системы",5))

    Х= gr (261,student ("СИДОРОВ Т.К.", "Системы управления " ,4))

    X=gr (262, student(" ЖИГAPEB С.И. "."Программирование" 3 ))

    X=gr (262, student(" ДEMИH С.Л. ", "Системы управления", 5))

    Х= gr (261 ,student(" ПETPOB П.Р.","Иностранный язык",4))

    X=gr (263, student("CИДОРОВ Е.P. ","Операционные системы",5))

    7 Solutions

    т.е. будут найдены все варианты решений, так как в запросе не задано ограничений на значения переменной X.

    Наложим ограничение, например, на номер учебной группы. Для внешнего запроса

    kurs_22(gr(261,X))

    результатом будет:

    X=student(" ПETPOB П.Р.","Программирование",5)

    X=student(" ИBAHOB Б.О."."Операционные системы",5)

    X=student(" СИДОPOB Т.К.", "Системы управления", 4)

    X=student(" ПETPOB П. R", "Иностранный язык",4)

    4 Solutions

    Продемонстрируем еще один внешний запрос:

    kurs_22(gr(Z,student(" ПETPOB П.Р.", X, Y)))

    313

    Система ответит:

    Z=261,Х=Программирование, Y=5

    Z=261, Х=Иностранный язык, Y=4

    2 Solutions

    Если теперь любой из этих запросов сделать внутренним, т.е. записать в разделе goal, откомпилировать и выполнить программу, то, кроме сообщения Press the SPACE bar, в диалоговом окне не будет результатов, так как мы не задавали предикатов вывода значений результата внутреннего запроса.

    Изменим внутренний запрос:

    goal

    kurs_22(X),write(X)

    Здесь для вывода значений переменной X после сопоставления используется системный предикат write(...). Результаты такого запроса будут помещены в диалоговое окно в виде:

    gr(261 ,student(" ПETPOB П.Р.","Программирование",5))

    т.е. будет найдено первое подходящее решение. Если теперь не меняя запроса изменить порядок предложений в программе, например, поменять местами первое со вторым, то результат будет другим:

    gr(261 ,student(" ИBAHOB Б.О.", "Операционные системы",5))

    Как видим, Пролог чувствителен к порядку предложений в программе: правила просматриваются сверху вниз. Для того, чтобы заставить Пролог осуществить поиск всех вариантов решения задачи при использовании внутренней цели в программе (в данном варианте это вывод на экран всех фактов), необходимо организовать циклический перебор альтернативных решений. В Прологе это можно сделать различными способами.


    Один из них - использовать свойство Пролога выполнять поиск альтернативного решения при неудачной попытке применения текущего. В этом случае Пролог выполняет откат до ближайшей альтернативы, восстанавливает первоначальные условия поиска и процесс начинается заново с найденной новой альтернативы. Для организации таких вычислений в языке есть специальный предикат fail, который всегда завершается неуспехом и вызывает откат до ближайшей альтернативы.

    Для цели перебора всех альтернативных фактов в примере и вывода их на экран в состав программы введем нульместный предикат show и правило вида: show:-kurs_22(X),write(X),fail. Для этого в раздел predicates добавим строку show, в разделе clauses поместим строку show:- kurs_22(X),write(X),fail.

    Зададим также внутреннюю цель вида:

    goal

    show.

    В этом случае на экран будут выведены все 7 альтернативных решений - после нахождения первого переменная X будет означена константой первого факта, полученное значение переменной X сопоставляется аргументу предиката write(X), который выведет его на экран, после чего выполняется предикат fail, который завершается неуспехом и

    314

    Пролог выполнит откат до ближайшего недетерминированного предиката (т.е. имеющего несколько вариантов правил), а это в нашем случае предикат kurs_22(X), будет выбран второй факт, выполнено сопоставление и т.д. до тех пор, пока не будут перебраны все альтернативы.

    Предписать Прологу выполнять откат можно не только с помощью предиката fail -любой неуспешно завершенный предикат вызывает откат до ближайшей альтернативы (стоящего от него левее в теле правила). Продемонстрируем это на нашем примере. Пусть необходимо получить и вывести на экран информацию о студентах, пересдавших экзамен по дисциплине "Программирование".

    Изменим предикат show:

    show:-kurs_22(gr(X,student(Y,Z, K))),

    Z="Программирование",

    write( " Гpyппa-" . X, " Студент-", Y, " Оценка-", K),

    nl,

    fail.

    Тогда для внутреннего запроса:


    goal

    show

    на экран будет выведено:

    Группа-261 Студент-ПЕТРОВ П.Р. Оценка-5

    Группа-262 Студент-ЖИГАРЕВ С.И. Оценка-3

    Таким образом, сравнение 7="Программирование ", выполняет двоякую роль: с одной стороны, это фильтр, который не допускает выполнения предиката write(...) при неуспешном сравнении, а с другой - вызывает из-за неуспешного сравнения откат до ближайшей альтернативы. При этом если бы не было предиката fail, было бы получено только первое решение - fail обеспечивает перебор всех альтернатив. Предикат nl является стандартным, он выполняет переход на следующую строку при выводе информации на экран.

    В Турбо-Прологе имеются средства, с помощью которых можно заблокировать поиск с возвратом. Для этих целей служит специальный предикат, который называется отсечение (cut) и обозначается восклицательным знаком. Для демонстрации его использования в нашем примере добавим предикат отсечения в правило show:

    show:-kurs_22(gr(X,student(Y,Z,K))),

    Z="Программирование",!,

    write(Tpynna-",X," Студент-", Y ," Оценка-",К),

    nl,

    fail.

    Тогда для внутреннего запроса:

    goal

    show

    315

    на экране будет выведена информация:

    Группа-261 Студент-ПЕТРОВ П.Р. Оценка-5

    В данном варианте после успешного сравнения Z="Программирование " предикат ! прекращает условия поиска после формирования условия "неуспех" предикатом fail.

    Таким образом, использование в правиле предиката отсечения означает, что в дальнейшем не будет производиться перебор других аргументов предикатов, использованных в этом правиле до знака отсечения после формирования признака неуспеха любым из предикатов, стоящим в правиле правее предиката !. Но это не означает, что не будут перебираться альтернативные варианты по неуспеху для других предикатов, стоящих за !.

    Преобразуем предикат show к виду:

    show:-kurs_22(gr(X,student(Y, Z, K))),

    Z="Программирование ", ! , К=3,

    write(" Группа -", X ," Студент-", Y, " Оценка-",К),

    nl,

    fail.

    В этом случае не будет получено результатов, так как после поиска первого решения для Z="Программирование " переменная К=5 и сравнение 5#3 сформирует неуспех, который не приведет к возврату для поиска следующей альтернативы для предиката kurs_22(gr(X,student( Y.Z.K")), так как условия возврата уже сброшены отсечением.

    Введем в правило еще один предикат kurs_22(gr(>A,student(S,C,D))), который зависит от других переменных - это принципиально. Предикат show будет следующим:

    show:-kurs_22(gr(X,student(Y,Z, K))),

    Z="Программирование",!,

    kurs_22(gr(A,student(B,C,D)),D=3,B=Z,

    write(" Группа-", А, " Студент-", В," Оценка-",D),

    nl,

    fail.

    После внутреннего запроса show на экран будет выведена информация в виде:

    Группа-262 Студент-ЖИГАРЕВ С.И. Оценка-3

    Отметим, что часть правила после отсечения ! осуществляет полный перебор всех фактов программы, начиная с первого, с помощью фильтра D=3, B=Z, а при его выполнении - с помощью fail.

    Другими словами, отсечение ограничивает распространение аргументов для подбора новых значений возврата (бэктрекинга) из-за неудачи. Отсечение применяется также для ускорения вычислений путем отбрасывания избыточных ветвей вычислений.

    Замечания:

    316

  • Ранее было показано отличие выполнения внутреннего (описанного в разделе goal) и внешнего (вводимого через приглашение системы в диалоговом окне) запросов. Теперь мы можем сказать, что перебор всех альтернативных решений для внешнего запроса обеспечивается автоматическим присоединением к нему системой Турбо-Пролог стандартного предиката fail.


  • Наличие в программе раздела goal позволяет после компиляции логической программы получить загрузочный модуль программы (файл типа .ехе) и использовать его независимо от среды программирования Турбо- Пролог.


  • 317

    312 :: 313 :: 314 :: 315 :: 316 :: 317 :: Содержание

    Уравнения и системы уравнений

    Для решения уравнений и систем уравнений применяется команда Solve в вариантах Exact, Numeric, Integer, Recursion, (соответственно "Точно", "В вещественных числах", "В целых числах", "Рекурсивно"). Каждое уравнение системы задается строкой вектора-столбца. При численном решении нелинейных систем в отдельных строках можно задать предполагаемые области нахождения корней. Для системы из двух уравнений:




    х2-y2=5
    x2-y2=1
    x?(0,4)

    находим {y=-1.4142, x 1.7321}. Разумеется, - у также является решением этой системы.
    Нахождение всех корней нелинейного уравнения или нелинейной системы в общем случае не гарантируется.
    Системы линейных алгебраических уравнений можно записывать как в векторной форме:




    3x1+x2=5
    -2x1+x2+x3=15
    2x1-x2+4x3=15

    решение: x1=2, х2=3, х3=1, так и в векторно-матричной. Тогда решение будет представлено в виде столбца.

    Ускорение доступа к данным на диске

    Ускорение доступа к данным на диске достигается путем дефрагментации (устранения фрагментации) файлов, а также размещения дескрипторов файлов таким образом, чтобы обеспечить более быстрый доступ к наиболее часто используемым файлам.
    Фрагментация файлов означает размещение смежных кластеров файла на нескольких несмежных фрагментах - экстентах - дискового пространства. Причиной, вызывающей фрагментацию, является то обстоятельство, что память под файлы отводится по мере надобности. Поэтому при выделении дополнительных кластеров файлу они могут быть размещены на несмежном участке диска. Суть дефрагментации состоит в таком переразмещении файлов, чтобы они занимали непрерывные участки дисковой памяти. Полезным дополнительным эффектом проведения дефрагменгации является повышение безопасности хранения данных, поскольку нефрагментироваиные файлы легче восстанавливать.
    Для ускорения доступа к некоторому файлу его следует переместить в начало папки. В этом случае операционной системе потребуется выполнить меньшее количество операций считывания и анализа дескрипторов. Отсюда следует, что файлы в папках желательно размещать в порядке убывания частот их использования.
    Кроме того, для ускорения доступа к магнитным дискам часто используемые компоненты файловой системы размещают в начале, а редко используемые - ближе к концу дискового пространства. Это связано с применяемым направлением перемещения блока магнитных головок от внешних цилиндров к цилиндрам у оси вращения диска. К часто используемым компонентам файловой системы относятся прежде всего папки и затем часто используемые файлы.
    Наибольший вклад в ускорение доступа к магнитным дискам из числа указанных способов вносит устранение фрагментации файлов. Для проведения дефрагментации дисков можно использовать утилиту Speed Disk из комплекта Norton Utilities. В составе Windows 95 имеется дефрагментатор Disk Defragmenter, включенный по соглашению с фирмой Semantec. Данная программа обеспечивает дефрагментацию диска и проверку наличия логических дефектов.

    Для запуска программы Disk Defragmenter достаточно из главного меню Windows 95 выполнить команду Программы \ Стандартные \ Служебные программы \ Дефрагментация

    93

    диска (Defrag)(Programs \ Accessories \ System Tools \ Disk Defragmented. В открывшемся диалоговом окне нужно выбрать магнитный диск и нажать ОК. При это происходит автоматический анализ выбранного диска и открывается диалоговое окно Disk Defragmenter(Программа дефрагментации диска) (рис. 6.6).

    Рис. 6.6. Диалоговое окно Программа дефрагментации диска

    В этом окне отображается степень фрагментации диска в процентах. При невысокой степени фрагментации проводить дефрагментацию диска нецелесообразно ввиду малой эффективности. Нажатием кнопки Дополнительно (Advanced) можно открыть диалоговое окно Дополнительные парметры (Advanced Options) (рис. 6.7).

    В данном окне выбирается один из способов дефрагментации диска:

  • полная дефрагментация (дефрагментируются файлы и свободное пространство);


  • дефрагментация только файлов. При этом между дефрагментированными файлами могут оставаться пустоты;


  • объединение свободных участков. При этом файлы не дефрагментируются, а смещаются к началу дискового пространства.


  • Рис. 6.7. Диалоговое окно Дополнительные параметры

    94

    При установке флажка Проверить диск на наличие ошибок (Check drive for errors) перед дефрагментацией проводится проверка наличия логических дефектов диска.

    Условные предложения вычислимости

    Условные предложения вычислимости задают условия применимости тех или иных отношений и имеют две формы записи. Первая форма имеет вид:
    IF THEN БЕЗУСЛОВНОЕ ПРЕДЛОЖЕНИЕ>
    Данное условное предложение определяет условия, когда связанное с ним отношение не будет использоваться в вычислениях, а именно: когда логическое выражение ложно. Если же логическое выражение истинно, безусловное предложение вычислимости может использоваться в вычислениях, но это не означает, что это случится обязательно, все зависит от того, понадобятся ли в вычислениях переменные, которые используются в нем.
    Другая форма записи уловного предложения вычислимости:
    IF THEN БЕЗУСЛОВНОЕ ПРЕДЛОЖЕНИЕ1>
    ELSE
    Данная форма определяет применение соответствующего безусловного предложения вычислимости как для истинного, так и для ложного значения логического выражения. Но, опять же, это необходимые условия применимости для того, чтобы в вычислениях было использовано первое либо второе предложение вычислимости нужно, чтобы они понадобились в вычислениях и эти вычисления были разрешимыми относительно неизвестных переменных.
    Примеры условных предложений вычислимости:
  • IF x>=0 THEN y=sqrt(x) ELSE msg='sq_err

  • IFand(w>0,given('z)) THEN q=ln(w)*z

  • IF evltd('a) THEN b=a*c+d


  • Усовершенствованные функции управления

    Windows 98 более эффективно использует внешнюю намять, что позволило уменьшить размер файла подкачки и соответственно сократить временные затраты на свопинг. С помощью специальной утилиты ехе- и dll-файлы сдвигаются в пределах занимаемого ими пространства таким образом, чтобы обеспечить реальное соответствие страничной организации памяти, реализуемой современными микропроцессорами.
    Доступ к системному реестру теперь осуществляется быстрее, а сам он занимает гораздо меньше памяти, чем в предыдущих версиях Windows.
    Реализованный стандарт усовершенствованного управления питанием АРМ (Advanced Pover Management) позволяет отображать состояние двух аккумуляторных батарей мобильного компьютера и выводить его из состояния с малым энергопотреблением при поступлении вызова на встроенный в нем модем.
    Поддерживается новый усовершенствованный интерфейс конфигурации и питания ACPI (Advanced Configuration and Pover Interface). Благодаря ему компьютер становится готовым к работе практически сразу после включения питания с восстановлением рабочей среды приложений, сформированной до его выключения. Это обеспечивается путем копирования образа физической памяти на жесткий диск при отключении питания и загрузки сохраненного образа в память после сто включения.
    Возможно понижение скорости вращения жесткого диска и автоматическое отключение бездействующих модемов на PC Card.
    Существенно доработана MS DOS и улучшена ее интеграция с высокоуровневыми средствами Windows 98. Реализована модель драйверов Win32 WDM (Win32 Driver Model), первоначально разработанная для Windows NT. Такая унификация позволяет теперь использовать одни и те же драйверы в различных операционных системах семейства Windows.
    98
    Контрольные вопросы и задания
  • Перечислите состав и назовите фунцип компонентов MS DOS.

  • Каковы функции командного процессора?

  • Назовите и охарактеризуйте типы команд MS DOS.

  • Опишите схему взаимодействия прикладных программ с аппаратно-программным обеспечением компьютера.

  • Дайте определение файла, назовите требования к именам файлов в MS DOS.


  • Как задаются групповые имена файлов?


  • Какова структура размещения данных па диске?


  • Какое влияние оказывает размер кластера на характеристики доступа к диску?


  • Поясните механизм описания размещения цепочки кластеров на диске с помощью FAT.


  • Перечислите состав полей элемента каталога.


  • Опишите назначение и технику создания пользовательского меню.


  • Охарактеризуйте назначение и технику задания реакции системы на расширение имени файла.


  • Назовите варианты форматирования дискет и поясните различие между ними.


  • Охарактеризуйте отличительные свойспш Windows 95.


  • Укажите состав и дайте характеристику основных компонентов Windows 95.


  • Опишите способы управление приложениями в Windows 95.


  • Охарактеризуйте технику работы с архивами.


  • Назовите разновидности компьютерных вирусов.


  • Охарактеризуйте разновидности антивирусных программ.


  • Какие файлы обычно удаляются при чистке дисков?


  • Назовите новые возможности Windows 98.


  • Задайте команды группового копирования файлов.


  • Выполните форматирование дискеты.


  • Создайте пользовательское меню.


  • Создайте файл реакции системы на расширение имени файла.


  • Создайте архив из файлов типа DOC и BMP.


  • Создайте ярлык для программы Paint и разместите его па рабочем столе.


  • 99

    Литература

  • Богумирский. Эффективная работа пользователя на IBM PC. - СПб.: Питер, 1995.


  • Богумирский Б. Norton Commander 5.0. Новые возможности для пользователя. СПб.: Питер, 1995.-288с.


  • З. Богумирский Б. Эффективная работа на IBM PC в среде Windows 95. - СПб.: Питер, 1997.- 1120с.


  • А.Богумирский Б. Энциклопедия Windows 98. - СПб.: Питер, 1998. - 816 с.


  • Зима В.М. Молдовян А.А. Многоуровневая защита от компьютерных вирусов: Уч. пособие. - СПб.: Издательско-полиграф. центр ТЭТУ. 1997. - 170 стр.


  • Касперский Е. Компьютерные вирусы в MS DOS. - М.: Эдсль, 1992. - 176 с.


  • Кинг A. Windows 95 изнутри/Пер, с англ. - СПб.: Питер, 1995. - 512 с.


  • Руководство к практическим занятиям по дисциплине Программное обеспечение, эксплуатация и использование ПЭВМ/Алпацкий В.В., Липецких А.Г., Мальцев М.Г., Хомоненко А.Д. - СПб.: ВИКА им.А.Ф. Можайского, 1995.


  • Хомоненко А.Д., Зима В.М. Подготовка документов в среде Windows. - Уч. пособие. - СПб.: ВИКА им. А.Ф. Можайского, 1995. - 279 с.


  • 100

    98 :: 99 :: 100 :: Содержание

    Устранение дефектов на дисках

    Имеющие место на магнитных дисках дефекты разделяют на логические и физические.
    Логические дефекты заключаются в нарушении файловой структуры диска или содержимого системной области диска - загрузочной записи и таблицы размещения файлов. Причинами появления логических дефектов могут быть сбои в работе компьютера, неправильные действия пользователя или деструктивные действия компьютерных вирусов. При этом возможно появление так называемых потерянных кластеров (недоступных ни из одной папки) или совмещенных файлов (имеющих общие кластеры). В результате логических дефектов может возникать замусоривание дискового пространства, иметь место невозможность доступа к элементам файловой структуры диска, неправильная обработка информации из-за взаимовлияния файлов.
    Физические дефекты проявляются в невозможности правильного чтения и/или записи данных на отдельных участках магнитного диска из-за механических повреждений, неудовлетворительного качества или старения магнитного покрытия диска. Вовремя обнаруженные физические дефекты опасности не представляют, поскольку кластеры с дефектными секторами помечаются как дефектные и в дальнейшем не используются. Новые, но не обнаруженные физические дефекты могут привести к потере определенной части данных. Особенно опасны физические дефекты в системной части диска, так как при этом могут оказаться недоступными целые фрагменты файловой структуры.
    Рис. 6.4. Стартовое диалоговое окно сканер-корректора
    91
    Для поиска и устранения дефектов на магнитных дисках применяются специальные утилиты, получившие название дисковых сканер-корректоров. Среди таких утилит широкое распространение получили Microsoft ScanDisk, входящая в состав Windows 95, и Norton Disk Doctor из комплекта Norton Utilities. Утилиты имеют одинаковую схему работы: сначала выполняется проверка файловой структуры диска для поиска и устранения логических дефектов, затем проводится проверка поверхности диска для поиска и устранения физических дефектов.
    Найденные цепочки свободных кластеров в соответствии с реакцией пользователя преобразуются в файлы или объявляются свободными.
    Совмещенные файлы могут быть переразмещены для разделения. При обнаружении физического дефекта расположенные на дефектном участке данные по возможности перемещаются в другое место. Естественно, при этом часть данных может оказаться утраченной.

    В среде Windows 95 сканер-корректор Microsoft ScanDisk содержится в файле scandskw.exe, который размещается в основной папке операционной системы. В состав Windows 95 входит также DOS-вариант сканер-корректора Microsoft ScanDisk. Он находится в файле scandisk.exe, который размещается в папке COMMAND, вложенной в основную папку Windows 95.

    Для запуска сканер-корректора Microsoft ScanDisk достаточно из главного меню Windows 95 выполнить команду Программы | Стандартные \ Служебные программы \ Проверка диска (ScanDisk) (Programs \ Accessories \ SYStem Tools \ ScanDisk). В результате открывается стартовое окно сканер-корректора Microsoft ScanDisk (рис. 6.4).

    Дальнейший порядок работы со сканер-корректором Microsoft ScanDisk следующий:

    Рис. 6.5. Диалоговое окно Дополнительные параметры ScanDisk

    92

  • в списке диалогового окна сканер-корректора выделяются диски, подлежащие проверке;


  • выбирается вариант проверки - Стандартная (Standard) или Полная (Thorough);


  • при выборе варианта полной проверки после нажатия кнопки Параметры (Options) уточняются параметры полной проверки (нужно ли проверять системную область и/или область данных);


  • нажатием кнопки Дополнительно (Advanced) открывается диалоговое окно Дололнительные параметры ScanDisk (ScanDisk Advanced Options) (рис. 6.5) и выполняется настройка параметров;


  • нажатием кнопки Запуск (Start) инициируется начало проверки.


  • Установка флажка Исправлять ошибки автоматически (Automatically fix errors) означает автоматическое исправление обнаруженных ошибок сканер-корректором без выдачи запросов пользователю.

    После окончания работы сканер-корректора появляется панель, отображающая отчет о результатах.

    Векторная графика

    Векторное представление, в отличие от растровой графики, определяет описание изображения в виде линий и фигур, возможно, с закрашенными областями, заполняемыми сплошным или градиентным цветом. Хотя это может показаться более сложным, чем использование растровых массивов, но для многих видов изображений использование математических описаний является более простым способом.
    В векторной графике для описания объектов используются комбинации компьютерных команд и математических формул для описания объектов. Это позволяет различным устройствам компьютера, таким как монитор и принтер, при рисовании этих объектов вычислять, где необходимо помещать реальные точки.
    Векторную графику часто называют объектно-ориентированной или чертежной графикой. Имеется ряд простейших объектов, или примитивов, например: эллипс, прямоугольник, линия. Эти примитивы и их комбинации используются для создания более сложных изображений. Если посмотреть содержание файла векторной графики, обнаруживается сходство с программой. Он может содержать команды, похожие на слова, и данные в коде ASCII, поэтому векторный файл можно отредактировать с помощью текстового редактора. Приведем в условном упрощенном виде команды, описывающие окружность:
  • объект - окружность;

  • центр - 50, 70; радиус - 40;

  • линия: цвет - черный, толщина - 0.50;

  • заливка - нет.

  • Данный пример показывает основное достоинство векторной графики - описание объекта является простым и занимает мало памяти. Для описания этой же окружности средствами растровой графики потребовалось бы запомнить каждую отдельную точку изображения, что заняло бы гораздо больше памяти.
    Кроме того, векторная графика в сравнении с растровой имеет следующие преимущества:
  • простота масштабирования изображения без ухудшения его качества;

  • независимость объема памяти, требуемой для хранения изображения, от выбранной цветовой модели.

  • Недостатком векторных изображений является их некоторая искусственность, заключающаяся в том, что любое изображение необходимо разбить на конечное множество составляющих его примитивов.
    Растровая и векторная графика существуют не обособлено друг от друга. Так, векторные рисунки могут включать в себя и растровые изображения. Кроме того, векторные и растровые изображения могут быть преобразованы друг в друга - в этом случае говорят о конвертации графических файлов в другие форматы. Достаточно просто выполняется
    359
    преобразование векторных изображений в растровые. Не всегда осуществимо преобразование растровой графики в векторную, так как для этого растровая картинка должна содержать линии, которые могут быть идентифицированы программой конвертации (типа CorelTrace в составе пакета CorelDraw) как векторные примитивы. Это касается, например, высококачественных фотографий, когда каждый пиксел отличается от соседних.

    ВМ-функции

    Каждая ВМ-функция - функция, содержащая описание ВМ (тип функции Rule), должна быть объявлена на панели Function Sheet и описана на панели Rule Function Subsheet.
    Описание В М-функции включает в себя множество правил (условных и безусловных предложений вычислимости) и объявление ее входных переменных:
  • переменных-параметров В М-функции в поле Parameter Variables (значения переменным этого поля присваиваются непосредственно из панели Variables Sheet);

  • переменных-аргументов в поле Argument Variables (значения переменных передаются через список вызова В М-функции);

  • и выходных переменных - результатов функции в поле Result Variables (значения возвращаются через список вызова ).
    В общем случае для В М-функций можно отойти от жесткого разделения на только входные или только выходные переменные: входными считаются переменные, значения которых известны до обращения к функции, а выходными - переменные, значения которых могут быть вычислены для заданного множества входных переменных. Поэтому входными могут быть переменные, описанные и как аргументы, и как результаты; аналогично и выходными. Однако в вызове ВМ-функции должен быть специфицирован полностью весь список аргументов и результатов ВМ-функции, даже если заведомо известно, что не все исходные данные означены и соответственно будут получены не все результаты.
    В ВМ-функциях попытка означить переменную-параметр значением, отличным от того, что задано на панели Variables Sheet, приводит к ошибке, фиксируются ошибки также, если значение какой-либо переменной вычисленное с помощью одного соотношения, не согласуется со значением этой или другой переменной, вычисленной с помощью другого соотношения.
    В теле ВМ-функции могут быть ссылки или обращения к другим В М-функциям или процедурам (рекурсивные ссылки и вызовы не допускаются, т.е. нельзя обращаться к самой себе).
    Решатель задач осуществляет обработку переменных и правил ВМ-функции аналогично тому, как это делается для переменных и правил из панели описания вычислительной задачи Rule Sheet. Неизвестные переменные могут содержаться как в левых, так и в правых частях правил и вычисляются с использованием тех правил, в которых они представлены.

    Значения переменных передаются в и возвращаются из В М-функций при вызове ВМ-функции по Call или с помощью ссылки к ВМ-функции в выражении. Связывание локальных переменных из правил ВМ-функции с переменными, которые указываются при ее вызове по Call или по ссылке, осуществляется позиционным способом.

    После вызова ВМ-функции в вычислениях участвуют те правила, для которых заданы значения входных переменных через переменные-параметры, переменные-аргументы и переменные-результаты. Ниже приведены примеры описания функций.

    ВМ-функции rat и Cone используют ВМ-функцию Pythagoras. ВМ-функция INTEGRAND может быть использована в подпрограмме интегрирования (процедуре-функции) для численного вычисления интеграла. При этом а является переменной-параметром для ВМ-функции INTEGRAND, и значение ее передается из Variable Sheet.

    347

    ================== RULE FUNCTION: Pythagoras ==================

    Comment: Теорема Пифагора

    Parameter Variables:

    Argument Variables: side1,side2

    ResultVariables: hypotenuse

    S Rule-----------------------------------------------------------------------------------------------

    hypotenuse^2 = side1^2 + side2^2

    ==================== RULE FUNCTION: rat =========================

    Comment: Прямоугольный треугольник

    Parameter Variables:

    Argument Variables: a,b,c,alpha,beta,perimeter.area

    ResultVariables:

    S Rule --------------------------------------------------------------------------

    alpha + beta = pi()/2

    call Pythagoras(a,b;c)

    a/b = tan(alpha)

    perimeter = a + b + с

    area -a* b/2

    ==================== RULE FUNCTION: CONE ======================

    Comment: Геометрия конуса

    Parameter Variables:

    Argument Variables: radius,height,slant,theta

    ResultVariables: surface,volume

    S Rule ----------------------------------------------------------------------------

    slant = Pythagoras(radius,height)

    tand(theta/2) = radius/height

    surface/slant = pi() * radius

    volume = radius^2 * height * pi()/3

    ================== RULE FUNCTION: INTEGRAND =================


    Comment: Интегрируемая функция

    ParameterVariables: a

    Argument Variables: x

    ResultVariables: у

    S Rule-----------------------------------------------------------------------------------------------

    у = a^x-ln(x)

    Процедуры - функции

    Каждая процедура-функция (Procedure Function, в дальнейшем будем называть ее просто процедура) должна быть объявлена на панели Function Sheet и определена на панели Procedure Function Subsheet. Описание процедуры включает в свой состав множество операторов и объявления:

    348

  • параметров (передаются непосредственно из панели Variables Sheet, описываются в поле Parameter Variables);


  • входных переменных (поле Input Variables) и выходных переменных (поле Output Variables), которые передаются через список вызова процедуры.


  • В процедуре с помощью операторов бейсикоподобного алгоритмического языка задается алгоритм вычисления значений выходных переменных, при этом порядок выполнения операторов процедуры детерминирован. В процедурах допускаются ссылки к другим процедурам и функциям, можно использовать и рекурсию, т.е. обращение по Call к самой себе.

    Переменные, объявленные как входные (Input), должны быть известны до вызова процедуры, хотя значения входных переменных можно изменять внутри процедуры (в ВМ-функциях это приводит к ошибке вычислений). Однако изменения эти не распространяются на соответствующие фактические переменные вызова процедуры, исключение составляют переменные типа список - значения элементов списка могут быть изменены в процедуре, даже если имя списка передается как Input-переменная. Аналогично в теле процедуры можно изменять значения параметров, но действуют эти изменения также в рамках тела процедуры.

    Операторы определяют последовательность вычислений и используются внутри процедур. Рассмотрим правила и примеры записи различных операторов.

    Вставка названий и перекрестных ссылок

    Word позволяет выполнять удобную вставку названий для различного рода объектов (рисунков, таблиц, формул и др.), а также автоматическую вставку названий для объектов, создаваемых с помощью команды Объект... (Object...) меню Вставка (Insert). Важно, что при этом обеспечивается автоматическая нумерация названий определенного типа и возможность задания на них перекрестных ссылок
    Под перекрестными ссылками понимаются ссылки на заголовки, метки названий и ряд других элементов документа. Ссылки вставляются в виде кодов полей, это обеспечивает простоту обновления перекрестных ссылок в случае изменения номеров названий, номеров заголовков и т.п.
    Название включает постоянную часть (метку), номер и необязательный текст. Работа с названиями выполняется с помощью диалогового окна Название (Caption)(pnc. 10.9), вызываемого одноименной командой меню Вставка (Insert).
    Рис. 10.9. Диалоговое окно Название
    Пример 1. Вставка названия рисунка.
  • Поместим курсор в строку под рисунком, для которого требуется вставить название.

  • Зададим команду Название... (Caption...) меню Вставка (Insert).

  • В появившемся диалоговом окне (рис. 10 9) в списке Постоянная часть: (Label:) выберем значение "рис".

  • Для уточнения параметров нумерации названий с помощью кнопки Нумерация... (Numbering...) откроем диалоговое окно Нумерация названий (Caption Numbering).

  • В списке Формат (Format) выберем подходящий вариант нумерации (арабскими или римскими цифрами, прописными или строчными латинскими буквами).

  • Для включения в состав нумерации названия номера заголовков (при их наличии) установим флажок Включить номер главы (Include Chapter Number) и в спискеНачинается со стиля (Chapter Start with Style) выберем стиль заголовка, который будет учитываться последним при определении номера названия рисунка.

  • В списке Разделитель: (Use Separator:) выберем символ для отделения номера заголовка от номера рисунка внутри фрагмента документа (с данным номером заголовка).

  • 136
    Замечание.
    Если нумерация заголовков в документе отсутствует, то будет выдано предупреждающее сообщение и в качестве номера заголовка в составе номера названия будет вставлена цифра 0.

    Пример 2. Создание метки названия.

    Создание новой метки названия может потребоваться, если ни одна из существующих меток не устраивает. К примеру, предположим, что нам нужна новая метка названия "Иллюстрация".

  • Зададим команду Название... (Caption...) меню Вставка (Insert).


  • В появившемся диалоговом окне Название (Caption) (рис. 10.9) нажмем кнопку Создать... (New Label...).


  • В очередном диалоговом окне Новое название (New Label) введем имя новой метки и нажмем ОК.


  • В результате в диалоговом окне Название (Caption) (рис. 10.9) в списке Постоянная часть: (Label:) появится новое значение "Иллюстрация", которое мы можем теперь использовать при вставке названий в качестве метки.

    Пример 3. Задание автоматической вставки названия объекта.

    Предположим нам требуется задать автоматическую вставку названий для диаграмм, создаваемых с помощью Microsoft Graph 5.0.

  • Зададим команду Название... (Caption...) меню Вставка (Insert).


  • В открывшемся диалоговом окне Название (Caption) (рис. 10.9) нажмем кнопку Автоназвание... (AutoCaption...).


  • В результате откроется диалоговое окно Автоназвание (AutoCaption).

  • В поле окна Добавлять название при вставке объекта: (Add Caption When Inserting:) поместим курсор в строку с наименованием объекта Microsoft Graph 5.0.


  • Установим флажок слева от наименования объекта.


  • Далее в списке Постоянная часть: (Label:) выберем метку названия "Диаграмма", при необходимости предварительно создав ее.


  • В списке Положение: (Position:) выберем подходящее значение Над объектом (Above Item) или Под объектом (Below Item) и нажмем ОК.


  • В результате выполненных настроек каждое создание новой диаграммы будет сопровождаться автоматической вставкой соответствующего названия. Пример 4. Вставка перекрестной ссылки на название таблицы.

  • Задав команду Перекрестная ссылка... (Cross-Reference...) меню Вставка (Insert), откроем одноименное диалоговое окно (рис. 10.10).


  • В поле Тип ссылки: (Reference Type:) выберем из списка имя метки названия таблицы.



  • В поле Вставить ссылку на: (Insert Reference To:) выберем нужный вариант ссылки на название таблицы, скажем, Только текст названия (Only Caption Text).


  • 137

    Рис. 10.10. Диалоговое окно Перекрестная ссылка

  • В списке Для какого названия: (For Which Caption:) выберем конкретное название таблицы для ссылки.


  • Нажмем ОК. Замечания.


  • При вставке перекрестной ссылки на заголовок в поле Вставить ссылку на: (Insert Reference To:) для выбора доступны следующие значения: Текст заголовка (Heading Text), Номер страницы (Page Number) и Номер заголовка (Heading Number).


  • При вставке перекрестной ссылки на другие элементы документа список значений в поле Вставить ссылку на: (Insert Reference To:) имеет подобный состав, соответствующий ссылаемому элементу.


  • Для обновления перекрестных ссылок необходимо выделить фрагмент документа, так чтобы он включал все обновляемые перекрестные ссылки, и нажать клавишу . При необходимости выделить весь документ удобно воспользоваться командой Выделить все (Select All) меню Правка (Edit). При нажатии клавиши происходит обновление кодов выделенных полей, к числу которых принадлежат и перекрестные ссылки.

    138

    136 :: 137 :: 138 :: Содержание

    Введение в логику

    Логика занимается изучением законов мышления, одной из главных ее задач является моделирование правильных человеческих рассуждений. Особый интерес к логике возник с появлением ЭВМ, с попытками научить машину рассуждать, т.е. делать логические заключения. Рассмотрим основные идеи, лежащие в основе логических рассуждений.
    В логике выделяют следующие формы мышления: понятия, высказывания и рассуждения.
    Понятие о предмете составляет совокупность мыслимых признаков предмета. Понятие выражается словом. Основными способами образования понятий являются:
  • сравнение - установление сходства или различия в понятиях;

  • анализ - мысленное расчленение целого на составные части:

  • синтез - мысленное создание целого из некоторого числа составных частей (признаков, свойств, отношений);

  • абстрагирование - мысленное выделение в понятии определенных признаков и отвлечение от других;

  • обобщение - объединение различных объектов в однородные группы на основании присущих им общих признаков.

  • Всякое понятие обладает содержанием - совокупностью признаков предмета в данном понятии и объёмом - совокупностью объектов, входящих в данное понятие.
    По содержанию понятия делятся на положительные и отрицательные (присутствуют или нет определенные признаки в понятии), безотносительные и относительные, сравнимые и несравнимые.
    В логическом отношении друг с другом находятся только сравнимые понятия. Сравнимые понятия (имеющие общие признаки в содержании) бывают совместимыми (с совпадающим объемом понятий) и несовместимыми. Выделяют три вида отношений совместимости: равнозначность, пересечение, подчинение объемов. Существуют и три вида отношений несовместимости: соподчинение, противоположность, противоречие.
    Связь между объемом и содержанием понятий выражается в законе обратного отношения: если два понятия сравнимы в логическом смысле, и содержание первого из них больше, чем второго, тогда объем второго понятия больше объема первого. С этим законом связаны способы обобщения (переход от понятия с большим объемом и меньшим содержанием к понятию с меньшим объемом и большим содержанием) и ограничения

    287
    (переход от понятия с меньшим объемом и большим содержанием к понятию с меньшим содержанием и большим объемом) понятий.
    Одной из основных логических операций над объемом и содержанием понятий является деление понятия. При ее выполнении различают: делимое понятие, основание деления (признаки), члены деления (множество видовых понятий по отношению к рассматриваемому). Деление бывает: по видоизменению признаков, дихотомическое (деление понятия на два класса с противоречивыми признаками).
    Практическое применение операции деления понятий - процедура классификации. Цель классификации - приведение знаний о предметной области в определенным образом построенную систему, при этом основание деления должно отвечать цели классификации. Выбор классификационного признака - нетривиальная задача. Классификация, особенно при дихотомическом делении, принимает форму дерева (впервые использовалась в IV в и. э. сирийским логиком Порфирием, называется по его имени "дерево Порфирия").
    Другой фундаментальной логической операцией над понятиями является определение понятия. Эта операция позволяет строго закрепить за объектом, обозначенным с помощью определяемого понятия, содержание, выраженное в зафиксированных в определении признаках, свойствах и отношениях.
    Определение бывает номинальное - раскрытие смысла употребления слова - и реальное - определение понятий о предметах или явлениях, а не терминов, их обозначающих. Типы определений: через ближайший род и видовое отличие (это по сути поиск места понятия в некоторой явной или неявной форме классификации), способы задания определений: генетическое определение; операциональное определение.
    Понятия являются исходным материалом для построения высказываний (суждений). С грамматической точки зрения, высказывания - это повествовательное предложение.
    Сложные предложения строятся из выражений, обозначающих некоторые понятия, и логических связок. Слова и обороты НЕ, И, ИЛИ, ЕСЛИ... ТО, ТОГДА И ТОЛЬКО ТОГДА, СУЩЕСТВУЕТ, ВСЕ и некоторые другие называются логическими связками (операторами) и обозначают логические операции, с помощью которых из одних предложений строятся другие.


    Предложения без логических связок являются элементарными, их нельзя расчленить на части так, чтобы при этом каждая из частей была также предложением. Элементарные предложения называют также высказываниями (суждениями). В высказываниях содержится информация о предметах, явлениях, процессах и т.д.
    Элементарное высказывание состоит из субъекта (логического подлежащего) - того, о чем идет речь в высказывании, и предиката (логического сказуемого) - того, что утверждается или отрицается в высказывании о субъекте.
    Таким образом, высказывания - это форма мышления, в которой утверждается или отрицается логическая связь между понятиями, выступающими в качестве субъекта и предиката данного высказывания. Соответствие или несоответствие этой связи реальности делает высказывание (суждение) истинным или ложным.
    Логическая связь между субъектом и предикатом высказывания выражается обычно в виде связки ЕСТЬ или НЕ ЕСТЬ, хотя в самом предложении эта связка может отсутствовать, а лишь подразумеваться. При этом субъект высказывания может выражаться не обязательно
    288
    только подлежащим в предложении, так же как и предикат - не только сказуемым (это могут быть и другие члены предложения). Что считать в предложении субъектом, а что предикатом высказывания, определяется логическим ударением. Логическое ударение связано со смыслом, содержащимся в предложении для говорящего и для слушающего.
    По форме высказывания делятся на простые (имеют логическую форму "S есть Р" или "S не есть Р" , где S - субъект, Р - предикат) и сложные (грамматически выражаются сложными предложениями).
    Простые высказывания позволяют выразить следующие типы высказывании:
  • атрибутивные высказывания - выражают принадлежность или не принадлежность свойства объекту или классу объектов;

  • высказывания об отношениях - говорят о наличии отношения между объектами;

  • высказывания существования (экзистенциональные высказывания) - говорят о существовании или не существовании объекта или явления.



  • В общем случае простые высказывания можно рассматривать как атрибутивные, понимая под существованием и отношениями вид свойств субъектов высказывания.
    По качеству простые высказывания делятся на утвердительные и отрицательные. По количеству высказывания делятся на:
  • единичные - субъектом является предмет, существующий в единственном числе;

  • частные - в высказывании говорится о пересечении класса предметов, к которому относится субъект, с классом предметов, к которым относится предикат);

  • общие - в высказывании говорится о включении или не включении всего класса предметов, к которому относится субъект высказывания, в класс предметов, к которому относится предикат.

  • Классы предметов, к которым относятся субъект и предикат высказывания, будем обозначать буквами S и Р соответственно.
    Высказывания, одновременно общие по количеству и утвердительные по качеству называются общеутвердителъпыми и имеют форму "Всякий S есть Р"; обозначается такой тип высказывания символом А.
    Высказывания, общие по количеству и отрицательные по качеству, называются общеотрицателъными и имеют форму "Всякий S не есть Р"; обозначается такой тип высказывания символом Е.
    По аналогии выделяют частноутвердительные высказывания ("Некоторый S есть Р"; обозначается тип как I) и частноотрицателъпые высказывания ("Некоторый. S не есть Р"; обозначается такой высказывания тип как О).
    Различают также высказывания сравнимые - имеют одни и те же субъект и предикат и несравнимые - различны субъекты и предикаты суждений.
    Третья форма мышления - рассуждения. Простейшей формой рассуждений является умозаключение -получение из одного или нескольких высказываний нового высказывания. Принято считать, что из высказываний А1,А2...Аn следует высказывание В, если В истинно по крайней мере всегда, когда истинны А1 ,А2.. .Ап. При этом исходные высказывания А1,А2,...,Аn, из которых делается логический вывод, называются посылками, а повоевысказывание В - заключением, следствием.


    Возможность вывода заключения из посылок обеспечивается логической связью между ними. Проверить правильность вывода из посылок можно логическими средствами без обращения к непосредственному опыту.
    289
    Правильные с позиций логики выводы формулируются в виде правил логического следования (правил вывод а). Правила в логике обычно записываются в виде: А1,А2...Аn ?В, здесь ? - знак логического следования; записываются правила также в виде дроби:

    A1,A2...An
    В
     
    Таким образом, рассуждения - это процесс перехода от посылок к заключениям и далее от полученных заключений как новых посылок к новым заключениям. Выполняется этот процесс в виде элементарных актов, каждый из которых есть шаг вывода, на котором применяется соответствующее правило вывода, и называется он обычно логическим выводом. Число посылок в выводе, как и число его шагов, может быть различным. Вывод за один шаг применения правила вывода называют непосредственным выводом.
    Логическими законами называют нуль-посылочные выводы - высказывания, для выяснения истинности которых посылки не нужны. Наиболее важными являются законы: тождества, противоречия, исключенного третьего и достаточного основания.
    Закон тождества: "Объем и содержание всякого понятия должны быть зафиксированы и оставаться неизменными в течение всего процесса рассуждения." Этот закон записывается с помощью формулы А ?А, где ?- знак эквивалентности, т.е. если два понятия тождественны, то они могут быть взаимозаменяемы в логическом контексте. Буквой А здесь обозначаем переменную для высказываний или высказывательную форму.
    Закон противоречия: "Два противоречащих друг другу высказывания не могут быть одновременно истинными, по крайней мере, одно из них ложно". Формульная запись закона имеет вид: ¬(A? ¬А) - "неверно, что А и не А".
    Закон исключенного третьего (латинская формулировка этого закона tertium поп datur - третьего не дано) выражается формулой: A? ¬A т.е. "истинно А или не А" или словесная формулировка - если два высказывания противоречат друг другу, то одно из них истинно, а другое ложно. (Здесь ¬ - знак логического отрицания, .


    ? - знак конъюкции, или логического И, ? - знак дизъюнкции, или логического ИЛИ).
    Закон достаточного основания предложен немецким философом Г. Лейбницем. Он требует, чтобы ни одно утверждение не признавалось справедливым без достаточного основания. Закон в целом не выражается какой либо формулой, его требования носят содержательный характер.
    Двухпосылочные выводы называют силлогизмами Аристотеля. Конкретные типы силлогизмов называют модусами. В модусе всегда в посылках присутствуют три понятия (большой, средний и малый термины). Всего в силлогистике для четырех типов высказываний А, I, Е и О можно получить 256 различных модусов - правил вывода. В общем случае различают следующие рассуждения:
  • индуктивные - от частного к общему;

  • достоверные, или дедуктивные - от общего к частному;

  • правдоподобные - от частного к частному.

  • Индуктивные рассуждения от частного к общему отражают путь познания окружающего мира. Общие утверждения возникают при попытке обобщения частных, -
    290
    отражающих совокупность единичных фактов, полученных из опыта. Истинность общего утверждения будет очевидной, если частных утверждений, подтверждающих результат будет достаточно много и не будет опровергающих утверждений.
    Полной индукцией называют рассуждения, в которых общее заключение о принадлежности некоторого свойства или признака предметам данного класса делается на основании принадлежности данного свойства или признака всем предметам данного класса. Полная индукция дает истинное знание при условии, что граница рассматриваемого класса объектов точно известна.
    Неполная индукция - это перенос знаний, известных о части объектов данного класса, на все объекты данного класса. Она основывается на свойстве повторяемости признаков у сходных предметов. Однако здесь могут возникать ошибочные индуктивные заключения из-за применения второстепенных признаков в качестве существенных, т.е. в индуктивных рассуждениях из истинных посылок могут получаться ложные заключения.
    Правдоподобные индуктивные рассуждения достигаются не только на основе выявления повторяемости признаков у объектов некоторого класса, но и их взаимосвязи и причинной зависимости между данными признаками и свойствами рассматриваемых объектов.


    В индуктивных выводах используются различные методы установления причинно-следственных отношений. Формулируются они в виде принципов, основными из которых являются принципы: единственного различия, единственного сходства, единственного остатка, аналогии и другие.
    Например, формулировка принципа единственного различия'. "Если после введения какого-либо фактора появляется или после удаления его исчезает известное явление, причем мы не вводим и не удаляем никакого другого обстоятельства, которое могло бы изменить в данном случае явления, и не производим никакого изменения среди первоначальных условий явления, то указанный фактор и составляет причину явления". Этот принцип можно описать следующим образом: Пусть в серии из п опытов А,В,С вызывают D; в другой серии из п опытов В,С не вызывают D. Тогда па основании наблюдений можно сделать следующий вывод: "Вероятно, А является причиной D".
    Применяются также нечеткие выводы, когда истинность посылок принимается с некоторой степенью уверенности и заключение также выводимо из таких посылок с определенной степенью достоверности (вероятности). Нечеткие выводы имеют под собой математическое обоснование в виде теории нечетких множеств, основанной Л. Заде.
    Основные идеи, лежащие в основе дедуктивных рассуждений, восходят к работам Аристотеля и состоят в следующем:
    1) исходные посылки рассуждения являются истинными;
    2) правильно применяемые приемы перехода от посылок к вытекающим из них утверждениям и из посылок и ранее полученных утверждений к новым вытекающим из них утверждениям должны сохранять истинность получаемых утверждений - истинные посылки порождают истинные следствия.
    Наиболее важные практические результаты в СИИ получены при использовании дедуктивных рассуждений, на базе которых построено большинство логических систем представления знаний.
    291
    287 :: 288 :: 289 :: 290 :: 291 :: Содержание

    Ввод числовых и текстовых данных

    Если при вводе данных в ячейки не был задан определенный числовой формат, то по умолчанию применяется формат Общий (General).
    Ввод отрицательного числа начинается со знака минус. Введенный перед числом плюс игнорируется. Если число должно быть показано в экспоненциальной форме, то необходимо указать в выражении букву Е (прописную или строчную). Для ввода числового значения в дробном формате необходимо обязательно указывать целую и дробную часть числа, отделенные друг от друга пробелом, например, 1 1/2 или 0 5/6. Указав при вводе символ валюты, можно тем самым выбрать денежный (финансовый) формат, например, 5,00 р. В формате Общий (General) максимальное количество отображаемых в ячейке десятичных цифр равно 10. Если ширина ячейки недостаточна для отображения введенного числового значения, то Excel автоматически представляет его в экспоненциальной форме. При недостаточной ширине ячейки для вводимого
    153
    числа, но с использованием числового формата, отличного от формата Общий (General), Excel представит вместо числа несколько символов номера, например: #####. В этом случае чтобы отобразить содержимое ячейки, необходимо увеличить ширину столбца.
    При вводе в ячейку значения даты для разделения ее частей используется наклонная черта (/), точка или дефис (-), например, 1.02.1998 или 1/02/98.
    Значения времени также можно ввести непосредственно с клавиатуры, отделяя друг от друга часы, минуты и секунды двоеточием.
    Если в ячейке одновременно должны быть указаны значения даты и времени, то при вводе их необходимо разделить пробелом, например:
    1-ФЕВ-98 17:09
    Excel представляет и обрабатывает значения даты и времени как десятичные числа. Каждой дате из диапазона 01.01.1900 по 31.12.2078 ставится в соответствие десятичное число от 1 до 65380. Поэтому дате 01.02.1900 в формате Числовой (Number) соответствует целое число 32. Аналогично любому значению времени суток ставится в соответствии десятичная дробь из интервала от 0 до 1. Например, значение времени суток 23:45:36, представленное в числовом формате, есть десятичная дробь 0.99.

    Справедливо и обратное преобразование. Если десятичное число 32.99, введенное в ячейку с использованием формата Числовой (Number), отформатировать с применением формата Дата (Date), то оно будет выглядеть следующим образом: 01.02.1990 23:45:36.

    Благодаря такому преобразованию значения даты и времени используются при вычислениях. Если эти значения используются в формулах, то они должны быть записаны в кавычках, например, ="5/12/94" - "3/5/94".

    Укажем некоторые особенности, которые необходимо учитывать при вводе текстовых данных в ячейки.

    Длина текста в ячейке не может превышать 255 символов. Для каждого символа в ячейке можно задать свои параметры форматирования. Если введенный текст полностью не помещается в текущую ячейку, то он будет отображен (но не помещен!) поверх соседней ячейки справа. Последняя в этом случае должна быть пустой - в противном случае неумещающийся текст будет обрезан по правому краю своей ячейки. Полный текст, введенный в ячейку, всегда виден в строке формул.

    Длинный текст можно разбить в ячейке на несколько строк нажатием комбинации клавиш + .

    Ввод данных в таблицу

    Все данные, которые обрабатывает Excel, делятся на следующие три типа: числа, формулы и текст. К числовому типу данных относятся:
  • константа, например: 125; 125.5; 3.46Е+03;

  • дата, например: 32.12.97; 6 апр 97; дек 97;

  • время, например: 14:30; 14:30:59; 1:30:55 РМ.

  • дата и время, например: 28 октябрь, 1995 23:45:36

  • Все числовые данные после ввода в ячейку по умолчанию выравниваются по правому краю.
    Формула всегда начинается с символа "=", например: = А1 +$ВЗ. После ввода в ячейку формулы производятся вычисления, результат которых отображается в ячейке. При этом в строке формул будет представлена введенная формула.
    Любые данные, которые программой не распознаются в качестве числовых (константа, дата, время), интерпретируется как текстовые. Длина текста, помещенного в ячейку, не может превышать 255 символов. Признаком вводимой в ячейку текстовой информации является знак апострофа, который следует первым, например, '3.06.53 - это текстовый, а не числовой тип данных. Текстовые данные по умолчанию выравниваются по левому краю ячейки.
    Для ввода данных в ячейку необходимо выполнить следующие действия:
  • поместить указатель мыши на нужную ячейку;

  • ввести данные (Excel автоматически распознает тип вводимых данных и представляет содержимое ячейки в соответствующем формате по умолчанию);

  • завершить ввод данных нажатием клавиши , любой клавиши управления курсором, либо выполнив щелчок мышью на другой ячейке рабочего листа.

  • 152
    Данные любого типа, введенные в ячейку, могут быть представлены в определенном формате. Для этого используется команда Ячейки... (Cells...) меню Формат (Format). Форматирование содержимого ячейки не приводит к изменению самого содержимого, а определяет внешнее представление введенного значения.
    В табл. 12.1 показано внешнее представление единицы в различных форматах.
    Таблица 12.1
    Представление "1" в различных форматах

    Представление Формат
    1 Общий
    1,00 Числовой
    1,00р. Денежный
    1,0р. Финансовый
    1 Январь, 1980 Дата
    0:00:00 Время
    100,0% Процент
    1 Дробный
    1 .ООЕ+00 Экспоненциальный
    1 Текстовый
    0001 Дополнительный

    Вначале число "1" введено в ячейки в формате по умолчанию Общий (General), a затем каждая ячейка подвергалась форматированию 1ю команде Ячейки... (Cells...) меню Формат (Format). Ячейки можно форматировать до и после ввода в них значений.

    Ввод и использование формул

    Формула представляет собой сочетание констант, операторов, ссылок, функций, имен диапазонов и круглых скобок, используемых для изменения последовательности вычислений. Пример записи формулы:
    = СУММ(А1 :А15)/$С$3 + ЦЕНА*(150 + КОЛИЧ)
    В этом примере СУММ - имя функции; А1, А15, $С$3 - ссылки; А1 : А15 - диапазон (массив) ячеек; ЦЕНА, КОЛИЧ - имена диапазонов ячеек; 150 - константа.
    В формулах могут использоваться арифметические операторы +; -; *; /; % (определение значения процента); А (возведение в степень); операторы сравнения =; ;
    154
    >=; о (не равно) и оператор объединения текстовых данных &. Кроме того, Excel распознает три адресных оператора для указания диапазонов ячеек:
  • Оператор диапазона (двоеточие). Например, по формуле =СУММ(В1:01) вычисляется сумма содержимого ячеек В1, С1 и D1, входящих в состав диапазона В1 :D1. Оператор диапазона можно использовать для указания ссылок на ячейки всего столбца (например, А:А), на ячейки всей строки (например, 1:1), на ячейки всего рабочего листа (A:IV или 1:16384).

  • Оператор объединения диапазонов (точка с запятой). Например, по формуле =СУМ М(С5: С7; A3:СЗ) вычисляется сумма двух несмежных диапазонов С5: С7 и A3:СЗ.

  • Оператор пересечения диапазонов (пробел). Например, по формуле =СУММ(А5:В11 В8:С10) вычисляется сумма содержимого ячеек диапозонаВб:В10.

  • Используемые в формулах ссылки на ячейки могут быть трех типов: абсолютные, относительные и смешанные.
    Абсолютная ссылка задает абсолютные координаты ячейки в рабочем листе. При перемещении или копировании формулы из одной ячейки в другие такая ссылка в формуле не изменяется и всегда указывает на одну и ту же ячейку таблицы. Для записи абсолютной ссылки в стиле "А1" (см. параграф 8.1) используется знак $, например, $В$5, $С$4 и т.д. Ссылка, записанная в стиле "R1C1" без квадратных скобок, является абсолютной, например, R5C2, R4C3.
    Относительная ссылка в стило "А1" записывается без знака $, например: А1, В5, J3 и т.д.
    При вычислении формулы такие ссылки, так же как и абсолютные, указывают на координаты ячеек таблицы, участвующих в операции. Например, по формуле =А2+В2+С2, так же как и по формуле =$А$2+$В$2+$С$2, осуществляется суммирование содержимого первых трех ячеек второй строки рабочего листа. Отличие заключается в том, что при копировании формулы с относительными ссылками в другое место последние изменяются. Изменения определяются новым положением формулы в таблице. При этом действует следующее правило: относительная ссылка изменяется таким образом, что маршрут (направление движения и расстояние) к адресуемой ячейке относительного нового положения формулы сохраняется. Чтобы задать относительную ссылку в стиле "R1C1", используются квадратные скобки. В скобках указывается нужное количество строк и столбцов относительно ячейки, содержащей формулу с такой ссылкой. Например, R[2]C[5] - ссылка на ячейку, расположенную на две строки ниже и на пять столбцов правее ячейки, в которой записана такая ссылка, R[-2]C[-1] - ссылка на ячейку, которая находится на две строки выше и на один столбец левее ячейки, содержащей ссылку.

    Смешанная ссылка - это ссылка, в которой адресация строки отличается от адресации столбца. Например, А$3 - смешанная ссылка с указанием относительной адресации столбца и абсолютной адресации строки. Другие примеры смешанных ссылок: $В5, R3C[-2], R4C[-2].

    Замечания.

  • Для выбора стиля представления ссылок необходимо в диалоговом окне Параметры (Options) на вкладке Вид (View) установить переключатель "А1" или "R1С1".


  • При записи относительных ссылок в стиле "R1C1" нулевое количество строк и столбцов в квадратных скобках допускается не указывать. Например, ссылка RC1 равнозначна ссылке R[0]C1.


  • В таблице невозможно использование двух стилей записи адресов одновременно.


  • 155

    Для пояснения смысла указанных типов ссылок рассмотрим фрагмент таблицы на рис.12.3.

      А В С D
    1 34 12 10 =А1+В1+С1
    2 45 23    
    3 =А1+А2      
    4        
    <


    /p> Рис.12.3. Пример использования ссылок

    В ячейке A3 таблицы записана формула =А1 +А2, т.е. сумма элементов первого столбца, а в ячейке D1 - формула =А1 +В1+С1. т.е. сумма элементов первой строки. Заметим, что обе формулы содержат относительные ссылки. При вычислении по этим формулам в ячейках A3 и D1 будут отображены значения 79 и 56, соответственно. Если скопировать или переместить формулу из ячейки A3 в ячейки ВЗ и СЗ, то в них появятся формулы =В1+В2 и =С1+С2, т.е. суммы второго и третьего столбца соответственно.

    При копировании формулы из ячейки D1 в ячейку D2 в последней будет записана формула =А2+В2+С2, т.е. сумма второй строки, равная 109.

    Изменим ссылки в обеих исходных формулах. В ячейку A3 запишем формулу =$А$1+А2, а в ячейку D1 формулу =А1+$В$1+С$1. При копировании первой формулы в ячейки ВЗ и СЗ в них появятся записи =$А$1+В2 и =$А$1+С2, соответственно. При копировании второй формулы в ячейку D2 в последней появится запись =А2+$В$1 +С$1.

    Для ввода формулы в ячейку необходимо выполнить следующие действия:

  • Выделить нужную ячейку.


  • Указать в качестве первого символа знак равенства.


  • Ввести часть формулы до той позиции, в которой должна указываться первая ссылка.


  • Задать ссылку на нужную ячейку или диапазон ячеек. При этом могут использоваться два способа: ссылка на эти элементы вводится посимвольно с клавиатуры или ввод осуществляется щелчком мыши на нужной ячейке (методом указания). Последний способ предпочтительней, поскольку ввод ссылок с клавиатуры требует больших временных затрат и сопряжен с ошибками.


  • Ввести оставшуюся часть формулы. Завершить ввод нажатием клавиши . В ячейке при правильном вводе формулы появляется результат вычисления. Саму формулу можно увидеть теперь в строке формул.


  • Если формула введена с ошибками или вычисление результата по формуле невозможно, то в ячейке появляется сообщение об ошибке (табл. 12.2).

    Для поиска возможных ошибок Excel предоставляет полезную вспомогательную функцию, с помощью которой на экране графически отображаются связи между влияющими и зависимыми ячейками.


    Для любой ячейки рабочего листа можно установить такой режим отображения, при котором можно визуально наблюдать, какие ячейки влияют на ее содержимое (выявить

    156

    Таблица 12.2

    Сообщения об ошибках в формуле

    Текст сообщения Возможная причина Способ устранения
    # ДЕЛ/0! Деление на ноль Проверить содержимое влияющей ячейки
    # ССЫЛКА! Указана некорректная ссылка Проверить ссылки, особенно внешние: правильно ли указан путь, не был ли переименован файл, лист и т.д.
    # ЧИСЛО! Невозможность вычисления значений (например, извлечение квадратного корня из отрицательного числа) Проверить правильность задания аргументов функций
    # ПУСТО! Неверно указано пересечение диапазонов ячеек (нет общих ячеек) Задать правильно диапазон ячеек
    # ЗНАЧ! Задан аргумент недопустимого типа Уточнить типы аргументов для применяемой функции
    #ИМЯ! Указано недопустимое имя операнда (например, функции или диапазона) Проверить правильность написания имен
    # Н/Д1 Нет данных в ячейке, на которую сделана ссылка Проверить содержимое влияющей ячейки
    влияющие ячейки) и на содержимое каких ячеек она сама влияет ( выявить зависимые ячейки). С этой целью выделяют нужную ячейку, например, ячейку содержащую сообщение об ошибке, и выполняют следующие действия:

  • с помощью контекстного меню любой видимой панели инструментов задают отображение на экране панели Зависимости (Auditing);


  • щелкают по кнопке Влияющие ячейки (Trace Precedents), расположенной на этой панели. Excel отобразит в рабочем листе стрелки только от непосредственно влияющих ячеек по направлению к активной ячейке;


  • еще один щелчок по этой же кнопке приводит к отображению влияющих ячеек следующего уровня (косвенно влияющих на содержимое текущей ячейки). Каждый последующий щелчок по кнопке будет приводить к отображению следующего уровня влияющих ячеек, если таковые имеются;


  • чтобы удалить стрелки к влияющим ячейкам низшего (самого дальнего) уровня, щелкают по кнопке Убрать стрелки к влияющим ячейкам (Remove Precedents Arrows).


    Можно убрать стрелки всех уровней сразу с помощью кнопки Убрать все стрелки (Remove All Arrows).


  • Способ определения зависимых ячеек аналогичен рассмотренному. При этом для отображения и удаления стрелок от активной ячейки к зависимым используются две соответствующие кнопки на панели Зависимости (Auditing).

    157

    По отношению к ячейке с текстом сообщения об ошибке на панели Зависимости (Auditing) существует кнопка с именем Источник ошибки (Trace Error). Щелчок по этой кнопке приводит к отображению на экране красной стрелки от ячейки, ставшей причиной возврата значения ошибки.

    Замечание.

    Установкой флажка Формулы (Formulas) на вкладке Вид (View) диалогового окна Параметры (Options) меню Сервис (Tools) можно задать отображение в ячейках формул вместо результатов. Для поиска ошибок таблицу с формулами можно вывести на печать.

    В формуле могут использоваться внешние ссылки - ссылки на ячейки других листов текущей рабочей книги или на ячейки листов других рабочих книг. С помощью внешней ссылки могут связываться две или несколько рабочих книг. Книга, которая содержит формулу с внешней ссылкой, называется зависимой. Книга, в которой находятся данные, обрабатываемые этой формулой, называется исходной (влияющей). Исходная рабочая книга перед заданием внешней ссылки должна быть сохранена.

    Внешняя ссылка может быть задана одним из рассмотренных способов: с помощью ввода символов с клавиатуры или методом указания. Для задания внешней ссылки методом указания необходимо открыть обе рабочие книги и задать соответствующее расположение их окон на экране. Во внешней ссылке указываются имя рабочей книги (при необходимости полный путь), имя рабочего листа и адрес ячейки. При этом автоматически добавляются апострофы, квадратные скобки и восклицательный знак, разделяющие составные компоненты. Например, внешняя ссылка может выглядеть следующим образом:

    'С:\ЕХСЕL\ДОКУМЕНТЫ\[Учебн.ХLS]Каф25'!$В$5,

    то есть путь, имя рабочей книги и имя листа заключаются в апострофы, имя книги представляется в квадратных скобках, после имени рабочего листа ставится восклицательный знак.Если зависимая и исходная рабочие книги находятся в одной папке, то указание пути не обязательно.

    Для того чтобы внешняя ссылка была автоматически обновлена при переименовании исходной рабочей книги, необходимо предварительно открыть зависимую рабочую книгу.

    Ввод и расчет

    Для ввода вектора используется команда Author\ Vector (Автор | Вектор) или соответствующая кнопка панели инструментов. После ответа на запрос о числе элементов можно вводить сами элементы. Вектор можно задать и списком элементов, заключенным в квадратные скобки. Матрица вводится как список списков (но строкам).
    Вектор можно сформировать расчетным путем. Например, матрица Гильберта 3x3 задается командой
    VECTOR(VECTOR(1/(I+J-1),J,1,3), I,1,3).
    208
    Для удобства ссылок на матрично-векторные объекты нужно объявить их имена с атрибутом Nonscalar и присвоить им ранее введенные значения посредством ссылок на номера записей.
    Индексы в авторской строке набираются после выбора из панели символа [v] (каждый), а в выходном документе представляются обычным образом. Например, для задания b := b 2.1, в окне Autohor\Expression (Автор\Выражение) нужно набрать b := a\ v 2\ v I. Операция Simplify (Упростить) приводит к выводу значения указанного элемента.

    Ввод и редактирование текста

    Ввод текста выполняется в режиме вставки или замещения. В режиме вставки вводимые по месту расположения курсора символы автоматически сдвигают находящийся справа текст. В режиме замещения вводимый по месту расположения курсора текст замещает находящиеся справа от курсора символы. Переключение между режимами вставки и замещения выполняется с помощью клавиши . При первоначальном вводе текста в конец документа режимы вставки и замены равносильны друг другу.
    Переключение раскладки клавиатуры между русским и английским алфавитом выполняется с помощью комбинации клавиш левый + или +, устанавливаемой в среде Windows 95.
    Ввод текста обычно выполняется с помощью клавиатуры, используемый при этом шрифт обычно задается вручную - с помощью панели инструментов Форматирование (Formatting) или автоматически в соответствии со стилем абзаца.
    В ряде случаев в документ приходится вставлять отличные от алфавитно-цифровых символы, изображений которых нет на клавиатуре. При этом (для получения наглядного представления о выбранном наборе символов) обычно используют команду Символ. .. (Symbol...) меню Вставка (Insert).
    Редактирование текста документа в основном связано с выполнением операций копирования, удаления и перемещения фрагментов текста. Указанные операции требуют предвари тельного выделения обрабатываемого фрагмента. Далее можно воспользоваться буфером обмена или обойтись без него.
    Пример 1. Вставка в документ символа М (с изображением телефона), входящего в состав шрифта Wingdings.
  • Зададим команду Символ... (Symbol...) меню Вставка (Insert).

  • В открывшемся диалоговом окне Символ (Symbol) выберем вкладку Символы (Symbols), рис. 9.4.

  • в списке Шрифт: (Font:) выберем шрифт Wingdings, затем с помощью мыши выберем нужный символ.4 Нажмем кнопку Вставить (Insert).

  • Замечание.
  • Диалоговое окно Символ (Symbol) отображается в окне Word и может использоваться для вставки символов при редактировании документа до тех пор, пока не будет нажата кнопка Закрыть (Close).

  • Пример 2.
    Выделение фрагмента документа в обычном режиме. 1. Поместим указатель в начало или конец выделяемого фрагмента. Далее выполним одно из следующих действий.

  • Нажмем левую кнопку мыши и выделим фрагмент протаскиванием указателя в нужном направлении.


  • Нажмем клавишу и с помощью клавиш управления курсором расширим выделение фрагмента в нужном направлении.


  • 122

    Рис. 9.4. Вид диалога вставки символа

    Замечания.

  • При использовании клавиш управления курсором (со стрелками вправо и влево) происходит посимвольное расширение выделения.


  • При дополнительном нажатии и удерживании клавиши расширение выделения выполняется пословно.


  • Отмена выделения выполняется щелчком или нажатием любой из клавиш управления курсором после отпускания клавиши .


  • Выделение фрагмента документа можно выполнять в режиме пошагового расширения выделения. Для этого помещают указатель в начало или конец выделяемого фрагмента и включают режим пошагового расширения выделения нажатием клавиши или двойным щелчком мышью в поле ВДЛ строки состояния. Теперь при последовательных нажатиях клавиши происходит выделение слова, предложения, абзаца и документа в целом. Отмена выделения в обратном порядке выполняется нажатием комбинации клавиш +.

    Пример 3. Перемещение и копирование выделенного фрагмента с помощью мыши

    методом drag-and-drop (перенести и оставить).

  • Предварительно зададим команду Параметры... (Options...) меню Сервис (Tools) и на вкладке Правка (Edit) диалогового окна Параметры (Options), установим флажок Использовать перетаскивание текста при правке (Drag-and-Drop Text Editing).


  • Поместим указатель в область выделенного фрагмента и после принятия им формы наклоненной влево стрелки нажмем левую кнопку мыши - внизу указателя появится прямоугольник, а текстовый курсор примет форму вертикальной штриховой линии.


  • 123

  • Протащим указатель так, чтобы текстовый курсор оказался в месте предполагаемой вставки выделенного фрагмента, и отпустим кнопку мыши.


  • Если предполагаемое место вставки не отображается на экране, протащим указатель к верхней или нижней границе окна документа.Прокрутим таким образом текст в окне в нужном направлении (вверх пли вниз).


  • Копирование выделенного фрагмента выполним аналогично с той разницей, что вместе с нажатием и отпусканием левой кнопки мыши будем нажимать и отпускать клавишу .


  • 124

    122 :: 123 :: 124 :: Содержание

    Выбор полей результирующей таблицы

    Выбор полей результирующей таблицы выполняется с помощью вкладки Fields (поля) диалогового окна Конструктора запросов. Рассмотрим эту процедуру на примере организации запроса 1.
    Запрос 1. Составить список всех преподавателей, сведения о которых содержатся в таблице T_prep.dbf, с указанием их стажа и должности.
    Вся необходимая информация содержится в одной таблице. Выводимые записи должны быть упорядочены по полю Fio.
    Поля результирующей таблицы формируются из полей исходной таблицы и вычисляемых полей. Для выбора полей исходной таблицы необходимо отобразить их в списке Selected Output (выбранные поля) вкладки выбора полей Fields (поля) (рис. 22.1). Один из способов формирования полей в результирующей таблице состоит в следующем. В окне Конструктора запросов выберем вкладку Fields (поля) и откроем при этом два списка: Available Fields (доступные поля) и Selected Output (выбранные поля). Наша задача перенести в список Selected Output (выбранные поля) поля, используемые в sanpoqe. При выделении в списке Available Fields (доступные поля) с помощью мыши нужного поля активизируется кнопка Add (добавить), при нажатии которой и осуществляется перенос этого поля. Для переноса всех полей в список выбранных достаточно нажать кнопку Add All (добавить все). Если часть полей оказалась лишней, их можно удалить из списка Selected Output (выбранные поля) с помощью кнопки Remove (удалить).
    Место, которое поле занимает в списке Selected Output (выбранные поля), соответствует и его месту в результирующей таблице. Для изменения расположения некоторого поля достаточно выбрать мышью маркер перемещения (слева от поля) и переместить его в нужное место.
    Результаты выполнения запроса представлены на рис. 22.2.
    Рис. 22.2. Результат выборки полей таблицы Т_ргер
    271
    271 :: Содержание

    Вычисление промежуточных и общих итогов

    Промежуточными итогами называют результаты вычисления по определенной функции изменяющихся значений одного или нескольких столбцов записей, предварительно разбитых на несколько групп. Общий итог вычисляется с применением функций, заданных для вычисления промежуточных итогов. Он располагается в виде отдельной строки в конце списка. Необходимость в выполнении таких операций возникает довольно часто, поскольку они позволяют свести воедино и проанализировать однородные и неоднородные данные списка.
    172
    Прежде чем задать вычисление промежуточных итогов, все записи списка необходимо разбить на несколько групп. С этой целью используется сортировка. Ее производят по полю, при изменении значений которого предполагается вычисление промежуточных и общих итогов. Например, отсортировав в алфавитном порядке список на рис. 13.1 по полю "Занимаемая должность", все записи списка тем самым разбиваем па несколько групп по категориям должностей. Теперь для любого столбца группы записей можно задать автоматическое вычисление промежуточных итогов с указанием определенного типа функции.
    Например, задать функцию СРЗНАЧ для столбцов "Оклад" и "Премия" рассматриваемого списка. В этом случае для каждой группы записей списка применительно к указанным столбцам будут автоматически вычислены промежуточные итоги, а в конце появится строка с общими итогами для всего списка.
    Чтобы задать операцию вычисления промежуточных итогов для отсортированного по определенному полю списка, необходимо выполнить следующие действия:
  • Выполнить команду Итоги (Subtotals) меню Данные (Data).

  • В поле При каждом изменении в (At Each Change in) появившегося диалогового окна выбрать имя столбца, содержащего группы записей (т.е. имя столбца, по которому произведена сортировка).

  • В раскрывающемся списке Операция (Use Functions) выбрать функцию для вычисления промежуточных итогов.

  • В поле Добавить итоги по (Add Subtotals to) выбрать столбцы, значения которых будут обрабатываться с применением указанной функции.


  • Вычислительные модели и задачи, синтез программ

    В общем случае ИППП включает в свой состав следующие компоненты: подсистему общения пользователя с пакетом, подсистему планирования решений задач (планировщик) и базу знаний о программных модулях, составляющих функциональное наполнение пакета.
    Планировщик является ядром ИППП, основная цель его - получение плана решения задачи пользователя, формулировка которой поступает на вход подсистемы планирования. План решения задачи в ИППП трактуется как поиск программы, решающей эту задачу. При этом программа решения задачи может конструироваться либо явно на каком-либо из алгоритмических языков программирования, либо существует в виде шагов работы планировщика. В первом случае ИППП является транслятором с декларативного языка описания задач на алгоритмический язык программирования. Во втором варианте, когда программа решения задачи не конструируется явно, а существует в виде шагов работы планировщика, планировщик работает в режиме интерпретации и является по сути интерпретатором с языка описания задач.
    Как в первом, так и во втором вариантах работа планировщика отличается от функционирования обычного транслятора с алгоритмического языка программирования. Если функцией обычного транслятора является преобразование входной программы с входного алгоритмического языка программирования в язык машинных команд ЭВМ, то основная задача планировщика - синтез алгоритма программы решения задачи по декларативному описанию формулировки задачи. Синтез осуществляется с использованием базы знаний (БЗ). Типовая структура системы синтеза программ на основе представления знаний приведена на рис. 25.1.
    База знаний в ИППП описывается на языке спецификаций, задачи формулируются на языке формулировок задач. В общем случае это может быть один и тот же язык. Пользователь, применяющий ИППП для решения прикладных задач, выступает обычно в двух ролях:
  • как инженер по знаниям, т.е. специалист в предметной области, - когда описывает содержимое базы знаний;

  • как кодировщик задач, - когда формулирует задачи с использованием накопленных в ИППП знаний.


  • 329

    Рис. 25.1. Структура системы синтеза программ

    Знания в БЗ могут быть представлены с использованием различных моделей. В наиболее развитых ИППП в качестве модели предметной области используются так называемые вычислительные модели. На основе вычислительных моделей формулируются вычислительные задачи.

    Вычислительная задача формулируется в рамках некоторой предметной области, рассматриваемой как совокупность объектов и отношений между ними. При этом рассматриваются только такие объекты, на основе которых можно осуществлять вычисления. Между объектами существуют отношения вычислимости, задаваемые в виде функциональных отображений. Объекты могут быть простыми или составными. В составном объекте между его компонентами имеют место структурные отношения.

    Объекты и отношения между ними описываются на некотором языке. Объектам в этом языке соответствуют переменные, а отношениям - функции. Значениями переменных являются данные.

    Вычислительная задача имеет следующую форму:

    ЗНАЯ М ВЫЧИСЛИТЬ Y1,Y2...YN ПO X1,X2...XM.

    Здесь М, Y1 ,Y2... YN, X1 ,Х2.. .ХМ - переменные, которые имеют смысл, определяемый их вхождением в задачу. Идентификаторы ЗНАЯ, ВЫЧИСЛИТЬ и ПО имеют фиксированный смысл и служат для разделения переменных. Переменные Х1,Х2...ХМ являются входными для задачи, значения их задаются в постановке задачи. Переменные Y1,Y2...YN - выходные, значения их требуется вычислить. М - переменная, значение которой выражает условия задачи. Данные, являющиеся значением М, выражают знания в виде вычислительных моделей, включающих в свой состав переменные и отношения между ними.

    Вычислительную модель (ВМ) можно представлять графически, с помощью языка спецификации и с помощью формул некоторого логического языка.

    330

    Графическое представление вычислительной модели - это семантическая сеть специального вида, узлам которой соответствуют переменные и отношения. Переменные обозначаются точками, отношения кружочками, овалами или прямоугольниками, внутри которых помещается описание реализации отношения.


    Связи между переменными и отношениями могут быть следующих типов:

    На рис. 25.2 приведен пример вычислительной модели КВАДРАТ, где в качестве отношений используются отношения типа уравнение. Все переменные, входящие в уравнения, являются слабосвязанными, т.е. любая из переменных может быть либо входной, либо выходной для уравнения.

    Рис. 25.2. ВМ КВАДРАТ с отношениями типа уравнение

    На одной вычислительной модели может быть решено множество вычислительных задач. Так, на приведенной на рис. 25.2 ВМ можно решить следующие задачи:

    вычислить ПЕРИМЕТР по СТОРОНА;
    вычислить СТОРОНА по ПЕРИМЕТР;
    вычислить ПЛОЩАДЬ по СТОРОНА;
    вычислить СТОРОНА по ПЛОЩАДЬ;
    вычислить ПЕРИМЕТР по ПЛОЩАДЬ;
    вычислить ПЛОЩАДЬ по ПЕРИМЕТР.

    Проводить такие вычисления возможно при условии, что для уравнения всегда можно построить его разрешение относительно любой из входящих в него переменных. Если, например, в уравнение входит n переменных, то будем иметь п функций разрешения. Записывается это обычно в виде:

    xj=fij(x1, x2,...xj-1, xj+1... xn)

    331

    Здесь хj - переменная, входящая в уравнение, f11 - реализация функции, вычисляющей значение j-й переменной в уравнении с номером i (i=1 ,...,k; k - число уравнений в ВМ). Уравнения считаются независимыми друг оу друга и являются компактным описанием множества разрешающих функций.

    Входной язык ИППП обычно допускает использование уравнений при описании вычислительных моделей. После преобразования такого описания во внутреннее представление базы знаний уравнения заменяются функциями разрешения и в базе знаний уравнения хранятся в форме однооператорных отношений, т.е. без использования слабосвязанных переменных. Для уравнений из примера на рис. 25.2 такими разрешениями являются следующие:

    Периметр = f11(Сторона);

    Сторона = f21(Периметр);

    Площадь = f21 (Сторона);

    Сторона = f22 (Площадь).

    В однооператорном отношении имеется одна выходная переменная, остальные являются входными для отношения, и однооператорное отношение показывает, значения каких переменных должны быть известны, для того чтобы можно было вычислить значение выходной переменной.


    Замена уравнений в ВМ их функциями разрешения позволяет избавиться от слабосвязанных переменных и тем самым получить описание вычислительной модели в виде двудольного ориентированного графа (орграфа). На рис. 25.3 приведено графическое представление ВМ КВАДРАТ, в которой такая замена выполнена, т.е. вместо отношений типа уравнение используются представляющие их функции разрешения в виде однооператорных отношении.

    Рис. 25.3. ВМ КВАДРАТ с однооператорными отношениями

    Однако ВМ с использованием однооператорных отношений еще не является алгоритмическим описанием - в модели не зафиксирован порядок выполнения

    332

    операторов. Поэтому такое описание по сути задает потенциальное множество алгоритмов, которые могут быть сконструированы с использованием отношений вычислительной модели. Конкретный алгоритм может быть получен, если к ВМ присоединить формулировку задачи в виде:

    ЗНАЯ ВЫЧИСЛИТЕЛЬНУЮ МОДЕЛЬ >
    ВЫЧИСЛИТЬ < ВЫХОДЫ ЗАДАЧИ > ПО < ВХОДАМ ЗАДАЧИ >.

    Вычислительная модель и присоединенная к ней формулировка задачи образуют модель задачи. Формулировка задачи разбивает множество входящих в вычислительную модель переменных на два подмножества: входные переменные, значения которых известны до решения задачи, и выходные переменные, значения которых необходимо вычислить.

    Если входных переменных достаточно для нахождения выходных с использованием разрешающих функций, которые содержит вычислительная модель, то задача является разрешимой, и для ее решения может быть сконструирована программа.

    Обычно поиск решения задачи (т.е. программы) сводится к отысканию пути в орграфе модели задачи, ведущего от исходных данных задачи к ее результатам. Нахождение такого пути в ИППП осуществляет планировщик. Планирование при этом называют планированием от данных, возможен и другой подход: планирование от цели, в этом варианте планировщик ищет путь от выходных переменных задачи к входным. Возможна и комбинация этих вариантов (например, в системе ПРИЗ используется метод прямой и обратной волны).


    Выписывание встречающихся на этом пути функций разрешения в форме, например, операторов присваивания, дает описание плана (алгоритма) решения задачи. Так, например, если на ВМ КВАДРАТ сформулировать задачу:

    ЗНАЯ КВАДРАТ ВЫЧИСЛИТЬ ПЛОЩАДЬ ПО ПЕРИМЕТР,

    будет получен следующий план вычислений в форме присваиваний:

    Сторона: = f21(Периметр).

    Площадь: = f12(Сторона);

    В функциональной форме это записывается в следующем виде:

    Площадь =f12(f21 (Периметр)).

    Графическое представление вычислительной модели данной задачи приведено на рис. 25.4. И если теперь для каждой из входящих в план вычислений функций имеется реализация в виде, например, программного модуля, то выполнение (интерпретация) модулей приведет к получению результата задачи.

    Графическое представление ВМ достаточно полно описывает существо вычислительных задач. Однако в этом представлении отсутствует информация о типах объектов модели задачи не с позиций проведения вычислений в принципе, а с использованием ЭВМ. Для реализации вычислений на ЭВМ с каждым объектом необходимо связать тип его данного с точки зрения множества принимаемых этим объектом значений (целое, вещественное, символьное и т.д.). Такой информацией ВМ доопределяется с использованием языка спецификации вычислительных задач и построением поддерживающей этот язык программной системы синтеза программ.

    333

    Рис. 25.4. ВМ задачи нахождения площади квадрата по периметру

    В настоящее время разработан и используется на практике ряд языков спецификаций вычислительных задач, программы решения которых находятся с применением рассмотренных и более сложных вычислительных моделей (УТОПИСТ, ДЕКАРТ, Язык решения задач системы МИКРОПРИЗ и др.). Устройство языка спецификаций и его применение для описания и решения вычислительных моделей и задач рассмотрим на примере системы ТК Solve r.

    334

    329 :: 330 :: 331 :: 332 :: 333 :: 334 :: Содержание

    Выделение элементов рабочей книги

    Действие многих команд относится не к одному выделенному элементу (ячейке, строке, столбцу или листу рабочей книги), а к их совокупности. Такие совокупности однотипных элементов называются диапазонами. В пределах документа можно предварительно выделить один или несколько несмежных диапазонов. Все элементы таких диапазонов обрабатываются в рамках одной операции (например, форматируются, очищаются, перемещаются и т.д.).
    Замечание.
    Некоторые операции не могут выполняться для несмежных диапазонов ячеек. В этом случае выдается сообщение: "Данная команда неприменима для несвязных диапазонов" (Can not that command on nonadjacent selections).
    Рассмотрим основные способы выделения диапазонов однотипных элементов с помощью мыши.
    Прямоугольный диапазон ячеек можно выделить одним из следующих способов:
    1. Щелчком мыши выделить первую входящую в диапазон ячейку. Эта ячейка станет активной. При нажатой левой кнопке мыши протащить указатель по диагонали выделяемого прямоугольного диапазона ячеек.
    2. Выделить ячейку, стоящую в любом из углов предполагаемого прямоугольного диапазона ячеек. Нажать клавишу и щелкнуть на ячейке в противоположном углу диапазона. Такой способ рекомендуется для выделения диапазона ячеек, не умещающегося в пределах окна и требующего использования полос прокрутки.
    Для выделения всех ячеек таблицы достаточно нажать кнопку в левом верхнем углу листа (на пересечении заголовков строк и столбцов).
    Чтобы выделить все ячейки столбца (строки) достаточно щелкнуть мышью на заголовке этого столбца (строки). Для выделения нескольких смежных столбцов (строк) необходимо либо протащить указатель мыши при нажатой левой кнопке через заголовки соответствующих столбцов (строк), либо нажать клавишу и щелкнуть на заголовке последнего столбца (строки) диапазона смежных столбцов (строк).
    Выбор листа в книге осуществляется щелчком мыши на ярлычке с его именем. Нужный лист можно выбрать также с помощью контекстного меню: щелчком правой кнопки мыши по одной из кнопок прокрутки ярлычков листов книги.

    Диапазон из нескольких смежных листов можно выделить следующем образом: щелкнуть на ярлычке первого входящего в диапазон листа и, нажав клавишу , щелкнуть на ярлычке последнего листа диапазона. Чтобы выделить все листы рабочей книги достаточно выполнить команду Выбрать все листы (Select АИ Sheets) из контекстного меню любого ярлычка рабочего листа.

    Рассмотрим, каким образом можно выделить несколько несмежных диапазонов однотипных элементов.

    Процедуру выделения несмежных диапазонов ячеек можно представить следующим образом:

    150

  • Выделить первый диапазон ячеек.


  • При нажатой клавише щелкнуть мышью на первой ячейке, которая будет входить в следующий диапазон ячеек, и протащить указатель мыши через все ячейки второго диапазона. Результат будет аналогичным, если при нажатой клавише щелкнуть мышью на первой ячейке несмежного диапазона и отпустить клавишу. Нажать клавишу и щелкнуть мышью на последней ячейке этого диапазона.


  • Выполнить действия из предыдущего пункта для выделения следующего несмежного диапазона ячеек.


  • Для выделения мышью нескольких несмежных диапазонов строк (столбцов) выделяют первый диапазон, а затем действуют по аналогии с только что рассмотренной процедурой выделения ячеек.

    Чтобы выделить несколько отдельных несмежных листов в рабочей книге, необходимо выделить первый лист и при нажатой клавише щелкать по ярлычкам других выделяемых листов.

    Несмежные диапазоны листов выделяются по аналогии с выделением несмежных диапазонов ячеек: с помощью клавиш и .

    Excel предоставляет также возможность выделения ячеек, содержимое которых удовлетворяет определенным условиям. Например, можно выделить в таблице (или в предварительно выделенном диапазоне) только пустые ячейки или только ячейки, содержащие константы и т.п.

    Поиск ячеек по их содержимому можно выполнить следующим образом:

    1. Выделить диапазон ячеек, в котором будет осуществляться поиск ячеек, отвечающих определенному условию. Если диапазон ячеек не выделен, то будет выполнен поиск во всем рабочем листе.


    2. Выполнить команду Перейти... (GoTo...) меню Правка (Edit). В появившемся диалоговом окне нажать кнопку Выделить... (Special...). В диалоговом окне Выделение группы ячеек (GoTo Special) (рис. 12.1), выбрать условие выделения ячеек

    Рис. 12.1. Выделение ячеек по заданному условию

    151

    Назначение переключателей и флажков диалогового окна следующее:

    1 - выделение всех ячеек, содержащих примечания;

    2 - выделение констант заданного типа или формул с указанным результатом;

    3 - выделение всех пустых ячеек;

    4 - выделение прямоугольного диапазона, содержащего заполненные ячейки,

    вокруг активной ячейки;

    5 - выделение массива, к которому относится активная ячейка;

    6 - выделение ячеек, содержащих отличия по строкам или столбцам;

    7 - выделение всех ячеек, на которые непосредственно или косвенно ссылается

    формула в активной ячейке, или всех, ячеек, где находятся формулы со ссылками на активную ячейку;

    8 - выделение последней ячейки с содержимым или параметрами форматирования;

    9 - выделение видимых ячеек (скрытые ячейки выделены не будут);

    10 - выделение всех графических объектов, включая кнопки и надписи.

    Замечание.

    Внутри выделенного диапазона указатель мыши можно перемещать нажатием клавиш (вниз), + (вверх), (вправо), + (влево). При нажатия любой другой клавиши управления курсором или щелчка мышью выделение диапазона отменяется.

    152

    150 :: 151 :: 152 :: Содержание

    Выявление зависимостей между атрибутами

    Выявление зависимостей между атрибутами необходимо для выполнения проектирования БД методом нормальных форм, рассматриваемым далее.
    Выявим зависимости между атрибутами отношения ПРЕПОДАВАТЕЛЬ, приведенного на рис. 19.7. При этом учтем следующее условие, которое выполняется в данном отношении.
    Условие. Один преподаватель в одной группе может проводить только один вид занятий (лекции или практические занятия).
    В результате анализа отношения получаем зависимости между атрибутами, показанные на рис. 19.8.
    Рис. 19.8. Зависимость между атрибутами
    К выделению этих функциональных зависимостей ФЗ для рассматриваемого примера приводят следующие соображения.
    Фамилия, имя и отчество у преподавателей факультета уникальны. Каждому преподавателю однозначно соответствует его стаж, т.е. имеет место функциональная зависимость ФИО->Стаж. Обратное утверждение неверно, так как одинаковый стаж может быть у разных преподавателей.
    239
    Каждый преподаватель имеет определенную добавку за стаж, т.е. имеет место функциональная зависимость ФИО->Д_Стаж, но обратная функциональная зависимость отсутствует, так как одну и ту же надбавку могут иметь несколько преподавателей.
    Каждый преподаватель имеет определенную должность (преп., ст. преп., доцент, профессор), но одну и ту же должность могут иметь несколько преподавателей, т.е. имеет место функциональная зависимость ФИО->Должн, а обратная функциональная зависимость отсутствует.
    Каждый преподаватель является сотрудником одной и только одной кафедры. Поэтому функциональная зависимость ФИО-Жаф имеет место. С другой стороны, на каждой кафедре много преподавателей, поэтому обратной функциональной зависимости нет.
    Каждому преподавателю соответствует конкретный оклад, который одинаков для всех педагогов с одинаковыми должностями, что учитывается зависимостями ФИО->Оклад и Должн->Оклад. Нет одинаковых окладов для разных должностей, поэтому имеет место функциональная зависимость Оклад->Должн.
    Один и тот же преподаватель в одной группе по разным предметам может проводить разные виды занятий. Определение вида занятий, которые проводит преподаватель, невозможно без указания предмета и группы, поэтому имеет место функциональная зависимость ФИО, Предм, Группа->ВидЗан. Действительно, Петров М.И. в 256 группе читает лекции и проводит пратические занятия. Но лекции он читает по СУБД, а практику проводит по Паскалю.
    Нами не были выделены зависимости между атрибутами ФИО, Предм и Группа, поскольку они образуют составной ключ и не учитываются в процессе нормализации исходного отношения.
    После того, как выделены все функциональные зависимости, следует проверить их согласованность с данными исходного отношения ПРЕПОДАВАТЕЛЬ (рис. 19.7).
    Например, Должн.=преп и Оклад=500 всегда соответствуют друг другу во всех кортежах, т. с. подтверждается функциональная зависимость Должн. Оклад. Так же следует верифицировать и остальные функциональные зависимости, не забывая об ограниченности имеющихся в отношении данных.

    Задачи и методы исследования операций

    Исследованием операций (ИО) называется применение математических методов к анализу целенаправленной человеческой деятельности. В него интегрировались многие самостоятельно развивавшиеся разделы прикладной математики. Методы ИО являются важнейшим элементом профессиональной деятельности инженера, который является организатором ее эффективного использования в сложных человеко-машинных системах. Перечислим основные методы исследования операций.
    Линейное программирование. Здесь решаются задачи с линейной целевой функцией при линейных ограничениях на переменные и (обычно) требовании их неотрицательности. Оптимум, если он существует, всегда достигается в процессе направленного перебора и лежит на границе допустимой области. Примерами задач линейного программирования являются задачи на составление оптимальных смесей (рецептур, диет), раскроя материалов, транспортные проблемы и т.п.
    Нелинейное программирование применяется при нелинейных целевых функциях и/ или ограничениях. Ограничения обычно имеют вид неравенств, что исключает решение методом неопределенных множителей Лагранжа. Эти задачи также решаются направленным поиском (обычно на основе градиента целевой функции), который приводит к локальному экстремуму.
    Динамическое программирование служит для выработки многоэтапных решений (развития производственной или иной системы, долгосрочной замены оборудования, многозвенных транспортных маршрутов). При этом используется принцип оптимальности, согласно которому всякое новое частичное решение должно быть оптимальным относительно достигнутого состояния.
    Задачи на графах охватывают многообразный комплекс сетевых задач: кратчайший путь, наиболее длинный путь (проблема управления сложными комплексами работ - строительных, проектных, подготовки запуска и т.д.), наибольший поток, выявление критических звеньев сети, анализ структуры коллектива (отношения доминирования, коалиции и их устойчивость и т.п.).
    Теория решений изучает оптимальное поведение при неопределенности (игры с природой) и при конфликтных интересах ("стратегические" игры).
    Сюда же можно отнести "дифференциальные" игры, связанные с оптимальным перехватом уклоняющейся цели.
    Теория запасов рассматривает расчет такой стратегии восполнения запасов, при которой суммарные затраты на поставки, хранение избыточного запаса и "штрафы" за неполное удовлетворение спроса минимальны, а дополнительные ограничения выполнены.
    Теория массового обслуживания имеет дело со случайными процессами накапливания и рассасывания очередей. Она незаменима при оценке оперативности работы систем.
    187
    Динамика боя рассматривает подходы к определению потенциала противоборствующих сторон и оценку влияния на ход и исход боевых действий таких факторов, как мощность боеприпасов, скорострельность, точность стрельбы, рассредоточенность и степень защищенности боевых единиц, упреждение в начале боевых действий и пр.
    Кроме того, следует отметить многочисленные переплетения между названными направлениями (линейное программирование и теория игр; графы, динамическое программирование и транспортные задачи; управление запасами и теория очередей).

    Задание реакции на расширение имени файла

    Реакция системы па расширение имени файла состоит в следующем. При выборе файла с определенным расширением нажатие клавиши приводит к запуску соответствующей обрабатывающей программы. Например, при выборе файла,
    73
    нажатие приводит к запуску системы программирования Турбо-Пролог с загрузкой выбранного файла программы для редактирования и обработки.
    Информация для задания реакции системы на расширение имени файла находится в файле nc.ext, называемом файлом расширений оболочки. Он представляет собой текстовый файл. Каждая строка этого файла задает один вариант реакции на конкретное расширение имени. Например:
    txt:C:\EDITORS\LEX\lexicon!.!
    При задании реакции системы на расширение имени файла используются следующие правила замещения параметров конкретными значениями при выборе файла:
    !- именем выбранного файла;
    !.! - составным именем выбранного файла;
    !\ - полной спецификацией рабочего каталога (без указания имени текущего привода и следующего за ним двоеточия), которым является каталог, содержащий выбранный файл;
    !: - именем текущего привода, за которым следует двоеточие.
    Для одного расширения, например pas, можно задавать более чем одну строку реакции. В этом случае после выбора файла и нажатия клавиши выводится панель, на которой пользователю нужно выбрать требуемый вариант.
    Файл nc.ext можно создать или изменить с помощью обычного текстового редактора. В оболочке NC для этих целей служит команда Команды | Обработка расширений (Commands \ Extension file edit). После выдачи команды на экране отображается список вариантов реакции или просто пустое окно для их ввода.

    Задание типа и настройка параметров диаграммы

    Microsoft Graph 5.0 предоставляет 14 типов диаграмм (8 плоских и 6 объемных), в каждом из которых имеются свои подтипы.
    Напомним, что тип диаграммы, создаваемой на основе существующей таблицы, определяется в процессе диалога с Мастером диаграмм. Для диаграммы, создаваемой "на пустом месте" первоначально устанавливается тип, используемый по умолчанию.
    Тип диаграммы можно изменить в любой момент. Для этих целей можно воспользоваться одноименной кнопкой панели инструментов Стандартная (Standard), a также командой Тип диаграммы... (Chart Type...) меню Формат (Format).
    При настройке внешнего вида диаграммы удобно пользоваться встроенными типовыми наборами оформления (автоформатирования) диаграмм. Обращение для выбора
    178
    и применения встроенного набора выполняется с помощью команды Автоформат (Autoformat) меню Формат (Format). Более того, пользователь может задать свой вариант автоформата под будущие нужды настройки вновь создаваемых диаграмм.
    Пример 1. Задание типа объемной диаграммы.
    Рассмотрим задание и настройку параметров объемной гистограммы.
  • Зададим команду Тип диаграммы... (Chart Type...) меню Формат (Format).

  • В открывшемся диалоговом окне установим переключатель Объемная (3-D).

  • Щелчком мыши выберем тип диаграммы (объемную гистограмму).

  • Нажав кнопку Параметры... (Options...), откроем диалоговое окно Форматирование объемной гистограммы (Formatting 3-D Column Chart).

  • С помощью вкладок окна выберем подтип диаграммы, выполним настройку ряда параметров (глубину и ширину зазора, глубину диаграммы).

  • Нажмем ОК.

  • Зададим команду Объемный вид (3-D View) меню Формат (Format).

  • В открывшемся диалоговом окне Форматировать объемный вид (Formatting 3-D View) в полях Подъем (Elevation), Поворот (Rotation) и Перспектива (Perspective) введем или установим с помощью кнопок подходящие значения для получения требуемого вида диаграммы.

  • Нажмем ОК.

  • Замечание.
    Тип диаграммы (без выбора подтипа и без настройки параметров диаграммы) удобно выбирать с помощью кнопки панели инструментов Стандартная (Standard).

    Допускается задание смешанной диаграммы. Для этого поочередно щелчком мыши выделяют каждую серию данных и с помощью команды Тип диаграммы... (Chart Type...) меню Формат выбирают тип диаграммы, установив в открывшемся диалоговом окне в поле Применить (Apply To) переключатель К выделенному ряду (Selected Series). He допускается смешивать объемные диаграммы.
    Пример 2. Изменение размеров диаграммы.
  • Щелчком мыши выделим диаграмму непосредственно в окне редактирования Word 7.0.

  • Переместим маркеры выделения диаграммы мышью для установления требуемых размеров. В результате выделяющая рамка примет новые размеры, сама диаграмма сохранит прежние размеры.

  • Двойным щелчком на диаграмме вызовем Microsoft Graph 5.0. После открытия диалога диаграмма примет размеры, соответствующие установленным нами размерам рамки.

  • Закроем диалог Microsoft Graph 5.0, выполнив щелчок за пределами диаграммы.

  • Теперь в окне документа диаграмма будет иметь новые размеры.

  • Замечания.
  • При перемещении маркеров выделения диаграммы мышью удобно контролировать масштаб изменения размеров рамки в процентах от ее ширины и/или высоты по информации, отображаемой в строке состояния.

  • Для изменения размеров отдельного компонента диаграммы нужно выделить этот компонент, например область построения, переместить с помощью мыши маркеры выделения, установив тем самым требуемые размеры.

  • 179
    Контрольные вопросы
  • В чем суть автоматизированного форматирования документов Word?

  • Перечислите параметры форматирования абзацев.

  • Как выполнить копирование фрагмента документа Word или рабочей книги Excel в другой документ или рабочую книгу с помощью буфера обмена?

  • Укажите основные характеристики шрифтов.

  • Перечислите основные действия с файлами документов и рабочих книг.

  • Укажите режимы просмотра и редактирования документов Word и рекомендации по их применению.

  • В чем суть "метода указаний" при вводе в ячейку формулы, содержащей ссылки?

  • Назовите типы ссылок и укажите их отличие.

  • Как задать параметры функционирования Excel?



  • Что такое фильтрация и сортировка списка? Когда они применяются?

  • Назовите способы фильтрации.

  • Какие действия необходимо выполнить для использования автофильтра?

  • Как отфильтровать список по двум и более значениям, встречающимся в столбце?

  • Как задать отображение в ячейках формул?

  • В чем суть автозамены содержимого ячеек?

  • Можно ли в таблице выделить только пустые ячейки? Только ячейки, на которые ссылается заданная формула? Как это сделать?

  • Как присвоить имя диапазону ячеек или формуле?

  • Когда применяется расширенный фильтр?

  • Что такое "диапазон критериев" и как он задается?

  • Назовите основные требования к диапазону критериев, если в условии отбора используется возвращаемое формулой значение.

  • Можно ли отфильтрованные записи поместить в другие ячейки текущего рабочего листа? В ячейки другого рабочего листа?

  • Индивидуальные задания
  • Составить на одном листе две таблицы так, чтобы значения ячеек одной таблицы использовались в качестве исходных данных для вычисления значений ячеек другой таблицы.

  • Выполнить п.1, разместив таблицы на разных листах рабочей книги.

  • Создать пользовательский ряд автозаполнения ячеек.

  • Выполнить настройку Excel с заданием следующих параметров: переход к ячейке справа при нажатии ; 11 листов в рабочей книге; папка автозагрузки "Документы Петрова С.А."; автосохранение через каждые 20 минут.

  • Установить пароль для чтения рабочей книги.

  • Защитить часть данных таблицы от изменения.

  • Выдать на печать многостраничную таблицу с режимом постраничной сквозной печати отдельных: а) строк; б) столбцов.

  • Закрепить на рабочем листе первую строку и первый столбец таблицы.

  • 180
  • Разбить вручную лист на 3 страницы по 10, 20 и 25 строк. Удалить маркеры страниц. Выполнить автоматическое разбиение листа на страницы.

  • Выделить диапазон ячеек в таблице и скопировать его: а) на другой рабочий лист; б) в другую рабочую книгу. Скопировать содержимое трех ячеек таблицы на другой рабочий лист так, чтобы изменение их значений в исходной таблице вызывало автоматическое изменение соответствующих ячеек на другом листе.



  • Выполнить ввод данных в таблицу таким образом, чтобы он осуществлялся одновременно для трех листов рабочей книги.

  • Выделить в таблице ячейки, содержащие: а) пустые ячейки, б) формулы, в) константы, г) примечания.

  • Выполнить копирование ячеек со значениями, вычисленными по формулам.

  • Выполнить вставку диапазона пустых ячеек в таблицу: а) с замещением, б) со сдвигом вниз.

  • Присвоить имена: а) всей исходной таблице на рабочем листе, б) трем диапазонам ячеек.

  • Выполнить транспонирование содержимого прямоугольного диапазона ячеек.

  • Задать автозамену слова "Excel" па предложение "табличный процессор".

  • Запретить использование в таблице автоввода текстовой информации.

  • Присвоить имя списку.

  • Выполнить сортировку списка по двум полям в возрастающем порядке.

  • Создать список. Выполнить его редактирование с использованием Формы данных

  • Выполнить фильтрацию списка, содержащего в определенном поле: а) заданную фамилию; б) заданное число; в) числа, превышающие заданную величину.

  • Выполнить фильтрацию списка по трем условиям, накладываемым на содержимое одного поля.

  • Откорректировать список с последующим вычислением промежуточных итогов.

  • Задать графическое отображение связей влияющих и зависимых ячеек таблицы.

  • Выполнить фильтрацию списка с применением диапазона критериев по отношению к трем столбцам этого списка.

  • Выполнить фильтрацию списка по трем полям с применением Автофильтра.

  • Присвоить имя формуле, часто используемой в таблице.

  • Задать критерии отбора записей списка с использованием Формы данных.

  • Выполнить сортировку записей списка с применением пользовательского ряда данных.

  • Выполнить фильтрацию списка по отношению к трем полям с применением условий отбора по схеме И.

  • 181
    Литература
  • Ахметов К. Шмерлинг Г. "Лексикон 97 для всех". - М: Компьютер-Пресс, 1997. - 224с.

  • Вильховченко С.Д. Универсальный программируемый текстовый редактор Multi-Edit 7.хх. 200 советов пользователю. - М.: ABF, 1994. - 226 с.

  • Рыжиков Ю.И. Подготовка рукописей в издательской системе LaTgX с графическими средствами.СПб.: ВИККА им. А.Ф. Можайского, 1996. - 111 с.

  • Персон P. Excel для Windows 95 в подлиннике. - СПб.: BHV-Санкт-Петербург, 1996. - 1056 с.

  • Персон P. Excel 97 в подлиннике. - СПб.: BHV-Санкт-Петербург, 1997. - 1312 с.

  • Хомоненко А.Д., Зима В.М. Подготовка документов в среде Windows. Уч. пособие. - СПб.: ВИКИ им. А.Ф. Можайского, 1995. -279 с.

  • Хомоненко А.Д. Word для Windows 95 в примерах. - СПб.: BHV-Санкт-Петербург, 1996.-512с.

  • Хомоненко А.Д. MS Word 97. - СПб.: BHV-Санкт-Петербург, 1998. - 1056 с.

  • 182
    178 :: 179 :: 180 :: 181 :: 182 :: Содержание

    Загрузка и схема работы

    Процесс запуска ПЭВМ и подготовки ОС к работе включает следующие шаги:
  • При включении ПЭВМ управление передастся BIOS. Она выполняет тестирование памяти, проверку состояния аппаратуры и инициализирует устройства. Параметры конфигурации компьютера извлекаются из так называемой энергонезависимой памяти (CMOS). При необходимости перед началом инициализации устройств нажатием клавиши можно передать управление программе изменения параметров конфигурации.

  • Управление конфигурацией ПЭВМ (задание параметров жесткого диска, указание привода для системного диска, задание пароля и др.) выполняется с помощью программы Setup.

  • Вызов загрузчика и загрузка ОС с помощью системного загрузчика.

  • Установка драйверов, задание окружения, путей поиска файлов, числа буферов, числа одновременно открываемых файлов, кодовой таблицы и т.п. выполняются с помощью файлов автозапуска autoexec.bat и конфигурации config.sys.

  • Схематично взаимодействие прикладных программ с аппаратно-программным обеспечением ПЭВМ показано на рис. 3.1.
    Файловая система является одной из важнейших подсистем, поскольку вся информация на внешних носителях хранится в виде файлов. Обращения к файловой системе прикладные программы через функции прерываний MS DOS. С их помощью выполняются все файловые операции: создание и удаление файлов и каталогов, запись и чтение данных, получение справочной информации и другие. Файловая система работает с внешними накопителями с помощью драйверов, последние, в свою очередь, пользуются помощью BIOS.
    57
    Рис. 3.1. Схема взаимодействия прикладных программ с аппаратно-программным обеспечением ПЭВМ
    Система управления памятью используется для распределения основной памяти выполняемым программам. Управление памятью MS DOS выполняет с помощью блоков управления памятью - МСВ (Memory Control Block). Память разбивается на блоки. Каждому блоку предшествует МСВ, в котором записываются характеристики этого блока. Для вновь запускаемой программы выделяется нужное количество блоков. При освобождении памяти и при выполнении новых запросов на выделение памяти также используются МСВ с проверкой правильности их содержимого.

    Система управления программами при запуске обеспечивает выполнение нескольких операций. Сначала она обращается к системе управления памятью для подготовки нужного количества блоков. С помощью файловой системы файл с программой загружается в основную память. При необходимости (это касается только программ типа ехе) программа настраивается на физический адрес размещения, затем ей передается управление. С помощью системы управления программами решаются также задачи запуска оверлейных программ (программ с перекрытиями) и задачи обеспечения работы резидентных программ (постоянно присутствующих в основной памяти).

    Система связи с драйверами устройств. В MS DOS предполагается, что прикладные программы не должны непосредственно вызывать драйверы устройств. По-видимому, такой запрет введен для обеспечения совместимости различных версий MS DOS. Поэтому операции ввода/вывода в прикладных программах, как правило, выполняются через обращения к MS DOS, которая при необходимости обращается за помощью к драйверам.

    58

    57 :: 58 :: Содержание

    Запуск и интерфейс Word

    Чтобы запустить Word 7.0, достаточно щелкнуть мышью по кнопке Пуск (Start), в группе Программы (Programms) выбрать значок Word 7.0 и щелкнуть по нему.
    Работа пользователя с документами выполняется в окне текстового процессора (рис. 8.1). Окно Word 7.0 включает в себя следующие элементы: строку заголовка, главное меню, панели инструментов, горизонтальную и вертикальную линейки, окно документа (одно или несколько окон одного или нескольких документов), строку состояния. Состав
    109
    всех перечисленных элементов может изменяться в соответствии с настройками. Дадим им краткую характеристику.
    Рис. 8.1. Вид окна Word 7.0
    1. Главное меню. Задание команд главного меню можно выполнить щелчком мыши в имени пункта меню с последующим выбором нужной команды и повторным щелчком.
    Для задания команды с помощью клавиатуры нужно нажать клавишу , затем с помощью клавиш управления курсором (клавиш со стрелками) выбрать нужный пункт меню и команду и нажать .
    Изменение состава пунктов главного меню пли состава команд в любом из пунктов главного меню выполняется по команде Настройка...(Customize...) меню Сервис (Tools) с помощью вкладки Меню (Menus) диалогового окна Настройка (Customize).
    2. Панели инструментов. Позволяют удобно задавать команды - щелчком мыши на соответствующем значке. В окне текстового процессора имеются панели инструментов Стандартная (Standard) и Форматирование (Formatting). Убрать или поместить в окно любую из панелей инструментов можно по команде Панели инструментов (Toolbars) меню Вид ( View).
    3. Окно активного документа. Па рисунке окно документа развернуто максимально при заданных размерах окна текстового процессора.
    4. Кнопка системного меню текстового процессора. Вызывает системное меню текстового процессора, содержащее команды управления размещением и размерами окна текстового процессора, а также сворачиванием и закрытием текстового процессора.
    5. Кнопка системного меню документа. Вызывает системное меню активного документа, содержащее команды управления размещением и размерами, а также сворачиванием и закрытием окна документа.

    6. Кнопки сворачивания приложения и документа в значок.

    110

    7.Кнопки управления размерами окна приложения и документа. В зависимости от текущего состояния нажатие на кнопку приводит к разворачиванию соответствующего окна до максимально возможных размеров или к восстановлению его предыдущих размеров.

    8. Кнопки закрытия приложения и документа.

    9. Линейка. Позволяет удобно выполнять ручное форматирование абзацев.

    10. Вертикальная полоса прокрутки. Позволяет выполнить быстрое перемещение по документу с помощью кнопок со стрелками и бегунка.

    11. Горизонтальная полоса прокрутки. Позволяет перемещать содержимое окна документа по горизонтали.

    12. Кнопки управления режимами просмотра и редактирования документа. Соответственно обеспечивают переход в режимы Обычный (Normal), Разметка страницы (Page Layout) и Структура (Outline).

    13. Строка состояния. Помогает следить за текущим положением курсора в документе и активностью некоторых режимов. Содержит следующие элементы:

  • Стр. № (Page №) - номер страницы текущего раздела активного документа. Может не совпадать с номером страницы документа в случае, если в некоторых разделах нумерация страниц ведется с начала раздела;


  • Разд. № (Sec №) - номер текущего раздела активного документа;


  • N/M - номер страницы активного документа/общее число страниц в активном документе;


  • На Х,Х см (At X.Xcm) - расстояние по вертикали межу курсором и верхним краем страницы;


  • Ст. К (Line К) - номер строки с курсором на странице;


  • Кол С (Col С) - количество символов от левого ноля страницы до курсора;


  • ЗАП (REC) - выделяется черным при записи макрокоманд;


  • ИСПР (MRK) - выделяется при активности маркировки исправлений;


  • ВДЛ (ЕХТ) - выделяется при активности клавиши расширения выделений ();


  • ЗАМ (OVR) - выделяется при активности режима замещения символов. Двойным щелчком в поле имени режима (последние четыре элемента строки состояния) можно активизировать соответствующий режим работы Word 7.0.


  • При выполнении ряда действий в строке состояния приводится их описание, например, при сохранении файла документа "Doc1" будет выдано сообщение Сохранение DOC1: (Word is saving DOC1:).

    При наведении указателя на значок панели инструментов или выборе команды меню в строке состояния выводится описание соответствующей команды.

    Управление отображением строки состояния выполняется по команде Параметры (Option) меню Сервис (Tools). На вкладке Вид (View) диалогового окна Параметры (Options) устанавливается или сбрасывается флажок Строка состояния (Status Bar).

    111

    109 :: 110 :: 111 :: Содержание

    Запуск, интерфейс и завершение работы с Excel

    Обычно Excel запускается из стартового меню Windows. После запуска программы на экране открывается главное окно программы (рис. 11.1).
    Структура окна Excel во многом походит на структуру окна текстового процессора Word. Здесь также есть строка главного меню, панели инструментов, окно активной рабочей книги (документа), кнопки системного меню Excel и документа, кнопки управления размерами окна Excel и документа, строка состояния, горизонтальная и вертикальная полосы прокрутки. Назначение перечисленных элементов соответствует назначению одноименных элементов Word. Внешний вид главного окна (отображение или скрытие отдельных элементов) можно изменить выбором соответствующих параметров функционирования (рис. 11.2).
    141
    Рис. 11.1. Главное окно Excel.
    Поясним дополнительные элементы окна Excel, отсутствующие в Word.
    Строка формул. Предназначена для отображения и редактирования содержимого текущей ячейки. Строка состоит из трех частей.
    Рис. 11.2. Диалоговое окно Параметры, вкладка Вид
    142
    В правой части отображается содержимое ячейки, которое можно редактировать с помощью кнопок, расположенных в центре строки. Как правило, ввод данных в ячейку и редактирование ее содержимого осуществляется непосредственно в самой ячейке. Однако эти операции можно выполнить также с помощью курсора ввода, помещенного щелчком мыши в правую часть строки формул. В строке формул всегда отображается формула, записанная в текущей ячейке таблицы, в то время как в самой этой ячейке может наблюдаться результат вычисления по отображаемой формуле.
    В левой части, которая называется полем имен, отображается адрес активной ячейки, имя или размер выделенного диапазона ячеек. Список имеющихся имен диапазонов ячеек открывается щелчком мыши по кнопке со стрелкой, расположенной в правой части этого поля. Выбор одного из имен в списке используется для быстрого выделения и перехода к соответствующему диапазону ячеек.
    Ярлычки листов и кнопки их прокрутки предназначены для отображения и выбора соответствующего листа рабочей книги.

    Строка состояния состоит из двух частей. В левой части появляется краткая справка о назначении выбранной команды меню. Здесь же отображается информация о текущей выполняемой операции.

    Правая часть состоит из пяти полей, предназначеных для отображения статуса некоторых функций клавиатуры и текущего режима ввода:

    NUM - включен цифровой блок клавиатуры (клавишей );

    CAPS - включен верхний регистр клавиатуры (клавишей );

    ВДЛ - включен режим выделения (клавишей );

    ДОБ - включен режим выделения несмежных диапазонов ячеек (клавишами +);

    FIX - на вкладке Правка (Edit) диалогового окна Параметры (Options) установлен флажок Фиксированный десятичный формат при вводе (Fixed Decimal).

    В этой же части высвечивается имя функции, выбранной пользователем из контекстного меню строки состояния, и результат ее вычисления по отношению к текущему диапазону ячеек. Например, СУМ=10, МИНИМАЛЬНОЕ=1, КОЛИЧЕСТВО ЗНАЧЕНИЙ=91 и др. (всего шесть функций).

    Операции, выполняемые Excel с данными, задаются с помощью команд главного меню, контекстного меню или кнопок панелей инструментов.

    Контекстное меню появляется на экране после щелчка правой кнопкой мыши на элементе окна программы или окна рабочей книги. Оно содержит команды, отражающие перечень возможных действий по отношению к выделенному элементу: ячейке, строке, столбцу или их диапазонах, панели инструментов и т.д. Вызов контекстного меню представляет собой один из способов выбора команды, выполняющей определенные действия с элементом. Во многих случаях эта же команда может быть инициирована и другими способами, например, нажатием соответствующей кнопки на панели инструментов или выбором этой команды в основном меню.

    В зависимости от того, на каких элементах окна Excel или окна рабочей книги расположен указатель мыши, он приобретает разный внешний вид. Внешний вид указателя мыши определяет возможные операции, которые доступны пользователю при щелчке левой кнопкой мыши или удерживании ее в нажатом состоянии (табл. 11.1).

    143


    Таблица 11.1

    Внешний вид и использование указателя мыши

    Для завершения работы с Excel можно выполнить команду Выход (Exit) меню Файл (File) или щелкнуть мышью на кнопке закрытия окна Excel.

    Если за время сеанса работы произведенные в открытой рабочей книге изменения не были сохранены, то на экране появится окно запроса для подтверждения завершения работы с сохранением или без сохранения изменений в файле.

    Замечание.

    При работе с Excel можно задать различные параметры функционирования программы, которые будут использоваться в дальнейшем по умолчанию. Эти параметры устанавливаются в диалоговом окне Параметры (Options), которое выводится на экран по одноименной команде меню Сервис (Tools).

    Диалоговое окно Параметры (Options) содержит десять вкладок, одна из которых показана на рис. 11.2.

    Приведем назначение наиболее часто используемых параметров вкладок названного диалогового окна:

    144

  • Параметры вкладки Вид (View) позволяют изменить внешний вид окна программы и документа. Можно скрыть или показывать строку формул, рабочую сетку ячеек, строку состояния, показывать формулы в ячейках или вычисленные по ним значения и т.д.;


  • Параметры вкладки Вычисления (Calculation) определяют способ вычисления формул и управляют внешними ссылками, т.е. ссылками в формулах текущей таблицы на ячейки таблиц других рабочих книг;


  • Параметры вкладки Правка (Edit) используются при вводе данных в ячейки и их редактировании;


  • Вкладка Списки (CustomLists) содержит списки, которые используются при выполнении функции автозаполнения или определяют пользовательский порядок сортировки данных;


  • На вкладке Общие (General) представлены такие параметры, как имя папки автозагрузки (как правило, XLStart); количество листов в новой книге; стандартный шрифт; стиль ссылок; список ранее открывавшихся файлов и др.;


  • Параметры вкладки Диаграмма (Chart) определяют вид активной диаграммы и позволяют задавать формат, используемый по умолчанию при создании новых диаграмм.


  • Значение всех параметров, выбранных на вкладках диалогового окна Параметры (Options), сохраняются и используются табличным процессором по умолчанию до их следующего изменения.

    145

    141 :: 142 :: 143 :: 144 :: 145 :: Содержание

    Зависимости между атрибутами

    Рассмотрим основные виды зависимостей между атрибутами отношений: функциональные, многозначные и транзитивные.
    Понятие функциональной зависимости является базовым, так как на его основе формулируются определения всех остальных видов зависимостей.
    Определение функциональной зависимости. Атрибут В функционально зависит от атрибута А, если каждому значению А соответствует в точности одно значение В. Математически функциональная зависимость В от А обозначается записью А->В. Это означает, что во всех кортежах с одинаковым значением атрибута А атрибут В будет иметь также одно и то же значение. Отметим, что А и В могут быть составными - состоять из двух и более атрибутов.
    В отношении на рис. 19.7 можно выделить функциональные зависимости между атрибутами ФИО-Жаф, ФИО->Должн, Должн->0клад, ФИО->Предмет. В отношении на рис. 19.7 ключ является составным и состоит из атрибутов ФИО, Предмет, Группа. Если отношение находится в первой нормальной форме, то все неключевые атрибуты функционально зависят от ключа с различной степенью зависимости.
    Частичной зависимостью называется зависимость неключевого атрибута от части составного ключа. В рассматриваемом отношении атрибут Должн находится в функциональной зависимости от атрибута ФИО, являющегося частью ключа. Тем самым атрибут Должн находится в частичной зависимости от ключа отношения.
    238
    Альтернативным вариантом является полная функциональная зависимость неключевого атрибута от всего составного ключа. В нашем примере атрибут ВидЗан находится в полной функциональной зависимости от составного ключа.
    Атрибут С зависит от атрибута А транзитивно, если для атрибутов А, В, С выполняются условия А -> В и В -> С, но обратная зависимость отсутствует. В отношении на рис. 19.7 транзитивной зависимостью связаны атрибуты:
    ФИО ->Должн -> Оклад
    Между атрибутами может иметь место многозначная зависимость.
    Определение многозначной зависимости. В отношении R атрибут В многозначно зависит от атрибута Л, если каждому значению А соответствует множество значений В, не связанных с другими атрибутами из R.
    Многозначные зависимости могут быть "один ко многим" (1:М), "многие к одному" (М:1) или "многие ко многим" (М:М), обозначаемые соответственно: А-> > В, А < >В.
    Например, пусть преподаватель ведет несколько предметов, а каждый предмет может вестись несколькими преподавателями, тогда имеет место зависимость ФИО"-"Предмет.

    

        Программирование: Языки - Технологии - Разработка