Учебник Информатика 11 класс Профильный уровень Угринович

На сайте Учебники-тетради-читать.ком ученик найдет электронные учебники ФГОС и рабочие тетради в формате pdf (пдф). Данные книги можно бесплатно скачать для ознакомления, а также читать онлайн с компьютера или планшета (смартфона, телефона).
Учебник Информатика 11 класс Профильный уровень Угринович - 2014-2015-2016-2017 год:


Читать онлайн (cкачать в формате PDF) - Щелкни!
<Вернуться> | <Пояснение: Как скачать?>

Текст из книги:
Н. Д. Угринович ПРОФИЛЬНЫЙ УРОВЕНЬ ИНФОРМАТИКА и ИКТ !Г I.' I. БИНОМ ПРОФИЛЬНЫЙ УРОВЕНЬ Н. Д. Угринович ИНФОРМАТИКА иИКТ Учебник для 11 класса 2-е издание, исправленное и дополненное Москва БИНОМ. Лаборатория знаний 2009 УДК 004.9 ББК 32.97 У27 Угринович Н. Д. У27 Информатика и ИКТ. Профильный уровень : учебник для 11 класса / Н. Д. Угринович. — 2-е йзд.,| испр. и доп. — М. : БИНОМ. Лаборатория знаний, | 2009. — 308 с. : ил. ISBN 978-5-9963-0047-1 Учебник по курсу «Информатика и ИКТ. Профильный уровень» для ] 11 класса ориентирован на преподавание в общеобразовательных уч- ■ реждеяиях курса «Информатика и ИКТ» на профильном уровне. Учеб-1 ник соответствует образовательному стандарту, утвержденному Министерством образования и науки РФ. В учебнике рассматриваются технологии создания и обработки информации, системный подход к , моделированию, формализация и ее визуализация с использованием интерактивных компьютерных моделей, базы данных и СУБД, ' коммуникационные технология, проблемы информационного общества. Учебник мультисястемный, так как практические работы могут выполняться в операционных системах Windows и Linux. В учебник помещены тесты для подготовки к ЕГЭ по курсу «Информатика и ИКТ». УДК 004.9 ББК 32.97 По вопросам приобретения обращаться: (499) 157-5272, e-mail: [email protected] https://www.Lb2.ru ISBN 978-5-9963-0047-1 • Угринович Н. Д., 2009 БИНОМ. Лаборатория знаний, 2009 Оглавление Рекомендации по использованию учебника................7 Повторение. Окружаюпщй мир как иерархическая система...................................9 Глава 1. Построение и исследование информационных моделей................................... 12 1.1. Основные этапы разработки и исследования моделей на компьютере.......................13 1.2. Построение и исследование физических моделей ................................... 15 1.2.1. Построение формальной модели движения тела, брошенного под углом к горизонту.15 1.2.2. Компьютерная модель движения тела на языке Visual Basic..................17 1.2.3. Компьютерная модель движения тела на языке Turbo Delphi..................24 1.2.4. Компьютерная модель движения тела в электронных таблицах.................30 1.3. Приближенное решение уравнений.............35 1.3.1. Графические и численные методы решения уравнений......................35 1.3.2. Приближенное решение уравнений на языке Visual Basic..................36 1.3.3. Приближенное решение уравнений на языке Turbo Delphi..................40 1.3.4. Приближенное решение уравнений в электронных таблицах.................44 1.4. Вероятностные модели.......................47 1.4.1. Построение информационной модели с использованием метода Монте-Карло....47 1.4.2. Компьютерные модели, построенные с использованием метода Монте-Карло, на языке Visual Basic..................48 Оглавление 1.4.3. Компьютерные модели, построенные с использованием метода Монте-Карло, на языке Turbo Delphi...................51 1.5. Биологические модели развития популяций.....54 1.5.1. Информационные модели развития популяций...............................54 1.5.2. Компьютерные модели развития популяций на языке Visual Basic...................55 1.5.3. Компьютерные модели развития популяций на языке Turbo Delphi...................61 1.5.4. Компьютерные модели развития популяций в электронных таблицах..................65 1.6. Оптимизационное моделирование в экономике.... 68 1.6.1. Информационные оптимизационные модели... 68 1.6.2. Построение и исследование оптимизационной модели на языке Visual Basic............70 1.6.3. Построение и исследование оптимизационной модели на языке Turbo Delphi............72 1.6.4. Построение и исследование оптимизационной модели в электронных таблицах...........74 1.7. Модели распознавания химических волокон.....78 1.7.1. Построение информационной модели распознавания химических волокон........78 1.7.2. Модель распознавания химических волокон на языке Visual Basic...................80 1.7.3. Модель распознавания химических волокон на языке Turbo Delphi...................83 1.8. Модели логических устройств.................85 1.8.1. Логические схемы полусумматора и триггера .. 85 1.8.2. Модели логических устройств компьютера на языке Visual Basic...................89 1.8.3. Модели логических устройств компьютера на языке Turbo Delphi...................92 1.8.4. Модели логических устройств компьютера в электронных таблицах..................96 1.9. Информационные модели управления объектами....................................99 1.9.1. Информационные модели систем управления..............................99 1.9.2. Модели систем управления на языке Visual Basic...........................102 Оглавление 1.9.3. Модели систем управления на языке Turbo Delphi.............................106 1.10. Графы и их исследование с использованием языков объектно- ориентированного программирования Visual Basic и Turbo Delphi ... 112 1.10.1. Введение в теорию графов..............112 1.10.2. Изучение графов на языке Visual Basic.120 1.10.3. Изучение графов на языке Turbo Delphi.128 Глава 2. Технологии создания и обработки текстовой информации....................................138 2.1. Основные типы приложений для создания документов....................................139 2.1.1. Макет и верстка в настольных издательских системах....................143 2. Iv2. Параметры документа...................146 2.1.3. Текстовые блоки.......................148 2.1.4. Блоки изображений......................151 2.1.5. Блоки таблиц...........................152 2.1.6. Палитры цветов в системах цветопередачи KGB и CMYK...............................159 2.1.7. Цветоделение в полиграфии..............163 2.2. Компьютерные языковые словари................165 2.3. Системы оптического распознавания символов... 170 Глава 3. Технология хранения, отбора и сортировки информации....................................177 3.1. Базы данных..................................177 3.2. Системы управления базами данных.............181 3.2.1. Использование формы для просмотра и редактирования записей.................189 3.3. Отбор и сортировка данных....................192 3.3.1. Отбор данных с помощью фильтров........192 3.3.2. Отбор данных с помощью запросов........194 3.3.3. Сортировка данных......................196 3.3.4. Печать данных с помощью отчетов........199 3.4. Многотабличные базы данных...................200 3.4.1. Связывание таблиц......................202 Оглавлевне Гдава 4. Технология создания и обработки графической информации....................208 4.1. Цветовой охват..........................208 4.2. Палитры RGB и CMY.......................213 4.3. Растровая и векторная графика...........216 4.4. Устройства ввода графической информации.218 4.5. Устройства вывода графической информации.... 220 4.6. Системы управления цветом...............226 Глава б. Коммуникационные технологии..............230 5.1. Глобальная компьютерная среда Интернет..231 5.1.1. Адресация в Интернете..............231 5.1.2. Доменная система имен..............233 5.1.3. Маршрутизация и транспортировка данных по компьютерным сетям................235 5.2. Интерактивные формы на Web-страницах....238 5.2.1. Структура HTML-кода Web-страницы...238 5.2.2. Создание интерактивных Web-страниц.239 Глава 6. Информационное общество..................247 6.1. Право в Интернете.......................247 6.2. Этика в Интернете.......................248 6.3. Перспективы развития информационных и коммуникационных технологий...............251 Глава 7. Подготовка к ЕГЭ. Тесты по темам курса «Информатика и ИКТ»........257 Тема 1. Информация. Кодирование информации.... 258 Тема 2. Устройство компьютера и программное обеспечение............262 Тема 3. Алгоритмизация и программирование.266 Тема 4. Основы логики и логические основы компьютера...........................276 Тема 5. Моделирование и формализация......279 Тема 6. Информационные технологии.........281 Тема 7. Коммуникационные технологии.......288 Ответы на тесты..............................290 Рекомендации по использованию учебника 1. Учебник «Информатика и ИКТ-11. Профильный уровень» обеспечивает изучение курса «Информатика и ИКТ» в 11 классе на профильном уровне. Учебник входит в состав учебно-программного комплекса, включаюпдего: • учебники для основной школы: «Информатика и ИКТ-8» и «Информатика и ИКТ-9»; • учебники для старшей школы на базовом уровне: «Информатика и ИКТ-10. Базовый уровень» и «Информатика и ИКТ-11. Базовый уровень»; • учебники для старшей школы на профильном уровне: «Информатика и ИКТ-10. Профильный уровень» и «Информатика и ИКТ-11. Профильный уровень»; • учебное пособие и CD-ROM по элективному курсу для старшей школы «Исследование информационных моделей»; • методическое пособие для учителей «Преподавание курса «Информатика и ИКТ» в основной и старшей школе», к которому прилагаются: ♦ Windows-CD, содержащий свободно распространяемую программную поддержку курса, готовые компьютерные проекты, рассмотренные в учебниках, тесты и методические материалы для учителей; ♦ Visual Studio-CD (выпускается по лицензии корпорации Microsoft), содержгиций дистрибутивы систем объектно-ориентированного программирования языков Visual Basic .NET, Visual C# и Visual J#; ♦ Linux-DVD (выпускается no лицензии компании AltLinux), содержащий операционную систему Linux и программную поддержку курса; ♦ TurboDelphi-CD (выпускается по лицензии компании Borland), содержащий систему объектно-ориентированного прогргшмирования Turbo Delphi. 2. В практических работах указана операционная система и необходимое для их выполнения программное обеспечение, которые обозначаются значками приложений. В случае выделения количества часов на предмет ♦Информатика и ИКТ» не большего, чем указано в Федеральном базисном учебном плане, рекомендуется выполнять практические задания компьютерного практи- Рекомендации по использованию учебника кума В ОДНОЙ операдионной системе (Windows или Linux). 3. Возможно выполнение практических занятий во внеурочное время в компьютерном школьном классе или дома. 4. Проекты на языке программирования Turbo Delphi совместимы по формату с проектами на языках Delphi 6, Delphi 2006 и Delphi 2007. 5. В учебнике используются ссылки на внешние источники информации, в которых можно более подробно изучить данную тему (учебники по информатике и другим предметам, CD-диски и Интернет). 6. В тексте пособия приняты следующие обозначения и шрифтовые выделения: • шрифтом Arial выделены имена программ, файлов и Интернет-адреса; • курсивом выделены названия диалоговых окон, пунктов меню и элементов управления (текстовых полей, кнопок и т. д.) графического интерфейса операционных систем и приложений; • полужирным шрифтом выделены важные термины и понятия. 7. Важная информация выделена в тексте восклицательным знаком, а формулы — цифровым обозначением. 8. Абзацы, содержащие дополнительную интересную информацию, выделены значком О 9. Дополнительные материалы и интерактивные тесты для проверки усвоения материала находятся в Интернете по адресу: https://iit.metodist.ru Повторение_____________ Окружающий мир как иерархическая система .5.1. Окружающий мир как иерархическая система Информатика и ИКТ-9 Микро-, макро- и мегамир. Мы живем в макромире, т. е. в мире, который состоит из объектов, по своим размерам сравнимых с человеком. Обычно макрообъекты разделяют на неживые (камень, льдина, бревно и т. д.), живые (растения, животные, человек) и искусственные (здания, средства транспорта, станки и механизмы, компьютеры и т. д.). Макрообъекты состоят из атомов; атомы, в свою очередь, состоят из элементарных частиц, размеры которых чрезвычайно малы. Этот мир называется микромиром. Мы живем на планете Земля, которая входит в Солнечную систему. Солнце вместе с сотнями миллионов других звезд образует нашу галактику Млечный Путь, а миллиарды галактик образуют Вселенную. Все эти объекты имеют громадные размеры и образуют мегамир. Все объекты от галактик до атомов состоят из вещества, при этом все материальные объекты взаимодействуют друг с другом и поэтому обладают энергией. Поднятое над поверхностью Земли тело обладает механической энергией, нагретый чайник — тепловой, заряженный проводник — электрической, а ядра атомов — атомной. Окружающий мир можно представить в виде иерархического ряда объектов: элементарных частиц, атомов, химических веществ, макрообъектов, звезд и галактик. При этом на уровнях химических веществ и макрообъектов в этом иерархическом ряду образуется ответвление — другой ряд, связанный с живой природой. В живой природе также существует иерархия: молекулы — клетки — организмы — группы организмов (популяции). 10 Повторение Вершиной ЭВОЛЮЦИИ жизни на Земле является человек, который, в свою очередь, не может жить вне общества. Каждый человек в отдельности и общество в целом изучают окружающий мир и накапливают знания, на основании которых создаются искусственные объекты. Галактики 1^ Звезды и планеты Макротела = t Молекулы = Атомы Элементарные частицы Популяции Растения и животные Одноклеточные Общество «=> Человек Искусственные ^ Знания ■={> объекты (техника) Системы и элементы. Каждый объект состоит из других объектов, т. е. представляет собой систему. Вместе с тем, каждый объект может входить в качестве элемента в систему более высокого структурного уровня. Считаем мы объект системой или элементом системы, зависит от точки зрения (целей исследования). Система состоит из объектов, которые называются элементами системы. Например, атом водорода можно рассматривать как систему, так как он состоит из положительно заряженного протона и отрицательно заряженного электрона. Вместе с тем, атом водорода входит в молекулу воды, т. е. является элементом системы более высокого структурного уровня. Целостность системы. Необходимым условием существования системы является ее целостное функционирование. Система является не набором отдельных объектов, а совокупностью взаимосвязанных элементов. Взаимосвязь элементов в системах может иметь различную природу. В неживой природе взаимосвязь элементов осуществляется с помощью физических взаимодействий: Окружаю1цнй мир как иерархическая система 11 • В системах мегамира (например, в Солнечной системе) элементы взаимодействуют между собой посредством сил всемирного тяготения; • в макротелах происходит электромагнитное взаимодействие между атомами; • в атомах элементарные частицы связаны ядерными и электромагнитными взаимодействиями. В живой природе целостность организмов обеспечивается химическими взаимодействиями между клетками, в обществе — социальными связями и отношениями между людьми, в технике — функциональными связями между устройствами и т. д. Свойства систем. Каждая система обладает определенными свойствами, которые, в первую очередь, зависят от набора составляющих ее элементов. Так, свойства химических элементов зависят от строения их атомов. Атом водорода состоит из двух элементарных частиц (протона и электрона), и соответствующий химический элемент является газом. Атом лития состоит из трех прютонов, четырех нейтронов и трех электронов, и соответствующий химический элемент является щелочным металлом. Свойства системы зависят также от структуры системы, т. е. от типа отношений и связей элементов системы между собой. Если системы состоят из одинаковых элементов, но обладают разными структурами, то их свойства могут существенно различаться. Например, алмаз, графит и углеродная нанотрубка состоят из одинаковых атомов (атомов углерода), однако способы связей между атомами (кристаллические решетки) существенно различаются. В кристаллической решетке алмаза взаимодействие между атомами очень сильное по всем направлениям, поэтому он является самым твердым веществом на планете и существует в форме кристаллов. В кристаллической решетке графита атомы размещены слоями, между которыми взаимодействие слабое, поэтому он легко крошится и используется в грифелях карандашей. Углеродная нанотрубка представляет собой свернутую в цилиндр плоскость кристаллической решетки графита. Нанотрубки очень прочные на разрыв (хотя имеют толщину стенки в один атом углерода). Нить толщиной с человеческий волос, сделанная из нанотрубок, способна удерживать груз в сотни килограммов. Электрические свойства нанотрубок могут меняться, что делает их одним из основных материалов наноэлектроники. Глава 1________________ Построение и исследование информационных моделей При изучении данной главы рекомендуется установить следующее программное обеспечение для операционных систем Windows и Linux: • OpenOffice.org Calc; Windows-CD Ш еж Первая помощь П01.0. еж • Windows ХР; % CD-2 • Windows Vista; ■ CD^ • Microsoft Office 2003 (Excel 2003): CD-€:7 • Microsoft Office 2007 (Excel 2007): С!я ixz US3 CD-5 • Visual Basic 2005 Express Edition; VisualStudlO'CD • Turtx) Delphi 2006; TurboDelphi-CD ш 1^ й • OpenOffice.org Calc. Linux-DVD еж Построение и исследование информационных моделей 13 1.1. Основные этапы разработки и исследования моделей на компьютере Использование компьютера для исследования информационных моделей различных объектов и систем позволяет изучить их изменения в зависимости от значения тех или иных параметров. Процесс разработки моделей и их исследование на компьютере можно разделить на несколько основных этапов. Описательная информационная модель. На первом этапе исследования объекта или процесса обычно строится описательная информационная модель на естественном языке. Такая модель выделяет существенные, с точки зрения целей проводимого исследования, свойства (параметры) объекта, а несущественными свойствами пренебрегает. Формальная модель. На втором этапе создается формальная модель, т. е. описательная информационная модель записывается с помощью какого-либо формального языка. В такой модели с помощью формул, уравнений, неравенств и т. д. фиксируются формальные соотношения между исходными и искомыми величинами, а также накладываются ограничения на допустимые значения этих величин. Однако далеко не всегда удается найти формулы, явно выражающие искомые величины через исходные. В таких случаях используются приближенные математические методы, позволяющие получать результаты с заданной точностью. Компьютерная модель. На третьем этапе необходимо формализованную информационную модель преобразовать в компьютерную модель, т. е. выразить ее на понятном для компьютера языке. Существуют два пути решения этой задачи: • создание проекта на одном из языков программирования; • построение компьютерной модели с использованием некоторого приложения, например электронных таблиц. В процессе создания компьютерной модели полезно разработать удобный графический интерфейс, который позволит визуализировать формальную модель, а также реализо- 14 Глава 1 вать интерактивный диалог человека с компьютером на этапе исследования модели. Компьютерный эксперимент. Четвертый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на одном из языков программирования, ее нужно запустить на выполнение и получить результаты. Если компьютерная модель исследуется в приложении, например в электронных таблицах, можно провести сортировку или поиск данных, построить диаграмму или график и т. д. Анализ полученных результатов и корректировка исследуемой модели. Пятый этап представляет собой анализ полученных результатов и корректировку исследуемой модели. В случае отличия результатов, полученных при исследовании информационной модели, от измеренных параметров реальных объектов можно сделать вывод, что на предыдущих этапах построения модели были допущены ошибки или неточности. Например, при построении описательной качественной модели могут быть неправильно отобраны существенные свойства объектов, в процессе формализации могут быть допущены ошибки в формулах и т. д. В таких случаях необходимо провести корректировку модели, причем уточнение модели может проводиться многократно, пока анализ результатов не покажет их соответствие изучаемому объекту. Визуализация формальных моделей. В процессе исследования формальных моделей часто производится их визуализация. Для визуализации алгоритмов используются блок-схемы, пространственных соотношений параметров объектов — чертежи, моделей электрических цепей — электрические схемы. При визуализации формальных моделей с помощью анимации может отображаться динамика процесса, производиться построение графиков изменения величин и т. д. В настоящее время широкое распространение получили компьютерные интерактивные визуальные модели. В таких моделях исследователь может менять начальные условия и параметры протекания процессов и наблюдать изменения в поведении модели. Построение и исследование информационных моделей 15 Вопросы для размышления 1. в каких случаях могут быть опущены отдельные этапы построения и исследования модели? Приведите известные вам примеры создания моделей в процессе изучения физики, химии, биологии, математики, географии и других предметов. 1.2. Построение и исследование физических моделей 1.2.1. Построение формальной модели движения тела, брошенного под углом к горизонту Рассмотрим процесс построения и исследования модели на конкретном примере движения тела, брошенного под углом к горизонту. Физика-9 Содержательная постановка задачи «Бросание мячика в стенку». В процессе тренировок теннисистов используются автоматы по бросанию мячика. Необходимо задать автомату необходимую скорость и угол бросания мячика для попадания в стенку определенной высоты, находящуюся на известном расстоянии. Описательная модель. Сначала построим описательную модель процесса движения тела с использованием объектов, понятий и законов физики, т. е. в данном случае идеа-лизированнзпо модель движения объекта. Из условия задачи можно сформулировать следующие основные допущения: • мячик мал по сравнению с Землей, поэтому его можно считать материальной точкой; • изменение высоты мячика мало, поэтому ускорение свободного падения можно считать постоянной величиной g = 9,8 м/с^, следовательно, движение по оси У можно считать равноускоренным; • скорость бросания мячика мала, поэтому сопротивлением воздуха можно пренебречь, следовательно, движение по оси X можно считать равномерным. 16 Глава 1 Формальная модель. Для формализации модели обозначим величины: • начальную скорость мячика — vq", • угол бросания мячика — а; • высоту стенки — h; • расстояние до стенки — s. Изобразим график движения мячика (рис. 1.1). Рис. 1.1. Бросание мячика в стенку Используем известные из курса физики формулы равномерного и равноускоренного движения для определения координат мячика. Дальность х и высоту у при заданной начальной скорости Vo и угле бросания а для любого момента времени t можно вычислить по формулам: X = Vq - cosa • t, ^2 2^ у = Vq - sina " t - g -1^/2. Чтобы определить, попадет ли мячик в стенку, необходимо вычислить его координату у в момент времени, когда он будет находиться на расстоянии s. Из первой формулы выражаем время, которое понадобится мячику, чтобы преодолеть расстояние s: t — s/vq • cosa. Подставляем это значение времени t в формулу для вычисления координаты у. Получаем I — высоту мячика над землей на расстоянии s (см. рис. 1.1): I = S • tga - g • s^/2 • Vq • cos^a. (1.2) Формализуем теперь условие попадание мячика в мишень. Попадание произойдет, если значение высоты мячика I будет удовлетворять условию в форме неравенства: О < / ^ Л. Если Z < О, то это означает «недолет», а если 1> h, то это означает «перелет». Построевке и исследование информационных моделей 17 Вопросы для размышления © 1. Какие условия входят в построение качественной модели бросгшия мячика в стенку? 1.2.2. Компьютерная модель движения тела на языке Visual Basic На основе формальной модели, описывающей движение тела, брошенного под углом к горизонту, создадим компьютерную модель с использованием системы программирования Visual Basic. Проект «Бросание мячика в стенку» на языке Visual Basic Создадим сначала графический интерфейс проекта «Бросание мячика в стенку» (рис. 1.2). 1. Разместить на форме: • четыре текстовых поля для ввода значений: TextBoxl — начальной скорости, TextBox2 — угла бросания мячика, TextBox3 — расстояния до стенки и TextBox4 — высоты стенки; • надпись Labe 11 для вывода высоты мячика на заданном расстоянии; • надпись Labe 12 для вывода текстового сообщения о результатах броска; • десять надписей для вывода имен переменных и единиц измерения; • кнопку Buttonl для запуска событийной процедуры вычисления результатов бросания мячика; • кнопку Button2 для демонстрации траектории движения мячика. Обработчик события — вычисление результатов бросания мячика 2. Создать программный код обработчика события, который определят попадание мячика в стенку. В этом коде: • объявить вещественные константы одинарной точности G (ускорение свободного падения g) и Pi (число л); 18 Глава 1 О объявить вещественные переменные одинарной точности V0 (начальная скорость Vo), А (угол бросания а), S (расстояние до стенки s), Н (высота стенки Л) и L (высота мячика I); присвоить переменным V0, А, S, Н значения, введенные в текстовые поля, с использованием функции преобразования строки в вещественное число Val (); вычислить высоту мячика L на заданном расстоянии по формуле (1.2); вывести высоту мячика L на надпись Label 1; вывести текстовое сообщение о результатах броска на надпись Label2 с использованием оператора Select Case, в котором в качестве условия проверяется значение переменной L. В языке программирования Visual Basic аргументы тригонометрических функций Sin (), Cos () и Tan () задаются в радианах, а угол бросания мячика мы будем вводить в градусах. Поэтому необходимо преобразовать значения углов из градусов в радианы с использованием константы Pi. Const G As Single = 9.81 Const Pi As Single = 3.14 Dim VO, A, S, L, H As Single Private Sub Buttonl_Click (...) 'Ввод начальных значений V0=Val(TextBoxl.Text) A=Val(TextBox2.Text) S=Val(TextBox3.Text) H=Val(TextBox4.Text) 'Попадание в стенку L=S*Math.Tan (A*Pi/180) - (G*S''2) / (2*V0''2* Math.Cos(A*Pi/180)^2) Label1.Text=L Select Case L Case Is <0 Label2.Text="HefloneT" Case Is >H Label2.ТехЬ="Перелет" Case Else Label2.ТехЬ="Попадание" End Select End Sub Построевне в исследовавне ввформацвоввых моделей 19 Обработчик события — демонстрация траектории движения мячика Для визуализации компьютерной модели построим в графическом поле траекторию движения мячика. 3. Поместить дополнительно на форму графическое поле PictureBoxl. С помощью диалогового окна Свойства установить с использованием свойства Size размер поля, например 400;220, В обработчике события осуществим преобразование компьютерной системы координат графического поля в математическую систему координат, удобную для построения траектории движения. Нарисуем оси координат и нанесем на них шкалы. Проект «Система координат» Информатика и ИКТ-9 4. В математической системе координаты находятся в диапазонах О ^ X" ^ 400 и -20 йУ й 200. Траектория движения мячика, скорее всего, будет в диапазоне координат 0<Х<40ми 0^У^20м. Следовательно, необходимо увеличить масштаб графика в 10 раз: • координаты точек графика необходимо умножить на 10; • значения шкал осей разделить на 10. Построение траектории осуществить в цикле со счетчиком (координата X) с использованием метода рисования точки DrawEllipse (Penl, Х*10, Y*10, 1, 1), в котором координатами точки являются координаты мячика. Dim Graphl As Graphics Dim Penl As New Pen (Color .Black, 4) Dim drawBrush As New SolidBrush(Color.Black) Dim drawFont As New Font("Arial", 10) Dim X, Y, T As Single Private Sub Button2_Click (...) Graphl=Me.PictureBoxl.CreateGraphics() Graphl.Clear(Color.White) 'Печать шкал математической системы координат 'в компьютерной системе координат For Х=0 То 400 Step 50 Graphl.Drawstring(Х/10, drawFont, drawBrush, X, 200) Next X 20 Глава 1 For Y=20 To 220 Step 50 Graphl.Drawstring((Y-20)/10, drawFont, drawBrush, 0, 220-Y) Next Y 'Преобразование компьютерной системы координат 'в математическую систему координат Graphl.ScaleTransform(l, -1) 'Поворот оси У Graphl.TranslateTransform(0, -200) 'Сдвиг по оси У 'Рисование осей математической системы координат Graphl.DrawLine(Penl, 0, 0, 400, 0) 'Ось X Graphl. DrawLine (Penl, 0, -20, 0, 200) 'Ось У 'Стенка Graphl.DrawLine(Penl, S*10, 0, S*10, H*10) 'Построение траектории движения мячика For Т=0 То 10 Step 0.1 Y=V0*Math.Sin(A*Pi/180)*T-G*T*T/2 X=V0*Math.Cos(A*Pi/180)*T Graphl.DrawEllipse(Penl, X*10, Y*10, 1, 1) Next T End Sub Компьютерный эксперимент. Введем произвольные значения начальной скорости и угла бросания мячика. Скорее всего, попадания в стенку не будет. Меняя один из параметров, например угол, произведем пристрелку, используя известный артиллерийский прием «взятие в вилку», в котором применяется эффективный метод «деление пополам». Сначала найдем угол, при котором мячик перелетит стенку, затем угол, при котором мячик не долетит до стенки. Вычислим среднее значение углов, составляющих «вилку», и проверим, попадет ли при этом значении мячик в стенку. Если он попадет в стенку, то задача выполнена, если не попадет, то рассмотрим новую «вилку» и т. д. 5. Запустить проект и ввести значения начальной скорости, угла бросания, расстояния до стенки и ее высоты. Щелкнуть по кнопкам Вычислить и Показать. На надписи будут выведены результаты, а в графическом поле появится траектория движения тела (см. рис. 1.2). Подобрать значения начальной скорости и угла бросания мячика, обеспечивающие его попадание в стенку. Построение и исследование информационных моделей 21 Рис. 1.2. Компьютерный эксперимент по бросанию мячика в стенку Например, при скорости бросания мячика Vo = 18 м/с и угле бросания а = 35° мячик попадет в стенку высотой й = 2 м и находящуюся на расстоянии s = 30 м на высоте / = 0,6959749 м. Проект «Бросание мячика в стенку» хранится в папке Windows-CD ..\]1КТ11Ргой\Ш2005\Бросание мячика в стенку Анализ результатов. Полученная точность высоты попадания мячика в стенку I — 0,6959749 м не имеет физического смысла и определяется типом переменной. Так как L является переменной одинарной точности, то ее значение вычисляется с точностью семи значащих цифр. Исходные данные заданы с точностью две значащие цифры, поэтому необходимо и результат округлить до двух значащих цифр: I = 0,70 м. Корректировка модели. Рассмотренный выше проект «Бросание мячика в стенку» позволяет задавать различные значения скорости и угла бросания мячика. Предположим, что броски мячика производятся с одинаковой скоростью, и попробуем определить диапазон углов, при которых происходит попадание мячика в стенку. Для этого необходимо в цикле со счетчиком по углу бросания вычислить положение мячика на расстоянии стенки и определить те углы, которые соответствуют высоте стенки. 22 Глава 1 Проект «Диапазон углов» на языке Visual Basic 1. Для создания графического интерфейса проекта «Диапазон углов, обеспечивающих попадание в стенку» (рис. 1.3) разместить на форме: • три текстовых поля для ввода значений: TextBoxl — начальной скорости, TextBox2 — расстояния до стенки и TextBoxS — высоты стенки; • надпись Labe 11 для вывода диапазона значений углов, при которых происходит попадание мячика в стенку; • восемь надписей для обозначения переменных и единиц измерения; • кнопку Buttonl для запуска обработчика события. 2. Для каждого значения скорости бросания мячика получить диапазон значений углов, обеспечивающих попадание мячика в стенку. Для этого в цикле со счетчиком, которым является переменная А (угол бросания), вычислять высоту мячика в момент его нахождения на расстоянии стенки. Для каждой высоты мячика с помощью оператора условного перехода в сокращенной форме If-Then-End If проверять, справедливо ли условие 0<=L And L<=H (попадет ли мячик в стенку). Если условие справедливо, то значение переменной А (угол бросания) выводить на надпись Labe 11 с использованием функции преобразования числа в строку Str(А). Программный код обработчика события: Const G As Single = 9.81 Const Pi As Single = 3.14 Dim VO, S, H, L As Single, A As Integer Private Sub Buttonl_Click (...) 'Ввод начальных значений V0=Val(TextBoxl.Text) S=Val(TextBox2.Text) H=Val(TextBoxS.Text) Labell.Text="" For A=0 To 90 ’Попадание в стенку L=S*Math.Tan (A*Pi/l80) - (G*S''2) / (2*V0''2* Math.Cos(A*Pi/180) ''2) Построение и исследование информационных моделей 23 'Вывод значений диапазона углов If 0<=L And L<=H Then Labell.Text=Labell.Text+Str(A) End If Next A End Sub 3. Запустить проект и ввести скорость бросания мячика, расстояние до стенки и ее высоту. Щелкнуть по кнопке Диапазон углов. ^ Диапазт уг/кя Vo I 18 м/с S flo м Н Г~Т м Х1иопазон углов 33 34 35 36 56 57 град Рис. 1.3. Диапазон углов, обеспечивающих попадание мячика в стенку Получим важный результат — оказывается, существуют два диапазона углов: от 33° до 36° и от 56° до 57°, которые обеспечивают попадание мячика при скорости бросания 1>о = 18 м/с в стенку высотой Л = 1 м, находящуюся на расстоянии S = 30 м (см. рис. 1.3). Проект «Диапазон углов» хранится в папке ..\11КТ11Рго1\УВ2005\Диапазон углов Windows-CD Вопросы для^^змышления 1. От чего зависит точность вычисления значений переменных в языке программирования Visual Basic? 2. Имеет ли физический смысл вычисление значения координаты мячика с точностью 13 знаков после запятой? До какой точности целесообразно округлить полученное значение? 24 Глава 1 1.2.3. Компьютерная модель движения тела на языке Turbo Delphi На основе формальной модели, описывающей движение тела, брошенного под углом к горизонту, создадим компьютерную модель с использованием системы программирования Turbo Delphi. Проект «Бросание мячика в стенку» на языке Turbo Delphi Создадим сначала графический интерфейс проекта. 1. Разместить на форме (рис. 1.4): • четыре текстовых поля для ввода значений: EditVO — начальной скорости. Edit А — угла бросания мячика. Edits — расстояния до стенки и EditL — высоты стенки; • надпись Label 1 для вывода высоты мячика на заданном расстоянии; • надпись Labe 12 для вывода текстового сообщения о результатах броска; • десять надписей для вывода имен переменных и единиц измерения; • кнопку Buttonl для запуска событийной процедуры вычисления результатов бросания мячика; • кнопку Button2 для демонстрации траектории движения мячика. 2. Ввести в программный код в оператор uses модуль Math, который обеспечивает подключение математических функций (Cos (), Tan () и т. д.). uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Math; 3. Объявить переменные (вещественные одинарной точности) и константы для всего проекта: var //начало раздела объявления VO: real; //начальная скорость А: real; //угол бросания S: real; //расстояние до стенки Н: real; //высота стенки Построение и исследование информационных моделей 25 const G = 9.81; Pi = 3.14; //начало раздела объявления констант 4. Создать программный код событийной процедуры TForml .ButtonlClick, определяющей попадание мячика в стенку. В этом коде: • объявить вещественную переменную одинарной точности L для данной событийной процедуры (высота мячика I в момент попадания в стенку); • присвоить переменным V0, А, S, Н значения, введенные в текстовые поля, с использованием функции преобразования строки в вещественное число StrToFloat О ; • вычислить высоту мячика L на заданном расстоянии по формуле (1.2); • вывести высоту мячика L в поле надписи Label 1; • вывести текстовое сообщение о результатах броска в поле надписи Labe 12 с использованием оператора If-Then-Else, в котором в качестве условия проверяется значение переменной L. procedure TForml.ButtonlClick(Sender: TObject) ; var //начало раздела объявления переменных L: real; //высота мячика в момент попадания //в стенку begin VO;=StrToFloat(EditVO.Text); A:=StrToFloat(EditA.Text); S:=StrToFloat(Edits.Text); H:=StrToFloat(EditL.Text); //Попадание в стенку L:=S*Tan(A*Pi/l80)-G*Sqr(S)/(2*Sqr(VO* Cos(A*Pi/l80))); Labell.Caption:=FloatToStr(L); if L<0 then Label2.Caption:='Недолет' else if L>H then Label2.Caption:=’Перелет’ else Label2.Caption:='Попадание'; end; Для визуализации формальной модели построим траекторию движения тела (график зависимости высоты мячика над поверхностью земли от дальности полета). Снабдим график осями координат со ппсалами и выведем положение стенки. 26 Глава 1 5. Поместить на форму графическое поле Image 1, в котором будет осуществляться построение графика. С помощью диалогового окна Инспектор объектов установить размеры графического поля, например свойству Height присвоить значение 200, а Width — 400. 6. Создать событийную процедуру TForml. Button2Click, в которой: • объявить вещественную переменную Т (время); • объявить целочисленные переменные X, Y и N (координаты мячика и счетчик цикла); • присвоить переменным V0, А, S, Н значения, введенные в текстовые поля, с использованием функции преобразования строки в вещественное число StrToFloat(); • построить траекторию движения мячика на объекте Imagel.Canvas; • построить оси X и у со шкалами и стенку. Функция Round () необходима, чтобы преобразовывать вещественные переменные одинарной точности в целочисленные переменные (значения координат). procedure TForml.Button2Click(Sender: TObject); var //начало раздела объявления переменных //координата //координата //время //счетчик X: integer; //координата X Y: integer; //координата Y Т: real; N: integer; begin //Ввод начальных значений VO:=StrToFloat(EditVO.Text) ; А:=StrToFloat(EditA.Text) ; S:=StrToFloat(Edits.Text); L:=StrToFloat(EditL.Text) ; //рисование траектории with Imagel.Canvas do begin while T<5 Do begin T:=T+0.005; Y:=l80-Round(10*(V0*Sin(A*Pi/180)*T-G*T*T/2)); X;=5+Round(10*(V0*Cos(A*Pi/180)*T)); Pixels [X,Y] :=clBlac)c; end; Построение и исследование информационных моделей 27 MoveTo(О,180); LineTo(400,180); //ось X MoveTo(5,0); LineTo(5,400); //ось Y MoveTo(Round(5+10*S),Round(180)); //стенка LineTo(Round(5+10*S),180-Round(10*H)); //шкала оси X N:=0; while N<400 do begin N:=N+50; MoveTo(5+N,180); LineTo(5+N,200); TextOut(7+N,180,IntToStr(Round(N/10))); end; //шкала оси У N: =0 ; while N<200 do begin N:=N+50; MoveTo(0,180-N); LineTo(10,180-N); TextOut(0,180-N,IntToStr(Round(N/10))); end; end; end; end. Проект хранится в папке ..\IIKT11Prof\Delphi\Phys1 Windows-CD 11^° Компьютерный эксперимент (см. рис. 1.4) 7. Запустить проект и ввести значения начальной скорости, угла бросания, расстояния до стенки и ее высоты. Щелкнуть по кнопке Бросок. В поля меток будут выведены значение координаты мячика и результат броска. Щелкнуть по кнопке Траектория. В графическом поле появится траектория движения тела. Подобрать значения начальной скорости и угла бросания мячика, обеспечивающие его попадание в стенку. Например, при скорости бросания мячика vq= 18 м/с и угле бросания а = 34° мячик попадет в стенку высотой Л = 1 м, находящуюся на расстоянии S = 30 м на высоте I =0,406314279729352 м. 28 Глава 1 Рис. 1.4. Проект «Бросание мячика в стенку» на языке Turbo Delphi Анализ результатов. Полученная точность высоты попадания мячика в стенку I = 0,406314279729352 м не имеет физического смысла и определяется типом переменной. Значение переменной типа Real вычисляется с точностью 15 значащих цифр, однако исходные данные заданы с точностью две значащие цифры, поэтому целесообразно результат округлить до трех значащих цифр: I = 0,406 м. Корректировка модели. Модернизируем проект так, чтобы для каждого значения скорости бросания получить диапазон значений углов, обеспечивающий попадание мячика в стенку. Для этого необходимо в цикле со счетчиком по углу бросания вычислить положение мячика на расстоянии стенки и определить те углы, которые соответствуют высоте стенки. ъ Проект «Диапазон углов» на язьше Turbo Delphi Поместить на форму (рис, 1.5): • три текстовых поля для ввода значений: EditVO — начальной скорости. Edits — расстояния до стенки и EditH — высоты стенки; Построение и исследование информационных моделей 29 • надпись Labe 11 для вывода диапазона значений углов, при которых происходит попадание мячика в стенку; • восемь надписей для обозначения переменных и единиц измерения; • кнопку Buttonl для запуска событийной процедуры. 2. Ввести в начало прогргшмного кода в оператор uses модуль Math, который обеспечивает подключение математических функций (Cos (), Tan () и т. д.). uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Math; 3. Объявить переменные: const //начало раздела объявления констант G=9.81; Pi=3.14; var //начало раздела объявления переменных V0: real; //начальная скорость А: integer; //угол бросания S: real; //расстояние до стенки Н: real; //высота стенки L: real;//высота мячика на заданном расстоянии 4. Ввести программный код событийной процедуры; procedure TForml.ButtonlClick(Sender: TObject); begin //Ввод начальных значений VO:=StrToFloat(EditVO.Text); S:=StrToFloat(Edits.Text); H:=StrToFloat(EditH.Text); //Попадание в стенку for A:=0 to 90 do begin L:=S*Tan(A*Pi/180)-G*Sqr(S)/(2*Sqr(VO* Cos(A*Pi/180))); if (0 Р: 'Численное Dim А, В, решение уравнения С, Р As Single Private Siib Button2_Click (...) A=Val(TextBoxl.Text) B=Val(TextBox2.Text) P=Val(TextBox3.Text) Do C=(A+B)/2 If (A^3-Math.Cos(A))*(C^3-Math.Cos(C))<0 Then B=C Else A=C End If Loop While (B-A)/2>P Labell.Text=(A+B)/2 End Sub Из графика функции видно, что корень находится на отрезке [0,5; 1]. Введем в текстовые поля значения концов числового отрезка, а также точность вычислений (например, 0,0001). На надпись будет выведено значения корня: X « 0,8654175 (см. рис. 1.13). Рис. 1.13. Проект «Приближенное решение уравнения» на языке Visual Basic 40 Глава 1 Точность вычисления корня зависит не только от параметров используемого численного метода, но и от типа переменной. В нашем случае имеет смысл говорить о математической точности результата, которая не может превышать точность числового метода, т. е. х » 0,8654. Проект хранится в папке ..MIKT11 РгоПУВ2005\Приближенное решение уравнения Windows-CD Вопросы ДЛЯ'размышления 1. От чего зависит точность вычисления значений переменных в языке программирования Visual Basic? 2. До какой точности целесообразно округлить полученное значение корня уравнения? 1.3.3. Приближенное решение уравнений на языке Turbo Delphi Задача. Найти корень уравнения х® - cosx = 0 приближенными методами (графическим и численным методом деления пополам числового отрезка аргумента). Формальная модель задана уравнением, для нахождения корня уравнения разработаем компьютерную модель на языке Turbo Delphi. Проект «Приближенное решение уравнения» на языке Turbo Delphi Графический метод (рис. 1.14) Ввести в начало программного кода в оператор uses модуль Math, который обеспечивает подключение математических функций (Cos (), Tan {) и т. д.). Построение и исследование информационных моделей 41 uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Math; 2. Ввести событийную процедуру TForml .ButtonlClick (Sender: TOb j ect) графического решения уравнения, var X: real; Y: real; N; integer; procedure TForml.ButtonlClick(Sender: TObject); begin with Imagel.Canvas do begin //график функции X:=-3; while X<3 Do begin X:=X+0.001; Y:=X*X*X-Cos(X); Pixels[Round(100*X)+200,200-Round(20*Y)]:= clBlack; end; MoveTo(0,200); LineTo (500,200); //Ось X MoveTo(250,0); LineTo(250,500); //Ось Y //Шкала оси X N:=0; while N<500 do begin N:=N+100; MoveTo(N,190); LineTo(N,210); TextOut(N,200,FloatToStr(Round(N-250)/50)); end; //Шкала оси Y N:=0; while N<400 do begin N:=N+100; MoveTo(245,400-N); LineTo(255,400-N); TextOut(245,400-N,FloatToStr (Round((N-200)/10))); end; end; end; end. 42 Глава 1 3. График функции пересекает ось X один раз, следовательно, уравнение имеет один корень. По графику грубо приближенно можно определить, что х « 0,8 (см. рис. 1.14). Рис. 1.14. Графическое решение уравнения Численный метод половинного деления Поместить на форму (рис. 1.15): • два текстовых поля Editl и Edit2 для ввода числовых значений концов числового отрезка А и В; • текстовое поле Edit3 для ввода точности вычислений; • надпись Labe 11 для вывода значений корня; • четыре надписи для вывода обозначений. Поместить на форму кнопку Button2 и создать событийную процедуру TForml .Button2Click О . Ввести программный код, позволяющий вычислить корень уравнения методом половинного деления с использованием цикла с постусловием, который будет выполняться, пока не станет истинным условие (В - А)/2 < Е: var А: real; В: real; С: real; Е: real; Построение и исследование информационных моделей 43 6. procedure TForml.Button2Click(Sender: TObject); begin A:=StrToFloat(Editl.Text) ; B:=StrToFloat(Edit2.Text) ; E;=StrToFloat(Edits.Text) ; Repeat C:=(A+B)/2; If (A*A*A-Cos(A))*(C*C*C-Cos(C))<0 Then В: =C Else A:=C Until (B-A)/2 где значение коэффициента d < 1 характеризует скорость уменьшения численности популяции хищников. Увеличение популяции хищников можно считать пропорциональной произведению собственно количеств жертв и хищников, а коэффициент g характеризует величину роста численности хищников за счет жертв. Тогда для численности хищников можно использовать формулу: Уп+1 = d ■ у„ + g • х„- у„ . Вопросы дл 1 ^мышления 1. Приведите примеры изменения численности популяций, соответствующих моделям неограниченного роста, ограниченного роста, ограниченного роста с отловом и «жертва-хищник» в природе. 1.5.2. Компьютерные модели развития популяций на языке Visual Basic Построим на языке Visual Basic компьютерную модель, позволяющую исследовать изменение со временем численности популяций с использованием различных моделей: неограниченного роста, ограниченного роста, ограниченного роста с отловом и «жертва-хищник». 56 Глава 1 Проект «Численность популяций» на языке Visual Basic 1. Поместить на форму (рис. 1.23) текстовые поля для ввода: • значений коэффициентов а, 6, с и f, влияющих на изменение численности жертв: TextBoxA, TextBoxB, TextBoxC и TextBoxF; • значений коэффициентов dw.g, влияющих на изменение численности хищников: TextBoxD и TextBoxG; • начальной численности популяций жертв и хищников: TextBoxX и TextBoxY; • количества рассматриваемых жизненных циклов (лет) TextBoxN. 2. Поместить на форму надписи для вывода численности популяций через заданное количество лет: • при неограниченном росте Label 1; • при ограниченном росте Labe 12; • при ограниченном росте с отловом Label3; • в модели «жертва-хищник» Label4 и Labels. 3. Поместить на форму графическое поле PictureBoxl для рисования графиков зависимости численности популяций жертв и хищников от количества жизненных циклов (лет). С помощью диалогового окна Свойства присвоить свойству Width значение 320, а свойству Height — значение 220. 4. Поместить на форму надписи для вывода обозначений и поясняющих текстов. 5. Объявить переменные и графические инструменты: Dim Graphl As Graphics Dim Peril As New Pen (Color.Black, 2) Dim Pen2 As New Pen (Color.Green, 2) Dim Pen3 As New Pen (Color. Blue, 2) Dim Pen4 As New Pen (Color .Brown, 2) Dim Pens As New Pen (Color .Red, 2) Dim drawBrush As New SolidBrush(Color.Black) Dim drawFont As New Font("Arial", 10) Dim X, Y As Integer, N, I, A, B, C, D, G, F, XI, X2, X3, X4, Y1 As Single Построение и исследование информационных моделей 57 Для различных моделей динамики изменения численности популяций создадим событийные процедуры, где в цикле вычисляется численность популяций и результат (численность популяций) выводится на надписи. 6. Поместить на форму кнопку Button2 и создать событийную процедуру вычисления численности популяции в модели неограниченного роста: 'Неограниченный рост Private Sub Button2_Click (...) A=Val(TextBoxA.Text) Xl=Val(TextBoxX.Text) N=Val(TextBoxN.Text) For 1=1 To N X1=A*X1 Next I Labell.Text=Int(XI) End Sub 7. Поместить на форму кнопку Buttons и создать событийную процедуру вычисления численности популяции в модели ограниченного роста: 'Ограниченный рост Private Sub Button3_Clic)c (...) A=Val(TextBoxA.Text) B=Val(TextBoxB.Text) X2=Val(TextBoxX.Text) N=Val(TextBoxN.Text) For 1=1 To N X2=(A-B*X2)*X2 Next I Labels.Text=Int(X2) End Sub 8. Поместить на форму кнопку Button4 и создать событийную процедуру вычисления численности популяции в модели ограниченного роста с отловом: ’Ограниченный рост с отловом Private Sub Button4_Clic)c (...) A=Val(TextBoxA.Text) B=Val(TextBoxB.Text) C=Val(TextBoxC.Text) X3=Val(TextBoxX.Text) N=Val(TextBoxN.Text) For 1=1 To N X3=(A-B*X3)*X3-C Next I 58 Глава 1 Labels .'Text=Int (ХЗ) End Sub 9. Поместить на форму кнопку Buttons и создать событийную процедуру вычисления численности популяции в модели «жертва-хищник»: 'Жертва-хищник Private Sub Button5_Click (...) A=Val(TextBoxA.Text) B=Val(TextBoxB.Text) C=Val(TextBoxC.Text) D=Val(TextBoxD.Text) F=Val(TextBoxF.Text) G=Val(TextBoxG.Text) X4=Val(TextBoxX.Text) Yl=Val(TextBoxY.Text) N=Val(TextBoxN.Text) For 1=1 To N X4=(A-B*X4)*X4-C-F*X4*Y1 Y1=D*Y1+G*X4*Y1 Next I Label4.Text=Int(X4) Labels.Text=Int(Yl) End Sub 10. Поместить на форму кнопку Button 1 и создать событийную процедуру построения графиков зависимости численности популяций от количества жизненных циклов (лет) для различных моделей: Private Sub Buttonl_Click (...) Graphl=Me.PictureBoxl.CreateGraphics() Graphl.Clear(Color.White) 'Печать шкал системы координат For Х=20 То 320 Step 50 Graphl.Drawstring((Х-20) , drawFont, drawBrush, X-20, 200) Next X For Y=0 To 200 Step 40 Graphl.Drawstring(Y, drawFont, drawBrush, 0, 200-Y) Next Y 'Преобразование компьютерной системы координат в используемую систему координат Graphl .ScaleTransformd, -1) 'Поворот оси У Graphl.TranslateTransform(20, -200) 'Сдвиг по осям X и У Построение и исследование информационных моделей 59 'Рисование осей с засечками Graphl.DrawLine(Penl, О, О, 300, 0) 'Ось X Graphl.DrawLine(Penl, 0, 0, 0, 200) 'Ось Y For X=0 To 300 step 50 'Засечки на оси X Graphl.DrawLine(Penl, X, -5, X, 5) Next X For Y=0 To 200 Step 40 'Засечки на оси У Graphl.DrawLine(Penl, -5, Y, 5, Y) Next Y 'График неограниченного роста Xl=Val(TextBoxX.Text) For 1=1 To 100 Graphl.DrawEllipse(Penl, I, XI, 1, 1) X1=A*X1 Next I 'График ограниченного роста X2=Val(TextBoxX.Text) For 1=1 To N Graphl.DrawEllipse(Pen2, I, X2, 1, 1) X2=(A-B*X2)*X2 Next I 'График ограниченного роста с отловом X3=Val(TextBoxX.Text) For I = 1 To N Graphl.DrawEllipse(Pen3, I, X3, 1, 1) X3=(A-B*X3)*X3-C Next I 'Графики в модели жертва-хищник X4=Val(TextBoxX.Text) Yl=Val(TextBoxY.Text) For 1=1 To N X4=(A-B*X4)*X4-C-F*X4*Y1 Y1=D*Y1+G*X4*Y1 Graphl.DrawEllipse(Pen4, I, X4, 1, 1) Graphl.DrawEllipse(Pen5, I, Yl, 1, 1) Next I End Sub 11. Запустить проект и ввести значения коэффициентов, начальное количество жертв и хищников и количество жизненных циклов (лет). Последовательно щелкнуть по кнопкам, на надписи будут выведены значения численности популяций, а в графическом поле будут построены графики, показывающие динамику развития популяций (см. рис. 1.23). 60 Глава 1 >5 ^4^ Л€ННОСТЬ популяций Неограниченный рост 1^^^9781557186721 Ограниченный ^Ощниченный^о^^ Ограниченный рост с отловом 3 Же^вао<ищни1^ |1о^015'ИИИГ*"^вртв»-хищник Рис. 1.23. ripoeicr «Численность популяций» на языке Visual Basic Анализ полученных результатов. Из графиков видно, что модель неограниченного роста приводит к катастрофическому возрастанию численности популяции. В природе существуют отдельные периоды, когда создаются наиболее благоприятные условия для жизни какого-либо вида, и тогда мы являемся свидетелями появления несметного количества комаров, саранчи и т. д. В моделях ограниченного роста и ограниченного роста с отловом динамика изменения численности популяции практически одинакова при определенных значениях коэффициента отлова. Это означает, что могут существовать научно обоснованные нормы лова рыбы или охоты, которые практически не влияют на численность популяции с течением времени. Исследование динамики численности популяций в модели «жертва—хищник» показывает, что численности популяций жертв и хищников тесно связаны. Так первоначальный рост численности жертв стимулирует резкий рост численности хищников, что с течением времени приводит к резкому уменьшению численности жертв и спустя некоторое время к уменьшению численности хищников и т. д. Построение и исследование информационных моделей 61 Проект хранится в папке ..\IIKT11 Prof\VB2005\4McneHHOCTb популяций Windows-CD О Вопросы длштзмышления 1, Почему численности популяций в моделях ограниченного роста и ограниченного роста с отловом при некоторых значениях параметров фактически совпадают? 2. Почему численности популяций в модели «жертва-хищник* фактически находятся в противофазе? 1.5.3. Компьютерные модели развития популяций на языке Turbo Delphi Построим на языке Turbo Delphi компьютерную модель, позволяющую исследовать изменение со временем численности популяций с использованием различных моделей: неограниченного роста, ограниченного роста, ограниченного роста с отловом и «жертва-хищник*. ъ Проект «Численность популяций» на языке Turbo Delphi Поместить на форму (рис. 1.24) текстовые поля для ввода: • значений коэффициентов а, Ь, с и f, влияющих на изменение численности жертв: Edit А, EditB, EditC и EditF; • значений коэффициентов dug, влияющих на изменение численности хищников: EditD и EditG; • начальной численности популяций жертв и хищников: EditX и EditY; • количества рассматриваемых жизненных циклов (лет) EditN. Поместить на форму надписи для вывода численности популяций через заданное количество лет: • при неограниченном росте LabelNR; • при ограниченном росте LabelOR; • при ограниченном росте с отловом LabelORO; • в модели «жертва-хищник* LabeIX YnLabelY X. 62 Глава 1 3. Поместить на форму графическое поле Image 1 (например, 300, 500), в котором будут строиться графики зависимости численности популяций от количества жизненных циклов (лет). 4. Поместить на форму надписи для вывода обозначений и поясняющих текстов. 5. Прежде всего, необходимо объявить переменные: var А В С D real; //коэффициент роста популяции real; //коэффициент уменьшения популяции real; //коэффициент отлова real; //коэффициент уменьшения численности //хищников в отсутствие жертв G: real; //коэффициент увеличения численности //хищников при наличии жертв F: real; //коэффициент уменьшения численности //жертв при наличии хищников X: real; //первоначальное количество жертв Y: real; //первоначальное количество хищников N: integer; //количество циклов (лет) I: integer; //счетчик цикла 6. Поместить на форму кнопку Buttonl и начать создание событийной процедуры TForml .ButtonlClick (). Присвоить переменным значения, вводимые в текстовые поля, с использованием функций преобразования типов данных StrToFloat()и StrToInt(): procedure TForml .ButtonlClick(Sender: TObject); begin //Ввод даиных A:=StrToFloat(EditA.Text); B:=StrToFloat(EditB.Text) ; C:=StrToFloat(EditC.Text); D:=StrToFloat(EditD.Text); G:=StrToFloat(EditG.Text); F:=StrToFloat(EditF.Text) ; X:=StrToFloat(EditX.Text); Y:=StrToFloat(EditY.Text); N:=StrToInt(EditN.Text) ; 7. В событийной процедуре установить ширину линий рисования на холсте, равную, например, 3 пикселям: //Установка ширины линии рисования Imagel.Canvas.Pen.Width:=3; Построение и исследование информационных моделей 63 8. Ввести программный код модели неограниченного роста, где: • задается начальная точка графика с использованием метода Move То (); • задается цвет графика путем задания значения свойства Color; • в цикле вычисляется численность популяции и строится график с использованием метода LineTo О ; • конечная численность населения выводится на надпись LabelNR с использованием функции преобразования типов данных FloatToStr (X): //Неограниченный рост X:=StrToFloat(EditX.Text); Imagel.Canvas.MoveTo(0,250); Imagel.Canvas.Pen.Color:=clDkGray; For I: =1 to N Do begin Imagel.Canvas.LineTo(25*1-25,250-Round(25*X)+25); X:=A*X; end; LabelNR.Caption:=FloatToStr(X); 9. Ввести программный код модели ограниченного роста: //Ограниченный рост X:=StrToFloat(EditX.Text); Imagel.Canvas.MoveTo(0,250); Imagel .Canvas . Pen.Color :=clDlcGray; For I:=l to N Do begin Imagel.Canvas.LineTo(25*1-25,250-Round(25*X)+25); X:=(A-B*X)*X; end; LabelOR.Caption:=FloatToStr(X); 10. Ввести программный код модели ограниченного роста с отловом: //Ограниченный рост с отловом X:=StrToFloat(EditX.Text); Imagel.Canvas.MoveTo(0,250); Imagel.Canvas.Pen.Color:=clBlue; For I:=l to N Do begin Imagel.Canvas.LineTo(25*1-25,250-Round(25*X)+25); 64 Гдава1 Х:==(А-В*Х) *Х-С; LabelORO.Caption:=FloatToStr(X); end; LabelORO.Caption:=FloatToStr(X) ; 11. Ввести программный код модели «жертва-хищник* для вычисления численности жертв: //Жертвы X:=StrToFloat(EditX.Text); Y:=StrToFloat(EditY.Text); Image1.Canvas.MoveTo(0,250) ; Imagel.Canvas.Pen.Color:=clGreen; For I:=l to N Do begin Imagel.Canvas.LineTo(25*1-25,250-Round(25*X)+25); X:=(A-B*X)*X-C-F*X*Y; Y:=D*Y+G*X*Y; end; LabelX_Y.Caption;=FloatToStr(X); 12. Ввести код модели «жертва-хищник* для вычисления численности хищников: //Хтщики X:=StrToFloat(EditX.Text) ; Y:=StrToFloat(EditY.Text) ; Imagel.Canvas.MoveTo(0,250) ; Imagel.Canvas.Pen.Color:=clRed; For I:=l to N Do begin Imagel.Canvas.LineTo(25*1-25,250-Round(25*Y)+25); X:=(A-B*X)*X-C-F*X*Y; Y:=D*Y+G*X*Y; end; LabelY_X.Caption:=FloatToStr(Y) ; end; end. 13. Запустить проект и ввести значения коэффициентов, начальное количество жертв и хищников и количество жизненных циклов (лет). (Для простоты примем начальные количества жертв и хищников за единицу.) Щелкнуть по кнопке Пуск. Графики покажут динамику развития популяций, а на надписи будут выведены конечные значения численности популяций (см. рис. 1.24). Построение и исследование информационных моделей 65 Рис. 1.24. Проект «Численность популяций» на языке Turbo Delphi Проект хранится в папке ..\ПКТ11 Prof\Delphi\Biol Windows-CD Вопросы для размышления 1. Почему численности популяций в моделях ограниченного роста и ограниченного роста с отловом при некоторых значениях параметров фактически совпадают? 2. Почему численности популяций в модели «жертва-хищник» фактически находятся в противофазе? 1.5.4. Компьютерные модели развития популяций в электронных таблицах Построим в электронных таблицах компьютерную модель, позволяющую исследовать численность популяций с использованием различных моделей: неограниченного роста, ограниченного роста, ограниченного роста с отловом и ♦жертва-хищник*. 66 Глава 1 Компьютерная модель «Чис-ленность популяций» в элек- а тронных таблицах 1. В ячейки В2 и В7 ввести начальные значения численности популяций жертв и хищников. Для простоты примем начальные количества жертв XI и хищников У1 за единицу (рис. 1.25). В ячейки ВЗ:Вб ввести значения коэффициентов а, Ь, с VI f, влияющих на изменение численности жертв. В ячейки В8 и В9 внести значения коэффициентов dvig, влияющих на изменение численности хищников. Х1= а= Ь= с= f= Y1 = _d~ g= fai 1,00, 1.60 0,05 0,30 0,06 1,00 0,90 0,05 Рис. 1.25. Ввод начальных значений В столбце D будем вычислять численность популяции в соответствии с моделью неограниченного роста, в столбце Е — ограниченного роста, в столбце F — ограниченного роста с отловом, в столбцах G и Н численность популяций жертв и хищников. 2. В ячейки D2, Е2, F2, G2 и Н2 внести значения начальной численности популяций. В ячейку D3 внести рекуррентную формулу неограниченного роста =$B$3*D2. В ячейку ЕЗ внести рекуррентную формулу ограниченного роста =($В$3-$В$4*Е2)*Е2. В ячейку F3 внести рекуррентную формулу ограниченного роста с отловом =($B$3-$B$4*F2)*F2-$B$5. В ячейку G3 внести рекуррентную формулу роста жертв =($B$3-$B$4*G2)*G2-$B$5-$B$6*G2*H2. В ячейку НЗ внести рекуррентную формулу роста хищников =$B$8*H2+$B$9*G2*H2. 3. Скопировать внесенные формулы в ячейки столбцов командами [Правка-Заполнить-Вниз]. В ячейках столбцов ознакомиться с динамикой изменения численности популяций (рис. 1.26). Построение и исследование информационных моделей 67 1,0 1,0 1.0 1.0 1,0 1,6 1,6 1,3 1,2 1,0 2,6 2.4 1.6 1,5 0.9 4,1 3.5' 2.2 1.9 0,9 6.6 5,6'' 2,9 2,4 0.9 10,5 6,7 4,0 3,1 0.9 16,8 8,5 5,2 4.0 0,9 26,8 10,0 6,7 5,1 1,0 42,9 11.0 8,2 6,3 1,2 68,7 11.5 9.5 7,3 1,5 110,0 11,8 10,4 8.1 1,9 175,9 11,9 10.9 8.5 2,4 281,5 12,0 11,2 8.4 3,2 450,4 12,0 11.3 8,0 4,2 720,6 12,0 11.4 7,3 5,5 1152,9 12,0 11,5 6,3 7,0 1844,7 12,0- 11.5 5,2 8.4 2951,5 12,0 11.5 4,0 9.8 4722,4 12,0 11.5 3,0 10,8 7555,8 12,0 11,5 2,1 11.3 12089,3 12,0 11,5 1,4 11,3 Рис. 1.26. Динамика изменения численности популяций Для визуализации компьютерной модели построим графики изменения популяций с течением времени. 4. Выделить столбцы данных D, Е, F, G, Н и построить диаграмму типа График. Появятся графики изменения численности популяций в соответствии с моделями неограниченного роста, ограниченного роста, ограниченного роста с отловом, количества жертв и хищников в модели «жертва-хищник» (рис. 1.27). -Heorp.poci -Огрей, рост -COIAOeOM -Жертвы -Хищники I 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ?0 21 Рис. 1.27. Графики изменения численности популяций 68 Глава 1 Исследование модели. Изменяя значения начальной численности популяций, а также коэффициенты, можно получать различные варианты изменения численности популяций в зависимости от времени. При заданных значениях коэффициентов по графикам видно, что, начиная примерно с пятнадцатого жизненного цикла (года): • отлов на численность популяции не влияет; • количество хищников резко возрастает, а количество жертв уменьшается практически до нуля. Модель хранится в лапке ..\IIKT11Prof в файле Model.xls на листе Численность популяций Windows-CD Вопросы для ]^змышления Ф 1. Почему численности популяций в моделях ограниченного роста и ограниченного роста с отловом при некоторых значениях параметров фактически совпадают? 2. Почему численности популяций в модели «жертва-хищник» фактически находятся в противофазе? 1.6. Оптимизационное моделирование в экономике 1.6.1. Информационные оптимизационные модели в сфере управления сложными системами (например, в экономике) применяется оптимизационное моделирование, в процессе которого осуществляется поиск наиболее оптимального пути развития системы. Критериями оптимальности могут быть различные параметры, например в экономике можно стремиться к максимальному количеству выпускаемой продукции, а можно — к ее низкой себестоимости. Оптимальное развитие соответствует экстремальному (максимальному или минимальному) значению выбранного целевого параметра. Развитие сложных систем зависит от множества факторов (параметров), следовательно, целевой параметр згшисит Построение и исследование информационных моделей 69 ОТ множества параметров. Выражением такой зависимости является целевая функция К = F(Xb Х2. .... Хп), где К — целевой параметр; Хи Х2 , .... Хп — параметры, влияющие на развитие системы. Цель исследования состоит в нахождении экстремума этой функции и определении значений параметров, при которых этот экстремум достигается. Если целевая функция нелинейная, то она имеет экстремумы, которые находятся определенными методами. Однако часто целевая функция линейна и, соответственно, экстремумов не имеет. Задача поиска оптимального режима при линейной зависимости приобретает смысл только при наличии определенных ограничений на параметры. Если ограничения на параметры (система неравенств) также имеют линейный характер, то такие задачи являются задачами линейного программирования. (То есть термин «линейное программирование» в оптимизационном моделировании понимается как поиск экстремумов линейной функции, на которую наложены ограничения.) Рассмотрим в качестве примера экономического моделирования поиск вариантов оптимального раскроя листов материала на заготовки определенного размера. Содержательная постановка задачи. В ходе производственного процесса из листов материала получают заготовки деталей двух типов А и Б тремя различными способами, при этом количества получаемых заготовок при этих способах различны. В таблице 1.1 на пересечении строк и столбцов записаны количества заготовок типов А и Б при соответствующих способах раскроя. Таблица 1.1. Способы раскроя заготовок Тип заготовки Способы раскроя 1-й 2-й 3-й А 10 3 8 Б 3 6 4 Необходимо выбрать оптимальное сочетание способов раскроя, для того чтобы получить 500 заготовок типа А и 300 заготовок типа Б при расходовании наименьшего количества листов материала. 70 Глава 1 Формальная модель «Оптимизация раскроя*. Пара-метрами, значения которых требуется определить, являются количества листов материала, которые будут раскроены различными способами: Xj — количество листов, раскроенное способом 1; Хг — количество листов, раскроенное способом 2; Хз — количество листов, раскроенное способом 3. Целевая функция, выражающая количество листов материала, которое надо минимизировать, примет вид: F=-Xi + X2 + Хз. Ограничения накладываются требуемыми количествами заготовок типов А и Б, тогда с учетом количества заготовок, получаемых различными способами, должны выполняться два равенства: 10 • Xi -f 3 • Хг + 8 • Хз = 500; 3 • Xi -Н 6 • Хг + 4 • Хз = 300. Крюме того, количества листов не могут быть отрицательными, поэтому должны выполняться неравенства: Xi>0; Хз>0; Хз^О. Таким образом, необходимо найти удовлетворяющие ограничениям значения параметров, при которых целевая функция принимает минимальное значение. Вопросы для размышления 1. Почему для определения минимума или максимума целевой функции, линейно зависящей от параметров, необходимо наличие условий? 1.6.2. Построение и исследование оптимизационной модели на языке Visual Basic Набор параметров Xi, Хг и Хз (количества листов материала, которые должны быть раскроены разными способами) должен удовлетворять одновременно двум условиям, что на языке Visual Basic запишется следующим образом: 10*Х1+3*Х2+8*ХЗ=500 And 3*Х1+6*Х2+4*ХЗ=300 Построение и исследование информационных моделей 71 Для ТОГО чтобы найти наборы значений параметров, удовлетворяющих этому условию, необходимо произвести перебор всех возможных вариантов с помощью трех вложенных циклов. С помощью оператора условного перехода надо вывести значения набора параметров и значение целевой функции на надписи. Проект «Оптимизация раскроя» на языке Visual Basic 1. Поместить на форму (рис. 1.28): • три надписи Label 1, Labe 12 и Label3 для вывода значений параметров; • надпись Labe 14 для вывода значения целевой функции; • надписи для вывода обозначений; • кнопку Buttonl для запуска обработчика события. 2. Создать обработчик события: Dim XI, Х2, ХЗ, F Аз Byte Private Sub Buttonl_Click (...) F=300 For X1=0 To 100 For X2=0 To 100 For X3=0 To 100 If 10*X1+3*X2+8*X3=500 And 3*X1+6*X2+4*X3=300 Then If X1+X2+X3»о мгото»ок Б: 300 30 Рис. 1.35. Результат оптимизации Модель хранится в папке ..\IIKT11Prof в файле Model.xls на листе Оптимизационное моделирование Windows-CD Вопросы змышления 1. Что обеспечивает в электронных таблицах надстройка Поиск решения? 1.7. Модели распознавания химических волокон 1.7.1. Построение информационной модели распознавания химических волокон в школьном курсе встречается достаточно много учебных ситуаций, когда ученик должен принять решение, например должен распознать (идентифицировать) тот или иной объект. Обычно такие задачи выполняются учеником методом проб и ошибок, без осознания и фиксации стратегии поиска. Создание модели принятия решения как раз и является осознанием и фиксацией последовательности рас- Построение и исследование информационных моделе!^ 79 суждений (действий), которая приводит к распознаванию того или иного объекта среди некоторой совокупности. В качестве примера такой модели рассмотрим лабораторную работу по химии «Распознавание волокон». Учащемуся даются образцы волокон, газовая горелка и справочная таблица по свойствам горения каждого образца волокон (табл. 1.2). Предлагается распознать каждое из волокон. Органическая химия-10-11 Таблица 1.2. Свойства волокон NS Горит быстро Растворяется в ацетоне Из расплава можно вытянуть нити При горении ощущается запах Волокно (результат распознавания) 1 Да Нет - Да Хлопок 2 Нет Нет Нет Да Шерсть 3 Да Да - Нет Ацетатное волокно 4 Нет Нет Да Да Капрон 5 Нет Нет Да Нет Лавсан Стратегия распознавания может быть представлена в виде дерева поиска на основе структуры «если-то-иначе», причем может быть множество различных деревьев с различным количеством шагов. Наша цель — нахождение оптимальной стратегии распознавания (достижения цели за минимальное число шагов). Такая стратегия будет реализована, если каждый шаг будет максимально уменьшать неопределенность (нести максимальное количество информации). Формальная модель «Распознавание волокон». На первом шаге разделим пять волокон на две группы по условию Горит быстро, если условие выполняется, то это волокна первой группы под номерами 1 и 3, если не выполняется, то это волокна второй группы под номерами 2, 4 и 5. Для идентификации волокон первой группы достаточно проверить справедливость условия Растворяется в ацетоне. Если условие выполняется, то это волокно 3 — ацетатное волокно, если не выполняется, то это волокно 1 — хлопок. 80 Глава 1 Для идентификации волокон второй группы сначала необходимо проверить справедливость условия Из расплава можно вытянуть нити. Если условие выполняется, то это волокна 4 и 5, если не выполняется, то это волокно 2 — шерсть. Для идентификации волоков 4 и 5 достаточно проверить справедливость условия При горении ощущается запах. Если условие выполняется, то это волокно 4 — капрон, если не выполняется, то это волокно 5 — лавсан. Целесообразно представить иерархическую модель распознавания (принятия решения) в виде блок-схемы (рис. 1.36). 1 шерсть ЛЭЕ юан Рис. 1.36. Блок-схема модели «Распознавание волокон» Вопросы для размышления О 1. Могут ли существовать несколько моделей распознавания для одной и той же ситуации? 2. Какая стратегия построения модели распознавания быстрее всего приведет к цели? 1.7.2. Модель распознавания химических волокон на языке Visual Basic Реализуем модель распознавания волокон с использованием языка Visual Basic. В проекте пользователю задается серия вопросов, анализируются ответы и сравниваются с Построение и исследование информационных моделей 81 имеющимися фактами. При этом производится логический вывод и формируется ответ на интересующий пользователя вопрос, т. е. определяется название волокна. Результаты распознавания (названия волокон) будем помещать в управляющий элемент ListBoxl {поле списка), который удобен для ввода элементов списка с помощью метода ListBoxl.Items.Add(). Проект «Распознавание волокон» на языке Visual Basic 1. Поместить на форму (рис. 1.37) кнопку Buttonl и список ListBoxl. Первую развилку (условие Горит быстро) реализуем в форме обработчика события, а остальные — в форме общих процедур: • для идентификации волокон первой группы (1-го и 3-го) создадим процедуру Раствор () (условие Растворяется в ацетоне)', • для идентификации волокон второй группы сначала необходимо создать процедуру Нити () (условие Из расплава можно вытянуть нити)', • для идентификации 4-го и 5-го волокон надо создать процедуру Запах () (условие При горении ощуш,ается запах). 2. Создать обработчик события Buttonl_Click (), который содержит вызовы общих процедур Раствор () и Нити(): Dim А As Byte Private Svib Buttonl_Click (...) A=MsgBox("Горит быстро?", 36, "Первый вопрос") If А=б Then Раствор О Else Нити() End Sub 3. Создать общую процедуру Раствор (), которая позволяет распознать 1-е и 3-е волокна: Sub Раствор О A=MsgBox("Растворяется в ацетоне?", 36, "Второй вопрос") If А=б Then ListBoxl.Items.Add("3.Ацетатное волокно") Else ListBoxl.Items.Add("1.Хлопок") End Sub 82 Глава 1 4. Создать общую процедуру Нити (), которая позволяет распознать 2-е волокно и содержит вызов общей процедуры Запах(): Sub Нити() А=МздВох("Из расплава можно вытянуть нити?", 36, "Второй вопрос") If А=6 Then Запах О Else ListBoxl.Items.Add("2.Шерсть") End Siib 5. Создать общую процедуру Запах (), которая позволяет распознать 4-е и 5-е волокна: Sub Запах О A=MsgBox("При горении ощущается запах?", 36, "Третий вопрос") If А=б Then ListBoxl.Items.Add("4.Капрон") Else ListBoxl.Items.Add("5.Лавсан") End Sub Компьютерный эксперимент (см. рис. 1.37). Работа с моделью позволит более эффективно спланировать и провести распознавание волокон в процессе выполнения лабораторной работы по химии. 6. Запустить проект и проводить химические опыты в соответствии с задаваемыми вопросами. Выполнить процедуру распознавания для каждого волокна. Рис. 1.37. Проект «Распознавание волокон» на языке Visual Basic Проект хранится в папке ..\IIKT11Prof\VB2005\Pacno3HaBaHHe Windows-CD волокон Построение н исследование информационных моделей 83 Вопросы для размышления 1. Может ли процесс распознавания химических волокон проводиться в произвольном порядке? 1.7.3. Модель распознавания химических волокон на языке Turbo Delphi Реализуем модель распознавания волокон с использованием языка Turbo Delphi. В проекте пользователю задается серия вопросов, анализируются ответы и сравниваются с имеющимися фактами. При этом производится логический вывод и формируется ответ на интересующий пользователя вопрос, т. е. определяется название волокна. Результаты распознавания (названия волокон) будем помещать в управляющий элемент ListBox (список), который удобен для ввода элементов списка с помощью метода Items.Add(). Яш ъ Проект «Распознавание волокон» на языке Turbo Delphi 1. Поместить на форму (рис. 1.38) кнопку Buttonl и список Lis tBoxl. Первую развилку (условие Горит быстро) реализуем в форме событийной процедуры, а остальные — в форме общих процедур: • для идентификации волокон первой группы (1-го и 3-го) создадим процедуру Rastvor (условие Растворяется в ацетоне)-, • для идентификации волокон второй группы сначала необходимо создать процедуру Niti (условие Из расплава можно вытянуть нити)-, • для идентификации 4-го и 5-го волокон надо создать процедуру Zapax (условие При горении ощущается запах). 2. Определить переменные и процедуры. Создать событийную процедуру TForml .ButtonlClick О , которая содержит вызовы общих процедур Rastvor и Niti: 84 Глава 1 var А: integer; Forml: TForml; procedure Rastvor; procedure N i t i; procedure Zapax; procedure TForml.ButtonlClick(Sender: TObject); begin A:=MessageDlg('Горит быстро?', MtConfirmation, [mbYes,mbNo],0); if A=idYes then Rastvor else Niti; end; 3. Создать общую процедуру Rastvor, которая позволяет распознать 1-е и 3-е волокна: procedure Rastvor; begin А:=MessageDlg('Растворяется в ацетоне?', MtConfirmation, [mbYes,mbNo],0); If A=idYes Then Forml.ListBoxl.Items.Add('3.Ацетатное волокно') Else Forml.ListBoxl.Items.Add('1.Хлопок'); end; 4. Создать общую процедуру Niti, которая позволяет распознать 2-е волокно и содержит вызов общей процедуры Zapax: procedure Niti; begin A:-MessageDlg('Из расплава можно вытянуть нити?', MtConfirmation, [mbYes,mbNo],0); If A=idYes Then Zapax Else Forml.ListBoxl.Items.Add('2.Шерсть') ; end; 5. Создать общую процедуру Zapax, которая позволяет распознать 4-е и 5-е волокна: procedure Zapax; begin A:=MessageDlg('При горении ощущается запах?', MtConfirmation, [mbYes,mbNo],0); If A=idYes Then Forml.ListBoxl.Items.Add('4.Капрон') Else Forml.ListBoxl.Items.Add('5.Лавсан'); end; end. Построение и исследование информационных моделей 85 Компьютерный эксперимент (см. рис. 1.38). Работа с моделью позволит более эффективно спланировать и провести распознавание волокон в процессе выполнения лабораторной работы по химии. 6. Запустить проект и проводить химические опыты в соответствии с задаваемыми вопросами. Проделать процедуру распознавания для каждого волокна. Рск (юзнв1мние во покоя Рис. 1.38. Проект «Распознавание волокон» на языке Turbo Delphi Проект хранится в папке ..\IIKT11Prof\Delphi Windows-CD Вопросы для размышления 6 1. Может ли процесс распознавания химических волокон проводиться в произвольном порядке? 1.8. Модели логических устройств 1.8.1. Логические схемы полусумматора и триггера При изучении базовых логических устройств компьютера (сумматор, триггер) целесообразно использовать компьютерные модели. Такие модели позволяют визуализировать процесс преобразования логических значений входных сигналов в значения выходных сигналов. 8в Глава 1 3.3. Логические основы устройства компьютера Информатика и ИКТ-10. Профильный уровень Полусумматор. Вспомним, что при сложении двоичных чисел образуется сумма в данном разряде, при этом возможен перенос в старший разряд. Обозначим слагаемые А, В, перенос Р и сумму S. Таблица сложения одноразрядных двоичных чисел с учетом переноса в старший разряд выглядит следующим образом (табл. 1.3). Таблица 1.3. Таблица сложения с учетом переноса Слагаемые Перенос Сумма А в Р S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Из этой таблицы сразу видно, что перенос можно реализовать с помощью операции логического умножения: Р = А&В. Получим теперь формулу для вычисления суммы. Значения суммы более всего совпадают с результатом операции логического сложения (кроме случая, когда на входы подаются две единицы, а на выходе должен получиться нуль). Нужный результат достигается, если результат логического сложения умножить на инвертированный перенос. Таким образом, для определения суммы можно применить следующее логическое выражение: S = (Л V В)&(А & В). Построим таблицу истинности для данного логического выражения и убедимся в правильности нашего предположения (табл. 1.4). Построение и исследование информационных моделей 87 Таблица 1.4. Таблица истинности логической функции S = (А V В)&(А & S) А В AvS А&Б А&Б (А V Б)&(А& Б) 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 Теперь на основе полученных логических выражений можно построить из базовых логических элементов схему полусумматора. Данная схема называется полусумматором, так как реализует суммирование одноразрядных двоичных чисел А и В без учета переноса из младшего разряда. По логической формуле переноса легко определить, что для получения переноса необходимо использовать логический элемент И. Анализ логической формулы для суммы показывает, что на выходе должен стоять элемент логического умножения И, который имеет два входа. На один из входов подается результат логического сложения исходных величин А V В, т. е. на него должен подаваться сигнал с элемента логического сложения ИЛИ. На второй вход требуется подать результат инвертированного логического умножения исходных сигналов А & В, т. е. на второй вход подается сигнал с элемента НЕ, на вход которого, в свою очередь, поступает сигнал с элемента логического умножения И (рис. 1.39). Рис. 1.39. Логическая схема полусумматора 88 Глава 1 Триггер. Оперативная память компьютера, а также внутренних регистров процессора состоит из ячеек, которые технически реализуются с помощью триггеров. Триггер — это устройство, которое позволяет записывать, хранить и считывать информацию (каждый триггер может хранить 1 бит информации). Триггер можно построить из двух логических элементов ИЛИ и двух элементов НЕ (рис. 1.40). Рис. 1.40. Логическая схема триггера В обычном состоянии на входы триггера подан сигнал 0, и триггер хранит 0. Для записи 1 на вход S (установочный) подается сигнал 1. Последовательно рассмотрев прохожде-ние сигнала по схеме, увидим, что триггер переходит в это состояние и будет устойчиво находиться в нем и после того, как сигнал на входе S исчезнет. Триггер запомнил 1, т. е. с выхода триггера Q можно считать 1. Для того чтобы сбросить информацию и подготовиться к приему новой информации, подается сигнал 1 на вход R (сброс), после чего триггер возвратится к исходному «нулевому» состоянию. Вопросы для^ртзмышления 1. Можно ли логический элемент представить в виде таблицы истинности логического выражения? Построение и исследование информационных моделей 89 1.8.2. Модели логических устройств комльютера на языке Visual Basic в языке программирования Visual Basic основные логические операции могут быть реализованы с помощью логических операторов: • And (логическое умножение); • Or (логическое сложение); • Not (логическое отрицание); • Хог (исключающее Or, которое принимает логическое значение True, тогда и только тогда, когда лишь один из аргументов имеет значение True); • Eqv (операция эквивалентности, которая принимает логическое значение True, когда оба аргумента имеют значения True или оба — False). Логические операторы могут оперировать с логическими аргументами True (логическая единица) и False (логический нуль), а также с логическими переменными типа Boolean. Построим компьютерную модель полусумматора с использованием языка программирования Visual Basic. Проект «Полусумматор» на языке Visual Basic 1. Поместитьнаформу (рис. 1.41): • кнопку Buttonl для запуска обработчика события; • четыре надписи для изображения базовых логических элементов; • два текстовых поля TextBoxA и TextBoxB для ввода логических значений на входе полусумматора; • четыре надписи для вывода промежуточных логических значений LabelOr и LabelNot, а также итоговых значений суммы Labels и переноса LabelP. 2. Создать обработчик события, реализующий опрюделе-ние логических значений на выходе каждого базового логического элемента и их вывод на надписи: 01ш А, В, Р, S As Boolean Sub cmdl_Click() A=txtA.Text B=txtB.Text 90 Глава 1 Р=А And В S=(A Or В) And Not (A And B) LabelP.Text=P LabelNot.Text=Not P LabelOr.Text=A Or В Labels.Text=S End Sub 3. Запустить проект, ввести в текстовые поля логические значения аргументов и щелкнуть по кнопке Перенос и сумма. На надписи будут выведены логические значения на выходах логических элементов. Рис. 1.41. Проект «Полусумматор» на языке Visual Basic Проект хранится в папке ..\IIKT 11 ProAVB2005\nonycyMMaTop Windows-CD Проект «Триггер» на языке Visual Basic 1. Поместить на форму (рис. 1.42): • два текстовых поля TextBoxSet и TextBoxReset для ввода начальных логических значений на входах триггера; • две надписи LabelOrl и Label0r2 для вывода промежуточных логических значений; • две надписи LabelQ2 и LabelQl для вывода состояний выходов триггера; Построение и исследование информационных моделей 91 • четыре надписи для обозначения составляющих триггер логических элементов; • четыре надписи для обозначения входов и выходов триггера; • кнопку Buttonl для запуска событийной процедуры установки значения триггера; • кнопку Button2 для запуска событийной процедуры сброса значения триггера. 2. Определить логические переменные: Dim S, R, Orl, Ог2, Notl, Not2 As Boolean 3. Создать событийную процедуру установки значения триггера: Private Sub Buttonl_Click (...) S=TextBoxSet.Text R=TextBoxReset.Text Orl=S Or Not2 Notl=Not Orl 0r2=Notl Or R Not2=Not 0r2 LabelOrl.Text=Orl Label0r2.Text=0r2 LabelQ2.Text=Notl LabelQl.Text=Not2 End Svib 4. Создать обработчик события сброса значения триггера: Private Sub Button2_Click (...) S=TextBoxSet.Text R=TextBoxReset.Text Orl=S Or Not2 Notl=Not Orl 0r2=Notl Or R Not2=Not 0r2 LabelOrl.Text=Orl Label0r2.Text=0r2 LabelQ2.Text=Notl LabelQl.Text=Not2 End Sub 5. Запустить проект. Установить триггер — ввести в поле TextBoxSet значение True, проследить за установкой значений на элементах триггера. Сбросить триггер — ввести в поле TextBoxReset значение True. 92 Глава 1 Рис. 1.42. Проект «Триггер» на языке Visual Basic Проект хранится в папке ..\IIKT11 Prof\VB2005\Trigger Windows-CD Вопросы о змышления 1. Какие логические функции существуют в языке программирования Visual Basic? 1.8.3. Модели логических устройств компьютера на языке Turbo Delphi в языке программирования Turbo Delphi основные логические операции могут быть реализованы с помощью логических операторов: • And (логическое умножение); • Or (логическое сложение); • Not (логическое отрицание); • Хог (исключающее Or, которое принимает логическое значение True, тогда и только тогда, когда лишь один из аргументов имеет значение True); Логические операторы могут оперировать с логическими аргументами True (логическая единица) и False (логический нуль), а также с логическими переменными типа Boolean. Построим компьютерную модель полусумматора с использованием языка программирования Delphi. Построение н исследование информационных моделей 93 Проект «Полусумматор» на языке Turbo Delphi 1. Поместить на форму (рис. 1.43): • кнопку Buttonl для запуска событийной процедуры; • четыре надписи Label 1, Label2, Label3 и Label4 для изображения базовых логических элементов; • два текстовых поля EditA и EditB для ввода логических значений на входе полусумматора; • четыре надписи для вывода промежуточных логических значений LabelOr и LabelNot, а также итоговых значений суммы Labels и переноса LabelP. 2. Создать событийную процедуру, реализующую: • ввод значений на входе и преобразование их из строкового типа в логический с использованием функции StrToBool(); • определение логических значений на выходе каждого базового логического элемента; • вывод полученных логических значений на надписи с использованием функции преобразования логического типа данных в строковый BoolToStr (): var А: Boolean; В: Boolean; Р: Boolean; S: Boolean; procedure TForml.ButtonlClick(Sender: TObject); begin A:=StrToBool(EditA.Text); B:=StrToBool(EditB.Text); P:=(A And B) ; S:=(A Or B) And (Not (A And B)); LabelP.Caption:=BoolToStr(P,True); LabelNo.Caption:=BoolToStr(Not(P),True); LabelOr.Caption:=BoolToStr((A Or B),True); Labels.Caption:=BoolToStr(S,True); end; end. 3. Запустить проект, ввести логические значения аргументов и щелкнуть по кнопке Сумма и перенос. На надписи будут выведены логические значения на выходах логических элементов. 94 Глава 1 Рис. 1.43. Проект «Полусумматор» на языке Turbo Delphi Проект хранится в папке ..\IIKT11Prof\Delphi\Summ Windows-CD Проект «Триггер» на языке Turbo Delphi 1. Поместить на форму (рис. 1.44) шесть текстовых полей; • EditSet и EditReset — для ввода начальных логических значений на входах триггера; • EditorlOut и Edit0r20ut — для визуального контроля промежуточных логических значений; • EditQ2 и EditQl — для вывода состояния выходов триггера. 2. Поместить на форму надписи: • четыре для обозначения составляюгцих триггер логических элементов; • четыре для обозначения входов и выходов триггера. 3. Определить логические переменные: var S: boolean; R: boolean; OrlOut: boolean; NotlOut: boolean; 0r20ut: boolean; Not20ut: boolean; Построение и исследование информационных моделей 95 4. Поместить на форму кнопку Buttonl и создать для нее событийную процедуру установки значения триггера: procedure TForml.ButtonlClick(Sender: TObject); begin S:=StrToBool(EditSet.Text); R:=StrToBool(EditReset.Text); OrlOut:=S Or Not20ut; NotlOut:=Not OrlOut; 0r20ut:=NotlOut Or R; Not20ut:=Not 0r20ut; EditOrlOut.Text:=BoolToStr(OrlOut,True) ; Edit0r20ut.Text:=BoolToStr(0r20ut, True); EditQ2.Text:=BoolToStr(NotlOut,True); EditQl.Text:=BoolToStr(Not20ut, True); end; 5. Запустить проект. Установить триггер, ввести в поле EditSet значение 1, а в поле EditReset — значение 0. Щелкнуть по кнопке Set/Reset. Проследить за установкой значений на элементах триггера. Сбросить триггер. Проект хранится в папке ..\IIKT11 Prof\Delphi\Trigger Windows-CD Вопросы для размышления О 1. Какие логические функции существуют в языке программирования Turbo Delphi? 96 Глава 1 1.8.4. Модели логических устройств компьютера в электронных таблицах в электронных таблицах имеются логические функции, реализующие базовые логические операции. Аргументами и значениями логических функций являются логические значения ИСТИНА и ЛОЖЬ. Логическое значение может быть получено как результат определения значения логического выражения. Например, для логического выражения 10>5 результатом будет логическое значение ИСТИНА, а для логического выражения А1<А2 (где в ячейке А1 хранится число 10, а в ячейке А2 — число 5) — значение ЛОЖЬ. Логическая функция И имеет в качестве аргументов логические значения, которые могут быть истинными или ложными, и задается формулой =Щлог_знач1: лог_знач2;...). Принимает значение ИСТИНА тогда и только тогда, когда все аргументы имеют значение ИСТИНА. Например, значение функции =И(10>5;10<5) - ЛОЖЬ. Логическая функция ИЛИ имеет в качестве аргументов логические значения и задается формулой =ИЛИ(лог_зкач1; лог_знач2; ...). Принимает значение ИСТИНА тогда и только тогда, когда хотя бы один из аргументов имеет значение ИСТИНА. Например, значение функции =ИЛИ(10>5;10<5) — ИСТИНА. Логическая функция НЕ меняет на противоположное значение своего аргумента и задается формулой =НЕ{лог_знач). Принимает значение ИСТИНА, если аргумент имеет значение ЛОЖЬ, и наоборот. Например, значение функции =НЕ(10>5) — ЛОЖЬ. □ Таблицы истинности базовых логических операций Получим таблицу истинности операции логического умножения, значением которой в трех случаях является ЛОЖЬ и только в одном — ИСТИНА. Построение и исследование информационных моделей 97 1. Впарыячеек(А2,В2),(АЗ, ВЗ),(А4, В4)(А5, В5)ввести пары значений аргументов логической операции (ЛОЖЬ, ЛОЖЬ), (ИСТИНА, ЛОЖЬ), (ЛОЖЬ, ИСТИНА) и (ИСТИНА, ИСТИНА). 2. В ячейку С2 ввести формулу логической функции И: =И(А2;В2) 3. Скопировать формулу в ячейки СЗ, С4 и С5. Получим таблицу истинности операции логического сложения, значением которой в одном случае является ЛОЖЬ, в трех других — ИСТИНА. 4. В пары ячеек (Е2, F2), (ЕЗ, F3), (Е4, F4) (Е5, F5) ввести пары значений аргументов логической операции (ЛОЖЬ, ЛОЖЬ), (ИСТИНА, ЛОЖЬ), (ЛОЖЬ, ИСТИНА) и (ИСТИНА, ИСТИНА). 5. В ячейку G2 ввести формулу логической функции ИЛИ: =ИЛИ(E2;F2). 6. Скопировать формулу в ячейки G3, G4 и G5. Получим таблицу истинности операции логического отрицания, значением которой в одном случае является ИСТИНА, а в другом — ЛОЖЬ. 7. В ячейку 12 ввести значение аргумента логической операции ЛОЖЬ, а ячейку 13 — ИСТИНА. 8. В ячейку J2 ввести формулу логической функции НЕ: =НЕ(12). 9. Скопировать формулу в ячейку J3. Получим таблицу, показанную на рис. 1.45. Щ ' А ' В -------------С— 1 Логическое функция "И" г ЛОЖЬ ЛОЖЬ ЛОЖЬ 3 истина] ложь ложь < ложь ИСТИНА ложь 5 ИСТИНА ИСТИНА ИСТИНА Е ! Логическая функция -ИЛИ" ] ЛОЖЬ ложь ложь ИСТИНА ложь ИСТИНА • ложь ИСТИНА ИСТИНА ИСТИНА ИСТИНА ИСТИНА I Логическая функция "Н£" ЛОЖЬ ИСТИНА ИСТИНА , ложь Рис. 1.45. Таблицы истинности базовых логических операций Таблицы истинности хранятся в папке ..\IIKT11Prof в файле Model.xls на листе Логические функции Windows-CD 98 Глава 1 Проект «Полусумматор» в электронных таблицах Microsoft Excel 2003 1. На листе Полусумматор предусмотреть ввод логических значений аргументов в ячейки В1 и В2. В ячейку ВЗ ввести формулу =И(В1;В2). В ячейку В4 ввести формулу =НЕ(ВЗ). В ячейку В5 ввести формулу =ИЛИ(В1;В2). В ячейку В6 ввести формулу =И(В5;В4). A В , ,i - A= ЛОЖЬ ’,L B=i ИСТИНА ^ 3 ^ 1=И(В1;В2) 4 Not P = РНЕ(ВЗ) 5 6r = =ИЛИ(В1^В2^ 6 S= =И(В5;В4) Рис. 1.46. Формулы для модели полусумматора 2. Для создания графического интерфейса проекта запустить систему объектно-ориентированного программирования Visual Basic командой [Сервис-Макрос-Редактор Visual Sasic]. 3. В окне системы программирования добавить форму командой [Insert-U serForm^, 4. Поместить на форму (рис. 1.47): • кнопку CommandButtonl для запуска событийной процедуры; • четыре надписи для отображения базовых логических элементов; • два текстовых поля TextBoxA и TextBoxB для ввода логических значений на входе полусумматора; • четыре надписи для вывода промежуточных логических значений, а также итоговых значений суммы и переноса. 5. Создать событийную процедуру: Private Sub CornmandButtonl_Click О Cells(1, 2)=TextBoxA.Text Cells(2, 2)=TextBoxB.Text Labell.Caption=Cells(3, 2) Labels.Caption=Cells(4, 2) Label2.Caption=Cells(5, 2) Label4.Caption=Cells(6, 2) End Sub Построение я исследование информационных моделей 99 6. Запустить проект, ввести значения аргументов и щелкнуть по кнопке Перенос и сумма. 11о»п/сумм<ио() ШГ М [paisc I Тше И I False НЕ True ИЛИ И True True Рис. 1.47. Модель полусумматора в электронных таблицах Проект хранится в папке ..\IIKT11Prof в файле Model1.xls на листе Полусумматор Windows-CD 11^“ Вопросы для {размышления 1. Какие логические функции существуют в электронных таблицах? 1.9. Информационные модели управления объектами 1.9.1. Информационные модели систем управления в процессе функционирования сложных систем (биологических, технических и т. д.) важную роль играют информационные процессы управления. Для поддержания своей жизнедеятельности любой живой организм постоянно получает информацию из внешнего мира с помощью органов чувств, обрабатывает ее и управляет своим поведением (например, перемещаясь в пространстве, избегает опасности). В процессе управления полетом самолета в режиме автопилота бортовой компьютер получает информацию от датчиков (скорости, высоты ИТ. д.), обрабатывает ее и передает 100 Глава 1 команды на исполнительные механизмы, изменяющие режим полета (закрылки, клапаны, регулирующие работу двигателей, и т. д.). В любом процессе управления всегда происходит взаимодействие двух объектов — управляющего и управляемого, которые соединены каналами управления и обратной связи. По каналу управления передаются управляющие сигналы, а по каналу обратной связи — информация о состоянии управляемого объекта. Системы управления без обратной связи (разомк-нутые). В системах управления без обратной связи не учитывается состояние управляемого объекта и обеспечивается управление только по прямому каналу (от управляющего объекта к управляемому объекту). Информационную модель системы управления без обратной связи можно наглядно представить с помощью схемы на рис. 1.48. Управляющий канал управления Управляемый объект объект Рис. 1.48. Система управления без обратной связи В качестве примера системы управления без обратной связи можно рассмотреть запуск неуправляемых ракет. Неуправляемая ракета поразит цель только в том случае, когда она запущена точно в мишень. Системы управления с обратной связью (замкнутые). В системах управления с обратной связью управляющий объект по прямому каналу управления производит необходимые действия над объектом управления, а по каналу обратной связи получает информацию о реальных параметрах объекта управления. Это позволяет осуществлять управление с гораздо большей точностью. Информационную модель системы управления с обратной связью можно наглядно представить с помощью схемы на рис. 1.49. Рис. 1.49. Система управления с обратной связью Построение и исследование информационных моделей 101 Примером использования системы управления с обратной связью являются управляемые ракеты. Оператор получает координаты цели и ракеты и может по каналу управления скорректировать направление полета ракеты так, чтобы она поразила мишень. Системы с автоматическим управлением и автоматической обратной связью. В системах с автоматическим управлением и с автоматической обратной связью управляющий объект (компьютер) по каналу обратной связи получает информацию о реальных параметрах объекта управления и по прямому каналу управления производит необходимые действия над ним. Это позволяет осуществлять управление с гораздо большей точностью. Информационную модель системы с автоматическим управлением и автоматической обратной связью можно наглядно представить с помощью схемы на рис. 1.50. Рис. 1.50. Система управления с автоматическим управлением и автоматической обратной связью Примером использования системы с автоматическим управлением и автоматической обратной связью являются самонаводящиеся ракеты. Оператор получает координаты цели и запускает ракету. Далее ракетой управляет компьютер, находящийся на земле или на самой ракете. Он может в реальном времени скорректировать направление полета ракеты так, чтобы она поразила мишень. Вопросы для ]размышления 1. Приведите примеры систем управления без обратной связи и с обратной связью. 2. В чем состоит различие между системами управления без обратной связи и системами управления с обратной связью? 102 Глава 1 1.9.2. Модели систем управления на языке Visual Basic Системы управления без обратной связи. Для демонстрации принципа работы систем управления без обратной связи разработаем компьютерную модель на языке программирования Visual Basic. Пусть управляемым объектом будет точка (закрашенный кружок), которую управляющий объект (пользователь) должен переместить в центр мишени (круга). Прямое управление положением точки будем производить путем нажатия кнопок, которые перемещают объект вверх, вниз, влево и вправо. Обратная связь будет отсутствовать, так как текущее положение управляемого объекта (точки) будет невидимым (точка рисоваться не будет). Проект «Управление без обратной связи» на языке Visual Basic 1. Поместить на форму (рис. 1.51): • графическое поле PictureBoxl, по которому будет перемещаться точка (закрашенный кружок); • кнопку Buttonl для запуска обработчика события вывода первоначального положения точки и круга; • кнопку Button2 для запуска обработчика события вывода конечного положения точки; • четыре кнопки Buttons, Button4, Buttons и Button6 для управления движением точки. 2. Создать обработчик события вывода первоначального положения управляемого объекта (точки). Обработчик должен включать случайную генерацию координат точки: Dim Graphl As Graphics Dim Penl As New Pen (Color .Black, 3) Dim Pen2 As New Pen (Color. Red, 3) Dim Brushl As New SolidBrush(Color.Black) Dim X, Y As Integer Private Sub Buttonl_Click (...) Graphl=Me.PictureBoxl.CreateGraphics() Graphl.Clear(Color.White) Randomize() X=Int (RndO *200) Y=Int (RndO *200) Построение и иссле^ювание информационных моделей 103 Graphl.DrawEllipse(Penl, X, Y, 2, 2) Graphl.FillEllipse(Brushl, X, Y, 2, 2) Graphl.DrawEllipse(Penl, 90, 90, 20, 20) End Sub 3. Четыре обр^^ботчика события перемещения точки должны обеспечивать изменение координат точки. Обработчик события перемещения вправо примет вид: Private Sub Button4_Click (...) Х=Х+1 End Sub 4. Создать обработчик события, выводящий конечное положение управляемого объекта (точки): Private Sub Button2_Clic)c () Graphl.DrawEllipse(Penl, X, Y, 2, 2) Graphl.FillEllipse(Brushl, X, Y, 2, 2) End Sub 5. Щелкнзггь йо кнопке Управляемый объект и мишень. В иентре графического поля появится окружность (мишень) и точка со случайными координатами (управляемый объект). Переместить управляемый объект (точку) в центр мишени щелчками по кнопкам со стрелками. Щелкнуть по кнопке Результат. Скорее всего, управляемый объект (точка) не по- Рис. 1.51. Проект «Управление без обратной связи» на языке Visual Basic падет в центр мишени (см. рис. 1.51). Проект хранится в папке ..\11КТЦРго1\УВ2005\Управление без обратной связи Windows-CD Системы управления с обратной связью. Для демонстрации принципа работы систем управления с обратной связью разработаем компьютерную модель. Для осуществления обратной связи сделаем текущие положения управляемого объекта (точки) видимыми (точку будем рисовать красным цветом), а также будем выводить текущие значения координат точки (центра закрашенного кружка) в текстовые поля. 104 Глава 1 Проект «Управление с обратной связью» на языке Visual Basic Усовершенствуем проект «Управление без обратной связи». 1. Поместить на форму дополнительно две надписи Labe 11 и Label2 для вывода текущих координат точки (рис, 1.52). 2. В программный код обработчиков событий перемещения точки добавить строки рисования точки и вывода на надписи ее текущих координат. Обработчик события перемещения точки влево примет вид: Private Svib Button3_Click (...) Х=Х-1 Graphl.DrawEllipse(Реп2, X, Y, 2, 2) Graphl.FillEllipse(Brushl, X, Y, 2, 2) Labell.Text=X Label2.Text=Y End StJb 3. Запустить проект и осуществить попадгшие управляемого объекта (точки) в мишень. Легко убедиться, что использование обратной связи обеспечивает гарантированное попадание управляемого объекта (точки) в мишень (см. рис. 1.52). Рис. 1.52. Проект «Управление с обратной связью» на языке Visual Basic Проект хранится в папке ..\11КТ11Рто1\УВ2005\Управление Windows-CO с обратной связью Построение и исследование информационных моделей 105 Проект «Автоматическое управление с автоматической обратной связью» на языке Visual Basic За основу возьмем проект «Управление с обратной связью». 1. Убрать из графического интерфейса (рис.Н.бЗ): четыре кнопки Buttons, Button^, Buttons и Button6 для управления движением точки и кнопку Buttons, выводящую результат. 2. Поместить на графический интерфейс кнопку Buttons для создания автоматической обратной связи. 3. Для осуществления автоматической обратной связи использовать корректировку координат с использованием инструкции выбора Select Case. Мишень-круг имеет координаты центра (100, 100). Тогда обработчик события корректировки положения точки примет вид: Private Sub ButtonS_Click_l (...) XS=100 YS=100 'Автоматическая корректировка координаты X Select Case XS-Xl Case Is >0 X1=X1+1 Case Is <0 X1=X1-1 Case Is =0 X1=X1 End Select 'Автоматическая корректировка координаты Y Select Case Y2-Y1 Case Is >0 Y1=Y1+1 Case Is <0 Y1=Y1-1 Case Is =0 Y1=Y1 End Select Labell.Text=Xl Labels.Text=Yl Graphl.DrawEllipse(Pens, XI, Yl, S, S) Graphl.FillEllipse(Brushl, XI, Yl, S, S) End Sub 106 Глава 1 4. Запустить проект и нажатием кнопки Шаг осуществить попадание точки в мишень — окружность, имеющую координаты центра (100,100) (см. рис. 1.53). itf Управлеяме с аятоматичеосой обратаой семью ^ Рис. 1.53. Модель системы управления с автоматической обратной связью Проект хранится в папке ..\IIKT11 РгоАУВ2005\Управление с автоматической обратной связью Windows-CD Вопросы для(:|»азмышления 1. в чем состоит различие между системами управления с обратной связью и системами автоматического управления с автоматической обратной связью? 1.9.3. Модели систем управления на языке Turbo Delphi Системы управления без обратной связи. Для демонстрации принципа работы систем управления без обратной связи разработаем компьютерную модель на языке программирования Turbo Delphi. Пусть управляемым объектом будет точка, которую управляющий объект (пользователь) должен переместить в центр мишени (круга). Прямое управление положением точки будем производить путем нажатия кнопок, которые перемещают объект (точку) вверх, вниз, влево и вправо. Обратная связь будет отсутствовать, так как текущее положение управляемого объекта (точки) будет невидимым (точка рисоваться не будет). Построение и исследование информационных моделей 107 ъ Проект «Управление без обратной связи» на языке Turbo Delphi 1. Поместитьнаформу (рис. 1.54): • графическое поле Image 1, по которому будет перемещаться точка (закрашенный кружок); • кнопку Button 1 для вывода первоначального положения управляемого объекта (точки) и мишени (круга); • четыре кнопки ButtonUp, ButtonD, ButtonL и ButtonR для управления движением точки; • кнопку Button2 для вывода конечного положения управляемого объекта (точки). 2. Событийная процедура вывода первоначального положения управляемого объекта (точки) должна обеспечивать случайную генерацию координат центра закрашенного кружка (точки), выбор цвета и типа закрашивания, рисовать мишень в центре графического поля, а также стирать предыдущий вариант: var XI: integer; Yl: integer; procedure TForml.ButtonlClick(Sender: TObject); begin //Стирание Imagel.Canvas.Brush.Color:=clWhite; Image1.Canvas.Rectangle(0,0,200,200); Imagel.Canvas.FillRect(Rect(0,0,200,200)) ; Randomize; XI :=Random(200) ; Yl:=Random(200); Forml.Imagel.Canvas.Brush.Color:=clRed; Forml.Imagel.Canvas.Brush.Style:=bsSolid; Forml.Imagel.Canvas.Ellipse(Xl-3, Yl-3,XU-3, Yl+3) ; Forml. Imagel. Canvas. Brush. Color: =clBlac)c; Forml.Imagel.Canvas.Brush.Style:=bsClear; Forml.Imagel.Canvas.Ellipse(80,80,120,120); end; 3. Четыре событийные процедуры перемещения точки должны обеспечивать изменение ее координат: 108 Глава 1 procedure TForml.ButtonLClick(Sender: TObject); begin X1:=X1-1; end; procedure TForml.ButtonRClick(Sender: TObject); begin X1:=X1+1; end; procedure TForml.ButtonUpClick(Sender: TObject); begin Y1:=Y1-1; end; procedure TForml.ButtonDClick(Sender: TObject); begin Y1:=Y1+1; end; 4. Событийная процедура вывода конечного положения управляемого объекта (точки): procedure TForml.Button2Click(Sender: TObject); begin Forml.Image1.Canvas.Brush.Color:=clBlack; Forml.Imagel.Canvas.Brush.Style:=bsSolid; Forml.Imagel.Canvas.Ellipse(Xl-3, Yl-3,Xl+3, Yl+3); end; 5. Щелкнуть no кнопке Управляемый объект и мишень. Переместить управляемый объект (точку) в центр мишени щелчками по кнопкам со стрелками. Щелкнуть по кнопке Результат. Скорее всего, управляемый объект (точка) не попадет в центр мишени (см. рис. 1.54). ynpaomiiw беэ обрати^ СК8И ,v Рис. 1.54. Проект «Управление без обратной связи» на языке Тurbo Delphi Построение и исследование информационных моделей 109 Проект хранится в папке „\IIKT11 Prof\Delphi\Upr1 Windows-CD Системы управления с обратной связью. Для демонстрации принципа работы систем управления с обратной связью разработаем компьютерную модель. Для осуществления обратной связи сделаем текущие положения управляемого объекта (точки) видимыми (точку будем рисовать красным цветом), а также будем выводить текущие значения координат точки (центра закрашенного кружка) в текстовые поля. ШШ 9 Проект «Управление с обратной связью» на язьпсе Turbo Delphi Усовершенствуем проект «Управление без обратной связи». 1. Поместить на форму дополнительно две надписи LabeIX и LabelY для вывода текущих координат точки (рис. 1.55). 2. Четыре событийные процедуры перемещения точки должны обеспечивать изменение координат точки, а также рисовать ее текущие положения. Событийная процедура перемещения влево примет вид; procedure TForml.ButtonLClick(Sender: TObject); begin XI:=X1-1; Forml.Imagel.Canvas.Pen.Color:=clRed; Forml.Imagel.Canvas.Brush.Color:=clRed; Forml.Imagel.Canvas.Brush.Style:=bsSolid; Forml.Imagel.Canvas.Ellipse(Xl-3,Yl-3,Xl+3,Yl+3); LabelX.Caption:=IntToStr (XI); LabelY.Caption:=IntToStr(Yl); end; 3. Запустить проект и осуществить попадание точки в мишень (круг, имеющий центр с координатами (100, 100), размещенный в графическом поле с размерами (200, 200)). Легко убедиться, что использование обратной связи обеспечивает гарантированное попадание точки в мишень (см. рис. 1.55). 110 Глава 1 9 Рис. 1.55. Проект «Управление с обратной связью» на языке Turbo Delphi Проект хранится в папке ..\IIKT11 ProftDelphi\Upr2 Windows-CD В Проект «Автоматическое управление с автоматической обратной связью» на языке Turbo Delphi 1. Поместим на форму (рис. 1.56): • две кнопки: Buttonl — для запуска графического ин- терфейса проекта и Button2 — для запуска автоматической обратной связи; ' • две надписи Labell и Label2 для вывода текущих координат управляемого объекта (точки); • графическое поле Imagel, по которому будет перемещаться точка (закрашенный кружок). 2. Событийная процедура вывода первоначального положения управляемого объекта (точки) должна обеспечивать случайную генерацию координат точки (центра закрашенного кружка), выбор цвета и типа закрашивания, рисовать мишень (круг с координатами центра (100, 100)) в центре графического поля, а также стирать предыдущий вариант: procedure TForml.ButtonlClick(Sender: TObject); begin //Стирание Imagel.Canvas.Brush.Color:=clWhite; Imagel.Canvas.Rectangle(0,0,200,200); Imagel.Canvas.FillRect(Rect(0,0,200,200)) ; Randomize; Построение и исследование информационных моделей 111 XI:=Random(200) ; Y1:=Random(200); Forml.Imagel.Canvas.Brush.Color:=clRed; Forml.Imagel.Canvas.Brush.Style:=bsSolid; Forml.Imagel.Canvas.Ellipse(Xl-3,Yl-3,Xl+3,Yl+3); Forml.Imagel.Canvas.Brush.Style:=bsClear; Forml.Imagel.Canvas.Ellipse(80,80,120,120); end; 3. Для осуществления автоматической обратной связи использовать корректировку координат с использованием инструкции выбора If-Then-Else. Событийная процедура корректировки положения точки примет вид: procedure TForml.Button2Click(Sender: TObject); begin X2:=100; Y2:=100; //Автоматическая корректировка координаты X If X2-X1>0 Then X1:=X1+1 Else X1:=X1-1; //Автоматическая корректировка координаты Y If Y2-Y1>0 Then Y1:=Y1+1 Else Y1;=Y1-1; Labell.Caption:=IntToStr(XI); Label2.Caption:=IntToStr(Y1); Forml.Imagel.Canvas.Brush.Color:=clRed; Forml.Imagel.Canvas.Pen.Color:=clRed; Forml.Imagel.Canvas.Brush.Style:=bsSolid; Forml.Imagel.Canvas.Ellipse(Xl-3,Yl-3,Xl+3,Yl+3); end; end. 4. Запустить проект и нажатием кнопки Шаг осуществить попадание точки в мишень — окружность, имеющую координаты центра (100,100) (см. рис. 1.56). I Управление с звтомзтимесхой обратной свяшо Рис. 1.56. Модель системы управления с автоматической обратной связью на языке Turbo Delphi 112 Глава 1 Проект хранится в папке ..\IIKT11 Prof\Delphi\Upr3 Windows-CD С^° Вопросы дл%размышления 1. в чем состоит различие между системами управления с обратной связью и без обратной связи? 1.10. Графы и их исследование с использованием языков объектно-ориентированного программирования Visual Basic и Turbo Delphi 1.10.1. Введение в теорию графов При проектировании компьютерных сетей, телефонных линий, трубопроводов и строительстве дорог необходимо минимизировать затраты на прокладку коммуникаций. Прежде всего, целесообразно выбрать минимальный по длине маршрут прокладки коммуникаций. Например, необходимо соединить телефонным иЛи компьютерным кабелем шесть зданий, расстояния между которыми различны (рис. 1.57). Возникает задача определения маршрута прокладки кабеля минимальной длины, но при этом подходящего к каждому зданию. Для решения тгпсих задач часто используют теорию графов. Построение и исследование информационных моделей 113 Основные ПОНЯТИЯ теории графов. Граф G задается с помощью пары множеств G = {V, R), где V — множество (совокупность) вершин, R — множество ребер, соединяющих пары вершин. Множество ребер может быть пустым, если ни одна из вершин не соединена с другими вершинами. Обычно граф представляют с помощью схемы, на которой некоторые вершины соединены линиями (ребрами) (рис. 1.58). Рис. 1.58. Граф G в форме схемы Вершинами могут служить объекты любой природы: будь то населенные пзшкты, компьютеры сети, элементы блок-схем алгоритмов и т. д. Под ребрами могут подразумеваться дороги между двумя соседними городами, стороны геометрических фигур, линии связи между компьютерами. Любую систему улиц в городе можно представить в виде графа. Здесь вершины — это перекрестки. Вершины называются смежными, если их соединяет ребро. Например, на рис. 1.58 смежны вершины Vi и V2, так как их соединяет ребро R12. Множества Vi/iR являются конечными — мы можем перечислить все вершины и ребра графа. Количество вершин и количество ребер графа определяют мощности множеств Г и Л. Так, количество вершин графа G равно 5, а количество ребер равно 8. Ребро и любая из его двух вершин называются инцидентными. Под степенью вершины подразумевается количество инцидентных ей ребер. Так, степень вершины Fi равна 3, а степень вершины F5 равна 4. 114 Глава 1 Маршрут графа — это последовательность чередующихся вершин и ребер. В графах можно выделить различные маршруты. Маршрут является замкнутым (циклом), если его начальная и конечная вершины совпадают. Например, в графе G можно выделить несколько циклических маршрутов, например и VzRzzVsRzbVbRzbVz. Маршрут называется простой цепью, если все его вершины и ребра различны. Длина маршрута равна количеству ребер, входящих в него. Одна вершина достижима из другой, если между ними проложен маршрут. Граф считается связным, если каждая его вершина достижима из любой другой. Например, граф G является связным, так как между любыми двумя его вершинами можно проложить маршрут. Например, маршрут между вершинами V\ и Vi может быть следующим: ViRizVzRzzVsRziVА’ Вершины, которые не имеют инцидентных ребер, называются изолированными вершинами. Можно также сказать, что степень таких вершин нулевая. Из всего этого следует, что изолированные вершины недостижимы из любых других вершин. Ориентированные графы. Сообразительный читатель может задать вопрос: имеет ли значение направление, ориентация ребра? Ведь в системе улиц можно найти дороги как с односторонним, так и с двусторонним движением.' Именно поэтому в теории графов вводится понятие орграфа — ориентированного графа. В орграфе каждое ребро имеет одно направление. Такие ребра называются дугами. Другими словами, ребро —- это неупорядоченная пара вершин, а дуга — упорядоченная. Очевидным является тот факт, что дуги i?i2 и Rzi не совпадают в орграфе. Для орграфа вводятся такие понятия, как входящая и исходящая степени вершины. Это соответственно число входящих в вершину дуг и число исходящих из нее дуг. Взвешенные графы. Очень часто в практических применениях желательно приписывать ребрам графа веса для того, чтобы моделировать такие величины, к£1к расстояние, время перехода или стоимость доставки между двумя точками. Взвешенный граф (сеть) — это такой граф, ребрам или дугам которого поставлены в соответствие числовые величины. Вес сети равен сумме весов ее ребер. Построение и исследование информационных моделей 115 Описание графа с помощью матрицы смежности. Для наглядного представления графа используются схемы (см. рис. 1.58), а для математических расчетов удобнее использовать представление графа в форме матрицы смежности (рис. 1.59, а). Матрицу смежности можно представить в виде таблицы, строки и столбцы которой соответствуют номерам вершин графа. Если вершины смежны, то элемент матрицы смежности равен 1, если вершины не смежны, то элемент матрицы равен 0. Диагональные элементы матрицы равны о, так как вершины сами с собой не смежны (их не соединяет ребро). Пусть в матрице смежности графа G строки нумеруются индексом п, а столбцы — индексом k, тогда элементы матрицы смежности обозначаются Для смежных вершин элементы матрицы смежности (R\2, Ru, Rib, R21, -Кгз. ^25» Rz2, R34, ^35> -^41» R43, Rib, Rbi, ^Ь2, Rb3, Rb4) рэвны 1, a ДЛЯ не смежных вершин элементы матрицы (i?is, R24, R31, R42) равны 0. Диагональные элементы матрицы (i?n, R22, R33, ^44, Rsb) равны 0. Преобразуем граф G в сеть, т. е. присвоим ребрам, соединяющим смежные вершины, числовые значения (Д12 = 50, Ri4 = 25, Rib ~ 10, i?2i = 50, R23 = 25, Д25 ~ 30, R32 ~ 25, R34 ~ 50, i?35 = 35, i?4x = 25, i?43 = 50, R45 = 15, R31 = 10, Rb2 — 30, Кбз 35, Я54 = 15). Отобразим сеть G в форме матрицы смежности (рис. 1.59, б). 1 2 3 4 5 1 0 1 0 1 1 2 1 0 1 0 1 3 0 1 0 1 1 4 1 0 1 0 1 5 1 1 1 1 0 1 2 3 4 5 1 0 50 0 25 10 2 50 0 25 0 30 3 0 25 0 50 35 4 25 0 50 0 15 5 10 30 35 15 0 Рис. 1.59. Граф и сеть G в форме матрицы смежности Подграфы и деревья. Подграфом графа G называется граф, у которого все вершины и ребра принадлежат графу G (рис. 1.60, а). 116 Глава 1 Остовной СВЯЗНЫЙ подграф — это подграф графа G, который содержит все его вершины и каждая его вершина достижима из любой другой (рис. 1.60, б). Дерево — это граф, в котором нет циклов, т. е. граф, в котором нельзя из некоторой вершины пройти по нескольким различным ребрам и вернуться в ту же вершину. Остов-ным связным деревом называется подграф, включающий все вершины исходного графа G, каждая вершина которого достижима из любой другой, и при этом не содержащий циклов (рис. 1.60, в). Рис. 1.60. а — подграф графа G, б—остовной связный подграф графа G, в — остовное связное дерево Преобразование графа в остовное связное дерево минимального веса. Пусть G = {V, R) — связный взвешенный неориентированный граф, где V — множество вершин, aR — множество ребер (см. рис. 1.58). Ребра графа не ориентированы, т. е. ребра R„h и Rk„ считаются одним и тем же ребром, поэтому в матрице смежности не учитываются дублирующие друг друга ребра. В результате граф G можно представить с помощью матрицы смежности, содержащей значения весов десяти ребер (на рис. 1.61 выделены жирным шрифтом). 1 2 3 4 5 1 0 50 0 25 10 2 50 0 25 0 30 3 0 25 0 50 35 4 25 0 50 0 15 5 10 30 35 15 0 Рис.1.61. Матрица смежности связного взвешенного неориентированного графа G Введем понятие цикломатического числа у, показывающего, сколько ребер графа нужно удалить, чтобы в нем не осталось ни одного цикла. Цикломатическое число у равно Построение и исследоваяие информационных моделей 117 увеличенной на единицу разности между количеством ребер и количеством вершин графа: у = т — п + где т — количество ребер, п — количество вершин. Например, для графа, изображенного на рис. 1.58, цикломатическое число равно: у = m- n-l-l = 8- 5-l-l = 4. Это значит, что для получения остовного связного дерева в графе G необходимо убрать четыре ребра, и тогда в нем не останется ни одного цикла. • Для каждого графа обычно существует несколько остовных связных деревьев, которые обладают различными весами. На рис. 1.60, в представлено остовное связное дерево графа G, вес которого равен 135, а на рис. 1.62 представлены три остовных связных дерева графа G, веса которых равны 130, 100, 135. V, Рис. 1.62. Остовные связные деревья графа G Для построения остовного связного дерева минимального веса используется алгоритм Крускала. 1. Первоначально из графа удаляются все ребра, получается остовной подграф, где все вершины изолированы. Каждая вершина такого графа помещается в одноэлементное подмножество. 2. Ребра сортируются по возрастанию весов. 3. Ребра последовательно, по возрастанию их весов, включаются в остовное дерево. Существуют четыре случая: а) обе вершины включаемого ребра принадлежат одноэлементным подмножествам, тогда они объединяются в новое, связное подмножество; б) одна из вершин принадлежит связному подмножеству, а другая нет, тогда включаем вторую в подмножество, которому принадлежит первая; в) обе вершины принадлежат разным связным подмножествам, тогда объединяем подмножества; г) обе вершины принадлежат одному связному подмножеству, тогда исключаем данное ребро. 118 Глава 1 4. Алгоритм заканчивает работу, когда все вершины будут объединены в одно множество, при этом оставшиеся ребра не включаются в остовное дерево. Рассмотрим реализацию этого алгоритма на примере построения остовного дерева минимального веса для графа G. № Выполняемые действия Множество вершин Граф 1 Построим остов-ной подграф, содержащий только изолированные вершины Каждая вершина исходного графа помещается в одноэлементное подмножество, получаем пять одноэлементных подмножеств: {V2}, {V3}, {V4}, {V5} • Vs V3* *V, 2 Найдем ребро минимального веса (в данном случае Ris) и добавим его в остовной подграф Образуется связное подмножество вершин: {V^. Сохраняются одноэлементные подмножества вершин: {V'2}.{V'3}.{\^4} V2# As Vs Vs* *V4 3 Среди оставшихся ребер найдем ребро минимального веса (в данном случае R^s) и добавим его в остовной подграф Так как одна вершина ребра входит в связное подмножество, добавим в него и вторую; (Vi, Vs, V4}. Сохраняются одноэлементные подмножества вершин: {'/2}.{V3} V2. mV, As VsVas Vs* ^V, 4 Среди оставшихся ребер найдем ребро минимального веса (в данном случае R23) и добавим его в остовной подграф Так как НИ одна из вершин ребра не входит в связное подмножество, создадим второе связное подмножество: {V2. V3}. Существует также первое связное подмножество: {Vi, Vs, V4}. V2# mV, As vKr4s Vs^ *V, Построение и исследование информационных моделей 119 № Выполняемые действия Множество вершин Г раф 5 Среди оставшихся ребер найдем ребро минимального веса (в данном случае R25) и добавим его в астовной подграф Так как одна вершина ребра входит в одно связное подмножество, а другая вершина — в другое связное подмножество, эти подмножества объединяются в единое связное множество: {Vb Vs, \/4, V2. V3}. ^2». mV '4^25 / ' \ As ^23 '^1 '^бАб 6 Остальные ребра включать в граф не надо, так как все их вершины уже принадлежат одному связному множеству 7 Получен граф, который: • является остовным, так как включает все вершины; • является связным, так как все вершины в нем можно соединить маршрутами; • является деревом, так как в нем отсутствуют циклы; • обладает минимальным весом, так как в него последовательно включались ребра, отсортированные по возрастанию весов 8 Полученное остовное связное дерево обладает минимальным весом: R23 + /?25 Ri5 ^5 = 25+ 30+10+15 = 80 9 Цикломатическое число графа G равноу = л7-л + 1 = 8- 5 + 1= 4, что соответствует количеству ребер, не включенных в остовное связное дерево Вопросы для размышления Ф 1. В какой форме можно представить граф? 2. В чем состоит различие между ориентированными и неориентированными графами? 3. Какие графы являются деревьями? 4. Какой граф обладает минимальным весом? 120 Глава 1 1.10.2. Изучение графов на языке Visual Basic Разработаем проект, позволяющий получать остовные связные деревья минимального веса для графов с пятью вершинами. Графы в виде схем будем рисовать в графических полях, а матрицы смежности выводить в поля списков. Проект «Построение остовного связного дерева графа» на языке Visual Basic 1. Запустить систему объектно-ориентированного программирования Visual Basic командой [Программы-Visual Basic 2005 Express Editiori\. Создадим графический интерфейс проекта. 2. Поместить на форму (рис. 1.63): • графическое поле PictureBoxl для рисования первоначального графа; • графическое поле PictureBox2 для рисования остовного связного дерева минимального веса; • кнопку Buttonl для запуска обработчика события, вывода в первое графическое поле вершин графа; • пять полей списков ListBoxl, ListBox2, ListBox3, ListBox4, ListBoxS для вывода элементов матрицы смежности связного взвешенного ориентированного графа; • кнопку Button2 для запуска обработчика события, вывода элементов матрицы смежности взвешенного ориентированного графа; • пять полей списков ListBox6, ListBox7, ListBoxS, ListBox9, ListBoxlO для вывода элементов матрицы смежности связного взвешенного неориентированного графа; • кнопку Buttons для запуска обработчика события, вывода элементов матрицы смежности взвешенного неориентированного графа; • три поля списков ListBoxll, ListBoxl2, ListBoxlS для вывода номеров вершин и весов ребер остовного связного дерева; Построение и исследование информационных моделей 121 кнопку Button4 для запуска обработчика события, вывода во второе графическое поле полученного остовного связного дерева; надпись Label 1 для вывода суммы весов остовного связного дерева минимального веса; надписи для вывода пояснительных текстов. Рис. 1.63. Графический интерфейс проекта 3. Объявить: • области рисования Graphl и Graph2; • два пера Penl и Реп2 для рисования; • шрифт drawFont и кисть drawBrush для вывода номеров вершин в графических полях; • пять объектов типа точка Р (5) для хранения координат вершин графа; • целочисленные переменные I, N, К для использования в качестве счетчиков циклов; 122 Глава 1 • целочисленную переменную А для хранения значения, возвращаемого функцией MsgBox (); • три целочисленных двумерных массива R (5, 5), R1 (5, 5), R2 (5, 5) для хранения весов ребер ориентированного графа, неориентированного графа и остов-ного связного дерева минимального веса. Dim Graphl, Graph2 As Graphics Dim Peril As New Pen (Color .Black, 1) Dim Pen2 As New Pen (Color .Black, 3) Dim drawFont As New Font("Arial", 12) Dim drawBrush As New SolidBrush(Color.Black) Dim P(5) As Point Dim A, I, N, K, R(5, 5), R1 (5, 5), R2 (5, 5) As Short Обработчик события вывода в графическое поле вершин графа. Создадим обработчик события генерации случайных координат вершин графа и их рисования в графическом поле. 4. Щелкнуть по кнопке Buttonl и в заготовку обработчика события ввести программный код: Private Sub Buttonl_Click (...) 'Определение областей рисования Graphl=Me.PictureBoxl.CreateGraphics() Graph2=Me.PictureBox2.CreateGraphics() 'Очистка областей рисования и полей списков Graphl.Clear(Color.White) Graph2.Clear(Color.White) ListBoxll.Items.Clear() ListBoxl2.Items.Clear() ListBoxl3.Items.Clear() 'Генерация случайных координат вершин графа и их рисование For 1=1 То 5 Р(1).X=Int(Rnd()*200) P(I) .Y=Int(Rnd()*200) Graphl.DrawEllipse(Pen2, P(I).X, P(I).Y, 2, 2) Graphl.Drawstring (1, drawFont, drawBrush, P(I).X, P(I).Y) Next I End Sub 5. Запустить проект и осуществить щелчок по кнопке Вершины графа, В графическое поле будут выведены вершины графа и их номера (рис. 1.64). Построение и исследование информационных моделей 123 Ilu( ipoe»w ofTOBHoro дерева г •2 *1 *3 Рис. 1.64. Вершины графа Обработчик события вывода элементов матрицы смежности взвешенного ориентированного графа. Во вложенном цикле со счетчиками N (строки матрицы смежности) и К (столбцы матрицы смежности) осуществим рисование ребер графа, вычисление весов ребер и их вывод в поля списков. В каждое поле списка будем выводить столбец матрицы смежности (рис. 1.65). 6. Щелкнуть по кнопке But ton 2 и в заготовку обработчика события ввести программный код. Private Sub Button2_Click (...) 'Очистка полей списков ListBoxl.Items.Clear () ListBox2.Items.Clear() ListBox3.Items.Clear() ListBox4.Items.Clear() ListBoxS.Items.Clear() 'Bo вложенном цикле рисование ребер графа, вычисление весов ребер и их вывод в поля списков For N=1 То 5 For К=1 То 5 Graphl.DrawLine(Penl, P(N).X, P(N).Y, P(K).X, P(K).Y) R(N,K)=Math.Sqrt( (P(N) .X-P(K) .X)''2+(P(N) .Y-P(K) .Y) ''2) Next К ListBoxl.Items.Add(R(N,1)) ListBox2.Items.Add(R(N,2)) 124 Глава 1 ListBoxS.Items.Add(R(N,3)) ListBox4.Items.Add(R(N,4)) ListBoxS.Items.Add(R(N,5)) Next N End Sub 7. Осуществить щелчок по кнопке Матрица смежности ориентированного графа. В графическом поле будут нарисованы ребра графа, а в поля списков будут выведены веса ребер ориентированного графа (см. рис. 1.65). По1 ipoe№^c остовиого дерепл t г>^>4<о гмягатва Рис. 1.65. Остовное дерево и матрица смежности ориентированного графа Обработчик события вывода элементов матрицы смежности взвешенного неориентированного графа. Во вложенном цикле со счетчиками N (строки матрицы смежности) и К (столбцы матрицы смежности) осуществим вычисление весов ребер и их вывод в поля списков. Для вывода половины элементов матрицы смежности начальному значению счетчика вложенного цикла присвоим значение К = N + 1. В каждое поле списка выводить столбец матрицы смежности (рис. 1.66). 8. Щелкнуть по кнопке Buttons и в заготовку обработчика события ввести программный код: Private Sub Button3_Click (...) 'Очистка полей списков ListBox6.Items.Clear() ListBox?.Items.Clear() ListBoxS.Items.Clear () ListBox9.Items.Clear() ListBoxlO.Items.Clear() Построение и исследование информационных моделей 125 'Во вложенном цикле вычисление весов ребер и их вывод в поля списков For N=1 То 5 For K=N+1 То 5 Graphl.DrawLine(Penl, P(N).X, P(N).Y, Р(К).Х, Р(К).Y) R1 (N,K)=Math.Sqrt ( (P(N) .X-P(K) .X)''2+(P(N) .Y-P(K).Y)^2) Next К ListBox6.Items.Add(R1(N,1)) ListBox?.Items.Add(R1(N,2)) ListBoxS.Items.Add(R1(N,3)) ListBox9.Items.Add(R1(N,4)) ListBoxlO.Items.Add(R1(N,5)) Next N End Sub 9. Осуществить щелчок по кнопке Матрица смежности неориентированного графа. В поля списков будут выведены веса ребер неориентированного графа (см. рис. 1.66). Рис. 1.66. Матрица смежности неориентированного графа Обработчик события построения остовного связного дерева минимального веса. В этой процедуре пользователь строит остовное связное дерево минимального веса. Ребро минимального веса выбирается с использованием матрицы смежности неориентированного графа. Ввод номеров вершин ребра минимального веса осуществляется с помощью функции ввода данных InputBoxO. Включение или невключение выбранного ребра в остовное дерево производится на основании пункта 3 алгоритма Крускала, который реализуется с использованием функции вывода сообщений MsgBoxO и оператора условного перехода в сокращенной форме. В результате остовное связное дерево минимального веса будет нарисовано в графическом поле, номера его вершин и веса ребер будут выведены в поля списков, суммарный вес ребер будет выведен на надпись. 126 Глава 1 10. Щелкнуть по кнопке Button4 и в заготовку обработчика события ввести программный код: Private Siib Button4_Click (...) 'Ввод номера первой вершины и ее рисование в графическом поле N=InputBox{"Введите номер первой вершины:", "Выбор ребра минимального веса") Graph2.DrawEllipse(Pen2, P(N).X, P(N).Y, 2, 2) Graph2.Drawstring(N, drawFont, drawBrush, P(N).X, P(N).Y) 'Ввод номера второй вершины и ее рисование в графическом поле K=InputBox ("Введите номер второй вершины:", "Выбор ребра минимального веса") Grap)i2. DrawEllipse (Реп2, Р(К).Х, P(K).Y, 2, 2) Grap)i2. Drawstring (К, drawFont, drawBrush, Р(К).Х, P(K).Y) 'Реализация пункта 3 алгоритма Крускала A=MsgBox("Ребро с вершинами " + Str(N) + " и " + Str(K) + " включить в состав остовного дерева, если выполняется хотя бы одно из условий: (Обе вершины не входят в остовное дерево) или (Одна из вершин не входит в остовное дерево) или (Вершины входят в различные подмножества остовного дерева).", 32 + 4, "Включить ребро в остовное дерево?") If А=6 Then Graph2.DrawLine(Penl, P(N).X, P(N).Y, P(K).X, P(K).Y) R2(N,K)=Math.Sqrt((P(N).X-P(K).X)^2+(P(N).Y-P(K) .Y) ''2) ListBoxll.Items.Add(N) ListBoxl2.Items.Add(K) ListBoxl3.Items.Add(R2(N, K) ) Labell.Text=R2(N,K)+Val(Labell.Text) End If End Sub Ha основе анализа матрицы смежности неориентированного графа выберем ребро минимального веса. 11. Осуществить щелчок по кнопке Построение остовного связного дерева минимального веса. В появившемся диалоговом окне Выбор ребра минимального веса ввести номер первой точки и щелкнуть по кнопке О^: (рис. 1.67). Построение и исследование информационных моделей 127 Выбор ребра минерального веса Ввеоигб номер первой вершнмьт шшг.. М ок Cwd I Рис. 1.67. Ввод первой вершины 12. В появившемся диалоговом окне Выбор ребра минимального веса ввести номер второй точки и щелкнуть по кнопке ОК (рис. 1.68). М QK 1 Выбор ребра минимального веса Вмаиге номер второй иршины Рис. 1.68. Ввод второй вершины На основе анализа остовного связного дерева в графическом поле выполним пункт 3 алгоритма Крускала и решим вопрос о включении или невключении выбранного ребра в остовное дерево. 13. В появившемся диалоговом окне Включить ребро в остовное дерево? подтвердить или опровергнуть истинность условий щелчком по кнопке Да или по кнопке Нет (рис. 1.69). Включить ребро в остовное дерево? id V Ребро (в^хижеии 1и 2 включить в состав остоеного дерева, если вь<тояияется хотя бы одно ю (Обе вершты не ехоАЯТ в осто№ое дерево) или (Одна из вершин не вжодкт в остовное дерево) или ^ершнны входит в различные подиможества остовного дерева). Да Нет Рис.1.69. Включение ребра в остовное дерево 14. Выполнять пункты 11-13 до тех пор, пока остовное связное дерево с минимальным весом не будет построено, т. е. пока все вершины не войдут в связное множество. 128 Глава 1 В результате (рис. 1.70): • в графическом поле будет построено остовное связное дерево; • в полях списка появятся номера вершин и веса соответствующих ребер остовного дерева; • на надпись будет выведена сумма весов ребер остовного связного дерева минимального веса. Рис. 1.70. Минимальный вес остовного дерева Проект хранится в папке ..\IIKT11 РгоЛУВ2005\Графы1 Windows-CD Вопросы для^|^змышлеяия 1. Какие обработчики событий входят в проект определения минимального веса остовного дерева графа? 1.10.3. Изучение графов на языке Turbo Delphi Разработаем проект, позволяющий получать остовные связные деревья минимального веса для графов с пятью вершинами. Графы в виде схем будем рисовать в графических полях, а матрицы смежности выводить в элемент управления, представляющий собой таблицу. Построение н исследование информационных моделей 129 шт ъ Проект «Построение остовного связного дерева графа» на языке Turbo Delphi 1, Запустить систему объектно-ориентированного программирования Turbo Delphi командой [Программы- Borland Developer Studio 2006-Turbo Delphi]. Создадим графический интерфейс проекта. 2. Поместить на форму (рис. 1.71): • графическое поле Image 1 для рисования первоначального графа; • графическое поле Image2 для рисования остовного связного дерева минимального веса; • кнопку But ton 1 для запуска событийной процедуры вывода вершин графа в первое графическое поле; • кнопку Button2 для запуска событийной процедуры вывода элементов матрицы смежности взвешенного ориентированного графа; • управляющий элемент StringGridl для вывода элементов матрицы смежности связного взвешенного ориентированного графа; • кнопку Buttons для запуска событийной процедуры вывода элементов матрицы смежности взвешенного неориентированного графа; • управляющий элемент StringGrid2 для вывода элементов матрицы смежности связного взвешенного не-ориентирюванного графа; • кнопку Button4 для запуска событийной процедуры вывода во второе графическое поле остовного связного дерева; • управляющий элемент StringGridS для вывода весов ребер остовного связного дерева; • надпись Labe 11 для вывода суммы весов остовного связного дерева минимального веса; • надписи для вывода пояснительных текстов. 130 Глава 1 Рис. 1.71. Графический интерфейс проекта 3. Объявить: • целочисленные пятиэлементные массивы X [ I ] и Y [ I ] для хранения координат вершин графа; • целочисленный двумерный массив R [ I ] для хранения весов ребер графа; • целочисленный двумерный массив R1[I] для хранения весов ребер остовного связного дерева минимального веса; • целочисленные переменные I, N, и К, используемые в качестве счетчиков циклов; • целочисленную переменную S для хранения суммы весов ребер остовного связного дерева минимального веса; • целочисленную переменную А для хранения значения, возврахцаемого функцией MessageDlg (); • строковые переменные strN и strK для хранения номеров точек, возвращаемых функцией InputBox(). Построение и исследование информационных моделей 131 var X: array[1. .5] of integer; Y: array[1. .5] of integer; R: array[1. .5,1..5] of integer; Rl: array[1. .5,1..5] of integer; I, N, K, A: byte; S: integer; TForml.ButtonlClick(Sender: TObject) рисования и обнуление strN, strK: string; Событийная процедура вывода в графическое поле вершин графа. Создадим событийную процедуру генерации случайных координат вершин графа и их рисование в графическом поле (рис. 1.72). 4. Щелкнуть по кнопке Buttonl и в заготовку событийной процедуры ввести программный код: procedure begin //Очистка областей //переменной Imagel.Canvas.Brush.Color:=clWhite; Image1.Canvas.Rectangle(0,0,200,200) Image2.Canvas.Brush.Color:=clWhite; Image2.Canvas.Rectangle(0,0,200,200) S: =0 ; //Обозначение строк и столбцов //управления StringGrid For I:=0 To 6 Do begin StringGridl.Cells[1,0]:=IntToStr(I) StringGridl.Cells[0,1]:=IntToStr(I) StringGrid2.Cells[1,0]:=IntToStr(I) StringGrid2.Cells[0,1]:=IntToStr(I) StringGridS.Cells[1,0]:=IntToStr(I) StringGrid3.Cells[0,I];=IntToStr(I) end; //Генерация случайных //и их рисование For I:=l То 5 Do begin X[I]:=Random(200); Y[I]:=Random(200); Imagel.Canvas.Pen.Width:=3; Imagel.Canvas.Ellipse(X[I],Y[I],X[I]+4,Y[I]+4) элементах координат вершин графа 132 Глава 1 Imagel.Canvas.TextOut(X[I]+5,Y[I], IntToStr(I)); end; end; 5. Запустить проект и осуществить щелчок по кнопке Вершины графа. В графическое поле будут выведены вершины графа и их номера (рис. 1.72). Построение остоемого дерева граф Рис. 1.72. Вершины графа Событийная процедура вывода элементов матрицы смежности взвешенного ориентированного графа. Во вложенном цикле со счетчиками п (строки матрицы смежности) и к (столбцы матрицы смежности) осуществим рисование ребер ориентированного графа, вычисление весов ребер и их вывод в таблицу (рис. 1.73). 6. Щелкнуть по кнопке Button2 и в заготовку событийной процедуры ввести программный код: procedure TForinl .Button2Click (Sender: TObject); begin //Bo вложенном цикле рисование ребер //ориентированного графа, вычисление весов //ребер и их вывод в таблицу For N:=l То 5 Do For К:=1 То 5 Do begin Imagel.Canvas.Pen.Width:=1; Imagel.Canvas.MoveTo(X[N],Y[N]); Imagel.Canvas.LineTo(X[K],Y[K]); R [N, K] : =Round (Sqrt (Sqr (X [N] -X [K]) +Sqr (Y [N] -Y [K]))) ; StringGridl.Cells[N,K]:=IntToStr(R[N,K]); end; end; Построение и исследование информационных моделей 133 7. Осуществить щелчок по кнопке Матрица смежности орграфа. В графическом поле будут нарисованы ребра графа, а в таблицу будут выведены веса ребер ориентированного графа (рис. 1.73). Построение остоеного дерева графа Рис. 1.73. Построение остовного дерева графа Событийная процедура вывода элементов матрицы смежности взвешенного неориентированного графа. Во вложенном цикле со счетчиками N (строки матрицы смежности) и К (столбцы матрицы смежности) осуществим вычисление весов ребер неориентированного графа и их вывод в таблицу (рис. 1.74). Для вывода половины элементов матрицы смежности начальному значению счетчика вложенного цикла присвоим значение K=N+1. 8. Щелкнуть по кнопке Buttons и в заготовку событийной процедуры ввести программный код. procedure TForml.ButtonSClick(Sender: TObject); begin //Bo вложенном цикле вычисление весов ребер //неориентированного графа и их вывод в таблицу For N:=l То 5 Do For K:=N+1 To 5 Do begin R[N,K]:=Round(Sqrt(Sqr(X[N]-X[K])+ Sqr(Y[N]-Y[K]))); StringGrid2.Cells[N,K]:=IntToStr(R[N,K]) ; end; end; 134 Глава 1 9. Осуществить щелчок по кнопке Матрица смежности графа. В таблицу будут выведены веса ребер неориентированного графа (рис. 1.74). Рис. 1.74. Матрица смежности неориентированного графа Событийная процедура построения остовного связного дерева минимального веса. В этой процедуре пользователь строит остовное связное дерево минимального веса. Ребро минимального веса выбирается с использованием матрицы смежности неориентированного графа. Ввод номеров вершин ребра минимального веса осуществляется с помощью функции ввода данных InputBox (). Включение или невключение выбранного ребра в остовное дерево производится на основании пункта 3 алгоритма Крускала, который реализуется с использованием функции вывода сообщений MessageDlg () и оператора условного перехода в сокращенной форме. В результате остовное связное дерево минимального веса будет нарисовано в графическом поле, веса ребер будут выведены в таблицу, а суммарный вес ребер — на надпись. 10. Щелкнуть по кнопке Button4 и в заготовку событийной процедуры ввести программный код: procedure TForml.Button4Click(Sender: TObject); begin //Ввод номера первой вершины и ее рисование //в графическом поле strN:=InputBox('Выбор ребра минимального веса', 'Введите номер первой вершины: Image2.Canvas.Pen.Width:=3; Image2.Canvas.Ellipse(X[StrToInt(strN)], Y[StrToInt(strN)],X[StrToInt(StrN)]+4, Y [StrToInt(StrN)]+4) ; Построение и исследование информационных моделей 135 Image2.Canvas.TextOut(X[StrToInt(strN)]+5, У[StrToInt(strN)], StrN) ; //Ввод номера второй вершины и ее рисование //в графическом поле strK:=InputBox{'Выбор ребра минимального веса', 'Введите номер второй вершины:',''); Image2.Canvas.Pen.Width:=3; Image2.Canvas.Ellipse(X[StrToInt(strK)], Y[StrToInt(StrK)],X[StrToInt(strK)]+4, Y[StrToInt(StrK)]+4); Image2.Canvas.TextOut(X[StrToInt(strK)]+5, Y[StrToInt(StrK)],StrK); //Реализация пункта 3 алгоритма Крускала А:=MessageDlg('Ребро с вершинами ' + StrN + ' и ' + StrK + ' включить в состав остовного дерева, если выполняется хотя бы одно из условий: (Обе вершины не входят в остовное дерево) или (Одна из вершин не входит в остовное дерево) или (Вершины входят в различные подмножества остовного дерева).', MtConfirmation,[mbYes,mbNo], 0) ; If A=mrYes Then begin Image2.Canvas.Pen.Width:=1; Image2.Canvas.MoveTo(X[StrToInt(strN)], У[StrToInt(StrN)])/ Image2.Canvas.LineTo(X[StrToInt(strK)], Y[StrToInt(StrK)]); R1[StrToInt(strN),StrToInt(strK)]:= Round(Sqrt(Sqr(X[StrToInt(strN)]-X[StrToInt(StrK)])+ Sqr(Y[StrToInt(strN)]-Y[StrToInt(StrK)]))); StringGrid3.Cells[StrToInt(strN),StrToInt(strK)]:= IntToStr(R1[StrToInt(StrN),StrToInt(strK)]); Ha основе анализа матрицы смежности неориентированного графа выберем ребро минимального веса. 11. Осуществить щелчок по кнопке Остовное связное дерево. В появившемся диалоговом окне Выбор ребра минимального веса ввести номер первой точки и щелкнуть по кнопке ОЛТ (рис. 1.75). 13в Глава 1 В Ши м Ввшигв номер первой верихны: ОК •] I Рис. 1.75. Ввод первой вершины графа 12. В появившемся диалоговом окне Выбор ребра минимального веса ввести номер второй точки и щелкнуть по кнопке ОЛТ (рис. 1.76). В Введите номер второй вершив ок Cancel Рис. 1.76. Ввод вторвой вершины графа На основе анализа остовного связного дерева в графическом поле выполним пункт 3 алгоритма Крускала и решим вопрос о включении или невключении выбранного ребра в остовное дерево. 13. В появившемся диалоговом окне Confirm подтвердить или опровергнуть истинность условий щелчком по кнопке Yes или по кнопке Л/"о (рис. 1.77). с еершжаии 2 и 3 вкж>чить в состав остовного дерева, еспи выполняется хотя ^ из услсвий: (Обе вершины не входят в остовное дерево) или (Одна из вершин не входит в остовное дерево) или (Вершины входят в различные подино^хества octobhi^ дерева). Рис. 1.77. Включение ребра в состав остовного дерева 14. Выполнять пункты 11-13 до тех пор, пока остовное связное дерево с минимальным весом не будет построено, т. е. пока все вершины не войдут в связное множество. Построение и исследование информационных моделей 137 В результате (рис. 1.78): • в графическом поле будет построено остовное связное дерево; • в соответствующие ячейки таблицы будут выведены веса ребер остовного дерева; • на надпись будет выведена сумма весов ребер остовного связного дерева минимального веса. Рис. 1.78. Остовное дерево минимального веса Проект хранится в папке ..\11КТ11РгоПОе1рИ1\Графы Windows-CD Вопросы для размышления . • 1. Какие событийные процедуры входят в проект определения минимального веса остовного дерева графа? Глава 2_____________ Технологии создания и обработки текстовой информации При изучении данной главы рекомендуется установить следующее программное обеспечение для операционных систем Windows и Linux: Windows-CD • браузеры SeaMonkey, Mozilla. Opera: • OpenOffice.org Writer; • настольную издательскую систему Scribus; • Первая помощь no 1.0. • программу создания и редактирования файлов в формате PDF Adobe Acrobat Professional; Л CD-31: 36 • Microsoft Office 2007 (Word 2007): C!n DU Ha CD-5 • мультиязычный словарь ABBYY Lingvo: ■ CD-50: 51 • систему оптического распознавания символов ABBYY FineReader; CD-52 • браузер Internet Explorer; 0 CD-2:4 % Технологии создания а обработки текстовой информации 139 Linux-DVD • браузеры SeaMonkey, Mozilla; ejt Ifc© Л • OpenOffice.org Writer; ш • настольную издательскую систему Scribus; • компьютерный словарь StarDict; ф • систему оптического распознавания символов Коока Глава 2. Кодирование и обработка Информатика и ИКТ-9 текстовой информации ^ ____________ 2.1. Основные типы приложений для создания документов Для обработки текстовой информации на компьютере используются текстовые редакторы, которые позволяют создавать, редактировать, форматировать, сохранять и распечатывать документы. Простые текстовые редакторы. Простые текстовые редакторы (например, Блокнот в операционных системах Windows и Linux) позволяют создавать и редактировать тексты. Такие редакторы осуществляют простейшее форматирование шрифта, но не позволяют форматировать текст (абзацы). Достоинством простых текстовых редакторов является то, что текст сохраняется в наиболее универсальном текстовом формате Только текст (расширение в имени файла txt) и содержит только коды символов и код перевода строки. Поэтому такие текстовые файлы читаются не только во всех текстовых редакторах, но и в различных операционных системах. Достоинством этого формата является также небольшой информационный объем файлов. 140 Глава 2 Текстовые редакторы (текстовые процессоры). Более совершенные текстовые редакторы (например, Microsoft Word в операционной системе Windows и OpenOffice.org Writer в операционных системах Windows и Linux) позволяют создавать довольно сложные документы (рефераты, брошюры и т. д.). Такие редакторы имеют широкий спектр возможностей по созданию документов (форматирование шрифтов и абзацев, вставка списков, таблиц и оглавлений, проверка орфографии, сохранение исправлений, использование стилей, вставка объектов и др.). Каждый из таких редакторов может сохранять документы в своем оригинальном формате. Формат Докул1ент Word (расширение в имени файла doc) является оригинальным форматом текстового редактора Microsoft Word, в котором полностью сохраняет форматирование. Этот формат фактически является универсальным, так как понимается практически всеми текстовыми редакторами. В последней версии Microsoft Office используется формат DOCX, к счастью, для перевода в формат DOC существует конвертор. В интегрированном офисном приложении OpenOffice.org используется открытый формат документов для офисных приложений OpenDocument Format (ODF), в том числе текстовых документов (ODT). В данных текстовых редакторах может использоваться также Расширенный текстовый формат (расширение в имени файла rtf), который является также универсальным форматом текстовых файлов, в котором сохраняются результаты форматирования. Недостатком этого формата является большой информационный объем файлов. Web-редакторы. Документы в Интернете публикуются в формате Web-страниц (расширение в имени файла htm или html), который использует для форматирования специальные управляющие символы (тэги). Достоинством этого формата является его универсальность, так как Web-страницы могзгг просматриваться с использованием специализированных программ (браузеров) в любых операционных системах. В качестве Web-редакторов могут использоваться специализированные редакторы (в операционных системг1х Windows и Linux, например. Компоновщик, входящий в интегрированное приложение для работы в Интернете SeaMonkey; Microsoft FrontPage и Adobe Dreamweaver в операционной системе Windows и др.). Техвологии создания н обработки текстовой информации 141 Также документы в формате Web-страниц могут сохраняться с использованием многих текстовых редакторов (например, вышеперечисленных Microsoft Word и OpenOfTice.org Writer). Настольные издательские системы. Для подготовки к изданию книг, брошюр, журналов, газет и плакатов используются мощные программы обработки текста и графики — настольные издательские системы (например, в операционных системах Windows и Linux свободно распространяемая система Scribus). Настольные издательские системы позволяют произвольно размещать на странице блоки (фрагменты текста, изображения, таблицы и другие объекты). Если пользователю что-то не нравится, то он легко может переместить блоки или изменить их размеры. Каждая настольная издательская система может сохранять документы в собственном оригинальном формате (например, система Scribus в формате SLA). Существует универсальный формат для представления в электронном виде полиграфической продукции. Это формат Portable Document Format (PDF). Значительный ассортимент современного профессионального печатного оборудования может обрабатывать тексты в формате PDF непосредственно. Этот формат позволяет внедрять необходимые шрифты, векторные и растровые изображения, формы и мультимедиа вставки. Формат PDF сохраняет расположение блоков и их форматирование в различных операционных системах. Более того, формат PDF обеспечивает одинаковое представление документа и при просмотре файла в компьютерной сети, и при выводе документа на печать. Также важно, что стандартными средствами редактировать документы в этом формате невозможно, для этих целей обычно применяют распознаватели текста. Для просмотра документа в формате PDF можно использовать бесплатную программу Adobe Acrobat Reader, а для создания и редактирования документа в формате PDF требуется лицензионная программа Adobe Acrobat. Можно также конвертировать документы в формат PDF из настольных издательских систем и текстовых процессоров (такой конвертор встроен в OpenOffice.org Writer, и его можно установить как дополнительный компонент в Microsoft Word 2007). 142 Глава 2 Вопросы ДЛЯ: размышления 1, в чем состоят преимущества и недостатки различных приложений для создания и редактирования документов? 2. Каковы особенности формата документов PDF? Практическая работа 2.1 Установка конвертора в формат PDF для Microsoft Office 2007 Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista, подключенный к Интернету. Цель работы. Научиться устанавливать конвертор в формат PDF для Microsoft Office 2007. Задание. Установка конвертора в формат PDF для Microsoft Office 2007. В систему Microsoft Office 2007 можно установить бесплатное дополнение для сохранения файлов в формате PDF. п.1 Установка конвертора в формат PDF для Microsoft Office 2007 1. В оиерационной системе Windows XP/Yista перейти по ссылке на страницу Надстройка Microsoft для сохранения в формате PDF или XPS файлов, созданных в программах выпуска 2007 системы Microsoft Office. Надстройка 2007 Mcrosoft OfRce: ожраиение в формате РОГ или XPS (Майкрософт) о Bioffis Технологии создания и обработки текстовой информации 143 2. В появившейся в окне браузера Web-странице в раскрывающемся списке установить нужный язык (например, Русский) и в другом раскрывающемся списке — скорость соединения с Интернетом (например, высокоскоростной модем ( 768 кбит/с). Щелкнуть по кнопке Продолжить. 3. Если приложение Microsoft Office 2007 пройдет проверку на подлинность, то появится кнопка Загрузить. Щелкнуть по этой кнопке и выбрать место сохранения файла-конвертора SaveAsPDFandXFS.exe. 4. Запустить этот файл на исполнение, конвертор в формат PDF будет установлен. 2.1.1. Макет и верстка в настольных издательских системах Макет. Чтобы документ смотрелся как единое целое, необходимо разработать макет — графический план верстки. Этот план наглядно показывает, как распределяются на документе текстовые и иллюстративные материалы, заголовочные комплексы, все детали оформления. На макете указываются линейки, маркеры, размер, насыщенность, наклон, плотность и гарнитура шрифта, выравнивание строк и другие компоненты. Зная количество знаков во всем тексте и в одной строке, площадь, которую займет заголовочный комплекс, можно добиться точности макетирования и избежать потом (при верстке) неприятных сюрпризов, когда образуются свободные места, белые пятна, или «хвост» материала, не вместившегося в запланированное на макете место. Ускорить макетирование позволяет модульная сетка — система вертикальных и горизонтальных линий, своеобразный каркас, определяющий структуру документа. Выбор макета зависит от формата страницы, стиля оформления, особенностей издания. Компьютер избавляет от необходимости вычерчивать на бумаге подробные графические макеты. Страницы-шаблоны с модульной сеткой и основными элементами оформления могут храниться в памяти компьютера как угодно долго и при необходимости использоваться. Составив план-макет, на документе располагают (верстают) материалы. 144 Глава 2 Верстка. Версткой называют как способ расположения материалов при творческом создании документа, так и чисто технологический процесс, при котором из соответствующих блоков монтируются документы заданного размера и, в соответствии с макетом, размещается материал. Верстка бывает прямой и ломаной, горизонтальной и вертикальной, симметричной и асимметричной. Иллюстрации можно использовать в форме не только прямоугольника, но и круга, овала, многоугольника. Настольные издательские системы позволяют и текстовые материалы (особенно для выделения частей публикации) верстать в виде пирамиды, треугольника, круга и т. д. Раньше версткой занимался типографский работник, сейчас — редакционный оператор верстки. В современных газетах и интернет-изданиях, где требуется особо оперативная подача информации, применяется «раздельная верстка», т. е. с места событий журналист передает уже сверстанный материал. Это требует от журналиста высокой технической квалификации: ему надо пользоваться модемом для передачи информации, часто использовать и настольно-издательские системы. Дизайн печатных изданий. Форма верстки издания должна соответствовать его цели и содержанию. Ясно, что дизайн верстки книг должен отличаться от дизайна верстки журналов, а он, в свою очередь, должен отличаться от дизайна верстки плакатов и рекламы. Особый дизайн должны иметь Web-сайты, фирменные знаки, упаковка и т. д. Однако существуют и общие рекомендации, которые сводятся к следующему: • перед версткой документа оценить, какие статьи и фотографии в нем разместить; • если объем или форма рекламных объявлений не соответствуют установленному дизайну, выяснить, можно ли их перенести в другое место; • определить объем и формат основного текста и фотографий; • фотографии помещать посреди текста; • заголовок основной статьи должен быть на 40% крупнее других заголовков документа; • следует группировать сходные по содержанию небольшие материалы вместе; Технологии создания и обработки текстовой информации 145 О • не следует располагать статьи с заголовками одинаковой ширины друг над другом; • не надо выстраивать заголовки в одну линию. Началом книгопечатания считается изобретение гравирования изображений, подлежащих воспроизведению, на деревянной доске, которую затем закатывали краской, покрывали бумагой и получали нужное количество идентичных оттисков. Следующим этапом развития книгопечатания явилось изобретение в XI веке подвижных литер (букв и цифр). Печатный пресс сделал книгопечатание массовым (в Европе в 1440 г. его изобрел И. Гутенберг, а в России его применил в 1563 г. первопечатник И. Федоров). XX век ознаменовался внедрением в полиграфию электронных машин, фотонабора, автоматизацией многих процессов производства. Конец XX века — это начало цифровых и лазерных технологий на базе компьютерных систем. Изменилась даже суть полиграфии: наблюдается переход от идентичных копий в тираже к многовариантности экземпляров издания в пределах тиража. Рис. 2.1. Книгопечатание в Средние века Вопросы для размышления 1. Для чего необходимо продумать макет документа перед его версткой? 2. Почему различается дизайн верстки у документов различных типов? 146 Глава 2 2.1.2. Параметры документа Способы создания документов. Создание документов можно производить с помощью шаблонов, т. е. пустых заготовок документов определенного назначения. Шаблон задает структуру документа, которую пользователь заполняет определенным содержанием. Настольные издательские системы обычно имеют обширные библиотеки шаблонов для создания документов различного назначения (книга, журнал, плакат, Web-сайт и др.). Однако в большинстве слзгчаев для создания документов используется пустой шаблон Новый документ, который пользователь заполняет содержанием по своему усмотрению. Выбор параметров страницы. Любой документ состоит из страниц, поэтому в начале работы над документом необходимо задать параметры страницы: размер бумаги, ориентацию и размеры полей. Ориентация позволяет выбрать расположение страницы на бумаге. Существуют две возможные ориентации страницы (книжная и альбомная). На странице можно установить требуемые размеры полей (верхнего и нижнего, правого и левого), которые определяют расстояния от краев страницы до границы текста. Колонтитулы и номера страниц. Для вывода на каждой странице документа повторяющегося текста (например, имени автора, названия документа и др.) удобно использовать верхний или нижний колонтитул. Расстояния от края страницы до колонтитула можно изменять. Страницы документа рекомендуется нумеровать, причем номера можно размещать вверху или внизу страницы по центру, справа или слева. Сноски. В конце страницы или документа можно разместить сноски, которые вносят необходимые разъяснения в текст документа. В тексте документа номера сносок оформляются в виде верхних индексов. Стили форматирования. При создании многостраничных документов удобнее для каждого типа абзацев использовать определенный стиль форматирования (например, один стиль для текста параграфа, другой стиль для вопросов к параграфу). Каждому стилю форматирования присваивается название, и устанавливаются все необхо- Технологии создания н обработки текстовой информации 147 димые параметры форматирования шрифта, абзаца или списка. Теперь для изменения параметров форматирования абзацев одного типа достаточно изменить параметры соответствующего стиля форматирования. Все абзацы данного стиля форматирования автоматически получат во всем документе новые параметры форматирования. Оглавление документа. В процессе создания документа в нем создаются заголовки, для которых используются различные стили форматирования. После создания объемного документа целесообразно вставить в документ оглавление, которое позволит читателю лучше ориентироваться в его содержании. Оглавление представляет собой список заголовков, содержащихся в документе, с указанием страниц. Копирование, перемещение и удаление фрагментов документа. Редактирование документа производится путем копирования, перемещения или удаления выделенных символов или целых блоков. Копирование позволяет размножить выделенный фрагмент документа, т. е. вставить его копии в указанные места документа. Перемещение дает возможность вставить копии выделенного фрагмента документа в указанные места документа, но удаляет сам выделенный фрагмент. Удаление позволяет удалить выделенный фрагмент. Блоки информации. На странице документа информация размещается в блоках (текстовых, графических, таблиц и т. д.). Каждый блок может иметь свой размер, форму, положение на странице и т. д. Можно упорядочить положение блоков путем установки свойства привязки к сетке страницы (сетка не будет отображаться в итоговом документе PDF). Вопросы для Измышления 1. Какие параметры документа можно и нужно задать? 2. Какие разновидности блоков информации можно создать в процессе веркзтки документа? 148 Глава 2 2.1.3. Текстовые блоки Размер и позицию текстового, как и любого другого, блока можно задать или изменить с помощью мыши. Можно изменить форму текстового блока (квадрат, многоугольник, окружность, овал и т. д.), а также толщину и вид линии границы блока. Текст в блоке можно разместить как в одну, так и в несколько колонок. Ввод текста в текстовый блок можно осуществить различными способами: • ввести текст непосредственно в блок; • скопировать текст из другого текстового блока; • ввести текст с использованием встроенного в настольную издательскую систему текстового редактора; • вести текст из текстового файла. Форматирование шрифта. Для представления содержания документа в более понятной и выразительной форме применяется форматирование. Символы являются основными объектами, из которых состоит текстовый документ, поэтому прежде всего необходимо правильно установить основные параметры, определяющие их внешний вид: шрифт, размер, начертание и цвет. Шрифт — это полный набор символов (букв, цифр, знаков пунктуации, математических знаков, а также специальных символов) определенного рисунка. Для каждого исторического периода и разных стран характерны свои шрифты. Каждый шрифт имеет свое название, например Times New Roman, Arial, Courier New и др. По способу представления в компьютере различаются шрифты растровые и векторные. Для представления растровых шрифтов используются методы растровой графики, когда символы шрифта представляют собой группы пикселей. Растровые шрифты допускают масштабирование только с определенными коэффициентами. В векторных шрифтах символы описываются математическими формулами и допускают произвольное масштабирование. Обычно различные символы шрифта имеют и различную ширину, например буква Ш шире, чем буква А. Однако имеются и моноширинные шрифты, в которых ширина всех символов одинакова. Примером такого шрифта является шрифт Courier New. Технологии создания и обработки текстовой информации 149 Шрифты также разделяют на две большие группы: шрифты с засечками (например, Times New Roman) и рубленые (нгшример, Arial). Считается, что шрифты с засечками легче воспринимаются глазом, поэтому в большинстве печатных текстов используются именно они. Рубленые шрифты используют обычно для заголовков, выделений в тексте и подписей к рисункам. Единицей измерения размера шрифта является пункт (1 пт = 0,376 мм). Размеры шрифтов можно изменять в больших пределах (обычно от 1 до 1638 пунктов), причем во многих редакторах по умолчанию используется шрифт размером 10 пт. Кроме обычного начертания символов может применяться полужирное, курсивное и полужирное курсивное. Можно установить дополнительные параметры форматирования символов: подчеркивание символов различными типами линий, видоизменение вида символов (верхний индекс, нижний индекс, зачеркнутый), изменение расстояния между символами (разреженный, уплотненный) и др. Если планируется многоцветная печать документа, то для различных групп символов можно задать различные цвета, выбранные из предлагаемой текстовым редактором палитры. Буквица (капитель). Буквица широко применялась в старинных книгах в начале абзаца или главы (рис. 2.2). Можно установить врезанную в текст буквицу (она называется капителью) высотой в любое количество строк. Можно ввести букву, которые вы желаете сделать капителью, либо непосредственно, либо с помощью Рис. 2.2. Буквица из книги встрюенного текстового редакто- «Апостол» первопечатника ра. Ивана Федорова Поиск и замена. В процессе работы над документом иногда бывает необходимо заменить одно многократно встречающееся слово на другое. Если делать это вручную, то процесс замены отнимет много времени и сил. В большинстве текстовых редакторов существует операция Найти и заменить, которая обеспечивает автоматический поиск и замену слов во всем документе. 150 Глава 2 Форматирование абзацев. Абзац выделяет в текстовом документе часть текста, представляющую законченный по смыслу фрагмент документа, окончание которого служит естественной паузой для перехода к новой мысли. В компьютерных документах абзац заканчивается управляющим знаком конца абзаца. Ввод конца абзаца обеспечивается нажатием клавиши {Enter} и отображается символом Ц, если включен режим отображения непечатаемых символов. Абзац может состоять из любого набора символов, рисунков и объектов других приложений. Форматирование абзацев позволяет подготовить правильно и красиво оформленный документ. Выравнивание абзаца (выключка) отражает расположение текста относительно границ полей страницы. Чаще всего абзац начинается отступом первой строки. Весь абзац целиком может иметь отступы слева и справа, которые отмеряются от границ полей страницы. Расстояние между строками документа можно изменять, задавая различные значения междустрочных интервалов. Для визуального отделения абзацев друг от друга можно устанавливать увеличенные интервалы до и после абзацев. Нумерованные и маркированные списки. Списки являются удобным вариантом форматирования абзацев по единому образцу и применяются для размещения в документе различных перечней. В нумерованных списках элементы списка последовательно обозначаются с помощью чисел (арабских или римских) и букв (русского или латинского алфавитов). При создании, удалении или перемещении элементов нумерованного списка автоматически меняется вся нумерация. Пользователь может установить свою систему нумерации, например начать список с любого номера, пропустить номер и т. д. В маркированных списках элементы списка обозначаются с помощью маркеров (специальных значков): •, ■, ■=> и др. Пользователь может выбрать тип маркера, изменить его размер и цвет, а также выбрать в качестве маркера любой символ из таблицы символов. Многоуровневые списки можно использовать для отображения иерархических перечней (например, иерархической файловой системы). В многоуровневых списках в пункты списка более высокого уровня вставляются списки более низкого уровня (вложенные списки). Вложенные списки Технологии создания и обработки текстовой информации 151 могут совпадать по типу с основным списком, но могут и отличаться от него. Вопросы дла^йзмышления 1. Как можно ввести текст в текстовый блок? 2. Какие параметры форматирования текста можно выделить как самые главные? 2.1.4. Блоки изображений Размер и позицию блока изображения можно задать или изменить с помощью мыши. Пунктирными линиями обозначаются границы будущего блока. Внутри блока изображения вы видите диагонали внутри (рис. 2.3). Эти диагонали не будут печататься, это традиция печатной промышленности, созданная для того, чтобы отличить блок изображения от блока текста. Рис. 2.3. Блок изображения Можно изменить форму блока изображения (квадрат, многоугольник, окружность, овал и т. д.), а также толщину и вид линии границы блока. Теперь можно вставить в блок растровое изображение или векторный рисунок. Их можно загрузить из графического файла, а можно нарисовать непосредственно в блоке, используя встроенный в настольную издательскую систему графический редактор. Можно вписать изображение в рамку блока или, наоборот, подогнать рамку блока под выбранный масштаб изображения. В настольных издательских системах обычно используют несжатые растровые изображения в форматах TIFF или BMP. Они имеют довольно большой объем, но при этом быстро обрабатываются при выводе на экран или принтер и 152 Глава 2 обеспечивают хорошее качество изображения. Тем не менее можно использовать также сжатые форматы растровой графики JPEG, PNG, GIF и другие, которые имеют существенно меньший информационный объем, но приемлемое качество изображения. Из векторных форматов чаще всего используется SVG (Scalable Vector Graphics) — открытый формат, разработанный World Wide Web Consortium, и формат WMF (Windows Metafile), предложенный корпорацией Microsoft. Вопросы для размышления О 1. Можно ли подогнать размер изображения под размер блока изображения? 2. Можно ли подогнать размер блока изображения под размер изображения? 2.1.5. Блоки таблиц Таблицы состоят из строк и столбцов, на пересечении которых образуются ячейки. В ячейках таблиц могут быть размещены данные различных типов (текст, числа, изображения). В документ можно вставить пустую таблицу, указав необходимое количество строк и столбцов, а также их высоту и ширину. В таблицу можно преобразовать уже имеющийся текст, при этом требуется указать разделитель текста (например, знак окончания абзаца), который позволит текстовому редактору автоматически распределить выделенный текст по ячейкам создаваемой таблицы. Можно подобрать подходящий внешний вид таблицы, изменив тип, ширину и цвет границ ячеек, а также цвет фона ячеек. Изменение внешнего вида таблицы можно провести автоматически, используя готовые шаблоны, или настроить вручную. Вопросы для {размышления О 1. Какие параметры таблиц можно изменять? Технологии создания и обработки текстовой информации 153 Практическая работа 2.2 Создание плаката в Microsoft Word 2007 Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться создавать плакаты в Microsoft Word 2007 и преобразовывать их в формат PDF. Задание. Создать плакат «Краткая история Вселенной» и преобразовать его в формат PDF. Создание плаката «Краткая история Вселенной» в текстовом редакторе Microsoft Word 2007 и преобразование его в формат PDF 1. В операционной системе Windows XP/Vista запустить текстовый редактор Microsoft Word 2007. 2. Выбрать альбомную ориентацию страницы и поместить на нее заголовок, изображение, таблицу и текст. 3. Выделить первую букву текста и преобразовать ее в буквицу командой [Вставка-Буквица]. i *: ггвтишЛаят .u ..... .«i-S б-'-Ч-'» ».Г" Ш ■ ЛабЬСсМ AaBba , Краткая история Вселенной t время Объекты 0 Ur»CM> 30*tm я ммвцрвмм l»m ЭООпк.мт *ТО—1 Зтоф^, Гмммя* *i 154 Глава 2 4. Преобразовать плакат в формат PDF командой {Сохранить как-PDF^. Просмотреть его в Adobe Acrobat Professional. -sr.. С«А» Ацмегироя№)кч> flpocwvrp Лок^к! iCtMuemacrfia Фармм Ao^iieiviw Лопомочамо 0«*e Сприк* j' ^СоШТ»Р!У» 06УЫИИИП. • nil’ ****** j? Р*УЛНШ0 0 «омм*хи»«»_» Краткая история Вселенной Время Объекты Вм«*ЙЙ)(М1 имрм uFow Яра»»|ц »1айуро*п» Штт мемви^ жаялли 4)М*| Меми ttWM/нгг Гммпма ммо * М** "n’J Практическая работа 2.3 Создание плаката в OpenOffice.org Writer Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista или Linux. Цель работы. Научиться создавать плакаты в OpenOffice.org Writer и преобразовывать их в формат PDF. Задание. Создать плакат «Краткая история Вселенной» и преобразовать его в формат PDF. й Создание плаката «Краткая история Вселенной» в системе OpenOffice.org Writer и преобразование его в формат PDF 1. В операционной системе Windows XP/Vista или Linux запустить текстовый редактор OpenOffice.org Writer. т Технологии создания и обработки текстовой информации 155 2. Выбрать гшьбомную ориентацию страницы и поместить на нее заголовок, изображение, таблицу и текст. Онам fM if'iti >ад>ш {аЬам Сааца ^ Г '-г» ** ♦ - • ^ Л • Й « ^ Ч Ф * »у'!<»о*иио>»ист |^ц » * Я Ш Ш Д У -у А ' If ■ й • , ■ у ц 1?^ 1> 15 1» -1>, к J» ^ й ' а; ?э ,?* ^ * Краткая история Вселенной Время Объекта ( Воямаой Bicia КР'СЯ^ Сч» 1в*еа npoiveu и мейлкхм Jiw Яжампав амиято* Акшн 1 •вЯО.ЯЙ imamt 15 mmt лп Гампаа 7S» КТ СТ*»Ц 3. Преобразовать плакат в формат PDF командой [Сохранить как-РО¥'\. Просмотреть его в Adobe Acrobat Professional. ««U PfcWHMpQwwe П(>осист> Aw»w>n' Kwwemeow Оврмм а»чацц***^** АшемнвеяЫез 6Им> Сярятш ■., ^о^ить90Г* ^0бъ«и)ммь4аМ»1<' фзяокфт* 101* y^ncawoi*' ;_^eopuw | Краткая история Вселенной Время Объекты с БМЫМЯВмм KMfn lO^ni Ямпш ■ мВямш IMH Кар* впав жмт Жак .VI Ктш 1 мяв ап lanoK Имчш Jtl Гимтма 156 Глава 2 Практическая работа 2.4 Создание плаката в настольной издательской системе Scribus Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista или Linux. Цель работы. Научиться создавать плакаты в настольной издательской системе Scribus и преобразовывать их в формат PDF. Задание. Создать плакат «Краткая история Вселенной* и преобразовать его в формат PDF. шт л й л Создание плаката «Краткая история Вселенной* в настольной издательской системе Scribus и преобразование его в формат PDF 1. В операционной системе Windows XP/Vista или Linux запустить настольную издательскую систему Scribus. 2. Выбрать альбомную ориентацию одиночной страницы, ее размер, поля и т. д. Поместим на плакат заголовок и текстовый блок. Ф Ноамй jiPigyetn J I Мвк«гло1^1ч*йгв Формат стренм1^ Рвамбр. [саай Ofemfm4fer Пар»ш« crpatwuM I Пераейстрвмице " а В"”" Поля Прм^гамомас ^Нммаго Лааоа: jd6p^~ Л|равоа /РООЫ Параматрь ^ Каямиастаостранцр {|“ ~Щ ^AaToegWHUBW таагтпнш рамок Сгоя|Я40Ф 1» _ MtrapaeH WflfcjiJtfta—li 3. Поместить на страницу заголовок и текстовый блок. Выбрать стиль текстовых блоков командой [Правка-Абзацные стили-НовыЩ. В появившемся диалоговом окне Правка стиля установить шрифт, его размер, цвет, отступы и другие параметры. Техвологня создания и обработки текстовой ивформацяи 167 100% QKen«T*ib ГЪм ‘ Раес1о»*«ело tcKcre- ^р( ' :3 Тмутгорм и отступы |в««<- . ,Ы 8^.^............... ,|ЗД miт f*l joopt !Ьдр<. _^|уааю*т»осо^ , -д1 ] Пеже—Tv own вбзюрюл? стыли ErassSTssTfe* w W. ewOi ffW, о*в. кИи рЬеео» pel* #мю. КеОе »w wp*. h*** Iwe Lwe Ф«бе1**г W *ei wiiiii^f lOftrrH tllT TilfiMHHiit kHiriw trrtti trintipt mini il впит rtmilirtraiiti Oran * rifli lyirfcr ы<ОиОаюг»1**|»1<м1Ю|.С«вям»уЮО.|ые*рмы.р««ЦЦДр».01^|*1миикмоийУк1—1У<<дтЫфОа«> «^iMpMAOTpMMi Ы *wew pew еМв^рЫна^*'**■*«•»* a* wwiwriulho* jir> iBilrnnPi f*mW» 4. Ввести текст в текстовые блоки либо непосредственно, либо из текстового файла, либо скопировать из другого блока, либо с помощью встроенного текстового редактора Story Editor. Для того чтобы запустить встроенный текстовый редактор Story Editor, в контекстном меню текстового блока выбрать пункт Изменить текст. 5. Выделить первую букву абзаца (например. С) и с помощью панели инструментов установить ширину и высоту капители, а также ширину ее контура и наличие тени. 158 Глава 2 Поместим на плакат графическое изображение. 6. Поместить на страницу графический блок командой [Всшавка-Изображение]. На странице появится прямоугольник, перечеркнутый красными линиями. Чтобы вставить изображение из файла, в контекстном меню выбрать пункт Вставить изображение... и в появившемся диалоговом окне Открыть выбрать нужный графический файл. 7. Для подгонки рамки графического блока до размеров изображения в контекстном меню графического блока надо отключить атрибут Размер заблокирован, а затем там же выбрать пункт Блок до размеров изображения. Для подгонки размеров изображения до размеров рамки графического блока в контекстном меню графического блока надо выбрать пункт Свойства. В появившемся диалоговом окне Свойства выбрать пункт Изображение и установить флажок Масштабировать до размера. 8. Ввести команду [Файл-Нвстроить Scribus] и выбрать в меню значков Внешние инструменты. Ввести пути в файловой системе к интерпретатору PostScript и выбранному д ля обработки изображений графическому редактору. Вставим в плакат таблицу. Свойсгеа ^5^ ку.г Тежег №образ1»нив ^ Свобооиов м«н;агввире*он Х-По» Y-Поз: Х'Мвсшт^ Y-Масшт: Т*кумийХ-{^ |196-4 T*Kyw«Y-OPt О»-' ^ Мвсшт8бмроввтълорвэп»|: ^ Прооормиоиально 4 ■ Пиния { Цмгв Технологии создания и обработки текстовой информации 159 • Всуешь т..УаШ1 Строк; ^ Столбцов 2 DEi 3i 9. Поместить на страницу таблицу командой [Вставка-Таблица]. На странице появится прямоугольник. В появившемся диалоговом окне Вставить таблицу указать требуемое количество строк и столбцов. Вставить в ячейки таблицы нужные значения. Преобразуем плакат в формат PDF. 10. Преобразовать плакат в формат PDF командой [Файл-Экпортироватъ-Сохранить как PDF...]. Просмотреть его в Adobe Acrobat Professional. ЛГ)оом*а lUMMCHTieuK фсснм Лес№впи1еям«р Оме Спмк» > | У j^Caafliai.WW’ -.... Краткая история Вселенной 2.1.6. Палитры цветов в системах цветопередачи RGB и CMYK 1.1.3. Палитра цветов в системах цветопередачи RGB, CMYK и HSB Информатика и ИКТ-9 Человек воспринимает свет с помощью цветовых рецепторов (так называемых колбочек), находящихся на сетчатке глаза. Колбочки чувствительны к красному, зеленому и синему цветам. Сумма красного, зеленого и синего цветов воспринимается человеком как белый цвет, их отсутствие — как черный, а различные их сочетания — как многочисленные оттенки цветов. 160 Глава 2 Палитра цветов в аддитивной системе цветопередачи RGB. Аддитивная система цветопередачи RGB применяется в мониторах компьютеров, в телевизорах и других излучающих свет технических устройствах. С экрана монитора человек воспринимает цвет как сумму излучения трех базовых цветов: красного, зеленого и синего. Такая система цветопередачи называется RGB, по первым буквам английских названий цветов {Red — красный. Green — зеленый. Blue — синий). Цвета в палитре RGB формируются путем сложения базовых цветов, которые могут иметь различную интенсивность. Цвет палитры Color можно определить с помощью формулы (2.1). При этом надо учитывать глубину цвета — количество битов, отводимое в компьютере для кодирования цвета. Глубина цвета в 24 бита означает, что на кодирование каждого из трех базовых цветов выделяется по 8 битов. В этом случае для каждого из цветов возможны N = 2® = 256 уровней интенсивности. Уровни интенсивности задаются десятичными (от минимального — О до максимального — 255) или двоичными (от 00000000 до 11111111) кодами. Color = R + G + В, для глубины цвета 24 бита О < R < 256, О < G < 256, О < В < 256 (2.1) При минимальных интенсивностях всех базовых цветов получается черный цвет, при максимальных интенсивностях — белый цвет. При максимальной интенсивности одного цвета и минимальной двух других — красный, зеленый и синий цвета. Наложение зеленого и синего цветов образует голубой цвет (Cyan), красного и зеленого — желтый цвет (Yellow), красного и синего — пурпурный цвет (Magenta) (табл. 2.1). О В системе цветопередачи RGB палитра цветов формируется путем сложения красного, зеленого и синего цветов. Технологии создания и обработки текстовой информации 161 Таблица 2.1. Формирование цветов в системе цветопередачи RGB Цвет Формирование цвета Черный ■ В1аск= 0 + 0 + 0 Белый White = Rmax + Gmax + Вшах Красный Red = Rmax + 0 + 0 Зеленый 1 Green = 0 + Gmax + 0 Синий Blue = 0 + 0 + Bmax Г олубой Cyan = 0 + Gmax + Bmax Пурпурный Magenta = Rmax + 0 + Bmax Желтый Yellow = Rmax + Gmax + 0 Палитра цветов в субстрактивной системе цветопередачи CMYK. Субстрактивная система цветопередачи CMYK применяется в полиграфии. Напечатанное на бумаге изображение человек воспринимает в отраженном свете. Если на бумагу краски не нанесены, то падающий белый свет полностью отражается, и мы видим белый лист бумаги. Если краски нанесены, то они поглощают определенные цвета. Окружающие нас предметы частично поглощают свет, а частично отражают. Белый листок бумаги выглядит белым потому, что он отражает все цвета спектра (составляющие белый свет) и ни один не поглощает. Если осветить белый листок синим светом, бумага будет выглядеть синей. При освещении белым светом листа зеленой бумаги, бумага будет выглядеть зеленой, так как она поглощает все цвета, кроме зеленого. Если осветить красную бумагу синим светом, то она будет выглядеть черной, потому что синий свет она не отражает, и направленный на нее свет полностью поглощается. При печати изображений на принтерах используется палитра цветов в системе CMY. Основными красками в ней являются Cyan — голубая. Magenta — пурпурная и Yellow — желтая. Цвета в палитре CMY формируются путем наложения красок базовых цветов. Цвет палитры Color можно определить с помощью формулы (2.2), в которой интенсивность каждой краски задается в процентах. 162 Глава 2 Color = с + М + Y, где 0% < С < 100%, 0% < М < 100%, 0% < Y < 100% Цвета в палитре CMY формируются путем вычитания из белого цвета определенных цветов. Нанесенная на бумагу голубая краска поглощает красный свет и отражает зеленый и синий свет, и мы видим голубой цвет. Нанесенная на бумагу пурпурная краска поглощает зеленый свет и отражает красный и синий свет, и мы видим пурпурный цвет. Нанесенная на бумагу желтая краска поглощает синий свет и отражает красный и зеленый свет, и мы видим желтый цвет. Смешивая попарно краски системы CMY, мы получим базовые цвета в системе цветопередачи RGB. Если нанести на бумагу пурпурную и желтую краски, то будет поглощаться зеленый и синий свет, и мы увидим красный цвет. Если нанести на бумагу голубую и желтую краски, то будет поглощаться красный и синий свет, и мы увидим зеленый цвет. Если нанести на бумагу пурпурную и голубую краски, то будет поглощаться зеленый и красный свет, и мы увидим синий цвет. Смешение трех красок — голубой, желтой и пурпурной — должно приводить к полному поглощению света, и мы должны увидеть черный цвет. Однако на практике вместо черного цвета получается грязно-бурый цвет. Поэтому в цветовую модель добавляют еще один, истинно черный цвет. Так как буква В уже используется для обозначения синего цвета, для обозначения черного цвета принята последняя буква в английском название черного цвета ЫасК, т. е. К. Расширенная палитра получила название CMYK. В струйных принтерах для получения изображений высокого качества используются четыре картриджа, содержащие базовые краски системы цветопередачи CMYK. В системе цветопередачи CMYK палитра цветов формируется путем наложения голубой, пурпурной, желтой и черной красок. В графических редакторах обычно имеется возможность перехода от одной модели цветопередачи к другой. Это можно сделать как с помощью мыши, перемещая указатель по цветовому полю, так и вводя параметры цветовых моделей с клавиатуры в соответствующие текстовые поля. Технологии создания и обработки текстовой информации 163 Таблица 2.2. Формирование цветов в системе цветопередачи CMYK Цвет Формирование цвета Черный 8/ac/(=C + M + Y = W-G-B-R = K Белый White = (С = 0. М = 0, Y = 0) Красный FK?.:4 Red = Y + M=W-G-B = R Зеленый ■ Green = Y + C=W-R-B = G Синий щ В1ив = М + С= W-R-G = B Г олубой Cyan = Y = W-R = G + B Пурпурный Magenta = M = W- G = R + B Желтый Ye//ow = Y = W-B = R + G Вопросы для размышления 1. Чем различаются и где применяются системы цветопередачи RGB и CMYK? 2.1.7. Цветоделение в полиграфии Многокрасочная печать. Цветной оригинал труднее воспроизвести, чем штриховой и полутоновый, так как для этого требуется цветоделение. Цвета аддитивного смешения — синий, зеленый и красный — образуются при наложении друг на друга соответственно голубого и пурпурного, голубого и желтого, пурпурного и желтого цветов. Чтобы точно воспроизвести требуемый цвет, например зеленый или оранжевый, нужно точно воспроизвести соотношение в нем трех цветовых составляющих — желтого, голубого и пурпурного. Цветоделение в современной полиграфии — процесс подготовки цветных изображений к печати несколькими красками. Данная технология использует принцип субтрактивного синтеза цвета, предполагающий, что на материал, отражающий или пропускающий свет (например, бумагу или прозрачную пленку), наносятся слои цветных красителей, каждый из которых «вычитает» из белого цвета свою долю спектра. 164 Глава 2 Традиционно цветоделение осуществлялось в типографиях с помощью оптических фильтров, в настоящее время процесс автоматизирован и реализован программно в различных компьютерных системах, предназначенных для верстки или обработки изображений для печати, в частности в издательских пакетах и системе обработки документов в формате PDF (например, Adobe Acrobat Professional). Вопросы для размышления О 1. Какая система цветопередачи используется в полиграфии? Практическая работа 2.5 Цветоделение Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows ХР/Vista. Цель работы. Научиться создавать цветоделение в формате PDF в Adobe Acrobat Professional. Задание. Реализовать цветоделение плаката «Краткая история Вселенной» в формате PDF. Л Цветоделение плаката «Краткая история Вселенной» в формате PDF 1. В операционной системе Windows XP/Vista запустить редактор PDF формата Adobe Acrobat Professional и открыть в нем плакат «Краткая история Вселенной» в формате PDF. 2. Ввести команду Щополнителъно-Допечатная подготовка-Просмотр цветоделения]. В появившемся диалоговом окне Просмотр цветоделения последовательно оставить флажок только у одного субтрактивного цвета (голубого, пурпурного, желтого, черного). Технологии создания и обработки текстовой информации 165 Просмотреть результат цветоделения. Кряткая ucTopfu Вссзсююй Kpvmut HCTOfim Всбясятей K|tsnt»i мстрйя Всеабнной 2.2. Компьютерные языковые словари Существуют разные виды компьютерных языковых словарей: толковые, семантические, переводные и другие. Переводные компьютерные словари вляются многоязычными, так как дают возможность пользователю выбрать языки (например, современный словарь ABBYY Lingvo содержит 10 языков) и направление перевода (например, англо-русский, испанско-русский и т. д.). Компьютерные словари позволяют также осуществлять быстрый поиск нужных слов, часто с учетом морфологических форм и с возможностью поиска сочетаний слов (примеров употребления). Кроме основного словаря общеупотребительных слов компьютерные словари могут содержать десятки специализированных словарей по областям знаний (например, современный словарь ABBYY Lingvo содержит 128 словарей по разным тематикам: технике, медицине, информатике и др.). Также компьютерные словари могут являться мультимедийными, т. е. предоставлять пользователю возможность прослушивания слов в исполнении дикторов, носителей языка. 166 Глава 2 Вопросы для размышления О 1. Какие преимущества имеют компьютерные языковые словари перед традиционными бумажными? Практическая работа 2.6 Перевод с использованием компьютерных словарей Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista или Linux. Цель работы. Научиться переводить слова и словосочетания с использованием компьютерного словаря ABBYY Lingvo в операционной системе Windows и компьютерного словаря StarDict в операционной системе Linux. Задание. Реализовать перевод слов и словосочетаний с использованием компьютерного словаря ABBYY Lingvo в операционной системе Windows и компьютерного словаря StarDict в операционной системе Linux. л Перевод с использованием компьютерного словаря ABBYY Lingvo В операционной системе Windows XP/Vista запустить компьютерный словарь ABBYY Lingvo. В появившемся диалоговом окне Lingvo с использованием соответствующих кнопок панели инструментов выбрать языки и направление перевода (например, анг-лийский-русский). Перевод Сервис Справка Я ^ Вс* словари е1 IS Английсю^ В Испанский В Итааьянсхий В Китайосий ш Латносий а Неь*ецхий В РуСО04Й И ТурщкиЙ В УкрамнсшЙ ■ Фрвниухо*й . сойюЯёППЗёга^^ се три! се output KXt( ressor »esetlef и Технологии создания и обработки текстовой ннформахщи 167 3. В диалоговом окне Lingvo с использованием соответствующих кнопок панели инструментов или раскрывающихся списков выбрать словарь, группу словарей или все словари. Ввести в строку ввода или выбрать из списка английское слово или словосочетание (например, computer). computer abuse computer access device cornpuier access device input computer access device output солфШег access networlt con^uler access processor conpuler ActiMtad typesetter com(4tler addicton computer aided anatysts El 4. Нажать кнопку Перевести жать клавишу {Enter}. или на клавиатуре на- s. Появится карточка перевода, содержащая транскрипцию, варианты перевода и тематические словари, где был найден перевод данного слова. 'Ш Дформыслова 14><айтхвк^о«1ке iDomputer {jngvoUmvp^ (Ел-Ru) [kdfn'pjutd] 1. сущ 1) юмишьютвр: (эпектроннО')вьмислительнай машива, ЭВМ pei'sonal cofT^iter — г^рсона/11^ый ком1ьютер el-purpose compiler — многа^епевой к(ж«льют^, универсальный юзмпыотгф cUess coniputer — ю>мльюгвр для И1ры 8 иихмагы 2) тот. кто вычисляет, человек, делаюиа1й подсчеты, рвсчбтчик Syn: leckoner 2. прип. в^^числительиый, комлыоториый. машинный <;ompot0( centre — >юмш..Ю7ер41мй центр; вычистггельный цекгр computet Bids — средства вычислительной ге«гихи ц computer automalron -- компьюторизация I conTputer tecdttios вы'гиспитальншт техита п; Н1ЙКМ1АВ£М1ММЙС - eUt^oUniversa) (En*Rxi) С Collins (En-ErO Iw Computers (En-Ru) ^ UngvoEconomics (En-Ru) % Patents (En-Ru) A Polytechnical ffn-Ru) J Pt^ks (En-Ru) Ф Engineering <£n-Ru) Building (En-Ru) Й Auto (En-fUi) "4 IwgvoScience (Сл-йи> -^Попскмэде '^Яалвриуть все ABBYY Lingvo существенно сократит время на поиск перевода при работе во внешних приложениях. С ABBYY Lingvo можно переводить незнакомые слова или словосочетания в иностранном тексте, не отрываясь от чтения и не переключаясь в другое приложение. В результате перевода можно получить всплывающее окно перевода или карточку с переводом. 6, В диалоговом окне Lingvo ввести команду [Сервис-HacmpoiXKu]. В появившемся диалоговом окне Настройки выбрать пункт Перевод и установить соответствующие флажки. 168 Глава 2 С ПОМОЩЬЮ электронного словаря компании ABBYY можно просмотреть грамматические формы слова. Таким образом, программа ABBYY Lingvo может помочь выбрать правильное написание слова. Например, вы не уверены, как правильно сказать: *5 бит» или «5 битов». 7. В диалоговом окне Lingvo в строку ввода ввести «бит» и нажать кнопку Показать формы слова . Данный словарь показывает, что можно сказать и «бит», и «битов». т llwpwmnMifcrt I бит 1 бит 1 flgrWK • биту • битим || 1 8»»*гтепы*Я1 » бит биты и 1 битом 1 битими 1 L 1 Прядпокм# 1 бит* ^ 6ит«1 В состав системных словарей ABBYY Lingvo входит грамматический словарь, являющийся гипертекстовым справочником по грамматике английского языка. Грамматический словарь английского языка (LingvoGrammar (En-Ru)) содержит около 500 грамматических тем (статей), инфор- Технологии создания и обработки текстовой информации 169 мацию о нормах речевого этикета и о различиях между британским и американским вариантами английского языка (в частности, о различиях в произношении некоторых слов и т. д.)- 8. Чтобы открыть LingvoGrammar, наберите в строке ввода слово Grammar и нажмите клавишу {Enter}. В результате откроется карточка, содержащая оглавление грамматического словаря. __________„ .... Onwnnw lmgM>Grammef Сплавление грамматического словаря f Parts of speech (Части речи) 2 Syntax (Синтанснс) 3 Speech smietiofts (Речевые ситуации) 4. American and GrHish (Различия американского и британского вариантов английского языка) 5. Spekng (Правопнсвнив) 6 Punctuation (Пунктуация) (Еп-йУ ^ПоисяаЦ^ Перевод с использованием компьютерного словаря StarDict й Ф 1. В операционной системе Linux запустить компьютерный словарь StarDict. 2. В диалоговом окне словаря StarDict ввести в строку ввода или выбрать из списка (нажать кнопку Список) английское слово или словосочетание (например, computer). На клавиатуре нажать клавишу {Enter}. 3. Появится карточка перевода, в правой части содержащая варианты перевода и тематические словари, где был найден перевод данного слова, а в левой части — перечень используемых словарей. Qe^nnW {сегя(и*** ♦ Coip * rS .e я И, iCevr^ Mtoc computer ,>v •M4iCfur«/b>a« i tWLMH* IdH-WIMHW 1.. 1 мчклаг*/»; .|>арг. caw4 |)*троЯггеа1Ч»ев»*юнн«« >>е*аи2м 1 I <— 9CJAt —> T. ! computer V ■ dcvKrciWxMigtneic М п ¥ПЗТЦ <«oboU S' 4 \>.w Ч 170 Глава 2 2.3. Системы оптического распознавания символов При создании электронных библиотек и архивов путем перевода книг и документов в цифровой формат, при переходе предприятий от бумажного документооборота к электронному, при необходимости отредактировать полученный по факсу документ используются системы оптического распознавания символов. Сначала необходимо распознать структуру размещения текста на странице: выделить колонки, таблицы, изображения и т. д. Далее выделенные текстовые фрагменты графического изображения страницы необходимо преобразовать в текст. Текст, преобразованный из графической формы в символьную (текстовую), можно далее обрабатывать любыми текстовыми редакторами. Системы оптического распознавания символов экспортируют результаты распознавания в популярные офисные приложения (Microsoft Office, OpenOffice.org и др.), причем распознанный текст можно сохранить в различных текстовых форматах: DOCX, DOC, ОПТ, RTF, TXT, HTML и др. Оптическое распознавание символов (англ. Optical Character Recognition, OCR) — электронное конвертирование изображений символов и букв в текст, редактируемый на компьютере. Перевод осуществляется программным путем, после получения изображения со сканера или фото. Алгоритмы оптического распознавания. Если исходный документ имеет типографское качество (достаточно крупный шрифт, отсутствие плохо напечатанных символов или исправлений), то распознавание осуществляется методом сравнения с шаблонами символов. Сначала растровое изображение страницы разделяется на изображения отдельных символов. Затем каждый из них последовательно накладывается на шаблоны символов, имеющихся в памяти системы, и выбирается шаблон с наименьшим количеством точек, отличных от входного изображения. При распознавании документов с низким качеством печати (машинописный текст, факс и т. д.) используется метод распознавания символов по наличию в них определенных Технологии создания и обработки текстовой информации 171 структурных элементов (отрезков, колец, дуг и др.). Любой символ можно описать через набор параметров, определяющих взаимное расположение его элементов. Например, буква Н и буква И состоят из трех отрезков, два из которых расположены параллельно друг другу, а третий соединяет эти отрезки. Различие между буквами состоит в величине углов, которые образует третий отрезок с двумя другими. При распознавании структурным методом в искаженном символьном изображении выделяются характерные детали и сравниваются со структурными шаблонами символов. В результате выбирается тот символ, для которого совокупность всех структурных элементов и их расположение больше всего соответствует распознаваемому символу. Наиболее распространенные системы оптического распознавания символов используют как растровый, так и структурный метод распознавания. Кроме того, эти системы являются «обучающимися» (для каждого конкретного документа они создают соответствующий набор шаблонов символов), и поэтому скорость и качество распознавания многостраничного документа постепенно возрастают. Оптическое распознавание документов. Интеллектуальные системы оптического распознавания позволяют быстро и точно переводить бумажные документы, цифровые фотографии документов и PDF-файлы в электронный вид. При распознавании они полностью сохраняют оформление документа: иллюстрации, картинки, списки, таблицы и т. д. Полученные результаты можно исправлять в текстовых редакторах, сохранять в разных форматах, отправлять по электронной почте и публиковать в Интернете (рис. 2.4). вк •а н опсрьот файла Радактироамчв иди <спфм*е*4ие новых локуы«шо« Ршлозмамни» Рис. 2.4. Оптическое распознавание символов 172 Глава 2 Анализ и обработка документа целиком, а не постранично, позволяют распознать такие элементы его внутренней структуры, как верхние и нижние колонтитулы, сноски, гиперссылки, подписи к картинкам и диаграммам, стили, шрифты и т. д. Таким образом, система оптического распознавания точно распознает и максимально полно сохраняет исходное оформление любого документа. Оптическое распознавание изображений. Системы оптического распознавания символов работают со всеми популярными моделями сканеров, а теперь для распознавания необязательно оснащать компьютер сканером, так как современные системы позволяют распознавать фотографии документов, сделанные цифровой камерой. Существует множество случаев, когда для получения изображения удобнее использовать фотоаппарат, нежели сканер. Например, во время деловой встречи вне офиса, при распознавании вывесок или объявлений, в библиотеке, особенно при работе с толстыми или старинными книгами. Не говоря уже о том, что цифровой фотоаппарат работает в несколько раз быстрее любого сканера. Системы оптического распознавания символов работают с большим количеством графических файлов распространенных форматов: PDF, BMP, JPEG, TIFF, PNG и других. Для сканирования большого количества страниц в программах предусмотрен специальный режим, позволяющий работать как с автоподатчиком сканера, так и без него. Системы оптического распознавания символов позволяют даже предварительно обработать изображения, чтобы повысить качество распознавания и упростить дальнейшую работу с документом. Программы могут очистить изображение от «мусора», устранить перекосы и искажение строк, инвертировать изображение, повернуть или зеркально отразить изображение, обрезать изображение, стереть часть изображения. Мультиязьгчность систем оптического распознавания. Системы оптического распознавания символов являются многоязычными (например, FineReader распознает документы на 184 языках, а для 38 языков предусмотрена проверка орфографии). Системы оптического распознавания форм. При заполнении налоговых деклараций, при проведении переписей населения и г. д. используются различного вида бланки с Технологии создания и обработки текстовой информации 173 ПОЛЯМИ. Рукопечатные тексты (данные вводятся в поля печатными буквами от руки) распознаются с помощью систем оптического распознавания форм и вносятся в компьютерные базы данных. Сложность состоит в том, что необходимо распознавать написанные от руки символы, довольно сильно различающиеся у разных людей. Кроме того, система должна определить, к какому полю относится распознаваемый текст. Системы распознавания рукописного текста. С появлением первого карманного компьютера Newton фирмы Apple в 1990 году начали создаваться системы распознавания рукописного текста. Такие системы преобразуют текст, написанный на экране карманного компьютера специальной ручкой, в текстовый компьютерный документ. Вопросы ;мышления 1. Какие алгоритмы оптического распознавания символов используются? 2. Какие форматы графических файлов документов чаще всего используются на входе систем оптического распознавания, и какие форматы текстовых файлов документов могут существовать на их выходе? Практическая работа 2.7 Оптическое распознавание документов в формате изображений Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista или Linux с подключенным сканером. Цель работы. Научиться распознавать документы в формате изображений с использованием системы распознавания ABBYY FineReader в операционной системе Windows и системы распознавания Коока в операционной системе Linux. Задание. Распознать документы в формате изображений с использованием системы распознавания ABBYY FineReader в операционной системе Windows и системы распознавания Коока в операционной системе Linux. 174 Глава 2 BS Распознавание с использованием системы распознавания ABBYY Finereader 1. В операционной системе Windows XP/Vista запустить систему распознавания ABBYY FineReader. 2. В появившемся диалоговом окне FineReader получить графическое изображение документа путем сканирования (щелкнуть по кнопке Сканировать), либо пзггем открытия готового графического файла (щелкнуть по кнопке Открыть). 3. Для преобразования графического изображения документа в текстовый формат щелкнуть по кнопке Распознать. В правой части окна FineReader появится текстовый документ. Технологии создания и обработки текстовой информации 175 «МП7 FtnrteMn 14 Study (<АМп ■ U - . : С«рвк Ом • •и ' Гi^'#u . -1 Пр«ктмч*емя рабоч 14 Сс9ииромии« «6у1Мй(ного* я распознямняе an#ifrpo*woro r*«toiOf о до«су1яента 'Дипяе. OrcmayKMMYv я ормРркммть » УМОр^паыЯ 1№ПОШЯ ЯРПИГКГ стряяпл' >'Ч«4мшя. Ьфжкш BMOnaiKiM pt»rar- • ясойлкммийг рмшгаиа •’б^'ижшя» a*i^iiieHTe4 * ясасаяммввериятаав itttMiieTpotcnRa^cMMiu. Смяя^оаляж^и^яяясям’Окя^пиамажм 1«»сммг«я«10^ммУасяп1в»ммяя«м Mterewe* OeWeDertWW leeglH 1. keemtib сжпму еминуянмяч к овппескмо расоома-ммю хмммяпоя КМ)110К1Я 0fie0- Cptdemmo tAc'vuqd iftcr»M^ 0j^4 ImagptiJ. Wr.-.<»ie ‘ '___________________ 4. Для сохранения отсканированного и распознанного текстового документа в определенном приложении выбрать из списка это приложение (например, Microsoft Word). Для выбора формата сохраняемого текстового документа щелкнуть по кнопке Форматы и в появившемся диалоговом окне Форматы выбрать формат. Мэо^ сохранений реаудьтатов { выбрать ирмлвжение: в Сспфвнить страницы й «стопой word ^ШловоИ Word с оянои Крупный план Я мкгомА PQwarPoM IbSterWhter й С1тпр»инП| арамицы по ьлктрониев почта i Какие стрвни1»| оофвкять О ObiaowmiMaapaiaibi фвоа стр»1мцм Отиеш Распознавание с использованием системы распознавания Коока 1. В операционной системе Linux запустить систему распознавания Коока. 176 Глава 2 2. В левой части диалогового окна Kooka с помощью ползунков Разрешение, Scan speed. Brightness и Contrast установить подходящие для данного изображения текста значения. С помощью раскрывающегося списка Scan mode выбрать нужный тип сканирования. Щелкнуть по кнопке Сканировать, в правой части диалогового окна Kooka появится отсканированное изображение документа. Ввести команду [Изображение-Распознать текст из всего изображения...}. Появится окно, содержащее распознанный текст документа. фяАй |вкбр«же*«е Ца^тряйч £праога * -1 Галерея Hew»eK-p«ckMiS(4n)et$300C * Scanrnede %Со1вг !*.' Ра9ре<ийиие »iQ»tTWSS £вт« ; iTrO^ Спецка/ьнм таблиц» 1«*шф»еок> иамеяжт*-- :-ЭОсат^1с—т k;4il Орошотр Пр««ПмвС4ыи рабрш 1.4 Сяамиромниф «вуаммного» » раолоэмавами» »ч11<Л>оимого тметоаого до«ум4«(г« Лмм** т »и*<1ре»ж*гь * «мягтаииямА В*$**»»Ы MWOlMtWWMi • амАчмамяч ры>к<«>|гя «Фгамамия* «arywrittm 0lfl«4 Ооамлмм W|iW| f. EUa^mm wawy емшм1#и**яжя a «iwfw«w рягнмма ■амм —ifiiMia киа«яап4 |//ра*ра««и «emw/#d#yfrv Ср*Л-чнт Uttfmmft Utf*rr WtrnMrtA ttfftt* /Чгаяам /iMifie#) I? в49хИв1 70H*«.»e«T Глава 3____________________ Технология хранения, отбора и сортировки информации При изучении данной главы рекомендуется установить следующее программное обеспечение для операционных систем Windows и Linux: Первая помощь П01.0. н • Microsoft Office 2007 (Access 2007).; Пя CD-5 • Редактор реестра; Операмионная система Windows ЕЖ • MyHeritage Family Tree Builder Windows-CD ЕЖ т 3.1. Базы данных Для структурированного хранения и обработки связанных между собой данных используются базы данных. О База данных (БД) представляет собой определенным образом организованную совокупность данных некоторой предметной области, хранящуюся в компьютере. База данных является информационной моделью организации данных предметной области. 178 Глава 3 Базы данных можно классифицировать по различным признакам. Рассмотрим их классификацию по используемой модели данных. Принято выделять реляционные, иерархические и сетевые модели данных. В настоящее время реляционные БД являются доминирующими, поэтому о них в основном и пойдет речь в учебнике. Реляционные базы данных. Реляционная модель базы данных была предложена в 1969 г. математиком, научным сотрудником фирмы IBM Э. Ф. Коддом. Слово «реляционная» происходит от английского «relation» — отношение. Это строгое математическое понятие, относящееся к теории множеств. Для пользователя базы данных отношения удобно представлять в виде неупорядоченных таблиц. Таблицы состоят из столбцов и строк и содержат данные. Строка таблицы соответствует некоторому объекту моделируемой предметной области. Строки таблицы называются записями. Записи разбиты на поля столбцами таблицы. Столбец таблицы описывает некоторый атрибут объектов и содержит значения этого атрибута. Столбцы таблицы называются полями. Таким образом, каждая запись представляет собой набор значений атрибутов данного объекта; значение каждого атрибута — в своем столбце. Каждое поле характеризуется своим именем (именем соответствующего атрибута) и типом данных, представляющих собой значения данного атрибута. Поле базы данных — это столбец таблицы, соответствующий некоторому атрибуту объектов предметной области, содержащий значения этого атрибута. Запись базы данных — это строка таблицы, соответствующая некоторому объекту моделируемой предметной области, содержащая набор значений атрибута этого объекта. Каждая строка в таблице должна быть уникальной, т. е. иметь значения полей, отличающие ее от всех других строк. Набор полей, значения в которых уникальны для каждой строки, называется первичным ключом. Каждая таблица Технология хранения, отбора и сортировки информации 179 должна иметь первичный ключ, что позволяет однозначно идентифицировать каждую запись в таблице. Если такой ключ не объявлен, то им считаются все поля таблицы в совокупности. Первичный ключ — это поле (группа полей), значение которого однозначно олределяет запись в таблице. В качестве первичного ключа можно использовать поле, содержащее данные типа счетчик, а также другие поля таблицы: код товара, инвентарный номер и т. п. Тип поля определяется типом данных, которые оно содержит. Поля могут содержать данные следующих основных типов: • Текстовый. Содержит до 255 символов. • Числовой. Число. • Счетчик. Вид числового типа. Последовательность целых чисел, которые задаются автоматически при вводе записей. Эти числа не могут быть изменены пользователем. • Денежный. Вид числового типа. Число в денежном формате. • Дата/Время. Дата и/или время. • Логический. Значение Истина (Да) или Ложь (Нет ). • Гиперссылка (например, в интерфейсе БД Microsoft Access). Ссылка на информационный ресурс в Интернете (например, Web-сайт). Поле каждого типа имеет свой набор свойств. Наиболее важными свойствами полей являются: • Размер поля. Определяет максимальную длину текстового или числового поля. • Формат поля. Устанавливает формат данных. • Непустое поле. Указывает на то, что данное поле обязательно надо заполнить. Рассмотрим, например, базу данных «Процессоры», которая содержит перечень объектов (процессоров). Для описания свойств в базу данных можно включить следующие поля различных типов: Ms п/п (счетчик). Название процессора (текстовое поле). Частота (числовое поле). Год выпуска (поле даты). Наличие нескольких ядер (логическое поле) и Сайт производителя (гиперссылка) (табл. 3.1). 180 Глава 3 Таблица 3.1. Реляционная база данных, представленная в виде таблицы № п/п Название процессора Частота, МГц Год выпуска Наличие нескольких ядер Сайт производителя 1 Intel Pentium 266 1993 Нет www.intel.com 2 AMD Duron 1300 1999 Нет www.amd.com 3 Intel Pentium 4 3200 2000 Нет www.intel.com 4 AMD Antlon X2 3200 2005 Да www.amd.com 5 Intel Core 2 Quad 2900 2008 Да www.intel.com Иерархическая модель данных. Иерархическая модель данных графически может быть представлена как перевернутое дерево, состоящее из объектов различных уровней. Верхний уровень (корень) занимает один объект, второй — объекты второго уровня и т. д. Между объектами существуют связи, каждый объект может быть связан с несколькими объектами более низкого уровня. Такие объекты находятся в отношении предка (объект, более близкий к корню) к потомку (объект более низкого уровня), при этом объект-предок может не иметь потомков или иметь их несколько, тогда как объект-потомок обязательно имеет только одного предка. Объекты, имеющие общего предка, называются близнецами. Базой данных, основанной на иерархической модели, является Реестр Windows, в котором хранится вся информация, необходимая для нормального функционирования компьютерной системы (данные о конфигурации компьютера и установленных драйверах, сведения об установленных программах, настройки графического интерфейса и др.). Содержание реестра автоматически обновляется при установке нового оборудования, инсталляции программ и т. д. Сетевая модель данных. Сетевая модель данных является обобщением иерархической за счет допущения объектов, имеющих более одного предка, т. е. каждый элемент вышестоящего уровня может быть связан одновременно с любыми элементами следующего уровня. Вообще, на связи между объектами в сетевых моделях не накладывается никаких ограничений. Примером сетевой модели данных является, например, генеалогическое древо семьи. Технология хранения, отбора и сортировки информации 181 Вопросы для размышления О 1. в чем заключается разница между записью и полем в реляционной базе данных? 2. Поля каких типов могут присутствовать в базе данных? 3. Чем отличается первичный ключ от остальных полей базы данных? 4. В чем состоит главное отличие иерархической модели данных от сетевой модели данных? 3.2. Системы управления базами данных Системы управления базами данных (СУБД). Создание баз данных, а также обработка данных (в том числе операции отбора и сортировки данных) выполняются специальными комплексами программ — системами управления базами данных (СУБД). Таким образом, необходимо различать собственно базы данных (БД), которые являются определенным образом организованными наборами данных, и системы управления базами данных (СУБД) — программы, управляющие хранением и обработкой данных. Система управления базами данных (СУБД) — это комплекс программ, позволяющий создавать базы данных, а также обеспечивающий обработку данных (в том числе дополнение, отбор, модификацию данных). Реляционные СУБД. В качестве примеров СУБД, использующих реляционную модель данных, можно привести в операционной системе Windows приложение Access, входящее в Microsoft Office, а в операционной системе Linux — систему управления базами данных Knoda. Таблица. Как было сказано выше, в реляционных базах данных вся информация представлена в виде таблиц. Это базовый объект БД, все остальные объекты (запросы, формы, отчеты и пр.) создаются на основе существующих таблиц (производные объекты). 182 Глава 3 Запросы. В реляционных СУБД запросы являются важным инструментом для пользователя. Главное предназначение запросов — это отбор данных, удовлетворяющих определенным условиям, в отсортированном (упорядоченном) по желанию пользователя виде. Формы. Формы позволяют отображать данные, содержащиеся в таблицах или запросах, в более удобном для восприятия виде. При помощи форм можно добавлять в таблицы новые данные, а также редактировать или удалять существующие. Форма может содержать рисунки, графики и другие внедренные объекты. Отчеты. Они предназначены для печати данных, содержащихся в таблицах и запросах, в красиво оформленном виде. Иерархические и сетевые СУБД. Это СУБД, использующие, соответственно, иерархическую и сетевую модели данных. В иерархических и сетевых СУБД могут существовать все вышеперечисленные формы представления данных. Вопросы для размышления 1. Какие функции выполняют различные объекты (таблицы, формы, запросы, отчеты и макросы) в реляционной базе данных? Практическая работа 3.1 Создание реляционной базы данных Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться создавать реляционные базы данных в СУБД Microsoft Access 2007 в операционной системе Windows. Задание. Создать реляционную базу данных «Процессоры» (см. табл. 3.1) в операционной системе Windows с помощью СУБД Microsoft Access 2007. Технология хранения, отбора и сортировки информации 183 Создание реляционной базы данных с помощью СУБД Microsoft Access 2007 1. В операционной системе Windows XP/Vista запустить СУБД Microsoft Access 2007. Прежде всего необходимо определить структуру базы данных, т. е. определить количество полей, их названия и типы данных, в них хранящихся. База данных «Процессоры» будет содержать следующие поля: • М п/п (счетчик) — первичный ключ, однозначно идентифицирующий запись. • Название процессора (текстовый) — содержит название процессора. • Частота (числовой) — содержит частоту процессора. • Год выпуска (дата) — содержит год выпуска процессора. • Наличие нескольких ядер (логический) — принимает значение Да (два или четыре ядра) или значение Нет (одно ядро). • Сайт производителя (гиперссылка) — содержит ссылку на сайт производителя процессора в Интернете. 2. Щелкнуть по значку Кнопка Microsoft Office (5). В появившемся диалоговом окне щелкнуть по кнопке Параметры Access. В появившемся диалоговом окне выбрать пункт Основные. В текстовом поле Рабочий каталог: ввести путь к создаваемой базе данных. Щелкнуть по кнопке ОК. 3. Щелкнуть по значку Кнопка Microsoft Office Создать в СУБД Microsoft Access 2007 новую базу данных с помощью команды \Создатъ'\. В появившемся диалоговом окне в текстовом поле Имя файла: присвоить файлу базы данных имя Процессоры, accdb. Щелкнуть по кнопке Создать. 184 Глава 3 В окне Процессоры: база данных ввести команду [Режим-Конструктор]. Ввести имена полей базы данных в столбце Имя поля. В столбце Тип данных с помощью раскрывающегося списка для каждого поля установить требуемый тип данных. Если это необходимо, в нижней части окна внести коррективы в свойства поля (в окне Свойства поля). Щелкнуть по кнопке Ключевое поле и задать первичный ключ, которым в данном случае является поле Л? п/п. 5. Для сохранения таблицы ввести команду [Сохранить]. 6. После создания таблицы ее имя добавляется в окно базы данных, и таблицу можно легко открыть либо в режиме Конструктор (команда [Режим-Конструктор]), либо в режиме Таблица (команда [Режим-Режим таблица]). Режим Таблица позволяет просматривать и изменять структуру таблицы, а также вводить и редактировать данные. 7. Для просмотра структуры таблицы в окне базы данных «Процессоры» на вкладке Таблицы дважды щелкнуть на значке Таблица!. Появится окно таблицы: ;: Ц i см|М(*^ мню Налтлл^шм АогЫМГ $мшпЛтш * Ы. ^ J * • U л ж ш -т ш 9 Ф -.плеч X WWB ^Сочмипк W It It Г ^ й / Д ■ Д ■ ill-1-Ei - wr * ^ ' Эд^ю**1Ч«^ие ' » -W»«4 ■t • Hww ■ЗЬШ*» -> UJP-»* *• 1«м:г1Г№ i«M4 •l* тйОаимм • ,Мэмниевооц#с<ор« Год»мпжм ккяодийи;СМтпроимоамг«м Ввод данных в таблицу базы данных и их редактирование мало чем отличается от аналогичных действий в других офисных приложениях. Технология хранения, отбора и сортировки информации 185 При вводе данных в режиме Таблица в поле маркера записи, которое расположено слева от полей таблицы, может отображаться один из следующих символов: * (звездочка) обозначает пустую запись в конце таблицы; ► (стрелка) обозначает выделенную (активную) запись; ^(карандаш) обозначает, что в записи были сделаны изменения. Введем в таблицу данные. 8. Заполнить базу данных, последовательно вводя записи о процессорах: Перемещение между записями можно осуществлять с помощью мыши, клавиш управления курсором или полосы прокрутки. Для быстрого перемещения между записями в базе данных можно использовать кнопки перемещения на панели Запись, которая находится в нижней части окна таблицы. Реляционная база данных «Процессоры» _ . хранится в папке ..\IIKT11prof Wmdows-CD Практическая работа 3.2 Редактирование системного реестра Windows Аппаратное и программное обеспечение. Компьютер с установленной операционной системой WindowsXP/Vista. 186 Глава 3 Цель работы. Получить представление о редактировании базы данных, основанной на иерархической модели данных, — системного реестра Windows. Задание. В системном реестре Windows изменить размер системного шрифта. Редактирование Windows системного реестра Для просмотра и редактирования системного реестра Windows можно использовать программу regeditexe. Однако редактирование реестра следует проводить только в случае крайней необходимости и при условии понимания выполняемых действий! Неквалифицированное редактирование реестра может привести компьютер в неработоспособное состояние. Редактор реестра Windows состоит из нескольких ветвей HKEYjCLASSES ROOT, HKEYjCURRENT USER, HKEYJOURRENT MACHINE, HKEYJUSERS и HKEY_ CURRENT CONFIG, исходящих из одного корня Компьютер. Рассмотрим только одну из них HKEYJCURRENT CONFIG. 1. Запустить редактор реестра Windows regedit.exe. 2. Раскрыть ветвь Software, а в ней — ветвь Fonts. В правой части реестра откроется таблица, которая содержит пункт LogPixels, который определяет размер системного шрифта. ^ Редактор р«еара^ Файл Правка Вид Набранное Справка ” Компкютер Имя Тип Значение " А HKEV_CLASSES_ROOT ; аЬ'|((По умолчанию) REG_S2 (значение не присвоено) - А. HKEY.CURRENT.USER Р j8i|LogPlxels REG.DWORD ОхОХХХЮсВ (200) ^ - k HKEY.LOCAL. MACHINE ^ * HKEY.USERS к HKEY.CURRENT.CONFIG - i Software А Fonts .. к Microsoft System KoMniiiOTep\HKEY.CURRENT.CONFlG\Software\Fonts Технология хранения, отбора и сортировки информации 187 3. Изменить его размер, например увеличить до 200 в десятичной системе. После перезагрузки системы системный шрифт увеличится. Пцммтр* Системе иочис/мипя Ш»етмкдц8т»|>ич»я« 9 Десйтичнеп Пармитр: LegPneeb 4. Чтобы вернуть начальное значение размера шрифта, необходимо снова выполнить все операции и ввести размер системного шрифта 120 в десятичной системе счисления. Практическая работа 3.3 Создание генеалогического древа семьи Аппаратное и программное обеспечение. Компьютер с установленной операционной системой WindowsXP/Vista. Цель работы. Научиться создавать генеалогическое древо семьи. Задание. Создать базу данных «Генеалогическое древо семьи», основанную на сетевой модели данных. 9 Создание базы данных «Генеалогическое древо семьи» Создадим базу данных «Генеалогическое древо семьи», основанную на сетевой модели данных, в программе MyHeritage Family Tree Builder. 1. Запустить программу MyHeritage Family Tree Builder командой [npozpaMMbi-MyHeritage.com-MyHeritage Family Tree Builder'\. 2. В появившемся диалоговом окне программы на Панели инструментов выбрать Добавить человека или в низу диалогового окна выбрать Добавить семью. 188 Глава 3 Щ. . F«ni^ ТГм BiriMsf (Шп*Й Ф«й4 Редмсгиромть Просмотр Человек Семья Графики Отчеты Из^»ниое Поиск Инсгрументы Справка Ф УЙ о I Щ I Jfc _© Генеалогическое дерево {«*Снкп |(;,Дврбм -Ш ; Бмстрм! поиск Имя ПОКОАОМСЯ J г«и«апопм*асм д«р*м пока пуао Для начала цатмггв по ссылка 'Добавить самые’ ниже и ообааьта передо са«м i генеапоопаосоы дарам Ракоыанквжся начинать с самых Отэкия poacrtweniKca, малрнмар. с eawaii собстаанно* самь* и семьи сиФтпму«ет(а ^асм «ы жвнатм1<аамлкам) кли с самьи ро(Ыт«йа«. Затаи шы сможет# лапю раоимрить танаалогичасхоа дераао. добаюяя а нага □ 3. Вставить в генеалогическое древо своих родителей. 4. Поочередно выделить родителей и вставить в генеалогическое древо родителей своих родителей, т. е. дедушек и бабушек. 5. Поочередно выделить всех родственников в генеалогическом древе семьи и в контекстном меню объектов ввести сведения о них. АзвЬйпь иицо.тcwtBuewроасгмж<1ы>шOTKOUWHHWW ' " ' й Д^ы« человека Поп; (^)Мужоюй 0Жвно«й 0He«eecwo Имя (имена). I Факошия. ▼ Электронная почта Роаодение Дата Меао. ^Скончался И. :и Подробнее Ш в результате мы получим генеалогическое древо семьи, которое является примером базы данных, основанной на сетевой модели данных. Технология хранения, отбора и сортировки информации 189 База данных «Генеалогическое древо семьи» хранится в папке ..\IIKT11prof Windows-CD 3.2.1. Использование формы для просмотра и редактирования записей Записи базы данных можно просматривать и редактировать в виде таблицы или в виде формы. Выше мы работали с таблицей базы данных. Однако часто вид Таблица не позволяет видеть полностью всю информацию на экране. Если база данных содержит достаточно много полей, а значения полей содержат много символов, то не все поля таблицы могут умещаться на экране, а значения полей могут быть видны не полностью. Форма одновременно отображает одну запись в удобном для пользователя виде. В процессе создания формы можно указать, какие поля базы данных включить в форму, как расположить поля в окне формы, а также как можно сделать форму визуально привлекательной. Фактически с помощью формы создается графический интерфейс доступа к базе данных, который может содержать различные управляющие элементы (текстовые поля, кнопки, переключатели и т. д.), а также надписи. Обычно на форме размещаются надписи, являющиеся именами полей базы данных, и текстовые поля, содержащие данные из базы данных. Пользователь может изменять дизайн формы (размер, цвет и т. д.) управляющих элементов и надписей. Примерами форм могут являться Визитка в базе данных «Записная книжка» или Карточка в базе данных «Библиотечный каталог», которые содержат лишь одну запись базы данных, зато представленную в удобном для пользователя виде. Вопросы для размышления 1. Какие достоинства и недостатки имеют таблицы и формы при отображении реляционной базы данных? 190 Глава 3 Практическая работа 3.4 Создание формы для реляционной базы данных Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться создавать формы для реляционных баз данных в СУБД Microsoft Access 2007 в операционной системе Windows. Задание. Создать форму для реляционной базы данных «Процессоры» (см. практическую работу 3.1) в операционной системе Windows с помощью СУБД Microsoft Access 2007. Создание формы для реляционной базы данных с помощью СУБД Microsoft Access 2007 1. В операционной системе Windows XP/Vista запустить СУБД Microsoft Access 2007. Создание формы можно проводить различными способами. 2. Ввести команду [Создание] и на появившейся панели инструментов Формы выбрать способ создания формы. Форма Разделенная Несколько форма элементов 1^ Сводная диаграмма d Пустая форма ^ Другие формы '' Формы .. > 1 Конарукгор форм Создадим форму для базы данных «Процессоры» с помощью Пустой формы. 3. Щелкнуть по значку Форма и ввести команду [Добавить поля]. В пргшой части диалогового окна Процессоры: база данных появится перечень полей из Таблицы!. Перетащить нужные поля на заготовку формы. Технология хранения, отбора и сортировки информации 191 J ^ ''V Процессоры: база данных ^e$s ^7) - КС рабогас- Гмвиш) Соммйе ан91шие да1«1ые р«6о*в с 6а$аим данных йхгеМ упрр^у^очмъ ^ А Р«хаы Шрмф( Jjpve'if » I P ,£|^, dMOmta п . PPSi3 AfTofoowar ыь * д* л г iwe 1 Аагаформат i.tfUHwrk, yt»._,.-j[r»;e xJjCiMcox пояе^ г I’ с ' й!' W; Ji 8 № п/п: Название процессора: lintel Pentium [266 20.05.1993 Частота (МГц) Год выпуска; Наличие нескольких ядер: ® Сайт лроизводктеля; • htto://vAtfw.mtel.cofn : 1 M S I } ~ ЬД j I По^ 4 ► Поля доступные • данной пилтаалецм» 'I Я) Таблпца! 1фш«нть тв4п»ч{<- i N®nrt> j Название прочессора , Частота (КСц) | Год выпуска Налннне неяолыоа адер Псивзшь toBwe поля а ^ пнудеи «KTOHHwct >ani№t, < и т. д.). Простые фильтры содержат условие отбора записей только для одного поля. Сложные фильтры содержат несколько условий для различных полей. В результате применения сложного фильтра будут отобраны только те записи, которые удовлетворяют всем условиям одновременно. Можно сказать, что условия в сложных фильтрах связаны между собой операцией логического умножения. Практическая работа 3.5 Отбор данных с помощью фильтров из реляционной базы данных Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться отбирать данные с помощью фильтров в реляционных базах данных в СУБД Microsoft Access 2007 в операционной системе Windows. Задание. В базе данных «Процессоры» с помощью фильтров отобрать записи, содержащие сведения о процессорах, имеющих несколько ядер, и частота которых больше 3000 МГц. Отбор данных с помовцью фильтров из реляционной базы данных с помощью СУБД Microsoft Access 2007 1. В операционной системе Windows XP/Vista запустить СУБД Microsoft Access 2007. Создадим сложный фильтр для отбора данных из базы данных «Процессоры». 2. Открыть таблицу базы данных «Процессоры», дважды щелкнув по соответствующему значку в окне базы данных. Техвология хранения, отбора и сортировки информации 193 В появившейся Таблице! вьвделить поле Частота. 3. Ввести команду [Главная-Фильтр]. В появившемся списке выбрать пункт Числовые условия и условие отбора Больше... В появившемся диалоговом окне в текстовое поле ввести 3000. Настраиваемый фильтр 4. Аналогично выполнить пункты 2-3 для поля Наличие нескольких ядер. 5. В появившемся диалоговом окне таблицы будут выведены записи, удовлетворяющие условиям отбора. В данном случае найден лишь один такой процессор — AMD AntlonX2. :.nrr-r 6. Для того чтобы увидеть таблицу целиком, необходимо отменить фильтры командой [Главная- Дополнительно-Очистить все фильтрьС]. 7-5241 194 Глава 3 3.3.2. Отбор данных с помощью запросов Запросы позволяют осуществлять отбор данных из баз данных так же, как и фильтры. Различие между ними состоит в том, что запросы являются самостоятельными объектами базы данных, а фильтры привязаны к конкретной таблице или форме. Запрос является производным объектом от таблицы. Однако результатом выполнения запроса является также таблица, т. е. запросы могут использоваться вместо таблиц. Например, форма может быть создана как для таблицы, так и для запроса. Запросы позволяют отобрать те записи, которые удовлетворяют заданным условиям. Запросы, как и фильтры, бывают простые и сложные. Простой запрос содержит одно условие, а сложный запрос — несколько условий для различных полей. В процессе создания запроса можно отбирать не только записи, но и поля, которые будут присутствовать в запросе. Вопросы длярвзмышления 1. Чем отличаются запросы от фильтров при отборе данных из табличной базы данных? Практическая работа 3.6 Отбор данных с помощью запросов из реляционной базы данных Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться отбирать данные с помощью запросов из реляционных баз данных в СУБД Microsoft Access 2007 в операционной системе Windows. Задание. Из базы данных «Процессоры» с помощью запроса отобрать записи, содержащие сведения о процессорах, имеющих несколько ядер, и частота которых больше 3000 МГц. Технология хранения, отбора и сортировки информации 195 Отбор данных с помощью запросов из реляционной базы данных с помощью СУБД Microsoft Access 2007 1. В операционной системе Windows XP/Vista запустить СУБД Microsoft Access 2007. Создадим запрос для базы данных «Процессоры». 2. Ввести команду [Создокие-Кокструктор запросов]. В появившемся диалоговом окне Добавление таблицы выбрать пункт Таблица!. Щелкнуть по кнопке Добавить. Добваление таблицы . ! ’ fihiinpoc^f То6я»»1 и 3. в появившемся диалоговом окне Процессоры: база данных осуществить выбор полей из Таблицы!, которые будут отображаться в таблице запроса (в строке Вывод на экран: необходимо у этих полей поставить флажки). В полях базы данных, по которым будут отбираться записи для запроса, в строке Условие отбора: необходимо указать условия, которым должны удовлетворять данные в этих полях. 196 Глава 3 В появившемся диалоговом окне запроса будут выведены записи, удовлетворяющие условиям поиска. В данном случае (как и с помощью фильтров) будет найден лишь один такой процессор — AMD Antlon Х2. 3.3.3. Сортировка данных в реляционной базе данных записи хранятся в неупорядоченном виде. При выдаче данных пользователю часто бывает удобно их упорядочить, т. е. расположить в определенной последовательности. Упорядочение записей называется сортировкой. Сортировка записей производится по какому-либо полю. Значения, содержащиеся в этом поле, располагаются в определенном порядке, который определяется типом поля; • по алфавиту, если поле текстовое; • по величине числа, если поле числовое; • по дате, если тип поля Дата/время и т. д. Сортировка записей может производиться либо по возрастанию, либо по убыванию значений поля. В процессе сортировки целостность записей сохраняется, т. е. они переставляются целиком. Могут реализовываться вложенные сортировки, т. е. сортировки, которые последовательно производятся по нескольким полям. После сортировки по первому указанному столбцу производится сортировка по второму столбцу и т. д. Сортировка записей при выдаче их пользователю — это упорядочение записей по значениям одного или нескольких полей. Технология хранения, отбора и сортировки информации 197 4 Вопросы длявЯзмышления 1. Чем отличается сортировка записей от вложенной сортировки? Практическая работа 3.7 Сортировка данных в реляционной СУБД Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться сортировать данные в реляционной СУБД Microsoft Access 2007 в операционной системе Windows. Задание. В базе данных «Процессоры»: • произвести сортировку по одиночному полю; • произвести вложенную сортировку с помощью запроса. Сортировка данных в СУБД Microsoft Access 2007 1. В операционной системе Windows XP/Vista запустить СУБД Microsoft Access 2007. Произведем сортировку записей из базы данных «Процессоры» по произвольному полю. 2. В окне Процессоры: база данных активизировать объект Таблица!. 3. Выделить произвольное поле базы данных и в контекстном меню выбрать пункт Сортировка.... В зависимости от типа поля (хранящихся в нем данных) сортировка будет выполняться по возрастанию или убыванию значений данного типа. В нашей базе данных «Процессоры» в поле Частота имеются две записи (3 и 4), которые имеют одинаковое значение 3200. Чтобы упорядочить эти записи, произведем вложенную сортировку — сначала по полю Частота, а затем по полю Название процессора. 198 Глава 3 Access позволяет выполнять вложенные сортировки с помощью запросов. 4. В окне Процессоры: база данных активизировать объект Таблица! Запрос. 5. В нижней части згшроса в строке Сортировка: ввести из раскрывающихся списков параметры сортировки в выбранных полях. Поит Икм таблицк Ссртмромк Вммянамрак, Услои отбор*: яроишрр»'1ЧФаоп (МГц)} Таблица! Габлк^! Таблица! по у'быванмо по аотрасганию И к к 1Гол амиуека? 1Намт»енескоткчяяАер 1Слйгпроп»сц$тм1! Таблица! ! Таблица! i Таблица! Ш Е 91 I И Чтобы выполнить сортировку по двум или более полям, укажем, какие из полей будут использоваться в качестве внутренних и внешних полей сортировки. 6. В режиме Конструктор щелкнуть по кнопке Страница свойств. В появившемся Окне свойств в пункте Порядок сортировки указать последовательность названий полей базы данных, которая будет соответствовать порядку вложенной сортировки. (Ьтсвойств X Возможен выбо^:»: Свойства запроса Общие Описание___________ _Режим по ум<^чанмю _В|мвод всех пол^___ ?намс1В1й .Уникальные знл*4е*шя Режщ* таблицы ]Нет^ все I Уймталы<ые записи___________ _Цза двиных-исгоммик_________ Crpoia под^слюцении-истомннк I' 6ло1о<ров1са записей________ , Тип набора записей время ox>^gat^ ООвС___________ ]Нет tTfxyutfH) Отсу«теует_ Динв14нчедо1й набор сорти^^ :|Чааота (МуЩ! [Название процессора] ; в результате получим последовательно отсортированные по двум полям записи из базы данных «Процессоры». Змроа^ : Нлэмние процессор* Частот* (МГц) ГО|ДВЫПУСН* Наличие нескольких rytep |С«йт производителя ^ 1 Intel Pentium 266 20.OS.1W3 Q htto://wvirw.iniel.corn 2 AMO Duron 1Э00 09.09.1999 Я htto://w«pw.aind.cow 5 Intel Core 2 Qu*d 2900 18.01.2008 У tmi>;y/>ww.it)iel,ci>in 4AM0AnttonX2 3200 03.06.200S 1^ h»p://w\Kl.IO(n 3 Intel Pentium 4 32tX> М.10.3000 Ti hop-//w*!V».intel.cow> Технология хранения, отбора и сортировки информации 199 3.3.4. Печать данных с помощью отчетов Можно осуществлять печать непосредственно таблиц, форм и запросов. Однако для красивой печати документов целесообразно использовать отчеты. Отчеты являются производными объектами баз данных и создаются на основе таблиц, форм и запросов. Практическая работа 3.8 Подготовка отчетов Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться создавать простейшие отчеты из реляционных баз данных в СУБД Microsoft Access 2007 в операционной системе Windows. Задание. Напечатать содержимое базы данных ♦Процессоры»: • традиционным простым способом; • с помощью отчета. Печать содержимого реляционной базы данных с помощью СУБД Microsoft Access 2007 1. В операционной системе Windows XP/Vista запустить СУБД Microsoft Access 2007. 2. Щелкнуть по значку Кнопка Microso/tO//ice *** . Ввести команду [Печать-Печать]. Содержимое базы данных ♦Процессоры» будет напечатано, однако не очень красиво. 7л6лнца1 М«п/п J Наэввиие процессор* • Ч»аоге(МГ|0 Гсу^мтусие Наличие нескольких f^ep Сайт производителя 1 Intel Pentium 2 AMD Duron lintel Pentium4 4AM0 Antk>nX2 S Intel Core 2 Quad 266 1300 3200 3200 2900 20Л5.1993 09D9.1999 04Л0.2000 ОЭЛ6.2005 18.01.2008 □ П □ в в http:y/www intelxom htte7/www,amd.com htto://wwwintel.cofn Создадим отчет, который будет красиво распечатывать содержимое базы данных ♦Процессоры». 200 Глава 3 3. В окне Процессоры: база данных ввести команду [Создание-Отчет]. 4. Для улучшения отчета ввести команду [Режим-Режим макета]. Появится отчет базы данных «Процессоры», который может быть распечатан. Таблица! 23 июля 2008 г.; 22:56:23: N?n/n Наззвние процессора Частота (МГц) Год выпуска Наличие нескольких ядер Сайт производителя ' 1 Intel Pentium 266 20.05.1993 □ httD://wvvw.intel.com j 2 AMD Duron 1300 09.09.1999 □ htti>://www.emd.coni , 3 Intel Pentium 4 3200 04.10.2000 htto://www.intei.coni 4 AMDAntlon X2 3200 03.06.2005 ь httD://www.amd.com S Intel Core 2 Quad 2900 шо1.20оа в httD://www.»nteLcom Страница 1 из 1 3.4. Многотабличные базы данных Достаточно часто встречается ситуация, когда хранить все данные в одной таблице реляционной БД неудобно и нерационально. Таблица может содержать слишком большое количество полей. При этом во многих полях могут дублироваться данные, что увеличивает необходимое для хранения место и замедляет процедуры обработки данных. Поясним это на примере. Пусть реляционная база данных «Комплектующие компьютера и поставщики» содержит информацию о различных комплектующих и имеет поля: Счетчик, Наименование, Описание, Название фирмы, Адрес, Цена (табл. 3.2). Данные записей 1и2, Зи4, 5и6, 7и8 дублируются в полях Наименование, Описание, Название фирмы и Адрес. Таким образом, почти половину объема таблицы составляет избыточная, дублированная информация. Проанализируем причину дублирования. Комплектующие компьютера имеют два неотъемлемых свойства: Наименование и Описание. Название фирмы. Адрес и Цена не являются свойствами комплектующих компьютера, они являются свойствами поставщика. Технология хранения, отбора и сортировки информации 201 Таблица 3.2. Комплектующие компьютера и поставщики Счетчик Наимено- вание Описание Название фирмы Адрес Цена, руб. 1 Системный блок Intel Core 2 Quad Фирма1 Адрес1 9000 2 Системный блок Intel Core 2 Quad Фирма2 Адрес2 10000 3 Монитор 19" Фирма1 Адрес1 5000 6000 4 Монитор 19" Фирма2 Адрес2 5 Клавиатура 104 КЛ. Фирма1 Адрес1 250 6 Клавиатура 104 КЛ. Фирма2 Адрес2 300 7 Мышь Беспроводная Фирма1 Адрес1 300 8 Мышь Беспроводная Фирма2 Адрес2 350 Естественно выделить из исходной таблицы две отдельные таблицы: «Комплектующие» и «Поставщики». Чтобы однозначно идентифицировать записи в этих таблицах, введем в них первичные ключи. В таблицу «Комплектующие» введем поле Код комплектующих (табл. 3.3). Таблица 3.3. Комплектующие Код комплектующих Наименование Описание К1 Системный блок Intel Core 2 Quad К2 Монитор 19" КЗ Клавиатура 104 КЛ. К4 Мышь Беспроводная В таблицу «Поставщики» введем поле Код поставщика (табл. 3.4). Таблица 3.4. Поставщики Код поставщика Назв^ие фирмы ' Адрес П1 Фирма1 Адрес1 П2 Фирма2 Адрес2 О том, куда поместить информацию о цене, поговорим позже. 202 Глава 3 Вопросы для размышления О 1. в каких случаях использование многотабличной базы данных дает преимущества над базой данных, состоящей из одной таблицы? 3.4.1. Связывание таблиц После создания множества таблиц, содержащих данные, относящиеся к разным аспектам базы данных, необходимо обеспечить целостность базы данных. Для этого необходимо связать таблицы между собой. При связи в отношении «один-ко-многим» каждой записи в одной (главной) таблице могут соответствовать несколько записей в другой (подчиненной) таблице, а запись в подчиненной таблице не может иметь более одной соответствующей ей записи в главной таблице. Если одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице — несколько записей в первой таблице, то реализуется связь в отношении «многие-ко-многим». В нашем случае реализуется именно такая связь. Одной записи в таблице «Комплектующие» соответствуют две записи в таблице «Поставщики», так как устройства одного вида продаются двумя фирмами. Одной же записи таблицы «Поставщики» соответствуют четыре записи таблицы «Комплектующие», так как одна фирма продает устройства четырех разных видов. Две таблицы, находящиеся в отношении «многие-ко-многим», могут быть связаны только с помощью третьей (связующей) таблицы. Таблицы «Комплектующие» и «Поставщики» можно связать в отношении «многие-ко-мно-гим» путем создания двух связей с отношением «один-ко-многим» для таблицы «Цена». Таблицы «Комплектующие» и «Поставщики» будут главными по отношению к таблице «Цена». Связь между таблицами устанавливает отношения между совпадающими значениями в полях с одинаковыми именами. С первичным ключом главной таблицы связывается одноименное поле подчиненной таблицы {внешний ключ). Технология хранения, отбора и сортировки информации 203 В главной таблице «Комплектующие» поле Код комплектующих является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одноименное поле, которое является внешним ключом. Таблица «Поставщики» также является главной по отношению к таблице «Цена». Ее поле Код поставщика является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одноименное поле, которое является внешним ключом. Таким образом, таблица «Цена» должна содержать следующие поля (табл. 3.5): • Счетчик (первичный ключ); • Код комплектующих (поле внешнего ключа для таблицы «Комплектующие»); • Код поставщика (поле внешнего ключа для таблицы « Поставщики »); • Цена (числовое поле). Таблица 3.5. Цена Счетчик Код комплектующих Код поставщика Цена, руб. 1 К1 П1 9000 2 К1 П2 10000 3 К2 П1 5000 4 К2 П2 6000 5 КЗ П1 250 6 КЗ П2 300 7 К4 П1 300 8 К4 П2 350 Межтабличная связь обеспечивает целостность данных. Связанные таблицы представляют собой единую базу данных, в которой можно создавать новые таблицы, а также запросы и отчеты, содержащие данные из связанных таблиц. Прежде чем приступить к созданию многотабличной базы данных, необходимо продумать ее проект. Проект представляет собой модель будущей базы данных, состоящей из объектов и их связей, необходимых для выполнения поставленных задач. Процесс проектирования включает, прежде всего, определение перечня необходимых таблиц и задание их структуры, а также установки типа связей между этими таблицами. 204 Глава 3 Вопросы для размышления О 1. Какие типы связей между таблицами возможны в многотабличных базах данных? Практическая работа 3.9 Многотабличные базы данных Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Научиться создавать реляционные многотабличные базы данных и создавать к ним запросы в СУБД Microsoft Access 2007 в операционной системе Windows. Задание: • создать реляционную многотабличную базу данных «Компьютеры*, в качестве основных объектов которой будут использованы три таблицы: «Комплектующие», «Поставщики» и «Цена». Таблицы «Комплектующие» и «Поставщики» должны быть связаны отношением «многие-ко-многим» с помощью таблицы «Цена»; • создать запрос, который осуществляет отбор данных, необходимых для закупки дешевого системного блока. Создание реляционной мяоготабличной базы данных с помощью СУБД Microsoft Access 2007 1. В операционной системе Windows XP/Vista запустить СУБД Microsoft Access 2007. Система управления базами данных Microsoft Access позволяет создавать многотабличные базы данных, а также обеспечивать их обработку с помощью запросов, форм и отчетов. Итак, прежде всего, необходимо создать три таблицы: «Комплектующие» «Поставщики» и «Цена». 2. Щелкнуть по значку Кнопка Microsoft Office (S)- Технология хранения, отбора и сортировки информации 205 Создать в СУБД Microsoft Access 2007 новую базу данных с помощью команды [Создать]. В появившемся диалоговом окне в текстовом поле Имя файла: присвоить файлу базы данных имя Компьютеры, accdb. Щелкнуть по кнопке Создать. Таблица «Комплектующие» должна содержать три текстовых поля: Код комплектующих. Наименование и Описание. 3. В диалоговом окне Компьютеры: база данных создать таблицу «Комплектующие» и ввести данные. -'Й» С Microsoft Access . iiw«5s>'V> |rioae»i3fl| Создана ; Екешнмс данмв»е : с базами. Acrobat - Режим таблицы Ш '. ■ й * А ; « 'Я №свм буфер Шрифт Текст Записи . об*мна ’ ' ш' ■ ’ ■ ' • /По paiMtpy. Перейти в ^ форм«» другое окно' Окис i ИЗ Комллектуюи^е ! i 8 :.’Г Код комплектующих Нэименование Описание !*| 1 1« К1 Системный блок Intel Core 2 Quad 1- :*1 к2 Монитор 19" КЗ Клавиатура 104 кл. ч S. К4 Мышь Беспроводная «» ► ■ iPSiriS ‘^Квып.'нжгукшйе Имйтмм Кад номпдеитующих ; Отмсвние ТтАм**шл ТекствйыЙ TMCroftwfl ТеигтовыЙ 4. Ввести команду [Режим-Конструктор] . В качестве первичного ключа задать поле Код комплектующих. Таблица «Поставщики» должна содержать три текстовых поля: Код поставщика. Название фирмы и Адрес. Первичным ключом является поле Код поставщика. 5. Создать таблицу «По- ставщики», выполнив рассмотренную выше последовательность действий. Ввести данные. Кодпостав(цин« ^ П1 ^ П2 Г. На^ние фирмы .Ацрес 4>ирма1 Адрес! 4>ярма2 Адреса Таблица «Цена» должна содержать поля Счетчик, Код комплектующих. Код поставщика, а также поле Цена. В качестве первичного ключа этой таблицы будет использоваться поле Счетчик. 206 Глава 3 6. С ПОМОЩЬЮ аналогичных действий создать таблицу «Цена» и ввести данные. Таблицы «Комплектующие» и «Поставщики» должны быть связаны отношением «один-ко-многим» с таблицей «Цена». Таблица «Цена» содержит поля Код комплектующих и Код поставщика, являющиеся внешними ключами исходных таблиц. Установим связи между таблицами. 7. Ввести команду [Работа с базами данных-Схема данных]. Связь в отношении «многие-ко-многим» между таблицами «Комплектующие» и «Поставщики» через таблицу «Цена» будет установлена. 0<емз дайны* Созданная многотабличная база данных «Компьютеры» состоит из трех связанных таблиц и поэтому обладает целостностью данных. Это значит, что можно создавать запросы, формы и отчеты, которые используют данные из разных таблиц. Создадим, например, запрос, который осуществляет отбор данных, необходимых для закупки дешевого системного блока. 8. Ввести команду [Режим-Конструктор]. Технология хранения, отбора и сортировки информации 207 В таблице «Комплектующие» для поля Код комплектующих ввести условие равно "К1", в таблице «Поставщики» для полей Название фирмы и Адрес установить вывод на экран, в таблице «Цена» для поля Цена ввести условие <9500. ^Запрос! _ р| X Поле: Код комплектующих ' Название фирмы Ценз Адрес [Ж1гз Имя таблицы; Комплектующие ^ Постави^^т ‘ Цена i Посг^щикн И Сортировка: i ^ 1 Вьшод на экран; ш 1 ш ' ш \ т . Условие отбора; ‘К1“ <9500 или: ▼ 10. Ввести команду [Режим-Режим таблицы]. Появится результат выполнения запроса. ^ Запрос! ■ 9 • Код комплектующих Название фирмы К1 Фирма! Зк Hei фийв>ра J .Поиск Запись; к 1 из 1 ► w Mi Цена I Адрес 9 000р. Адрес! и Глава 4________________ Технология создания и обработки графической информации При изучении данной главы рекомендуется установить следующее программное обеспечение для операционной системы Windows: Первая помощь № П01.0. • система векторной графики CorelDraw; CD-44 St • система растровой графики ШрШ CD 31-36 Adobe Photoshop Глава 1. Кодирование и обработка графической Информатика и ИКТ>9 и мультимедийной информации 4.1. Цветовой охват Восприятие цвета человеком. Основной объем информации человек получает в виде зрительных образов с помощью света. Светом принято называть электромагнитное излучение с длиной волны от 440 до 700 нм. Только в этом диапазоне глаз может воспринимать электромагнитные волны. Меньшие значения соответствуют синей части спектра, а большие значения — красной части спектра. Волны за пределами этого диапазона называются ультрафиолетовыми (УФ) и инфракрасными (ИК). Технология создания и обработки графической информации 209 При работе на компьютере очень важно, чтобы выводимая информация была правильно представлена. При этом решающее значение имеет цвет. Для начала необходимо понять, как человек воспринимает цвета. Согласно теории цветного зрения, цвет воспринимается рецепторами светочувствительной сетчатой оболочки глаза человека — колбочками, которые чувствительны к красному, синему и зеленому свету, остальные цвета получаются в результате смешивания этих трех цветов. Кроме колбочек в сетчатке имеются более чувствительные к свету рецепторы-палочки, которые не способны различать цвета и отвечают за восприятия оттенков серого. Обычно при световосприятии раздражаются все три или два вида нервных окончаний (колбочек), и тогда глаз воспринимает сложный цвет. Глаз ощущает белый цвет, когда все виды нервных окончаний раздражаются одновременно и в одинаковой степени. Серый цвет ощущается глазом при одновременном раздражении нервных окончаний, но меньшей силы; черный цвет получается при отсутствии раздражения. Преобладающее раздражение какого-либо одного рецептора вызывает восприятие соответствующего цветового оттенка (рис. 4.1). ОДИНАКОВАЯ ИНТЕИСИВНОСТЬ R«красный < * 8-синий ЗЕЛЕНОГО БОЛЬШЕ R - красный Я G - зеленый ЯШ В-синий и »ШЕ Ф СИНЕГО МЕНЬШЕ R-Красный ЯШ G-зеленый ЯШ В -еин»^ UE Ф Рис. 4.1. Восприятие цвета человеком Таким образом, человек воспринимает цвет как сумму излучений трех базовых цветов: красного, синего и зеленого. Цветовой охват различных устройств. Цвет может быть представлен в природе, на экране монитора, на бумаге. Во всех этих случаях возможный диапазон цветов, или цветовой охват, будет разным. Самым широким диапазоном восприятия цвета (наибольшим цветовым охватом) располагает нормальный человеческий глаз. Цветовой охват обычно предстгшляется моделью Lab — цветовым пространством. В этой модели 210 Глава 4 значение светлоты отделено от значения хроматической составляющей цвета (тон, насыщенность). Светлота задана координатой Е (изменяется от О до 100, т. е. от самого темного до самого светлого), хроматическая составляющая — координатами х vi у. Первая обозначает положение цвета в диапазоне от фиолетового до зеленого, вторая — от фиолетового до пурпурного (рис. 4.2). Рис. 4.2. Цветовой охват человеческого глаза (а — фигура целиком), высококачественного слайда (б — белый треугольник), монитора (в — темный треугольник), печати (а — темный многоугольник) У цветной пленки цветовой диапазон шире, чем у монитора (у него проблемы с чистыми голубыми и желтыми цветами), который в свою очередь имеет более широкий диапазон (цветовой охват), чем устройства цветной печати (у них проблемы с цветами, составляющие которых имеют очень низкую плотность). Цветовой охват различных типов устройств, воспроизводящих цвет (начиная с цифровой камеры и заканчивая сложнейшими устройствами цифровой печати), показан на рис. 4.3. Технология создания и обработки графической информации 211 Рис. 4.3. Цветовой охват различных типов устройств Задачей конструкторов является расширение цветового охвата устройства. Например, в струйных принтерах увеличивается количество цветных картриджей, которые способны передать тона и полутона. Цветовая температура. Цвет имеет непосредственное отношение к температуре. При высокой температуре горения пламя имеет синий цвет. При низкой температуре горения цвет будет красным. Критерий измерения цветовой температуры используется для присваивания объективных числовых значений условиям освещения, при которых мы видим цвет. Цветовая температура выражается в градусах по шкале Кельвина. Солнце в полдень имеет цветовую температуру 5500 К, а утром и вечером его температура составляет 4000 К. Люминесцентная лампа дневного света имеет температуру 6500 К (рис. 4.4). (Считается, что именно такой свет испускает нагретое до данной температуры абсолютно черное тело.) Чем ниже цветовая температура, тем цвет ближе к красному; чем выше цветовая температура, тем цвет ближе к синему. Это объясняет, почему один и тот же красный элемент одежды будет выглядеть по-разному на улице и внутри при люминесцентном освещении. 100 000 К — цвет источника с «бесконечной температурой»; 7500 К — дневной свет с большой долей рассеянного от чистого голубого неба; 6500 К — стандартный источник дневного белого света; 5500 К — дневной свет, прямой солнечный; 3200-3250 К — киносъемочные лампы; 212 Глава 4 1. Небо в северных широтах 2. Пасмурное небо ------- 3. Пасмурное небо в полдень 4. Небо через 2 часа после восхода и за 2 часа до захода солнца---- 5. Небо через 1 час после восхода____ и за 1 часа до захода солнца 6. Небо накануне восхода и захода . солнца (К) 20000 15 000 10 000 7000 6500 6000 5500 5000 4500 4000 3500 3000 2500 2Ш <|- Люминесцентные лампы ----- Металлогалогенные лампы Люминесцентные лампы Ртутные лампы, МГЛ Металлогалогенные лампы Галогенные лампы Лампы накаливания Пламя свечи Рис. 4.4. Цветовая температура некоторых источников света 2800—2854 К — газонаполненные лампы накаливания с вольфрамовой спиралью; 2360 К — лампа накаливания, вакуумная; 2000 К — свет пламени свечи. Мы можем регулировать цветовую температуру экрана монитора компьютера (обычно от 5000 К до 9300 К). Таким образом, мы можем смещать цветовой охват монитора либо в красную область, либо в фиолетовую область. Ш Вопросы дл«^|^змышления 1. Насколько различается цветовой охват различных устройств? 2. Что такое цветовая температура? Какова цветовая температура различных источников света? Технология создания и обработки графической информации 213 4.2. Палитры RGB и CMY 2.1.6. Палитры цветов в системах цветопередачи RGB и CMYK Палитра RGB. Для моделирования цвета при обработке изображения используются палитры. Палитра — это способ описания цвета. Для излучаемого света (экран монитора) используется палитра RGB (Red — красный. Green — зеленый, Blue — синий). Палитра RGB описывает три основных цвета, воспринимаемых глазом человека. Каждая составляющая (красная, зеленая, синяя) имеет определенную интенсивность (яркость свечения соответствующей окрашенной лампочки), которая выражается числом от О до 255 и занимает один байт. Например, запись: R:0 G:255 В:0 описывает зеленый цвет (красной и синей составляющей нет, зеленая максимальная); R:255 G:255 В:0 описывает желтый цвет (красные и зеленые световые лучи одинаковой интенсивности воспринимаются как желтый цвет); Белый цвет получается, если все элементы имеют максимальную яркость — 255 (R:255, G:255, В:255). Палитра CMY. Палитра CMY используется для описания отраженного света (печать на бумаге) (Cyan — голубой, Magenta — пурпурный. Yellow — желтый). Краски поглощают одну часть спектра и отражают другую. Например, желтая краска поглощает синий цвет и отражает красный и зеленый. Смешение всех трех красок дает черный цвет (поглощаются все составляющие спектра белого света). На практике для получения стопроцентного черного цвета используется палитра CMYK, которая получается путем добавления черной краски (ЫасК — черный). Это связано с экономией краски и невозможностью точного наложения красок друг на друга в процессе печати. Кроме того, незначительные изменения плотности нанесения краски приведут к тому, что черный цвет будет получаться коричневым. На рис. 4.5 показан пример печати черного цвета тремя красками CMY и одной черной (К). Видно, что при печати текста или линий краски вылезают друг из-под друга, буквы становятся неровными, а линии — толще. 214 Глава 4 Черный цвет в системе C+M+Y Черный цвет в системе C+M+Y+K Рис. 4.5. Печать черного цвета Интенсивность каждой краски задается в процентах. Например, запись С: 100% М:0% Y:100% К:0% описывает зеленый цвет. Соответствие между палитрами RGB и CMYK показано на рис. 4.6. Рис. 4.6. Соответствие палитр RGB и CMYK О Цветовые справочники PANTONE®. Отображение цвета зависит от многих факторов. На практике нет однозначного соответствия палитр CMYK и RGB при передаче цвета на мониторе и на бумаге. В свою очередь, цветопередача разных мониторов может значительно различаться, также различается цветопередача при печати на бумаге различных типов. Фактическим стандартом в области идентификации цветов являются цветовые справочники фирмы PANTONE®. PANTONE® является разработчиком и производителем технологических решений в области выбора цвета и точной цветовой коммуникации. Уже более 40 лет имя PANTONE® известно во всем мире как универсальный цветовой язык для общения заказчиков, дизайнеров и производителей полиграфической, текстильной и прочей продукции. Идентификация цветов распространяется не только на изображения, выведенные на бумагу, но и на Технология создания и обработки графической информации 215 изображения, получаемые на экране. Пантонные справочники — это наборы листов с тестовой печатью с указанием числовых значений цвета в системе RGB или CMYK. Существуют различные варианты справочников с образцами печати на обычной, мелованной, глянцевой или матовой бумаге. www.pantone.ru При подготовке изображения для печати на недорогих массовых мониторах цвета будут искажены. Воспользовавшись справочником, надо указать нужные значения цвета. Цвета, полученные в результате печати, должны соответствовать цветам в справочнике. Имея цветовые справочники, можно откалибровать монитор. Надо нарисовать в программе верстки прямоугольники, закрасив их цветами согласно цветовому справочнику, а затем, используя регулировки монитора или выбирая различные профили в программах верстки, попытаться привести цвета на экране в соответствие с цветами в справочнике. Практически все современные видеокарты поставляются с драйверами, позволяющими производить настройку цветопередачи. Естественно, что такая калибровка будет достаточно приблизительной. Для правильной калибровки монитора, сканера и принтера используются специальные устройства — калибраторы. Калибраторы устанавливаются перед экраном монитора и подключаются к компьютеру с помощью USB-порта (рис. 4.7). Рис. 4.7. Монитор с калибратором и защитным кожухом Вопросы для размышления 1. Чем отличаются системы цветопередачи RGB и CMY? 2. Для чего необходимы цветовые справочники PANTONE®? 3. Для чего используются калибраторы? 216 Глава 4 4.3. Растровая и векторная графика 1.2. Растровая и векторная графика Информатика и ИКТ-9 Все компьютерные изображения разделяются на два типа: растровые и векторные. Они отличаются друг от друга способом описания изображения. В растровой графике все изображение делится на множество точек и сохраняется информация о цвете каждой точки. Качество изображения зависит от разрешения изображения — количества точек в строке на дюйм (1 дюйм = = 2,54 см). Например, разрешение 300 dpi (от англ, dots per inch — «точек на дюйм) означает, что на отрезке 2,54 см располагается 300 точек. Растровый файл содержит информацию о разрешении, системе цвета (RGB, CMYK и т. п.) и информацию о цвете каждой точки. Для вывода изображения на экран достаточно разрешения 72 dpi, для получения качественных отпечатков на бумаге необходимо разрешение 300 dpi. Растровые файлы теряют качество изображения при изменении масштаба. Если файл имел разрешение 100 dpi и размер 5x5 см, то при увеличении размера в 5 раз (25 х 25 см) разрешение станет 20 dpi. Даже если при этом изменить разрешение на большее, качество изображения не улучшится. Например, указав новое разрешение 40 dpi, при размере 25 X 25 см получим изображение, где фактически четыре стоящие рядом точки имеют одно значение цвета. Программа, конечно, попытается оптимизировать изображение, сделать более плавный переход, но это не повысит качество, а линии станут более размытыми. При редактировании растрового файла следует всегда оставлять исходное качественное изображение. Исходный файл следует создавать с разрешением, достаточным для его дальнейшей обработки. В векторной графике изображение формируется с помощью графических примитивов (точка, линия, окружность, прямоугольник и пр.), которые задаются их математическим описанием. Например, для описания окружности нужно указать ее радиус, толщину линии, цвета заливки и координаты центра. В дальнейшем можно без потери качества производить преобразования. Ниже, в практической работе 4.1, приводится пример масштабирования одного и того же изображения в растровом и векторном представлении. При этом видно, что векторное изображение масштабируется без потери качества. Технология создания и обработки графической информации 217 Рис. 4.8. Муаровый узор Муаровый узор (от франц. moire) — узор, возникающий при наложении двух периодических сетчатых рисунков. Явление обусловлено тем, что повторяющиеся элементы двух рисунков следуют с немного разной частотой и то накладывгпотся друг на друга, то образуют промежутки (рис. 4.8). Муаровый узор наблюдается при наложении друг на друга различных частей тюлевых занавесок. Понятие «муар» происходит от ткани муар, при отделке которой использовалось данное явление. Муаровый узор возникает при цифровом фотографировании и сканировании сетчатых и других периодических изображений, если их период близок к расстоянию между светочувствительными элементами оборудования. Этот факт используется в одном из механизмов защиты денежных знаков от подделки: на купюры наносится волнообразный рисунок, который при сканировании может покрыться очень згшетным узором, отличающим подделку от оригинала. ля ^в. Вопросы для Измышления 1. Чем различаются системы векторной и растровой графики? 2. Когда появляется муаровый узор? Практическая работа 4.1 Растровая и векторная графика Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. Цель работы. Создать изображение в системе векторной графики CorelDraw и изображение в системе растровой графики Adobe Photoshop. Задание. Создать текст и изменить его масштаб в системах векторной и растровой графики. 218 Глава 4 Векторные рисунки и растровые изображе- ния 1. В системе векторной графики CorelDraw поместить с использованием инструмента Текст на поле рисования текст «текст» и увеличить его в несколько раз с использованием инструмента Масштаб: текст текст 2. В системе растровой графики Adobe Photoshop поместить с использованием инструмента Горизонтальный текст на поле рисования текст «текст» и увеличить его в несколько раз с использованием инструмента Масштаб: текст текст 4.4. Устройства ввода графической информации в основном ввод графических изображений осуществляется с помощью сканера и цифровых фотокамер. Сканер. Рассмотрим принцип действия планшетных сканеров как наиболее распространенных моделей. Сканируемый объект кладется на стекло планшета сканируемой поверхностью вниз. Под стеклом располагается подвижная каретка с лампой и системой зеркал, движение которой регулируется шаговым двигателем. Свет, отраженный от объекта, через систему зеркал попадает на светочувствительную матрицу и передается в компьютер. За каждый шаг двигателя сканируется полоска объекта, которая потом объединяется с другими в общее изображение (рис. 4.9). Технология создания и обработки графической информации 219 Стекло Сканируемый объект С веточу вствител ьиая матрица Подвижная каретка с зеркалом и лампой Рис. 4.9. Устройство планшетного сканера Светочувствительная матрица состоит из фотодиодных элементов, чувствительных к свету. Перед каждым фотодиодом стоит светофильтр, пропускающий лучи только определенного цвета (красный, зеленый или синий). Стоящие три рядом элемента формируют изображение в системе RGB. В зависимости от способа сканирования объекта существуют следующие виды сканеров: а планшетные — наиболее распространенный вид сканеров. Представляет собой планшет, внутри которого под прозрачным стеклом расположен механизм сканирования; • слайд-сканеры — служат для сканирования пленочных слайдов, выпускаются и как самостоятельные устройства, и в виде дополнительных модулей к обычным сканерам; • сканеры штрих-кода — небольшие, компактные модели для сканирования штрих-кодов товара в магазинах. Сканер штрихкода представляет собой устройство, главная функция которого — чтение изображения штрихкода, представленного в виде совокупности белых и черных полос, и преобразование его в цифровой сигнал. Функцию преобразования выполняет специальный декодер, как правило, встроенный в сканер. Разрешение сканеров измеряется в точках на дюйм (dpi). Чем больше светочувствительных элементов у сканера, тем больше точек он может снять с каждой горизонтальной полосы изображения. Это и называется оптическим разрешением. Чем мельче шаг каретки, тем больше можно считать полос с изображения. Шаг каретки определяет аппаратное разрешение сканера. Например, разрешение 600x1200 dpi означает что количество светочувствительных элементов на дюйм — 600, шагов на дюйм — 1200. 220 Глава 4 Глубина цвета измеряется количеством оттенков, которые устройство способно распознать. Современные сканеры выпускают с глубиной цвета 24, 30, 36, 48 битов. Так как сканер работает в системе RGB, то при глубине цвета 24 бита на каждый канал (красный, зеленый, синий) приходится по одному байту. Цифровая фотокамера состоит из объектива и светочувствительной матрицы (рис. 4.10). В отличие от сканера светочувствительная матрица фотокамеры представляет собой не линейку, а плоскость, на которую через объектив фокусируется изображение. Матрицы сканера и фотокамеры имеют значительные различия. Каждый пиксель матрицы камеры закрыт светофильтром одного из цветов RGB. Зеленых элементов в два раза больше, чем красных и синих. Это связано с особенностью человеческого зрения, которое наиболее чувствительно к зеленому цвету, и при фотографировании камера должна принимать изображение так, как его воспринимает человек. Объектив Светочувствительная матрица Рис. 4.10. Устройство цифровой фотокамеры Вопросы для (йазмышления 1. Каково устройство сканера? Цифровой фотокамеры? 4.5. Устройства вывода графической информации Точки на экране монитора и бумаге. Находящиеся рядом мелкие точки разных цветов воспринимаются глазом человека как одна, состоящая из смеси красок. Например, две мелкие точки, светящиеся красным и зеленым светом, будут восприниматься как одна желтая. Расположенные рядом две Техвология создания и обработки графической информации 221 Точки в файле Точки экрана III III III III III III III III III Рис. 4.11. Точки на экране монитора капли краски на бумаге — желтая и синяя — будут восприниматься как зеленая. Это свойство используется при выводе изображения на экран монитора и при печати на бумаге. Вывод на экран монитора. Каждая точка экрана монитора состоит из трех рядом расположенных светящихся элементов (красного, зеленого, синего) (рис. 4.11). Так как монитор воспроизводит цвета в системе RGB, то перед выводом на экран информация о цвете точек переводится в эту систему. Элементы экрана могут светиться с разной интенсивностью, которая формирует полутона. Часто встречается представление цвета, в котором каждой компоненте отводится 8 битов (в общей сложности — 24 бита). Так в точке со значением цвета R:0 G:128 В:0 красный и синий элементы будут выключены, а зеленый будет светится «вполнакала». В современных устройствах отображения используется и более высокое разрешение — 32 бита на точку изображения. Вывод изображения на принтере. Цветное изображение печатается на бумаге с использованием четырех базовых цветов: С — голубой, М — малиновый, Y — желтый, К — черный. Для передачи полутонов при рисовании кистью художник смешивает в определенном количестве разные краски. Принтер не может смешивать краски в разной пропорции. Для передачи полутонов изменяется количество закрашенных точек на бумаге. Если в файле точка имеет плотность синего 50%, это значит, что на небольшом участке белой бзгмаги половина площади должна быть закрашена синей краской. Таким образом, одной точке растрового файла соответствует множество точек, распечатанных с помощью принтера Точка в файле Точка на бумаге Ш) Рис. 4.12. Точки, распечатанные на принтере (рис. 4.12). Допустим,что разрешение растрового файла 400 dpi, а разрешение принтера — 4800 dpi. Это значит, что каждой 222 Глава 4 точке файла соответствует напечатанный квадрат со стороной 4800/400 = 12 точек (см. рис. 4.12). Такой квадрат может передать 12x12 = 144 оттенка. Красящая лента \ Стержни Рис. 4.13. Принцип формирования изображения на матричном принтере Матричные принтеры. Матричные принтеры — это принтеры ударного действия. В печатающей головке матричного принтера находятся стержни. Под воздействием магнитного поля они выталкиваются из головки и через красящую ленту переносят изображение на бумагу. Перемещаясь, головка формирует строку (рис. 4.13). Матричные принтеры характеризует низкая разрешающая способность и малая скорость печати. Из-за возможности печати на рулонном материале и самокопирующейся бумаге такие принтеры наибольшее распространение получили в банковской сфере, кассовых аппаратах, в маркировочных устройствах. Лазерные принтеры. Лазерные принтеры используют технологию фотокопирования, называемую еще электрофотографической, которая заключается в переносе заряженных частиц тонера (красителя) на бумагу. Подобная технология печати применяется также в копировальных аппаратах. Лазерные принтеры характеризует высокая скорость печати и хорошая разрешающая способность, а также низкая стоимость тонера. Важнейшим конструктивным элементом лазерного принтера является вращающийся фотобарабан, с помощью которого производится перенос изображения на бумагу. Фотобарабан представляет собой металлический цилиндр, покрытый тонкой пленкой из фотопроводящего полупроводника. На небольшом расстоянии от барабана проходит проволока, на которую подается высокое напряжение. За счет этого образуется ионизированная область, и статический заряд переходит на фотобарабан. Тонкий лазерный луч, отражаясь от вращающегося зеркала, засвечивает на фотобарабане точки (количество максимально возможных точек на дюйм определяет разрешение лазерного принтера), повторяя выводимое изображение. На Технология создания и обработки графической информации 223 Фокусирующие линзы __-Зеркало засвеченных участкг1х статический разряд снимается. Частицы тонера имеют заряд, совпадающий по полярности с зарядом фотобарабана, поэтому на тех участках, где сохранился заряд, тонер отталкивается, а где заряд снят лучом лазера, притягивается. Бумага заряжается зарядом, противоположным по полярности заряду тонера. Проходя под фотобарабаном, она притягивает частицы тонера, и на листе формируется изображение. Это изображение еще не закреплено и легко снимается с бумаги. Проходя через нагретый вал-печку, тонер расплавляется и спекается с бумагой (рис. 4.14). Цветные лазерные принтеры последовательно наносят на бумагу базовые краски (голубая, пурпурная, желтая, черная). Для каждого цвета может использоваться отдельный фотобарабан (рис. 4.15). Вращаюшиеся зеркало Ламр Валик с тонером у) Фотобарабан Рис. 4.14. Принцип формирования изображения на лазерном принтере Голубой Пурпурный ж« Рис. 4.15. Принцип формирования изображения на цветном лазерном принтере Струйные принтеры. Струйные принтеры выводят изображение путем разбрызгивания краски. Головка струйного принтера состоит из резервуа- Красочный Капля ра с краской и тонкого сопла. Для выброса чернил применяются способы выдавливания или нагрева. При выдавливании чернил пьезоэлемент, встроенный в сопло, расширяется и выбрасывает каплю краски Рис. 4.16. Принцип формирова-(рис 4 161 ния изображения на струйном принтере 224 Глава 4 Струйные принтеры характеризует высокое качество печати и большой расход чернил. Из-за возможности печати на рулонном материале и использования различных видов краски струйные принтеры применяются для изготовления рекламных плакатов. Для этой цели используются специальные широкоформатные принтеры (струйные плоттеры). Офсетная печатная машина. В типографиях печать осуществляется в основном на офсетных машинах. Каждая секция офсетной печатной машины наносит одну краску. Полноцветное изображение получается при последовательном проходе бумаги через все печатные секции. Перед началом печати необходимо подготовить специальное клише — офсетную форму. Отредактированное на компьютере изображение передается на фотовывод. Фото-выводное устройство производит цветоделение и растрирование, а затем выводит цветоделенное изображение на пленку. Каждой краске соответствует своя пленка. При печати полноцветного изображения выводятся четыре пленки (CMYK). Пленка укладывается на незасвеченную алюминиевую пластину, одна сторона которой покрыта специальным светочувствительным слоем. С каждой пленки делается отдельная офсетная форма. Пластина через пленку засвечивается. Темные места (изображения) не пропускают лучи света, в этих местах пластина остается незасвеченной, прозрачные места (пробельные элементы) пропускают свет, засвечивая слой на пластине. Затем пластину промывают в специальном растворе. Эмульсия с засвеченных участков смывается и остается только на незасвеченных. Свойства эмульсии таковы, что на ней не удерживается пленка воды, но при этом прилипает масляная краска. При печати на пластину постоянно наносится тонкий слой увлажняющего раствора. За счет поверхностного натяжения вода остается только на пробельных элементах, так как там нет эмульсии. Затем краска посредством красочного валика наносится на форму. Слой воды не дает возможности краске перейти на пробельные элементы, и она переносится только на печатные элементы (рис. 4.17). Сформированное изображение переносится на резиновую поверхность печатного цилиндра и с него на бумагу. Полноцветное изображение получается при последовательном проходе бумаги через все печатные цилиндры. Технология создания и обработки графической информации 225 ц**таА*л*М(Ы1 пламм О^сапии форма »■пюшо!»—и ппасшна Увпмммие Крмаа ео с—то'<устимт«яьимм елоам т.. t.« Tj г-;^, _ Тпшт» ^Проврсчифя шмип мсчгш е те6рв*я*е* Рис. 4.17. Офсетная печать Ризограф. Низкая стоимость оборудования и расходных материалов, простота в работе позволяют использовать ризограф для оперативной печати небольших тиражей. На базе ризографа, подключенного к компьютеру, можно создать школьную мини-типографию. Внешне ризограф напоминает лазерный копировальный аппарат, но в отличие от последнего изображение наносится на бумагу методом трафаретной печати. Принцип трафаретной печати заключается в продавливании краски сквозь печатную форму на печатный материал через открытые элементы трафарета с помощью ракели (устройства, напоминающего швабру). В зависимости от типа станка трафарет или подготавливается фотоспособом, (аналогично подготовке офсетной пластины), или прожигается лазером (рис. 4.18). Трафарет Ракель Трафарет Краска Бумага Рис. 4.18. Трафаретная печать Почти все устройства выводят изображение дискретным способом. Экран монитора состоит из множества мелких светящихся точек, принтер печатает мелкие точки. Глаз человека не может различить мелкие детали, они сливаются и воспринимаются как непрерывные линии и фигуры. Поэтому любое изображение, даже векторное, перед выводом на экран разбивается на точки. 9-5241 226 Глава 4 Вопросы для размышления 1. Чем отличается вывод точки на экран монитора и на бумагу с помощью принтера? 2. Каково устройство матричного, струйного и лазерного принтеров? 3. Каково устройство офсетной машины? Ризографа? 4.6. Системы управления цветом Воспроизвести во всем цветовом диапазоне цветной слайд средствами полиграфической печати — трудновыполнимая задача. Цветное изображение (например, с фотографии или акварели), проходя все этапы обработки, начиная с ввода с помощью сканера или цифровой камеры, обработки и отображения на экране монитора и заканчивая выводом на печатном устройстве, претерпевает разнообразные изменения в связи с неизбежным конвертированием цветовых систем. Исходных причин этой ситуации — три: • восприятие цвета — сложный психофизиологический процесс, который, видимо, никогда не удастся моделировать техническими средствами, поскольку на восприятие оказывают влияние тысячи трудно учитываемых условий (возраст, цветовосприимчивость, настроение, здоровье, освещение и т. д.); • цвет нельзя измерить непосредственно, как, например, длину. Цвет измеряется как спектральная композиция из световых волн различной интенсивности и различной длины; • передача цветовой информации вынуждает пользоваться неким «языком», а точнее сказать, несколькими языками, поскольку у различных устройств они разные, например устройства ввода и мониторы используют цветовую модель RGB, а устройства вывода — цветовую модель CMYK. Следовательно, для достижения полной цветовой идентичности оригинала и печатного оттиска требуется «перевод* (конвертирование) с одного языка на другой, что никогда не обходится без потерь. Технология создання и обработки графи'1еской информа1(ии 227 Одним ИЗ способов выхода из этой ситуации являются системы управления цветом. Некоторые программы обработки графической информации включают систему управления цветом (Color Management System, CMS), которая позволяет контролировать работу с цветом на экране монитора и при выводе на внешние печатные устройства. Система управления цветом основана на едином цветовом пространстве, которое обеспечивается использованием цветовой модели CIE Lab. Вторым важным компонентом системы управления цветом являются цветовые профили используемых устройств — файл, описывающий соответствие цветов устройств ввода или вывода в терминах цветовой модели CIE Lab. И наконец, третьим компонентом, обеспечивающим непосредственно управление, служит так называемая «машина цветового соответствия» (color-matching engine). Она должна получить цветовой профиль устройства ввода, например сканера, цветовой профиль промежуточного устройства (монитора), если требуется редактирование изображения, и цветовой профиль устройства вывода, например струйного принтера, и очень редко параметры «печатного станка», и обеспечить сканирование и отображение на экране монитора таким образом, чтобы пользователь редактировал как бы «конечное» изображение, то есть печатный оттиск. Кроме того, это позволяет хотя бы частично имитировать на экране или с помощью цветных принтеров пробную печать, обеспечивая существенную экономию при подготовке к печати изданий среднего качества. Вопросы для размышления 1. Для чего необходимы системы управления цветом? Практическая работа 4.2 Системы управления цветом в CorelDraw и Adobe Photoshop Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows XP/Vista. 228 Глава 4 Цель работы. Использовать системы управления цветом в системах векторной графики CorelDraw и растровой графики Adobe Photoshop. Задание 1. В системе векторной графики CorelDraw для каждого устройства (принтер, монитор, сканер, цифровая камера) выбрать оптимальный цветовой профиль или использовать стандартный. Задание 2. В системе растровой графики Adobe Photoshop выбрать рабочие пространства и стратегии управления цветом. Конвертировать цвета из цветовой модели RGB в цветовую модель CMYK. Системы управления цветом в CorelDraw и Adobe Photoshop 1. В системе векторной графики CorelDraw ввести команду [Инструменты-Управление цветом..^. Появится диалоговое окно Управление цветом. Для каждого устройства (принтер, монитор, сканер, цифровая камера) можно выбрать оптимальный цветовой профиль или использовать стандартный. Улр^лемие ц^ом -Ш Цмтоаом режим, нспояьэова>чый для эффектов: _,СМУ1С Ф RG8 (нспоАьэустся е версиям, предшествувхииж CoreDRAW Ю} о» .1 я»я» I] Технология создания и обработки графической информации 229 Также, активизируя ту или иную стрелку, можно выбрать приоритет цветопередачи. 2. С использованием раскрывающегося списка Параметры: можно выбрать оптимальную цветовую схему для различных случаев. параиетрыг Оптиимэировано д/» Имтернета Опптнзировано для настольной печати Огггиниэировано для профессиональной печати Параиетры по умолчанию Управление цветом отключено 1. В системе растровой графики Adobe Photoshop ввести команду [Редактирование-Настройка цветов...]. Появится диалоговое окно Настройка цветов. В этом окне можно выбрать рабочие пространства и стратегии управления цветом. HacTpoSica цаетав »: 8с* fporp*NHW Owtmyt Suto исполыуют оанп я п а Web/№4TepHeT дая Европы - Рабо-яев просурыстаа т-гт— SRG6 ieC6t9tt'2.1 €iK«pt ISO СмЫ FOGRA27 *- Стратегии упрваясиня uatroM Коаемргиромтьа рабочее лростряистао KGB Остшпгть ястромвеи профили Г»' , _ W«b/ttHT«pHtT дм EipofWi Поаготои» контенте няапя петм, iunpinop, am Вм»иу1юя еяти | I I i CWWW) • Еяропь Комтокт Ю38 коимртир^«та11 iftse. { 2. Ввести команду [Редактирование-Конвертировать цвета...]. В диалоговом окне Конвертировать цвета можно, например, конвертировать цвета из цветовой модели RGB в цветовую модель CMYK. ]^Коне- Иосойнор проооаиаю ■ ■ ' Профиль: ЯШвСС6!9б6-2.1 р- Цел«юв просгранспо Профиль: Photoshop 4 Ое^жА CMYK -Вьмолить саад«<ле Т] Параметры орообреооанн*.................... , модуль: Adobe (АСЕ) I Метол: Отжюгтеякиый комртетрииеоаА * I иоюльзосать «омпемсачмо м^моД го*ам Глава 5__________ Коммуникационные технологии Глава 3. Коммуникационные технологии Информатика и ИКТ-8 При изучении данной главы рекомендуется установить следующее программное обеспечение для операционных систем Windows и Linux: • Microsoft Office Frontpage 2003; • Microsoft Office SharePoint Designer 2007; • Macromedia Dreamweaver 8; Первая помощь ПОЮ. Щ CD-53 CD-54 CD-31 • Microsoft Visial Web Developer 2005 Express Edition; • Интегрированное приложение для работы в Интернете SeaMonkey (бывшая Mozilia); VisualStudio-CD Windows-CD • Браузер Internet Explorer; • Почтовая программа Outlook Express; Операционная система Windows 0^ • Интегрированное приложение для работы в Интернете SeaMonkey (бывшая Mozilia) Linux-DVD Ф 1Ш й Коммуникационные технологии 231 5.1. Глобальная компьютерная среда Интернет Глобальная сетевая среда Интернет, по действующему определению, это сообщество сетей, взаимодействующих с помощью протоколов TCP/IP. 5.1.1. Адресация в Интернете 1Р-адрес. Для того чтобы в процессе обмена информацией компьютеры могли найти друг друга, в Интернете существует единая система адресации, основанная на использовании IP-адресов. Каждый компьютер, подключенный к Интернету, имеет свой уникальный двоичный 32-битовый 1Р-адрес. Вы знаете формулу, которая связывает между собой количество возможных информационных сообщений N и количество информации I, которое несет полученное сообщение: N = 2\ IP-адрес несет количество информации / = 32 бита, тогда общее количество различных IP-адресов N равно: N =2^ = 2^^ =А 294 967 296. На практике это количество значительно меньше, поскольку действуют сложные правила распределения и разделения адресов на диапазоны. Также IP-адрес можно представить десятиразрядным десятичным числом. Для удобства восприятия двоичный 32-битовый IP-адрес можно разбить на четыре части по 8 бит и каждую часть представить в десятичной форме. Десятичный Интернет-адрес состоит из четырех чисел в диапазоне от О до 255, разделенных точками (например, 213.171.37.202) (табл. 5.1). Таблица 5.1. IP-адрес в двоичной и десятичной формах Двоичный 11010101 10101011 00100101 11001010 Десятичный 213 171 37 202 3584763338 232 Глава 5 О Все узлы Интернета, постояно обслуживающие клиентов, имеют постоянные IP-адреса. Однако провайдеры Интернета часто предоставляют пользователям доступ в Интернет не с постоянным, а с временным IP-адресом. IP-адрес может меняться при каждом подключении к Интернету, но в процессе сеанса остается неизменным, и пользователь может его определить. Практическая работа 5.1 1Р-адрес в различных форматах Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows или Linux, подключенный к глобальной компьютерной сети Интернет. Цель работы. Научиться представлять IP-адрес в различных форматах. Задание: • задать IP-адрес стандартным способом четырьмя десятичными числами и перевести его в десятиразрядное десятичное число; • задать IP-адрес десятиразрядным десятичным числом и перевести его в стандартный формат, состоящий их четырех десятичных чисел; • задать IP-адрес десятиразрядным десятичным числом и перевести его в двоичное число. IP-адрес в различяых форматах 1. В браузер загрузить сайт по адресу https://www.logbud. com/ip_code 2. В текстовое поле IP ввести IP-адрес »____________ стандартным способом, четырьмя ---------J десятичными числами. Щелкнуть по кнопке Get Int. На выходе мы получим IP-адрес в виде десятиразрядного десятичного числа. 3. В текстовое поле INT ввести IP-адрес в виде десятиразрядного десятичного числа. Щелкнуть по кнопке Get IP. На выходе мы получим стандартный IP-адрес в виде четырех десятичных чисел. IP to Int output: 3564763338 Коммуникационные технологии 233 Int to IP output: 213.171.37.202 4. Ввести в программный калькулятор IP-адрес в виде десятиразрядного десятичного числа. Выбрать переключатель BIN. Получим IP-адрес длиной 32 двоичных бита. * Калы^лятор Правка 8ид Справка Hex ^Oct 35847С3338. '.^^Грец^сы 0Рааивны €^Гр«шы * КаЛЬКуЛ5П<5Р правка Вт Спрашса 11010101101010110010010111001010 ^'Нех !f)Oec 0Oct ‘Ф-Bin ^8бвйт 04ввйта 02б»йтв ;,'_'1б»йт О 5.1.2. Доменная система имен Человеку запомнить числовой адрес нелегко, поэтому для удобства пользователей Интернета была введена доменная система имен. Доменная система имен ставит в соответствие IP-адресу некоторое уникальное доменное имя. Каждый компьютер, подключенный к Интернету, имеет 1Р-адрес, однако он может не иметь доменного имени. Доменные имена имеют серверы Интернета, но обычно не имеют компьютеры, подключающиеся к Интернету периодически. Единицей именования в этой среде является домен — именованное объединение узлов в дереве DNS. Доменная система имен имеет иерархическую структуру: корень — домены верхнего уровня — домены второго уровня — домены третьего уровня. Доменное имя сервера Интернета состоит из последовательности (справа налево) имен домена верхнего уровня, домена второго уровня и собственно имени компьютера. Так, основной сервер компании Microsoft имеет имя www.microsoft.com, а сервер Московского института открытого образования имеет имя www.mioo.ru. Домены верхнего уровня бывают двух типов: географические и административные. Каждой стране мира выделен свой географический домен, обозначаемый двухбуквенным 234 Глава 5 КОДОМ. Например, России принадлежит географический домен ai, в котором российские организации и граждане имеют право зарюгистрировать домен второго уровня. База данных «Доменная система имен» основана на иерархической модели данных. На верхнем уровне находится реляционная база данных, содержащая перечень доменов верхнего уровня (всего 269 доменов), из которых 12 — административные, а остальные 257 — географические. Наиболее многочисленным доменом (данные на январь 2008 г.) является административный домен net (около 190 миллионов имен), а в некоторых доменах (например, в географическом домене zr) до сих пор не зарегистрировано ни одного сервера. На втором уровне (в доменах первого уровня) регистрируются домены организаций или групп людей. На третьем уровне чаще всего перечисляются имена отдельных узлов. Самым популярным оказывается имя www. База данных «Доменная система имен» является распределенной — ее составные части находятся на разных DNS-серверах. Поиск информации в такой иерархической распределенной базе данных ведется следующим образом. Например, мы хотим ознакомиться с содержанием WWW-сервера фирмы Microsoft. Сначала наш запрос, содержащий доменное имя сервера www.microsoft.conn, будет отправлен на DNS-сервер нашего провайдера, который переадресует его на DNS-сервер самого верхнего уровня базы данных. Будет найден интересующий нас домен сот, и запрос будет адресован на DNS-сервер второго уровня, который содержит перечень доменов второго уровня, зарегистрированных в домене сот. На DNS-сервере, хранящем записи второго уровня, будет найден домен microsoft, и при необходимости запрос будет переадресован на DNS-сервер третьего уровня. Поскольку имя WWW запрашивается часто, то, скорее всего, оно будет найдено сразу. Поиск информации в базе данных «Доменная система имен» будет завершен и начнется поиск компьютера в сети по его IP-адресу. Вопросы дляJiliзмышлeния 1. Имеет ли каждый компьютер, подключенный к Интернету, 1Р-адрес? Доменное имя? 2. Как строится доменная система имен? Коммуникационные технологии 235 5.1.3. Маршрутизация и транспортировка данных по компьютерным сетям Среда Интернет, являющаяся сетью сетей и объединяющая огромное количество различных локальных, региональных и корпоративных сетей, функционирует и развивается благодаря использованию единого принципа маршрутизации и транспортировки данных. Маршрутизация данных. Маршрутизация данных обеспечивает передачу информации между компьютерами сети. Передаваемая по сети информация «упаковывается в конверт», на котором «пишутся» IP-адреса компьютеров получателя и отправителя, например: «Кому: 198.78.213.185», «От кого: 193.124.5.33». Содержимое конверта на компьютерном языке называется IP-пакетом и представляет собой набор байтов. Пакеты на пути к компьютеру-получателю также проходят через многочисленные промежуточные серверы Интернета, на которых производится операция маршрутизации. В результате маршрутизации IP-пакеты направляются от одного сервера Интернета к другому, постепенно приближаясь к компьютеру-получателю. Маршрутизация IP-пакетов, обеспечивает доставку информации от компьютера-отправителя к компьютеру-получателю. Маршруты доставки IP-пакетов могут быть совершенно разными, и поэтому они могут приходить не в том порядке, в котором их отправили. «География» Интернета существенно отличается от привычного нам пространственного распределения. Скорость получения информации зависит не от удаленности сервера Интернета, а от маршрута прохождения информации, т. е. количества промежуточных серверов и качества линий связи (их пропускной способности), по которым передается информация от сервера к серверу. Транспортировка данных. В Интернете часто случается ситуация, когда компьютеры обмениваются большими по объему сообщениями. Попытка послать такое сообщение целиком приведет к затруднениям во время его отправки — например, из-за резко возрастающей верятности повреждений. 236 Глава 5 Для ТОГО чтобы ЭТОГО не происходило, на компьютере-отправителе необходимо разбить большое сообщение на мелкие части, пронумеровать их и транспортировать в виде отдельных пакетов до компьютера-получателя. На компьютере-получателе необходимо собрать исходное сообщение из отдельных частей в правильной последовательности, поэтому сообщение не может быть собрано до тех пор, пока не придут все IP-пакеты. Транспортировка данных производится путем разбиения сообщений на IP-пакеты на компьютере-отправителе, индивидуальной маршрутизации каждого пакета и сборки сообщений из пакетов в первоначальном порядке на компьютере-получателе. Время транспортировки отдельных IP-пакетов между локальным компьютером и сервером Интернета можно определить с помощью специальных программ. Обмен данными между прикладными программами в среде Интернет выполняется с помощью набора протоколов TCP/IP. Термин TCP/IP включает название двух протоколов передачи данных: • TCP (Transmission Control Protocol — транспортный протокол, обеспечивающий обмен между программами); • IP (Internet Protocol — протокол обмена пакетами между узлами разных сетей). Помимо этой пары основных протоколов, набор включает в себя много отдельных протоколов для выполнения служебных и прикладных задач. Вопросы для размышления Ф Объясните, каким образом производится доставка данных по указанному Интернет-адресу. , В каких целях при передаче сообщений по компьютерным сетям производится их разбиение на IP-пакеты? Коммувикационные технологии 237 Практическая работа 5.2 «География» Интернета Аппаратное и программное обеспечение. Компьютер с установленной операционной системой Windows или Linux, подключенный к Интернету. Цель работы. При работе в Интернете научиться получать информацию о маршруте прохождения данных между локальным компьютером и удаленным сервером Интернета. Задание. Определить «удаленность» сервера Интернета от локального компьютера, т. е. провести трассировку маршрута прохождения данных от локального компьютера к удаленному Интернет-серверу. Определение маршрута прохождения данных от локального компьютера до удаленного Интернет-сервера 1. В операционной системе Windows или Linux загрузить в браузер сайт по адресу https://visualroute.visualware.com/ 2. Получить маршрут прохождения информации до сайта с доменным именем или Интернет-адресом (например, 213.171.37.202). На карте мира получить отображение маршрута прохождения данных от локального компьютера до указанного выше удаленного Интернет-сервера. ^ теа interert'-CoWiiai^ Л Perform cotmdwniwaie 213171.37202 Ctviiq«rti«n»^Eoc 21^371 37,203 Sumnwy Ь- ТаЫр .. 1 т Вма «1С«|ю»7.м»та| Q И 0 В 0 0 Q El 100.»51 0 f i Q 9 Thi« route nwMtoaot 31 hope, which u r*i«lh>etr hiQt^. to fm* art mote poienui point» of^iure Ф The mtHinum гееропм ime tor «пц hop in toil route wet 130 rne. which le pood 9 Tfte «rerepe reeportM tone tor hope In pile route wee 59 me. wtiicn le pood 9 The madmum peckel loee alonp pee route wee 100%. whkheBwrindKatee Piet toere ere toeweite on pie route 238 Глава 5 5.2. Интерактивные формы на Web-страницах 5.2.1. Структура HTML-кода Web-страницы Для создания Web-страниц служит язык разметки гипертекстовых документов HTML (Hyper Text Markup Language). C точки зрения HTML, весь объем информации представляется в виде страниц. Каждая страница — специально размеченный текст (подготовленный человеком или специализированной программой). Основным элементом разметки в языке HTML является тэг, т. е. указание, как обрабатывать часть текста. Тэги выделяются угловыми скобками и могут быть одиночными или парными. Парные тэги содержат открывающий и закрывающий тэги (такая пара тэгов называется контейнером). Закрывающий тэг содержит прямой слэш (/) перед обозначением. Тэги могут записываться как прописными, так и строчными буквами. Большинство тэгов имеют атрибуты — параметры обработки или применения тэгов. Атрибуты записываются в угловых скобках открывающего тэга в виде пар ♦имя-значение». HTML-код Web-страницы помещается в контейнер и состоит из двух частей: заголовка и отображаемого в браузере содержания. Заголовок страницы помещается в контейнер . Заголовок содержит название страницы, которое помещается в контейнер и при просмотре отображается в верхней строке окна браузера. В раздел заголовка Web-страницы могут быть добавлены информационные одиночные тэги <МЕТА>, имеющие атрибуты. Например, атрибут charset информирует браузер о кодировке Web-страницы. Отображаемое в браузере содержание страницы помещается в контейнер . Общая структура Web-страницы выглядит так: <Т1ТЬЕ>Заголовок страницы <МЕТА ="text/html; charset=windows-1251" http-equiv="content-type"> Коммуникационные технологии 239 5.2.2. Создание интерактивных УУеЬч:траниц Для того чтобы посетители сайта могли не только просматривать информацию, но и отправлять сведения для обработки и использования на сервер, на страницах сайта размещают интерактивные формы. Формы включают в себя элементы управления различных типов: текстовые поля, раскрывающиеся списки, флажки, переключатели и т. д. Пусть мы хотим разместить на странице «Анкета» анкету для посетителей, чтобы выяснить, кто из наших посетителей, с какими целями и с помощью каких программ получает и использует информацию из сети Интернет, а также узнать, какую информацию они хотели бы видеть на нашем сайте. Вся форма заключается в контейнер . Текстовые поля. В первую очередь выясним имя посетителя нашего сайта и его электронный адрес, чтобы иметь возможность ответить ему на замечания и поблагодарить за посещение сайта. Для получения этих данных разместим в форме два однострочных текстовых поля для ввода информации. Текстовые поля создаются с помощью тэга со значением атрибута TYPE="text". Атрибут NAME является обязательным и служит для идентификации полученной информации. Значением атрибз^^а SIZE является число, задающее длину поля ввода в символах. Для того чтобы ешкета «читалась», необходимо разделить строки с помощью тэга перевода строки
. Переключатели. Далее, мы хотим выяснить, к какой группе пользователей относит себя посетитель. Предложим выбрать ему один из нескольких вариантов: учащийся, студент, учитель. Для этого необходимо создать группу переключателей («радиокнопок»). Создается такая группа с помощью тэга со значением атрибута TYPE="radio". Все элементы в группе должны иметь одинаковые значения атрибута NAME. Например, NAME="group". Еще одним обязательным атрибутом является VALUE, которому присвоим значения "учащийся", "студент" и "учитель". Значение атрибута VALUE должно быть уникальным для каждой «радиокнопки», так как при ее выборе именно оно передается серверу. 240 Глава 5 Флажки. Далее, мы хотим узнать, какими сервисами Интернета наш посетитель пользуется наиболее часто. Здесь из предложенного перечня он может выбрать одновременно несколько вариантов, пометив их флажками. Флажки создаются в тэге со значением атрибута TYPE="checkbox". Флажки, объединенные в группу, могут иметь различные значения атрибута NAME. Например, NAME="boxl", NAME="bOx2" и т. д. Еще одним обязательным атрибутом является VALUE, которому присвоим значения "WWW”, "e-mail" и "FTP". Значение атрибута VALUE должно быть уникальным для каждого флажка, так как при его выборе именно оно передается серверу. Поля списков. Теперь выясним, какой из браузеров предпочитает посетитель сайта. Перечень браузеров представим в виде раскрывающегося списка, из которого можно выбрать только один вариант. Для реализации раскрывающегося списка используется контейнер , в котором каждый элемент списка определяется тэгом