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

       

Средства мультимедиа


В 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) или "многие ко многим" (М:М), обозначаемые соответственно: А-> > В, А < >В.

Например, пусть преподаватель ведет несколько предметов, а каждый предмет может вестись несколькими преподавателями, тогда имеет место зависимость ФИО"-"Предмет.