Информатика и информационные технологии Учебник 10-11 класс Угринович

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


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

Текст из книги:
и Н Ф G р М Н.УГРИНОВИЧ Информатика и информационные технологии 10-11 классы Допущено Министерством образования Российской Федерации в качестве )'чебника по информатике для учащихся 10-11 классов естественно-математического профиля общеобразовательных учреждений I. Москва БИНОМ. Лаборатория знаний 2003 УДК 004.9 ББК 32.97 У27 У27 Угринович Н. Д. Информатика и информационные технологии. Учебник для 10-11 классов / Н. Д. Угринович. — М.: БИНОМ. Лаборатория знаний, 2003. — 512 с.: ил. ISBN 5-94774-016-8 Учебник предназначен для изучения курса «Информатика и информационные технологии* (ИИТ) в общеобразовательных учреждениях. Учебно-методический комплект (учебник, практикум, методическое руководство, компьютерный практикум на CD-ROM), в который входит данный учебник, полностью соответствует разработанному Министерством образования новому общеобразовательному стандарту по ИИТ и обеспечивает возможность изучения углубленного курса ИИТ в 10-11 классах по естественно-математическому, информационно-технологическому и общеобразовательному профилям. Особое внимание уделено изучению объектно-ориентированного программирования на языке Visual Basic, основ логики, систем счисления и коммуникационных технологий. Содержание учебника соответствует программе вступительных экзаменов по информатике в вузы и может быть использовано для подготовки к экзаменам. УДК 004.9 ББК 32.97 По вопросам приобретения обращаться: в Москве (095) 955-03-98, e-mail: [email protected] в Санкт-Петербурге (812) 247-93-01, e-mail: [email protected] ISBN 5-94774-016-8 © Угринович Н. Д., 2002 © БИНОМ. Лаборатория знаний, 2003 Содержание Рекомендации по использованию пособия...............10 Раздел I. Основы информатики........................11 Введение в информатику..............................12 Глава 1. Компьютер и программное обеспечение........18 1.1. Магистрально-модульный принцип построения компьютера......................................18 1.1.1. Магистраль................................18 1.1.2. Процессор и оперативная память............19 1.2. Аппаратная реализация компьютера...............23 1.2.1. Системный блок компьютера.................23 1.2.2. Внешняя (долговременная) память...........26 1.2.3. Устройства ввода информации...............30 1.2.4. Устройства вывода информации..............34 1.3. Операционная система: назначение и состав......37 1.4. Загрузка операционной системы..................41 1.5. Графический интерфейс Windows..................43 1.6. Программная обработка данных...................50 1.7. Файлы и файловая система.......................53 1.8. Логическая структура дисков....................58 1.9. Прикладное программное обеспечение.............65 1.10. Компьютерные вирусы и антивирусные программы ... 66 1.10.1. Типы компьютерных вирусов................66 1.10.2. Антивирусные программы...................70 Глава 2. Информация. Двоичное кодирование информации.................................72 2.1. Понятие «информация» и свойства информации.....72 2.2. Количество информации как мера уменьшения неопределенности знаний.........................74 4 Содержание 2.3. Алфавитный подход к определению количества информации........................................78 2.4. Формула Шеннона...................................79 2.5. Представление и кодирование информации............82 2.5.1. Язык как знаковая система....................82 2.5.2. Представление информации в живых организмах .... 83 2.5.3. Кодирование информации.......................85 2.5.4. Двоичное кодирование информации в компьютере. ... 86 2.6. Представление числовой информации с помощью систем счисления..................................87 2.7. Перевод чисел в позиционных системах счисления...93 2.7.1. Перевод чисел в десятичную систему счисления.93 2.7.2. Перевод чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную. ... 93 2.7.3. Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную и обратно.97 2.8. Арифметические операции в позиционных системах счисления........................................100 2.9. Представление чисел в компьютере.................103 2.10. Двоичное кодирование текстовой информации.......107 2.11. Аналоговый и дискретный способы представления изображений и звука ............................111 2.12. Двоичное кодирование графической информации. ... 112 2.13. Двоичное кодирование звуковой информации........116 2.14. Хранение информации.............................119 Глава 3. Основы логики и логические основы компьютера...................................122 3.1. Формы мышления...................................122 3.2. Алгебра высказываний.............................125 3.2.1. Логическое умножение (конъюнкция)...........126 3.2.2. Логическое сложение (дизъюнкция)............127 3.2.3. Логическое отрицание (инверсия).............128 3.3. Логические выражения и таблицы истинности........129 3.4. Логические функции...............................132 3.5. Логические законы и правила преобразования логических выражений.............................136 3.6. Решение логических задач.........................138 3.7. Логические основы устройства компьютера..........140 3.7.1. Базовые логические элементы.................140 3.7.2. Сумматор двоичных чисел.....................141 3.7.3. Триггер.....................................144 Содержание Глава 4. Основы алгоритмизации и объектно- ориентированного программирования...........146 4.1. Алгоритм и его формальное исполнение............146 4.2. Основные типы алгоритмических структур..........150 4.2.1. Линейный алгоритм..........................150 4.2.2. Алгоритмическая структура «ветвление»......151 4.2.3. Алгоритмическая структура «выбор»..........153 4.2.4. Алгоритмическая структура «цикл»...........154 4.3. Основы объектно-ориентированного визуального программирования................................157 4.3.1. Классы объектов, экземпляры класса и семейства объектов....................................157 4.3.2. Объекты: свойства, методы, события.........159 4.3.3. Графический интерфейс и событийные процедуры. . . 162 4.4. Интегрированная среда разработки языка Visual Basic....................................164 4.5. Форма и размещение на ней управляющих элементов.......................................170 4.6. Тип, имя и значение переменной..................174 4.7. Арифметические, строковые и логические выражения. Присваивание.........................177 4.8. Выполнение программ компьютером.................182 4.9. Функции в языке Visual Basic....................185 4.9.1. Функции преобразования типов данных........185 4.9.2. Математические функции.....................190 4.9.3. Строковые функции..........................191 4.9.4. Функции ввода и вывода.....................194 4.9.5. Функции даты и времени.....................198 4.10. Графические возможности языка Visual Basic.....200 4.11. Общие процедуры. Область видимости процедур....204 4.12. Модульный принцип построения проекта и программного кода............................210 4.13. Массивы........................................213 4.13.1. Типы и объявление массивов................213 4.13.2. Заполнение массива........................214 4.13.3. Поиск в массивах.......................215 4.13.4. Сортировка массива........................218 4.13.5. Двумерные массивы и вложенные циклы.......220 4.14. Решение логических задач.......................221 4.15. Язык объектно-ориентированного программирования Visual Basic for Applications..................225 4.15.1. Иерархия объектов в VBA...................225 4.15.2. Интегрированная среда разработки языка VBA .... 226 Содержание 4.15.3. Кодирование алгоритмов в форме макросов.229 4.15.4. Создание проектов.......................233 Глава 5. Моделирование и формализация..............237 5.1. Моделирование как метод познания..............237 5.2. Формы представления моделей. Формализация.....240 5.3. Системный подход в моделировании..............243 5.4. Типы информационных моделей...................245 5.4.1. Табличные информационные модели..........245 5.4.2. Иерархические информационные модели......249 5.4.3. Сетевые информационные модели............252 5.5. Основные этапы разработки и исследования моделей на компьютере..................................253 5.6. Исследование физических моделей...............255 5.7. Исследование математических моделей...........262 5.7.1. Приближенное решение уравнений...........262 5.7.2. Вероятностные модели.....................264 5.8. Биологические модели развития популяций.......267 5.9. Геоинформационные модели......................270 5.10. Оптимизационное моделирование в экономике....274 5.11. Экспертные системы распознавания химических веществ.......................................278 5.12. Модели логических устройств..................281 5.13. Информационные модели управления объектами .... 283 Глава 6. Информатизация общества...................287 6.1. Информационное общество.......................287 6.2. Информационная культура.......................293 6.3. Правовая охрана программ и данных. Защита информации ................................... 295 6.3.1. Лицензионные, условно бесплатные и бесплатные программы.................................295 6.3.2. Правовая охрана информации...............296 6.3.3. Защита информации........................298 Раздел II. Информационные и коммуникационные технологии...............................303 Глава 7. Технология обработки графической информации................................304 7.1. Растровая и векторная графика.................304 7.1.1. Растровые и векторные графические изображения. . . 304 7.1.2. Форматы графических файлов...............307 7.2. Графические редакторы.........................310 7.2.1. Растровые и векторные редакторы..........310 Содержание 7.2.2. Редактирование изображений в растровом редакторе Paint.............................314 7.2.3. Создание изображений в векторном редакторе, входящем в состав текстового редактора Word.316 7.3. Система автоматизированного проектирования КОМПАС-ЗВ.......................................318 7.3.1. Окно САПР КОМПАС-ЗВ........................319 7.3.2. Построение основных чертежных объектов.....320 Глава 8. Компьютерные презентации....................323 8.1. Компьютерные презентации с использованием мультимедиа технологии..........................323 8.2. Разработка презентации..........................324 8.2.1. Создание презентации с помощью PowerPoint..325 8.2.2. Рисунки и графические примитивы на слайдах.327 8.2.3. Выбор дизайна презентации..................329 8.2.4. Редактирование и сортировка слайдов........329 8.3. Использование анимации в презентации............331 8.4. Интерактивная презентация.......................333 8.4.1. Переходы между слайдами....................333 8.4.2. Демонстрация презентации...................336 Глава 9. Технология обработки текстовой информации..................................337 9.1. Создание и редактирование документов............337 9.2. Различные форматы текстовых файлов (документов)....................................341 9.3. Форматирование документа........................344 9.3.1. Выбор параметров страницы..................344 9.3.2. Форматирование абзацев.....................346 9.3.3. Списки.....................................349 9.3.4. Таблицы....................................350 9.3.5. Форматирование символов....................352 9.4. Гипертекст......................................354 9.5. Компьютерные словари и системы машинного перевода текстов................................356 9.6. Системы оптического распознавания документов....358 Глава 10. Технология обработки числовых данных.......361 10.1. Электронные калькуляторы.......................361 10.2. Электронные таблицы............................362 10.3. Встроенные функции.............................366 10.3.1. Математические функции....................367 10.3.2. Логические функции........................368 10.4. Сортировка и поиск данных......................370 Содержание 10.4.1. Сортировка данных.........................370 10.4.2. Поиск данных..............................371 10.5. Построение диаграмм и графиков.................373 10.6. Надстройки в электронных таблицах..............376 Глава 11. Технология хранения, поиска и сортировки информации.................................379 11.1. Базы данных....................................379 11.1.1. Табличные базы данных.....................380 11.1.2. Иерархические и сетевые базы данных.......382 11.2. Система управления базами данных Access........385 11.3. Создание базы данных...........................388 11.3.1. Создание структуры базы данных............388 11.3.2. Ввод и редактирование данных..............390 11.3.3. Использование формы для просмотра и редактирования записей...................391 11.4. Обработка данных в БД..........................394 11.4.1. Быстрый поиск данных......................394 11.4.2. Поиск данных с помощью фильтров...........394 11.4.3. Поиск данных с помощью запросов...........395 11.4.4. Сортировка данных.........................397 11.4.5. Печать данных с помощью отчетов...........399 11.5. Реляционные базы данных........................400 11.5.1. Однотабличные и многотабличные базы данных . . . 400 11.5.2. Связывание таблиц.........................401 11.6. Создание реляционной базы данных............. 404 Глава 12. Коммуникационные технологии................408 12.1. Передача информации............................408 12.2. Локальные компьютерные сети....................409 12.3. Глобальная компьютерная сеть Интернет..........412 12.4. Адресация в Интернете..........................414 12.5. Протокол передачи данных TCP/IP................417 12.6. Подключение к Интернету по коммутируемым телефонным каналам.............................421 12.6.1. Модем.....................................421 12.6.2. Управление модемом с использованием АТ-команд...................................425 12.7. Настройка соединения И подключение к Интернету....................................427 12.8. Электронная почта и телеконферешщи.............431 12.8.1. Электронная почта.........................431 12.8.2. Электронная почта с Web-интерфейсом.......438 12.8.3. Телеконференции...........................439 Содержание 12.9. Всемирная паутина............................441 12.9.1. Технология World Wide Web...............441 12.9.2. Браузеры — средство доступа к информационным ресурсам Всемирной паутины................443 12.10. Файловые архивы.............................448 12.11. Поиск информации в Интернете................452 12.11.1. Поисковые системы общего назначения....452 12.11.2. Специализированные поисковые системы...455 12.12. Интерактивное общение в Интернете...........457 12.13. Мультимедиа технологии в Интернете..........461 12.14. Электронная коммерция в Интернете...........464 Глава 13. Основы языка гипертекстовой разметки документов................................467 13.1. Web-сайты и Web-страницы.....................467 13.2. Форматирование текста и размещение графики..469 13.3. Гиперссылки на Web-страницах.................474 13.4. Списки на Web-страницах......................477 13.5. Формы на Web-страницах.......................479 13.6. Инструментальные средства создания Web-страниц . . 483 13.7. Тестирование и публикация Web-сайта..........486 Ответы и указания к решению........................488 Приложения.........................................505 Словарь компьютерных терминов......................505 История развития вычислительной техники............508 История развития персональных компьютеров..........509 Основные тэги HTML.................................510 Рекомендации по использованию пособия 1. в состав программно-методического комплекса по информатике и информационным технологиям входят: • Информатика и информационные технологии: Учебник для 10—11 классов (входит в Федеральный перечень учебников); • Практикум по информатике и информационным технологиям: учебное пособие для общеобразовательных учреждений; • Практикум по информатике и информационным технологиям, программная и методическая поддержка курса: электронный учебник на CD-ROM; • Преподавание курса «Информатика и информационные технологии». Методическое пособие для учителей. 2. Комплекс представляет собой единую образовательную среду, связанную между собой гиперссылками вида: Установить систему программирования VB5.0 ССЕ CD-ROM 3. Материал в учебнике связан между собой гиперссылками вида: Глава 3. Основы логики и логические основы компьютера 4. В тексте пособия приняты следующие обозначения и шрифтовые выделения: Шрифтом Arial выделены имена программ, файлов, папок, дисков и URL-адреса в Интернет. Курсивом выделены важные понятия и термины, а также названия диалоговых панелей, пунктов меню и управляющих элементов (текстовых полей, кнопок и так далее) графического интерфейса операционной системы Windows и ее приложений. Шрифтом Courier выделены тексты программ на языках программирования VBA, Visual Basic и представление Web-страниц на языке разметки гипертекста (HTML). 5. Важная информация (определения, формулы, синтаксис инструкций и методов в языке программирования) выделены в тексте восклицательным знаком: Важная информация 6. Начало выполнения каждого практического задания и разработки проекта обозначено значком . 7. Дополнительные материалы и тесты для проверки усвоения материала находятся в Интернете по адресу: http;//iit.metodist.ru Р лея! основы информатики Введение в информатику Глава 1 Компьютер и программное обеспечение Глава 2 Информация. Двоичное кодирование информации Глава 3 Основы логики и логические основы компьютера Глава 4 Основы алгоритмизации и объектно-ориентированного программирования Глава 5 Моделирование и формализация Глава 6 Информатизация общества Введение в информатику Вещественно-энергетическая картина мира. Мы живем в макромире, то есть в мире, который состоит из объектов, по своим размерам сравнимых с человеком. Обычно макрообъекты разделяют на неживые (здания, средства транспорта, мебель, одежда, станки и механизмы и так далее) и живые (растения, животные, сам человек). Макрообъекты состоят из молекул и атомов, которые, в свою очередь, состоят из элементарных частиц, размеры которых чрезвычайно малы. Этот мир называется микромиром. Мы живем на планете Земля, которая входит в Солнечную систему. Солнце вместе с миллионами других звезд образует нашу галактику Млечный путь, а миллионы галактик образуют Вселенную. Все эти объекты имеют громадные размеры и образуют мегамир. Все многообразие этих объектов состоит из вещества. Согласно физической теории «Большого взрыва» наша Вселенная образовалась в результате взрыва сгустка «перво-материи» около 20 миллиардов лет назад. Тогда материя существовала фактически в форме энергии. Затем на протяжении долей секунды начало образовываться вещество в форме элементарных частиц. Постепенно структура вещества стала усложняться, из элементарных частиц стали образовываться атомы, а из атомов — молекулы. Из атомов и молекул за счет сил гравитационного притяжения образовались сложные структуры мегамира (звезды, планеты, галактики). Окружающий мир можно представить в виде иерархического ряда объектов: элементарных частиц, атомов, молекул, макротел, звезд, галактик и так далее. Молекулы и макротела с течением времени образуют все более сложные биологические, социальные и технические системы. Введение в информатику 13 -► Биологические—►Человек- системы \ Общество / Техника Галактики t Макротела t Молекулы t Атомы t Элементарные частицы Объекты окружающего мира Поднятое над поверхностью земли тело обладает механической энергией, нагретый чайник — тепловой, заряженный проводник — электрической, ядра атомов — атомной. Механическая энергия падающей воды вращает турбины гидроэлектростанций, тепловая энергия превращается в электрическую на тепловых электростанциях, атомная в электрическую — на атомных электростанциях. Электрическая энергия передается по проводам и с помощью электродвигателей превращается в механическую энергию (движение поездов, лифтов и так далее). Все материальные объекты взаимодействуют друг с другом и поэтому обладают энергией. Вещественно-энергетическая картина мира начала складываться еще в античной философии, а с XVIII века формировалась в основном в рамках физической науки и химии. С середины XX века все большее внимание стало уделяться исследованию строения и функционирования сложных систем (биологических, социальных и технических) в рамках биологии и других наук. Однако не все особенности таких систем оказалось возможным объяснить в рамках традиционного вещественно-энергетического подхода. Информационная картина мира. Строение и функционирование сложных систем различной природы (биологических, социальных, технических) оказалось невозможным объяснить, не рассматривая общих закономерностей информационных процессов. К концу XX века стала складываться, сначала в рамках кибернетики и биологии, а затем информатики, информационная картина мира. Информационная картина мира рассматривает окружающий мир под особым, информационным углом зрения, при этом она не противопоставлена вещественно-энергетической картине мира, но дополняет и развивает ее. 14 Введение в информатику Информация в природе. Второе начало термодинамики, один из основных законов классической физики, утверждает, что если какую-либо систему «предоставить самой себе» и убрать все внешние воздействия (такую систему называют «закрытой»), то эта система будет стремиться к состоянию термодинамического равновесия. Составляющие ее элементы «перемешиваются», разрушается их структура и наступает полный беспорядок — хаос. Энтропия системы, которая является мерой беспорядка, возрастает, а информация (антиэнтропия), которая является мерой упорядоченности, уменьшается. В соответствии с такой точкой зрения нашу Вселенную ждет «тепловая смерть», то есть прекращение каких-либо изменений и развития. Однако, по крайней мере, на нашей планете многое происходит наоборот: идет саморазвитие, эволюция живой природы, то есть повышение сложности и разнообразия живых систем. Жизнь является системой открытой, многообразными путями в нее поступают и вещество, и энергия, и информация. Потребляя энергию солнечного излучения в процессе фотосинтеза, растения строят сложные биологические молекулы из простых неорганических, далее животные, поедающие растения и друг друга, создают все более сложные живые структуры и так далее. Таким образом, энтропия в живой природе уменьшается, а информация (антиэнтропия) — увеличивается. Получение и преобразование информации является условием жизнедеятельности любого организма. Даже простейшие одноклеточные организмы постоянно воспринимают и используют информацию, например, о температуре и химическом составе среды для выбора наиболее благоприятных условий существования. Биологи образно говорят, что «живое питается информацией», создавая, накапливая и активно используя ее. Генетическая информация. Любой живой организм, в том числе человек, является носителем генетической информации, которая передается по наследству. Генетическая информация хранится в каждой клетке организма в молекулах ДНК, которые состоят из отдельных участков (генов). Каждый ген «отвечает» за определенные особенности строения и функционирования организма и определяют как его возможности, так и предрасположенность к различным наследственным болезням. Чем сложнее и высокоорганизованнее организм, тем большее количество генов содержится в молекуле ДНК. Работы Введение в информатику 15 ПО расшифровке структуры генома человека, который содержит более 20 тысяч различных генов, проводились с использованием компьютерных технологий и были в основном закончены в 2000 году. Человек и информация. Человек живет в мире информации. Человек воспринимает окружающий мир {получает информацию) с помощью органов чувств. Наибольшее количество информации (около 90%) человек получает с помощью зрения, около 9% — с помощью слуха и только 1% с помощью других органов чувств (обоняния, осязания и вкуса). Полученная человеком информация в форме зрительных, слуховых и других образов хранится в его памяти. Человеческое мышление можно рассматривать как процессы обработки информации в мозгу человека. На основе информации, полученной с помощью органов чувств, и теоретических знаний, приобретенных в процессе обучения, человек создает информационные модели окружающего мира. Такие модели позволяют человеку ориентироваться в окружающем мире и принимать правильные решения для достижения поставленных целей. Процессы, связанные с получением, хранением, обработкой и передачей информации, называются информационными процессами. Информация и общество. В процессе общения с другими людьми человек передает и получает информацию. Обмен информацией между людьми может осуществляться в различных формах (письменной, устной или с помощью жестов). Для обмена информацией всегда используется определенный язык (русский, азбука Морзе и так далее). Для того чтобы информация была понятна, язык должен быть известен всем людям, участвующим в общении. Чем большее количество языков вы знаете, тем шире круг вашего общения. История человеческого общества — это, в определенном смысле, история накопления и преобразования информации. Весь процесс познания является процессом получения, преобразования и накопления информации (знаний). Полученная информация хранится на носителях информации различных типов (книги, аудио- и видеокассеты и так далее), а в последнее время все больше на электронных носителях информации в цифровой форме (магнитные и лазерные диски и др.). le Введение в информатику Объединение компьютеров в глобальную сеть Интернет позволило обеспечить для каждого человека потенциальную возможность быстрого доступа ко всему объему информации, накопленному человечеством за всю его историю. Информационные процессы в технике. Информационные процессы характерны не только для природы, человека и общества, но и для техники. Нормальное функционирование технических устройств связано с процессами управления, которые включают в себя получение, хранение, преобразование и передачу информации. В некоторых случаях главную роль в процессе управления выполняет человек (например, вождение автомобиля), в других управление берет на себя само техническое устройство (например, кондиционер). Аппаратные и программные средства информатизации. Человеком созданы специальные технические устройства, предназначенные для кодирования, обработки, хранения и передачи информации в цифровой форме (компьютер, принтер, сканер, модем и др.). Совокупность таких устройств принято называть аппаратными средствами информатизации. Универсальным устройством, предназначенным для автоматической обработки информации, является компьютер. Управляют работой компьютера программы, которые имеют различные функции и назначение. Совокупность компьютерных программ называется программным обеспечением или программными средствами информатизации. Информационные и коммуникационные технологии. Для создания на компьютере документа с использованием текстового редактора необходимо овладеть технологией обработки текстовой информации, для редактирования изображения с помощью графического редактора — технологией обработки графической информации, для проведения вычислений в электронных таблицах — технологией обработки числовой информации и так далее. В процессе исследования информационных моделей приходится разрабатывать алгоритмы и затем кодировать их на языках программирования, то есть использовать технологию программирования. Поиск и получение необходимой информации из глобальной компьютерной сети Интернет требует использования коммуникационных технологий. В любом случае кроме использования определенных аппаратных и программных средств необходимо знать и уметь применять определенные информационные и коммуникационные технологии. Введение в информатику 17 а Информационные и коммуникационные технологии — это совокупность методов, устройств и производственных процессов, используемых обществом для сбора, хранения, обработки и распространения информации. Информационное общество. В последние два десятилетия массовое производство персональных компьютеров и стремительный рост Интернета существенно ускорили становление информационного общества в развитых странах мира. В информационном обществе главным ресурсом является информация, именно на основе владения информацией о самых различных процессах и явлениях можно эффективно и оптимально строить любую деятельность. Большая часть населения в информационном обществе занята в сфере обработки информации или использует информационные и коммуникационные технологии в своей повседневной производственной деятельности. Для жизни и деятельности в информационном обществе необходимо обладать информационной культурой, т. е. знаниями и умениями в области информационных технологий, а также быть знакомым с юридическими и этическими нормами в этой сфере. Информатика. Информационный подход к исследованию мира реализуется в рамках информатики, комплексной науки об информации и информационных процессах, аппаратных и программных средствах информатизации, информационных и коммуникационных технологиях, а также социальных аспектах процесса информатизации. Вопросы для;размышления 1. Дайте краткую характеристику вещественно-энергетической картины мира. 2. Дайте краткую характеристику информационной картины мира. 3. Что изучает информатика? Глава 1_________________ Компьютер и программное обеспечение 1.1. Магистрально-модульный принцип построения компьютера в основу архитектуры современных персональных компьютеров положен магистрально-модульный принцип. Модульный принцип позволяет потребителю самому комплектовать нужную ему конфигурацию компьютера и производить при необходимости ее модернизацию. Модульная организация компьютера опирается на магистральный (шинный) принцип обмена информацией между устройствами. 1.1.1. Магистраль Магистраль (системная шина) включает в себя три многоразрядные шины: шину данных, шину адреса и шину управления, которые представляют собой многопроводные линии (рис. 1.1). К магистрали подключаются процессор и оперативная память, а также периферийные устройства ввода, вывода и хранения информации, которые обмениваются информацией на машинном языке (последовательностями нулей и единиц в форме электрических импульсов). Шина данных. По этой шине данные передаются между различными устройствами. Например, считанные из оперативной памяти данные могут быть переданы процессору для обработки, а затем полученные данные могут быть отправлены обратно в оперативную память для хранения. Таким образом, данные по шине данных могут передаваться от устройства к устройству в любом направлении. Разрядность шины данных определяется разрядностью процессора, то есть количеством двоичных разрядов, которые могут обрабатываться или передаваться процессором одновременно. Разрядность процессоров постоянно увеличивается по мере развития компьютерной техники. Компьютер и программное обеспечение 19 Шина данных (8, 16, 32, 64 бита) Шина адреса (16, 20, 24, 32, 36 битов) Шина управления Магистраль Устройства Долговременная Устройства Сетевые ввода память вывода устройства Рис. 1.1. Магистрально-модульное устройство компьютера Шина адреса. Выбор устройства или ячейки памяти, куда пересылаются или откуда считываются данные по шине данных, производит процессор. Каждое устройство или ячейка оперативной памяти имеет свой адрес. Адрес передается по адресной шине, причем сигналы по ней передаются в одном направлении — от процессора к оперативной памяти и устройствам (однонаправленная шина). Разрядность шины адреса определяет объем адресуемой памяти (адресное пространство), то есть количество однобайтовых ячеек оперативной памяти, которые могут иметь уникальные адреса. Количество адресуемых ячеек памяти можно рассчитать по формуле: N = 2\ где 1 — разрядность шины адреса. Разрядность шины адреса постоянно увеличивалась и в современных персональных компьютерах составляет 36 бит. Таким образом, максимально возможное количество адресуемых ячеек памяти равно: А = 2^® = 68 719 476 736. Шина управления. По шине управления передаются сигналы, определяющие характер обмена информацией по магистрали. Сигналы управления показывают, какую операцию — считывание или запись информации из памяти — нужно производить, синхронизируют обмен информацией между устройствами и так далее. 1.1.2. Процессор и оперативная память Процессор. Процессор аппаратно реализуется на большой интегральной схеме (БИС). Большая интегральная схема на самом деле не является «большой» по размеру и представляет собой, наоборот, маленькую плоскую полупроводниковую 20 Глава 1 Рис. 1.2. Внутренняя структура процессора Intel Pentium 4 пластину размером примерно 20x20 мм, заключенную в плоский корпус с рядами металлических штырьков (контактов). БИС является «большой» по количеству элементов. Использование современных высоких технологий позволяет разместить на БИС процессора огромное количество (42 миллиона в процессоре Pentium 4 — рис. 1.2) функциональных элементов (переключателей), размеры которых составляют всего около 0,13 микрон (1 микрон = 10“® метра). Важнейшей характеристикой, определяющ;ей быстродействие процессора, является тактовая частота, то есть количество тактов в секунду. Такт — это промежуток времени между началами подачи двух последовательных импульсов специальной микросхемой — генератором тактовой частоты, синхронизирующ;им работу узлов компьютера. На выполнение процессором каждой базовой операции (например, сложения) отводится определенное количество тактов. Ясно, что чем больше тактовая частота, тем больше операций в секунду выполняет процессор. Тактовая частота измеряется в мегагерцах (МГц) и гигагерцах (ГГц). 1 МГц = миллион тактов в секунду. За 20 с небольшим лет тактовая частота процессора увеличилась почти в 500 раз, от 5 МГц (процессор 8086, 1978 год) до 2,4 ГГц (процессор Pentium 4, 2002 год) — табл. 1.1. Таблица 1.1. Процессоры Тип Год выпуска Частота (МГц) Шина данных Шина адреса Адресуемая память 8086 1978 5-10 16 20 1 Мб 80286 1982 6-12,5 16 24 16 Мб 80386 1985 16-33 32 32 4 Гб 80486 1989 25-50 32 32 4 Гб Pentium 1993 60-166 64 32 4 Гб Pentium II 1997 200-300 64 36 64 Гб Pentium III 1999 450-1000 64 36 64 Гб Pentium 4 2000 1000-2400 64 36 64 Гб Компьютер и программное обеспечение 21 Другой характеристикой процессора, влияющей на его производительность, является разрядность процессора. Разрядность процессора определяется количеством двоичных разрядов, которые могут передаваться или обрабатываться процессором одновременно. Часто уточняют разрядность процессора и пишут 64/36, что означает, что процессор имеет 64-разрядную шину данных и 36-разрядную шину адреса. В первом отечественном школьном компьютере «Агат» (1985 год) был установлен процессор, имевший разрядность 8/16, соответственно одновременно он обрабатывал 8 битов, а его адресное пространство составляло 64 килобайта. Современный процессор Pentium 4 имеет разрядность 64/36, то есть одновременно процессор обрабатывает 64 бита, а адресное пространство составляет 68 719 476 736 байтов — 64 гигабайта. Производительность процессора является его интегральной характеристикой, которая зависит от частоты процессора, его разрядности, а также особенностей архитектуры (наличие кэш-памяти и др.). Производительность процессора нельзя вычислить, она определяется в процессе тестирования, по скорости выполнения процессором определенных операций в какой-либо программной среде. Установить программу тестирования влм компьютера SiSoftware Sandra_____о -ним Тестирование процессора 1. Запустить программу SiSoftware Sandra. В окне программы активизировать тестирующий модуль CPU Arithmetic Benchmark. Через несколько десятков секунд появится информационное окно, которое показывает производительность установленного процессора в сравнении с производительностью четырех типов процессоров. Th* turtlow shows how jour CPU handies arUhmebc 8 floatr^ pont mcorrparlsan ооФег talxl insftTJCtlCr* Ran ^ Processor (s) Speed ^ Perfbrtriance Retng <^L2 0nCio«ciCache y- Pront Sida tu% Speed iiri В ‘ OO "O . X K? Value lntal(R) Celeron PR1142 (esomated) ISSkB EuC tynchronoii* wr-te-beck lx ЮСГ4№ acxM« date rate) 22 Глава 1 Оперативная память. Оперативная память, предназначенная для хранения информации, изготавливается в виде модулей памяти. Модули памяти представляют собой пластины с рядами контактов, на которых размещаются БИС памяти. Модули памяти могут различаться между собой по размеру и количеству контактов (DIMM, RIMM, DDR — рис. 1.3), быстродействию, информационной емкости и так далее. Важнейшей характеристикой модулей оперативной памяти является быстродействие, которое зависит от максимально возможной частоты операций записи или считывания информации из ячеек памяти. Современные модули памяти обеспечивают частоту до 800 МГц, а их информационная емкость может достигать 512 Мбайт. р^с. 1.3. Модули памяти DIMM, RIMM, DDR В персональных компьютерах объем адресуемой памяти и величина фактически установленной оперативной памяти практически всегда различаются. Хотя объем адресуемой памяти может достигать 64 Гбайт, величина фактически установленной оперативной памяти может быть значительно меньше, например, «всего» 64 Мбайт. Вопросы для размышления 1. Какие технические характеристики и как влияют на производительность компьютера? Практические задания -г 1.1. Ознакомиться с историей создания, технологией изготовления и техническими характеристиками процессоров в виртуальном музее фирмы Intel, размещенном по адресу; http.//www.intel.m. 1.2. С помощью программы тестирования SiSoftware Sandra провести тестирование модулей оперативной памяти. Компьютер и программное обеспечение 23 1.2. Аппаратная реализация компьютера Современный персональный компьютер может быть реализован в настольном (desktop), портативном (notebook) или карманном (handheld) варианте. 1.2.1. Системный блок компьютера Все основные компоненты настольного компьютера находятся внутри системного блока: системная плата с процессором и оперативной памятью, накопители на жестких и гибких дисках, CD-ROM и др. Кроме этого, в системном блоке находится блок питания. Системная плата. Основным аппаратным компонентом компьютера является системная плата (рис. 1.4). На системной плате реализована магистраль обмена информацией, имеются разъемы для установки процессора и оперативной памяти, а также слоты для установки контроллеров внешних устройств. Рис. 1.4. Системная плата Частота процессора, системной шины и шин периферийных устройств. Быстродействие различных компонентов компьютера (процессора, оперативной памяти и контроллеров периферийных устройств) может существенно различаться. Для согласования быстродействия на системной плате устанавливаются специальные микросхемы (чипсеты), включающие в себя контроллер оперативной памяти (так называемый северный мост) и контроллер периферийных устройств (южный мост) — рис. 1.5. Северный мост обеспечивает обмен информацией между процессором и оперативной памятью по системной шине. В процессоре используется внутреннее умножение частоты, поэтому частота процессора в несколько раз больше, чем частота системной шины. В современных компьютерах частота процессора может превышать частоту системной шины в 10 раз (например, частота процессора 1 ГГц, а частота шины — 100 МГц). 24 Глава 1 Оперативная память Жесткие диски CD-ROM DVD-ROM Звуковг1я плата Сетевая плата Внутренний модем SCSI-контроллер Сканер Плоттер Web-камера Мышь Внешний модем Принтер Рис. 1.5. Логическая схема системной платы К северному мосту подключается шина PCI (Peripherial Component Interconnect bus — шина взаимодействия периферийных устройств), которая обеспечивает обмен информацией с контроллерами периферийных устройств. Частота контроллеров меньше частоты системной шины, например, если частота системной шины составляет 100 МГц, то частота шины PCI обычно в три раза меньше — 33 МГц. Контроллеры периферийных устройств (звуковая плата, сетевая плата, SCSI-контроллер, внутренний модем) устанавливаются в слоты расширения системной платы. По мере увеличения разрешающей способности монитора и глубины цвета требования к быстродействию шины, связывающей видеоплату с процессором и оперативной памятью, возрастают. В настоящее время для подключения видеоплаты обычно используется специальная шина AGP (Accelerated Graphic Port — ускоренный графический порт), соединенная с северным мостом и имеющая частоту, в несколько раз большую, чем шина PCI. Южный мост обеспечивает обмен информацией между северным мостом и портами для подключения периферийного оборудования. Компьютер и программное обеспечение 25 Устройства хранения информации (жесткие диски, CD-ROM, DVD-ROM) подключаются к южному мосту по шине UDMA (Ultra Direct Memory Access — прямое подключение к памяти). Мышь и внешний модем подключаются к южному мосту с помощью последовательных портов, которые передают электрические импульсы, несущие информацию в машинном коде, последовательно один за другим. Обозначаются последовательные порты как СОМ1 и COM2, а аппаратно реализуются с помощью 25-контактного и 9-контактного разъемов, которые выведены на заднюю панель системного блока. Принтер подключается к параллельному порту, который обеспечивает более высокую скорость передачи информации, чем последовательные порты, так как передает одновременно 8 электрических импульсов, несущих информацию в машинном коде. Обозначается параллельный порт как LPT, а аппаратно реализуется в виде 25-контактного разъема на задней панели системного блока. Для подключения сканеров и цифровых камер обычно используется порт USB (Universal Serial Bus — универсальная последовательная шина), который обеспечивает высокоскоростное подключение к компьютеру сразу нескольких периферийных устройств. Клавиатура подключается обычно с помощью порта PS/2. Вопросы длцфазмышления 1. Почему различаются частоты процессора, системной шины и шины периферийных устройств? 2. Почему мышь подключается к последовательному порту, а принтер к параллельному? -г. Практические задания 1.3. С помощью программы тестирования SiSoftware Sandra провести тестирование материнской платы и определить частоты процессора, системной шины, шины периферийных устройств и шины AGP. 26 Глава 1 1.2.2. Внешняя (долговременная) память Основной функцией внешней памяти компьютера является способность долговременно хранить большой объем информации (программы, документы, аудио- и видеоклипы и пр.). Устройство, которое обеспечивает запись/считывание информации, называется накопителем, или дисководом, а хранится информация на носителях (например, дискетах). Магнитный принцип записи и считывания информации. В накопителях на гибких магнитных дисках (НГМД) и накопителях на жестких магнитных дисках (НЖМД), или винчестерах, в основу записи информации положено намагничивание ферромагнетиков в магнитном поле, хранение информации основывается на сохранении намагниченности, а считывание информации базируется на явлении электромагнитной индукции. Физика-10 В процессе записи информации на гибкие и жесткие магнитные диски головка дисковода с сердечником из магнитомягкого материала (малая остаточная намагниченность) перемещается вдоль магнитного слоя магнитожесткого носителя (большая остаточная намагниченность). На магнитную головку поступают последовательности электрических импульсов (последовательности логических единиц и нулей), которые создают в головке магнитное поле. В результате последовательно намагничиваются (логическая единица) или не намагничиваются (логический нуль) элементы поверхности носителя. В отсутствие сильных магнитных полей и высоких температур элементы носителя могут сохранять свою намагниченность в течение долгого времени (лет и десятилетий). При считывании информации при движении магнитной головки над поверхностью носителя намагниченные участки носителя вызывают в ней импульсы тока (явление электромагнитной индукции). Последовательности таких импульсов передаются по магистрали в оперативную память компьютера. Гибкие магнитные диски. Гибкие магнитные диски помещаются в пластмассовый корпус. Такой носитель информации называется дискетой. В центре дискеты имеется приспособление для захвата и обеспечения вращения диска внутри пластмассового корпуса. Дискета вставляется в дисковод, который вращает диск с постоянной угловой скоростью. Компьютер и программное обеспечение 27 При ЭТОМ магнитная головка дисковода устанавливается на определенную концентрическую дорожку диска, на которую и производится запись или с которой производится считывание информации. Информационная емкость дискеты невелика и составляет всего 1,44 Мбайт. Скорость записи и считывания информации также мала (составляет всего около 50 Кбайт/с) из-за медленного вращения диска (360 об./мин). В целях сохранения информации гибкие магнитные диски необходимо предохранять от воздействия сильных магнитных полей и нагревания, так как такие физические воздействия могут привести к размагничиванию носителя и потере информации. Жесткие магнитные диски. Жесткий магнитный диск представляет собой несколько десятков дисков, размещенных на одной оси, заключенных в металлический корпус и вращающихся с большой угловой скоростью (рис. 1.6). За счет гораздо большего количества дорожек на каждой стороне дисков и большого количества дисков информационная емкость жесткого диска может в сотни тысяч раз превышать информационную емкость дискеты и достигать 150 Гбайт. Скорость записи и считывания информации с жестких дисков достаточно велика (может достигать 133 Мбайт/с) за счет быстрого вращения дисков (до 7200 об./мин). В жестких дисках используются достаточно хрупкие и миниатюрные элементы (пластины носителей, магнитные головки и пр.), поэтому в целях сохранения информации и работоспособности жесткие диски необходимо оберегать от ударов и резких изменений пространственной ориентации в процессе работы. Оптический принцип записи и считывания информации. В лазерных дисководах CD-ROM и DVD-ROM используется оптический принцип записи и считывания информации. Рис. 1.6. Жесткий магнитный диск Физика-11 В процессе записи информации на лазерные диски для создания участков поверхности с различными коэффициентами отражения применяются различные технологии: от простой штамповки до изменения отражающей способности 28 Глава 1 участков поверхности диска с помощью мощного лазера. Информация на лазерном диске записывается на одну спиралевидную дорожку (как на грампластинке), содержащую чередующиеся участки с различной отражающей способностью. При соблюдении правил хранения (в футлярах в вертикальном положении) и эксплуатации (без нанесения царапин и загрязнений) оптические носители могут сохранять информацию в течение десятков лет. В процессе считывания информации с лазерных дисков луч лазера, установленного в дисководе, падает на поверхность вращающегося диска и отражается. Так как поверхность лазерного диска имеет участки с различными коэффициентами отражения, то отраженный луч также меняет свою интенсивность (логические О или 1). Затем отраженные световые импульсы преобразуются с помощью фотоэлементов в электрические импульсы и по магистрали передаются в оперативную память. Лазерные дисководы и диски. Лазерные дисководы (CD-ROM и DVD-ROM — рис. 1.7) используют оптический принцип чтения информации. На лазерных CD-ROM (CD — Compact Disk, компакт-диск) и DVD-ROM (DVD — Digital Video Disk, цифровой видеодиск) дисках хранится информация, которая была записана на них в процессе изготовления. Запись на них новой информации невозможна, что отражено во второй части их названий: ROM (Read Only Memory — только чтение). Производятся такие диски путем штамповки и имеют серебристый цвет. Информационная емкость CD-ROM диска может достигать 650 Мбайт, а скорость считывания информации в CD-ROM-накопителе зависит от скорости вращения диска. Первые CD-ROM-накопители были односкоростными и обеспечивали скорость считывания информации 150 Кбайт/с. В настоящее время широкое распространение получили 52-скоростные CD-ROM-накопители, которые обеспечивают в 52 раза большую скорость считывания информации (до 7,8 Мбайт/с). DVD-диски имеют гораздо большую информационную емкость (до 17 Гбайт) по сравнению CD-дисками. Во-первых, используются лазеры с меньшей длиной волны, что позволяет размещать оптические дорожки более плотно. Во-вторых, информация на DVD-дисках может быть записана на двух сторонах, причем в два слоя на одной стороне. Компьютер и программное обеспечение 29 Рис. 1.7. CD-ROM и DVD-ROM Первое поколение DVD-ROM-накопителей обеспечивало скорость считывания информации примерно 1,3 Мбайт/с. В настоящее время 16-скоростные DVD-ROM-дисководы достигают скорости считывания до 21 Мбайт/с. Существуют CD-R и DVD-R-диски (R — recordable, записываемый), которые имеют золотистый цвет. Информация на такие диски может быть записана, но только один раз. На дисках CD-RW и DVD-RW (RW — Rewritable, перезаписываемый), которые имеют «платиновый» оттенок, информация может быть записана многократно. Для записи и перезаписи на диски используются специальные CD-RW и DVD-RW-дисководы, которые обладают достаточно мощным лазером, позволяющим менять отражающую способность участков поверхности в процессе записи диска. Такие дисководы позволяют записывать и считывать информацию с дисков с различной скоростью. Например, маркировка CD-RW-дисковода «40x12x48» означает, что запись CD-R-дисков производится на 40-кратной скорости, запись CD-RW-дисков — на 12-крат-ной, а чтение — на 48-кратной скорости. Flash-память. Flash-память — это энергонезависимый тип памяти, позволяющий записывать и хранить данные в микросхемах. Карты flash-памяти (рис. 1.8) не имеют в своем составе движущихся частей, что обеспечивает вы- \ ^ сокую сохранность данных при их использовании в мобильных устройствах (портативных компьютерах, цифровых камерах и др.). Рис. 1.8. Карты flash-памяти Flash-память представляет собой микросхему, помещенную в миниатюрный плоский корпус. Для считывания или записи информации карта памяти вставляется в специаль- 30 Глава 1 ные накопители, встроенные в мобильные устройства или подключаемые к компьютеру через USB-порт. Информационная емкость карт памяти может достигать 512 Мбайт. К недостаткам flash-памяти следует отнести то, что не существует единого стандарта и различные производители изготавливают несовместимые друг с другом по размерам и электрическим параметрам карты памяти. Вопросы для размышления 1. Каковы основные правила хранения и эксплуатации различных типов носителей информации? Практические задания 1.4. Составить сравнительную таблицу основных параметров устройств хранения информации (емкость, скорость обмена, надежность хранения информации, цена хранения одного мегабайта). пттпппгт 1.2.3. Устройства ввода информации Клавиатура. Универсальным устройством ввода информации является клавиатура (рис. 1.9). Клавиатура позволяет вводить числовую и текстовую информацию. Стандартная клавиатура имеет 104 клавиши и 3 информирующих о режимах работы световых индикатора в правом верхнем углу. Координатные устройства ввода. Для ввода графической информации и для работы с графическим интерфейсом программ используются координатные устройства ввода информации; манипуляторы {мышь, трекбол), сенсорные панели тачпад и графические планшеты. В оптико-механических манипуляторах мышь и трекбол основным рабочим органом является массивный шар (металлический, покрытый резиной). У мыши он вращается при перемещении ее корпуса по горизонтальной поверхности, а у трекбола вращается непосредственно рукой. вГд ! »li, ь1 111 Рис. 1.9. Клавиатура Компьютер и программное обеспечение 31 Вращение шара передается двум пластмассовым валам, положение которых с большой точностью считывается инфракрасными оптопарами (то есть парами «светоизлуча-тель-фотоприемник») и затем преобразуется в электрический сигнал, управляющий движением указателя мыши на экране монитора. Главным «врагом» мыши является загрязнение, а способом борьбы с ним — использование специального «мышиного» коврика. В настоящее время широкое распространение получили оптические мыши, в которых нет механических частей. Источник света, размещенный внутри мыши, освещает поверхность, а отраженный свет фиксируется фотоприемником и преобразуется в перемещение курсора на экране. Разрешающая способность мышей обычно составляет около 600 dpi (dot per inch — точек на дюйм). Это означает, что при перемещении мыши на 1 дюйм (1 дюйм =2,54 см) указатель мыши на экране перемещается на 600 точек. Манипуляторы имеют обычно две кнопки управления, которые используются при работе с графическим интерфейсом программ. В настоящее время появились мыши с дополнительным колесиком, которое располагается между кнопками. Оно предназначено для прокрутки вверх или вниз не умещающихся целиком на экране изображений, текстов или Web-страниц. Современные модели мышей и трекболов часто являются беспроводными, то есть подключаются к компьютеру без помощи кабеля (рис. 1.10). В портативных компьютерах вместо манипуляторов используется сенсорная панель тачпад (от английского слова TouchPad), которая представляет собой панель прямоугольной формы, чувствительную к перемещению пальца и нажатию пальцем. Перемещение пальца по поверхности сенсорной панели преобразуется в перемещение курсора на экране монитора. Нажатие на поверхность сенсорной панели эквивалентно нажатию на кнопку мыши. Для рисования и ввода рукописного текста используются графические планшеты (рис. 1.11). С помощью Рис. 1.10. Манипуляторы оптическая беспроводная мышь и трекбол Рис. 1.11. Графический планшет 32 Глава 1 Рис. 1.12. Сканер специальной ручки можно чертить, рисовать схемы, добавлять заметки и подписи к электронным документам. Качество графических планшетов характеризуется разрешающей способностью, которая измеряется в Ipi (lines per inch — линиях на дюйм) и способностью реагировать на силу нажатия пера. В хороших планшетах разрешающая способность достигает 2048 Ipi (перемещение пера по поверхности планшета на 1 дюйм соответствует перемещению на 2048 точек на экране монитора), а количество воспринимаемых градаций нажатий на перо составляет 1024. Сканер. Для оптического ввода в компьютер и преобразования в компьютерную форму изображений (фотографий, рисунков, слайдов), а также текстовых документов используется сканер (рис. 1.12). Сканируемое изображение освещается белым светом (черно-белые сканеры) или тремя цветами (красным, зеленым и синим). Отраженный свет проецируется на линейку фотоэлементов, которая движется, последовательно считывает изображение и преобразует его в компьютерный формат. В отсканированном изображении количество различаемых цветов может достигать десятков миллиардов. Системы распознавания текстовой информации позволяют преобразовать отсканированный текст из графического формата в текстовый. Такие системы способны распознавать текстовые документы на различных языках, представленные в различных формах (например, таблицах) и с различным качеством печати (начиная от машинописных документов). Разрешающая способность сканеров составляет 600 dpi и выше, то есть на полоске изображения длиной 1 дюйм сканер может распознать 600 и более точек. Цифровые камеры и ТВ-тюнеры. Последние годы все большее распространение получают цифровые камеры (видеокамеры и фотоаппараты — рис. 1.13). Цифровые камеры позволяют получать видеоизображение и фотоснимки непосредственно в цифровом (компьютерном) формате. Цифровые видеокамеры могут быть подключены к компьютеру, что позволяет сохранять видеозаписи в компьютерном формате. Рис. 1.13. Web-камера и цифровая фотокамера Компьютер и программное обеспечение 33 Для передачи «живого» видео по компьютерным сетям используются недорогие Web-камеры, разрешающая способность которых обычно не превышает 640x480 точек. Цифровые фотоаппараты позволяют получать высокаче-ственные фотографии с разрешением до 2272x1704 точек (всего до 3,9 млн пикселей). Для хранения фотографий используются модули flash-памяти или жесткие диски очень маленького размера. Запись изображений на жесткий диск компьютера может осуществляться путем подключения камеры к компьютеру. Если установить в компьютер специальную плату (ТВ-тю-нер) и подключить к ее входу телевизионную антенну, то появляется возможность просматривать телевизионные передачи непосредственно на компьютере. Звуковая карта. Звуковая карта производит преобразование звука из аналоговой формы в цифровую. Для ввода звуковой информации используется микрофон, который подключается к входу звуковой карты. Звуковая карта имеет также возможность синтезировать звук (в ее памяти хранятся звуки различных музыкальных инструментов, которые она может воспроизводить). Многие звуковые платы имеют специальный игровой порт (GAME-порт), к которому подключаются игровые манипуляторы (джойстики), которые предназначены для более удобного управления ходом компьютерных игр. ?>/ Вопросы для размышления 1. Какие основные группы клавиш можно выделить на клавиатуре и каково их назначение? 2. Какие существуют типы координатных устройств ввода и каков их принцип действия? Практические задания 1.5. Экспериментальным путем определить разрешение вашей мыши. Сравнить со значением, приведенным в техническом описании. 2—2645 34 Глава 1 1.2.4. Устройства вывода информации Монитор. Монитор является универсальным устройством вывода информации и подключается к видеокарте, установленной в компьютере. Изображение в компьютерном формате (в виде последовательностей нулей и единиц) хранится в видеопамяти, размещенной на видеокарте. Изображение на экране монитора формируется путем считывания содержимого видеопамяти и отображения его на экран. 2.12. Двоичное кодирование графической информации Частота считывания изображения влияет на стабильность изображения на экране. В современных мониторах обновление изображения происходит обычно с частотой 75 и более раз в секунду, что обеспечивает комфортность восприятия изображения пользователем компьютера (человек не замечает мерцание изображения). Для сравнения можно напомнить, что частота смены кадров в кино составляет 24 кадра в секунду. В настольных компьютерах обычно используются мониторы на электронно-лучевой трубке (ЭЛТ) — рис. 1.14. Изображение на экране монитора создается пучком электронов, испускаемых электронной пушкой. Этот пучок электронов разгоняется высоким электрическим напряжением (десятки киловольт) и падает на внутреннюю поверхность экрана, покрытую люминофором (веществом, светящимся под воздействием пучка электронов). Система управления пучком заставляет пробегать его построчно весь экран (создает растр), а также регулирует его интенсивность (соответственно яркость свечения точки люминофора). Пользователь видит изображение на экране монитора, так как люминофор излучает световые лучи в видимой части спектра. Качество изображения тем выше, чем меньше размер точки изображения (точки люминофора), в высокаче-ственных мониторах размер точки составляет 0,22 мм. Однако монитор является также источником высокого статического электрического потенциала, электромагнитного и рентгеновского излучений, которые могут оказывать неблагоприятное воздействие на здоровье человека. Современные мониторы практически безопасны, так как соответ- Рис. 1.14. ЭЛТ монитора Компьютер и программное обеспечение SS Рис. 1.15. Монитор на ЖК ствуют жестким санитарно-гигиеническим требованиям, зафиксированным в международном стандарте безопасности ТСО’99. В портативных и карманных компьютерах применяют плоские мониторы на жидких кристаллах (ЖК). В последнее время такие мониторы стали использоваться и в настольных компьютерах. LCD (Liquid Crystal Display, жидкокристаллические мониторы — рис. 1.15) сделаны из вещества, которое находится в жидком состоянии, но при этом обладает некоторыми свойствами, присущими кристаллическим телам. Фактически это жидкости, обладающие анизотропией свойств (в частности, оптических), связанных с упорядоченностью в ориентации молекул. Молекулы жидких кристаллов под воздействием электрического напряжения могут изменять свпо ориентацию и вследствие этого изменять свойства светового луча, проходящего сквозь них. Преимущество ЖК-мониторов перед мониторами на ЭЛТ состоит в отсутствии вредных для человека электромагнитных излучений и компактности. Мониторы могут иметь различный размер экрана. Размер диагонали экрана измеряется в дюймах (1 дюйм = 2,54 см) и обычно составляет 15, 17 и более дюймов. Принтеры. Принтеры предназначены для вывода на бумагу (создания «твердой копии») числовой, текстовой и графической информации. По своему принципу действия принтеры делятся на матричные, струйные и лазерные. Матричные принтеры (рис. 1.16) — это принтеры ударного действия. Печатающая головка матричного принтера состоит из вертикального столбца маленьких стержней (обычно 9 или 24), которые под воздействием магнитного поля «выталкиваются» из головки и ударяют по бумаге (через красящую ленту). Перемещаясь, печатающая головка оставляет на бумаге строку символов. Рис. 1.16. Матричный принтер 36 Глава 1 Рис. 1.17. Струйный принтер Недостатки матричных принтеров состоят в том, что они печатают медленно, производят много шума и качество печати оставляет желать лучшего (соответствует примерно качеству пишущей машинки). В последние годы широкое распространение получили черно-белые и цветные струйные принтеры (рис. 1.17). В них используется чернильная печатающая головка, которая под давлением выбрасывает чернила из ряда мельчайших отверстий на бумагу. Перемещаясь вдоль бумаги, печатающая головка оставляет строку символов или полоску изображения. Струйные принтеры могут печатать достаточно быстро (до нескольких страниц в минуту) и производят мало шума. Качество печати (в том числе и цветной) определяется разрешающей способностью струйных принтеров, которая может достигать фотографического качества 2400 dpi. Это означает, что полоска изображения по горизонтали длиной в 1 дюйм формируется из 2400 точек (чернильных капель). Лазерные принтеры (рис. 1.18) обеспечивают практически бесшумную печать. Высокую скорость печати (до 30 страниц в минуту) лазерные принтеры достигают за счет постраничной печати, при которой страница печатается сразу целиком. Высокое типографское качество печати лазерных принтеров обеспечивается за счет высокой разрешающей способности, которая может достигать 1200 dpi и более. Плоттер. Для вывода сложных и широкоформатных графических объектов (плакатов, чертежей, электрических и электронных схем и пр.) используются специальные устройства вывода — плоттеры (рис. 1.19). Принцип действия плоттера такой же, как и струйного принтера. Рис. 1.18. Лазерный принтер Рис. 1.19. Плоттер Компьютер и программное обеспечение 37 Акустические колонки и наушники. Для прослушивания звука используются акустические колонки или наушники, которые подключаются к выходу звуковой платы. Вопросы длй ^^мышления 1. Какие физические параметры влияют на качество изображения на экране монитора? Практические задания 1.6. Ознакомиться с устройством компьютера и историей вычислительной техники, посетив виртуальные компьютерные музеи в Интернете. 1.3. Операционная система: назначение и состав На IBM-совместимых персональных компьютерах используются операционные системы корпорации Microsoft Windows 9х/МЕ, а также свободно распространяемая операционная система Linux. На персональных компьютерах фирмы Apple используются различные версии операционной системы Мае 0S. На рабочих станциях и серверах наибольшее распространение получили операционные системы Windows NT/2000/XP и UNIX. Операционные системы разные, но их назначение и функции одинаковые. Операционная система является базовой и необходимой составляющей программного обеспечения компьютера, без нее компьютер не может работать в принципе. Операционная система обеспечивает совместное функционирование всех устройств компьютера и предоставляет пользователю доступ к его ресурсам. 38 Глава 1 Современные операционные системы имеют сложную структуру, каждый элемент которой выполняет определенные функции по управлению компьютером. Управление файловой системой. Процесс работы компьютера в определенном смысле сводится к обмену файлами между устройствами. В операционной системе имеются программные модули, управляющие файловой системой. Командный процессор. В состав операционной системы входит специальная программа — командный процессор, — которая запрашивает у пользователя команды и выполняет их. Пользователь может дать команду запуска программы, выполнения какой-либо операции над файлами (копирование, удаление, переименование), вывода документа на печать и так далее. Операционная система должна эту команду выполнить. Драйверы устройств. К магистрали компьютера подключаются различные устройства (дисководы, монитор, клавиатура, мышь, принтер и др.). Каждое устройство выполняет определенную функцию (ввод информации, хранение информации, вывод информации), при этом техническая реализация устройств сущ;ественно различается. В состав операционной системы входят драйверы устройств, специальные программы, которые обеспечивают управление работой устройств и согласование информационного обмена с другими устройствами, а также позволяют производить настройку некоторых параметров устройств. Каждому устройству соответствует свой драйвер. Технология «Plug and Play» (подключи и играй) позволяет автоматизировать подключение к компьютеру новых устройств и обеспечивает их конфигурирование. В процессе установки Windows определяет тип и конкретную модель установленного устройства и подключает необходимый для его функционирования драйвер. При включении компьютера производится загрузка драйверов в оперативную память. Пользователь имеет возможность вручную установить или переустановить драйверы. •.«1 Установка драйвера монитора 1. Ввести команду [Настройка-Панель управления-Уста-новка оборудования]. Компьютер и программное обеспечение 39 Запустится программа Мастер установки оборудования, которая предложит пользователю сначала выбрать тип устройства (в данном случае Мониторы). На втором шаге необходимо выбрать фирму-произ-водитель и марку монитора (например, Samsung и Samsung SyncMaster 4NE). В результате будет установлен драйвер данного монитора. г типустемвв мвае*-'огоустро.1£тва aycipowle ю~ porv еоа'->мпв.т Аис»ов( О-ЙОЫ) 3 »я4м>1троппао(» ленто^нвр:ив»опитвлеи ^Многосруч» иио^аапенЕМ •онтролперо 1Моаем :^мвшв ^Порты сом и LP1 ^Принтер J < Цааеа [~ Япдае > { Сггм. ■) \б(Л*итви»готоеиге v ■I'lcaeoe устро ■». Если устройство 9 СПИР»* отсутствует и#м BwnpeenouMTBere изготовителя квкмитв«нопку*Ует»«(митьеАиека* Если найти >строиствовслис<енвудалрсь н«я'м»ттв1смо(Жу*Ним*ивв1б^жтв оругоигиг рбойуповонии Оляптюо^тратчлнвтрявречпввыЕвригвв сливса Пункт 'арутт4«уетроисгм* Модели ___ SapTpoСогр QtAmenca S*iliob«*wnB/M OS А. Ьс StBBiBM Nndon 90NV'C«rpo>e«on sorfrc«rpo>e«on I Somtung SyncMsTlet 3 Samtuog SyncMaiiai 3T£ Se»n«w»qSyeeMaw«0bнпкютер обзор пераыащанне nyt«M перетаскивания С помощкМ команд»! <Отп| смена имен и «рорматов эпнррввнга фрагментов на коррина Косынка d Покуатк j Келиреаанн* файла или папки 1 В окне Мфи комльютфр или в гроводмике wnoows еыОерите файл или nanicy котор/нз требуется скопировать 2 В меню Правка выберите команду Колировать 3 Откроите папку или диск куда требуется вставить копию 4 а меню Правка выберите команду Вставить ■ Чтобы выделить t разу несколько файлов или папок выбирайте объекты удерживая клавишу CTRL Чтобы выделить папку в левой области оша проводника ^ 1. Вызов справочной системы осуществляется из Главного меню командой [Справка]. 2 На диалоговой панели Справка Windows пользователь может выбрать один из трех способов поиска необходимой ему справочной информации с помощью вкладок Содержание, Указатель, Поиск. Воспользуемся вкладкой Указатель для поиска инфор мации о способах копирования файлов и папок. Для этого: • введем в поле ввода слово копирование, в левом окне появится список вариантов копирования различных объектов, • найдем и активизируем нужный элемент списка: копира вание файлов и папок; • в правом окне появится пояснение по проведению опера ций копирования. Вопросы для рйзмышления 1. Для чего необходима операционная система? 2. Какие компоненты входят в состав операционной системы? Практические задания 1.7. Проверить, какие марки монитора и видеоадаптера установле ны в Windows и соответствуют ли они реально установленным i компьютере. 1.8. Найти в справочной системе операционной системы информа цию об установке драйверов. Компьютер и программное обеспечение 41 1.4. Загрузка операционной системы Файлы операционной системы хранятся во внешней, долговременной памяти (на жестком, гибком или лазерном диске). Однако программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы операционной системы необходимо загрузить в оперативную память. Диск (жесткий, гибкий или лазерный), на котором находятся файлы операционной системы и с которого производится ее загрузка, называется системным. После включения компьютера производится загрузка операционной системы с системного диска в оперативную память. Загрузка должна выполняться в соответствии с программой загрузки. Однако для того чтобы компьютер выполнял какую-нибудь программу, эта программа должна уже находиться в оперативной памяти. Разрешение этого противоречия состоит в последовательной, поэтапной загрузке операционной системы. Самотестирование компьютера. В состав компьютера входит энергонезависимое постоянное запоминающее устройство (ПЗУ), содержащее программы тестирования компьютера и первого этапа загрузки операционной системы — это BIOS (Basic Input/Output System — базовая система ввода/вывода). После включения питания компьютера или нажатия кнопки Reset на системном блоке компьютера или одновременного нажатия комбинации клавиш {Ctrl+Alt+Del) на клавиатуре процессор начинает выполнение программы самотестирования компьютера POST (Power-ON Self Test). Производится тестирование работоспособности процессора, памяти и других аппаратных средств компьютера. В процессе тестирования сначала могут выдаваться диагностические сообщения в виде различных последовательностей коротких и длинных звуковых сигналов (например, 1 длинный и 3 коротких — не подключен монитор, 5 коротких — ошибка процессора и так далее). После успешной инициализации видеокарты краткие диагностические сообщения выводятся на экран монитора. 42 Глава 1 Для установки правильной даты и времени, а также внесения изменений в конфигурацию аппаратных средств компьютера в процессе выполнения самотестирования необходимо нажать клавишу {Del). Загрузится системная утилита BIOS Setup, имеющая интерфейс в виде системы иерархических меню. Пользователь может установить новые параметры конфигурации компьютера и запомнить их в специальной микросхеме памяти, которая при выключенном компьютере питается от батарейки, установленной на системной плате. В случае выхода из строя батарейки конфигурационные параметры теряются и компьютер перестает нормально загружаться. Загрузка операционной системы. После проведения самотестирования специальная программа, содержащаяся в BIOS, начинает поиск загрузчика операционной системы. Происходит поочередное обращение к имеющимся в компьютере дискам (гибким, жестким, CD-ROM) и поиск на определенном месте (в первом, так называемом загрузочном секторе диска) наличия специальной программы Master Boot (программы-загрузчика операционной системы). Если диск системный и программа-загрузчик оказывается на месте, то она загружается в оперативную память и ей передается управление работой компьютера. Программа ищет файлы операционной системы на системном диске и загружает их в оперативную память в качестве программных модулей (рис. 1.20). Оперативная память Системный диск Программные модули ◄ Файлы операционной операционной системы системы -— Master Boot •4- BIOS ► Master Boot Рис. 1.20. Процесс загрузки операционной системы Если системные диски в компьютере отсутствуют, на экране монитора появляется сообщение «Non system disk*, и компьютер «зависает», то есть загрузка операционной системы прекращается и компьютер остается неработоспособным. После окончания загрузки операционной системы управление передается командному процессору. В случае использования интерфейса командной строки на экране появляется приглашение системы к вводу команд. Приглашение Компьютер и программное обеспечение 43 представляет собой последовательность символов, сообщающих о текущем диске и каталоге. Например, если загрузка операционной системы была произведена с диска С:, а операционная система была установлена в каталог WINDOWS, то появится приглашение: C:\WIN DOWS> В случае загрузки графического интерфейса операционной системы команды могут вводиться с помощью мыши. Вопросы для размышления 1. Каковы основные этапы самотестирования компьютера? 2. Что хранится в микросхеме конфигурационной памяти компьютера? 3. Каковы основные этапы загрузки операционной системы? 1.5. Графический интерфейс Windows в настоящее время все операционные системы для персональных компьютеров обеспечивают взаимодействие с пользователем с помощью графического интерфейса. Это позволяет даже начинающему пользователю компьютера уверенно работать в среде операционной системы (проводить операции с файлами, запускать программы и так далее). & Графический интерфейс позволяет осуществлять взаимодействие человека с компьютером в форме диалога с использованием окон, меню и элементов управления (диалоговых панелей, кнопок и так далее). Работа с мышью. Для работы с графическим интерфейсом используется мышь или другое координатное устройство ввода, при этом пользователь должен уметь производить: • левый щелчок — однократное нажатие и отпускание основной (обычно левой) кнопки мыши; 44 Глава 1 • правый щелчок — однократное нажатие и отпускание дополнительной (обычно правой) кнопки мыши; • двойной щелчок — два нажатия основной кнопки мыши с минимальным интервалом времени между ними; • перетаскивание — нажатие левой или правой кнопки мыши и перемепдение объекта с нажатой кнопкой. Рабочий стол. Основную часть экрана занимает Рабочий стол, на котором располагаются значки и ярлыки (значки с маленькими стрелочками в нижнем левом углу). Значки и ярлыки обеспечивают (с помош;ью двойного щелчка) быстрый доступ к дискам, папкам, документам, приложениям и устройствам. Значки появляются на Рабочем столе после установки Windows. В левой части экрана обычно располагаются значки Мой компьютер. Сетевое окружение. Корзина и Мои документы. Для быстрого доступа к дискам, принтеру, часто используемым документам целесообразно создать на рабочем столе ярлыки. Ярлык отличается от значка тем, что обозначает объект, фактически расположенный не на Рабочем столе, а в некоторой другой папке. Стрелочка означает, что мы имеем не сам объект, а ссылку на него. Ярлыки создаются перетаскиванием значков объектов на Рабочий стол. Знакомство с графическим интерфейсом Windows Создать на Рабочем столе ярлыки всех дисков, принтера и сканера. Создать ярлыки часто используемых приложений и документов. Внешний вид графического интерфейса можно настраивать. Компьютер и программное обеспечение 45 2. Щелкнуть правой кнопкой мыши на Рабочем столе. В контекстном меню выбрать пункт Свойства. На диалоговой панели Свойства: Экран на пяти вкладках установить стиль оформления, выбрать заставку и др. Панель задач. В нижней части экрана располагается Панель задач, на которой находятся кнопка Пуск, кнопки выполняемых задач и открытых папок, индикаторы и часы. Кнопка Пуск позволяет вызывать Главное меню, которое обеспечивает доступ практически ко всем ресурсам системы и содержит команды запуска приложений, настройки системы, поиска файлов и документов, доступа к справочной системе и др. Windows является многозадачной операционной системой, то есть параллельно могут выполняться несколько приложений. Каждое запущенное приложение обозначается кнопкой на Панели задач, при этом переход от работы в одном приложении к работе в другом может производиться с помощью щелчка по кнопке. Работающее (активное) приложение изображается на панели задач в виде нажатой кнопки. В крайней правой части Панели задач находятся Часы. Левее часов располагаются индикаторы состояния системы. Например, индикатор Ru обозначает, что в текущий момент используется русская раскладка клавиатуры. 3. Левым щелчком мыши ?]»j можно раскрыть индикатор и переключиться на английскую раскладку, а правым — открыть диалоговую панель Свойства и выбрать требуемое сочетание нажатия клавиш на клавиатуре для переключения раскладок. »нив оежииа Саре Lock энлей CAPS LOCK С Кпввишвв Ьг" F- Сочетание клевии дл* языков вводе Ввыствие Л11.И11Ш1Мит111111вии 1Пврвкл*очв'«ивнвАиглийский(США^ США Пеовключв>»>е на Русский F Сняче сочетания клавиш 46 Глава 1 Окна. Важнейшим элементом графического интерфейса Windows являются окна, действительно ведь «windows» в переводе означает «окна». Существуют два основных типа окон — окна приложений и окна документов. Окна приложений. В окне приложения выполняется любое запущенное на выполнение приложение или отражается содержимое папки. Открыть или закрыть окно приложения — то же, что и запустить программу на выполнение или завершить ее. Окна приложений можно перемещать на любое место Рабочего стола, разворачивать на весь экран или сворачивать в кнопки на панели задач. Основными элементами окна приложения являются: • рабочая область: внутренняя часть окна, содержит вложенные папки или окна документов; • границы: рамка, ограничивающая окно с четырех сторон. Размеры окна можно изменять, перемещая границу мышью; • заголовок: строка непосредственно под верхней границей окна, содержащая название окна; • значок системного меню: кнопка слева в строке заголовка открывает меню перемещения и изменения размеров окна; • строка горизонтального меню: располагается непосредственно под заголовком, содержит пункты меню, обеспечивает доступ к командам; • панель инструментов: располагается под строкой меню, представляет собой набор кнопок, обеспечивает быстрый доступ к некоторым командам; • кнопки Свернуть, Развернуть/Восстановить, Закрыть расположены в верхней правой части окна. Окна документов. Окна документов предназначены для работы с документами и «живут» внутри окон приложений. Можно раскрывать, сворачивать, перемещать или изменять размеры этих окон, однако они всегда остаются в пределах окна своего приложения. Окно документа имеет те же кнопки управления, что и окно приложения. Окно документа всегда содержит зону заголовка (содержащую имя документа) и часто полосы прокрутки (появляющиеся, когда документ не помещается полностью в окне) и линейки. Открытое окно документа может находиться в активном либо в пассивном состоянии. Если окно находится в пассивном состоянии (зона заголовка не выделена цветом), то, щелкнув по любой его части мышью, можно перевести его в активное состояние. Компьютер и программное обеспечение 47 4. После запуска приложения Word его окно появится на Рабочем столе. Если открыть в Word два документа, то в окне приложения появятся окна двух документов. Одно окно может быть развернуто и активно,другое — свернуто и пассивно. Меню. Меню является одним из основных элементов графического интерфейса и представляет собой перечень команд (как правило, тематически сгруппированных), из которых необходимо сделать выбор (поместив на пункт меню указатель мыши и произведя щелчок). Выбор пункта меню приводит к выполнению определенной команды. Если за командой меню следует многоточие, то ее выбор приведет к появлению диалоговой панели, которая позволяет пользователю получить или ввести дополнительную информацию. Диалоговые панели. Диалоговые панели могут включать в себя разнообразные элементы. Рассмотрим возможности диалоговых панелей на примере уточнения параметров поиска файлов. Вкладки. Диалоговые панели могут включать в себя несколько «страниц», которые называются вкладками. 5. После ввода команды [Найти-Файлы и папки...] появится диалоговая панель Найти: Все файлы. Эта панель содержит три вкладки: Имя и местоположение. Дата, Дополнительно. Выбор вкладки осуществляется левым щелчком. Командные кнопки. Нажатие на кнопку (щелчок) обеспечивает выполнение того или иного действия, а надпись на кнопке поясняет ее назначение. Так, щелчок по кнопке с надписью Найти позволяет начать процесс поиска. Текстовые поля. Текстовое поле называется иногда полем редактирования и позволяет ввести какую-либо текстовую информацию. 6. Например, если пользователь хочет найти файлы, содержащие слово «информатика», то его необходимо ввести в текстовом поле Искать текст: вкладки Имя и местоположение диалоговой панели Найти: Все файлы. 48 Глава 1 Для этого следует осуще- ^аДп Qoaav« 3>^а П^амвтош ^рввха ствить левый щелчок поле и ввести текст. $вйл Qpeeire В‘’Д Г-лрвметры Спржка »лая Списки. Список представляет собой набор предлагаемых на выбор значений. Раскрывающийся список выглядит как текстовое поле, снабженное кнопкой с направленной вниз стрелочкой. Раскрытие списка осуществляется с помощью левого щелчка по кнопке. 7. Раскрывающийся список Где искать: диалоговой панели Найти: Все файлы позволяет указать диск или папку (например, папку Мои документы), в которой будет осуществлен поиск. Переключатели. Переключатели служат для выбора одного из взаимоисключающих вариантов, варианты выбора представлены в форме маленьких белых кружков. Выбранный вариант обозначается кружком с точкой внутри. Выбор варианта производится с помощью левого щелчка. 8. Так, на вкладке Дата диалоговой панели Найти: Все файлы имеются два переключателя: основной (на два варианта) и дополнительный (на три варианта). В процессе поиска файлов, установив основной переключатель в положение Найти все файлы, а дополнительный в положение между, можно ограничить область поиска периодом изменения файлов (в данном случае с 14.09.99 по 13.12.99). Флажки. Флажок обеспечивает присваивание какому-либо параметру определенного значения. Флажки могут располагаться как группами, так и поодиночке. Флажок имеет форму квадратика; когда флажок установлен, в нем присутствует «галочка». Установка флажков производится с помощью левого щелчка. Илаимвстот>ло«виив I С 8tfi>ve 1) Контекстные меню. Объектно-ориентированный подход, используемый в операционной системе Windows, позволяет рассматривать диски, папки и файлы как объекты. Все эти объекты имеют определенные свойства, и над ними могут проводиться определенные операции. Например, документы (документом называется любой файл, обрабатываемый с помощью приложений) имеют определенный объем и их можно копировать, перемещать и переименовывать; окна имеют размер, который можно изменять и так далее. Хотя каждый из этих объектов имеет свои конкретные свойства и над ним возможны определенные операции, технология работы с объектами и интерфейс универсальны. Это позволяет пользователю достичь единообразия при работе с разными объектами. Ознакомиться со свойствами объекта, а также выполнить над ним разрешенные операции можно с помощью контекстного меню. Для вызова контекстного меню необходимо осуществить правый щелчок на значке объекта. 50 Глава 1 11. Для того чтобы ознакомиться со свойствами диска, надо выбрать в контекстном меню пункт Свойства — появится диалоговая панель Свойства: Диск 3,5 (А). Панель содержит четыре вкладки: Общие, Сервис, Оборудование, Доступ. На вкладке Общие содержится информация о типе файловой системы, общей, свободной и занятой информационной емкости диска и др. -ti»i Общие Сереис j Обоо^еание | Дост^ | & Тип ЛиСа^5 Фбйпоеая система ^АТ m Занято В Сеовсшио МО байт 332 вб^байт 512К6 911 КБ Вопросы для размышления 1. Чем отличается окно документа от окна приложения? 2. Какие основные элементы могут содержать диалоговые панели? Практические задания 1.9. Проверить правильность установки даты, времени и часового пояса на вашем компьютере. 1.10. Ознакомиться со свойствами папки и документа. 1.6. Программная обработка данных Основной функцией компьютера является обработка информации. Выше была рассмотрена аппаратная реализация компьютера. Рассмотрим теперь, каким образом компьютер обрабатывает информацию. В 50-60-е годы, когда компьютер еще назывался ЭВМ (электронно-вычислительная машина), он мог только вычислять. Процесс обработки информации состоял в операциях над числовыми данными. Компьютер и программное обеспечение 51 В 70-е годы компьютер «научился» работать с текстом. Пользователь получил возможность редактировать и форматировать текстовые документы. В настоящее время большая часть компьютеров и большая часть времени используется для работы именно с текстовыми данными. В 80-е годы появились первые компьютеры, способные работать с графической информацией. Сейчас компьютерная графика широко используется в деловой графике (построение диаграмм, графиков и так далее), в компьютерном моделировании, при подготовке презентаций, при создании Web-сайтов, в рекламе на телевидении, в анимационном кино и так далее. Применение компьютеров для обработки графических данных постоянно расширяется. В 90-е годы компьютер получил возможность обрабатывать звуковую информацию. Любой пользователь современного персонального компьютера может воспользоваться стандартными приложениями Windows для прослушивания, записи и редактирования звуковых файлов. Работа со звуковыми данными является неотъемлемой частью мультимедиа технологии. Для того чтобы числовая, текстовая, графическая и звуковая информация могли обрабатываться на компьютере, они должны быть представлены в форме данных. Данные хранятся и обрабатываются в компьютере на машинном языке, то есть в виде последовательностей нулей и единиц. Информация, представленная в компьютерной форме (на машинном языке) и обрабатываемая на компьютере, называется данными. Для того чтобы процессор компьютера «знал», что ему делать с данными, как их обрабатывать, он должен получить определенную команду (инструкцию). Такой командой может быть, например, «сложить два числа» или «заменить один символ на другой». Обычно для решения какой-либо задачи процессору требуется не единичная команда, а их последовательность. Такая последовательность команд (инструкций) называется программой. Последовательность команд, которую выполняет компьютер в процессе обработки данных, называется программой. 52 Глава 1 На заре компьютерной эры, в 40-50-е годы, программы разрабатывались непосредственно на машинном языке, то есть на том языке, который «понимает» процессор. Такие программы представляли собой очень длинные последовательности нулей и единиц, в которых человеку разобраться было очень трудно. В 60-е годы началась разработка языков программирования высокого уровня (Алгол, Фортран, Basic, Pascal и др.), которые позволили суш;ественно облегчить работу программистов. В настояпцее время с появлением систем визуального программирования (Visual Basic, Delphi и др.) создание программ стало доступно даже для начинающих пользователей компьютера. В течение нескольких десятилетий создавались программы, необходимые для обработки различных данных. Совокупность необходимых программ составляет программное обеспечение компьютера. Таким образом, для обработки данных на компьютере необходимо иметь не только аппаратное обеспечение компьютера, так называемое hardware, но и программное обеспечение, так называемое software. Программная обработка данных на компьютере реализуется следующим образом. После запуска на выполнение программы, хранящейся во внешней долговременной памяти, она загружается в оперативную память. Процессор последовательно считывает команды программы и выполняет их. Необходимые для выполнения команды данные загружаются из внешней памяти в оперативную и над ними производятся необходимые операции. Данные, полученные в процессе выполнения команды, записываются процессором обратно в оперативную или внешнюю память. В процессе выполнения программы процессор может запрашивать данные с устройств ввода информации и пересылать данные на устройства вывода информации. 4.8. Выполнение программ компьютером (интерпретаторы и компиляторы) Вопросы для размышления 1. В чем состоит различие между данными и программами? 2. Где хранятся данные? Программы? Компьютер и программное обеспечение 53 1.7. Файлы и файловая система Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов. Файл - это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти. Имя файла. Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и так далее). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании (табл. 1.2). В различных операционных системах существуют различные форматы имен файлов. В операционной системе MS-DOS собственно имя файла должно содержать не более 8 букв латинского алфавита, цифр и некоторых специальных знаков, а расширение состоит из трех латинских букв, например: proba.txt В операционной системе Windows имя файла может иметь длину до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации.doc Таблица 1.2. Типы файлов и расширений Тип файла Расширения Программы ехе, сот Текстовые файлы txt, doc Графические файлы bmp, gif, jpg и др Звуковые файлы wav, mid Видеофайлы avi Программы на языках программирования bas, pas и др Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется используемой файловой системой. Каждый диск разбивается на две области: область хранения файлов и каталог. Каталог содержит имя файла и указа- 54 Глава 1 ние на начало его размещения на диске. Если провести аналогию диска с книгой, то область хранения файлов соответствует ее содержанию, а каталог — оглавлению. Причем книга состоит из страниц, а диск — из секторов. Для дисков с небольшим количеством файлов (до нескольких десятков) может использоваться одноуровневая файловая система, когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов (табл. 1.3). Такой каталог можно сравнить с оглавлением детской книжки, которое содержит только названия отдельных рассказов. Таблица 1.3. Одноуровневый каталог Имя файла Номер начального сектора Файл_1 56 Файл_2 89 Файл_112 1200 Если на диске хранятся сотни и тысячи файлов, то для удобства поиска используется многоуровневая иерархическая файловая система, которая имеет древовидную структуру. Такую иерархическую систему можно сравнить, например, с оглавлением данного учебника, которое представляет собой иерархическую систему разделов, глав, параграфов и пунктов. Начальный, корневой каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из последних может содержать вложенные каталоги 2-го уровня и так далее. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы. Например, в корневом каталоге могут находиться два вложенных каталога 1-го уровня (Каталог_1, Каталог_2) и один файл (Файл_1). В свою очередь, в каталоге 1-го уровня (Каталог_1) находятся два вложенных каталога второго уровня (Каталог_1.1 и Каталог_1 2) и один файл (Файл_1.1) — рис. 1.21. 14* а Файловая система — это система хранения файлов и организации каталогов. Компьютер и программное обеспечение 55 Рис. 1.21. Иерархическая файловая система Рассмотрим иерархическую файловую систему на конкретном примере. Каждый диск имеет логическое имя (А:, В: — гибкие диски. С:, D:, Е: и так далее — жесткие и лазерные диски). Пусть в корневом каталоге диска С: имеются два каталога 1- го уровня (GAMES, TEXT), а в каталоге GAMES один каталог 2- го уровня (CHESS). При этом в каталоге TEXT имеется файл proba.txt, а в каталоге CHESS — файл chess.exe (рис. 1.22). Рис. 1.22. Пример иерархической файловой системы Путь к файлу. Как найти имеющиеся файлы (chess.exe, proba.txt) в данной иерархической файловой системе? Для этого необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель «\» логическое имя диска и последовательность имен вложенных друг в друга каталогов, в последнем из которых содержится нужный файл. Пути к вышеперечисленным файлам можно записать следующим образом: C:\GAMES\CHESS\ С:\ТЕХТ\ Путь к файлу вместе с именем файла называют иногда полным именем файла. 56 Глава 1 Пример полного имени файла: С \GAMES\CHESS\chess.exe Представление файловой системы с помощью графического интерфейса. Иерархическая файловая система MS-DOS, содержащая каталоги и файлы, представлена в операционной системе Windows с помощью графического интерфейса в форме иерархической системы папок и документов. Папка в Windows является аналогом каталога MS-DOS Однако иерархическая структура этих систем несколько различается. В иерархической файловой системе MS-DOS вершиной иерархии объектов является корневой каталог диска, который можно сравнить со стволом дерева, на котором растут ветки (подкаталоги), а на ветках располагаются листья (файлы). В Windows на вершине иерархии папок находится папка Рабочий стол. Следующий уровень представлен папками Мой компьютер. Корзина и Сетевое окружение (если компьютер подключен к локальной сети) — рис. 1.23. Рабочий стол г Мой компьютер Корзина Сетевое окружение А: С: D; Е: Compl Comp2 СотрЗ Comp4 Рис. 1.23. Иерархическая структура папок Если мы хотим ознакомиться с ресурсами компьютера, необходимо открыть папку Мой компьютер. Иерархическая система папок Windows Фай» Прам бид luffahHoe с«с»< Сяра» ^Н*ма » ^ narvM ” lit Ч>.Ак«мпыот«р Фаипоеая •>1ст«мв f»T32 Свобол-к 1Д7ГБ 2-ЧГЬ 3 S А) Диск Э 5 -•SYSTEM (С) noKaifcf*»i •«wrdow? хр (D Лока;ь>*)й дл> .•pftOGfUMMSe (Е ) ЛnкA;ъ^**1 диск Лсрка'ькьйдю' ^)иса/«|гъ*1 диск <^др)Фе(Н) Локд/ъгшл диск СО-»*скооод (I) CD-дижвсд «Одисксеод Л) СЕТ-дисксеод •J - ......... "jiJnepe-o, ОЧодио) 1. В окне Мой компью тер находятся значки имеющихся в компьютере дисков. Активизация (щелчок) значка любого диска выводит в левой части окна информацию о его емкости, занятой и свободной частях. 24SKC 46 МБ 607МБ 3S9MB 1Д7Г6 220 Компьютер и программное обеспечение 57 2. Выбрав один из пунктов меню Вид {Крупные значки. Мелкие значки. Список, Таблица), можно настроить форму представления содержимого папки. Папка Сетевое окружение содержит папки всех компьютеров, подключенных в данный момент к локальной сети. Папка Корзина временно содержит все удаленные папки и файлы. При необходимости удаленные и хранящиеся в Корзине папки и документы можно восстановить. 3. Для окончательного удаления файлов необходимо ввести команду [Файл-Очистить корзину]. Операции над файлами. В процессе работы на компьютере наиболее часто над файлами производятся следующие операции: • копирование (копия файла помещается в другой каталог); • перемещение (сам файл перемещается в другой каталог); • удаление (запись о файле удаляется из каталога); • переименование (изменяется имя файла). Графический интерфейс Windows позволяет проводить операции над файлами с помощью мыши с использованием метода Drag&Drop (перетащи и оставь). Существуют также специализированные приложения для работы с файлами, так называемые файловые менеджеры: Norton Commander, Windows Commander, Проводник и др. Установить файловый менеджер Windows Commander CD-ROM В некоторых случаях возникает необходимость работать с интерфейсом командной строки. В Windows предусмотрен режим работы с интерфейсом командной строки MS-DOS. ,Sj Интерфейс командной строки 1. Ввести команду [Программы-Сеанс MS-DOS]. Появится окно приложения Сеанс MS-DOS. В ответ на приглашение системы можно вводить команды MS-DOS с клавиатуры, в том числе: • команды работы с файлами (сору, del, rename и др.); • команды работы с каталогами (dir, mkdir, chdir и др.); • команды работы с дисками (format, defrag и др.). 2. Существуют десятки команд MS-DOS, при этом каждая команда имеет свой формат и параметры, запомнить которые достаточно трудно. Для того чтобы получить спра- 58 Глава 1 вечную информацию по команде, необходимо после имени команды ввести ключ /?. Например, для получения справки по команде format в ответ на приглашение системы необходимо ввести: С:\WINDOWS>format/? •TjiLJal31 aJa* Aj а-ск: [/1] 1/4 t/i\ I,-I i -T.: l/C] гтл4] He-t-a свадйвае»^''* то*«з. *мгслме-<иа CwcTpor* мрпат«(»овал1<||. 'лпа* ^сигт|<р>«1>ога диска (мапкиияд 14с-, IS-5. ;??. }<,:•. .1.:. Отасд ha диска места г:сд систвиние jaKn*!-К«<;ив9нал«« на crf.«nMaTH(/«s.4>u« 'исс 'за.ггя Числе. до;:са»гК н* каадэи стоссне дис.<а. 'Ts*v Числе CSKTCC5B пржслльвес* па льну еаридт-н^^ание гелькл первой стапомв диска, еориатиговаияе диска 5СП чь тпга Р! Вопросы длЛНзмышления 1. Какой элемент является вершиной иерархии в файловой системе MS-DOS? В графическом интерфейсе Windows? м Практические задания 1.11. Осуществить копирование файлов с использованием интерфейса командной строки и файлового менеджера. 1.12. Ознакомиться с объемом дисков вашего компьютера, а также объемами занятого и свободного пространства. 1.13. Ознакомиться с форматом команды dir. Просмотреть корневой каталог диска С . 1.8. Логическая структура дисков Форматирование дисков. Для того чтобы на диске можно было хранить информацию, диск должен быть отформатирован, то есть должна быть создана физическая и логическая структура диска. Формирование физической структуры диска состоит в создании на диске концентрических дорожек, которые, в свою очередь, делятся на секторы. Для этого в процессе форматирования магнитная головка дисковода расставляет в определенных местах диска метки дорожек и секторов. Компьютер и программное обеспечение 59 После форматирования гибкого диска 3,5" его параметры будут следующими (рис. 1.24): • информационная емкость сектора — 512 байтов; • количество секторов на дорожке — 18; • дорожек на одной стороне — 80; • сторон — 2. Рис. 1.24. Физическая структура дискеты Логическая структура гибких дисков. Логическая структура магнитного диска представляет собой совокупность секторов (емкостью 512 байтов), каждый из которых имеет свой порядковый номер (например, 100). Сектора нумеруются в линейной последовательности от первого сектора нулевой дорожки до последнего сектора последней дорожки. 0 а На гибком диске минимальным адресуемым элементом является сектор. При записи файла на диск будет занято всегда целое количество секторов, соответственно минимальный размер файла — это размер одного сектора, а максимальный соответствует общему количеству секторов на диске. Файл записывается в произвольные свободные сектора, которые могут находиться на различных дорожках. Например, Файл_1 объемом 2 Кбайта может занимать сектора 34, 35 и 47, 48, а Файл_2 объемом 1 Кбайт — сектора 36 и 49. Таблица 1.4. Логическая структура гибкого диска формата 3,5” (2-я сторона) № дорожки № сектора 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 2 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 1 79 1 2880 во Глава 1 Для того чтобы можно было найти файл по его имени, на диске имеется каталог, представляющий собой базу данных. 11.1. Базы данных Запись о файле содержит имя файла, адрес первого сектора, с которого начинается файл, объем файла, а также дату и время его создания (табл. 1.5). Таблица 1.5. Структура записей в каталоге Имя файла Адрес первого сектора Объем файла, Кбайт Дата создания Время создания Файл 1 34 2 14 01 99 14 29 Файл_2 36 1 14 01 99 14 45 Полная информация о секторах, которые занимают файлы, содержится в таблице размещения файлов (FAT — File Allocation Table). Количество ячеек FAT соответствует количеству секторов на диске, а значениями ячеек являются цепочки размещения файлов, то есть последовательности адресов секторов, в которых хранятся файлы. Например, для двух рассмотренных выше файлов таблица FAT с 1 по 54 сектор принимает вид, представленный в табл. 1.6. Таблица 1.6. Фрагмент FAT 35 47 49 48 К I'K'-i Цепочка размещения для файла Файл_1 выглядит следующим образом: в начальном 34-м секторе хранится адрес 35, в 35-м секторе хранится адрес 47, в 47-м — 48, в 48-м — знак конца файла (К). Для размещения каталога — базы данных и таблицы FAT на гибком диске отводятся секторы со 2 по 33. Первый сектор отводится для размещения загрузочной записи операционной системы. Сами файлы могут быть записаны, начиная с 34 сектора. Виды форматирования. Существуют два различных вида форматирования дисков: полное и быстрое форматирование. Полное форматирование включает в себя как физическое форматирование (проверку качества магнитного покрытия Компьютер и программное обеспечение 61 дискеты и ее разметку на дорожки и секторы), так и логическое форматирование (создание каталога и таблицы размещения файлов). После полного форматирования вся хранившаяся на диске информация будет уничтожена. Быстрое форматирование производит лишь очистку корневого каталога и таблицы размещения файлов. Информация, то есть сами файлы, сохраняется и в принципе возможно восстановление файловой системы. Стандартное форматирование гибкого диска Формптирование: Диск 3.5 (А:) Ш 1-^ мБ 3 Ь ) Способ форматировйчия С" Быстрое [очистка огяпбпв д ’сха) Холвкокопироввмие U11. темиыу феи юе Проч1 е параме г ры Ыетка Г без метки Р Зывестиотчет о рвсупьтатах Г” Скопироеатв «а яис» системные фаипы I 3e.|:t.Tb [ 1. В контекстном меню выбрать пункт Форматировать. Откроется диалоговая панель Форматирование. С помощью переключателя Способ форматирования выбрать пункт Полное. В поле Метка можно ввести название диска. Для получения сведения о результатах форматирования установить флажок Вывести отчет о результатах Щелкнуть по кнопке Начать. 2. После окончания форматирования диска появится информационная панель Результаты форматирования. Вы увидите, что доступный для размещения данных информационный объем диска оказался равен 1 459 664 байта (2047 секторов), а системные файлы и поврежденные сектора отсутствуют. В целях защиты информации от несанкционированного копирования можно задавать нестандартные параметры форматирования диска (количество дорожек, количество секторов и др.). Такое форматирование возможно в режиме MS-DOS. Результаты форматирования Диск 3.5 (А:) 1 457 664 байт всего на диске О байт е системных фаи па< О бейт в поврежденных секторах 1 457 684 байт доступно на диске 512 байт в одном кнастере 2 847 кластеров всего на диске Серииныи номер диска 1803 324С Закрыть 62 Глава 1 Нестандартное форматирование гибкого диска 1. Ввести команду [Программы-Сеанс MS-DOS]. Появится окно приложения Сеанс MS-DOS. 2. Ввести команду нестандартного форматирования гибкого диска А:, на котором будет 79 дорожек и 19 секторов на каждой дорожке: C:\WlNDOWS>format A;/T:79/N:19 Информационная емкость гибких дисков. Рассмотрим различие между емкостью неформатированного гибкого магнитного диска, его информационной емкостью после форматирования и информационной емкостью, доступной для записи данных. Заявленная емкость неформатированного гибкого магнитного диска формата 3,5" составляет 1,44 Мбайт. Рассчитаем общую информационную емкость отформатированного гибкого диска; Количество секторов: А = 18 х 80 х 2 = 2880. Информационная емкость: 512 байт X А = 1 474 560 байт = 1 440 Кбайт = = 1,40625 Мбайт. Однако для записи данных доступно только 2847 секторов, то есть информационная емкость, доступная для записи данных, составляет: 512 байт X 2847 = 1 457 664 байт = 1423,5 Кбайт ~ « 1,39 Мбайт. Логическая структура жестких дисков. Логическая структура жестких дисков несколько отличается от логической структуры гибких дисков. Минимальным адресуемьш элементом жесткого диска является кластер, который может включать в себя несколько секторов. Размер кластера зависит от типа используемой таблицы FAT и от емкости жесткого диска. На жестком диске минимальным адресуемым элементом является кластер, который содержит несколько секторов. Таблица FAT16 может адресовать 2^® = 65 536 кластеров. Для дисков большой емкости размер кластера оказывается слишком большим, таккак информационная емкость жестких дисков может достигать 150 Гбайт. Компьютер и программное обеспечение 63 Например, для диска объемом 40 Гбайт размер кластера будет равен: 40 Гбайт/65536 = 655 360 байт = 640 Кбайт. Файлу всегда выделяется целое число кластеров. Например, текстовый файл, содержащий слово «информатика», составляет всего 11 байтов, но на диске этот файл будет занимать целиком кластер, то есть 640 Кбайт дискового пространства для диска емкостью 150 Гбайт. При размещении на жестком диске большого количества небольших по размеру файлов они будут занимать кластеры лишь частично, что приведет к большим потерям свободного дискового пространства. Эта проблема частично решается с помощью использования таблицы FAT32, в которой объем кластера принят равным 8 секторам или 4 килобайтам для диска любого объема. В целях более надежного сохранения информации о размещении файлов на диске хранятся две идентичные копии таблицы FAT. Преобразование FAT16 в FAT32 можно осуществить с помощью служебной программы Преобразование диска в FAT32, которая входит в состав Windows. Дефрагментация дисков. Замедление скорости обмена данными может происходить в результате фрагментации файлов. Фрагментация файлов (фрагменты файлов хранятся в различных, удаленных друг от друга кластерах) возрастает с течением времени, в процессе удаления одних файлов и записи других. Так как на диске могут храниться сотни и тысячи файлов в сотнях тысяч кластеров, то фрагментированность файлов будет существенно замедлять доступ к ним (магнитным головкам придется постоянно перемещаться с дорожки на дорожку) и в конечном итоге приводить к преждевременному износу жесткого диска. Рекомендуется периодически проводить дефрагментацию диска, в процессе которой файлы записываются в кластеры, последовательно идущие друг за другом. Дефрагментация диска 1. Для запуска программы Дефрагментация диска, необходимо из Главного меню ввести команду [Стандартные-Слу-жебные-Дефрагментация диска]. 2. Диалоговая панель Выбор диска позволяет выбрать диск, нуждающийся в процедуре дефрагментации. После нажатия кнопки ОК появится панель Дефрагментация диска. 64 Глава 1 Процесс дефрагментации диска можно визуально наблюдать, если щелкнуть по кнопке Сведения. Каждый квадратик соответствует одному кластеру, при этом неоптимизи-рованные, уже оптимизированные, а также считываемые и записываемые в данный момент кластеры имеют различные цвета. Вопросы для размышления 1. Какой минимальный объем занимает файл при его хранении: • на гибком магнитном диске; • на жестком магнитном диске. 2. Какова последовательность размещения файла Файл_2 из приведенного примера на секторах гибкого диска? 3. Почему различаются величины емкости отформатированного диска и информационной емкости, доступной для записи данных? 4. Чем различаются полное и быстрое форматирование диска? 5. Чем различаются таблицы размещения файлов FAT16 и FAT32? 6. С какой целью необходимо периодически проводить дефрагментацию жестких дисков? _Ш| Практические задания 1.14. Отформатировать гибкий диск с нестандартными параметрами. 1.15. Вычислить объем кластера вашего жесткого диска в системе FAT16. 1.16. С помощью служебной программы Сведения о системе определить тип FAT, используемый на ваших дисках. 1.17. С помощью служебной программы Проверка диска провести проверку целостности файловой системы. 1.18. С помощью служебной программы Дефрагментация диска провести дефрагментацию дисков вашего компьютера. Компьютер и программное обеспечение 65 1.9. Прикладное программное обеспечение Прикладное программное обеспечение можно разделить на две группы программ; системы программирования и приложения. Системы программирования являются инструментами для программистов-профессионалов и позволяют разрабатывать программы на различных языках программирования (Basic, Pascal, С и др.)- В настоящее время широкое распространение получили системы визуального программирования (Visual Basic, Borland Delphi и др.)> которые позволяют даже начинающему пользователю компьютера создавать несложные программы. Приложение функционирует под управлением определенной операционной системы. Так, текстовый редактор Word является приложением операционной системы Windows, а текстовый редактор Edit — приложением операционной системы MS-DOS. Приложения позволяют пользователю обрабатывать текстовую, графическую, числовую, аудио- и видеоинформацию, а также работать в компьютерных сетях, не владея программированием. Практически каждый пользователь компьютера нуждается в приложениях общего назначения, к числу которых относятся: текстовые редакторы и графические редакторы, электронные таблицы, системы управления базами данных, а также приложения для создания мультимедиа-презентаций. Наиболее распространенными в настоящее время пакетами приложений общего назначения являются Microsoft Office и StarOffice. В связи со стремительным развитием глобальных и локальных компьютерных сетей все большее значение приобретают различные коммуникационные программы. В последнее время разработчики операционных систем, и в частности разработчики Windows, включают коммуникационные программы непосредственно в состав операционной системы. В отдельную группу в связи с широким распространением компьютерных вирусов можно отнести антивирусные программы. Для профессионального использования в различных сферах деятельности квалифицированными пользователями компьютера используются приложения специального назна- 3—2645 66 Глава 1 чения. К ним относятся системы компьютерной графики, системы автоматизированного проектирования (САПР), бухгалтерские программы, компьютерные словари, системы автоматического перевода и др. Все большее число пользователей использует обучающие программы для самообразования или в учебном процессе. Прежде всего, это программы обучения иностранным языкам, программы-репетиторы, тесты по различным предметам и так далее. Большую пользу приносят различные мультимедиа-приложения (энциклопедии, справочники и так далее) на лазерных дисках, которые содержат огромный объем информации и средства быстрого ее поиска. Достаточно большое число пользователей начинают знакомство с компьютером с компьютерных игр, которые бывают самых различных типов; логические, стратегические, спортивные и так далее. Вопросы для размышления 1. В чем состоит основное различие между операционной системой и прикладными программами? 2. Какие вы знаете виды приложений общего назначения? 3. Какие вы знаете виды приложений специального назначения? 1.10. Компьютерные вирусы и антивирусные программы 1.10.1. Типы компьютерных вирусов Первая массовая эпидемия компьютерного вируса произошла в 1986 году, когда вирус Brain «заражал» дискеты для первых массовых персональных компьютеров. В настоящее время известно несколько десятков тысяч вирусов, заражающих компьютеры с различными операционными системами и распространяющихся по компьютерным сетям. Обязательным свойством компьютерного вируса является способность к размножению (самокопированию) и незаметному для пользователя внедрению в файлы, загрузочные Компьютер ж программное обеспечение 67 секторы дисков и документы. Название «вирус» по отношению к компьютерным программам пришло из биологии именно по признаку способности к саморазмножению. После заражения компьютера вирус может активизироваться и заставить компьютер выполнять какие-либо действия. Активизация вируса может быть связана с различными событиями (наступлением определенной даты или дня недели, запуском программы, открытием документа и так далее). а Компьютерные вирусы являются программами, которые могут «размножаться» и скрытно внедрять свои копии в файлы, загрузочные секторы дисков и документы. Активизация компьютерного вируса может вызывать уничтожение программ и данных. Разнообразны последствия действия вирусов; по величине вредных воздействий вирусы можно разделить на: • неопасные, влияние которых ограничивается уменьшением свободной памяти на диске, графическими, звуковыми и другими внешними эффектами; • опасные, которые могут привести к сбоям и зависаниям при работе компьютера; • очень опасные, активизация которых может привести к потере программ и данных (изменению или удалению файлов и каталогов), форматированию винчестера и так далее. По «среде обитания» вирусы можно разделить на файловые, загрузочные, макровирусы и сетевые. Файловые вирусы. Файловые вирусы различными способами внедряются в исполнимые файлы (программы) и обычно активизируются при их запуске. После запуска зараженной программы вирус находится в оперативной памяти компьютера и является активным (то есть может заражать другие файлы) вплоть до момента выключения компьютера или перезагрузки операционной системы. При этом файловые вирусы не могут заразить файлы данных (например, файлы, содержащие изображение или звук). Профилактическая защита от файловых вирусов состоит в том, что не рекомендуется запускать на выполнение файлы, полученные из сомнительного источника и предварительно не проверенные антивирусными программами. 68 Глава 1 Загрузочные вирусы. Загрузочные вирусы записывают себя в загрузочный сектор диска. При загрузке операционной системы с зараженного диска вирусы внедряются в оперативную память компьютера. В дальнейшем загрузочный вирус ведет себя так же, как файловый, то есть может заражать файлы при обращении к ним компьютера. Профилактическая защита от таких вирусов состоит в отказе от загрузки операционной системы с гибких дисков и установке в BIOS вашего компьютера защиты загрузочного сектора от изменений. Макровирусы. Макровирусы заражают файлы документов Word и электронных таблиц Excel. Макровирусы являются фактически макрокомандами (макросами), которые встраиваются в документ. 4.15. Язык объектно-ориентированного программирования Visual Basic for Applications После загрузки зараженного документа в приложение макровирусы постоянно присутствуют в памяти компьютера и могут заражать другие документы. Угроза заражения прекращается только после закрытия приложения. Профилактическая защита от макровирусов состоит в предотвращении запуска вируса. При открытии документа в приложениях Word и Excel сообщается о присутствии в них макросов (потенциальных вирусов) и предлагается запретить их загрузку. Выбор запрета на загрузку макросов надежно защитит ваш компьютер от заражения макровирусами, однако отключит и полезные макросы, содержащиеся в документе. Сетевые вирусы. По компьютерной сети могут распространяться и заражать компьютеры любые обычные вирусы. Это может происходить, например, при получении зараженных файлов с серверов файловых архивов. Однако существуют и специфические сетевые вирусы, которые используют для своего распространения электронную почту и Всемирную паутину. Интернет-черви (worm) — это вирусы, которые распространяются в компьютерной сети во вложенных в почтовое сообщение файлах. Автоматическая активизация червя и заражение компьютера могут произойти при обычном просмотре сообщения. Опасность таких вирусов состоит в том, что они по определенным датам активизируются и уничтожают файлы на дисках зараженного компьютера. Компьютер и программное обеспечение 69 Кроме того, интернет-черви часто являются троянами, выполняя роль «троянского коня», внедренного в операционную систему. Такие вирусы «похищают» идентификатор и пароль пользователя для доступа в Интернет и передают их на определенный почтовый адрес. В результате злоумышленники получают возможность доступа в Интернет за деньги ничего не подозревающих пользователей. Лавинообразная цепная реакция распространения вируса базируется на том, что вирус после заражения компьютера начинает рассылать себя по всем адресам электронной почты, которые имеются в адресной книге пользователя. Кроме того, может происходить заражение и по локальной сети, так как червь перебирает все локальные диски и сетевые диски с правом доступа и копируется туда под случайным именем. Профилактическая защита от интернет-червей состоит в том, что не рекомендуется открывать вложенные в почтовые сообщения файлы, полученные из сомнительных источников. Особой разновидностью вирусов являются активные элементы (программы) на языках JavaScript или VBScript, которые могут выполнять разрушительные действия, то есть являться вирусами {скрипт-вирусами). Такие программы передаются по Всемирной паутине в процессе загрузки Web-страниц с серверов Интернета в браузер локального компьютера. Профилактическая защита от скрипт-вирусов состоит в том, что в браузере можно запретить получение активных элементов на локальный компьютер. Вопросы для размышления К каким последствиям может привести заражение компьютерными вирусами? Какие типы компьютерных вирусов существуют, чем они отличаются друг от друга и какова должна быть профилактика заражения? Почему даже чистая отформатированная дискета может стать источником заражения вирусом? 70 Глава 1 1.10.2. Антивирусные программы Наиболее эффективны в борьбе с компьютерными вирусами антивирусные программы. Антивирусные программы могут использовать различные принципы для поиска и лечения зараженных файлов. Установить полифаги Kaspersky Anti-Virus, Dr.Web Полифаги. Самыми популярными и эффективными антивирусными программами являются антивирусные программы полифаги (например, Kaspersky Anti-Virus, Dr.Web). Принцип работы полифагов основан на проверке файлов, загрузочных секторов дисков и оперативной памяти и поиске в них известных и новых (неизвестных полифагу) вирусов. Для поиска известных вирусов используются так называемые маски. Маской вируса является некоторая постоянная последовательность программного кода, специфичная для этого конкретного вируса. Если антивирусная программа обнаруживает такую последовательность в каком-либо файле, то файл считается зараженным вирусом и подлежит лечению. Для поиска новых вирусов используются алгоритмы «эвристического сканирования», то есть анализ последовательности команд в проверяемом объекте. Если «подозрительная» последовательность команд обнаруживается, то полифаг выдает сообщение о возможном заражении объекта. Полифаги могут обеспечивать проверку файлов в процессе их загрузки в оперативную память. Такие программы называются антивирусными мониторами. К достоинствам полифагов относится их универсальность. К недостаткам можно отнести большие размеры используемых ими антивирусных баз данных, которые должны содержать информацию о максимально возможном количестве вирусов, что, в свою очередь, приводит к относительно небольшой скорости поиска вирусов. Установить ревизор ADinf CD-ROM Ревизоры. Принцип работы ревизоров (например, ADinf) основан на подсчете контрольных сумм для присутствующих на диске файлов. Эти контрольные суммы затем сохраняются в базе данных антивируса, как и некоторая другая информация: длины файлов, даты их последней модификации и пр. Компьютер и программное обеспечение 71 При последующем запуске ревизоры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то ревизоры сигнализируют о том, что файл был изменен или заражен вирусом. Недостаток ревизоров состоит в том, что они не могут обнаружить вирус в новых файлах (на дискетах, при распаковке файлов из архива, в электронной почте), поскольку в их базах данных отсутствует информация об этих файлах. Блокировщики. Антивирусные блокировщики — это программы, перехватывающие «вирусоопасные» ситуации и сообщающие об этом пользователю. К таким ситуациям относится, например, запись в загрузочный сектор диска. Эта запись происходит при установке на компьютер новой операционной системы или при заражении загрузочным вирусом. Наибольшее распространение получили антивирусные блокировщики в BIOS компьютера. С помощью программы BIOS Setup можно провести настройку BIOS таким образом, что будет запрещена (заблокирована) любая запись в загрузочный сектор диска и компьютер будет защищен от заражения загрузочными вирусами. К достоинствам блокировщиков относится их способность обнаруживать и останавливать вирус на самой ранней стадии его размножения. . Щ] Практические задания 1.19. Проверить компьютер на заражение вирусами с помощью антивирусных программ-полифагов. 1.20. Проверить компьютер на заражение вирусами с помощью антивирусной программы-ревизора. 1.21. Проверить, установлена ли в BIOS Setup антивирусная защита. Глава 2________________ Информация. Двоичное кодирование информации 2.1. Понятие «информация» и свойства информации Понятие «информация». Слово «информация» происходит от латинского слова informatio, что в переводе означает сведение, разъяснение, ознакомление. Понятие «информация» является базовым в курсе информатики, невозможно дать его определение через другие, более «простые» понятия. В геометрии, например, невозможно выразить содержание базовых понятий «точка», «луч», «плоскость» через более простые понятия. Содержание основных, базовых понятий в любой науке должно быть пояснено на примерах или выявлено путем их сопоставления с содержанием других понятий. В случае с понятием «информация» проблема его определения еще более сложная, так как оно является общенаучным понятием. Данное понятие используется в различных науках (информатике, кибернетике, биологии, физике и др.), при этом в каждой науке понятие «информация» связано с различными системами понятий. Информация в физике. В физике мерой беспорядка, хаоса для термодинамической системы является энтропия системы, тогда как информация (антиэнтропия) является мерой упорядоченности и сложности системы. По мере увеличения сложности системы величина энтропии уменьшается, и величина информации увеличивается. Процесс увеличения информации характерен для открытых, обменивающихся веществом и энергией с окружающей средой, саморазвиваю-щихся систем живой природы (белковых молекул, организмов, популяций животных и так далее). Таким образом, в физике информация рассматривается как антиэнтропия или энтропия с обратным знаком. Информация. Двоичное кодирование информации 73 Информация в биологии. В биологии, которая изучает живую природу, понятие «информация» связывается с целесообразным поведением живых организмов. Такое поведение строится на основе получения и использования организмом информации об окружающей среде. Понятие «информация» в биологии используется также в связи с исследованиями механизмов наследственности. Генетическая информация передается по наследству и хранится во всех клетках живых организмов. Гены представляют собой сложные молекулярные структуры, содержащие информацию о строении живых организмов. Последнее обстоятельство позволило проводить научные эксперименты по клонированию, то ееть созданию точных копий организмов из одной клетки. Информация в кибернетике. В кибернетике (науке об управлении) понятие «информация» связано с процессами управления в сложных системах (живых организмах или технических устройствах). Жизнедеятельность любого организма или нормальное функционирование технического устройства зависит от процессов управления, благодаря которым поддерживаются в необходимых пределах значения их параметров. Процессы управления включают в себя получение, хранение, преобразование и передачу информации. Социально значимые свойства информации. Человек — существо социальное, для общения с другими людьми он должен обмениваться с ними информацией, причем обмен информацией всегда производится на определенном языке — русском, английском и так далее. Участники дискуссии должны владеть тем языком, на котором ведется общение, тогда информация будет понятной всем участникам обмена информацией. Информация должна быть полезной, тогда дискуссия приобретает практическую ценность. Бесполезная информация создает информационный шум, который затрудняет восприятие полезной информации. Примерами передачи и получения бесполезной информации могут служить некоторые конференции и чаты в Интернете. Широко известен термин «средства массовой информации» (газеты, радио, телевидение), которые доводят информацию до каждого члена общества. Такая информация должна быть достоверной и актуальной. Недостоверная информация вводит членов общества в заблуждение и может быть причиной возникновения социальных потрясе- 74 Глава 2 ний. Неактуальная информация бесполезна и поэтому никто, кроме историков, не читает прошлогодних газет. Для того чтобы человек мог правильно ориентироваться в окружающем мире, информация должна быть полной и точной. Задача получения полной и точной информации стоит перед наукой. Овладение научными знаниями в процессе обучения позволяют человеку получить полную и точную информацию о природе, обществе и технике. Вопросы для размышления 1. Почему невозможно дать определение понятию ♦ информация », используя более «простые» понятия? 2. В каких науках используется понятие «информация» и какой смысл в каждой из них оно имеет? 3. Какие социально значимые свойства информации можно выделить? 2.2. Количество информации как мера уменьшения неопределенности знаний Информация и знания. Человек получает информацию из окружающего мира с помощью органов чувств, анализирует ее и выявляет существенные закономерности с помощью мышления, хранит полученную информацию в памяти. Процесс систематического научного познания окружающего мира приводит к накоплению информации в форме знаний (фактов, научных теорий и так далее). Таким образом, с точки зрения процесса познания информация может рассматриваться как знания. Процесс познания можно наглядно изобразить в виде расширяющегося круга знания (такой способ придумали еще древние греки). Вне этого круга лежит область незнания, а окружность является границей между знанием и незнанием. Парадокс состоит в том, что чем большим объемом знаний обладает человек (чем шире круг знаний), тем больше он ощущает недостаток знаний (тем больше граница нашего незнания. мерой которого в этой модели является длина окружности) — пне. 2.1. Информация. Двоичное кодирование информации 75 Рис. 2.1 Знание и незнание Незнание Так, объем знаний выпускника школы гораздо больше, чем объем знаний первоклассника, однако и граница его незнания существенно больше. Действительно, первоклассник ничего не знает о законах физики и поэтому не осознает недостаточности своих знаний, тогда как выпускник школы при подготовке к экзаменам по физике может обнаружить, что существуют физические законы, которые он не знает или не понимает. Информацию, которую получает человек, можно считать мерой уменьшения неопределенности знаний. Если некоторое сообщение приводит к уменьшению неопределенности наших знаний, то можно говорить, что такое сообщение содержит информацию. Например, после сдачи экзамена по информатике вы мучаетесь неопределенностью, вы не знаете какую оценку получили. Наконец, экзаменационная комиссия объявляет результаты экзамена, и вы получаете сообщение, которое приносит полную определенность, теперь вы знаете свою оценку. Происходит переход от незнания к полному знанию, значит, сообщение экзаменационной комиссии содержит информацию. Уменьшение неопределенности знаний. Подход к информации как мере уменьшения неопределенности знаний позволяет количественно измерять информацию, что чрезвычайно важно для информатики. Рассмотрим вопрос об определении количества информации более подробно на конкретных примерах. Пусть у нас имеется монета, которую мы бросаем на ровную поверхность. С равной вероятностью произойдет одно из двух возможных событий — монета окажется в одном из двух положений; «орел» или «решка». Можно говорить, что события равновероятны, если при возрастающем числе опытов количества выпадений «орла» и «решки» постепенно сближаются. Например, если мы бросим монету 10 раз, то «орел» может выпасть 7 раз, а решка — 3 раза, если бросим монету 100 раз, то «орел» может выпасть 60 раз, а «решка» — 40 раз, если бросим монету 1000 раз, то «орел» может выпасть 520 раз, а «решка» — 480 и так далее. 76 Глава 2 В итоге при очень большой серии опытов количества выпадений «орла» и «решки» практически сравняются. Перед броском существует неопределенность наших знаний (возможны два события), и, как упадет монета, предсказать невозможно. После броска наступает полная определенность, так как мы видим (получаем зрительное сообщение), что монета в данный момент находится в определенном положении (например, «орел»). Это сообщение приводит к уменьшению неопределенности наших знаний в два раза, так как до броска мы имели два вероятных события, а после броска — только одно, то есть в два раза меньше (рис. 2.2). Рис. 2.2 Возможные и произошедшее события В окружающей действительности достаточно часто встречаются ситуации, когда может произойти некоторое количество равновероятных событий. Так, при бросании равносторонней четырехгранной пирамиды существуют 4 равновероятных события, а при бросании шестигранного игрального кубика — 6 равновероятных событий. Чем больше количество возможных событий, тем больше начальная неопределенность и соответственно тем большее количество информации будет содержать сообщение о результатах опыта. Единицы измерения количества информации. Для количественного выражения любой величины необходимо определить единицу измерения. Так, для измерения длины в качестве единицы выбран метр, для измерения массы — килограмм и так далее. Аналогично, для определения количества информации необходимо ввести единицу измерения. За единицу количества информации принимается такое количество информации, которое содержит сообщение, уменьшающее неопределенность в два раза. Такая единица названа «бит». Информация. Двоичное кодирование информа1и1И 77 Если вернуться к опыту с бросанием монеты, то здесь неопределенность как раз уменьшается в два раза и, следовательно, полученное количество информации равно 1 биту. Минимальной единицей измерения количества информации является бит, а следующей по величине единицей является байт, причем 1 байт = 2^ бит = 8 бит В информатике система образования кратных единиц измерения количества информации несколько отличается от принятых в большинстве наук. Традиционные метрические системы единиц, например Международная система единиц СИ, в качестве множителей кратных единиц используют коэффициент 10", где ц = 3, 6, 9 и так далее, что соответствует десятичным приставкам Кило (10^), Мега (10®\ Гига (10®^ и так далее. Компьютер оперирует числами не в десятичной, а в двоичной системе счисления, поэтому в кратных единицах измерения количества информации используется коэффициент 2". Так, кратные байту единицы измерения количества информации вводятся следующим образом: 1 Кбайт = 2^° байт = 1024 байт; 1 Мбайт = 2^° Кбайт = 1024 Кбайт; 1 Гбайт = 2^° Мбайт = 1024 Мбайт. Количество возможных событий и количество информации. Существует формула, которая связывает между собой количество возможных событий N и количество информации I: а (2.1) N=2 По этой формуле можно легко определить количество возможных событий, если известно количество информации. Например, если мы получили 4 бита информации, то количество возможных событий составляло: JV = 2^ = 16. Наоборот, для определения количества информации, если известно количество событий, необходимо решить показательное уравнение относительно I. Например, в игре «Крестики-нолики» на поле 8x8 перед первым ходом существует 64 78 Глава 2 ВОЗМОЖНЫХ события (64 различных варианта расположения «крестика»), тогда уравнение принимает вид: 64 = 2^ Так как 64 = 2®, то получим: 2® = 2\ Таким образом, / = 6 битов, то есть количество информации, полученное вторым игроком после первого хода первого игрока, составляет 6 битов. Вопросы для размышления 1. Приведите примеры уменьшения неопределенности знаний после получения информации о произошедшем событии. 2. В чем состоит неопределенность знаний в опыте по бросанию монеты? 3. Как зависит количество информации от количества возможных событий? Задания 2.1. Какое количество информации получит второй игрок после первого хода первого игрока в игре в «Крестики-нолики» на поле размером 4x4? 2.2. Каково было количество возможных событий, если после реализации одного из них мы получили количество информации, равное 3 битам? 7 битам? 2.3. Алфавитный подход к определению количества информации При определении количества информации на основе уменьшения неопределенности наших знаний мы рассматриваем информацию с точки зрения содержания, ее понятности и новизны для человека. С этой точки зрения в опыте по бросанию монеты одинаковое количество информации содержится и в зрительном образе упавшей монеты, и в коротком сообщении «Орел», и в длинной Информация. Двоичное кодирование информации 79 фразе «Монета упала на поверхность земли той стороной вверх, на которой изображен орел». Однако при хранении и передаче информации с помощью технических устройств целесообразно отвлечься от содержания информации и рассматривать ее как последовательность знаков (букв, цифр, кодов цветов точек изображения и так далее). Набор символов знаковой системы (алфавит) можно рассматривать как различные возможные состояния (события). Тогда, если считать, что появление символов в сообщении равновероятно, по формуле (2.1) можно рассчитать, какое количество информации несет каждый символ. Так, в русском алфавите, если не использовать букву ё, количество событий (букв) будет равно 32. Тогда: 32 = 2^ откуда 1 = 5 битов. Каждый символ несет 5 битов информации (его информационная емкость равна 5 битов). Количество информации в сообщении можно подсчитать, умножив количество информации, которое несет один символ, на количество символов. а Количество информации, которое содержит сообщение, закодированное с помощью знаковой системы, равно количеству информации, которое несет один знак, умноженному на количество знаков. Вопросы для размышления 1. Пусть две книги на русском и китайском языках содержат одинаковое количество знаков. В какой книге содержится большее количество информации с точки зрения алфавитного подхода? 2.4. Формула Шеннона Существует множество ситуаций, когда возможные события имеют различные вероятности реализации. Например, если монета иесиммет))ична (одна сторона тяжелее д))угой). 80 Глава 2 ТО при ее бросании вероятности выпадения «орла» и «решки» будут различаться. Формулу для вычисления количества информации в случае различных вероятностей событий предложил К. Шеннон в 1948 году. В этом случае количество информации определяется по формуле: Г5 0 (2.2) ' = 1092 Р,> где I — количество информации; N — количество возможных событий; — вероятность г-го события. Например, пусть при бросании несимметричной четырехгранной пирамидки вероятности отдельных событий будут равны: Pi = 1/2, Р2 = 1/4, Рз = 1/8, Р4 = 1/8. Тогда количество информации, которое мы получим после реализации одного из них, можно рассчитать по формуле (2.2): I = -(l/2-log2l/2 + l/4-log2l/4 + l/8-log2l/8 + l/8-log2l/8) = = (1/2 + 2/4 + 3/8 + 3/8) битов = 14/8 битов = 1,75 бита. Этот подход к определению количества информации называется вероятностным. Для частного, но широко распространенного и рассмотренного выше случая, когда события равновероятны (р^= 1/.^), величину количества информации I можно рассчитать по формуле: а (2.3) 1 1 1 = -У—\од, — = \од,Ы. По формуле (2.3) можно определить, например, количество информации, которое мы получим при бросании симметричной и однородной четырехгранной пирамидки: I = log24 = 2 бита. Таким образом, при бросании симметричной пирамидки, когда события равновероятны, мы получим большее количество информации (2 бита), чем при бросании несимметричной (1,75 бита), когда события неравновероятны. Информация. Двоичное кодирование информации 81 Количество информации, которое мы получаем, достигает максимального значения, если события равновероятны. Выбор оптимальной стратегии в игре «Угадай число». На получении максимального количества информации строится выбор оптимальной стратегии в игре «Угадай число», в которой первый участник загадывает целое число (например, 3) из заданного интервала (например, от 1 до 16), а второй — должен «угадать» задуманное число. Если рассмотреть эту игру с информационной точки зрения, то начальная неопределенность знаний для второго участника составляет 16 возможных событий (вариантов загаданных чисел). При оптимальной стратегии интервал чисел всегда должен делиться пополам, тогда количество возможных событий (чисел) в каждом из полученных интервалов будет одинаково и отгадывание интервалов равновероятно. В этом случае на каждом шаге ответ первого игрока («Да» или «Нет») будет нести максимальное количество информации (1 бит). Как видно из табл. 2.1, угадывание числа 3 произошло за четыре шага, на каждом из которых неопределенность знаний второго участника уменьшалась в два раза за счет получения сообщения от первого участника, содержащего 1 бит информации. Таким образом, количество информации, необходимое для отгадывания одного из 16 чисел, составило 4 бита. Таблица 2.1. Информационная модель игры «Угадай число» Вопрос второго участника Ответ первого участника Неопределенность знаний (количество возможных событий) Полученное количество информации 16 Число больше 8? Нет 8 1 бит Число больше 4? Нет 4 1 бит Число больше 2? Да 2 1 бит Число 3? Да 1 1 бит 82 Глава 2 Задания 2.3. Вычислить с помощью электронного калькулятора Wise Calculator количество информации, которое будет получено: • при бросании симметричного шестигранного кубика; • при игре в рулетку с 72 секторами; • nj)H игре в шахматы игроком за черных после первого хода белых, если считать все ходы равновероятными; • при игре в шашки. 2.4. Вероятность первого события составляет 0,5, а второго и третьего — 0,25. Какое количество информации мы получим после реализации одного из них? 2.5. Какое количество информации получит второй игрок в игре «Угадай число» при оптимальной стратегии, если первый игрок загадал число: от 1 до 64? От 1 до 128? 2.5. Представление и кодирование информации 2.5.1. Язык как знаковая система Для обмена информацией с другими людьми человек использует естественные языки (русский, английский, китайский и др.), то есть информация представляется с помощью естественных языков. В основе языка лежит алфавит, то есть набор символов (знаков), которые человек различает по их начертанию. В основе русского языка лежит кириллица, содержащая 33 знака, английский язык использует латиницу (26 знаков), китайский язык использует алфавит из десятков тысяч знаков (иероглифов). Последовательности символов алфавита в соответствии с правилами грамматики образуют основные объекты языка — слова. Правила, согласно которым образуются предложения из слов данного языка, называются синтаксисом. Необходимо отметить, что в естественных языках грамматика и синтаксис языка формулируются с помощью большого количества правил, из которых существуют исключения, так как такие правила складывались исторически. Наряду с естественными языками были разработаны формальные языки (системы счисления, язык алгебры, языки программирования и др.). Основное отличие формальных Информация. Двоичное коджровашю информации 83 ЯЗЫКОВ от естественных состоит в наличии строгих правил грамматики и синтаксиса. Например, системы счисления можно рассматривать как формальные языки, имеющие алфавит (цифры) и позволяющие не только именовать и записывать объекты (числа), но и выполнять над ними арифметические операции по строго определенным правилам. Некоторые языки используют в качестве знаков не буквы и цифры, а другие символы, например химические формулы, ноты, изображения элементов электрических или логических схем, дорожные знаки, точки и тире (код азбуки Морзе) и др. а Представление информации может осуществляться с помощью языков, которые являются знаковыми системами. Каждая знаковая система строится на основе определенного алфавита и правил выполнения операций над знаками. Знаки могут иметь различную физическую природу. Например, для представления информации с использованием языка в письменной форме используются знаки, которые являются изображениями на бумаге или других носителях, в устной речи в качестве знаков языка используются различные звуки (фонемы), а при обработке текста на компьютере знаки представляются в форме последовательностей электрических импульсов (компьютерных кодов). Вопросы для размышления 1. Чем различаются естественные и формальные языки? 2. Какова может быть физическая природа знаков? 2.5.2. Представление информации в живых организмах Общая биология 10-11 Человек воспринимает информацию об окружающем мире с помощью органов чувств (зрения, слуха, обоняния, осязания и вкуса). Чувствительные нервные окончания органов 84 Глава 2 чувств (рецепторы) воспринимают воздействие (например, на глазном дне колбочки и палочки реагируют на воздействие световых лучей) и передают его нейронам (нервным клеткам), цепи которых составляют нервную систему. Нейрон может находиться в одном из двух состояний: невозбужденном и возбужденном. Возбужденный нейрон генерирует электрический импульс, который передается по нервной системе. Состояния нейрона (нет импульса, есть импульс) можно рассматривать как знаки некоторого алфавита нервной системы, с помощью которого происходит передача информации. Генетическая информация во многом определяет строение и развитие живых организмов и передается по наследству. Хранится генетическая информация в клетках организмов в структуре молекул ДНК (дезоксирибонуклеиновой кислоты) — рис. 2.3. Молекула ДНК состоит из двух скрученных друг с другом в спираль цепей, построенных из четырех нуклеотидов: А, G, Т и С, которые образуют генетический алфавит. V - ядро -ч клетка ТТТ1 Рис. 2.3. Молекула ДНК Молекула ДНК человека включает в себя около 3 миллиардов пар нуклеотидов и поэтому в ней закодирована вся информация об организме человека: его внешность, здоровье или предрасположенность к болезням, способности и пр. В живых организмах информация передается и хранится с помощью объектов различной физической природы (состояния нейрона, нуклеотиды в молекуле ДНК), которые могут рассматриваться как знаки биологических алфавитов. I*?, Вопросы длЦ^^]^азмышления 1. Какова физическая природа знака при представлении информации в нервной системе? В генетическом коде? Информация. Двоичное кодирование информации 8S 2.5.3. Кодирование информации Представление информации происходит в различных формах в процессе восприятия окружающей среды живыми организмами и человеком, в процессах обмена информацией между человеком и человеком, человеком и компьютером, компьютером и компьютером и так далее. Преобразование информации из одной формы представления (знаковой системы) в другую называется кодированием. Средством кодирования служит таблица соответствия знаковых систем, которая устанавливает взаимно однозначное соответствие между знаками или группами знаков двух различных знаковых систем. В пункте 2.10 приведена такая таблица, которая устанавливает соответствие между графическими изображениями знаков алфавита и их компьютерными кодами. В процессе обмена информацией часто приходится производить операции кодирования и декодирования информации. При вводе знака алфавита в компьютер путем нажатия соответствующей клавиши на клавиатуре происходит кодирование знака, то есть преобразование его в компьютерный код. При выводе знака на экран монитора или принтер происходит обратный процесс — декодирование, когда из компьютерного кода знак преобразуется в его графическое изображение. Кодирование — это операция преобразования знаков или групп знаков одной знаковой системы в знаки или группы знаков другой знаковой системы. Краевые штрихи Центральные штрихи Рассмотрим в качестве примера кодирования соответствие цифрового и штрихового кодов товара. Такие коды имеются на каждом товаре и позволяют полностью идентифицировать товар (страну и фирму производителя, тип товара и ДР-)- Знакам цифрового кода (цифрам) соответствуют группы знаков штрихового кода (узкие и широкие штрихи, а также размеры промежутков между ними) — рис. 2.4. Для человека удобен цифровой код, а для автоматизированного учета — штриховой код, который считыва- IIIIIIIIIIIIIIIIII 820000 111 90ЬЗ А Код страны Код изготовителя Код товара Контрольная цифра Рис. 2.4. Цифровой и штриховой коды товара 86 Глава 2 ется с помощью узкого светового луча и подвергается последующей обработке в компьютерных бухгалтерских системах учета. Вопросы для размышления 1. Приведите примеры кодирования и декодирования информации. 2.5.4. Двоичное кодирование информации в компьютере в компьютере для представления информации используется двоичное кодирование, так как удалось создать надежно работающие технические устройства, которые могут со стопроцентной надежностью сохранять и распознавать не более двух различных состояний (цифр): • электромагнитные реле (замкнуто/разомкнуто), широко использовались в конструкциях первых ЭВМ; • участок поверхности магнитного носителя информации (намагничен/размагничен); • участок поверхности лазерного диска (отражает/не отражает); • триггер (см. п. 3.7.3), может устойчиво находиться в одном из двух состояний, широко используется в оперативной памяти компьютера. Все виды информации в компьютере кодируются на машинном языке, в виде логических последовательностей нулей и единиц — рис. 2.5. Вид информации Двоичный код Числовая Текстовая N ^ Г рафическая '—i/ oil l| Звуковая Видео Рис. 2.5. Двоичное кодирование информации 0 Информация в компьютере представлена в двоичном коде, алфавит которого состоит из двух цифр (О и 1). Информация. Двоичное кодирование информации 87 Цифры ДВОИЧНОГО кода можно рассматривать как два равновероятных состояния (события). При записи двоичной цифры реализуется выбор одного из двух возможных состояний (одной из двух цифр) и, следовательно, она несет количество информации, равное 1 биту. Даже сама единица измерения количества информации бит (bit) получила свое название от английского словосочетания Binary digiT (двоичная цифра). Важно, что каждая цифра машинного двоичного кода несет информацию в 1 бит. Таким образом, две цифры несут информацию в 2 бита, три цифры — в 3 бита и так далее. Количество информации в битах равно количеству цифр двоичного машинного кода. Каждая цифра машинного двоичного кода несет количество информации, равное одному биту. Вопросы для размышления 1. Почему человек использует десятичную систему счисления, а компьютер — двоичную? 2.6. Представление числовой информации с помощью систем счисления Для записи информации о количестве объектов используются числа. Числа записываются с использованием особых знаковых систем, которые называются системами счисления. Алфавит систем счисления состоит из символов, которые называются цифрами. Например, в десятичной системе счисления числа записываются с помош;ью десяти всем хорошо известных цифр: О, 1, 2, 3, 4, 5, 6, 7, 8, 9. Система счисления — это знаковая система, в которой числа записываются по определенным правилам с помощью символов некоторого алфавита, называемых цифрами. 88 Глава 2 Все системы счисления делятся на две большие группы: позиционные и непозиционные системы счисления. В позиционных системах счисления значение цифры зависит от ее положения в числе, а в непо'зиционных — не зависит. Римская непозиционная система счисления. Самой распространенной из непозиционных систем счисления является римская. В качестве цифр в ней используются: I (1), V (5), X (10), L (50), С (100), D (500), М (1000). Значение цифры не зависит от ее положения в числе. Например, в числе XXX (30) цифра X встречается трижды и в каждом случае обозначает одну и ту же величину - число 10, три числа по 10 в сумме дают 30. Величина числа в римской системе счисления определяется как сумма или разность цифр в числе. Если меньшая цифра стоит слева от большей, то она вычитается, если справа - прибавляется. Например, запись десятичного числа 1998 в римской системе счисления будет выглядеть сле-дуюш;им образом: MCMXCVIII = 1000 -ь (1000 - 100) -ь (100 -10) + 5-н1ч-1-ь1. Позиционные системы счисления. Первая позиционная система счисления была придумана еш;е в Древнем Вавилоне, причем вавилонская нумерация была шестидесятеричной, то есть в ней использовалось шестьдесят цифр! Интересно, что до сих пор при измерении времени мы используем основание, равное 60 (в 1 минуте содержится 60 секунд, а в 1 часе — 60 минут). В XIX веке довольно широкое распространение получила двенадцатеричная система счисления. До сих пор мы часто употребляем дюжину (число 12): в сутках две дюжины часов, круг содержит тридцать дюжин градусов и так далее. 0 ь ХУ в позиционных системах счисления количественное значение цифры зависит от ее позиции в числе. Наиболее распространенными в настоящее время позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная. Каждая позиционная система имеет определенный алфавит цифр и основание. Информация. Двоичное кодирование информации 89 О а в позиционных системах счисления основание системы равно количеству цифр (знаков в ее алфавите) и определяет, во сколько раз различаются значения одинаковых цифр, стоящих в соседних позициях числа. Десятичная система счисления имеет алфавит цифр, который состоит из десяти всем известных, так называемых арабских, цифр, и основание, равное 10, двоичная — две цифры и основание 2, восьмеричная — восемь цифр и основание 8, шестнадцатеричная — шестнадцать цифр (в качестве цифр используются и буквы латинского алфавита) и основание 16 (табл. 2.2). Таблица 2.2. Позиционные системы счисления Система счисления Основание Алфавит цифр Десятичная 10 0, 1,2, 3, 4, 5, 6, 7, 8, 9 Двоичная 2 0, 1 Восьмеричная 8 0, 1,2,3, 4, 5, 6, 7 Шестнадцатеричная 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А (10), В (11), C(12),D(13),E(14),F(15) Десятичная система счисления. Рассмотрим в качестве примера десятичное число 555. Цифра 5 встречается трижды, причем самая правая цифра 5 обозначает пять единиц, вторая справа — пять десятков и, наконец, третья справа — пять сотен. Позиция цифры в числе называется разрядом. Разряд числа возрастает справа налево, от младших разрядов к старшим. В десятичной системе цифра, находящаяся в крайней справа позиции (разряде), обозначает количество единиц, цифра, смещенная на одну позицию влево, — количество десятков, еще левее — сотен, затем тысяч и так далее. Соответственно имеем разряд единиц, разряд десятков и так далее. Число 555 записано в привычной для нас свернутой форме. Мы настолько привыкли к такой форме записи, что уже не замечаем, как в уме умножаем цифры числа на различные степени числа 10. В развернутой форме записи числа такое умножение записывается в явной форме. Так, в развернутой форме запись 90 Глава 2 числа 555 в десятичной системе будет выглядеть следующим образом: 555 10 510^ + 5•10^ + 5-10^ Как видно из примера, число в позиционной системе счисления записывается в виде суммы числового ряда степеней основания (в данном случае 10), в качестве коэффициентов которых выступают цифры данного числа. Для записи десятичных дробей используются отрицательные значения степеней основания. Например, число 555,55 в развернутой форме записывается следующим образом: 555,55ю = 5-10^ -1 5•10^ + 5-10Ч 5-10'^ + 5-10‘^ В общем случае в десятичной системе счисления запись числа которое содержит п целых разрядов числа и т дробных разрядов числа, выглядит так: Aio"3n-v10” '-I-...-f ао‘10°+Ц-гЮ ' 4-... + а.я7-10 Коэффициенты в этой записи являются цифрами десятичного числа, которое в свернутой форме записывается так: Аю ~ Зп-1 Зп-2 Зо , 3-1 ...3- Из вышеприведенных формул видно, что умножение или деление десятичного числа на 10 (величину основания) приводит к перемещению запятой, отделяющей целую часть от дробной, на один разряд соответственно вправо или влево. Например: 555,55ю • 10 - 5555,5,0; 555,55,0 : Ю = 55,555,о. Двоичная система счисления. В двоичной системе счисления основание равно 2, а алфавит состоит из двух цифр (0 и 1). Следовательно, числа в двоичной системе в развернуто!! форме записываются в в!!де суммы степеней основан!!я 2 с коэффициентами, в качестве которых выступают цифры 0 или 1. Напр!1мер, развернутая запись двоичного числа может выглядеть так: А, - 1-2" + 0-2' ^ 1’2'' + 0-2 ‘ ^ 1 2 . Информация. Двоичное кодирование информации 91 Свернутая форма этого же числа: Аг = 101,01г. В общем случае в двоичной системе запись числа А^, которое содержит п целых разрядов числа и т дробных разрядов числа, выглядит так: А2 = Зп-1 ■ 2"-' + гг^2 -2^^ + .. .. ао • 2° + а-1 • 2"’ + ... + З-т ■ 2-'”. Коэффициенты в этой записи являются цифрами (0 или 1) двоичного числа, которое в свернутой форме записывается так: ^2 — Зп-1 Зп-2 ■■■ Зо , 3-1 3-2 ... 3- Из вышеприведенных формул видно, что умножение или деление двоичного числа на 2 (величину основания) приводит к перемещению запятой, отделяющей целую часть от дробной на один разряд соответственно вправо или влево. Например: 101,01г • 2 = 1010,1г ; 101,01г : 2 = 10,101г. Позиционные системы счисления с произвольным основанием. Возможно использование множества позиционных систем счисления, основание которых равно или больше 2. В системах счисления с основанием q (g-ичная система счисления) числа в развернутой форме записываются в виде суммы степеней основания q с коэффициентами, в качестве которых выступают цифры 0, 1, q-1: 0 Aq = 3n-i СГ' +Зп-2 -(f ^+-+ Зо-сР+ З-гЯ ’ +...+ St-n^Q Коэффициенты в этой записи являются цифрами числа, записанного в д-ичной системе счисления. Так, в восьмеричной системе основание равно восьми (q = 8). Тогда записанное в свернутой форме восьмеричное 92 Глава 2 ЧИСЛО Ag = 673,2g в развернутой форме будет иметь вид: Ag = 6-8^ + 7-8^ + 3-8° + 2-8~\ В шестнадцатеричной системе основание равно шестнадцати iq = 16), тогда записанное в свернутой форме шестнадцатеричное число Ajg = 8A,Fjg в развернутой форме будет иметь вид: Ai6 = 8-16^ -Ь А-16° -I- F-16'\ Если выразить шестнадцатеричные цифры через их десятичные значения (А=10, F=15), то запись числа примет вид: Ai6 = 8-16^ + 10-16° 15-16“\ Вопросы для размышления 1. Чем отличаются позиционные системы счисления от непозиционных? 2. Может ли в качестве цифры использоваться символ буквы? 3. Какое количество цифр используется в дг-ичной системе счисления? Зада ни я 2.6. Записать числа 19,99jg, 1ОДО2, 64,5g, 39,Fjg в развернутой форме. 2.7. Во сколько раз увеличатся числа 10, IjQ, 10,12, 64,5g, 39,Fjg при переносе запятой на один знак вправо? 2.8. При переносе запятой на два знака вправо число 11, Ид. увеличилось в 4 раза. Чему равно х? 2.9. Какое минимальное основание может иметь система счисления, если в ней записаны числа 23 и 67? 2.10. Записать число 1999jq в римской системе счисления. Информация. Двоичное кодирование информации 93 2.7. Перевод чисел в позиционных системах счисления 2.7.1. Перевод чисел в десятичную систему счисления Преобразование чисел, представленных в двоичной, восьмеричной и шестнадцатеричной системах счисления, в десятичную выполнить довольно легко. Для этого необходимо записать число в развернутой форме и вычислить его значение. Перевод числа из двоичной системы в десятичную. Возьмем любое двоичное число, например 10,112. Запишем его в развернутой форме и произведем вычисления: 10,112 = 1-2^ +0-2° -Ь 1-2“^ -Ь 1-2'^ = = 1-2 + 0-1 + 1-1/2 -f 1-1/4 = 2,75iq. Перевод чисел из восьмеричной системы в десятичную. Возьмем любое восьмеричное число, например 67,5g. Запишем его в развернутой форме и произведем вычисления: 67,5о 6-8^ -Ь 7.-8® + 5-8' 6-8 + 7-1 -Ь 5-1/8 = 55,625ю Перевод чисел из шестнадцатеричной системы в десятичную. Возьмем любое шестнадцатеричное число, например lOFjg. Запишем его в развернутой форме (при этом необходимо помнить, что шестнадцатеричная цифра F соответствует десятичному числу 15) и произведем вычисления: 19F 16 1-16^ + 9-16^ + F-8® = 1-256 + 9-16 + 15-1 = 415 10- Задания 2.11. Перевести в десятичную систему следующие числа: lOlg, IIO2, Шг» 7g, llg, 22g, lAjg, BFjg, 9Cjg 2.12. Провести проверку выполнения задания 2.11 с помощью электронного калькулятора NumLock Calculator. 2.7.2. Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатеричную Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатеричную более сложен и может осуществляться различными способами. Рассмотрим один из алгоритмов перевода на примере перевода чисел из десятичной 94 Глава 2 системы в двоичную. При этом необходимо учитывать, что алгоритмы перевода целых чисел и правильных дробей будут различаться. Алгоритм перевода целых десятичных чисел в двоичную систему счисления. Пусть — целое десятичное число. Запишем его в виде суммы степеней основания 2 с двоичными коэффициентами. В его записи в развернутой форме будут отсутствовать отрицательные степени основания (числа 2): *цд + “л-2'2 п-2 + ... -Н Oj'2^ + Оо'2*^. На первом шаге разделим число А^^ на основание двоич- ной системы, то есть на 2. Частное от деления будет равно + а .2«-з я-2 1 ... I 1*1, а остаток — равен а^. На втором шаге целое частное опять разделим на 2, остаток от деления будет теперь равен а^. Если продолжать этот процесс деления, то после п-го шага получим последовательность остатков: Oq, Oj, ..., fl„_i. Легко заметить, что их последовательность совпадает с обратной последовательностью цифр целого двоичного числа, записанного в свернутой форме: А2 = a„_i...aiao . Таким образом, достаточно записать остатки в обратной последовательности, чтобы получить искомое двоичное число. Алгоритм перевода целого десятичного числа в двоичное будет следующим: 1. Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньшее 2. 2. Записать полученные остатки в обратной последовательности. В качестве примера рассмотрим перевод десятичного числа 19 в двоичную систему, записывая результаты в таблицу: Десятичное число/ целое частное Делитель (основание системы) Остаток Цифры двоичного числа 19 2 1 Зп i 9 2 1 а, 4 2 0 а. 2 2 0 аг, 1 2 1 а* Информация. Двоичное кодирование информации 95 В результате получаем двоичное число: ■^2 IOOXX2 . Алгоритм перевода правильных десятичных дробей в двоичную систему счисления. Пусть — правильная десятичная дробь. В ее записи в развернутой форме будут отсут-ствать положительные степени основания (числа 2): + а_ -Ь *дд “-1 ' '*-2 На первом шаге умножим число на основание двоичной системы, то есть на 2. Произведение будет равно: а_ + а_о • 2 + Целая часть будет равна a_j. На втором шаге оставшуюся дробную часть опять умножим на 2, получим целую часть, равную о g. Описанный процесс необходимо продолжать до тех пор, пока в результате умножения мы не получим нулевую дробную часть или не будет достигнута требуемая точность вычислений. Легко заметить, что последовательность полученных чисел совпадает с последовательностью цифр дробного двоичного числа, записанного в свернутой форме: А2 — ••• Алгоритм перевода правильной десятичной дроби в двоичную будет следующим: 1. Последовательно выполнять умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2) до тех пор, пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений. 2. Записать полученные целые части произведения в прямой последовательности. В качестве примера рассмотрим перевод десятичной дроби 0,75 в двоичную систему, записывая результаты в таблицу: Десятичная дробь/дробная 1 часть произведения Множитель (основание системы) Целая часть произведения Цифры двоичного числа 0,75 2 1 а_, 0,50 2 1 а_, 1 г 0,00 2 В результате получаем двоичную дробь: 0,ХХ2» 96 Глава 2 Перевод чисел из системы с основанием р в систему с основанием q. Перевод чисел из позиционной системы с произвольным основанием р в систему с основанием q производится по алгоритмам, аналогичным рассмотренным выше. Рассмотрим алгоритм перевода целых чисел на примере перевода целого десятичного числа Ajq = 424^^ в шестнадцатеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием = 16. В процессе выполнения алгоритма необходимо обратить внимание, что все действия необходимо осуществлять в исходной системе счисления (в данном случае десятичной), а полученные остатки записывать цифрами новой системы счисления (в данном случае шестнадцатеричной). Десятичное число/ целое частное Делитель (основание системы) Остаток Цифры двоичного числа 424 16 8 ^0 >1 i 26 16 10(A) 1 16 1 ^2 В результате получаем шестнадцатеричное число: П6 aga^Ho = 1А8 16 Рассмотрим теперь алгоритм перевода дробных чисел на примере перевода десятичной дроби = 0,625 в восьмеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием q = 8. В процессе выполнения алгоритма необходимо обратить внимание, что все действия необходимо осуществлять в исходной системе счисления (в данном случае десятичной), а полученные остатки записывать цифрами новой системы счисления (в данном случае восьмеричной). Десятичная дробь/дробная часть произведения Множитель (основание системы) Целая часть произведения Цифры двоичного числа 0,40625 8 3 а-1 0,25 8 2 ^-2 U 0,00 8 В результате получаем восьмеричную дробь; ц_^ц_2 0,32g. ■^8 Информация. Двоичное кодирование информации 97 Перевод чисел, содержащих и целую и дробную части, производится в два этапа. Отдельно переводится по соответствующему алгоритму целая часть и отдельно — дробная. В итоговой записи полученного числа целая часть от дробной отделяется запятой. 3 а а н и я 2.13. Перевести целые десятичные числа 9jg, и 243jq в двоичную, восьмеричную и шестнадцатеричную системы счисления. 2.14. Перевести десятичные дроби 0,2jq и 0,35jq в двоичную, восьмеричную и шестнадцатеричную системы счисления с точностью до трех знаков после запятой. 2.15. Перевести десятичные числа 3,5^q и 47,85^q в двоичную, восьмеричную и шестнадцатеричную системы счисления с точностью до трех знаков после запятой. 2.7.3. Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную и обратно Перевод чисел между системами счисления, основания которых являются степенями числа 2 (д = 2"), может производиться по более простым алгоритмам. Такие алгоритмы могут применяться для перевода чисел между двоичной (д = 2^), восьмеричной (д = 2^) и шестнадцатеричной (д = 2'*) системами счисления. Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение: 2 = 2^. Так как 2 = 2^, то / = 1 бит. Каждый разряд двоичного числа содержит 1 бит информации. Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи. Решаем показательное уравнение: 8 = 2^. Так как 8 = 2®, то / = 3 бита. Каждый разряд восьмеричного числа содержит 3 бита информации. 4—2645 98 Глава 2 Таким образом, для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями. Переведем таким способом двоичное число lOlOOlg в восьмеричное: 101 001г => l-240-24l 2° 0-24o-2Vl-2° 51g. Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры: Двоичные триады 000 001 010 011 100 101 110 111 Восьмеричные цифры 0 1 2 3 4 5 6 7 Для перевода дробного двоичного числа (правильной дроби) в восьмеричное необходимо разбить его на триады слева направо и, если в последней, правой, группе окажется меньше трех цифр, дополнить ее справа нулями. Далее необходимо триады заменить на восьмеричные числа. Например, преобразуем дробное двоичное = 0,1101012 в восьмеричную систему счисления число = Двоичные триады 110 101 Восьмеричные цифры 6 5 Получаем: Ag = 0,65g. Перевод чисел из двоичной системы счисления в шестнадцатеричную. Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение: 16 = 2^ . Так как 16 = 2^, то / = 4 бита. Каждый разряд шестнадцатеричного числа содержит 4 бита информации. Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе Информация. Двоичное кодирование информации 99 окажется меньше четырех цифр, то необходимо дополнить ее справа нулями. Затем надо преобразовать каждую группу в шестнадцатеричную цифру, воспользовавшись для этого предварительно составленной таблицей соответствия двоичных тетрад и шестнадцатеричных цифр. Переведем целое двоичное число Ag = lOlOOlg в шестнадцатеричное: 1 Двоичные тетрады 0010 1001 1 Шестнадцатеричные цифры 2 9 В результате имеем: = 29 '1б‘ Переведем дробное двоичное число Ag =0,1101012 в шестнадцатеричную систему счисления: Двоичные тетрады 1101 0100 Шестнадцатеричные цифры D 4 Получаем: A^g = 0,D4jg. Для того чтобы преобразовать любое двоичное число в восьмеричную или шестнадцатеричную системы счисления, необходимо произвести преобразования по рассмотренным выше алгоритмам отдельно для его целой и дробной частей. Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную. Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трех двоичных цифр (триаду), а при преобразовании шестнадцатеричного числа — в группу из четырех цифр (тетраду). Например, преобразуем дробное восьмеричное число Ag = = 0,47g в двоичную систему счисления: Восьмеричные цифры 4 7 Двоичные триады 100 111 Получаем: А, = 0,100111„. 100 Глава 2 Переведем целое шестнадцатеричное число = ABjg в двоичную систему счисления: Шестнадцатеричные цифры А В Двоичные тетрады 1010 1011 В результате имеем: А„ = 10101011„. 3 н й я 2.16. Составить таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. 2.17. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие целые числа: IIII2. lOlOlOlg . 2.18. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие дробные числа: 0,011112, 0,101010112 . 2.19. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие числа: ll,0l2> 110,1012 . 2.20. Перевести в двоичную систему счисления следующие числа: 46,27g, EF,12i6 . 2.21. Сравнить числа, выраженные в различных системах счисления: 110l2HDjg; 0,111112 и о,22g; 35,63g и 16,C^g . 2.8. Арифметические операции в позиционных системах счисления Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам. Сложение. Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел: 0 + о = о 0 + 1=1 1 + о = 1 1 + 1 = 10 Информация. Двоичное кодирование информации 101 Важно обратить внимание на то, что при сложении двух единиц происходит переполнение разряда и производится перенос в старший разряд. Переполнение разряда наступает тогда, когда величина числа в нем становится равной или большей основания. Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие. В качестве примера сложим в столбик двоичные числа IIO2 и 11„: 110, ^ 11, 1001, Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим: IIO2 = 1-2^ + 1-2^ + 0-2° = 6ю; 112= 1-2^ + 1-2° = Зю ; ^10 ^10 '10 Теперь переведем результат двоичного сложения в десятичное число: 1001, 1-2^ -Ь 0-2^ -)- 0•2^ + 1-2 о '10 Сравним результаты — сложение выполнено правильно. Вычитание. Рассмотрим вычитание двоичных чисел. В его основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой: о - о = _0 0 - 1 = 11 1 - о = 1 1-1=0 Вычитание многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей вычитания с учетом возможных заемов из старших разрядов. В качестве примера произведем вычитание двоичных чисел llOg и II2: 1102 112 11, 102 Глава 2 Умножение. В основе умножения лежит таблица умножения одноразрядных двоичных чисел: 0 0 = 0 0 1 = 0 10 = 0 11 = 1 Умножение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей умножения по обычной схеме, применяемой в десятичной системе счисления с последовательным умножением множимого на цифры множителя. В качестве примера произведем умножение двоичных чисел llOg и llg: 110, X 11, 110 110 10010, Деление. Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления. В качестве примера произведем деление двоичного числа НО, на И,: ПО, И о и. 10, Арифметические операции в восьмеричной и шестнадцатеричной системах счисления. Аналогично можно выполнять арифметические действия в восьмеричной и шестнадцатеричной системах счисления. Необходимо только помнить, что величина переноса в следующий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления: 37„ 64. 9Ci 78, 24, Для проведения арифметических операций над числами, выраженными в различных системах счисления, необходимо предварительно перевести их в одну и ту же систему. Информация. Двоичное кодирование информации 103 3 ащ а Щ ч я 2.22. Провести сложение, вычитание, умножение и деление двоичных чисел lOlOg и lOg и проверить правильность выполнения арифметических действий с помощью электронного калькулятора Wise Calculator. 2.23. Сложить восьмеричные числа: 5g и 4g, 17g и 41g. 2.24. Провести вычитание шестнадцатеричных чисел: F.g и А 41jg и 17jg. П6> 2.25. Сложить числа: 17дИ 17jg, 41gH41ig. 2.9. Представление чисел в компьютере Представление чисел в формате с фиксированной запятой. Целые числа в компьютере хранятся в памяти в формате с фиксированной запятой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а «запятая» «находится» справа после младшего разряда, то есть вне разрядной сетки. Для хранения целых неотрицательных чисел отводится одна ячейка памяти (8 битов). Например, число Ag = = llllOOOOg будет храниться в ячейке памяти следуюш;им образом: 1 1 1 1 0 0 0 0 Максимальное значение целого неотрицательного числа достигается в случае, когда во всех ячейках хранятся единицы. Для га-разрядного представления оно будет равно 2" - 1. Определим диапазон чисел, которые могут храниться в оперативной памяти в формате целых неотрицательных чисел. Минимальное число соответствует восьми нулям, хранящ;имся в восьми битах ячейки памяти, и равно нулю. Максимальное число соответствует восьми единицам и равно А = 1-2^ +1-2® +1-2® -ь 1-2'* + 1-2® -ь 1-2^ -ь 1-2^ + 1-2® = 1-2® - 1 = 255ю. Диапазон изменения целых неотрицательных чисел чисел: от о до 255. 104 Глава 2 Для хранения целых чисел со знаком отводится две ячейки памяти (16 битов), причем старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается О, если число отрицательное — 1). Представление в компьютере положительных чисел с использованием формата «знак-величина» называется прямым кодом числа. Например, число 2002jq = lllllOlOOlOg будет представлено в 16-разрядном представлении следующим образом: 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 Максимальное положительное число (с учетом выделения одного разряда на знак) для целых чисел со знаком в п-раз-рядном представлении равно: А = 2"“^ - 1. Для представления отрицательных чисел используется дополнительный код. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие. Дополнительный код отрицательного числа А, хранящегося в п ячейках, равен 2" - |>4|. Дополнительный код представляет собой дополнение модуля отрицательного числа А до О, так как в п-разрядной компьютерной арифметике: 2" - [А| + ^1| = о, поскольку в компьютерной га-разрядной арифметике 2" = 0. Действительно, двоичная запись такого числа состоит из одной единицы и п нулей, а в п-разрядную ячейку может уместиться только п младших разрядов, то есть п нулей. Для получения дополнительного кода отрицательного числа можно использовать довольно простой алгоритм: 1. Модуль числа записать в прямом коде в п двоичных разрядах. 2. Получить обратный код числа, для этого значения всех битов инвертировать (все единицы заменить на нули и все нули заменить на единицы). 3. К полученному обратному коду прибавить единицу. Информация. Двоичное кодирование информации 105 Запишем дополнительный код отрицательного числа -2002 для 16-разрядного компьютерного представления: Прямой код модуля |-2002,о1 000001IIIIOIOOIO2 Обратный код Инвертирование 1111100000101IOI2 Прибавление единицы IIIIIOOOOOIOIIOI2 ■^00000000000000012 Дополнительный код IIIIIOOOOOIOIIIO2 При п-разрядном представлении отрицательного числа А в дополнительным коде старший разряд выделяется для хранения знака числа (единицы). В остальных разрядах записывается положительное число "*Л-1 - ^1|- Чтобы число было положительным, должно выполняться условие lAl < 2"-\ Следовательно, максимальное значение модуля числа А в п-разрядном представлении равно: лП-1 Тогда минимальное отрицательное число равно: А = - 2"“\ Определим диапазон чисел, которые могут храниться в оперативной памяти в формате длинных целых чисел со знаком (для хранения таких чисел отводится четыре ячейки памяти — 32 бита). Максимальное положительное целое число (с учетом выделения одного разряда на знак) равно: А = 2®^ - 1 = 2 147 483 647 10- Минимальное отрицательное целое число равно: А = - 2®^ = - 2 147 483 648ю. Достоинствами представления чисел в формате с фиксированной запятой являются простота и наглядность представления чисел, а также простота алгоритмов реализации арифметических операций. Недостатком представления чисел в формате с фиксированной запятой является небольшой диапазон представления величин, недостаточный для решения математических, физических, экономических и других задач, в которых используются как очень малые, так и очень большие числа. 106 Глава 2 Представление чисел в формате с плавающей запятой. Вещественные числа хранятся и обрабатываются в компьютере в формате с плавающей запятой. В этом случае положение запятой в записи числа может изменяться. Формат чисел с плавающей запятой базируется на экспо-.ненциальной форме записи, в которой может быть представлено любое число. Так число А может быть представлено в виде: 2.3 А = т ■ cf, где т — мантисса числа; q — основание системы счисления; п — порядок числа. Для единообразия представления чисел с плавающей запятой используется нормализованная форма, при которой мантисса отвечает условию: 1/га < \т\ < 1. Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля. Преобразуем десятичное число 555,55, записанное в естественной форме, в экспоненциальную форму с нормализованной мантиссой: 555,55 = 0,55555 • 10^ Здесь нормализованная мантисса: т = 0,55555, порядок: га = 3. Число в формате с плавающей запятой занимает в памяти компьютера 4 {число обычной точности) или 8 байтов {число двойной точности). При записи числа с плавающей запятой выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы. Диапазон изменения чисел определяется количеством разрядов, отведенных для хранения порядка числа, а точность (количество значащих цифр) определяется количеством разрядов, отведенных для хранения мантиссы. Определим максимальное число и его точность для формата чисел обычной точности, если для хранения порядка и его знака отводится 8 разрядов, а для хранения мантиссы и ее знака — 24 разряда: 0 I 1 1 1 1 0 1 1 t 1 1 1 \ 1 1 1 1 1 1 1 t 1 знак и порядок знак и мантисса Информация. Двоичное кодирование информации 107 Максимальное значение порядка числа составит 111111 Ig = 127jq, и, следовательно, максимальное значение числа составит: 2^^’’ = 1,7014118346046923173168730371588-10®*. Максимальное значение положительной мантиссы равно: 2®® - 1 « 2®® = 2*^® ■ ®’®^ « 1000®’® = 10*® ■ ®’®^ » 10^ Таким образом максимальное значение чисел обычной точности с учетом возможной точности вычислений составит 1,701411 • 10^® (количество значащих цифр десятичного числа в данном случае ограничено 7 разрядами). Задания 2.26. Заполнить таблицу, записав отрицательные десятичные числа в прямом, обратном и дополнительном кодах в 16-разрядном представлении: Десятичные числа Прямой код Обратный код Дополнительный код -50 -500 2.27. Определить диапазон представления целых чисел со знаком (отводится 2 байта памяти) в формате с фиксированной запятой. 2.28. Определить максимальное число и его точность для формата чисел двойной точности, если для хранения порядка и его знака отводится 11 разрядов, а для хранения мантиссы и ее знака — 53 разряда. 2.10. Двоичное кодирование текстовой информации Начиная с конца 60-х годов, компьютеры все больше стали использоваться для обработки текстовой информации и в настоящее время большая часть персональных компьютеров в мире (и наибольшее время) занято обработкой именно текстовой информации. Традиционно для кодирования одного символа используется количество информации, равное 1 байту, то есть I = = 1 байт = 8 битов. 108 Глава 2 Для кодирования одного символа требуется 1 байт информации. Если рассматривать символы как возможные события, то по формуле (2.1) можно вычислить, какое количество различных символов можно закодировать: N 256. Такое количество символов вполне достаточно для представления текстовой информации, включая прописные и строчные буквы русского и латинского алфавита, цифры, знаки, графические символы и пр. Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от О до 255 или соответствуюпдий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертаниям, а компьютер — по их кодам. При вводе в компьютер текстовой информации происходит ее двоичное кодирование, изображение символа преобразуется в его двоичный код. Пользователь нажимает на клавиатуре клавишу с символом, и в компьютер поступает определенная последовательность из восьми электрических импульсов (двоичный код символа). Код символа хранится в оперативной памяти компьютера, где занимает один байт. В процессе вывода символа на экран компьютера производится обратный процесс — декодирование, то есть преобразование кода символа в его изображение. Важно, что присвоение символу конкретного кода — это вопрос соглашения, которое фиксируется в кодовой таблице. Первые 33 кода (с 0 по 32) соответствуют не символам, а операциям (перевод строки, ввод пробела и так далее). Коды с 33 по 127 являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания. Коды с 128 по 255 являются национальными, то есть в национальных кодировках одному и тому же коду соответствуют различные символы. К сожалению, в настоящ;ее время существуют пять различных кодовых таблиц для русских букв (КОИ8, СР1251, СР866, Мае, ISO — табл. 2.3), поэтому тексты, созданные в одной кодировке, не будут правильно отображаться в другой. В настоящее время широкое распространение получил новый международный стандарт Unicode, который отводит Информация. Двоичное кодирование информации 109 на каждый символ не один байт, а два, поэтому с его помощью можно закодировать не 256 символов, а N = 2^® = = 65536 различных символов. Эту кодировку поддерживают последние версии платформы Microsoft Windows&Office (начиная с 1997 года). Таблица 2.3. Кодировки символов Двоичный код Десятичный код КОИ8 СР1251 СР866 Мае ISO 00000000 0 00001000 8 Удаление последнего символа (клавиша Backspace) 00001101 13 Перевод строки (клавиша Enter) 00100000 32 Пробел 00100001 33 1 01011010 90 Z 01111111 127 а 10000000 128 Ъ А А К 11000010 194 б В - 7 11001100 204 Л м 1 1 Ь 11011101 221 щ э Е Н 11111111 255 Ь я Нераздел. пробел Нераздел. пробел п Каждая кодировка задается своей собственной кодовой таблицей. Как видно из табл. 2.3, одному и тому же двоичному коду в различных кодировках поставлены в соответствие различные символы. Например, последовательность числовых кодов 221, 194, 204 в кодировке СР1251 образует слово «ЭВМ», тогда как в других кодировках это будет бессмысленный набор символов. К счастью, в большинстве случаев пользователь не должен заботиться о перекодировках текстовых документов, так как это делают специальные программы-конверторы, встроенные в приложения. 110 Глава 2 7!ч1 й»таш I ownMbwe»- цр|ф| |тгак мвшг Roman е « - . > О ± I 1 г М и ё Nb е » 3 S 8 > В в г д Е Ж 3 И й К Л м н О п Р с т У Ф X ц ч ш Щ ъ Ы ^ I э ю я а 6 в г д е ж 1 и й к л и «-1 1 fw2 ( Щ. j С0«>4Ж»1 ■ |r>VHW»«i4 (мс > шш 9WMC Определение числового кода символа 1. Запустить текстовый редактор MS Word 2002. Ввести команду [Вставка-Символ...]. На экране появится диалоговая панель Символ. Центральную часть диалогового окна занимает таблица символов для определенного шрифта (например, Times New Roman). Символы располагаются последовательно слева направо и построчно, начиная с символа Пробел в левом верхнем углу и кончая буквой *я» в правом нижнем углу таблицы. Выбрать символ и в раскрывающемся списке из: тип кодировки. В текстовом поле Код знака: появится его числовой код. йЯ Ввод символов по числовому коду 1. Запустить стандартную программу Блокнот. С помощью дополнительной цифровой клавиатуры при нажатой клавише {АЩ ввести число 0224, отпустить клавишу {Alt}. В документе появится символ «а». Повторить процедуру для числовых кодов от 0225 до 0233. В документе появится последовательность из 12 символов «абвгдежзий» в кодировке Windows (СР1251). Коаь символов txt' Бп Файл Прв®*^® Поиск Оправка абвгдежзий рстуфхцчшщ с помощью дополнительной цифровой клавиатуры при нажатой клавише {Alt} ввести число 224, в документе появится символ «р». Повторить процедуру для числовых кодов от 225 до 233, в документе появится последовательность из 12 символов «рстуфхцчшщ» в кодировке MS-DOS (СР866). Информация. Двоичное кодирование информации 111 Практические задания 2.29. Используя таблицу символов (MS Word), записать последовательность десятичных числовых кодов в кодировке Windows (СР1251) для слова «компьютер». 2.30. Используя Блокнот, определить, какое слово в кодировке Windows (СР1251) задано последовательностью числовых кодов: 225, 224, 233,242. 2.31. Какие последовательности букв будут в кодировках КОИ8 и ISO соответствовать слову «ЭВМ», записанному в кодировке СР1251? 2.11. Аналоговый и дискретный способы представления изображений и звука Человек способен воспринимать и хранить информацию в форме образов (зрительных, звуковых, осязательных, вкусовых и обонятельных). Зрительные образы могут быть сохранены в виде изображений (рисунков, фотографий и так далее), а звуковые — зафиксированы на пластинках, магнитных лентах, лазерных дисках и так далее. Информация, в том числе графическая и звуковая, может быть представлена в аналоговой или дискретной форме. При аналоговом представлении физическая величина принимает бесконечное множество значений, причем ее значения изменяются непрерывно. При дискретном представлении физическая величина принимает конечное множество значений, причем ее величина изменяется скачкообразно. Приведем пример аналогового и дискретного представления информации. Положение тела на наклонной плоскости и на лестнице задается значениями координат X и Y. При движении тела по наклонной плоскости его координаты могут принимать бесконечное множество непрерывно изменяющихся значений из определенного диапазона, а при движении по лестнице — только определенный набор значений, причем меняющихся скачкообразно (рис. 2.6). Рис. 2.6 Аналоговое и дискретное кодирование 112 Глава 2 Примером аналогового представления графической информации может служить, например, живописное полотно, цвет которого изменяется непрерывно, а дискретного — изображение, напечатанное с помощью струйного принтера и состоящее из отдельных точек разного цвета. Примером аналогового хранения звуковой информации является виниловая пластинка (звуковая дорожка изменяет свою форму непрерывно), а дискретного — аудиокомпакт-диск (звуковая дорожка которого содержит участки с различной отражающей способностью). Преобразование графической и звуковой информации из аналоговой формы в дискретную производится путем дискретизации, то есть разбиения непрерывного графического изображения и непрерывного (аналогового) звукового сигнала на отдельные элементы. В процессе дискретизации производится кодирование, то есть присвоение каждому элементу конкретного значения в форме кода. Дискретизация — это преобразование непрерывных изображений и звука в набор дискретных значений в форме кодов. Вопросы для размышления т 1. Приведите примеры аналогового и дискретного способов представления графической и звуковой информации. 2. В чем состоит суть процесса дискретизации? 2.12. Двоичное кодирование графической информации Пространственная дискретизация. В процессе кодирования изображения производится его пространственная дискретизация. Пространственную дискретизацию изображения можно сравнить с построением изображения из мозаики (большого количества маленьких разноцветных стекол). Изображение разбивается на отдельные маленькие фрагменты (точки), причем каждому фрагменту присваивается значение его цвета, то есть код цвета (красный, зеленый, синий и так далее) — рис. 2.7. Информация. Двоичное кодирование информации 113 Рис. 2.7 Пространственная дискретизация изображения Качество кодирования изображения зависит от двух параметров. Во-первых, качество кодирования изображения тем выше, чем меньше размер точки и соответственно большее количество точек составляет изображение. Во-вторых, чем большее количество цветов, то есть большее количество возможных состояний точки изображения, используется, тем более качественно кодируется изображение (каждая точка несет большее количество информации). Совокупность используемых в наборе цветов образует палитру цветов. Формирование растрового изображения. Графическая информация на экране монитора представляется в виде растрового изображения, которое формируется из определенного количества строк, которые в свою очередь содержат определенное количество точек (пикселей). Качество изображения определяется разрешаюпдей способностью монитора, т.е. количеством точек, из которых оно складывается. Чем больше разрешающая способность, то есть чем больше количество строк растра и точек в строке, тем выше качество изображения. В современных персональных компьютерах обычно используются три основные разрешающие способности экрана: 800 х 600, 1024 х 768 и 1280 х 1024 точки. Рассмотрим формирование на экране монитора растрового изображения, состоящего из 600 строк по 800 точек в каждой строке (всего 480 000 точек). В простейшем случае (черно-белое изображение без градаций серого цвета) каждая точка экрана может иметь одно из двух состояний — «черная» или «белая», то есть для хранения ее состояния необходим 1 бит. Цветные изображения формируются в соответствии с двоичным кодом цвета каждой точки, хранящимся в видеопамяти (рис. 2.8). Цветные изображения могут иметь различную глубину цвета, которая задается количеством битов, используемым для кодирования цвета точки. Наиболее распространенными значениями глубины цвета являются 8, 16, 24 или 32 бита. 114 Глава 2 Видеопамять 1 № точки Двоичный код цвета точки 1 01010101 2 00100101 800 11110000 480000 11001100 12 3 4 800 Рис. 2.8. Формирование растрового изображения а Качество двоичного кодирования изображения определяется разрешающей способностью экрана и глубиной цвета. Каждый цвет можно рассматривать как возможное состояние точки, тогда количество цветов, отображаемых на экране монитора, может быть вычислено по формуле (2.1): N = 2^ где I — глубина цвета (табл. 2.4). Таблица 2.4. Глубина цвета и количество отображаемых цветов Глубина цвета (/) Количество отображаемых цветов {N) 8 28 = 256 16 (High Color) 2'8 = б5 536 24 (True Color) 22“*= 16 777 216 32 (True Color) 232 = 4 294 967 296 Цветное изображение на экране монитора формируется за счет смешивания трех базовых цветов: красного, зеленого и синего. Такая цветовая модель называется RGB-моделью по первым буквам английских названий цветов (Red, Green, Blue). Для получения богатой палитры цветов базовым цветам могут быть заданы различные интенсивности. Например, при глубине цвета в 24 бита на каждый из цветов выделяется по 8 бит, то есть для каждого из цветов возможны N = 2^ = 256 уровней интенсивности, заданные двоичными кодами (от минимальной — 00000000 до максимальной — 11111111) — табл. 2.5. Информация. Двоичное кодирование информации 115 Таблица 2.5. Формирование цветов при глубине цвета 24 бита Название цвета Интенсивность Красный Зеленый Синий I Черный 00000000 00000000 00000000 I Красный 11111111 00000000 00000000 I Зеленый 00000000 11111111 00000000 I Синий 00000000 00000000 11111111 I Голубой 00000000 11111111 11111111 Желтый 11111111 11111111 00000000 Белый 11111111 11111111 11111111 Графический режим. Графический режим вывода изображения на экран монитора определяется величиной разрешающей способности и глубиной цвета. Для того чтобы на экране монитора формировалось изображение, информация о каждой его точке (код цвета точки) должна храниться в видеопамяти компьютера. Рассчитаем необходимый объем видеопамяти для одного из графических режимов, например, с разрешением 800 X 600 точек и глубиной цвета 24 бита на точку. Всего точек на экране: 800 • 600 = 480 000. Необходимый объем видеопамяти: 24 бит • 480 000 = 11 520 000 бит = 1 440 000 байт = = 1406,25 Кбайт = 1,37 Мбайт. Аналогично рассчитывается необходимый объем видеопамяти для других графических режимов. В Windows предусмотрена возможность выбора графического режима и настройки параметров видеосистемы компьютера, включающей монитор и видеоадаптер. Установка графического режима 1. Щелкнуть по индикатору Экран на Панели задач, появится диалоговая панель Свойства: Экран. Выбрать вкладку Настройка, которая информирует нас о марке установленных монитора и видеоадаптера и предоставляет возможность установить графический режим экрана (глубину цвета и разрешающую способность). WMHtSU 111»>WHaS}nv 116 Глава 2 2. Щелкнуть по кнопке Дополнительно, появится диалоговая панель, на которой выбрать BKR&fi.Ky Адаптер. На вкладке имеется информация о фирме-производите-ле, марке видеоадаптера, объеме видеопамяти и др. С помощью раскрывающегося списка можно выбрать оптимальную частоту обновления экрана. Вопросы дляГршмышления 1. В чем состоит суть метода пространственной дискретизации? 2. Объясните принцип формирования растрового изображения. 3. Какими параметрами задается графический режим, в котором изображения выводятся на экран монитора? Задания 2.32. Используются графические режимы с глубинами цвета 8, 16, 24 и 32 бита. Вычислить объемы видеопамяти, необходимые для реализации данных глубин цвета при различных разрешающих способностях экрана. 2.13. Двоичное кодирование звуковой информации Временная дискретизация звука. Звук представляет собой звуковую волну с непрерывно меняющейся амплитудой и частотой. Чем больше амплитуда сигнала, тем он громче для человека, чем больше частота сигнала, тем выше тон. Для того чтобы компьютер мог обрабатывать звук, непрерывный звуковой сигнал должен быть превращен в последовательность электрических импульсов (двоичных нулей и единиц). Информация. Двоичное кодирование информации 117 В процессе кодирования непрерывного звукового сигнала производится его временная дискретизация. Непрерывная звуковая волна разбивается на отдельные маленькие временные участки, причем для каждого такого участка устанавливается определенная величина амплитуды. Таким образом, непрерывная зависимость амплитуды сигнала от времени A(t) заменяется на дискретную последовательность уровней громкости. На графике это выглядит как замена гладкой кривой на последовательность «ступенек» — рис. 2.9. Рис. 2.9 Временная дискретизация звука Каждой «ступеньке» присваивается значение уровня громкости звука, его код (1, 2, 3 и так далее). Уровни громкости звука можно рассматривать как набор возможных состояний, соответственно, чем большее количество уровней громкости будет выделено в процессе кодирования, тем большее количество информации будет нести значение каждого уровня и тем более качественным будет звучание. Современные звуковые карты обеспечивают 16-битную глубину кодирования звука. Количество различных уровней сигнала (состояний при данном кодировании) можно рассчитать по формуле (2.1): iV = 2^ = 2^® = 65536, где I — глубина звука. Таким образом, современные звуковые карты могут обеспечить кодирование 65536 уровней сигнала. Каждому значению амплитуды звукового сигнала присваивается 16-битный код. При двоичном кодировании непрерывного звукового сигнала он заменяется последовательностью дискретных уровней сигнала. Качество кодирования зависит от количества измерений уровня сигнала в единицу времени, то есть частоты дискретизации. Чем большее количество измерений производится за 1 секунду (чем больше частота дискретизации), тем точнее процедура двоичного кодирования. 118 Глава 2 Качество двоичного кодирования звука определяется глубиной кодирования и частотой дискретизации. Количество измерений в секунду может лежать в диапазоне от 8000 до 48 000, то есть частота дискретизации аналогового звукового сигнала может принимать значения от 8 до 48 кГц. При частоте 8 кГц качество дискретизированного звукового сигнала соответствует качеству радиотрансляции, а при частоте 48 кГц — качеству звучания аудио-CD. Следует также учитывать, что возможны как моно-, так и стереорежимы. Можно оценить информационный объем стереоаудиофайла длительностью звучания 1 секунда при высоком качестве звука (16 битов, 48 кГц). Для этого количество битов, приходящихся на одну выборку, необходимо умножить на количество выборок в 1 секунду и умножить на 2 (стерео): 16 бит • 48 000 -2 = 1 536 000 бит = 192 000 байт = = 187,5 Кбайт. Стандартное приложение Звукозапись играет роль цифрового магнитофона и позволяет записывать звук, то есть дискретизировать звуковые сигналы, и сохранять их в звуковых файлах в формате WAV. Эта программа позволяет редактировать звуковые файлы, микшировать их (накладывать друг на друга), а также воспроизводить. Запись звукового файла 1. Запустить Звукозапись. Для установки параметров дискретизации звука ввести команду [Файл-Свойства]. На панели Свойства объекта «Звук» щелкнуть по кнопке Преобразовать. 2. На панели Выбор звука из раскрывающегося списка выбрать режим кодирования звука (глубина кодирования, частота дискретизации, моно/стерео). ^5 Звук - Звукозапись Файл Г]равкв Эффекты Справка гтта I Форг^вт jpLW ^триЬутм 000 Г LX 1Б бит Моно 47ttB/c р4 000 Г U 8 бит Моно к4 000 Ги. 8 бит Стеоео 23«Б/с 47*Б/с J24 000 ГLI1Б бит Стерео 94.Б/С "Тзг ООО Г а 8 бит Моно 31 кБ/с Информация. Двоичное кодирование информации 119 Вопросы дл}^азмышления 1ею1 ш 1. в чем состоит принцип двоичного кодирования звука? 2. От каких параметров зависит качество двоичного кодирования звука? Практические задания 2.33. С помощью программы Звукозапись записать при 16-битном кодировании и частоте дискретизации 44 кГц моноаудиофайл длительностью 10 секунд. Сравнить его реальный объем с вычисленным. 2.14. Хранение информации Информация, закодированная с помощью естественных и формальных языков, а также информация в форме зрительных и звуковых образов хранится в памяти человека. Однако для долговременного хранения информации, ее накопления и передачи из поколения в поколение используются носители информации. Материальная природа носителей информации может быть различной: молекулы ДНК, которые хранят генетическую информацию; бумага, на которой хранятся тексты и изображения; магнитная лента, на которой хранится звуковая информация; фото- и кинопленки, на которых хранится графическая информация; микросхемы памяти, магнитные и лазерные диски, на которых хранятся программы и данные в компьютере, и так далее. По оценкам специалистов, объем информации, фиксируемой на различных носителях, превышает один эксабайт в год (10^® байт/год). Примерно 80% всей этой информации хранится в цифровой форме на магнитных и оптических носителях и только 20% — на аналоговых носителях (бумага, магнитные ленты, фото- и кинопленки). Если всю записанную в 2000 году информацию распределить на всех жителей планеты, то на каждого человека придется по 250 Мбайт, а для ее хранения потребуется 85 миллионов жестких магнитных дисков по 20 Гбайт. 120 Глава 2 Информационная емкость носителей информации. Носители информации характеризуются информационной емкостью, то есть количеством информации, которое они могут хранить. Наиболее информационно емкими являются молекулы ДНК, которые имеют очень малый размер и плотно упакованы. Это позволяет хранить огромное количество информации (до 10^^ битов в 1 см^), что дает возможность организму развиваться из одной-единственной клетки, содержащей всю необходимую генетическую информацию. Современные микросхемы памяти позволяют хранить в 1 см^ до 10^° битов информации, однако это в 100 миллиардов раз меньше, чем в ДНК. Можно сказать, что современные технологии пока существенно проигрывают биологической эволюции. Однако если сравнивать информационную емкость традиционных носителей информации (книг) и современных компьютерных носителей, то прогресс очевиден. На каждом гибком магнитном диске может храниться книга объемом около 600 страниц, а на жестком магнитном диске или DVD — целая библиотека, включающая десятки тысяч книг. Надежность и долговременность хранения информации. Большое значение имеет надежность и долговременность хранения информации. Большую устойчивость к возможным повреждениям имеют молекулы ДНК, так как существует механизм обнаружения повреждений их структуры (мутаций) и самовосстановления. Надежность (устойчивость к повреждениям) достаточно высока у аналоговых носителей, повреждение которых приводит к потери информации только на поврежденном участке. Поврежденная часть фотографии не лишает возможности видеть оставшуюся часть, повреждение участка магнитной ленты приводит лишь к временному пропаданию звука и так далее. Цифровые носители гораздо более чувствительны к повреждениям, даже утеря одного бита данных на магнитном или оптическом диске может привести к невозможности считать файл, то есть к потере большого объема данных. Именно поэтому необходимо соблюдать правила эксплуатации и хранения цифровых носителей информации. Наиболее долговременным носителем информации является молекула ДНК, которая в течение десятков тысяч лет (человек) и миллионов лет (некоторые живые организмы), сохраняет генетическую информацию данного вида. Информация. Двоичное кодирование информации 121 Ангшоговые носители способны сохранять информацию в течение тысяч лет (египетские папирусы и шумерские глиняные таблички), сотен лет (бумага) и десятков лет (магнитные ленты, фото- и кинопленки). Цифровые носители появились сравнительно недавно и поэтому об их долговременности можно судить только по оценкам специалистов. По экспертным оценкам, при правильном хранении оптические носители способны хранить информацию сотни лет, а магнитные — десятки лет. Вопросы для размышления 1. Какие достоинства и недостатки имеют аналоговые и цифровые носители информации? 2.34. Составить таблицу сравнения различных типов носителей информации (аналоговых и цифровых) по их возможностям хранения информации. Глава 3____________________ Основы логики и логические основы компьютера 3.1. Формы мышления Первые учения о формах и способах рассуждений возникли в странах Древнего Востока (Китай, Индия), но в основе современной логики лежат учения, созданные древнегреческими мыслителями. Основы формальной логики заложил Аристотель, который впервые отделил логические формы мышления (речи) от его содержания. Логика — это наука о формах и способах мышления. Законы логики отражают в сознании человека свойства, связи и отношения объектов окружающего мира. Логика позволяет строить формальные модели окружающего мира, отвлекаясь от содержательной стороны. Мышление всегда осуществляется в каких-то формах. Основными формами мышления являются понятие, высказывание и умозаключение. Понятие. Понятие выделяет существенные признаки объекта, которые отличают его от других объектов. Объекты, объединенные понятием, образуют некоторое множество. Например, понятие «компьютер» объединяет множество электронных устройств, которые предназначены для обработки информации и обладают монитором и клавиатурой. Даже по этому короткому описанию компьютер трудно спутать с другими объектами, например с механизмами, служащими для перемещения по дорогам и хранящимися в гаражах, которые объединяются понятием «автомобиль». Основы логики и логические основы компьютера 123 О 0 Понятие — это форма мышления, фиксирующая основные, существенные признаки объекта. Понятие имеет две стороны: содержание и объем. Содержание понятия составляет совокупность существенных признаков объекта. Чтобы раскрыть содержание понятия, следует найти признаки, необходимые и достаточные для выделения данного объекта из множества других объектов. Например, содержание понятия «персональный компьютер» можно раскрыть следующим образом: «Персональный компьютер — это универсальное электронное устройство для автоматической обработки информации, предназначенное для одного пользователя». Объем понятия определяется совокупностью предметов, на которую оно распространяется. Объем понятия «персональный компьютер» выражает всю совокупность (сотни миллионов) существующих в настоящее время в мире персональных компьютеров. Высказывание. Свое понимание окружающего мира человек формулирует в форме высказываний (суждений, утверждений). Высказывание строится на основе понятий и по форме является повествовательным предложением. Высказывания могут быть выражены с помощью не только естественных языков, но и формальных. Например, высказывание на естественном языке имеет вид «Два умножить на два равно четырем», а на формальном, математическом языке оно записывается в виде: «2 • 2 = 4». Об объектах можно судить верно или неверно, то есть высказывание может быть истинным или ложным. Истинным будет высказывание, в котором связь понятий правильно отражает свойства и отношения реальных вещей. Примером истинного высказывания может служить следующее: «Процессор является устройством обработки информации». Ложным высказывание будет в том случае, когда оно не соответствует реальной действительности, например: «Процессор является устройством печати». Высказывание не может быть выражено повелительным или вопросительным предложением, так как оценка их истинности или ложности невозможна. Конечно, иногда истинность того или иного высказывания является относительной. Истинность высказываний может зависеть от взглядов людей, от конкретных обстоятельств и так далее. Сегодня высказывание «На моем компьютере уста- 124 Глава 3 новлен самый современный процессор Pentium 4» истинно, но пройдет некоторое время, появится более мощный процессор, и данное высказывание станет ложным. Высказывание - это форма мышления, в которой что-либо утверждается или отрицается о свойствах реальных предметов и отношениях между ними. Высказывание может быть либо истинно, либо ложно. До сих пор мы рассматривали простые высказывания. На основании простых высказываний могут быть построены составные высказывания. Например, высказывание «Процессор является устройством обработки информации и принтер является устройством печати» является составным высказыванием, состоящим из двух простых, соединенных союзом «и». Если истинность или ложность простых высказываний устанавливается в результате соглапхения на основании здравого смысла, то истинность или ложность составных высказываний вычисляется с помощью использования алгебры высказываний. Приведенное выше составное высказывание истинно, так как истинны входящие в него простые высказывания. Умозаключение. Умозаключения позволяют на основе известных фактов, выраженных в форме суждений (высказываний), получать заключение, то есть новое знание. Примером умозаключений могут быть геометрические доказательства. Например, если мы имеем суждение «Все углы треугольника равны», то мы можем путем умозаключения доказать, что в этом случае справедливо суждение «Этот треугольник равносторонний ». Умозаключение - это форма мышления, с помощью которой из одного или нескольких суждений (посылок) может быть получено новое суждение (заключение). Посылками умозаключения по правилам формальной логики могут быть только истинные суждения. Тогда, если Основы логики и логические основы компьютера 125 умозаключение проводится в соответствии с правилами формальной логики, то оно будет истинным. В противном случае можно прийти к ложному умозаключению. Вопросы для размышления Гг! 1. Какие существуют основные формы мышления? 2. В чем состоит разница между содержанием и объемом понятия? 3. Может ли быть высказывание выражено в форме вопросительного предложения? 4. Как определяется истинность или ложность простого высказывания? Составного высказывания? 3.2. Алгебра высказываний Алгебра высказываний была разработана для того, чтобы можно было определять истинность или ложность составных высказываний, не вникая в их содержание. В адгебре высказываний суждениям (простым высказываниям) ставятся в соответствие логические переменные, обозначаемые прописными буквами латинского алфавита. Рассмотрим два простых высказывания: А = «Два умножить на два равно четырем». В = «Два умножить на два равно пяти». Высказывания, как уже говорилось ранее, могут быть истинными или ложными. Истинному высказыванию соответствует значение логической переменной 1, а ложному — значение 0. В нашем случае первое высказывание истинно (А = 1), а второе ложно (В = 0). В алгебре высказываний высказывания обозначаются именами логических переменных, которые могут принимать лишь два значения; «истина» (1) и «ложь» (0). В алгебре высказываний над высказываниями можно производить определенные логические операции, в результате которых получаются новые, составные высказывания. 126 Глава 3 Для образования новых высказываний наиболее часто используются базовые логические операции, выражаемые с помощью логических связок «и», «или», «не». 3.2.1. Логическое умножение (конъюнкция) а Объединение двух (или нескольких) высказыва-|| ний в одно с помощью союза «и» называется опера-f цией логического умножения или конъюнкцией. Составное высказывание, образованное в результате операции логического умножения (конъюнкции), истинно тогда и только тогда, когда истинны все входящие в него простые высказывания. Так, из приведенных ниже четырех составных высказываний, образованных с помощью операции логического умножения, истинно только четвертое, так как в первых трех составных высказываниях хотя бы одно из простых высказываний ложно: (1) «2 (2) «2 (3) (4) «2 «2 2 = 5 и 3 2 = 5 и 3 2 = 4 и 3 2 = 4 и 3 3 = 10», 3 = 9», 3 = 10», 3 = 9». Перейдем теперь от записи высказываний на естественном языке к их записи на формальном языке алгебры высказываний (алгебры логики). В ней операцию логического умножения (конъюнкцию) принято обозначать значком «&» либо «л». Образуем составное высказывание F, которое получится в результате конъюнкции двух простых высказываний: F = А& В. С точки зрения алгебры высказываний мы записали формулу функции логического умножения, аргументами которой являются логические переменные Aw. В, которые могут принимать значения «истина» (1) и «ложь» (0). Сама функция логического умножения F также может принимать лишь два значения «истина» (1) и «ложь» (0). Значение логической функции можно определить с помо- Основы логики и логические основы компьютера 127 щью таблицы истинности данной функции, которая показывает, какие значения принимает логическая функция при всех возможных наборах ее аргументов (табл. 3.1). Таблица 3.1. Таблица истинности функции логического умножения А В F =А&В 0 0 0 0 1 0 1 0 0 1 1 1 По таблице истинности легко определить истинность составного высказывания, образованного с помощью операции логического умножения. Рассмотрим, например, составное высказывание «2-2 = 4иЗ-3 = 10». Первое простое высказывание истинно (А = 1), а второе высказывание ложно (Б = 0), по таблице определяем, что логическая функция принимает значение ложь (Б = 0), то есть данное составное высказывание ложно. 3.2.2. Логическое сложение (дизъюнкция) Объединение двух (или нескольких) высказываний с помощью союза «или» называется операцией логического сложения или дизъюнкцией. 0 и Составное высказывание, образованное в результате логического сложения (дизъюнкции), истинно тогда, когда истинно хотя бы одно из входящих в него простых высказываний. Так, из приведенных ниже четырех составных высказываний, образованных с помощью операции логического сложения, ложно только первое, так как в последних трех составных высказываниях хотя бы одно из простых высказываний истинно: (1) «2 2 = 5 или 3 3 = 10», (2) «2 ■ 2 = 5 или 3 3 = 9», (3) «2 ■2 = 4 или 3 3 = 10», (4) «2 • 2 = 4 или 3 3 = 9». 128 Глава 3 Запишем теперь операцию логического сложения на формальном языке алгебры логики. Операцию логического сложения (дизъюнкцию) принято обозначать либо значком «V», либо знаком сложения «+». Образуем составное высказывание F, которое получится в результате дизъюнкции двух простых высказываний: F = Av В. С точки зрения алгебры высказываний мы записали формулу функции логического сложения, аргументами которой являются логические переменные А я В. Значение логической функции можно определить с помош;ью таблицы истинности данной функции, которая показывает, какие значения принимает логическая функция при всех возможных наборах ее аргументов (табл. 3.2). Таблица 3.2. Таблица истинности функции логического сложения А В F = AvB 0 0 0 0 1 1 1 0 1 1 1 1 По таблице истинности легко определить истинность составного высказывания, образованного с помош;ью операции логического сложения. Рассмотрим, например, составное высказывание «2-2 = 4 или 3 • 3 = 10». Первое простое высказывание истинно (А = 1), а второе высказывание ложно (Б = 0), по таблице определяем, что логическая функция принимает значение истина (F = 1), то есть данное составное высказывание истинно. 3.2.3. Логическое отрицание (инверсия) Присоединение частицы «не» к высказыванию называется операцией логического отрицания или инверсией. 0 а Логическое отрицание (инверсия) делает истинное высказывание ложным и, наоборот, ложное — истинным. Основы логики и логические основы компьютера 129 Пусть А = «Два умножить на два равно четырем» — истинное высказывание, тогда высказывание F = «Два умножить на два не равно четырем», образованное с помощью операции логического отрицания, — ложно. Операцию логического отрицания (инверсию) над логиче-ским_высказыванием А в алгебре логики принято обозначать А. Образуем высказывание F, являющееся логическим отрицанием А: F = А. Истинность такого высказывания задается таблицей истинности функции логического отрицания (табл. 3.3). Таблица 3.3. Таблица истинности функции логического отрицания А F=A 0 1 1 0 Истинность высказывания, образованного с помощью операции логического отрицания, можно легко определить с помощью таблицы истинности. Например, высказывание «Два умножить на два не равно четырем» ложно (А = 0), а полученное из него в результате логического отрицания высказывание «Два умножить на два равно четырем» истинно (F = 1). 3.1. Составить составное высказывание, содержащее операции логического умножения, сложения и отрицания. Определить его истинность. 3.3. Логические выражения и таблицы истинности Логические выражения. Каждое составное высказывание можно выразить в виде формулы (логического выражения), в которую входят логические переменные, обозначающие высказывания, и знаки логических операций, обозначающие логические функции. 5—2645 130 Глава 3 Для записи составного высказывания в виде логического выражения на формальном языке (языке алгебры логики) в составном высказывании нужно выделить простые высказывания и логические связи между ними. Запишем в форме логического выражения составное высказывание *(2 -2 = 5 или 2-2 = 4)и(2-2?*5 или 2-25* 4)». Проанализируем составное высказывание. Оно содержит два простых высказывания: А == «2 • 2 = 5» — ложно (0), В = «2 • 2 = 4» — истинно (1). Тогда составное высказывание можно записать в следующей форме: «(А или В) и (А или В)». Теперь необходимо записать высказывание в форме логического выражения с учетом последовательности выполнения логических операций. При выполнении логических операций определен следующий порядок их выполнения: инверсия, конъюнкция, дизъюнкция. Для изменения указанного порядка могут использоваться скобки: F = (А V В) & (А V В). Истинность или ложность составных высказываний можно определять чисто формально, руководствуясь законами алгебры высказываний, не обращаясь к смысловому содержанию высказываний. Подставим в логическое выражение значения логических переменных и, используя таблицы истинности базовых логических операций, получим значение логической функции: F = (А V В)&(А V В) = (0 V 1)&(1 V 0) = 1 & 1 = 1. Таблицы истинности. Для каждого составного высказывания (логического выражения) можно построить таблицу истинности, которая определяет его истинность или ложность при всех возможных комбинациях исходных значений простых высказываний (логических переменных). При построении таблиц истинности целесообразно руководствоваться определенной последовательностью действий. Во-первых, необходимо определить количество строк в таблице истинности. Оно равно количеству возможных комбинаций значений логических переменных, входящих в логическое выражение. Если количество логических переменных равно п, то: количество строк = 2”. Основы логики и логические основы компьютера 131 В нашем случае логическая функция F = (AvB)&(AvS) имеед’ 2 переменные и, следовательно, количество строк в таблице истинности должно быть равно 4. Во-вторых, необходимо определить количество столбцов в таблице истинности, которое равно количеству логических переменных плюс количество логических операций. В нашем случае количество переменных равно двум, а количество логических операций — пяти, то есть количество столбцов таблицы истинности равно семи. В-третьих, необходимо построить таблицу истинности с указанным количеством строк и столбцов, обозначить столбцы и внести в таблицу возможные наборы значений исходных логических переменных. В-четвертых, необходимо заполнить таблицу истинности по столбцам, выполняя базовые логические операции в необходимой последовательности и в соответствии с их таблицами истинности (табл. 3.4). Теперь мы можем определить значение логической функции для любого набора значений логических переменных. Таблица 3.4. Таблица ист1Шности логической функции F= {AvB)&[AvB) А В AvB А в AvB (AvB)&(AvB) 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 Равносильные логические выражения. Логические выражения, у которых последние столбцы таблиц истинности совпадают, называются равносильными. Для обозначения равносильных логических выражений используете^ знак ♦=». Докажем, что логические выражения А & В и AvB равносильны. IlocTjJOHM сначала таблицу истинности логического выражения А & В (табл. 3.5). Таблица 3.5. Таблица истинности логического выражения А & В А В А В А&В 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 132 Глава 3 Теперь построим таблицу истинности логического выражения AvB (табл. 3.6). Таблица 3.6. Таблица истинности логического выражения AvB А В AvB 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 Значения в последних столбцах таблиц истинности совпадают, следовательно, логические выражения равносильны: А&В = AvB. Вопросы для размышления 1. Что содержат таблицы истинности и каков порядок их построения? 2. Какие логические выражения называются равносильными? 3 a,if а н и я 3.2. Записать составное высказывание «(2 - 2 = 4и3-3 = 9) или (2-2?^4иЗ-3?^ 9)» в форме логического выражения. Построить таблицу истинности. 3.3. Доказать, используя таблицы истинности, что логические выражения А V В и А&В равносильны. 3.4. Логические функции Любое составное высказывание можно рассматривать как логическую функцию B(Xj, Х^, .... XJ, аргументами которой являются логические переменные Х^, Х^, (простые вы- сказывания). Сама функция и аргументы могут принимать только два различных значения; «истина» (1) и «ложь» (0). Основы логики и логические основы компьютера 133 Выше были рассмотрены функции двух аргументов: логическое умножение F{A,B) = А&В, логическое сложение F(A,B) = AwB, а также логическое отрицание F{A) = А, в котором значение второго аргумента можно считать равным нулю. Каждая логическая функция двух аргументов имеет четыре возможных набора значений аргументов. По формуле (2.1) мы можем определить, какое количество различных логических функций двух аргументов может существовать: N = 2‘^ = 16. Таким образом, существует 16 различных логических функций двух аргументов, каждая из которых задается своей таблицей истинности (табл. 3.7). Таблица 3.7. Таблицы истинности логических функций двух аргументов Аргу- менты Логические функции А В ^4 Fs ^6 ^7 '"ll ^12 Fh F^^ ^16 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Легко заметить, что здесь логическая функция F^ является функцией логического умножения, F^ — функцией логического сложения, Fj3 — функцией логического отрицания для аргумента А и F^^ — функцией логического отрицания для аргумента В. В обыденной и научной речи кроме базовых логических связок «и», «или», «не» используются и некоторые другие: «если... то...», «... тогда и только тогда, когда...» и др. Некоторые из них имеют свое название и свой символ, и им соответствуют определенные логические функции. Логическое следование (импликация). Логическое следование (импликация) образуется соединением двух высказываний в одно с помощью оборота речи «если..., то...». Логическая операция импликации «если А, то В», обозначается А В VI выражается с помощью логической функции которая задается соответствующей таблицей истинности (табл. 3.8). 134 Глава 3 Таблица 3.8. Таблица истинности логической функции «импликация» 1 ^ в 0 0 1 0 1 1 1 0 0 I 1 1 1 а Составное высказывание, образованное с помощью операции логического следования (импликации), ложно тогда и только тогда, когда из истинной предпосылки (первого высказывания) следует ложный вывод (второе высказывание). Например, высказывание «Если число делится на 10, то оно делится на 5» истинно, так как истинны и первое высказывание (предпосылка), и второе высказывание (вывод). Высказывание «Если число делится на 10, то оно делится на 3» ложно, так как из истинной предпосылки делается ложный вывод. Однако операция логического следования несколько отличается от обычного понимания слова «следует». Если первое высказывание (предпосылка) ложно, то вне зависимости от истинности или ложности второго высказывания (вывода) составное высказывание истинно. Это можно понимать таким образом, что из неверной предпосылки может следовать что угодно. В алгебре высказываний все логические функции могут быть сведены путем логических преобразований к трем базовым: логическому умножению, логическому сложению и логическому отрицанию. Докажем методом сравнения таблиц истинности (табл. 3.8 и 3.9), что операция импликации А В равносильна логическому выражению Av В. Таблица 3.9. Таблица истинности логического выражения AvB А В А AvB 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 Основы логики и логические основы компьютера 135 Таблицы истинности совпадают, что и требовалось доказать. Логическое равенство (эквивалентность). Логическое равенство (эквивалентность) образуется соединением двух высказываний в одно с помощью оборота речи «... тогда и только тогда, когда ...». Логическая операция эквивалентности «А тогда и только тогда, когда В» обозначается А-В и выражается с помощью логической функции Fjq, которая задается соответствующей таблицей истинности (табл. 3.10). Таблица 3.10. Таблица истинности логической функции эквивалентности А В ^,0 0 0 1 0 1 0 1 0 0 1 1 1 Составное высказывание, образованное с помощью логической операции эквивалентности истинно тогда и только тогда, когда оба высказывания одновременно либо ложны, либо истинны. Рассмотрим, например, два высказывания: А = «Компьютер может производить вычисления» и В = «Компьютер включен». Составное высказывание, полученное с помощью операции эквивалентности, истинно, когда оба высказывания либо истинны, либо ложны: «Компьютер может производить вычисления тогда и только тогда, когда компьютер включен». «Компьютер не может производить вычисления тогда и только тогда, когда компьютер не включен». Составное высказывание, полученное с помощью операции эквивалентности, ложно, когда одно высказывание истинно, а другое — ложно: «Компьютер может производить вычисления тогда и только тогда, когда компьютер не включен». «Компьютер не может производить вычисления тогда и только тогда, когда компьютер включен». 136 Глава 3 Вопросы для размышления 1. Какое количество логических функций двух аргументов существует и почему? 2. Какие логические функции двух аргументов имеют свои названия? 3. Какое существует количество логических функций трех аргументов? 3 а gaн и я 3.4. Доказать, используя таблицы истинности, что операция эквивалентное™ А -В равносильна логическому выражению: (Л V В) & (А V В). 3.5. Логические законы и правила преобразования логических выражений Законы логики отражают наиболее важные закономерности логического мышления. В алгебре высказываний законы логики записываются в виде формул, которые позволяют проводить эквивалентные преобразования логических выражений. Закон тождества. Всякое высказывание тождественно самому себе: £% А = А t ________________________________________ С? Закон непротиворечия. Высказывание не может быть одновременно истинным и ложным. Если высказывание А истинно, то его отрицание не А должно быть ложным. Следовательно, логическое произведение высказывания и его отрицания должно быть ложно: 4" А&А = 0 Основы логики и логические основы компьютера 137 Закон исключенного третьего. Высказывание может быть либо истинным, либо ложным, третьего не дано. Это означает, что результат логического сложения высказывания и его отрицания всегда принимает значение «истина»: Л = 1 Закон двойного отрицания. Если дважды отрицать некоторое высказывание, то в результате мы получим исходное высказывание: Л = Л Законы де Моргана. Л V S = Л & 6 А & в = А V в Важное значение для выполнения преобразований логических выражений имеют законы алгебраических преобразований. Многие из них имеют аналоги в обычной алгебре. Закон коммутативности. В обычной алгебре слагаемые и множители можно менять местами. В алгебре высказываний можно менять местами логические переменные при операциях логического умножения и логического сложения: ЩХ Логическое умножение Логическое сложение | А&В=В&А Av В = Av В 1 Закон ассоциативности. Если в логическом выражении используются только операция логического умножения или только операция логического сложения, то можно пренебрегать скобками или произвольно их расставлять: а Логическое умножение Логическое сложение {А& В) & С = 4 & (S & С) (Av B)v С= Av {Bv С) 138 Глава 3 Закон дистрибутивности. В отличие от обычной алгебры, где за скобки можно выносить только общие множители, в алгебре высказываний можно выносить за скобки как общие множители, так и общие слагаемые: Дистрибутивность умножения относительно сложения Дистрибутивность сложения относительно умножения аЬ+ ас = а(Ы-с) — в алгебре {A&B)v{A&C)=A&{BvC) (/4 V В) & (Л V С) = Д V (В & С) Рассмотрим в качестве примера применения законов логики преобразование логического выражения. Пусть нам необходимо упростить логическое выражение: (А & В) V (А & В). Воспользуемся законом дистрибутивности и вынесем за скобки А: (А & В) V (А & В) = А & (В V В). По закону исключенного третьего В v В =1, следовательно: А& (В vB) = А & 1 = А. 3 а 3.5. Доказать ^прмедливость первого А v В = А & В и второго А & В = А В законов де Моргана, используя таблицы истинности. 3.6. Упрости'^ логические выражения: а) (А V А) & В; _ б) А& (А vB) & (В vB). 3.6. Решение логических задач Логические задачи обычно формулируются на естественном языке. В первую очередь их необходимо формализовать, то есть записать на языке алгебры высказываний. Полученные логические выражения необходимо упростить и проанализировать. Для этого иногда бывает необходимо построить таблицу истинности полученного логического выражения. Основы логики и логические основы компьютера 139 Условие задачи. В школе-новостройке в каждой из двух аудиторий может находиться либо кабинет информатики, либо кабинет физики. На дверях аудиторий повесили шутливые таблички. На первой повесили табличку «По крайней мере, в одной из этих аудиторий размещается кабинет информатики», а на второй аудитории — табличку с надписью «Кабинет физики находится в другой аудитории». Проверяющему, который пришел в школу, известно только, что надписи на табличках либо обе истинны, либо обе ложны. Помогите проверяющему найти кабинет информатики. Решение задачи. Переведем условие задачи на язык логики высказываний. Так как в каждой из аудиторий может находиться кабинет информатики, то пусть: А = «В первой аудитории находится кабинет информатики»; В = «Во второй аудитории находится кабинет информатики». Отрицания этих высказываний: «В первой аудитории находится кабинет физики»; В = «Во второй аудитории находится кабинет физики». Высказывание, содержащееся на табличке на двери первой аудитории, соответствует логическому выражению: X = Av В. Высказывание, содержащееся на табличке на двери второй аудитории, соответствует логическому выражению: Y = А. Содержащееся в условии задачи утверждение о том, что надписи на табличках либо одновременно истинные, либо одновременно ложные в соответствии с законом исключенного третьего записывается следующим образом: (X & У) v(X & Л = 1- Подставим вместо X и У соответствующие формулы: (X & У) V (X & У) = ((А V Б) & А) V ('(А v В) & А). Упростим сначала первое слагаемое. В соответствии с законом дистрибутивности умножения относительно сложения: {А V В) &А = А &А V В &А. В соответствии с законом непротиворечия: А & А V В & А = О V В & А. Упростим теперь второе слагаемое. В соответствии с первым законом де Моргана и законом двойного отрицания: (А V Б) &А =А&В& А =А&А&В. 140 Глава 3 В соответствии с законом непротиворечия: А&А&В=0&В = 0. В результате получаем: (О V В & А) V О = В & А. Полученное логическое выражение оказалось простым и поэтому его можно проанализировать без построения таблицы истинности^ Для того чтобы выполнялось равенство В&А = 1,ВиА должны быть равны 1, то есть соответствующие им высказывания истинны. Ответ: В первой аудитории находится кабинет физики, а во второй — кабинет информатики. 3.7. В процессе составления расписания уроков учителя высказали свои пожелания. Учитель математики высказал пожелание проводить первый или второй урок, учитель информатики — первый и третий, а учитель физики — второй или третий урок. Сколько существует возможных вариантов расписания и каковы они? 3.7. Логические основы устройства компьютера 3.7.1. Базовые логические элементы Базовые логические элементы реализуют рассмотренные выше три основные логические операции: • логический элемент «И» — логическое умножение; • логический элемент «ИЛИ» — логическое сложение; • логический элемент «НЕ» — инверсию. Поскольку любая логическая операция может быть представлена в виде комбинации трех основных, любые устройства компьютера, производящие обработку или хранение информации, могут быть собраны из базовых логических элементов, как из «кирпичиков». Логические элементы компьютера оперируют с сигналами, представляющими собой электрические импульсы. Есть импульс — логический смысл сигнала — 1, нет импульса — 0. На входы логического элемента поступают сигналы-значения аргументов, на выходе появляется сигнал-значение функции. Основы логики и логические основы компьютера 141 Преобразование сигнала логическим элементом задается таблицей состояния, которая фактически является таблицей истинности, соответствующей логической функции. Логический элемент «И». На входы А и Б логического элемента (рис. 3.1) подаются два сигнала (00, 01, 10 или 11). На выходе получается сигнал 0 или 1 в соответствии с таблицей истинности операции логического умножения. Рис. 3.1 Логический элемент «И» А (0,0,1,1) В (0,1,0,1) F (0,0,0,1) Логический элемент «ИЛИ». На входы А и В логического элемента (рис. 3.2) подаются два сигнала (00, 01, 10 или 11). На выходе получается сигнал 0 или 1 в соответствии с таблицей истинности операции логического сложения. Рис. 3.2 Логический элемент «ИЛИ» А(0,0,1,1) В (0,1,0,1) ^'(0,1,1,!) Логический элемент «НЕ». На вход А логического элемента (рис. 3.3) подается сигнал 0 или 1. На выходе получается сигнал о или 1 в соответствии с таблицей истинности инверсии. Рис. 3.3 Логический элемент «НЕ» А (0,1) НЕ F (1,0) 3.7.2. Сумматор двоичных чисел в целях максимального упрощения работы компьютера все многообразие математических операций в процессоре сводится к сложению двоичных чисел. Поэтому главной частью процессора являются сумматоры, которые как раз и обеспечивают такое сложение. Полусумматор. Вспомним, что при сложении двоичных чисел в каждом разряде образуется сумма и при этом возможен перенос в старший разряд. Введем обозначения слагаемых (А, Б), переноса (Р) и суммы (S). Таблица сложения од- 142 Глава 3 поразрядных ДВОИЧНЫХ чисел с учетом переноса в старшин разряд выглядит следующим образом: Слагаемые Перенос Сумма 1 А В Р S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Из этой таблицы сразу видно, что перенос можно реализовать с помощью операции логического умножения: Р =А& В. Получим теперь формулу для вычисления суммы. Значения суммы близки к результату операции логического сложения (кроме случая, когда на входы подаются две единицы, а на выходе должен получиться нуль). Нужный результат достигается, если результат логического сложения умножить на инвертированный перенос. Таким образом, для определения суммы можно применить следующее логическое выражение: S == (А V В) & (А & В). Построим таблицу истинности для данного логического выражения и убедимся в правильности нашего предположения (табл. 3.11). Таблица 3.11. Таблица истинности логической функции ' F= (AvB)&iA&B) А В AvB А&В А&В (AvS)&(a&b; 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 Теперь на основе полученных логических выражений можно построить из базовых логических элементов схему сложения одноразрядных двоичных чисел. По логической формуле переноса легко определить, что для получения переноса необходимо использовать логический элемент «И». Анализ логической формулы для суммы показывает, что на выходе должен стоять элемент логического умножения Основы логики и логические основы компьютера 143 «И», который имеет два входа. На один из входов надо подать результат логического сложения исходных величин Ал В, то есть на него должен подаваться сигнал с элемента логического сложения «ИЛИ». На второй вход требуется подать результат инвертированного логического умножения исходных сигналов (А & В), то есть на второй вход должен подаваться сигнал с элемента «НЕ», на вход которого должен поступать сигнал с элемента логического умножения «И» (рис. 3.4). И А&В А&В ИЛИ > НЕ А&В А\/В И --------► Рис. 3.4. Полусумматор двоичных чисел Данная схема называется полусумматором, так как реализует суммирование одноразрядных двоичных чисел без учета переноса из младшего разряда. Полный одноразрядный сумматор. Полный одноразрядный сумматор должен иметь три входа: А, В — слагаемые и Pq - перенос из младшего разряда и два выхода: сумму S и перенос Р. Таблица сложения в этом случае будет иметь следующий вид: Слагаемые Перенос из младшего разряда Перенос Сумма А В Ро Р S 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 144 Глава 3 Идея построения полного сумматора точно такая же, как и полусумматора. Из таблицы сложения видно, что перенос (логическая переменная Р) принимает значение 1 тогда, когда хотя бы две входные логические переменные одновременно принимают значение 1. Таким образом, перенос реализуется путем логического сложения результатов попарного логического умножения входных переменных (А, В, Pq). Формула переноса получает следующий вид: Р = (А & В) V (А & Ро) V (В & Ро). Для получения значения суммы (логическая переменная В) необходимо результат логического сложения входных пе-рем^ных (А, В, Pq) умножить на инвертированный перенос Р: В = (А V В V Ро) & Р. Данное логическое выражение дает правильные значения суммы во всех случаях, кроме одного, когда на все входные логические переменные принимают значение 1. Действительно: Р = (1 & 1) V (1 & V (1 & 1) = 1; S = (lvlvl)&P = l& 0 = 0. Для получения правильного значения суммы (для данного случая переменная В должна принимать значение 1) необходимо сложить полученное выше выражение для суммы с результатом логического умножения входных переменных (А, В, Pq). в результате логическое выражение для вычисления суммы в полном сумматоре принимает следующий вид: В = (А V В V Ро) & Ро V (А & В & Ро). Многоразрядный сумматор. Многоразрядный сумматор процессора состоит из полных одноразрядных сумматоров. На каждый разряд ставится одноразрядный сумматор, при-' чем выход (перенос) сумматора младшего разряда подключается ко входу сумматора старшего разряда. 3.7.3. Триггер Важнейшей структурной единицей оперативной памяти компьютера, а также внутренних регистров процессора является триггер. Это устройство позволяет запоминать, хранить и считывать информацию (каждый триггер может хранить 1 бит информации). Триггер можно построить из двух логических элементов «ИЛИ» и двух элементов «НЕ» (рис. 3.5). Основы логики н логические основы компьютера 145 Рис. 3.5 Триггер В обычном состоянии на входы триггера подан сигнал О, и триггер хранит 0. Для записи 1 на вход S (установочный) подается сигнал 1. Последовательно рассмотрев прохождение сигнала по схеме, видим, что триггер переходит в это состояние и будет устойчиво находиться в нем и после того, как сигнал на входе S исчезнет. Триггер запомнил 1, то есть с выхода триггера Q можно считать 1. Для того чтобы сбросить информацию и подготовиться к приему новой, подается сигнал 1 на вход Л (сброс), после чего триггер возвратится к исходному «нулевому» состоянию. 3.8. Построить таблицы истинности для логических формул, по которым определяются перенос и сумма полного одноразрядного сумматора. 3.9. Построить схему полного сумматора одноразрядных двоичных чисел с учетом переноса из младшего разряда. 3.10. Проследить по логической схеме триггера, что происходит после поступления сигнала 1 на вход В (сброс). Глава 4____________________ Основы алгоритмизации и объектно-ориентированного программирования 4.1. Алгоритм и его формальное исполнение Алгоритм и его свойства. Алгоритмы могут описывать процессы преобразования самых разных объектов. Широкое распространение получили вычислительные алгоритмы, которые описывают преобразование числовых данных. Само слово «anrqpHTM» происходит от algorithmi — латинской формы написания имени выдающегося математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических операций. Алгоритм - это строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд. Выберем в качестве объекта текст и построим алгоритм, описывающий процесс его редактирования. Для того чтобы изменить состояние объекта (значения его свойств), необходимо выполнить над ним определенную последовательность действий (операций). Выполняющий такие операции объект называется исполнителем. Исполнителем редактирования текста может быть человек, компьютер и др. Алгоритмы состоят из отдельных команд, которые исполнитель выполняет одну за другой в определенной последовательности. Разделение информационного процесса в алго- Основы алгоритмизации и программирования 147 ритме на отдельные команды является важным свойством алгоритма и называется дискретностью. Процесс преобразования текста необходимо разбить на отдельные операции, которые должны быть записаны в виде отдельных команд исполнителю. Каждый исполнитель обладает определенным набором, системой команд, которые он может выполнить. Алгоритм должен быть понятен исполнителю, то есть должен содержать только те команды, которые входят в систему его команд. В процессе редактирования текста возможны различные операции; удаление, копирование, перемещение или замена его фрагментов. Исполнитель редактирования текста должен быть в состоянии выполнить эти операции. Запись алгоритма должна быть такова, чтобы, выполнив очередную команду, исполнитель точно знал, какую команду необходимо исполнять следующей. Это свойство алгоритма называется детерминированностью. Должны быть определены начальное состояние объекта и его конечное состояние (цель преобразования). Алгоритм должен обеспечивать преобразование объекта из начального состояния в конечное за конечное число шагов. Такое свойство алгоритма называется результативностью. Следовательно, для текста необходимо задать начальную последовательность символов и конечную последовательность, которая должна быть получена после редактирования. формальное выполнение алгоритма. Алгоритм позволяет формализовать выполнение информационного процесса. Если исполнителем является человек, то он может выполнять алгоритм формально, не вникая в содержание поставленной задачи, а только строго выполняя последовательность действий, предусмотренную алгоритмом. Рассмотрим работу пользователя, например, в среде текстового редактора Word. Word предоставляет пользователю возможность работы в мире своих объектов, которыми являются документ, фрагмент документа, символ и так далее. Предположим, что пользователю необходимо провести редактирование текста. Пусть у нас есть объект — фрагмент. Надо перевести его из исходного состояния (содержание фрагмента — текст «информационная модель», курсор находится перед первым символом) в конечное состояние (текст «модель информационная», курсор находится после последнего символа) — рис. 4.1. 148 Глава 4 { 31 Реаактиро*(1ни».С1ос ШШ] : 1 : 2 : 3 . - ш — |информацнонная модель — ,1.213.= 1 1 модель информационна^ Рис. 4.1. Начальное и конечное состояния объекта Необходимую для реализации такого преобразования последовательность действий, то есть алгоритм, запишем на естественном языке, который понятен пользователю компьютера: 1. Выделить слово «информационная» + пробел. 2. Вырезать этот фрагмент и поместить его в буфер обмена. 3. Установить курсор на позицию после слова «модель» + пробел. 4. Вставить вырезанный фрагмент текста. Каждая команда алгоритма должна однозначно определять действие исполнителя, для этого необходимо формализовать запись алгоритма и заменить содержательную модель текста на его формальную модель. Формальная модель представляет текст делящимся на страницы, состоящие из определенного количество строк, которые, в свою очередь, включают определенное количество знакомест (символов). Наш текст состоит из одной страницы, которая содержит одну строку. Команде Выделить слово «информационная» + пробел на формальном языке соответствует команда Выделить символы с 1 по 15, а команде Установить курсор после слова «модель» + пробел соответствует команда Установить курсор после 7-го символа. 1. Выделить символы с 1 по 15. 2. Вырезать этот фрагмент и поместить его в буфер обмена. 3. Установить курсор на позицию после 7-го символа. 4. Вставить вырезанный фрагмент текста. Теперь этот алгоритм «Редактирование» пользователь может выполнять формально. В процессе выполнения алгоритма на компьютере пользователь будет выполнять команды алгоритма с помощью клавиатуры и мыши. Фактически же пользователь будет давать команды объектам программной среды Windows&Office, которые будут действительными исполнителями алгоритма. Основы алгоритмизации и программирования 149 Компьютер — автоматический исполнитель алгоритмов. Представление информационного процесса в форме алгоритма позволяет поручить его автоматическое исполнение различным техническим устройствам, среди которых особое место занимает компьютер. При этом говорят, что компьютер исполняет программу (последовательность команд), реализующую алгоритм. О Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Развитие языков программирования. Информацию в компьютере обрабатывает процессор, следовательно, алгоритм должен быть записан на языке, «понятном» для процессора, то есть на машинном языке, представляющем собой логические последовательности нулей и единиц. На заре компьютерной эры, в 50-е годы XX века, программы писались на машинном языке и представляли собой очень длинные последовательности нулей и единиц. Составление и отладка таких программ было чрезвычайно трудоемким делом. В 60-70-е годы для облегчения труда программистов начали создаваться языки программирования высокого уровня, формальные языки, кодирующие алгоритмы в привычном для человека виде (в виде предложений). Такие языки программирования строились на основе использования определенного алфавита и строгих правил построения предложений (синтаксиса). Наиболее широко распространенным типом языков программирования высокого уровня являются процедурные языки. В таких языках широко используются управляющие конструкции (операторы), которые позволяют закодировать различные алгоритмические структуры (линейную, ветвление, цикл). Одним из первых процедурных языков программирования был известный всем Бейсик (Basic), созданный в 1964 году. В течение последующего времени Бейсик развивался, появлялись его различные версии (MSX-Basic, Бейсик-Агат, QBasic и др.). Другим широко распространенным языком программирования алгоритмического типа является Pascal. 150 Глава 4 В настоящее время наибольшей популярностью пользуются системы объектно-ориентированного визуального программирования Microsoft Visual Basic и Borland Delphi. Для создания приложений в среде Windows&OfFice используется язык программирования Visual Basic for Applications (VBA). Вопросы для размышления 1. Какие из нижеперечисленных правил являются алгоритмами? Ответ обоснуйте: • орфографические правила; • правила выполнения арифметических операций; • правила техники безопасности; • правила перевода чисел из одной системы счисления в другую. 2. В чем состоит различие между естественными языками и языками программирования? Задания 4.1. Составьте алгоритм преобразования слова «информатика» в слово «форма». 4.2. Основные типы алгоритмических структур 4.2.1. Линейный алгоритм Существует большое количество алгоритмов (например, рассмотренный выше алгоритм «Редактирование»), в которых команды должны быть выполнены последовательно одна за другой. Такие последовательности команд будем называть сериями, а алгоритмы, состоящие из таких серий, линейными. а Алгоритм, в котором команды выполняются последовательно одна за другой, называется линейным алгоритмом. Основы алгоритмизации и программирования 151 f Начало ) г~ Для того чтобы сделать алгоритм более наглядным, часто используют блок-схемы. Различные элементы алгоритма изображаются с помощью различных геометрических фигур: для обозначения начала и конца алгоритма используются прямоугольники с закругленными углами, а для обозначения последовательности команд — прямоугольники (рис. 4.2). На блок-схеме хорошо видна структура линейного алгоритма, по которой исполнителю (человеку) удобно отслеживать процесс его выполнения. Команда 1 Команда 2 Команда N ^ Конец ^ Рис. 4.2. Линейный алгоритм 4.2.2. Алгоритмическая структура «ветвление» в отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в алгоритмическую структуру «ветвление» входит условие, в зависимости от выполнения или невыполнения которого реализуется та или иная последовательность команд (серия). В алгоритмической структуре «ветвление» та или иная серия команд выполняется в зависимости от истинности условия. Будем называть условием высказывание, которое может быть либо истинным, либо ложным. Условие, записанное на формЕшьном языке, называется условным или логическим выражением. Условные выражения могут быть простыми и сложными. Простое условие включает в себя два числа, две переменных или два арифметических выражения, которые сравниваются между собой с использованием операций сравнения (равно, больше, меньше и пр.). Например: 5>3, 2*8=4*4 и т. д. Сложное условие — это последовательность простых условий, объединенных между собой знаками логических операций. Например, 5>3 And 2*8=4*4. Алгоритмическая структура «ветвление» может быть зафиксирована различными способами: • графически, с помощью блок-схемы; 152 Глава 4 • на языке программирования, например на языках Visual Basic и VBA с использованием специальной инструкции ветвления (оператора условного перехода). После первого ключевого слова (If) должно быть размещено условие. После второго ключевого слова (Then) последовательность команд (серия 1), которая должна выполняться, если условие принимает значение «истина». После третьего ключевого слова (Else) размещается последовательность команд (серия 2), которая должна выполняться, если условие принимает значение «ложь» (рис. 4.3). Блок-схема Языки программирования Visual Basic и VBA If Условие Then Серия 1 [Else Серия 2] End If If Условие _ Then Серия 1 _ [Else Серия 2] Рис. 4.3. Алгоритмическая структура «ветвление» Оператор условного перехода может быть записан в многострочной форме или в однострочной форме. В многострочной форме он записывается с помощью инструкции If . . . Then . . . Else . . . End If (Если ... To ... Иначе ... Конец Если). В этом случае ключевое слово Then размещается на той же строчке, что и условие, а последовательность команд (серия 1) — на следующей. Третье ключевое слово Else размещается на третьей строчке, а последовательность команд (серия 2) — на четвертой. Конец инструкции ветвления End If размещается на пятой строчке. В однострочной форме он записывается с помощью инструкции If . . . Then . . . Else . . . (Если ... То ... Иначе ...). Если инструкция не помещается на одной строке, она может быть разбита на несколько строк. Такое представление инструкций более наглядно для человека. Компьютер же должен знать, что разбитая на строки инструкция представляет единое целое. Это обеспечивает знак «переноса», который задается символом подчеркивания после пробела « ». Основы алгоритмизации и программирования 153 Третье ключевое слово Else в сокращенной форме инструкции может отсутствовать. (Необязательные части оператора записываются в квадратных скобках — см. табл. 4.3.) Тогда, в случае если условие ложно, выполнение оператора условного перехода заканчивается и выполняется следующая строка программы. 4.2.3. Алгоритмическая структура «выбор» Алгоритмическая структура «выбор* применяется для реализации ветвления со многими вариантами серий команд. В структуру выбора входят несколько условий, проверка которых осуществляется в строгой последовательности их записи в команде выбора. При истинности одного из условий выполняется соответствующая последовательность команд. 4Х в алгоритмической структуре «выбор» выполняется одна из нескольких последовательностей команд при истинности соответствующего условия. На языках программирования Visual Basic и VBA инструкция выбора начинается с ключевых слов Select Case, после которых записывается выражение (переменная, арифметическое выражение и так далее). После ключевых слов Case заданное выражение сравнивается с определенными значениями — записываются условия, при истинности одного из которых начинает выполняться серия команд. Заканчивается инструкция ключевыми словами End Select (рис. 4.4). Рис. 4.4. Алгоритмическая структура «выбор» 154 Глава 4 4.2.4. Алгоритмическая структура «цикл» в алгоритмическую структуру «цикл» входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла. Циклические алгоритмические структуры бывают двух типов: • циклы со счетчиком, в которых тело цикла выполняется определенное количество раз; • циклы с условием, в которых тело цикла выполняется, пока условие истинно. В алгоритмической структуре «цикл» серия команд (тело цикла) выполняется многократно. Алгоритмическая структура «цикл» может быть зафиксирована различными способами: • графически — с помощью блок-схемы; • на языке программирования, например на языках Visual Basic и VBA с использованием специальных инструкций, реализующих циклы различного типа. Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией (оператором цикла со счетчиком) For . . . Next (рис. 4.5). Блок-схема Языки программирования Visual Basic и VBA Счетчик X Тело цикла Г For Счетчик=НачЗнач То КонЗнач [Step шаг] Тело цикла Next [Счетчик] Рис. 4.5. Цикл со счетчиком Синтаксис оператора For . . . Next следующий: строка, начинающаяся с ключевого слова For, является заголовком цикла, а строка с ключевым словом Next — концом цикла, между ними располагаются операторы, являющиеся телом цикла. Основы алгоритмизации и программирования 155 В начале выполнения цикла значение переменной Счетчик устанавливается равным НачЗнач. При каждом проходе цикла переменная Счетчик увеличивается на величину шага. Если она достигает величины, большей КонЗнач, то цикл завершается и выполняются следующие за ним операторы. Циклы с условием. Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такой цикл реализуется с помощью инструкции Do ... Loop. Условие выхода из цикла можно поставить в начале, перед телом цикла. Такой цикл называется циклом с предусловием (рис. 4.6). Проверка условия выхода из цикла проводится с помощью ключевых слов While или Until. Эти слова придают одному и тому же условию противоположный смысл. Ключевое слово While обеспечивает выполнение цикла, пока выполняется условие, то есть пока условие имеет значение «истина». Как только условие примет значение «ложь», выполнение цикла закончится. В этом случае условие является условием продолжения цикла. Блок-схема Языки программирования Visual Basic и VBA Do While Условие Тело цикла Loop Do Until Условие Тело цикла Loop____________ Рис. 4.6. Цикл с предусловием Ключевое слово Until обеспечивает выполнение цикла, пока не выполняется условие, то есть пока условие имеет значение «ложь». Как только условие примет значение «истина», выполнение цикла закончится. В этом случае условие является условием завершения цикла. Условие выхода из цикла можно поставить в конце, после тела цикла. Такой цикл называется циклом с постусловием. Этот цикл реализуется также с помощью инструкции Do . . . Loop (рис. 4.7). 156 Глава 4 Блок-схема Языки программирования Visual Basic и VBA Do Тело цикла Loop Nhile Условие Do Тело цикла Loop Until Условие Рис. 4.7. Цикл с постусловием Проверка условия выхода из цикла проводится с помощью ключевых слов While или Until. Цикл с постусловием, в отличие от цикла с предусловием, выполняется обязательно как минимум один раз, независимо от того, выполняется условие или нет. Вопросы для размышления 1. Какой тип алгоритмической структуры необходимо применить, если: • последовательность команд должна быть выполнена определенное количество раз; • последовательность команд выполняется или не выполняется в зависимости от условия; • последовательность команд должна быть обязательно выполнена хотя бы один раз и должна повторяться до тех пор, пока условие справедливо? 3 а *н и я 4.2. Составьте и зафиксируйте в форме блок-схемы и на языке программирования алгоритм выбора большего из двух чисел. 4.3. Составьте и зафиксируйте в форме блок-схемы и на языке программирования алгоритм вычисления факториала числа. Основы алгоритмизации и программирования 157 4.3. Основы объектно-ориентированного визуального программирования Приложения на языках объектно-ориентированного программирования Visual Basic и Visual Basic for Applications строятся из объектов, подобно тому, как из блоков и различных деталей строятся дома. Программные библиотеки готовых объектов входят в эти системы программирования, причем языки Visual Basic и VBA различаются между собой, главным образом, составом программных библиотек. Системы объектно-ориентированного программирования дают возможность визуализировать процесс создания графического интерфейса разрабатываемого приложения, то есть позволяют создавать объекты и задавать значения их свойств с помощью диалоговых окон системы программирования. Взаимодействие программных объектов между собой и их изменения описываются с помощью программного кода. Создание программного кода в объектно-ориентированном программировании базируется на использовании алгоритмических структур различных типов (линейной, ветвления, цикла), исполнителями которых выступают программные объекты. 4.3.1. Классы объектов, экземпляры класса и семейства объектов Основной единицей в объектно-ориентированном программировании является программный объект, который объединяет в себе как описывающие его данные (свойства), так и средства обработки этих данных (методы). Если говорить образно, то объекты — это «существительные», свойства объекта — это «прилагательные», а методы объекта — это «глаголы». Программные объекты обладают свойствами, могут использовать методы и реагируют на события. Классы объектов. Классы объектов являются «шаблонами», определяющими наборы свойств, методов и событий. По этим шаблонам создаются объекты. В языке Visual Basic основными являются классы объектов, реализующие графический интерфейс приложения,. В языке VBA еще используются более ста различных классов объектов, которые существуют в среде Windows&Office. В обоих языках существуют возможности подключения дополнительных библиотек про- 158 Глава 4 граммных объектов, а также создания новых классов объектов самим программистом. Каждый из классов обладает специфическим набором свойств, методов и событий. Например, в приложении Word существует класс объектов ^документ* (Document), который обладает определенными наборами: • свойств: имя (Name), полное имя (FullName) и так далее; • методов: открыть документ (Open), напечатать документ (Printout), сохранить документ (Save) и так далее; • событий: открытие документа (Document New ()), закрытие документа (Document_Close ()) и так далее. Экземпляры класса. Объект, созданный по «шаблону» класса объектов, является экземпляром класса и наследует весь набор свойств, методов и событий данного класса. Каждый экземпляр класса имеет уникальное для данного класса имя, которое указывается в скобках после названия класса, например: Document("npo6a.doc") Различные экземпляры класса обладают одинаковым набором свойств, однако значения свойств у них могут отличаться. Так, в приложении Word могут быть открыты несколько документов, экземпляров класса Document, которые имеют различные имена, хранятся в различных каталогах и так далее. В табл. 4.1 приведены значения некоторых свойств двух экземпляров класса Document: Document("npo6a.doc"), который хранится в каталоге Документы на диске С:, и Document ("ripo6a.txt"), который хранится в корневом каталоге этого диска. Таблица 4.1. Некоторые свойства экземпляров класса Document Имя объекта Свойства объекта и их значения ! FullName (полное ИМЯ) Path (путь) Droba.doc С:\Документы\ргоЬа.doc С;\Документы\ proba.txt С:\proba.txt С:\ Семейства объектов. Семейство объектов представляет собой объект, содержащий несколько объектов, экземпляров одного класса. Например, все открытые в текущий момент в приложении Word документы образуют семейство, которое обозначается следующим образом: Documents() Основы алгоритмизации и программирования 159 Обращение к объекту, входящему в семейство, производится по его имени или индексу. Например, обращение к документу производится по его имени: Documents("Проба.doc") Все символы, входящие в выделенный фрагмент документа (объект Selection) входят в семейство Characters () . Обращение к символу производится по его индексу, например: Characters(7) Вопросы д: мышления 1. Чем различаются понятия «класс объектов», «экземпляр класса» и «семейство объектов»? 2. Как вы думаете, какие классы объектов существуют в приложении Word? В приложении Excel? 4.3.2. Объекты: свойства, методы, события Свойства объектов (Properties). Каждый объект обладает определенным набором свойств, первоначальные значения которых можно установить с использованием диалогового окна системы программирования. Значения свойств объектов можно изменять в программном коде. Для присвоения свойству объекта нового значения в левой части строки программного кода необходимо указать имя объекта и затем название свойства, которые в соответствии с правилами точечной нотации разделяются между собой точкой. В правой части строки (после знака равенства) необходимо записать конкретное значение свойства: а Объект.Свойство = ЗначениеСвойства Например, установим в выделенном фрагменте текста (объект Selection) для первого символа (объект Characters (1)) начертание полужирный (свойство Bold). Свойство Bold "может быть установлено (значение True свойства) или не установлено (значение False свойства). Значения True и False являются ключевыми словами языка и поэтому выделяются полужирным начертанием. 160 Глава 4 Присвоим свойству Bold значение True: Selection.Characters (1) .Bold = True Объект обычно имеет несколько свойств. С помощью инструкции With . . . End With можно задать значения сразу нескольких свойств объекта. Синтаксис установки значения нескольких свойств объекта: With объект .Свойство! = ЗначениеСвойства! .Свойство2 = ЗначениеСвойства2 .Свойством = ЗначениеСвойстваМ End With Например, для придания выделенному фрагменту текста, состоящему из 10 символов, начертания «полужирный курсив» можно использовать следующий программный код: For I = 1 То 10 With Selection.Characters(I) .Bold = True .Italic = True End With Next I Методы объектов (Methods). Для того чтобы объект выполнил какую-либо операцию, необходимо применить метод, которым он обладает. Многие методы имеют аргументы, которые позволяют задать параметры выполняемых действий. Для присваивания аргументам конкретных значений используется двоеточие и знак равенства, а друг от друга аргументы отделяются запятой. Обратиться к методу объекта можно так же, как и к свойству объекта, с использованием точечной нотации. Чтобы определить, для какого объекта вызывается метод, перед именем метода указывается имя объекта, отделенное точкой: Объект.Метод арг1:=значение, арг2:=значение Так, сохранение на диске открытого в приложении Word документа реализуется методом Save, без аргументов: Documents("npo6a.doc").Save Операция открытия в приложении Word документа Про-6a.doc должна содержать не только название метода Open, но Основы алгоритмизации и программирования 161 И указание пути к открываемому файлу (аргументу FileName метода Open необходимо присвоить конкретное значение): Documents О .Open FileName:="С:\Документы\Проба.doc" Печать трех первых страниц документа npo6a.doc реализуется с помощью метода Printout с несколькими аргументами. В этом случае необходимо задать значения аргументов Range (задает формат диапазона печати). From и То (задают номера начальной и конечной страниц печати)-. Documents("Проба.doc").Printout _ Range:=wdPrintFromTo, From:="1",To:="3" События (Events). Событие представляет собой действие, распознаваемое объектом. Событие может создаваться пользователем (например, щелчок мышью или нажатие клавиши) или быть результатом воздействия других программных объектов. В качестве реакции на события вызывается определенная процедура, которая может изменять значения свойств объекта, вызывать его методы и так далее. Например, объект Document (Документ) реагирует на события Open (Открытие), New (Создание) и Close (Закрытие), а объект Selection (Выделенный фрагмент документа) реагирует на события Cut (Вырезка), Сору (Копирование), Paste (Вставка), Delete (Удаление) и так далее. Вопросы для размышления 1. Можно ли в заданном программном объекте изменить: набор свойств? Набор методов? Набор событий? Значения свойств? 2. Каким образом можно изменить значения свойств программного объекта? Зад 4.4. Составьте фрагмент программы, которая открывает документ, печатает его и сохраняет на диске. 4.5. Составьте фрагмент программы, которая в выделенном фрагменте текста (например, включающем 10 символов), буквам «а» задает начертание полужирный, а всем остальным символам - начертание курсив. 6—2645 162 Глава 4 4.3.3. Графический интерфейс и событийные процедуры Графический интерфейс. Графический интерфейс необходим для реализации интерактивного диалога пользователя с работающим приложением. Основой для создания графического интерфейса разрабатываемого приложения являются форма (в Visual Basic — класс объектов Form, в VBA — класс объектов UserForm), представляющая собой окно, в котором размещаются управляющие элементы. Необходимо отметить, что графический интерфейс проекта может включать в себя несколько форм. Форма - это объект, представляющий собой окно на экране, в котором размещаются управляющие элементы. Визуальное конструирование графического интерфейса приложения состоит в том, что на форму с помощью мыши помещаются и «рисуются» те или иные управляющие элементы. Классы управляющих элементов (Controls) имеют различное назначение в графическом интерфейсе приложения. Текстовые поля (TextBox), метки (^Label) и списки (ListBox) обычно используются для ввода и вывода данных, графические окна (PictureBox) — для вывода графики, командные кнопки (CommandButton), переключатели (CheckBox) и флажки (OptionsButton) — для организации диалога и так далее. На форму может быть помещено несколько экземпляров одного класса управляющих элементов, например, несколько кнопок Commandl, Command2, Commands и так далее, каждая из которых обладает индивидуальными значениями свойств (надпись, размеры и др.). Управляющие элементы - это объекты, являющиеся элементами графического интерфейса приложения и реагирующие на события, производимые пользователем или программными объектами. Форма и управляющие элементы обладают определенными наборами свойств, методов и событий (табл. 4.2). Основы алгоритмизации и программирования 163 Таблица 4.2. Некоторые классы объектов, их свойства, методы и события Класс объектов Свойства Методы События Form (форма) UserForm (форма) Name (Имя) Caption (Надпись) Font (Шрифт) Height (Высота) Width (Ширина) Show (Показать) Move (Переместить) Load (Загрузка) CommandButton (командная кнопка) Name (Имя) Caption (Надпись) Font (Шрифт) Height (Высота) Width (Ширина) Move (Переместить) Click (Ш^елчок) TextBox (текстовое поле) Name (Имя) Text (Текст) Font (Шрифт) Height (Высота) Width (Ширина) Move (Переместить) DblClick {Двойной щелчок) Соглашение об именах объектов. Целесообразно объектам проекта присваивать имена, которые дают возможность распознать их тип и назначение. Принято, что имя начинается с префикса, который определяет тип объекта. Для форм принят префикс f rm, для командных кнопок — cmd, текстовых полей — txt, для надписей — 1Ы и так далее. После префикса идет информативная часть имени, которая пишется с прописной буквы (например, frmFirst, IblText, cmdExit) или содержит число (например, txtl, txt2, txtS). Событийные процедуры. Для каждого события можно запрограммировать отклик, то есть реакцию объекта на произошедшее событие. Если пользователь производит какое-либо воздействие на элемент графического интерфейса (например, щелчок), в качестве отклика выполняется некоторая последовательность действий (событийная процедура). Имя процедуры включает в себя имя объекта и имя события. Объект Событие() Событийная процедура представляет собой подпрограмму, которая начинает выполняться после реализации определенного события. 164 Глава 4 В событийной процедуре может участвовать несколько объектов. Например, само событие происходит с первым объектом (Объект!), в результате второй (0бъект2) изменяет значение своего свойства, а третий (ОбъектЗ) реализует какой-либо метод и так далее. Каждая процедура представляет собой отдельный программный модуль, который реализует определенный алгоритм. В терминологии процедурного программирования такие процедуры соответствуют подпрограммам, поэтому каждая из событийных процедур начинается с ключевого слова Sub (subroutine — подпрограмма) и заканчивается ключевыми словами End Sub: Sub Объект(1)_Событие() Объект (2) .Свойство = ЗначениеСвойства Объект(3).Метод арг1:=знач, арг2:=знач End Sub Вопросы для^размышления 1. Какие объекты целесообразно использовать при конструировании графического интерфейса проекта, если необходимо; вводить и выводить данные? Выводить надписи? 2. Могут ли в событийной процедуре объекта изменяться его свойства и применяться его методы? 4.4. Интегрированная среда разработки языка Visual Basic Установить систему программирования Visual Basic 5.0 ССЕ CD-ROM Интегрированная среда разработки языка Visual Basic предоставляет пользователю удобный графический интерфейс в процессе разработки приложения. После запуска Visual Basic для начала работы над новым проектом необходимо ввести команду [File-New-Standart]. Основы алгоритмизации и программирования 165 Появится окно интегрированной среды разработки языка Visual Basic (рис. 4.8). Интегрированная среда разработки включает в себя: Строку заголовка, которая состоит из имени проекта Projectl, после которого через тире указана программная среда Microsoft Visual Basic. Далее, слово [design] означает текущий режим работы — проектирование. В режиме выполнения проекта текст в квадратных скобках заменяется на [run]. Кнопки управления окном расположены в правом углу строки. Под строкой заголовка расположена строка главного меню. Под строкой главного меню находятся кнопки с пиктограммами наиболее часто используемых команд. Рго1ес( 1 - Nferosott VKud Bask {dntgnl 3? a Vfesf 8.-^ ls idcf-lns Иф tsanarat} A P г 0 a ^ m Q Первый гроек т не йвыке \'jsije/Basic • Рго)л11 - frill! (Code) ^ [сП5Г pa 1Ы1 ml fnnl Print "Первый проект на яа>1ке Visual Basic" End Sub th) / 2(Screen Height - fral Heic^ (I4ame) Raure Ы name used г code Id tdantrty an object Рис. 4.8. Интегрированная среда разработки Visual Basic Окно Конструктор форм. Окно Конструктор форм (рис. 4.9) является основным рабочим окном и расположено в центре окна интегрированной среды разработки языка Visual Basic. По умолчанию проекту присваивается имя Projectl . Именно в этом окне происходит визуальное конструирование графического интерфейса разрабатываемого приложения. 166 Глава 4 I Первый npoesKT м языке Vmte/Веж .=ial*f *1 JCMi a 2 (Sccecn Height fntl Hei$^ №11 1 tr*l Pri t 'Гврьый проект ив iTMte Vlsue J 6eeje* Ц > 1 i I \ \ J.B Рис. 4.10. Окно Программный код В окне Конструктор форм располагается сама форма frml, которая является также объектом и принадлежит классу объектов Form. Размеры формы можно менять, перетаскивая мышью правую или нижнюю границу фор- мы. Рис. 4.9. Окно Конструктор форм Первоначально форма пуста, в дальнейшем, в процессе создания графического интерфейса приложения, на ней раз-мегцаются элементы управления. Окно Программный код. С формой связан программный модуль, содер-жагций программные коды процедур. Для ввода и редактирования текста программы служит окно Программный код (в данном случае Projectl-frml(Code) — рис. 4.10), которое вызывается командой [View-Code]. Сразу под строкой заголовка окна Программный код размещаются два раскрывающихся списка. Левый список содержит перечень объектов проекта (объектов, размещенных на форме), а правый — перечень событий, доступных для выбранного объекта. Панель инструментов. В левой части окна интегрированной среды разработки Visual Basic располагается Панель инструментов (Tool-Box), содержащая пиктограммы управляющих элементов (рис. 4.11). Стандартный набор управляющих элементов включает в себя 21 класс объектов: CommandButton (командная кнопка), TextBox (текстовое поле). Label (надпись) и т. д. Существует возможность дополнить панель инструментов новыми клас- сами управляющих элементов RichTextBox ------------- (усовершенствованное текстовое поле), Ima- 4^^ geList (список изображений) и др. Окно Панель инструментов General А !”1 щ R а- Л±1 Q Основы алгоритмизации и программирования 167 fippertes ■ fi ml 3 Выбрав щелчком мышью на Панели инструментов нужный элемент, мы можем поместить его на форму проектируемого приложения. Процесс размещения на форме управляющих элементов аналогичен рисованию графических примитивов с использованием графического редактора. Фактически мы размещаем на форме экземпляры определенных классов объектов. Например, выбрав класс Command-Button, мы можем разместить на форме неограниченное количество экземпляров этого класса, то есть командных кнопок Commandl, Command2, Commands и так далее. Окно Свойства объекта. Справа располагается окно Свойства объекта (Properties) — рис. 4.12. Окно содержит список объектов и список свойств, относящихся к выбранному объекту (форме или управляющему элементу на форме). На рисунке выбран объект frml класса Form. Список свойств разделен на две колонки. В левой находятся имена свойств, в правой — их значения. Установленные по умолчанию значения могут быть изменены. Свойством объекта является количественная или качественная характеристика этого объекта (размеры, цвет, шрифт и др.). Для некоторых свойств предусмотрена возможность выбора значений из раскрывающегося списка, например, из списка можно выбрать значение цвета фона формы (свойства BackColor). Окно Просмотр объектов. Еще одно важнейшее окно — окно Просмотр объектов (Object Browser) может быть вызвано командой [View-Object Browser] — рис. 4.13. В левой колонке окна производится выбор объекта или класса объектов. В данном случае выбран класс объектов Form. frml Form Alphabetic | 3 Categorized | (Name) Appearance 1 - 30 p AutDRedraw False BackColor П &H0080FF._ BorderStyie 2 - Sizable Caption Первый npo€ ClipControls True ControlBox True DrawMode 13 - Copy Pei DrawStyle 0 - Solid DrawWdth 1 Enabled True FillColor ■ анооооос ▼ j Рис. 4.12. Окно Свойства объекта , Ohi^rt RrnwsRr 1Д] ■^uJJMdJ ?J “3 йШ Classes F I StyleCopstant ■*> j sS* BackColor •eRn^cial__ iSSI[Fom]____ ^ F©nn1 jd® FormArrangeCor xP FormBorderStyle tP FormShowCons ▼ | Members of Form sff BorderStyie iSf Caption ^ Circle f Я1ЯИ d? Cl pControls <^CIs d Event ClickO Member of Г orm Occurs wben the user presses end ihen reteesee 8 mouse butten over an ob|ecf fj Рис. 4.13. Окно Просмотр объектов 168 Глава 4 П И D Й? Projectl (prjVBl.VBP) а ^ Forms й frml (frmVBl.frm) Рис. 4.14. Окно Проводник проекта В правой колонке появляется перечень свойств, методов и событий выбранного объекта или класса объектов. Во фрагмент списка, показанный в окне, входят, например, свойство Caption, метод Circle и событие Click. Выбрав элемент списка (например, событие Click), можно получить о нем краткую информацию, которая появляется в нижней части окна. Окно Проводник проекта. Окно Проводник проекта (Project) располагается в верхнем правом углу (рис. 4.14). Оно отображает в виде иерархического каталога все составные части текущего проекта (в данном случае Projectl) и позволяет переключаться между ними (по форме и по функциям оно аналогично окну Проводник Windows). Проект хранится в файле с расп1ирением vbp (в данном случае в файле prjVBI vbp). Кроме того, входящие в проект формы хранятся в отдельных файлах с расширением frm (в данном случае форма, входящая в состав проекта, хранится в файле frmVBl.frm). Окно Расположение формы. В нижнем правом углу находится окно Расположение формы {Form Layout) — рис. 4.15. Оно показывает, где будет располагаться окно формы на экране монитора в период выполнения программы. Положение формы можно изменять перетаскивани- ^ .jg qkho ем мышью. Расположение формы Точное местоположение и размеры формы отображаются двумя парами чисел в правой части линейки инструментов окна приложения (рис. 4.16). Ё? • 'о • 1^ В С? в ^ '5? +-2850,3540 il1 4800 x 3600 Рис. 4.16. Линейка инструментов Первая пара чисел показывает расстояние от левого верхнего угла монитора до левого верхнего угла формы, а вторая пара — это размеры формы (ширина и высота). Размеры Основы алгоритмизации и программирования 169 отображаются в особых единицах — твипах (один твип равен примерно 0,018 мм). Если необходимо задать точные значения местоположения и размеров формы, то это можно сделать, установив значения свойств формы Left (расстояние по горизонтали от левого верхнего угла монитора до верхнего левого угла формы), Тор (расстояние по вертикали от левого верхнего угла монитора до верхнего левого угла формы). Width (ширина формы) и Height (высота формы). Расположение вышеперечисленных окон на рабочем столе интегрированной среды разработки, а также их размеры можно изменять с помощью мыши или команд меню View (Просмотр). Этапы разработки приложения. Создание приложения в среде Visual Basic можно условно разделить на несколько этапов: 1. Создание графического интерфейса будущего приложения. В окне Конструктор форм на форму помещаются управляющие элементы, которые должны обеспечить взаимодействие приложения с пользователем. 2. Задание значений свойств объектов графического интерфейса. С помощью окна Свойства объекта задаются значения свойств управляющих элементов, помещенных ранее на форму. 3. Создание программного кода. В окне Редактор кода производится ввод и редактирование программного кода процедур. 4. Сохранение проекта. Так как проекты включают в себя несколько файлов (в том числе несколько файлов форм), рекомендуется для каждого проекта создать отдельную папку на диске. Сохранение проекта производится с помощью меню File. Сначала необходимо сохранить форму и связанный с ней программный модуль с помощью пункта меню Save FormVBl.frm As... По умолчанию для файла формы предлагается имя, заданное в качестве значения свойства Name и расширение frm. Далее, необходимо сохранить файл проекта с помощью пункта меню Save Project As... В соответствие с соглашением об именах объектов целесообразно сохранить проект под именем с префиксом prj, например prjVBI.vbp. 5. Компиляция проекта в приложение. Сохраненный проект может выполняться только в самой системе програм- 170 Глава 4 мирования Visual Basic. Для того чтобы преобразовать проект в приложение, которое может выполняться непосредственно в среде операционной системы, необходимо сохранить проект в исполняемом файле (типа ехе). Для компиляции проекта в исполняемый файл используется команда [File-Make ...] (в свободно распространяемой версии VB5.0 ССЕ такая возможность, к сожалению, отсутствует). ... Вопросы дл^'Шзмышления 1. Перечислите основные окна интегрированной среды разработки Visual Basic и объясните их назначение. Практические задания 4.6. С помощью окна Просмотр объектов (Object Browser) найти классы объектов, которые обладают свойствами Name {Имя), Caption {Надпись), Font {Шрифт), Height (Высота), Width {Ширина), могут использовать метод Move {Перемещение) и откликаются на событие Click {Щелчок). 4.5. Форма и размещение на ней управляющих элементов Создадим приложение, в котором после запуска на форме печатается некоторый текст, например «Первый проект». Вывод на форму текстовых сообщений можно производить различными способами: • с помощью элемента управления Label (Метка); • с помощью элемента управления TextBox (Текстовое поле); • используя метод Print. Проект «Создание графического интерфейса» 1. Запустить Visual Basic. Создать новый проект командой [File-New-Standart]. Основы алгоритмизации и программирования 171 Работа над проектом начинается с создания графического интерфейса будущего приложения. В окне Конструктор форм на форму помещаются управляющие элементы, которые должны обеспечить взаимодействие приложения с пользователем. 2. С помощью Панели инструментов на форму [аь1 | (Forml) поместить метку (Labell), текстовое поле (Textl) и командную кнопку (Commandl). Далее необходимо задать новые значения свойств управляющих элементов. 3. С помощью окна Свойства объекта изменить значения свойств формы и управляющих элементов согласно таблице: Класс объектов Свойство Значение no умолчанию Новое значение Form (форма) Name Forml f rml Caption Forml Первый проект Label (надпись) Name Labell Ibll Caption Labell Первый проект TextBox (текстовое поле) Name Textl txtl Caption Textl Первый проект CommandButton (командная кнопка) Name Commandl cmdl Caption Commandl Метод Print Следующим шагом является создание программного кода событийной процедуры. Двойной щелчок мышью на объекте (форме или управляющем элементе) вызывает окно Программный код с пустой заготовкой событийной процедуры. Если осуществить двойной щелчок на кнопке cmdl, то появится заготовка событийной процедуры cmdl_Click: Private Sub cmdl_Click() End Sub 4. Двойным щелчком по кнопке cmdl вызвать окно Программный код с пустой процедурой cmdl_Click (). Ввести в процедуру метод Print. 172 Глава 4 В теле процедуры должна быть записана последовательность инструкций (операторов), которые будут выполняться при наступлении события. Вывод текста на форму будет производиться с помощью метода Print: fml.Print "Первый проект на языке Visual Basic" Первоначальный вариант проекта готов, и его можно запустить на выполнение. 5. Ввести команду [Run-Start]. Появится окно приложения Первый проект. Для выполнения событийной процедуры щелкнуть по кнопке Метод Print. I. Первый проект Первый проект на вэьке Vituai Basic Перв«4й проект на языка Vituat Вам: 1Пеовь1и проект на языке Visual Base ITraHii Установка цвета формы и параметров шрифта. Сделаем внешний вид проекта более привлекательным. Для этого изменим значения свойств объектов, определяющих внешний вид объектов (цвет фона формы, цвет, размер и способ выравнивания шрифта на метке, в текстовом поле и в методе Print). 6. Активизировать форму frml. В окне Свойства объекта выбрать свойство BackColor (цвет фона) и двойным щелчком открыть диалоговое окно с цветовой палитрой. Выбрать цвет, например желтый. 7. Активизировать метку 1Ы1. В окне Свойства объекта установить значения свойств: BackColor — зеленый, ForeColor (цвет надписи) — синий, Font — размер шрифта 18, Alignment (выравнивание) — center. 8. Активизировать текстовое поле txtl. В окне Свойства объекта установить значения свойств: ForeColor (цвет надписи) — красный. Font — размер шрифта 14 и начертание курсивное. Alignment (выравнивание) — center. Для установки параметров шрифта, которые используются в методе Print, необходимо для шрифта (объект Font) установить требуемые значения его свойств (размер шрифта, начертание и др.). Например, установим размер шрифта 12. Для того чтобы новые установки свойств шрифта вступили в действие, они должны быть вставлены в событийную процедуру перед методом Print. Основы алгоритмизации и программирования 173 10. Двойным щелчком по кнопке cmdl вызвать окно Программный код. Ввести в процедуру cmdl_Click () строку Font.Size = 12. После запуска проекта и щелчка по кнопке Метод Print получим новый вид графического интерфейса. Первый проект на языке \й$иа! Basic 11. Сохранить файл формы командой [Save Forml.frm As ...] как frmVBI .frm и файл проекта командой [Save Project As ...] как prjVBI.vbp. Проект хранится в каталоге олш \textbookWB\prjVB1\______________CD-ROM Практические задания 4.7. Создать проект «Вывод сообщения*, в котором на форму выводится текстовое сообщение «Первое задание выполнено!» с помощью метки и текстового поля, а выход из программы реализуется щелчком по кнопке Exit. Продумать графический интерфейс проекта. 4.8. Создать проект «Вывод сообщений», в котором каждый из двух различных вариантов текста выводится в текстовое поле Text-Box щелчком по одной из двух кнопок. Предусмотреть возможность выхода из программы щелчком по третьей кнопке. 4.9. Создать проект «Печать на форме», в котором с помощью метода Print на форме печатаются строки шрифтами со следующими параметрами: Times New Roman, 18, курсив, красный; Arial, 14, подчеркнутый, синий; Courier New, 12, полужирный, зеленый. Предусмотреть очистку формы от напечатанного текста с помощью метода С1 s. 174 Глава 4 4.6. Тип, имя и значение переменной в объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют такую же важнейшую роль, как и в процедурных языках программирования. Переменные предназначены для хранения и обработки данных. Переменные задаются именами, определяющими области памяти, в которых хранятся значения переменных. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и так далее). ь Переменная в программе представлена именем и служит для обращения к данным определенного типа. Конкретное значение переменной хранится в ячейках оперативной памяти. Тип переменной. Тип переменной определяется типом данных, которые могут быть значениями переменной. Значениями переменных числовых типов (Byte, Integer, Long, Single, Double) являются числа, логических (Boolean) — True или False, строковых (String) — последовательности символов и так далее. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются. Над различными типами данных (различными типами переменных) допустимы различные операции. Над числовыми переменными возможны арифметические операции, над логическими переменными — логические операции, над строковыми — операции преобразования символьных строк и так далее. Различные типы данных требуют для своего хранения в оперативной памяти компьютера различное количество ячеек (байтов). Для хранения целых чисел в интервале от О до 255 в переменных типа Byte достаточно одного байта; для хранения вещественного числа с двойной точностью в переменных типа Double требуется уже восемь байтов, а для хранения символьных строк в переменных типа String требуется один байт на каждый символ (табл. 4.3). Основы алгоритмизации и программирования 175 Таблица 4.3. Типы переменных Тип переменной Возможные значения Объем занимаемой памяти Приставка к имени Byte Целые числа от 0 до 255 1 байт byt Integer Целые числа от -32768 до 32767 2 байта int Long Целые числа двойной длины 4 байта Ing Single Десятичные числа одинарной точности от 1,401298Е-35 до 3.4022823Е38 4 байта sng Double Десятичные числа двойной точности от 1,94065645841247Е-324 до 1,79769313486232Е+308 8 байтов dbl Boolean Логическое значение True или False 2 байта bln String Строка символов 1 байт на каждый символ str Currency Число в денежном формате 8 байтов cur Date Дата от 1 января 100 г. до 31 декабря 9999 г. 8 байтов dtm Object Ссылки на любой объект 4 байта obj Variant Любые значения >16 байтов vnt Имя переменной. Имя каждой переменной (идентификатор) уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и так далее), но должно обязательно начинаться с буквы и не должно включать знак «.» (точка). Количество символов в имени не может быть более 255. Числовую переменную можно назвать, например, А или Число, а строковую — А или Строка. Однако разработчик языка Visual Basic — фирма Microsoft — рекомендует для большей понятности текстов программ для программиста в имена переменных включать особую приставку, которая обозначает тип переменных. Тогда имена целочисленных переменных целесообразно записывать как intA или 1пРЧисло, а строковых — strA и зСгСтрока. 176 Глава 4 Объявление типа переменной. Важно, чтобы не только разработчик программы (программист) понимал, переменные какого типа используются в программе, но чтобы это мог учесть и исполнитель программы (компьютер). Второе даже еще более важно, так как, если компьютер не будет «знать», переменная какого типа используется в программе, он будет считать ее переменной универсального типа Variant и отведет для ее хранения в памяти 16 или более байтов. Это будет приводить к неэффективному использованию памяти и замедлению работы программы. Для объявления типа переменной используется оператор определения переменной. Синтаксис этого оператора следующий: Dim ИмяПеременной [As ТипПеременной] С помощью одного оператора можно объявить сразу несколько переменных, например; Dim 1п1Число As Integer, strCTpoKa As String Переменные, значения которых не меняются в процессе выполнения программы, называются константами. Синтаксис объявления констант следующий: Const ИмяКонстанты станты [As Тип]= ЗначениеКон- Вопросы для размышления 1. В чем разница между типом, именем и значением переменной? 2. Какие типы переменных используются в языке программирования Visual Basic и какую функцию выполняют приставки в именах переменных? 3. Почему рекомендуется объявлять переменные перед их использованием в программе? Основы алгоритмизации и программирования 177 Зада HtH я 4.10. Определить, какой диапазон чисел может храниться в переменной типа Long с учетом выделения одного бита для хранения знака числа. 4.11. Определить, какое количество ячеек памяти потребуется для хранения строк «ЭВМ» и «информатика». 4.7. Арифметические, строковые и логические выражения. Присваивание Из переменных можно образовывать арифметические, строковые и логические выражения. Арифметические выражения. В состав арифметических выражений могут входить кроме переменных числового типа также и числа, над переменными и числами могут производиться различные арифметические операции, а также математические операции, выраженные с помощью функций. Порядок вычисления арифметических выражений соответствует общеизвестному порядку выполнения арифметических операций (возведение в степень, умножение или деление, сложение или вычитание), который может изменяться с помощью скобок. Строковые выражения. В состав строковых выражений могут входить переменные строкового типа, строки и строковые функции. Строками являются любые последовательности символов, заключенные в кавычки. Например: "информатика", "2000", "2*2" Над переменными и строками может производиться операция конкатенации. Операция конкатенации заключается в объединении строки или значения строковых переменных в единую строку. Операция конкатенации обозначается знаком « + », который не следует путать со знаком сложения чисел в арифметических выражениях. Логические выражения. В состав логических выражений кроме логических переменных могут входить также числа, числовые или строковые переменные или выражения, которые сравниваются между собой с использованием операций сравнения (>, <, =, >=, <= и пр.). 178 Глава 4 Логическое выражение может принимать лишь два значения: «истина» или «ложь». Например: 5 > 3 — истинно; 2*2 = 5 — ложно. Над элементами логических выражений могут производиться логические операции, которые на языке Visual Basic обозначаются следующим образом: логическое умножение — And, логическое сложение — Or и логическое отрицание Not. При записи сложных логических выражений часто используются скобки. Например: (5 > 3) And (2*2 = 5)— ложно; (5 > 3) Or (2*2 = 5)— истинно. Присваивание переменным значений. Переменная может получить или изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий: [Let] ИмяПеременной = Выражение Ключевое слово Let в большинстве случаев не используется. При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, равное значению выражения (арифметического, строкового или логического), которое находится справа от знака равенства. Создадим проект, который позволит продемонстрировать использование переменных различных типов, арифметических, строковых и логических выражений и операции присваивания. Сначала произведем деление двух целых чисел, а для хранения результата будем использовать различные типы числовых переменных, то есть результаты будут вычисляться с различной точностью. •4Э Проект «Переменные» **®**S*iiS#^ 1. Создать новый проект. Для создания графического интерфейса разместить на форме (f rml) управляющий элемент командная кнопка (cmdl). В качестве аргументов программы пусть выступают две целочисленные переменные intAn intB, ав качестве резуль- Основы алгоритмизации и программирования 179 татов неотрицательная целочисленная переменная bytC, вещественная переменная одинарной точности sngD и вещественная переменная двойной точности dblE. 2. Объявить переменные для их использования в программе: Dim intA, intB As Integer, bytC As Byte, sngD As Single, dblE As Double Создадим заготовку событийной процедуры, в которой в качестве объекта будет использоваться кнопка cmdl, а в качестве события щелчок — Click (). 3. Произвести двойной щелчок по кнопке cmdl, в окне Программный код появится заготовка событийной процедуры: Sub cmdl_Click() End Sub Теперь необходимо разработать программный модуль, реализующий следующий алгоритм деления двух чисел: 1. Присвоить аргументам алгоритма, переменным intA и intB конкретные значения. 2. Присвоить каждой из переменных bytC, sngD и dblE результат деления аргументов. 3. Напечатать результаты (значения переменных) на форме. Реализацию первых двух инструкций (команд) алгоритма произведем с помощью операторов присваивания. В качестве исходных чисел возьмем целые числа 2 и 3. Печать результатов алгоритма осуществим с помощью метода Print, которым обладает объект frml. Метод Print используется для печати на форме чисел и строк, а также значений числовых и строковых переменных или выражений, которые образуют список печати. В качестве разделителей списка печати используется либо запятая, либо точка с запятой. В первом случае элементы списка печатаются каждый в своей зоне (каждая зона имеет длину 14 символов), во втором случае элементы списка печатаются вплотную друг к другу. В случае отсутствия списка печати на форму выводится пустая строка. Синтаксис метода Print следующий: Объект.Print [СписокПечати] 180 Глава 4 4. в окне Программный код ввести первую событийную процедуру целиком: Dim intA, intB As Integer, bytC As Byte, sngD As Single, dblE As Doxjble Sub cmdl Click 0 intA intB byte sngD dblE intA / intB intA / intB intA / intB frml.Print byte, sngD, End Sub dblE Теперь создадим событийную процедуру, реализующую операцию конкатенации строк и строковой переменной. 5. Разместить на форме (frml) управляющий элемент командная кнопка (cmd2). Создадим заготовку событийной процедуры, в которой в качестве объекта будет использоваться кнопка cmd2, а в качестве события — щелчок Click (). Объявим строковые переменные и произведем конкатенацию двух строковых выражений и строковой переменной. 6. В окне Программный код ввести вторую событийную процедуру целиком: Dim strA, strB As String Slab cmd2_Click() StrA = "форма" StrB = "ин" + StrA + "тика" frml.Print StrB End Sub Затем создадим событийную процедуру, реализующую логические операции с логическими переменными. 7. Разместить на форме (frml) управляющий элемент командная кнопка (cmd3). Создадим заготовку событийной процедуры, в которой в качестве объекта будет использоваться кнопка cmd3, а в качестве события щелчок Click (). Объявим логические переменные, присвоим им значения логических выражений, в которые входят операции сравнения, и произведем операцию логического умножения двух логических переменных. Основы алгоритмизации и программирования 181 8. В окне Программный код ввести третью событийную процедуру целиком: Dim ЫпА, ЫпВ, ЫпС As Boolean Sub cmd3_Click() ЫпА = 5 > 3 ЫпВ = 2*2 = 5 ЫпС = ЫпА And ЫпВ frml.Print ЫпС End Sub 0,6666667 I- -fnixt 0 666666686534882 информатика False 9. После запуска проекта на экране появится его графический интерфейс (форма с размещенными на ней командными кнопками). Последовательные щелчки по кнопкам вызовут выполнение событийных процедур и на форме будут напечатаны результаты выполнения проекта. В первой событийной процедуре производится деление двух чисел с различной точностью, которая зависит от типа переменной, используемой для хранения результатов вычислений. После выполнения второй событийной процедуры строковая переменная strC примет значение "информатика". После выполнения третьей событийной процедуры логическая переменная ЫпС примет значение False (Ложь). Проект хранится в каталоге \textbook\VB\prjVB2\__________ CD-ROM Вопросы д. мышления 1. Могут ли в состав одного выражения входить переменные различных типов? 2. В чем разница между операцией арифметического сложения и операцией конкатенации? 182 Глава 4 Практические задания 4.12. Создать проект вычисления факториала числа. Предусмотреть визуализацию процесса вычисления факториала. 4.13. Создать проект, в котором сравниваются результаты сложения чисел и конкатенации строк, например 5 + 5 и "5" + "5". 4.14. Создать проект, в котором определяется истинность высказывания. Определить истинность составного высказывания «2х2 = 4иЗхЗ = 10 или 2х2 = 5иЗхЗ = 9». 4.8. Выполнение программ компьютером Интерпретаторы и компиляторы. Для того чтобы процессор мог выполнить программу, эта программа и данные, с которыми она работает, должны быть загружены в оперативную память. Итак, мы создали программу на языке программирования (некоторый текст) и загрузили ее в оперативную память. Теперь мы хотим, чтобы процессор ее выполнил, однако процессор «понимает» команды только на машинном языке, а наша программа написана на языке программирования. Как быть? Необходимо, чтобы в оперативной памяти находилась программа-переводчик (транслятор), автоматически переводящая программу с языка программирования на машинный язык. Компьютер может выполнять программы, написанные только на том языке программирования, транслятор которого размещен в оперативной памяти компьютера. Трансляторы языков программирования бывают двух типов: интерпретаторы и компиляторы. Интерпретатор — это программа, которая обеспечивает последовательный перевод инструкций программы на машинный язык и их выполнение. Поэтому при каждом запуске программы на выполнение эта процедура повторяется. Достоинством интерпретаторов является удобство отладки программы (поиска в ней ошибок), так как возможно пошаговое ее выполнение, а недостатком — сравнительно малая скорость выполнения. Компилятор действует иначе, он переводит весь текст программы на машинный язык и сохраняет его в исполнимом файле (обычно с расширением ехе). Затем этот уже го- Основы алгоритмизации и программирования 183 товый К выполнению файл, записанный на машинном языке, можно запускать на исполнение многократно. Достоинством компиляторов является большая скорость выполнения программы, а недостатком — трудоемкость отладки, так как невозможно пошаговое выполнение программы. Современные системы программирования, и в том числе Visual Basic, позволяют работать в режиме как интерпретатора, так и компилятора. На этапе разработки и отладки программы используется режим интерпретатора, а для получения готовой исполняемой программы — режим компилятора. Процесс выполнения программы. Рассмотрим процесс выполнения программы на примере рассмотренной выше программы (проект «Переменные»), написанной на языке программирования Visual Basic. Ввод текста программы в оперативную память. Текст программы вводится в оперативную память с помощью клавиатуры или считывается из внешней памяти. Текст программы займет в памяти определенное количество ячеек (например, с ячейки номер I по ячейку I+K). Перевод программы на машинный язык. Наша программа будет записана в памяти во внутреннем представлении языка программирования Visual Basic, который процессор «не понимает». Для перевода программы на машинный язык, понятный процессору, в памяти должна находиться программа-транслятор языка Visual Basic. Программа-транслятор после считывания в оперативную память из внешней памяти будет занимать в памяти определенное количество ячеек (например, с ячейки номер N по ячейку N+M). Выполнение программы. После запуска программы на выполнение процессор последовательно будет считывать из памяти операторы и их выполнять. В процессе выполнения оператора объявления переменных Dim в оперативной пгиияти для их хранения отводится необходимое количество ячееек: для целочисленных переменных intA, intB — по две ячейки, для неотрицательной целочисленной переменной bytC — одна ячейка, для переменной одинарной точности sngD — четыре ячейки, для переменной двойной точности dblE — восемь ячеек, для строковых переменных strA и strB количество ячеек, равное количеству символов, составляющих их значения, для логических переменных Ь1пА, Ь1пВ, blnC — по две ячейки. Таким образом, в памяти для хранения данных (значений переменных) будет отведено определенное количество ячеек, например ячейки с 1-й по 39-ю (рис. 4.17). 184 Глава 4 Далее, в процессе выполнения операторов присваивания в отведенные переменным области оперативной памяти записываются их значения. Если в правой части оператора присваивания находятся арифметические выражения, то предварительно вычисляются их значения. Затем с помощью метода Print производится вывод значений переменных на форму, реализующую графический интерфейс программы. В этом процессе значения переменных считываются из памяти и высвечиваются на экране монитора. Имена переменных intA intB byte sngD dblE strA strB ЫпА blnB blnC Оперативная память ячейки значение 1-2 2 3-4 3 5 1 6-9 0,6666667 10-17 0,666666686534882 18-22 форма 23-33 информатика 34-35 True 36-37 False 38-39 False 1 Программный код 1 + К N транслятор языка программирования N + M Рис. 4.17. Программа и данные в оперативной памяти lu. Вопросы для размышления 1. Какую функцию выполняют трансляторы языков программирования? 2. В чем состоит различие между интерпретаторами и компиляторами? Основы алгоритмизации и программирования 185 4.15. Какое количество ячеек памяти было бы занято переменными в проекте «Переменные», если бы переменные не были объявлены? 4.9. Функции в языке Visual Basic Понятие функции в языке программирования близко к понятию функции в математике. Функция может иметь один или более аргументов. При записи функции нескольких аргументов аргументы в списке отделяются друг от друга запятыми: 57 ИмяФункции(СписокАргументов) Для каждого набора аргументов можно определить значение функции. В программировании говорят, что функция возвращает свое значение, если заданы значения ее аргументов. Функции обычно входят в состав выражений, значения которых присваиваются переменным. Функции могут быть различных типов: преобразования типов данных, математические, строковые, финансовые, даты и др. Тип функции определяется возможными значениями аргументов и функции. 4.9.1. Функции преобразования типов данных функции преобразования реализуют преобразование данных из одного типа в другой. функция Val. Часто необходимо преобразовать строковое значение в числовое. Это можно сделать с помощью функции Val, аргументом которой является строка, а значением — число: t.57 Val(Строка$) 186 Глава 4 Например, значением функции Val("2000") является число 2000. Эта функция часто применяется для преобразования строкового значения свойства Text текстовых полей в число, которое затем используется в арифметических выражениях. Воспользуемся функцией Val для создания приложения «Обычный калькулятор», которое будет производить арифметические действия над целыми десятичными числами, которые будут вводиться и выводиться в текстовые поля на форме. Для создания графического интерфейса приложения разместим на форме три текстовых поля (два поля для ввода числовых данных и одно для вывода результата) и пять кнопок для реализации событийных процедур: сложения, вычитания, умножения, деления и завершения работы. Проект «Обычный калькулятор» 1. Создать новый проект. Разместить на форме три текстовых поля и пять кнопок. Присвоить им имена: txtl, txt2, txt3, cmdPlus, cmdMinus, cmdUmn, cmdDelen, cmdExit. Событийная процедура сложения CmdPlus_Click должна изменять значения свойства Text текстового поля txt3 так, чтобы оно являлось суммой числовых значений свойства Text текстовых полей txtl и txt2. Для преобразования строковых значений, вводимых в текстовые поля, в десятичные числа, воспользуемся функцией Val. Код событийной процедуры будет следующим: Sub cmdPlus_Click() txtS.Text = Val(txtl.Text) + Val(txt2.Text) End Sub Событийные процедуры вычитания, умножения и деления создаются аналогично. 2. Для каждой из кнопок ввести программные коды событийных процедур. 3. Установить для свойства Alignment текстовых полей значение Right Justufy. 4. Запустить проект на вы- г.1.1 полнение. Ввести числа в два левых текстовых поля и щелкнуть по кнопке арифметической операции. В правом поле будет выведен результат. Основы алгоритмизации и программирования 187 Проект хранится в каталоге „„ \textbookWB\prjVB3\_______ Строковое выражение, являющееся аргументом функции Val, может быть задано не только в десятичной, но также в восьмеричной (приставка "&0")и шестнадцатеричной (приставка "&Н") системах счисления. Например, значением функций Val ("&О3720") и Val ("&H7D0") является десятичное число 2000. Таким образом, появляется возможность перевода чисел, выраженных в строковой форме, из восьмеричной и шестнадцатеричной систем счисления в число десятичной системы счисления. Функции Str, Hex, Oct. Функции Str, Oct и Hex позволяют производить преобразование десятичных чисел в десятичные, восьмеричные и шестнадцатеричные числа в строковой форме. Аргументом функции является десятичное число, а значением — строка: а Str (Число) Oct(Число) Hex(Число) Например, значением функций Str (2000), Oct (2000), Hex (2000) является десятичное число 2 000, восьмеричное число 3720 и шестнадцатеричное число H7D0 в строковой форме Создадим проект, который позволит переводить целые числа из десятичной системы счисления в восьмеричную и шестнадцатеричную и обратно — из восьмеричной и шестнадцатеричной в десятичную. Проект «Перевод чисел» 1. Создать новый проект. Разместить на форме три текстовых поля (txtDec, txtOct, txtHex) для ввода и вывода чисел, четыре кнопки (cmdDecOct, cmdDecHex, cmdOct-Dec, cmdHexDec) для создания событийных процедур, реализующих перевод чисел, и три метки (IblDec, IblOct, IblHex) для вывода поясняющих надписей над текстовыми полями. К вводимым в текстовые поля txtOct и txtHex в строковой форме числам добавим восьмеричную и шестнадцате- 188 Глава 4 ричную приставки "&0" или "&Н" с помощью операции конкатенации строк. Полученное восьмеричное или шестнадцатеричное число в строковой форме переведем в десятичную числовую форму с помощью функции Val. 2. Ввести событийную процедуру cmdOctDec_Click (), реализующую перевод чисел из восьмеричной системы в десятичную: Sub cmdOctDec_Click() txtDec.Text = Val("&0" + txtOct.Text) End Sub 3. Создать событийную процедуру cmdHexDec_Click (), реализующую перевод чисел из шестнадцатеричной системы в десятичную. Введенные в текстовое поле txtDec числа будем переводить сначала из строковой формы в числовую с помощью функции Val, а затем из десятичной числовой в строковую восьмеричную или шестнадцатеричную с помощью функций Oct или Hex. 4. Создать событийную процедуру cmdDecHex_Click (), реализующую перевод чисел из десятичной системы в шестнадцатеричную : Sub cmdDecHex_Click() txtHex.Text = Hex(Val(txtDec.Text)) End Sub 5. Создать событийную процедуру cmdDecOct_Click (), реализующую перевод чисел из десятичной системы в восьмеричную. 6. Запустить проект. Для перевода десятичного числа в восьмеричную и шестнадцатеричную системы счисления ввести в левое текстовое поле десятичное число и последовательно щелкнуть по кнопкам Dec-Oct и Dec-Hex. Проект хранится в каталоге \textbook\VB\prjVB4\__________ CD-ROM Функция As с. функция As с осуществляет преобразование строки в числовой код (в таблице кодировки) первого символа. Аргументом функции является строка, а значением — число: Основы алгоритмизации и программирования 189 Asc (Строка$) Q ..- -..-.... функция Chr. Функция Chr осуществляет преобразование числового кода в соответствующий ему символ. Аргументом функции является число, а значением — символ: 0 Chr(Число) Создадим проект «Коды символов», который выводит числовой код введенного символа, а также распечатывает символы по числовым кодам (выводит кодировочную таблицу символов). <'Коды символов» 1. Создать новый проект. Разместить на форме два текстовых поля txtS, txtN и две кнопки cmdS и cmdT. Воспользуемся функцией Asc () для преобразования символа, вводимого в текстовое поле txtS, в его числовой код, выводимый в поле txtN. 2. Ввести событийную процедуру cmdS_Cl ick (), реализующую преобразование символа в его числовой код: Sub cmdS_Click() txtN.Text = Asc(txtS.Text) End Sub Воспользуемся циклом со счетчиком с шагом -1, для того чтобы печатать на форме символы, начиная с символа, имеющего наибольший числовой код (255). Такая последовательность вывода символов связана с тем, что первые 33 числовых кода (от О до 32) соответствуют не символам, а управляющим клавишам клавиатуры (клавиши управления курсором, Пробел, Ввод и др.). 3. Ввести код событийной процедуры cmdT_Click (), которая осуществляет вывод кодировочной таблицы символов на форму: Dim strA As String, N As Integer Sub cmdT_Click() For N = 255 To 33 Step -1 StrA = Chr(N) Print "Числовой код"; N; " - strA Next N End Sub 190 Глава 4 Запустить проект. Для получения числового кода в нижнем текстовом поле ввести символ в верхнее поле и щелкнуть по кнопке Код символа. Для получения таблицы кодировки символов щелкнуть по кнопке Кодировоч-нал таблица. JSlxJ Числовой Числовой Числовой Числовой Числовой Числовой Числовой Числовой Числовой Числовой Числовой Числовой Числовой код 255 - я код 254 - ю код 253 - э код 252 - ь код 251 - ы код 250 ' ъ код 249 - щ код 248 - ш код 247 - м код 246 - ц код 245 - X код 244 ‘ ф код 243 - у Код символа 221 Кодировомноя таблица Проект хранится в каталоге \textbook\VB\prjVB5\____________ CD-ROM Практические задания 4.16. Разработать проект «Мультисистемный кгшькулятор», который позволяет производить арифметические операции над целыми числами в десятичной, восьмеричной и шестнадцатеричной системах счисления. 4.9.2. Математические функции в математических функциях значениями как аргументов, так и функций являются числа. В языке Visual Basic имеется 12 математических функций; тригонометрические (Sin О , Cos О, Tan О, Atn ()), квадратный корень Sqr(), логарифм Log (), показательная функция Ехр (), получение случайного числа Rnd()и др. Воспользуемся математическими функциями для расширения возможностей проекта «Обычный калькулятор» и превращения его в проект «Инженерный калькулятор». Проект «Инженерный калькулятор» 1. Открыть проект «Обычный калькулятор». Добавить на форму шесть кнопок cmdSin, cmdCos, cmdTan, cmdSqr, cmdSt и cmdLog. Для каждой из этих кнопок создать событийные процедуры, реализующие вычисление соответствующих функций: синуса, косинуса, тангенса, квадратного корня, возведения в степень и натурального логарифма. Основы алгоритмизации и программирования 191 2. Например, для возведения в степень событийная процедура cmdSt_Click () примет вид: Sub cmdSt_Click() txtSDec.Text=Val(txtlDec.Text)^Val(txt2Dec.Text) End Sub 3. Ввести самостоятельно программный код других событийных процедур с использованием встроенных функций языка Visual Basic: Sin{), Cos(), Tan(), Sqr () и Log 0 . 4. Запустить проект на выполнение. Произвести вычисление, например, 2^^ ввести числа 2 и 32 и щелкнуть по кнопке X^'Y. Проект хранится в каталоге \textbookWB\prjVB6\___________ CD-ROM Практические задания 4.17. Разработать прюект, позволяющий вычислить гипотенузу и площадь прямоугольного треугольника, если известны его катеты. 4.9.3. Строковые функции В строковых функциях строками являются либо аргументы, либо возвращаемые функциями значения. Функция определения длины строки. В функции определения длины строки Ьеп(Строка$) аргументом является строка Строка$, а возвращает функция числовое значение длины строки (количество символов в строке). Синтаксис функции: Len(Строка$) Пусть аргументом функции Len будет строка "информатика", тогда значением целочисленной переменной intflnHHaCTpoKH = Len("информатика") будет число 11. 192 Глава 4 Функции вырезания подстроки. В функциях вырезания подстроки (части строки) Left (Строка?, Длина%), Right(Строка?, Длина%) и Mid(Строка?, Позиция%, Длина%) аргументами являются строка Строка? и числа или целочисленные переменные Длина% и Позиция%. Функции возвращают строковое значение, длина которого равна Длина%. Синтаксис функций: Left(Строка?, Длина%) Right(Строка?, Длина%) Mid(Строка?, Позиция!, Длина!) ь.'0л. Значением функции Left является левая подстрока, которая начинается от крайнего левого символа строки и имеет количество символов, равное значению числового аргумента Длина!. Пусть аргументом функции Left будет строка "инфор матика", тогда значением строковой переменной strUeBaa Подстрока = Left ("информатика", 2) будет строка "ин". Значением функции Right является правая подстрока, которая начинается от крайнего правого символа строки и имеет количество символов, равное значению числового аргумента Длина!. Пусть аргументом функции Right будет строка "информа тика", тогда значением строковой переменной strnpaBaa Подстрока = Right("информатика",4) будет строка "тика". Значением функции Mid является подстрока, которая начинается с символа, находящегося в позиции, заданной числовым аргументом Позиция!, и имеет количество символов, равное значению числового аргумента Длина!. Пусть аргументом функции Mid будет строка "информа тика", тогда значением строковой переменной зРгПодстрока = Mid("информатика",3,5)будет строка "форма". Создадим строковый калькулятор, который позволит производить различные преобразования строк. Проект «Строковый калькулятор» 1. Разместить на форме три текстовых поля (txtl, txt2 — для ввода строк, txt3 — для вывода результата) и кнопку cmdCon. 2. Для кнопки ввести программный код событийной процедуры cmdCon_Click (), реализующий операцию конкатенации: Основы алгоритмизации н программирования 193 + txt2.Text Sub cmdCon_Click() txtS.Text = txtl.Text End Sub 3. Запустить проект, в два первых поля ввести строки и щелкнуть по кнопке Конкатенация. В третьем поле появится результат сложения двух строк. Воспользуемся теперь для преобразования строк строковой функцией Mid$ (CTpoKa$,bytM,bytN). Функция вырезает из строки$ подстроку, начинающуюся с символа, позиция которого в строке задается целочисленной переменной bytM, и имеющую длину, заданную целочисленной переменной bytN. 4. Разместить на форме два текстовых поля txtlMid и txt2Mid для ввода значений переменных bytM и bytN и кнопку cmdMid. 5. Для кнопки ввести программный код событийной процедуры cmdMid_Click () , реализующий операцию вырезания подстроки. Для преобразования строковых значений свойства Text текстовых полей в числа использовать функцию Val: Sub cmdMid_Click() txtS.Text = Mid$(txtl.Text, Val(txt2Mid.Text)) End Sub 6. Запустить проект, в первое поле ввести строку, в поля ввода аргументов функции вырезанной подстроки ввести числа и щелкнуть по кнопке Mid$. В третьем поле появится вырезанная подстрока. Для определения количества символов в строке используется функция определения длины строки Len (строка$) , аргументом которой является строка, а возвращает функция число, равное количеству символов в строке. 7. Разместить на форме кнопку cmdLen и ввести программный код событийной процедуры cmdLen Click (), реализующий операцию определения количества символов в строке: Sub cmdLen_Click () txtS.Text = Len(txtl.Text) End Sub 7-2645 Val(txtlMid.Text) 194 Глава 4 8. Запустить проект, в первое поле ввести строку и щелкнуть по кнопке Len. В третьем поле появится число символов в строке. Для преобразования символов в соответствующий им числовой код используется функция Азс(строка$) , при этом необходимо иметь в виду, что функция возвращает числовой код первого символа строки. 9. Разместить на форме кнопку cmdAsc и ввести программный код событийной процедуры cmdAsc Click (), реализующий операцию определения числового кода символа: Sub cmdAsc__Click () txtS.Text = Asc(txtl.Text) End Sub 10. Запустить проект, в первое поле ввести символ и щелк-нуть по кнопке Asc. В третьем поле появится числовой код символа. Проект хранится в каталоге \textbook\VB\prjVB7\_______ _____ CD-ROM Практические задания 4.18. Модернизировать проект «Строковый калькулятор». Добавить возможности вырезания из строки левой и правой подстрок, определение позиции начала подстроки в строке и преобразования числового кода символа в символ. 4.9.4. Функции ввода и вывода Функция InputBox (Окно Ввода). Функция InputBox позволяет вводить данные с помощью диалоговой панели ввода. В качестве аргументов этой функции выступают три строки, значением функции является также строка. Синтаксис функции следующий: InputBox(Приглашение$, О [ПоУмолчанию$]) Заголовок$, Основы алгоритмизации и программирования 195 В процессе выполнения этой функции появляется диалоговая панель с текстовым полем. В строке заголовка панели будет печататься значение второго аргумента (Заголовок$), на самой панели печатается значение аргумента Приглаше-ние$, в текстовом поле печатается значение аргумента ПоУмолчанию$ (если это значение отсутствует, содержимое текстового окна также отсутствует). Введенная пользователем в текстовом поле строка становится значением функции. Функция MsgBox (Панель Сообщений). Функция MsgBox позволяет выводить сообщения не на форме, а на специальной панели сообщений. Кроме того, функция MsgBox возвращает определенное значение, которое может быть присвоено какой-либо переменной. Синтаксис функции следующий: MsgBox(Сообщение$[, головок$]) ЧисКод1+ЧисКод2][, За- Строка Сообщение$ выводится на панель сообщений, аргумент ЧисКод1+ЧисКод2 определяет внешний вид панели, а строка Заголовок$ печатается в строке заголовка панели. Последние два аргумента не являются обязательными. Внешний вид панели сообщений можно менять, используя различные значения ЧисКод! и ЧисКод2. Значение Чис-Код1 определяет вид пиктограммы, которая помещается на панель сообщений, а значение ЧисКод2 определяет набор кнопок, размещаемых на панели (табл. 4.4). Таблица 4.4. Значения чисКод! и ЧисКод2, определяющие вид панели сообщений ЧисКод! Пиктограмма 16 О 32 ф 48 64 ЧисКод2 Набор кнопок 0 ОК 1 ОК, Отмена 2 Стоп, Повтор, Пропустить 3 Да, Нет, Отмена 4 Да, Нет 5 Повтор, Отмена 196 Глава 4 С ПОМОЩЬЮ ОДНОГО числа, являющегося суммой чисел ЧисКод! и ЧисКод2, можно одновременно установить определенную пиктограмму и определенную комбинацию кнопок, размещенных на панели сообщений. Например, число 36 можно рассматривать как сумму чисел 32 (код пиктограммы «Вопрос») и 4 (код комбинации кнопок Да, Нет). В этом случае функция MsgBox выводит панель сообщений с текстом, пиктограммой, содержащей знак вопроса, и кнопками Да, Нет. Нажатие на кнопку приводит к вычислению значения функции, которое зависит от нажатой кнопки (табл. 4.5). Таблица 4.5. Значения функции MsgBox Нажатая кнопка Значение функции ОК 1 Отмена 2 Стоп 3 Повтор 4 Пропустить 5 Да 6 Нет 7 Разработаем проект, который позволит контролировать знания. Алгоритм контроля должен последовательно реализовывать следующие операции: • задать (напечатать) вопрос; • запросить ответ и запомнить введенное с клавиатуры значение; • полученный ответ сравнить с правильным и, в зависимости от выполнения или невыполнения этого условия, реализовать различные действия. Сначала реализуем регистрацию проверяемого с исполь-зованием функций InputBox и MsgBox. Проект «Проверка знаний» 1. Разместить на форме кнопку cmdl, задать значение Начать проверку свойства Caption. Создать событийную процедуру cmdl_Click (). 2. С помощью функции InputBox запросить имя и фамилию и присвоить это значение строковой переменной strA, а с помощью функции MsgBox вывести результаты регистрации: Основы алгоритмизации и программирования 197 ваше имя и фамилию:". strA 36, Ввез1иге вше имя и фамилиа ОК "I |нйкол^Угримс«ич К*не« MrHCTftaitfM Уеаж«емыи Ни«о'»айУгс'»«<вич Выготсвь к npoewe ан*н»н7 Dim StrA As String, bytB As Byte S\ib cmdl_Click() StrA = InputBox("Введите "Регистрация") bytB = MsgBox("Уважаемый " + Вы готовы к проверке знаний?", "Конец регистрации") End Sub 3. Запустить проект и щелкнуть по кнопке Начать проверку. На появившейся диалоговой панели Регистрация ввести в текстовое поле имя и фамилию. Вторым аргументом функции MsgBox является числовое значение, которое одновременно задает тип выводимого информационного окна и набор размещенных на нем кнопок. 4. Число 36 обеспечивает вывод информационного окна типа «Вопрос», которое имеет две кнопки Да и Нет. Щелчок по одной из кнопок приводит к возвращению функцией определенного числового значения (Да — 6, Нет — 7), которое присваивается числовой переменной bytB. 5. С помощью условного оператора можно реализовать либо выход из программы (щелчок по кнопке Нет), либо продолжение работы и переход к проверке знаний (щелчок по кнопке Да): If bytB = 7 Then End Вопрос задается с помощью функции InputBox, проверка правильности ответа производится с помощью оператора условного перехода If. . .Then. . .Else, а вывод информации о правильности или неправильности ответа — с помощью функции MsgBox в форме оператора (бесскобочная запись) и с числовым значением второго аргумента О, что обеспечивает вывод информационного окна с одной кнопкой ОК. 6. Ввести в событийную процедуру программный код, реализующий проверку знаний с помощью последовательно- 198 Глава 4 сти вопросов, в переменной bytN накапливать количество неправильных ответов: strC = InputBox("Чему равен 1 байт?", "Первый вопрос") If StrC = "8 битов" Then MsgBox "Правильно!", О, "Первый вопрос" _ Else MsgBox "Неправильно!", О, "Первый вопрос": bytN = bytN + 1 StrC = InputBox("Переведите десятичное число 5 в двоичную систему счисления;", "Второй вопрос") If StrC = "101" Then MsgBox "Правильно!", 0, "Второй вопрос" _ Else MsgBox "Неправильно!", 0, "Второй вопрос" : bytN = bytN + 1 MsgBox "Уважаемый " + strA + ", Вы сделали " + Str(bytN) + " ошибок!", о, "Конец опроса" 7. Запустить проект, прой- ти регистрацию и ответить на вопросы. Результат будет выведен с помощью панели сообщений функции MsgBox. Конец опроса Уважаемый Николай Угринсеич Высделагм Оскиибок! Проект хранится в каталоге \textbook\VB\prjVB8\_________________ IJ Практические задания 4.19. Разработать проект, в котором проводится регистрация (запрашивается имя, отчество и фамилия) и существует возможность изменить регистрационные данные. 4.9.5. Функции даты и времени Функция Date. Функция Date возвращает значение текущей даты, которое можно присвоить переменным типа Date. Значение даты представляется в виде тройки чисел #Месяц/Число/Год#, разделенных знаком «/». Разностью значений переменных типа Date является число дней между датами. Основы алгоритмизации и программирования 199 Создадим проект, позволяющий печатать текущую дату и количество дней, прошедших с начала третьего тысячелетия. Проект «Дата» 1. Разместить на форме кнопку cmdl и ввести событийную процедуру cmdl_Click () : Dim dtmA, dtmB As Date Stib cmdl_Click() dtmA = Date dtmB = #1/1/2001# Print "Сегодня dtmA Print " C начала третьего тысячелетия прошло dtmA - dtmB; " дней" End Sub Запустить проект и щелкнуть по кнопке Дата. На форме будет напечатано текущее число и количество дней, прошедших с начала третьего тысячелетия. itpw Сегодня 31 03 2002 С начала третьего тысячелетня пропшо 454 дней Дета Проект хранится в каталоге \textbook\VB\prjVB9\__________ CD-ROM Функция Time$. Функция Time$ возвращает значение текущего времени, имеющее тип String, которое можно вывести в текстовое поле. Значение времени представляется в виде тройки чисел #Часы:Минуты:Секунды#, разделенных знаком «:». Для периодического обновления значения времени используем объект Timer. Объект Timer не отображается на форме в процессе выполнения программы и реализует всего одну функцию — проверяет показания системных часов по событию Timer. Периодичность события Timer может быть задана с помощью значения свойства Interval, задаваемого в миллисекундах (может изменяться от О до 65535). Для того чтобы событие Timer происходило каждую секунду, необходимо свойству Interval присвоить значение 1000. Создадим проект, выводящий текущее время в текстовое поле каждую секунду. 200 Глава 4 Проект «Секундомер» 1. Разместить на форме объект Timer и присвоить ему имя tmrl, а свойству Interval — значение 1000. Поместить на форму текстовое поле txtTime. Ввести событийную процедуру tmrl_Timer () : Sub tmrl_Timer() txtTime.Text = Time$ End Sub 2. Запустить проект. В текстовое окно с интервалом в одну секунду будет выводиться системное время компьютера. 0 Проект хранится в каталоге \textbook\VB\prjVB10\____________ CD-ROM Практические задания 4.20. Разработать проект, который позволяет определить количество дней, прошедших со дня вашего рождения. 4.21. Разработать проект, который выводит в текстовые поля текущие дату и время. 4.10. Графические возможности языка Visual Basic На формах (Form) или в графических окнах (Picture-Box) можно рисовать различные графические примитивы с использованием графических методов: Scale — позволяет задать систему координат и масштаб для формы или графического окна: object.Scale (XI,Yl) - (X2,Y2) Аргументами метода являются XI, Y1 — координаты левого верхнего угла объекта и Х2, Y2 — координаты правого нижнего угла объекта. Pset — установка точки с заданными координатами и цветом: object.Pset (X,Y) [,color] Основы алгоритмизации и программирования 201 Аргументами метода являются X, Y — координаты точки и color — цвет линии. Значение аргумента color можно задать различными способами: • с помощью одной из восьми констант, определяющих цвет (vbBlack — черный, vbBlue — синий, vbGreen — зеленый, vbCyan — голубой, vbRed — красный, vbMagenta — сиреневый, vbYellow — желтый, vbWhite — белый); • с помощью функции QBColor (number), аргументом которой являются числа от О до 15, а результат сотоветству-ет одному из основных 16 цветов; • с помощью функции RGB (bytRed, bytGreen, bytBlue), аргументами которой являются три числа в диапазоне от О до 255 (интенсивности базовых цветов), а результатом — число типа Long в диапазоне от О до 256^ - 1 (16 777 215). Таким образом, определяется цветовая палитра с более чем 16 миллионами цветов, а каждый цвет задается числом, которое вычисляется по формуле bytRed + 256 • bytGreen + 256^ • bytBlue. В случае отсутствия аргумента color рисование будет производиться цветом, принятым по умолчанию (черным). Line — рисование линии, прямоугольника или закрашенного прямоугольника заданного цвета: object.Line (XI,Yl) - (X2,Y2) [,color][,В][F] Аргументами метода являются XI, Yl и X2,Y2 — координаты концов линии (левого верхнего и правого нижнего угла прямоугольника), color — цвет линии. Флажок В задает рисование прямоугольника, а флажок F — его закрашивание. Circle - рисование окружности, овала или дуги с заданными координатами центра, радиусом, цветом, начальным и конечным углами дуги и коэффициентом сжатия: object.Circle (X,Y),radius [,color, start, end, aspect] Аргументами метода являются X, Y — координаты центра окружности, radius — радиус окружности, color — цвет окружности, start и end — начальный и конечный угол дуги, aspect — коэффициент сжатия. Если графический метод применяется к объекту «форма» (Form), то при его записи имя объекта object можно опускать. 202 Глава 4 Разработаем проект построения в графическом окне графика функции с использованием графических методов. В качестве примера рассмотрим построение графика функции у = sinjc. Проект «Построение графика функции» 1. Разместить на форме графическое поле picGraph, в котором будет производиться построение графика. Для большей понятности программного кода будем вводить в него комментарии, которые начинаются с символа апостроф « ' *. 2. Разместить на форме кнопку cmdl и создать событийную процедуру построения графика, в которой устанавливается масштаб, в цикле осуществляется построение графика функции, рисуются оси координат и печатаются на них числовые шкалы: Dim sngX As Single, intl As Integer Sub cmdl_Click() 'Задание масштаба picGraph.Scale (-10, 2)-(10, -2) 'Построение графика For sngX = -10 To 10 Step 0.01 picGraph.PSet (sngX, Sin(sngX)) Next sngX 'Ось X picGraph.Line (-10, 0)-(10, 0) For inti = -10 To 10 picGraph.PSet (inti, 0) picGraph.Print inti Next inti 'Ось Y picGraph.Line (0, 2)-(0, -2) For inti = -2 To 2 picGraph.PSet (0, inti) picGraph.Print inti Next inti End Sub 3. Запустить проект и щелкнуть по кнопке График. Основы алгоритмизации и программирования 203 Проект хранится в каталоге \textbookWB\prjVB11\___________ CD-ROM Анимация. Для создания анимации (иллюзии движения на экране какого-либо объекта) применяется принцип смены кадров (изображений), как это делается в мультипликации. Программа, имитирующая движение, должна реализовывать следующие этапы: • создание изображения на экране; • реализация временной паузы для того, чтобы глаз зафиксировал изображение; • проведение коррекции изображения. Анимация часто используется для изображения движения объектов. Для регулирования скорости движения объекта используют пустой цикл: чем большее количество раз он будет выполняться, тем медленнее будет двигаться объект. JPj Проект «Движение круга» 1. Разместить на форме графическое поле picAnim, в котором будет производиться движение круга. Движение по оси ОХ реализуем в цикле. Эффект анимации получим рисованием сначала круга синего цвета, а затем его стиранием кругом цвета фона (белым). Для получения закрашенного круга требуется установить значение свойства FillColor (при рисовании vbBlue, а при стирании vbWhite), которое определяет цвет заполнения рисуемой фигуры. Для свойства FillStyle, которое задает тип закраски (прозрачный — Transparent или непрозрачный — Solid) установить значение Solid. Скорость движения круга (скорость смены одного изображения другим) можно регулировать с помощью изменения количества повторений пустого цикла между рисованием и стиранием. 2. Поместить на форму кнопку cmdStart и создать событийную процедуру, реализующую анимацию: Dim intX As Integer, Ingl As Long Private Sub cmdStart_Click() 'Масштаб picAnim.Scale (-10, 10)-(10, -10) 'Анимация For intX = -10 To 10 'Рисование picAnim.FillColor = vbBlue picAnim.Circle (intX, o) , 1, vbBlue 204 Глава 4 3. 'Задержка стирания For Ingl = 1 То 10000000 Next Ingl 'Стирание picAnim.FillColor = vbWhite picAnim.Circle (intX, 0) , 1, Next intX End Sub Запустить проект и щелкнуть по кнопке Старт. В графическом поле начнется движение синего круга по оси ОХ. vbWhite Проект хранится в каталоге \textbook\VB\priVB12\___________ CD-ROM Практические задания 4.22. Разработать проект «Графический редактор», который позволяет нарисовать в графическом поле все графические примитивы (точку, линию, прямоугольник, закрашенный прямоугольник, окружность). 4.23. Создать проект, позволяющий задавать цвета различными способами (с помощью цветовых констант, функции QBColor и функции RGB) и демонстрирующий заданный цвет. 4.24. Изменить проект «Построение графика функции» так, чтобы дополнительно строились графики линейной, квадратичной и кубической функций. 4.11. Общие процедуры. Область видимости процедур При разработке сложного алгоритма целесообразно стараться выделить в нем последовательности действий, которые выполняют решение каких-либо подзадач и могут многократно вызываться из основного алгоритма. Такие алгоритмы называются вспомогательными и в процедурных языках программирования реализуются в форме подпрограмм, которые вызываются из основной программы. Основы алгоритмизации и программирования 205 В объектно-ориентированных языках программирования вспомогательные алгоритмы реализуются с помощью общих процедур. Общие процедуры создаются в тех случаях, когда в программном модуле можно выделить многократно повторяющиеся последовательности действий (алгоритмы). Определение общей процедуры. Каждой общей процедуре дается уникальное название - имя процедуры и устанавливается список входных и выходных параметров процедуры. Список входных параметров представляет собой набор переменных, значение которых должно быть установлено до начала выполнения процедуры. Список выходных параметров представляет собой набор переменных, значение которых должно быть установлено после окончания выполнения процедуры. Синтаксис общей процедуры: Sub ИмяПроцедуры(СписокПараметров) программный код End Sub Вызов общей процедуры. Запуск общих процедур не связывается с какими-либо событиями, а реализуется путем вызова из других процедур. I ^ Общая процедура представляет собой подпрог- I 'O' рамму, которая начинает выполняться после ее ^ вызова из другой процедуры. Общая процедура вызывается на выполнение либо с помощью оператора Call, либо по имени. В случае вызова процедуры с использованием оператора Call список параметров заключается в скобки: 9 Call ИмяПроцедуры(СписокПараметров) В случае вызова процедуры по имени список параметров приводится без скобок: ИмяПроцедуры СписокПараметров 206 Глава 4 Размещение общей процедуры в проекте. Общая процедура может входить в состав программного модуля одной из форм проекта (в файл с расширением frm). Общая процедура может быть также размещена в стандартном программном модуле (файле с расширением bas). Область видимости процедуры. Общие и событийные процедуры могут быть локальными и глобальными. Локгшьная процедура доступна только внутри данного программного модуля и не может быть вызвана из другого модуля. Например, локальная общая процедура, размещенная в программном модуле некоторой формы, не может быть вызвана из программного модуля другой формы. Локальная процедура задается с помощью ключевого слова Private: Private Siab ИмяПроцсдуры программный код End Sub Глобальные процедуры доступны, то есть могут быть вызваны, из всех программных модулей проекта. Глобальная процедура задается с помощью ключевого слова Public (по умолчанию, если перед ключевым словом Sub отсутствуют ключевые слова, процедура является глобальной): Public Sub ИмяПроцедуры программный код End S\jb Область видимости переменной. Переменные также могут быть локальными и глобальными {открытыми). Локальная переменная доступна только внутри процедуры или программного модуля и к ней невозможно обращение из другой процедуры или модуля. Локальная переменная определяется с помощью ключевого слова Dim. Если переменная определена перед процедурой, то она может быть вызвана только в этой процедуре; если она определена перед программным модулем в области (Gene-ral){Declaration) программного кода, то она может быть вызвана только в этом модуле. К глобальным переменным может быть произведено обращение из всех программных модулей проекта. Глобальная переменная определяется с помощью ключевого слова Global в области {General){Declaration) программного кода. Создадим проект, который наглядно продемонстрирует (с использованием графических методов) возможности использования общих процедур. Основы алгоритмизации и программирования 207 Пусть проект будет включать три формы. На первую форму должен выводиться рисунок простейшего домика, который будет состоять из стены (прямоугольник) и крыши (треугольник). На второй и третьей форме должны рисоваться несколько домиков различных размеров. Программный модуль, реализующий рисование домика на первой форме, будет состоять из двух событийных процедур. Систему координат и масштаб зададим с помощью метода Scale, а для рисования стены и крыши будем использовать графический метод Line. Проект «Рисование домика» 1. Разместить на форме frml две командные кнопки стс1Стена и стс1Крыша и создать для них событийные процедуры рисования стены и крыши: Private Sub стс1Стена_С11ск () Scale (О, 170)-(350, 0) frml.Line (20, 100)-(220, 20), , В End Sub Private Sub cmdKpbima_Clic)c () Scale (0, 170)-(350, 0) frml.Line (20, 100)-(220, 100) frml.Line (20, 100)-(120, 150) frml.Line (120, 150)-(220, 100) End Sub Теперь необходимо нарисовать несколько домиков различного размера на второй форме. Если использовать событийные процедуры, то для каждого домика нужно будет создавать свои процедуры, а это очень трудоемко. Для рисования домика целесообразно создать общую процедуру Домик2 (XI, Х2, Y1, Y2 As Single), которая имеет только список входных параметров (координаты углов стены). Выходных параметров эта процедура не имеет. Поместим код общей процедуры Домик2 в программный модуль первой формы и, для того чтобы ее вызов мог производиться из программного модуля второй формы, сделаем эту процедуру глобальной. 2. Ввести код глобальной общей процедуры Домик2 в программный код первой формы frm 1: Public Sub Домик2(Х1, Х2, Y1, Y2 As Single) frm2.Line frm2.Line frm2.Line frm2.Line End Sub (XI, (XI, (XI, ((XI Y1)-(X2, Yl)-(X2, Yl)-((XI + X2)/2, Y2), , В Yl) + X2)/2, Yl Yl + Yl/2)- + Yl/2) (X2, Yl) 208 Глава 4 Создадим в программном модуле второй формы событийную процедуру стс1Домики2_С11ск О. Процедура будет обеспечивать рисование трех домиков путем вызова с помощью оператора Call из программного модуля первой формы общей процедуры Домик с различными значениями входных параметров. 3. Добавить в проект форму командой [Project-Add Form]. Поместить на форму f гт2 кнопку cmdДoмики2. 4. Ввести код событийной процедуры ст(1Цомики2_С11ск: () в программный код второй формы frm2: Private Sub cmdfloMMKM2_Click () frm2.Scale (0, 170)-(350, 0) Call frml .Домик2 (10, 50, 50, 10) Call frml .Домик2 (60, 150, 100, 40) Call frml .Домик2 (160, 320, 110, 50) End Sub Для рисования трех домиков на третьей форме разместим общую процедуру ДомикЗ в отдельном стандартном программном модуле. В области (General)(Declaration) программного кода определим используемые в качестве координат на всех трех формах переменные XI, Х2, Y1, Y2 как глобальные. 5. Добавить в проект стандартный программный модуль командой [Project-Add Module]. В окне Программный код определить переменные и ввести процедуру: Global XI, Х2, Y1, Y2 As Single Public Sub ДомикЗ (XI, X2, Yl, Y2 As Single) (XI, (XI, (XI, { (XI Y1)-(X2, Y1)-(X2, Yl)-((XI + X2)/2, В Y2) , Yl) + X2)/2, Yl Yl + Yl/2)- + Yl/2) (X2, Yl) frm3.Line frm3.Line frm3.Line frm3.Line End Sub 6. Сохранить программный модуль в папке проекта командой [File-Save Modulel.bas As ...]. Создадим в программном модуле третьей формы событийную процедуру cmdfloMHKH3_Click (). Процедура будет обеспечивать рисование трех домиков путем вызова из стандартного программного модуля общей процедуры Домик с различными значениями входных параметров. 7. Добавить в проект форму командой [Project-Add Form]. Поместить на форму f гтЗ кнопку cmdДoмикиЗ. 8. Ввести код событийной процедуры cmdfloMHKn3_C 1 i с к () в программный код третьей формы frm3: Основы алгоритмизации и программирования 209 Private ЗгдЬ стс1ДомикиЗ_С11ск () frm3.Scale (О, 170)-(350, 0) Modulel .Домик 10, 50, 50, 10 Modulel. Домик 60, 150, 100, 40 Modulel. Домик 160, 320, 110, 50 End Sub Для показа второй и третьей формы используем метод Show. 9. Поместить на форму f rml кнопки cmd2 и cmd3. Создать для них событийные процедуры, реализующие показ второй и третьей форм: Private Sub cmd2_Click() frm2.Show End ЗгдЬ Private Sxjb cmd3_Click() frm3.Show End Sub 10. Запустить проект. Последовательно щелкнуть по кнопкам событийных процедур. На первой форме будет нарисован один домик, а на второй и третьей формах по три домика. С Поимки Поиики Проект хранится в каталоге \textbookWB\prjVB13\__________ CD-ROM Вопросы дл];^^змышления 1. В чем состоит отличие общей процедуры от событийной процедуры? 2. Какой может быть общая процедура: локальной или глобальной? 3. Какие переменные — локальные или глобальные — могут использоваться в локальных процедурах? В глобальных процедурах? 210 Глава 4 Практические задания 4.25. Разработать проект, позволяющий рисовать на каждой из двух форм по пять треугольников. 4.12. Модульный принцип построения проекта и программного кода в объектно-ориентированном программировании проект может включать несколько форм, причем каждой форме, с помощью которой реализуется графический интерфейс проекта, соответствует свой программный модуль. Кроме того, в состав проекта могут входить отдельные стандартные программные модули. С Проект включает в себя программные модули форм и стандартные программные модули в виде отдельных файлов. Проект может быть запущен на выполнение только из системы программирования Visual Basic. Программный модуль формы может включать несколько процедур. В языке Visual Basic процедуры могут быть двух типов: событийные и общие. Событийные процедуры позволяют создавать интерактивные приложения, так как дают пользователю возможность выполнять тот или иной алгоритм с помощью определенного действия (например, щелчка по кнопке графического интерфейса). Общая процедура начинает выполняться после ее вызова из другой процедуры. Ознакомимся с составом проекта на примере предыдущего проекта «Рисование домика». В этот проект входят три формы frml, frm2, frm3 и стандартный программный модуль Modulel. В программном модуле формы frml.frm имеются одна глобальная общая процедура и четыре локальные событийные процедуры, в программных модулях frm2 frm и frmS.frm — по одной локальной событийной процедуре. В стандартном программном модуле Modulel.bas находится глобальная общая процедура: Основы алгоритмизации и программирования 211 Проект prjVB12 vbp Программный модуль формы frmi frm • Глобальная общая процедура Домик2 (XI, Х2, Y1, У2 As Single) Локальная событийная процедура стс1Стена_С11ск Локальная событийная процедура стс1Крыша_С11ск Локальная событийная процедура cmd2_Click Локальная событийная процедура cmd3_Click Программный модуль формы fmi2 frm Локальная событийная процедура стбДомики2 Click Программный модуль формы frm3 fnri Локальная событийная процедура стбДомикиЗ Click Стандартный программный модуль Modulel bas Глобальная общая процедура ДомикЗ (XI, Х2, Y1, Y2 As Single) Проект и его компиляция в приложение Запустить проект «Рисование домика». В окне Проводник проекта ознакомиться с файлами, которые входят в состав проекта: файл проекта prjVB12.vbp, программные модули форм frm1 frm, frm2.frm, frmS.frm и стандартный программный модуль Modulel .bas. Project - Projectl Profectl fpriVB12.v ' Forms & frml (frml frm) Q frm2 (frm2 frni) Q frm3 (frm3 frm) ^ Modules Modulel (Modulel bas) Файлы, входящие в проект, — текстовые, и поэтому проект может выполняться только в системе программирования Visual Basic. Для просмотра файлов проекта необходимо открыть их в текстовом редакторе, например в Блокноте. 2. Ознакомиться с файлом проекта prjVB12.vbp, который содержит перечень входящих в него форм и стандартных программных модулей, определяет форму, с которой запускается проект, и др. штшш- - п X Файл Правка Формат Вид Справка Гуре=Ече ^eference=*\G{00020430-00C“ Fomn=frml frm Form=frm2 frm Module=Modu1el; Modulel.ba Form=frm3 frm IconForm="frml" SCartup="frml" U_____i I 212 Глава 4 3. Ознакомиться с файлом формы, например формы frm2.frm. Файл формы содержит значения установленных свойств для всех объектов графического интерфейса (форма frm2 и кнопка стс1Домики2), а также программный код событийной процедуры стс1Домики2_Сйск(). Ф&йл г^>аб)<^ Формат Вид сграека VERSION 5 00 Begin VB Form frm2 Backed or Caption Cl lentHeight Cl lentLeft Cl lentTop CllentWidth LinkTopic ScaleHeight Scalewidth <&H00FFFFFF& Домики 2 2496 4140 3300 4092 Forml" 2496 4092 Begin V6 CenmandButton стдДомики2 Caption = Домики Height e 492 Left я 2160 TaDIndex « 0 ^oo = 1920 width = 1452 bnd End Private Sub стёДомики2_С1 ickQ frm2 Scale (0, 170)-(350, 0) Call frml Домик2(10, 50, 50, 10) Call frml Домик2(60, 150, 100, 40) call frml Домик2(1б0, 320, 110, 50) End Sub Ы ( I Файл Грэека Формат Ознакомиться с файлом стандартного программного модуля Мо-dulel.bas. Файл содержит глобальную общую процедуру ДомикЗ(XI,Х2,Y1, Y2 As Single) . Вид Справка 'ModuTel' Attribute v8_Name Public Sub Домик3(xl, X2, Yl, y2 as Single) frm3 Line Cxl. Y1)-ft VMJrflBrfvk -Ред<*с1иро*|1ние [ 8te S'lggft f^mat Detxig g^n looc &dd-ms иу>^ It A ibi a a (7 | ^ Collapse __ Й* Columns 3 * } I eS* ColumnSelecftlode Рис. 4.19. Перечень свойств и методов выбранного объекта Selection Во-вторых, в любой момент можно получить перечень всех классов объектов VBA, а для каждого класса — перечень свойств и методов. Для этого необходимо выделить в тексте программы имя объекта, осуществить правый щелчок и в появившемся контекстном меню выбрать пункт Просмотр объектов или ввести команду [Вид-Просмотр объектов]. В появившемся окне Про- Просмотр обаектоа |<Все библиотеки> Классы й Dictionary Л Document *S DocumeniPrope *3 DocumentPrope «S Documents i DropCap Й DropDown ^ ■~3 iikJ Компонент ^Documents ^ o'e uS* Count ^ Creator Item Parent Save Function Op*r\{fileNarrie, [ConfrmConversions], [ReadOnfy] {AckHoRecentFiies] [PasswordDocumenf], [PasswonJTеп^?Ше]. {Revarf} jJ Sj смотр объектов в его левой части можно выбрать класс объектов (например. Documents), а в правой части окна выбрать интересующее нас свойство или метод (например, метод Open). В нижней части окна будет выведена краткая информация о формате задания метода или свойства (рис. 4.20). Формат метода Open В-третьих, редактор кода проводит автоматическую проверку синтаксиса набранной строки после нажатия клавиши {Enter}. Если в строке допущена ошибка, то она выделяется красным цветом. Для устранения ошибки в помощь пользователю на экране отображается диалоговая панель, на которой содержится информация о допущенной ошибке. В-четвертых, если курсор расположить на ключевом слове языка VBA (имени объекта, метода, свойства или инструкции) и нажать клавишу {F1}, то появится окно с развернутой справочной информацией. В окне Проводник проекта можно ознакомиться с иерархической структурой файлов программных модулей проек- Основы алгоритмизации и программирования 229 та. В проекте автоматически создаются программные модули для каждого документа, кроме того, можно создать программные модули форм и стандартные программные модули (макросы). 4.15.3. Кодирование алгоритмов в форме макросов В программной среде Windows&Office существует достаточно простая возможность кодирования алгоритмов, связанных с преобразованием документов. Для этого пользователь должен выполнить алгоритм вручную, то есть ввести последовательность команд путем активизации пунктов меню приложения и нажатия клавиш клавиатуры. Последовательность действий пользователя будет записана в форме макроса (стандартного программного модуля на языке VBA). Каждому макросу задается имя, а для быстрого запуска макроса можно создать кнопку макроса или присвоить ему «горячую» клавишу (клавишу, по нажатию на которую будет производиться запуск макроса). После запуска макрос будет автоматически выполнен тем приложением, в котором он запущен (Word, Excel и др.). Макрос — это имеющая имя последовательность заданных пользователем команд, хранящаяся в форме стандартного программного модуля на языке VBA. Макросы в приложении Word. В любом документе приложения Word можно создавать макросы, реализующие редактирование и форматированиие документа. Готовые макросы, являющиеся стандартными программными модулями на VBA, можно многократно запускать на выполнение. При необходимости программный код макроса можно редактировать. Создадим макрос, который будет содержать код на языке VBA рассмотренного ранее алгоритма «Редактирование*. Проанализируем полученный программный код стандартного макроса. 4.1. Алгоритм и его формальное исполнение Сначала необходимо осуществить запись макроса. 230 Глава 4 Макрос Редактирование 1. Открыть в приложении Word исходный документ Редактирование TeKCTa.doc, содержащий текст «информационная модель». Запись макроса ^ макроса I |реда<тираьание I Назначить макрос кпаеишан Макрос 4рступ»1 для 2. Ввести команду [Сер-вис-Макрос-Начать запись...]. На появившейся диалоговой панели Запись макроса в поле Имя макроса: задать имя макроса — Редактирование. Для быстрого запуска макроса можно создать кнопку или назначить ему «горячую» клавишу. 3. Выполнить алгоритм «Редактирование» (вручную выполнить последовательность команд): 1) с помощью клавиату- |все* докум&1ТС® (Обычньи dot) 3 Макрос записан 19 0100 Угртоеич Нкюлаи Дмитриевич ры выделить символы с 1-го по 15-й; 2) ввести команду [Прав-ка-Вырезать]; 3) с помощью клавиатуры установить курсор после позиции 7-го символа; 4) ввести команду [Прав-ка-Вставить] и получить результат выполнения алгоритма. jJH Редактирование текста doc 355ВдВ®5Щмодель | _____I ( дЛ Д Редактирование текста doc модель HH^iqDManHOHHa^ _______I I 4. Ввести команду [Сервис-Макрос-Остановить запись]. Созданный макрос Редактирование является стандартным программным модулем на языке VBA, в котором закодирован алгоритм «Редактирование». Теперь макрос может быть выполнен исполнителем (приложением Word) в автоматическом режиме. Основы алгоритмизации и программирования 231 5. Открыть в приложении Word исходный документ. Ввести команду [Сер-вис-Макрос-Макросы...]. На открывшейся диалоговой панели Макросы выбрать имя нужного макроса и щ;елкнуть по кнопке Выполнить. ■ ?|Х| Auto Open Auto£>ec Man AutnE» LMan Deter mneOSVerton OetermreWhichApp DisiNVTCeanLp HdePCFWritsrUI FTniPOFFile SrutdowrCetMar T ogg lePoe ТооЫг Ь^фосмиэ шаблонов ”3 УГрйИОвНЧ Дг«<тривв>44 Макрос хранится в файле Редактирование TeKCTa.doc в каталоге \textbook\VBA\ CD-ROM Макрос является стандартным программным модулем на языке VBA, поэтому имеется возможность его доработки путем редактирования непосредственно программного кода. 6. Открыть в приложении Word исходный документ. Ввести команду [Сервис-Макрос-Макросы...]. На открывшейся диалоговой панели Макросы выбрать имя нужного макроса и щелкнуть по кнопке Изменить. 7. Появится окно Программный код, содержащее программный код стандартного программного модуля: Sub Редактирование() Selection.MoveRight Unit:=wdCharacter, _ Count:=15, Extend:=wdExtend Selection.Cut Selection.MoveRight Unit:=wdCharacter, Count:=7 Selection.Paste End Sub Проанализируем полученный программный код стандартного модуля. В алгоритме производятся операции над фрагментом текста (объект Selection), поэтому в программном модуле используются методы, которыми обладает этот объект. В первой строке программы для выделения символов применяется метод MoveRight (переместить вправо) с тремя аргументами. Первый аргумент определяет единицу перемещения по документу и получает значение символа текста (Unit: =wdCharacter). Второй аргумент задает количество символов (Count:=15). Третий аргумент фиксирует, что все символы необходимо выделить (Extend: =wdExtend). 232 Глава 4 Во второй строке для вырезания символов и помещения их в буфер к выделенному фрагменту применяется метод Cut (^вырезать). В третьей строке для перемещения курсора и установки его в определенную позицию в тексте опять применяется метод MoveRight, но уже только с двумя аргументами: Unit: =wdCharacter, Count: =7. В этом случае курсор просто перемещается на заданное количество символов без их выделения. В четвертой строке для вставки из буфера находящегося в нем вырезанного фрагмента текста применяется метод Paste (вставить). Макросы в приложении Excel. Создадим макрос, который будет содержать код на языке VBA алгоритма «Умножение*, и проанализируем программный код полученного стандартного программного модуля. Запишем алгоритм «Умножение*, который предусматривает ввод и умножение чисел: 1. Ввести число (например, 2) в первую ячейку (например, А1). 2. Ввести число (например, 3) во вторую ячейку (например, В1). 3. Ввести формулу (например, =А1*В1) в третью ячейку (например, С1). Макрос Умножение 1. Запустить приложение Excel. Ввести команду [Сер-вис-Макрос-Начать запись...]. На появившейся диалоговой панели Запись макроса в поле Имя макроса: задать макросу имя Умножение. 2. Выполнить алгоритм «Умножение* вручную: 1) выделить ячейку А1 и ввести в нее число 2; 2) выделить ячейку В1 и ввести в нее число 3; 3) выделить ячейку С1 и ввести в нее формулу =А1*В1. 3. Ввести команду [Сервис-Макрос-Остановить запись]. Макрос хранится в файле Макросы и проекты xls в каталоге \textbook\VBA\ CD-ROM КЖ 4. Ввести команду [Сервис-Макрос-Макросы...]. На открывшейся диалоговой панели Макросы выбрать макрос Умножение и щелкнуть по кнопке Изменить. Основы алгоритмизации и программирования 233 5. Появится окно, содержащее программный код стандартного модуля: ЗглЬ Умножение О ActiveCell.FormulaRlCl Range("Bl").Select ActiveCell.FormulaRlCl Range("Cl").Select ActiveCell.FormulaRlCl End Sub = »» 2 ** = "3' = "=RC[-2]*RC[-i; Проанализируем полученный программный код макроса Умножение. Первая строка содержит имя объекта Active-Cell (активная ячейка), свойству которого FormulaRlCl (формула) присваивается числовое значение 2. Во второй строке выделяется ячейка В1 с помощью объекта Range("В1") и его метода Select. Третья и четвертые строки аналогичны по своему синтаксису строкам, рассмотренным выше. В пятой строке в активную ячейку вводится формула. Свойство FormulaRlCl требует ввода адресов ячеек в формате R1C1, в этом случае Rows (строки) и Columns (столбцы) отсчитываются от активной ячейки. После знака ♦-» указывается величина смещения от активной ячейки, которая в данном формате имеет адрес R1C3 или в обычном формате записи — С1. Следовательно, запись "=RC[-2] *RC[-1] " соответствует записи "=А1 * В1". Практические задания 4.34. Записать макрос, который преобразует слово «информатика» в слово «форма». Проанализировать программный код полученного стандартного модуля. 4.15.4. Создание проектов С помощью VBA можно создавать проекты с графическим интерфейсом. Проект в приложении Word. Преобразуем макрос (стандартный программный модуль) Редактирование, который осуществляет редактирование документа в приложении Word, в проект «Редактирование» с графическим интерфейсом в виде кнопки на форме. 234 Глава 4 Проект «Редактирование» 1. Открыть в приложении Word исходный документ Редактирование TeKCTa.doc. Запустить интегрированную среду разработки VBA командой [Сервис-Макрос-Редактор Visual Basic]. 2. Добавить в проект форму UserForml командой [1п-sert-UserForm]. 3. С помощью панели инструментов поместить на форму кнопку CommandButtonl. 4. С помощью окна Свойства обтьекта присвоить свойству Name формы и кнопки новые значения f rmEdit и cmdEdit. Изменить также надписи, цвет и так далее. Создадим событийную процедуру и скопируем в нее программный код макроса. 5. Осуществить двойной щелчок по кнопке cmdEdit. В окне Программный код появится заготовка событийной процедуры cmdEdit_Click() . В окне Проводник проекта видно, что в состав проекта «Редактирование» входят программный модуль документа ThisDocument, программный модуль формы frmEdit и стандартный программный модуль moduleEdit. LgJjiJ П- 0 R Project (Редактирование) - ^ Microsoft Word Objects ® ThisDocument - Forms d frmEdit - Modules ,iJ Осуществить двойной щелчок на имени стандартного программного модуля. 7. В открывшемся окне Программный код выделить код модуля и скопировать его в заготовку событийной процедуры. Событийная процедура примет вид: Private Sub cmdEdit_Click() Selection.MoveRight Unit:=wdCharacter, _ Count:=15, Extend:=wdExtend Selection.Cut Selection.MoveRight Unit:=wdCharacter, Count:=7 Selection.Paste End Sub Основы алгоритмизации и программирования 235 8. В окне Проводник проекта осуществить двойной щелчок на имени программного модуля формы f rmEdit и запустить проект на выполнение. Появится окно документа с формой внутри. Щелкнуть по кнопке Редактировать, будет выполнено редактирование исходного текста. ■ч;ыи. и-ос» а ц ьл ФОРИЭГ Сервис Таблица Окно Оправка -т • 1. 1 г ‘ 3 1 4 zj Информационная модель _| »'Д1 о. 1 Редакпфовать ! о а а 3 1 ш’ Стр 1 Разд 1 1/1 на 2,5см ‘ ^ В состав проекта на VBA может входить несколько программных модулей: программный модуль документа, программные модули форм и стандартные программные модули (макросы). Однако все эти модули хранятся в одном файле -файле самого документа. 9. Сохранить проект командой [File-Save Редактирование TeKCTa.doc]. Проект хранится в файле Редактирование текста.doc CD-ROM в каталоге \textbook\VBA\ Проект в приложении Excel. Разработаем в приложении Excel проект «Калькулятор», который будет выполнять четыре арифметических действия. 4.9.2. Математические функции Интерактивный диалог пользователя будем осуществлять с помощью графического интерфейса, а вычисления — с использованием возможностей электронных таблиц. Проект «Калькулятор» 1. Открыть в приложении Excel исходный документ Макросы и npoeKTbi.xls. Запустить интегрированную среду разработки VBA командой [Сервис-Макрос-Редактор Visual Basic]. Сначала сконструируем графический интерфейс проекта. Для ввода аргументов и для вывода результата арифметических действий используем текстовые поля, а для вызова событийных процедур, реализующих арифметические действия, — кнопки. 2. Добавить в проект форму UserForml командой [Insert-UserForm]. Присвоить ей имя f rmCalc. 236 Глава 4 3. С ПОМОЩЬЮ панели инструментов поместить на форму три текстовых поля и пять кнопок. Присвоить полям имена txtl, txt2, txt3, а кнопкам — cmdPlus, cmdMi-nus,cmdUmn, cmdDelen, cmdExit. Создадим теперь событийные процедуры сложения, вычитания, умножения, деления и выхода из программы. Сначала необходимо присвоить ячейкам электронной таблицы с помощью функции Val числовые значения, которые будут вводиться в текстовые поля аргументов. Затем в текстовое поле результата необходимо вывести значение одной из ячеек, содержащих формулы арифметических операций. Аргументы в электронной таблице будут храниться в ячейках А1 и В1, а формулы сложения, вычитания, умножения и деления — соответственно в ячейках С1, С2, СЗ и С4. При адресации ячеек необходимо помнить, что в VBA ячейки являются объектами семейства Cells (R,C), где R — номер строки, а С — номер столбца. 4. Для каждой из кнопок ввести программные коды событийных процедур. Программный код событийной процедуры сложения cmdPlus_Click () будет следующий: Private Sub cmdPlus_Click () Cells (1, 1) = Val(txtl.Text) Cells(l, 2) = Val(txt2.Text) txtS.Text = Cells (1, 3) End Sub 5. Установить для свойства Alignment текстовых полей значение Right Justuf у и подходящий размер шрифта с использованием свойства Font. 6. Запустить проект на выполнение. Ввести числа в два левых текстовых поля и щелкнуть по кнопке арифметической операции. В правом поле будет выведен результат. Проект хранится в файле Макросы и проекты xls в каталоге \textbook\VBA\ CD-ROM Практические задания 4.35. На базе проекта «Калькулятор» создать проект «Инженерный калькулятор». Глава 5_______ Моделирование и формализация 5.1. Моделирование как метод познания Моделирование. Человечество в своей деятельности (научной, образовательной, технологической, художественной) постоянно создает и использует модели окружающего мира. Строгие правила построения моделей сформулировать невозможно, однако человечество накопило богатый опыт моделирования различных объектов и процессов. Модели позволяют представить в наглядной форме объекты и процессы, недоступные для непосредственного восприятия (очень большие или очень маленькие объекты, очень быстрые или очень медленные процессы и др.). Наглядные модели часто используются в процессе обучения. В курсе географии первые представления о нашей планете Земля мы получаем, изучая ее модель — глобус, в курсе физики изучаем работу двигателя внутреннего сгорания по его модели, в химии при изучении строения вещества используем модели молекул и кристаллических решеток, в биологии изучаем строение человека по анатомическим муляжам и др. Модели играют чрезвычайно важную роль в проектировании и создании различных технических устройств, машин и механизмов, зданий, электрических цепей и т. д. Без предварительного создания чертежа (рис. 5.1) невозможно изготовить даже простую деталь, не говоря уже о сложном механизме. Рис. 5.1. Чертеж В процессе проектирования зданий и сооружений кроме чертежей часто изготавливают макеты. В процессе разработки летательных аппаратов поведение их моделей в воздушных потоках исследуют в аэродинамической трубе. 238 Глава 3 -(g)— ---- Рис. 5.2. Электрическая схема Разработка электрической схемы обязательно предшествует созданию электрических цепей и так далее. Развитие науки невозможно без создания теоретических моделей (теорий, законов, гипотез и пр.), отража-ющ,их строение, свойства и поведение реальных объектов. Создание новых теоретических моделей иногда коренным образом меняет представление человечества об окружающем мире (гелиоцентрическая система мира Коперника, модель атома Резерфорда-Бора, модель расширяющейся Вселенной, модель генома человека и пр.). Адекватность теоретических моделей законам реального мира проверяется с помощью опытов и экспериментов. Все художественное творчество фактически является процессом создания моделей. Например, такой литературный жанр, как басня, переносит реальные отношения между людьми на отношения между животными и фактически создает модели человеческих отношений. Более того, практически любое литературное произведение может рассматриваться как модель реальной человеческой жизни. Моделями, в художественной форме отражающими реальную действительность, являются также живописные полотна, скульптуры, тетральные постановки и пр. ь Моделирование — это метод познания, состоящий в создании и исследовании моделей. Модель. Каждый объект имеет большое количество различных свойств. В процессе построения модели выделяются главные, наиболее существенные для проводимого исследования свойства. В процессе исследования аэродинамических качеств модели самолета в аэродинамической трубе важно, чтобы модель имела геометрическое подобие оригинала, но не важен, например, ее цвет. При построении электрических схем — моделей электрических цепей — необходимо учитывать порядок подключения элементов цепи друг к другу, но не важно их геометрическое расположение друг относительно друга и так далее. Разные науки исследуют объекты и процессы под разными углами зрения и строят различные типы моделей. В фи- Моделирование и формализация 239 зике изучаются процессы взаимодействия и изменения объектов, в химии — их химический состав, в биологии — строение и поведение живых организмов и так далее. Возьмем в качестве примера человека: в разных науках он исследуется в рамках различных моделей. В рамках механики его можно рассматривать как материальную точку, в химии — как объект, состоящий из различных химических веществ, в биологии — как систему, стремящуюся к самосохранению, и так далее. Модель — это некий новый объект, который отражает существенные особенности изучаемого объекта, явления или процесса. География, военное дело, судоходство и пр. невозможны без информационных моделей поверхности Земли в виде карт (рис. 5.3). Различные типы географических карт (политические, физические и пр.) представляют информационные модели, отражающие различные особенности земной поверхности, то есть один и тот же объект отражают несколько моделей. С другой стороны, разные объекты могут описываться одной моделью. Так, в механике различные материальные тела (от планеты до песчинки) могут рассматриваться как материальные точки. Рис. 5.3. Географическая карта Один и тот же объект может иметь множество моделей, а разные объекты могут описываться одной моделью. Никакая модель не может заменить сам объект. Но при решении конкретной задачи, когда нас интересуют определенные свойства изучаемого объекта, модель оказывается полезным, а подчас и единственным инструментом исследования. 240 Глава 5 Вопросы ДЛЯ размышления 1. Может ли объект иметь несколько моделей? Приведите пример. 2. Могут ли разные объекты описываться одной и той же моделью? Если да, приведите пример. 5.2. Формы представления моделей. Формализация Модели материальные и модели информационные. Все модели можно разбить на два больших класса: модели предметные (материальные) и модели информационные. Предметные модели воспроизводят геометрические, физические и другие свойства объектов в материальной форме (глобус, анатомические муляжи, модели кристаллических решеток, макеты зданий и сооружений и др.). Информационные модели представляют объекты и процессы в образной или знаковой форме. Образные модели (рисунки, фотографии и др.) представляют собой зрительные образы объектов, зафиксированные на каком-либо носителе информации (бумаге, фото- и кинопленке и др.). Широко используются образные информационные модели в образовании (вспомните учебные плакаты по различным предметам) и науках, где требуется классификация объектов по их внешним признакам (в ботанике, биологии, палеонтологии и др.). Знаковые информационные модели строятся с использованием различных языков (знаковых систем). Знаковая информационная модель может быть представлена в форме текста (например, программы на языке програ^миро^ния), формулы (например, второго закона Ньютона F = т - а), таблицы (например, периодической таблицы элементов Д. И. Менделеева) и так далее. Иногда при построении знаковых информационных моделей используются одновременно несколько различных языков. Примерами таких моделей могут служить географические карты, графики, диаграммы и пр. Во всех этих моделях используются одновременно как язык графических элементов, так и символьный язык. Моделирование и формализация 241 На протяжении своей истории человечество использовало различные способы и инструменты для создания информационных моделей. Эти способы постоянно совершенствовались. Так, первые информационные модели создавались в форме наскальных рисунков, в настоящ;ее же время информационные модели обычно строятся и исследуются с использованием современных компьютерных технологий. Формализация. Естественные языки используются для создания описательных информационных моделей. В истории науки известны многочисленные описательные информационные модели; например, гелиоцентрическая модель мира, которую предложил Коперник, формулировалась следующим образом: • Земля вращается вокруг своей оси и вокруг Солнца; • орбиты всех планет проходят вокруг Солнца. С помощью формальных языков строятся формальные информационные модели (математические, логические и др.). Одним из наиболее широко используемых формальных языков является математика. Модели, построенные с использованием математических понятий и формул, называются математическими моделями. Язык математики является совокупностью формальных языков. С некоторыми из них (алгебра, геометрия, тригонометрия) вы знакомитесь в школе, с другими (теория множеств, теория вероятностей и др.) сможете ознакомиться в процессе дальнейшего обучения. Язык алгебры позволяет формализовать функциональные зависимости между величинами. Так, Ньютон формализовал гелиоцентрическую систему мира, открыв законы механики и закон всемирного тяготения и записав их в виде алгебраических функциональных зависимостей. В школьном курсе физики рассматривается много разнообразных функциональных зависимостей, выраженных на языке алгебры, которые представляют собой математические модели изучаемых явлений или процессов. Язык алгебры логики (алгебры высказываний) позволяет строить формальные логические модели. С помощью гшгебры высказываний можно формализовать (записать в виде логических выражений) простые и сложные высказывания, выраженные на естественном языке. Построение логических моделей позволяет решать логические задачи, строить логические модели устройств компьютера (сумматора, триггера) и так далее. 242 Глава 5 ^ Процесс построения информационных моделей с а помощью формальных языков называется форма- лизацией. В процессе познания окружающего мира человечество постоянно использует моделирование и формализацию. При изучении нового объекта сначала обычно строится его описательная информационная модель на естественном языке, затем она формализуется, то есть выражается с использованием формальных языков (математики, логики и др.). Визуализация формальных моделей. В процессе исследования формальных моделей часто производится их визуализация. Для визуализации алгоритмов используются блок-схемы; пространственных соотношений между объектами — чертежи, моделей электрических цепей — электрические схемы, логических моделей устройств — логические схемы и так далее. Так при визуализации формальных физических моделей с помощью анимации может отображаться динамика процесса, производиться построение графиков изменения физических величин и так далее. Визуальные модели обычно являются интерактивными, то есть исследователь может менять начальные условия и параметры протекания процессов и наблюдать изменения в поведении модели. http //WWW college ru/physics/applets/11a htm Интернет В качестве примера можно рассмотреть модель, которая демонстрирует свободные колебания математического маятника. С помощью анимации показываются движение тела и действующие силы, строятся графики зависимости от времени угловой координаты или скорости, диаграммы потенциальной и кинетической энергий (рис. 5.4). Исследователь может изменять длину нити I, угол на- Рис. 5.4. Модель математического маятника чального отклонения маятника фц и коэффициент вязкого трения Ь. Моделирование и формализация 243 Вопросы дл^|ре1В1ышления 1. Какие бывают модели? Приведите примеры материальных и информационных моделей. 2. Что такое формализация? Приведите примеры формальных моделей. Практические задания 5.1. Найти в Интернете и ознакомиться с визуализированными формальными моделями из различных предметных областей. 5.3. Системный подход в моделировании Понятие о системе. Окружающий нас мир состоит из множества различных объектов, каждый из которых имеет разнообразные свойства, и при этом объекты взаимодействуют между собой. Например, такие объекты, как планеты нашей Солнечной системы, имеют различные свойства (массу, геометрические размеры и пр.) и по закону всемирного тяготения взаимодействуют с Солнцем и друг с другом. Планеты входят в состав более крупного объекта — Солнечной системы, а Солнечная система — в состав нашей галактики «Млечный путь». С другой стороны, планеты состоят из атомов различных химических элементов, а атомы — из элементарных частиц. Можно сделать вывод, что практически каждый объект состоит из других объектов, то есть представляет собой систему. Важным признаком системы является ее целостное функционирование. Система является не набором отдельных элементов, а совокупностью взаимосвязанных элементов. Например, компьютер является системой, состоящей из различных устройств, при этом устройства связаны между собой и аппаратно (физически подключены друг к другу) и функционально (между устройствами происходит обмен информацией). 244 Глава 5 0 Система является совокупностью взаимосвязанных объектов, которые называются элементами системы. Состояние системы характеризуется ее структурой, то есть составом и свойствами элементов, их отношениями и связями между собой. Система сохраняет свою целостность под воздействием различных внешних воздействий и внутренних изменений до тех пор, пока она сохраняет неизменной свою CTpjnc-туру. Если структура системы меняется (например, удаляется один из элементов), то система может перестать функционировать как целое. Так, если удалить одно из устройств компьютера (например, процессор), компьютер выйдет из строя, то есть прекратит свое существование как система. Статические информационные модели. Любая система существует в пространстве и во времени. В каждый момент времени система находится в определенном состоянии, которое характеризуется составом элементов, значениями их свойств, величиной и характером взаимодействия между элементами и так далее. Так, состояние Солнечной системы в любой момент времени характеризуется составом входящих в нее объектов (Солнце, планеты и др.), их свойствами (размерами, положением в пространстве и др.), величиной и характером взаимодействия между собой (силами тяготения, с помощью электромагнитных волн и др.). Модели, описывающие состояние системы в определенный момент времени, называются статическими информационными моделями. В физике примером статических информационных моделей являются модели, описывающие простые механизмы, в биологии — модели строения растений и животных, в химии — модели строения молекул и кристаллических решеток и так далее. Динамические информационные модели. Состояние систем изменяется во времени, то есть происходят процессы изменения и развития систем. Так, планеты движутся, изменяется их положение относительно Солнца и друг друга; Солнце, как и любая другая звезда, развивается, меняются ее химический состав, излучение и так далее. Модели, описывающие процессы изменения и развития систем, называются динамическими информационными моделями. Моделирование и формализация 245 В физике динамические информационные модели описывают движение тел, в биологии — развитие организмов или популяций животных, в химии — процессы прохождения химических реакций и так далее. Вопросы длй|||№ 1. Образуют ли систему комплектующие компьютера: До сборки? После сборки? После включения компьютера? 2. В чем разница между статическими и динамическими информационными моделями? Приведите примеры статических и динамических информационных моделей. 5.4. Типы информационных моделей Информационные модели отражают различные типы систем объектов, в которых реализуются различные структуры взаимодействия и взаимосвязи между элементами системы. Для отражения систем с различными структурами используются различные типы информационных моделей: табличные, иерархические и сетевые. 5.4.1. Табличные информационные модели Одним из наиболее часто используемых типов информационных моделей является прямоугольная таблица, которая состоит из столбцов и строк. Такой тип моделей применяется для описания ряда объектов, обладающих одинаковыми наборами свойств. С помощью таблиц могут быть построены как статические, так и динамические информационные модели в различных предметных областях. Широко известно табличное представление математических функций, статистических данных, расписаний поездов и самолетов, уроков и так далее. В табличной информационной модели обычно перечень объектов размещен в ячейках первого столбца таблицы, а значения их свойств — в других столбцах. Иногда используется другой вариант размещения данных в табличной модели, когда перечень объектов размещается в первой строке таблицы, а значения их свойств — в последующих строках. Подобным образом организованы таблицы истинности логи- 246 Глава 5 ческих функций, рассмотренные в главе 3. Перечень логических переменных и функций размещен в первой строке таблицы, а их значения — в последующих строках. 0 ь 0 в табличной информационной модели перечень однотипных объектов или свойств размещен в первом столбце (или строке) таблицы, а значения их свойств размещаются в следующих столбцах (или строках) таблицы. Построим табличную информационную модель «Цены устройств компьютера». В первом столбце таблицы будет содержаться перечень однотипных объектов (устройств, входящих в состав компьютера), а во втором — интересующее нас свойство (например, цена) — табл. 5.1. Построенная табличная модель позволяет оценить долю стоимости отдельных устройств в цене компьютера и приобрести за минимальную цену компьютер в наиболее производительной конфигурации. Таблица 5.1. Цены устройств компьютера на конец 2001 г. Наименование устройства Цена (в у.е.) Системная плата 80 Процессор Celeron (1 ГГц) 70 Память DIMM 128 Мб 15 Жесткий диск 40 Гб 130 Дисковод 3,5” 14 Видеоплата 16 Мб 30 Монитор 15” 180 Звуковая карта 16 битов 30 Дисковод CD-ROM х52 40 Корпус 25 Клавиатура 10 Мышь 5 Табличные информационные модели проще всего строить и исследовать на компьютере с помощью электронных таблиц и систем управления базами данных. Визуализируем полученную табличную модель путем построения диаграммы в электронных таблицах. 10.5. Построение диаграмм и графиков Моделирование и формализация 247 в Визуализация табличной модели 1. Ввести наименования устройств и их цены в столбцы электронной таблицы. Отсортировать данные по столбцу Цена в порядке убывания. Построить круговую диаграмму. Доля цены комплектующих в компьютере г»уя% ЭПроцксер смета» (1 ГТф ■ ПшпкШМв BftKDMA смой аКорп/с аОискоаодЗ! □Кпмииуре Анализ модели показывает, что увеличение расходов на приобретение более быстрого процессора и увеличение объема оперативной памяти не приведут к заметному увеличению цены компьютера, но позволят существенно повысить его производительность. Модель хранится в файле Model xls в каталоге \textbook\Excel\ CD-ROM Представление объектов и их свойств в форме таблицы часто используется в научных исследованиях. Так, на развитие химии и физики решающее влияние оказало создание Д. И. Менделеевым в конце XIX века периодической системы элементов, которая представляет собой табличную информационную модель. В этой модели химические элементы располагаются в ячейках таблицы по возрастанию атомных весов, а в столбцах — по количеству валентных электронов, причем по положению в таблице можно определить некоторые физические и химические свойства элементов. На уроках химии часто используется печатный вариант периодической системы элементов. Компьютерная модель системы более удобна, так как в интерактивном режиме позволяет знакомиться с различными физическими и химическими свойствами химических элементов (атомная масса, электропроводность, плотность и так далее), уравнивать химические реакции, решать стандартные химические задачи на нахождение массы веществ, участвующих в реакции, и др. Установить приложение Table, которое хранится в каталоге \soft\nnodel\chemistry\table\ CD-ROM 248 Глава 5 Периодическая таблица элементов Д. И. Менделеева 1. Запустить программу Table. С помощью меню Отображать выбрать физическое или химическое свойство элементов, значение которого будет выводиться в ячейки таблицы. 2. Для ознакомления с физическими и химическими свойствами элемента осуществить двойной щелчок на ячейке с названием элемента. На появившейся информационной панели элемента выбрать одну из вкладок со свойствами. Лтп>«а<1 HBtttp 6 ^ Лпжы MattL I po«i{i>sM «I S Tatneptryjiiin mi TtunmrKttypxnt e» Вопросы для Жзмышления 1. Какие системы объектов целесообразно и возможно представлять с помощью табличных моделей? Практические задания 5.2. Построить и исследовать табличную модель, содержащую цены на компьютерные комплектующие на текущий момент. 5.3. Ознакомиться с физическими и химическими свойствами элементов с использованием компьютерной модели периодической таблицы элементов Д. И. Менделеева. Моделирование и формализация 249 5.4.2. Иерархические информационные модели Нас окружает множество различных объектов, каждый из которых обладает определенными свойствами. Однако некоторые группы объектов имеют одинаковые общие свойства, которые отличают их от объектов других групп. Группа объектов, обладающих одинаковыми общими свойствами, называется классом объектов. Внутри класса объектов могут быть выделены подклассы, объекты которых обладают некоторыми особенными свойствами, в свою очередь подклассы могут делиться на еще более мелкие группы и так далее. Такой процесс систематизации объектов называется процессом классификации. В процессе классификации объектов часто строятся информационные модели, которые имеют иерархическую структуру. В биологии весь животный мир рассматривается как иерархическая система (тип, класс, отряд, семейство, род, вид), в информатике используется иерархическая файловая система и так далее. Статическая иерархическая модель. Рассмотрим процесс построения информационной модели, которая позволяет классифицировать современные компьютеры. Класс Компьютеры можно разделить на три подкласса: Суперкомпьютеры, Серверы и Персональные компьютеры. Компьютеры, входящие в подкласс Суперкомпьютеры, отличаются сверхвысокой производительностью и надежностью и используются в крупных научно-технических центрах для управления процессами в реальном масштабе времени. Компьютеры, входящие в подкласс Серверы, обладают высокой производительностью и надежностью и используются в качестве серверов в локальных и глобальных сетях. Компьютеры, входящие в подкласс Персональные компьютеры, обладают средней производительностью и надежностью и используются в офисах и дома для работы с различными приложениями. Подкласс Персональные компьютеры делится, в свою очередь, на Настольные, Портативные и Карманные компьютеры. В иерархической структуре элементы распределяются по уровням, от первого (верхнего) уровня до нижнего (последнего) уровня. На первом уровне может располагаться только один элемент, который является «вершиной» иерархической структуры. Основное отношение между уровнями состоит в том, что элемент более высокого уровня может состоять из 250 Глава 5 нескольких элементов нижнего уровня, при этом каждый элемент нижнего уровня может входить в состав только одного элемента верхнего уровня. О В иерархической информационной модели объ-^ екты распределены по уровням. Каждый элемент ^ более высокого уровня может состоять из эле- ментов нижнего уровня, а элемент нижнего уровня может входить в состав только одного элемента более высокого уровня. В рассмотренной иерархической модели, классифицирующей компьютеры, имеются три уровня. На первом, верхнем, уровне располагается элемент Компьютеры, в него входят три элемента второго уровня Суперкомпьютеры, Серверы и Персональные компьютеры. В состав последнего входят три элемента третьего, нижнего, уровня Настольные, Портативные и Карманные компьютеры. Изображение информационной модели в форме графа. Граф является удобным способом наглядного представления структуры информационных моделей. Вершины графа (овалы) отображают элементы системы. Элементы верхнего уровня находятся в отношении «состоять из» к элементам более низкого уровня. Такая связь между элементами отображается в форме дуги графа (направленной линии в форме стрелки). Графы, в которых связи между объектами несимметричны (как в данном случае), называются ориентированными. Построим теперь компьютерную модель Компьютеры с использованием приложения Иерархика, которое позволяет создавать иерархические модели. Изобразим иерархическую модель, классифицирующую компьютеры, в виде графа (рис. 5.5). Рис. 5.5. Классификация компьютеров Моделирование и формализация 251 Полученный граф напоминает дерево, которое растет сверху вниз, поэтому иерархические графы иногда называют деревьями. Установить приложение Иерархика, которое хра- гп-ром нится в каталоге \soft\model\hierarchmod\hierarch\ Иерархическая модель Компьютеры 1. Запустить программу Иерархика. С помощью панели инструментов вставить элементы трехуровневой иерархической модели. Базадмьо Г(>гева Плкк П^ехоа Настрой>л Сгрхкэ а i > мы 2. Для просмотра модели ввести команду [База данных-Дерево данных...]. Появится окно Дерево данных, содержащее иерархическую модель. . ipi »1 ' Компьютеры - Персональные компьютеры Карманные Настольные Портативные Серверы Суперкомпьютеры 3 I Динамическая иерархическая модель. Для описания исторического процесса смены поколений семьи используются динамические информационные модели в форме генеалогического дерева. В качестве примера можно рассмотреть фрагмент (X-XI века) генеалогического дерева династии Рюриковичей (рис. 5.6). Рис. 5.6. Генеалогическое дерево Рюриковичей (X-XI века) 252 Глава 5 Вопросы длп ра.шышления 1. Кгисие системы объектов целесообразно и возможно представлять с помощью иерархических моделей? Практические задания 5.4. Построить компьютерную модель фрагмента иерархической системы животного мира. 5.5. Построить компьютерную модель генеалогического дерева династии Романовых. 5.6. Построить компьютерную модель генеалогического дерева вашей семьи. 5.4.3. Сетевые информационные модели Сетевые информационные модели применяются для отражения систем со сложной структурой, в которых связи между элементами имеют произвольный характер. Например, различные региональные части глобальной компьютерной сети Интернет (американская, европейская, российская, австралийская и так далее) связаны между собой высокоскоростными линиями связи. При этом одни части (например, американская) имеют прямые связи со всеми региональными частями Интернета, а другие могут обмениваться информацией между собой только через американскую часть (например, российская и австралийская). Построим граф, который отражает структуру глобальной сети Интернет (рис. 5.7). Вершинами графа являются региональные сети. Связи между вершинами носят двусторонний характер и поэтому изображаются ненаправленными линиями (ребрами), а сам граф поэтому называется неориентированным. Представленная сетевая информационная модель является статической моделью. С помощью сетевой динамической модели можно, например, описать процесс передачи мяча между игроками в коллективной игре (футболе, баскетболе и так далее). Моделирование и формализация 253 Рис. 5.7. Сетевая структура глобальной сети Интернет Вопросы для размышления 1. Какие системы объектов целесообразно и возможно представлять с помощью сетевых моделей? Задания 4 5.7. Построить информационную модель локальной сети школьного компьютерного класса. 5.5. Основные этапы разработки и исследования моделей на компьютере Использование компьютера для исследования информационных моделей различных объектов и систем позволяет изучить их изменения в зависимости от значения тех или иных параметров. Процесс разработки моделей и их исследования на компьютере можно разделить на несколько основных этапов. На первом этапе исследования объекта или процесса обычно строится описательная информационная модель. Такая модель выделяет существенные с точки зрения целей 254 Глава 5 проводимого исследования параметры объекта, а несущественными параметрами пренебрегает. На втором этапе создается формализованная модель, то есть описательная информационная модель записывается с помощью какого-либо формального языка. В такой модели с помощью формул, уравнений, неравенств и пр. фиксируются формальные соотношения между начальными и конечными значениями свойств объектов, а также накладываются ограничения на допустимые значения этих свойств. Однако далеко не всегда удается найти формулы, явно выражающие искомые величины через исходные данные. В таких случаях используются приближенные математические методы, позволяющие получать результаты с заданной точностью. На третьем этапе необходимо формализованную информационную модель преобразовать в компьютерную модель, то есть выразить ее на понятном для компьютера языке. Существуют два принципиально различных пути построения компьютерной модели: 1) построение алгоритма решения задачи и его кодирование на одном из языков программирования; 2) построение компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и пр.). В процессе создания компьютерной модели полезно разработать удобный графический интерфейс, который позволит визуализировать формальную модель, а также реализовать интерактивный диалог человека с компьютером на этапе исследования модели. Четвертый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на одном из языков программирования, ее нужно запустить на выполнение и получить результаты. Если компьютерная модель исследуется в приложении, например в электронных таблицах, можно провести сортировку или поиск данных, построить диаграмму или график и так далее. Пятый этап состоит в анализе полученных результатов и корректировке исследуемой модели. В случае различия результатов, полученных при исследовании информационной модели, с измеряемыми параметрами реальных объектов можно сделать вывод, что на предыдущих этапах построения модели были допущены ошибки или неточности. Например, при построении описательной качественной модели Моделирование и формализация 255 могут быть неправильно отобраны существенные свойства объектов, в процессе формализации могут быть допущены ошибки в формулах и так далее. В этих случаях необходимо провести корректировку модели, причем уточнение модели может проводиться многократно, пока анализ результатов не покажет их соответствие изучаемому объекту. Вопросы для размышления 1. В каких случаях могут быть опущены отдельные этапы построения и исследования модели? Приведите примеры создания моделей в процессе обучения. 5.6. Исследование физических моделей Физика-9 Рассмотрим процесс построения и исследования модели на конкретном примере движения тела, брошенного под углом к горизонту. Содержательная постановка задачи. В процессе тренировок теннисистов используются автоматы по бросанию мячика в определенное место площадки. Необходимо задать автомату необходимую скорость и угол бросания мячика для попадания в мишень определенного размера, находящуюся на известном расстоянии. Качественная описательная модель. Сначала построим качественную описательную модель процесса движения тела с использованием физических объектов, понятий и законов, то есть в данном случае идеализированную модель движения объекта. Из условия задачи можно сформулировать следующие основные предположения: • мячик мал по сравнению с Землей, поэтому его можно считать материальной точкой; • изменение высоты мячика мало, поэтому ускорение свободного падения можно считать постоянной величиной g = 9,8 м/с^ и движение по оси OY можно считать равноускоренным; • скорость бросания тела мала, поэтому сопротивлением воздуха можно пренебречь и движение по оси ОХ можно считать равномерным. 256 Глава 5 Формальная модель. Для формализации модели используем известные из курса физики формулы равномерного и равноускоренного движения. При заданных начальной скорости Oq и угле бросания а значения координат дальности полета х и высоты у от времени можно описать следующими формулами: X = Пп ■ cosa • t; (5.1) У sina ■ t - g -1 14. Пусть мишень высотой h будет размещаться на расстоянии S от автомата. Из первой формулы выражаем время, которое понадобится мячику, чтобы преодолеть расстояние s; t = s/(Vq ■ cosa). Подставляем это значение для t в формулу для у. Получаем Z — высоту мячика над землей на расстоянии s: I = S ■ tga - g-8^1(2 • Vq • cos^a). Формализуем теперь условие попадания мячика в мишень. Попадание произойдет, если значение высоты I мячика будет удовлетворять условию в форме неравенства: О I < h. Если ^ < О, то это означает «недолет», а если 1> h, то это означает «перелет». Компьютерная модель на языке Visual Basic. Преобразуем формальную модель в компьютерную с использованием системы программирования Visual Basic. Создадим сначала графический интерфейс проекта. Проект «Движение тела, брошенного под углом к горизонту» 1. Разместить на форме четыре текстовых поля для ввода значений начальной скорости, угла бросания мячика, расстояния до мишения и ее высоты, а также два текстовых поля для вывода высоты мячика на заданном расстоянии и текстового сообщения о результатах броска. 2. Поместить на форму метки для обозначения полей и единиц измерения. 3. Поместить на форму кнопку и создать для нее событийную процедуру, которая обеспечивает присваивание переменным значений, введенных в текстовые поля, вычисление высоты мячика на заданном расстоянии и вывод результатов на форму с использованием конструкции выбора Select Case: Моделирование и формализация 257 Const G As Single = 9.81 Const Pi As Single = 3.14 Dim VO, A, S, L As Double Private Sub CmdCalc_Click() 'Ввод начальных значений VO = Val(txtVO.Text) A = Val(txtA.Text) S = Val(txtS.Text) H = Val(txtH.Text) 'Попадание в мишень L = S * Tan (A * Pi / 180) - (G * S 2) / (2 * VO ^ 2 * Cos (A * Pi / 180) '' 2) txtL.Text = L Select Case L Case Is < 0 txtM.Text = "Недолет" Case Is > H txtM.Text = "Перелет" Case Else txtM.Text = "Попадание" End Select End Sub Для визуализации формальной модели построим траекторию движениия тела (график зависимости высоты мячика над поверхностью земли от дальности полета). Снабдим график осями координат и выведем положение мишени. 4. Поместить на форму графическое поле, в котором будет осуш;ествляться построение графика, и дополнить программный код событийной процедуры: 'Построение графика For Y = Т/2 X = Next For Next о То 10 Step 0.1 VO * Sin(A * Pi /180) * T - G * T * VO * Cos(A * Pi /180) * T .Scale (0, 15)-(S + 5, -5) . PSet (X, Y) T X .Line (0, 0)-(50, 0) 1 = 0 To 50 Step 5 .PSet (I, 0) .Print I I Y . Line (0, -5)-(0, 15) 9—2645 258 Глава 5 For I = -5 То 15 Step picl.PSet (0, I) picl.Print I Next I 'Мишень picl.Line (S, 0)-(S, H) CD-ROM Проект хранится в каталоге \textbook\VB\prjPhys1\___ Компьютерный эксперимент. Введем произвольные значения начальной скорости и угла бросания мячика: скорее всего, его попадания в мишень не будет. Затем, меняя один из параметров, например знол, произведем пристрелку. Для этого лучше всего использовать известный артиллерийский прием «взятие в вилку», который использует наиболее эффективный метод «деление пополам». Для этого находят угол, при котором мячик перелетит мишень, затем угол, при котором мячик не долетит до стены. Вычисляют среднее значение углов, составляющих «вилку», и смотрят, куда попадет мячик. Если он попадет в стену, то задача выполнена, если не попадет, то рассматривается новая «вилка», и так далее. 5. Запустить проект и ввести значения начальной скорости, угла, расстояния до мишени и ее высоты. Щелкнуть по кнопке Бросок. В текстовых полях будут выведены результаты, а в графическом поле появится траектория движения тела. Подобрать значения начальной скорости и угла бросания, обеспечивающие попадание в мишень. Анализ результатов и корректировка модели. Модернизируем проект так, чтобы можно было получить с заданной точностью для каждого значения скорости значение диапазона углов, обеспечивающее попадание мячика в мишень. 6. Удалить с формы текстовые поля для ввода значения угла, для вывода результатов и графическое поле и поместить на форму текстовые поля для ввода точности определения диапазона углов и для вывода значений из этого диапазона. Моделирование и формализация 259 7. Внести изменения в программный код событийной процедуры: Private Sub CmdCalc_Click() 'Ввод начальных значений V0 = Val(txtVO.Text) S = Val(txtS.Text) H = Val(txtH.Text) P = Val(txtP.Text) txtAl.Text = "" For A = 0 To 90 Step P 'Попадание в мишень L = S * Tan (A * Pi / 180) - (G * S 2) / (2 * VO " 2 * Cos (A * Pi / 180) 2) If 0 < L And L < H Then txtAl.Text = txtAl.Text + Str(A) End If Next A End Sub 8. Запустить проект и ввести скорость, расстояние до мишени и ее высоту, а также точность определения диапазона углов: Анализ результатов показывает, что получен неочевидный результат: сущ;ествуют два диапазона величин углов — от 33 до 36 и от 56 до 57 градусов, которые обеспечивают попадание мячика в мишень. Проект хранится в каталоге \textbookWB\prjPhys2\________ CD-ROM Компьютерная модель в электронных таблицах. Вернемся к третьему этапу создания и исследования модели движения тела, брошенного под углом к горизонту. Преобразуем теперь формальную модель в компьютерную с использованием электронных таблиц Excel. Выделим в таблице определенные ячейки для ввода значений начальной скорости и угла а и вычислим по форму- 260 Глава 5 лам (5.1) значения координат тела хну для определенных значений времени t с заданным интервалом. Для преобразования значений углов из градусов в радианы используем функцию РАДИАНЫ(). Модель «Движение тела, брошенного под углом к горизонту» в электронных таблицах А 1 в 1 С .._xJ 2. Для ввода начальной скорости будем использовать ячейку В1, а для ввода угла — ячейку В2. Введем в ячейки А5:А18 значения времени с интервалом в 0,2 с. V,= 18,0 и/с 35 О град 4 t X = v 0 cosa t f=VQ svta t-g-t^/2 5 0,0 0.0 0.0 6 0,2 2.9 1.9 7 0,4 59 3.3 6 06 88 44 9 0,8 11 8 5,1 10 1,0 14.7 5.4 11 1,2 177 53 12 1,4 20.6 4,8 13 1,6 23.6 4.0 14 1,8 26.5 2.7 15 2,0 29.5 1.0 1Б 2,2 32.4 1.0 17 24 35 4 35 18 2,6 38,3 -6.3 3. в ячейки В5 и С5 введем формулы: =$В$1*С08(РАДИАНЫ($В$2))*А5 =$В$1*8Ш(РАДИАНЫ($В$2))*А5-4,9*А5*А5 4. Скопируем формулы в ячейки В6:В18 и С6;С18 соответственно. Визуализируем модель, построив график зависимости координаты у от координаты х (траекторию движения тела). 5. Построить диаграмму типа у График, в которой используется в качестве категории диапазон ячеек В5:В18, а в качестве значений — диапазон ячеек С5:С18. Исследование модели. Исследуем модель и определим с заданной точностью 0,1° диапазон изменений угла, который обеспечивает попадание в мишень, находящуюся на расстоянии 30 м и имеющую высоту 1 м, при заданной начальной скорости 18 м/с. Воспользуемся для этого методом Подбор параметра. 10.6. Надстройки в электронных таблицах Моделирование и формализация 261 2J 22 23 X iij s= V,= а = 30.0 м 18.0 м/с 35.0 град 1= 0,7 м ш Установить в ячейке |В25 качение |о Изменяя значение ячейки |$В*23 6. Установить для ячеек точность один знак после запятой. 7. Ввести в ячейки В21, В22 и В23 значения расстояния до мишени S = 30 м, начальной скорости = 18 м/с и угла а = 35°, а в ячейку В25 — формулу для вычисления высоты мячика над поверхностью для заданных начальных условий: =В21*ТАК(РАДИАНЫ(В23)Н9,81*В21"2)/ (2*В22^2*С08(РАДИАНЫ(В23)Г2). Для заданных начальных условий определим углы, которые обеспечивают попадание в мишень на высотах О и 1 м. 8. Выделить ячейку В25 и ввести команду [Сервис-Подбор параметра...]. На появившейся диалоговой панели ввести в поле Значение: наименьшую высоту попадания в мишень (то есть 0). В поле Изменяя значение ячейки: ввести адрес ячейки, содержаш;ей значение угла (в данном случае $В$23). 9. В ячейке В23 появится значение 32,6. Повторить процедуру подбора параметра для максимальной высоты попадания в мишень — в ячейке В23 получим значение 36,1. Таким образом, исследование компьютерной модели в электронных таблицах показало, что существует диапазон значений угла бросания от 32,6 до 36,1°, который обеспечивает попадание в мишень высотой 1 м, находящуюся на расстоянии 30 м, мячиком, брошенным со скоростью 18 м/с. Если повторить процедуру определения диапазона углов при начальном значении 55°, то получим значения предельных углов 55,8 и 57,4°. С учетом точности вычислений данные для обоих диапазонов углов подтверждают результаты, полученные при исследовании компьютерной модели на языке Visual Basic. Модель хранится в файле Model xls в каталоге \textbook\Excel\ CD-ROM Практические задания 5.8. Тело брошено вертикально вверх с некоторой высоты. Определить, через какое количество времени тело упадет на поверхность земли. 262 Глава 5 5.7. Исследование математических моделей Алгебра-9, Геометрия-7 Исследование математических моделей начинается с записи формальной модели на языке определенной области математики: алгебры, геометрии и так далее. 5.7.1. Приближенное решение уравнений На языке алгебры формальные модели записываются с помощью уравнений, точное решение которых основывается на поиске равносильных преобразований алгебраических выражений, позволяющих выразить переменную величину с помощью формулы. Точные решения существуют только для некоторых уравнений определенного вида (линейные, квадратные, тригонометрические и др.), поэтому для большинства уравнений приходится использовать методы приближенного решения с заданной точностью (графические, числовые и др.). Графический метод. Построение графиков функций может использоваться для грубо приближенного решения уравнений. Для не имеющего точного алгебраического решения уравнения вида f(x) = О, где f{x) — некоторая непрерывная функция, корень (или корни) этого уравнения является точкой (или точками) пересечения графика функции с осью ОХ. Задача. Найти графическим методом корень уравнения х^ - COSX = О, которое не имеет точного алгебраического решения. Формальная модель задана уравнением, для нахождения корня уравнения разработаем компьютерную модель на языке Visual Basic. Проект «Приближенное решение уравнения» 1. В программный код проекта «Построение графика функции» в цикл построения графика ввести строку: picGraph.PSet (sngX, sngX 3 - Cos(sngX)) Моделирование и формализация 263 График функции пересекает ось ОХ один раз, и, следовательно, уравнение имеет один корень. По графику грубо приближенно можно определить, что х я 0,8. Числовой метод половинного деления. Для решения уравнений с заданной точностью можно применить разработанные в вычислительной математике числовые итерационные методы решения уравнений. Если мы знаем отрезок, на котором сухцествует корень, и функция на краях этого отрезка принимает значения разных знаков, то можно использовать метод половинного деления. Идея метода состоит в выборе точности решения и сведении первоначального отрезка [А;В], на котором суш;ествует корень уравнения, к отрезку заданной точности. Процесс сводится к последовательному делению отрезков пополам точкой С = (АН-В)/2 и отбрасыванию той половины отрезка ([А;С] или [С;В]), на котором корня нет. Выбор нужной половины отрезка основывается на проверке знаков значений функции на его краях. Выбирается та половина, на которой произведение значений функции на краях отрицательно, то есть где функция пересекает ось абсцисс. Процесс продолжается до тех пор, пока длина отрезка не станет меньше удвоенной точности. Деление этого отрезка пополам дает значение корня х = (А+В)/2 с заданной точностью. 2. Поместить на форму текстовые поля для ввода числовых значений концов отрезка А и В, поле для ввода точности вычислений и поле для вывода значений корня. 3. Поместить на форму кнопку и создать событийную процедуру, вычисляющую корень уравнения методом половинного деления с использованием цикла с постусловием: Private Sub cmdNum_Click() dblA = Val(txtA.Text) dblB dblE Do dblC = (dblA + Val (txtB.Text) Val(txtE.Text) dblB) / 2 If (dblA ^ 3 - Cos (dblA) ) * (dblC 3 - Cos (dblC) ) < 0 Then dblB = dblC Else dblA = dblC End If 264 Глава 5 Loop While (dblB - dblA) txtX.Text = (dblA + dblB) End Sub 4. Из графика функции видно, что корень находится на отрезке [0,5;1]. Введем в текстовые поля значения концов отрезка, а также точность вычислений (например, 0,00001). В текстовое поле будет выведено значение корня с заданной точностью: X = 0,86547. / 2 > / 2 dblE Проект хранится в каталоге \textbookWB\prjMath 1 \________ CD-ROM Практические задания 5.9. Приближенно решить уравнение - созд: = 0 с использованием компьютерной модели в электронных таблицах. 5.7.2. Вероятностные модели Вероятностные модели базируются на использовании больших серий испытаний со случайными параметрами, причем точность полученных результатов зависит от количества проведенных опытов. Воспользуемся методом Монте-Карло для приближенного вычисления площадей геометрических фигур. Качественная модель метода Монте-Карло. Сначала построим качественную вероятностную модель данного метода: • поместим геометрическую фигуру полностью внутрь квадрата; • будем случайным образом «бросать» точки в этот квадрат, то есть с помощью генератора случайных чисел задавать точкам координаты внутри квадрата; • будем считать, что отношение числа точек, попавших внутрь фигуры, к общему числу точек в квадрате прибли- Моделирование и формализация 265 Рис. 5.8. Круг, вписанный в квадрат зительно равно отношению площади фигуры к площади квадрата, причем это отношение тем точнее, чем больше количество точек. Формальная модель. Построим формальную модель для вычисления площади круга радиуса R, центр которого совпадает с началом координат. Круг вписан в квадрат со стороной 2R, площадь которого вычисляется как 4R^ (рис. 5.8). Пусть N — количество точек, которые случайным образом генерируются внутри квадрата. Случайный выбор координат точек, которые попадают внутрь квадрата (N точек), должен производиться так, чтобы координаты точек х тл у удовлетворяли условиям: -R < X <: R и -R <: у ^ R. Пусть М — количество точек, попавших внутрь круга, то есть их координаты удовлетворяют условию: X у < Д . Тогда площадь круга можно вычислить по формуле: S = 4lf ■ M/N. Компьютерная модель. Разработаем на языке Visual Basic компьютерную модель, позволяющую определять площадь круга методом Монте-Карло. Й] Проект «Метод Монте-Карло» 1. Поместить на форму графическое поле, в котором будет отображаться процесс случайной генерации точек, квадрат, круг и оси координат. 2. Поместить на форму два текстовых поля для ввода радиуса окружности и количества генерируемых точек и одно поле для вывода значения площади круга. 3. Поместить на форму кнопку и создать для нее событийную процедуру, которая обеспечивает ввод значений радиуса окружности в переменную R, ввод количества генерируемых точек в переменную N, генерацию случайных точек, подсчет в переменной М количества точек, попавших внутрь круга, вычисление и вывод значения площади круга в текстовое поле: 266 Глава 5 Dim dblX, dblY As Double, S As Doiible Private Sub cmdl_Click() M = 0 picl.Cls 'Ввод значений R = Val(txtR) N = Val(txtN) picl.Scale (-{R + 1),R + picl.Line (-R, R)-(R, -R) picl.Circle (0, 0), R 'Генерация точек For I = 1 To N dblX = 2 * R * Rnd -dblY = 2 * R * Rnd -picl.PSet (dblX, dblY) If dblX ^ 2 + dblY Next I 'Площадь txtS.Text = 4 * R " : 'Ось X picl.Line (-(R + 1), I, N, M, R As Long, 1)-(R + 1, , В (R + D) R R 2 <= R Then M = M + 1 (M / N) 0)-(R + 1, 0) For I = -(R+l)ToR+l picl.PSet (I, 0) picl.Print I Next I 'Ось Y picl.Line (0, - (R + l))-(0. For I = -(R + l)ToR+l picl.PSet (0, I) picl.Print I Next I End Sub 4. Ввести радиус окружности и количество генерируемых точек. После щелчка по кнопке Пуск в графическом поле будет отображен процесс генерации случайных точек, а в текстовое поле будет выведено значение площади круга. R + 1) Метод Монте-Карло Моделирование и формализация 267 Исследование модели. Существует геометрическая формула, позволяющая вычислить площадь круга: S = nR^. Если в процессе исследования модели в качестве радиуса окружности выбрать 1, то числовое значение площади круга будет соответствовать числу л. Таким образом, с помощью метода Монте-Карло можно определить с необходимой точностью значение числа п (при увеличении количества генерируемых точек можно наблюдать все большее приближение значения площади к значению числа л). Проект хранится в каталоге \textbookWB\prjMath2\___________ CD-ROM Практические задания 5.10. Определить методом Монте-Карло площадь треугольника, вершины которого имеют координаты (-1, 0); (0, 1) и (1, 0). 5.8. Биологические модели развития популяций Общая биология 10-11 В биологии при исследовании развития биосистем строятся динамические модели изменения численности популяций различных живых существ (бактерий, рыб, животных и пр.) с учетом различных факторов. Взаимовлияние популяций рассматривается в моделях типа «хищник-жертва». Формальная модель. Изучение динамики численности популяций естественно начать с простейшей модели неограниченного роста, в которой численность популяции ежегодно увеличивается на определенный процент. Математическую модель можно записать с помощью рекуррентной формулы, связывающей численность популяции следующего года с численностью популяции текущего года, с использованием коэффициента роста а: х„+1 = о • х„. Например, если ежегодный прирост численности популяции составляет 5%, то о = 1,05. В модели ограниченного роста учитывается эффект перенаселенности, связанный с нехваткой питания, болезнями и так далее, который замедляет рост популяции с увеличени- 268 Глава 5 ем ее численности. Введем коэффициент перенаселенности Ъ, значение которого обычно существенно меньше а (b«ввяэвпив»в I Ларев^тро лег виды j интервалов И I Цвет ■В ингвреелм! мест оцимаюиую gM«j (ивпримвр 9-5 (3) 6-7 (3i 8 25 (3)) Весовая функция Г O/MW*' ^ CPtQHEE 6. На карте мира каждая из стран будет закрашена одним из пяти оттенков выбранного цвета. Легенда карты содержит информацию о числовых значениях интервалов и количестве стран, попавших в каждый из интервалов. Страны мира Населеии© ■ 40 000 000 1 140 000 000 (24) а 30 000 000 40 000 000 (6) □ 20 000 000 30 000 000 (12) □ 10 000 000 20 000 000 (25) □ 0 10 000 000 (149) Геоинформационная модель хранится в файле mapstats xls в каталоге \textbook\Excel\ CD-ROM 274 Глава 5 Практические задания 5.13. Найти на интерактивной карте в Интернете свой регион и получить о нем дополнительную информацию. 5.14. Создать геоинформационную модель, отображающую статистические данные о численности населения стран Европы. 5.10. Оптимизационное моделирование в экономике в сфере управления сложными системами (например, в экономике) применяется оптимизационное моделирование, в процессе которого осуществляется поиск наиболее оптимального пути развития системы. Критерием оптимальности могут быть различные параметры; например, в экономике можно стремиться к максимальному количеству выпускаемой продукции, а можно к ее низкой себестоимости. Оптимальное развитие соответствует экстремальному (максимальному или минимальному) значению выбранного целевого параметра. Развитие сложных систем зависит от множества факторов (параметров), следовательно, значение целевого параметра зависит от множества параметров. Выражением такой зависимости является целевая функция К = P(Xi,X2,...,X„), где К — значение целевого параметра; — параметры, влияющие на развитие системы. Цель исследования состоит в нахождении экстремума этой функции и определении значений параметров, при которых этот экстремум достигается. Если целевая функция нелинейна, то она имеет экстремумы, которые находятся определенными методами. Однако часто целевая функция линейна и, соответственно, экстремумов не имеет. Задача поиска оптимального режима при линейной зависимости приобретает смысл только при наличии определенных ограничений на параметры. Если ограничения на параметры (система неравенств) также имеют линейный характер, то такие задачи являются задачами линейного программирования. (Термин «линейное про- Моделирование и формализация 275 граммирование» в имитационном моделировании понимается как поиск экстремумов линейной функции, на которую наложены ограничения.) Рассмотрим в качестве примера экономического моделирования поиск вариантов оптимального раскроя листов материала на заготовки определенного размера. Содержательная постановка проблемы. В ходе производственного процесса из листов материала получают заготовки деталей двух типов А и Б тремя различными способами, при этом количество получаемых заготовок при каждом методе различается. Таблица 5.2. Способы раскроя заготовок Тип заготовки Количество заготовок Способ 1 раскроя Способ 2 раскроя Способ 3 раскроя А 10 3 8 Б 3 6 4 Необходимо выбрать оптимальное сочетание способов раскроя, для того чтобы получить 500 заготовок первого типа и 300 заготовок второго типа при расходовании наименьшего количества листов материала. Формальная модель. Параметрами, значения которых требуется определить, являются количества листов материала, которые будут раскроены различными спосабами: Xj — количество листов, раскроенное способом 1; — количество листов, раскроенное способом 2; Хд — количество листов, раскроенное способом 3. Тогда целевая функция, значением которой является количество листов материала, примет вид: F = Xl+ Xg + Хз. Ограничения определяются значениями требуемых количеств заготовок типа А и Б, тогда с учетом количеств заготовок, получаемых различными способами, должны выполняться два равенства: 10Xi+ ЗХ2 + 8X3 = 500; ЗХ1+ 6X2 + 4X3 = 300. Кроме того, количества листов не могут быть отрицательными, поэтому должны выполняться неравенства: Xi >0; Х2 > 0; Х3 > 0. 27в Глава 5 Таким образом, необходимо найти удовлетворяющие ограничениям значения параметров, при которых целевая функция принимает минимальное значение. Компьютерная модель. Будем искать решение задачи путем создания и исследования компьютерной модели в электронных таблицах Excel. Ш Оптимизационное моделирование 1. Ячейки В2, С2 и D2 выделить для хранения значений параметров XI, Х2 и ХЗ. В ячейку В4 ввести формулу вычисления целевой функции; =B2+C2-fD2. В ячейку В 7 ввести формулу вычисления количества заготовок типа А: =10*B2-t- 3*С2 -Ь 8*D2 . 1 — “-Н 2 П^аметры: 3 4 Целевая функция. 6 Ограничения Т] Кол-во заготовок А; 8 Кол-во заготовок Б: i В С I D I Х2 ХЗ 0 0 0 в ячейку В8 ввести формулу вычисления количества заготовок типа Б: =3*В2+ 6*С2 + 4*D2 . Исследование модели. Для поиска оптимального набора значений параметров, который соответствует минимальному значению целевой функции, воспользоваться надстройкой электронных таблиц Поиск решения. 2. Для активизации надстройки ввести команду [Сервис-Надстройки...]. На диалоговой панели установить флажок перед элементом списка Поиск решения. 3. Ввести команду [Сервис-Поиск решения...]. На появившейся диалоговой панели Поиск решения установить: • адрес целевой ячейки; • вариант оптимизации значения целевой ячейки (максимизация, минимизация или подбор значения); • адреса ячеек, значения которых изменяются в процессе поиска решения (в которых хранятся значения параметров); • ограничения (типа «=» для ячеек, хранящих количество деталей, и типа «>» для параметров). Моделирование и формализация 277 Поиск решения Установить целевую ячейку Равной Р магатмальному значению С значению минимальному значению I Изменяя ячейки 1$В$2 $D$2 Ограничения $В$2 >= О $В$7 = 500 $В$8 = 300 $С$2 >= о $D$2 >= О Предположить Добавить Изменить валить lijil Выполнить Закрыть Восстановить Справка 4. Щелкнуть по кнопке Выполнить. В ячейке целевой функции появится значение 70, а в ячейках параметров значения 20, 20, 30. Параметры: Целевая функция; 70 Ограничения В ! С . D J XI Х2 ХЗ 20 20 30 7 Кол во заготовок А; 500 8 |Кол во заготовок Б: 300 Таким образом, для изготовления 500 деталей А и 300 деталей Б требуется 70 листов материала, при этом 20 листов необходимо раскроить по первому, 20 листов — по второму и 30 листов — по третьему варианту. Модель хранится в файле model xls в каталоге \textbook\Excel\ Практические задания CD-ROM 5.15. Построить компьютерную модель оптимизации раскроя листов материала на языке Visual Basic. 278 Глава 5 5.11. Экспертные системы распознавания химических веществ Химия-9 Профессиональные экспертные системы — это интеллектуальные программы, способные делать логические выводы на основе знаний из конкретной предметной области, обеспечивающие решение диагностических задач и способные заменить специалиста (эксперта). Профессиональные экспертные системы имеют довольно сложную структуру и состоят обычно из нескольких компонентов (модулей): • механизма представления знаний в конкретной предметной области (базы знаний); • механизма, который на основании знаний, имеющихся в базе знаний, способен делать логические выводы (механизма логического вывода); • пользовательского интерфейса ведения диалога «экспертная система — пользователь»; • механизма получения знаний от эксперта; этот механизм позволяет дополнять и развивать базу знаний (модуль приобретения знаний); • механизма, дающего комментарии и разъяснения найденного решения (модуля советов и объяснений). Простейшие модели экспертных систем, учебные экспертные системы способны «решать» гораздо более простые задачи и, естественно, имеют намного более простую структуру. В школьном курсе встречается достаточно много учебных ситуаций, когда ученик выступает в роли эксперта и должен распознать (идентифицировать) тот или иной объект. Обычно такие задачи выполняются учеником методом проб и ошибок, без осознания и фиксации стратегии поиска. Создание учебной экспертной системы как раз и является осознанием и фиксацией последовательности рассуждений (действий), которая приводит к распознаванию того или иного объекта среди некоторой совокупности. В качестве примера можно рассмотреть лабораторную работу по химии «Распознавание химических удобрений». Учащемуся даются удобрения, химические реактивы и справочная таблица по взаимодействию шести различных удобрений с некоторыми реактивами (табл. 5.3). Учащемуся предлагается распознать каждое из удобрений. Моделирование и формализация 279 Таблица 5.3. Свойства удобрений № Внешний вид Взаимодействие раствора удобрения Удобрение (результат распознава- ния) с H2SO4 с ВаС1 С раствором щелочи 1 Белая кристаллическая масса или гранулы Выделяется бурый газ — Ощущается запах аммиака Аммиачная селитра 2 Крупные бесцветные кристаллы Выделяется бурый газ Небольшое помутнение раствора - Натриевая селитра 3 Мелкие светло-серые кристаллы — Выпадает белый осадок Ощущается запах аммиака Сульфат аммония 4 Светло-серый порошок или гоанулы — Выпадает белый осадок — Суперфосфат 5 Розовые кристаллы — — — Сильвинит 6 Бесцветные кристаллы — — — Калийная соль Стратегия поиска может быть представлена в виде дерева поиска на основе структуры «если...то...иначе», причем может быть множество различных деревьев с различным количеством шагов. Выбор оптимальной стратегии распознавания (достижения цели за минимальное число шагов) и будет являться созданием учебной экспертной системы. Такая стратегия будет реализована, если каждый шаг будет максимально уменьшать неопределенность (нести максимальное количество информации). Формальная модель. Целесообразно представить иерархическую модель экспертной системы в виде блок-схемы: аммиачная натриевая сульфат селитра селитра аммония суперфосфат сильвинит калийная соль Рис. 5.11. Блок-схема экспертной системы «Распознавание удобрений» 280 Глава 5 Компьютерная модель. Реализуем экспертную систему распознавания удобрений с использованием языка Visual Basic. Функционирование такой учебной экспертной системы реализуем в диалоге «система-пользователь». Экспертная система задает пользователю серию вопросов, анализирует ответы и сравнивает с имеющимися в ней фактами. При этом производится логический вывод и формируется ответ на интересующий пользователя вопрос, то есть определяется название удобрения. .^8 Экспертная система «Распознавание удобрений» 1. Поместить на форму кнопку и управляющий элемент ListBox {список). Создать событийную процедуру, реализующую диалог с пользователем путем вызова общих процедур и вывод названий удобрений в элементы списка: Sub Щелочь() bytA = МздВохС'При взаимодействии со щелочью ощущается запах аммиака?", 36, "Второй вопрос") If bytA = б Then Istl.Addltem "1.Аммиачная селитра" Else Istl.Addltem "2.Натриевая селитра" End Sub Sub Соль () bytA = МздВохС'При взаимодействии с солью выпадает белый осадок?", 36, "Второй вопрос") If bytA = б Then Щелочь! Else Внешний_вид End Sub Sub Щелочь!() bytA = МздВохС'При взаимодействии со щелочью ощущается запах аммиака?", 36, "Третий вопрос") If bytA = б Then Istl.Addltem "3. Сульфат аммония" Else Istl.Addltem "4. Суперфосфат" End Sub Sub Внешний_вид() bytA = MsgBox("Розовые кристаллы?", 36, "Третий вопрос") If bytA = б Then Istl.Addltem "5. Сильвинит" Else Istl.Addltem "6. Калийная соль" End Sub Private Sub cmdl_Click() bytA = МздВохС'При взаимодействии с серной кислотой выделяется бурый газ?", 36, "Первый вопрос") If bytA = б Then Щелочь Else Соль End Sub Моделирование и формализация 281 Компьютерный эксперимент. Работа с экспертной системой позволит более эффективно спланировать и провести распознавание удобрений в процессе выполнения лабораторной работы по химии. 2. Запустить экспертную систему и проводить химические опыты в со- ми. Проделать процедуру распо- __|1 Аммиомноя селитра I ответствии с задаваемыми вопроса- Нг натриевая селитра [ 13 Сульфат аммония __щА Суперфосфат знавания для каждого вещества. сильвинит Калийная соль Распознавание Проект хранится в каталоге \textbook\VB\prj НI т\_____________ CD-ROM Практические задания 5.16. Построить экспертную систему для лабораторных работ «Распознавание волокон» и «Распознавание пластмасс». 5.12. Модели логических устройств При изучении базовых логических устройств компьютера (сумматор, триггер) целесообразно использовать компьютерные модели. Такие модели позволяют визуализировать процесс преобразования логических значений входных сигналов в значения выходных сигналов. 3.7. Логические основы устройства компьютера Ранее были построены формальные логические модели устройств компьютера. Так, двоичный одноразрядный полусумматор состоит из четырех базовых логических элементов (два конъюнктора, один дизъюнктор и один инвертор). На вход полусумматора подаются сигналы двух слагаемых А и В, а на выходе имеются сигнал суммы S и сигнал переноса в старпгий разряд Р. Построим компьютерную модель полусумматора с использованием языка программирования Visual Basic. 282 Глава 5 Модель полусумматора 1. Поместить на форму четыре метки для изображения базовых логических элементов и шесть текстовых полей для ввода и вывода логических значений. 2. Создать событийную процедуру, реализующую определение логических значений на выходе каждого базового логического элемента и их вывод в текстовые поля: Dim ЫпА, ЫпВ, ЫпР, blnS As Boolean Sub cmdl Click 0 blnA blnB blnP blnS = txtA.Text = txtB.Text = blnA And = (blnA Or txtP.Text = blnP txtOtr.Text = Not txtOr.Text = blnA txtS.Text = bins End Sub 3. Запустить проект, ввести логические значения аргументов и щелкнуть по кнопке Перенос и сумма. В текстовые поля будут выведены логические значения на выходах логических элементов. blnB blnB) And Not (blnA And blnB) blnP Or blnB Проект хранится в каталоге \textbook\VB\prjLog\_____________ CD-ROM Практические задания 5.17. Создать компьютерную модель полусумматора с использованием электронных таблиц. Моделирование и формализация 283 5.13. Информационные модели управления объектами в процессе функционирования сложных систем (биологических, технических и пр.) входящие в них объекты постоянно обмениваются информацией. Для поддержания своей жизнедеятельности любой живой организм постоянно получает информацию из внешнего мира с помощью органов чувств, обрабатывает ее и управляет своим поведением (например, перемещаясь в пространстве, избегает опасности). В процессе управления полетом самолета в режиме автопилота бортовой компьютер получает информацию от датчиков (скорости, высоты и пр.), обрабатывает ее и передает команды на исполнительные механизмы, изменяющие режим полета (закрылки, клапаны, регулирующие работу двигателей, и пр.). В любом процессе управления всегда происходит взаимодействие двух объектов — управляющего и управляемого, которые соединены каналами прямой и обратной связи. По каналу прямой связи передаются управляющие сигналы, а по каналу обратной связи — информация о состоянии управляемого объекта. Разомкнутые системы управления. Если в процессе управления не учитывается состояние управляемого объекта и обеспечивается управление только по прямому каналу (от управляющего объекта к управляемому), то такие системы управления называются разомкнутыми. Информационную модель разомкнутой системы управления можно наглядно представить с помощью схемы, представленной на рис. 5.12. Управляющий канал управления Управляемый объект ^ объект Рис. 5.12. Разомкнутая система управления В качестве примера разомкнутой системы управления рассмотрим процесс записи информации на гибкий диск, в котором объект «Дисковод* (управляющий объект) изменяет состояние объекта «Дискета* (управляемый объект). 284 Глава 5 Для ТОГО чтобы информация могла быть записана, необходимо установить магнитную головку дисковода над определенной концентрической дорожкой диска. При записи информации на гибкие диски не требуется особой точности установки (имеется всего 80 дорожек) и можно не учитывать возможные (например, от нагревания) механические деформации носителя, поэтому управляющий объект (дисковод) просто перемещает магнитную головку на определенное расстояние вдоль радиуса управляемого объекта (дискеты). Для демонстрации принципа работы разомкнутых систем управления разработаем компьютерную модель на языке программирования Visual Basic. Пусть управляемым объектом будет точка, которую управляющий объект (пользователь) должен переместить в центр мишени (круга). Прямое управление положением точки будем производить путем нажатия на кнопки, которые перемещают объект вверх, вниз, влево и вправо. Обратная связь будет отсутствовать. Модель разомкнутой системы управления 1. Поместить на форму графическое поле, по которому будет перемещаться точка, кнопку для вывода первоначального положения точки, четыре кнопки для управления движением точки и кнопку для вывода мишени. 2. Событийная процедура первоначального вывода точки должна включать задание масштаба и случайную генерацию координат точки: Dim bytXl, bytYl, bytX2, bytY2 As Byte Private Sxab cmdP_Click() picl.Scale (0, 20)-(20, 0) bytXl = Int(Rnd * 20) bytYl = Int(Rnd * 20) picl.PSet (bytXl, bytYl), vbRed End Sub 3. Четыре событийные процедуры перемещения точки должны обеспечивать изменение координат точки. Например, для перемещения влево служит событийная процедура: Private Sub cmdL_Cliclc () picl.Scale (0, 20)-(20, 0) bytXl = bytXl - 1 picl.PSet (bytXl, bytYl), vbRed End Sub Моделирование и формализация 285 4. 0) vbBlack Событийная процедура вывода мишени: Private ЗгдЬ cmd2_Click () picl.Scale (0, 20)-(20, picl.Circle (10, 10), 5 picl.PSet (bytXl, bytYl), End Sub Щелкнуть HO кнопке Упр. объект и перемещать его кнопками со стрелками. Щелкнуть по кнопке Результат. Отклонение точки от центра мишени будет велико. Проект хранится \textbookWB\prjUpr\ в каталоге CD-ROM Замкнутые системы управления. В замкнутых системах управления управляющий объект по прямому каналу управления производит необходимые действия над объектом управления, а по каналу обратной связи получает информацию о его реальных параметрах. Это позволяет осуществлять управление с гораздо большей точностью. Информационную модель замкнутой системы управления можно наглядно представить с помощью схемы, представленной на рис. 5.13. канал управления Управляющий ► Управляемый объект ◄ канал обратной связи объект Рис. 5.13. Замкнутая система управления Примером использования замкнутой системы управления является процесс записи на жесткие диски. При записи информации на жесткие диски требуется особая точность установки магнитных головок, так как на рабочей поверхности носителя имеются тысячи дорожек и необходимо учитывать механические деформации магнитного носителя (например, в результате изменения температуры). Система управления 286 Глава 5 магнитными головками винчестера постоянно получает информацию о реальном положении магнитных головок по каналу обратной связи, а по прямому каналу выставляет головки над поверхностью носителя с большой точностью. Для демонстрации принципа работы замкнутых систем управления усовершенствуем компьютерную модель переме-ш;ения точки в центр мишени. Для осуществления обратной связи будем выводить значения координат точки в текстовые поля. Модель замкнутой системы управления 1. Усовершенствовать предыдущий проект и поместить на форму два текстовых поля. В коды процедур добавить строки: txtX.Text = bytXl txtY.Text = bytYl Использование обратной связи обеспечивает гарантированное попадание точки в мишень. Проект хранится в каталоге \textbookWB\prjUpr1\_____________ CD-ROM Вопросы дл^ШЗмышления 1. В чем состоит различие разомкнутых и згшкнутых систем управления? Приведите примеры. Практические задания 5.18. Создать компьютерную модель замкнутой системы управления с автоматической обратной связью. Глава 6_________________ Информатизация общества 6.1. Информационное общество Человеческое общество по мере своего развития прошло этапы овладения веществом, затем энергией и, наконец, информацией. В первобытно-общинном, рабовладельческом и феодальном обществах (в основе существования которых лежало ремесло) деятельность общества в целом и каждого человека в отдельности была направлена, в первую очередь, на овладение веществом. На заре цивилизации (десятки тысяч лет до н. э.) люди научились изготавливать простые орудия труда и охоты (каменный топор, стрелы и так далее), в античности появились первые механизмы (рычаг и др.) и средства передвижения (колесницы, корабли), в средние века были изобретены первые сложные орудия труда и механизмы (ткацкий станок, часы). Овладение энергией находилось в этот период на начальной ступени, в качестве источников энергии использовались Солнце, вода, огонь, ветер и мускульная сила человека. С самого начала человеческой истории возникла потребность передачи и хранения информации. Для передачи информации сначала использовался язык жестов, а затем человеческая речь. Для хранения информации стали использоваться наскальные рисунки, а в IV тысячелетии до нашей эры появилась письменность и первые носители информации (шумерские глиняные таблички и египетские папирусы). История создания устройств для обработки числовой информации начинается также еще с древности — с абака (счетной доски, являющейся прообразом счетов). Индустриальное общество. Начиная примерно с XVII века в процессе становления машинного производства на первый план выходит проблема овладения энергией (маши- 288 Глава 6 ны и станки необходимо было приводить в движение). Сначала совершенствовались способы овладения энергией ветра и воды (ветряные мельницы и водяные колеса), а затем человечество овладело тепловой энергией (в середине XVIII века была изобретена паровая машина, а в конце XIX века — двигатель внутреннего сгорания). В конце XIX века началось овладение электрической энергией, были изобретены электрогенератор и электродвигатель. И наконец, в середине XX века человечество овладело атомной энергией, в 1954 году в СССР была пуш;ена в эксплуатацию первая атомная электростанция. Овладение энергией позволило перейти к массовому машинному производству потребительских товаров, было создано индустриальное общество. Основными показателями развитости индустриального обш;ества являлись количественные показатели, то есть сколько было добыто угля и нефти, сколько произведено станков и так далее. В этот период происходили также существенные изменения в способах хранения и передачи информации. В середине XV века было изобретено книгопечатание, что позволило сделать информацию доступной для гораздо большего количества людей. С конца XIX века для передачи информации на дальние расстояния по проводам стали широко использоваться телеграф и телефон, а в XX веке — электромагнитные волны (радио, телевидение). Информационное общество. Первой попыткой автоматизированной обработки информации стало создание Чарльзом Бэббиджем в середине XIX века механической цифровой аналитической машины. Однако лишь с середины XX века, с момента появления электронных устройств обработки и хранения информации (ЭВМ, а затем персонального компьютера), начался постепенный переход от индустриального общества к информационному. В информационном обществе главным ресурсом является информация, именно на основе владения информацией о самых различных процессах и явлениях можно эффективно и оптимально строить любую деятельность. Важно не только произвести большое количество продукции, но произвести нужную продукцию в определенное время, с определенными затратами и так далее. Поэтому в информационном обществе повышается не только качество потребления, но и качество производства; человек, использующий информационные технологии, имеет лучшие условия труда, труд становится творческим, интеллектуальным и так далее. Информатизация общества 289 В настоящее время развитые страны мира (США, Япония, страны Западной Европы) фактически уже вступили в информационное общество, другие же, в том числе и Россия, находятся на ближних подступах к нему. В качестве критериев развитости информационного общества можно выбрать три: наличие компьютеров, уровень развития компьютерных сетей и количество населения, занятого в информационной сфере, а также использующего информационные и коммуникационные технологии в своей повседневной деятельности. Производство компьютеров. Первые электронно-вычислительные машины (ЭВМ), которые могли автоматически по заданной программе обрабатывать большие объемы информации, были созданы в 1946 году в США (ЭНИАК) и в 1950 году в СССР (МЭСМ). В 40-60-х годах производство ЭВМ измерялась единицами, десятками и, в лучшем случае, сотнями штук. ЭВМ были очень дорогими и очень большими (занимали громадные залы) и поэтому оставались недоступными для массового потребителя. Массовое производство сравнительно недорогих персональных компьютеров началось с середины 70-х годов XX века с компьютера Apple II (с этого компьютера начала свое существование фирма Apple). Количество производимых персональных компьютеров начало составлять десятки тысяч в год, что по тем временам было колоссальным достижением. В начале 80-х годов приступила к массовому производству персональных компьютеров корпорация IBM (компьютеры так и назывались IBM Personal Computer — IBM PC). Достаточно скоро IBM-совместимые компьютеры стали выпускать многие фирмы, и их производство достигло сотен тысяч в год. Ежегодное производство персональных компьютеров постоянно росло и в 2000 году превысило 150 миллионов. Персональный компьютер постоянно совершенствовался, его производительность возросла на три порядка, при этом, что очень важно, цена практически не изменилась. Персональный компьютер стал доступен массовому потребителю, и теперь в развитых странах мира компьютер имеется на большинстве рабочих мест и в большинстве семей. Компьютерные сети. В настоящее время существенной тенденцией в информатизации общества является переход от использования компьютеров в автономном режиме к использованию их в информационных сетях. 10—2645 290 Глава 6 Информационные сети создают реальную возможность быстрого и удобного доступа пользователя ко всей информации, накопленной человечеством за всю свою историю. Электронная почта и телеконференции, поиск информации во Всемирной паутине и в файловых архивах, интерактивное общение, прослушивание радиостанций и просмотр телевизионных программ, покупки в Интернет-магазинах стали повседневной практикой многих пользователей компьютеров в развитых странах. Развитие глобальных компьютерных сетей началось в 80-е годы. В 1981 году в сети Интернет насчитывалось лишь 213 компьютеров, к концу 80-х годов количество подключенных к сети компьютеров возросло до 150 тысяч, однако наиболее быстрый экспоненциальный рост их количества происходил в 90-е годы. Чтобы убедиться в этом, достаточно проследить рост количества серверов в глобальной компьютерной сети Интернет, которое к началу 2002 года достигло почти 150 миллионов (рис. 6.1). (Статистические данные о росте Интернета можно найти на сервере Internet Software Consortium по адресу http.V/www.isc.org). Рис. 6.1. Рост количества серверов Интернета По количеству имеющихся серверов Интернета можно судить о степени информатизации отдельных стран. Наибольшее количество серверов зарегистрировано в доменах административного типа, которые находятся в основном в США (около 104 миллионов серверов), на втором месте, с большим Информатизация общества 291 25,3 104,1 ^ Административные домены d Япония Q Канада □ Германия Ш Великобритания □ Австралия ■ Россия ■ Другие страны Рис. 6.2. Распределение серверов Интернета по странам мира отставанием, Япония (7,1 миллионов серверов), Россия занимает в этом списке 24-е место (около 400 тысяч серверов). Развитие глобальной компьютерной сети требует наличия каналов связи с высокой пропускной способностью. Основой глобальной компьютерной сети Интернет являются магистральные высокоскоростные линии связи, по которым передается информация между региональными сетями. В настоящее время наиболее мощные регионгшьные сети функционируют в Северной Америке, Европе, Японии и Австралии. Они соединены между собой многочисленными оптоволоконными линиями связи с пропускной способностью до 20 Гбит/с и выше. Внутри региональных сетей информация передается также преимущественно по оптоволоконным каналам с различной пропускной способностью (от 1 до 155 Мбит/с). В региональных сетях часто используются также выделенные линии (медные), а иногда (в пределах прямой видимости) и радиоканалы, пропускная способность которых может достигать 2 Мбит/с. Для подключения отдаленных регионов наиболее экономически выгодным является подключение по спутниковым каналам, пропускная способность которых может достигать десятков мегабитов в секунду. Однако для большинства индивидуальных пользователей (их сейчас в мире около 1 миллиарда) приемлемым по цене является доступ в Интернет только по коммутируемым телефонным каналам со скоростью до 56 Кбит/с. В России, по разным оценкам, таких пользователей от 3 до 5 миллионов. 292 Глава 6 Население, занятое в информационной сфере. По данным ООН, в 90-е годы количество работников, занятых в информационной сфере (для которых обработка информации является основной производственной функцией), возросло примерно на 25%, тогда как количество занятых в сельском хозяйстве и промышленности сократилось соответственно на 10 и 15%. Компьютеры и информационные технологии интенсивно проникают и в сферу материального производства. Инженер, фермер, специалисты других традиционных профессий все чаш;е имеют на своем рабочем месте компьютер и используют информационные и коммуникационные технологии в своей профессиональной деятельности. С развитием коммуникационных технологий и мобильной связи все большее количество людей осуществляют свою производственную деятельность дистанционно, то есть работая дома, а не в офисе (в США более 10 миллионов человек). Все большее распространение получает дистанционное образование и поиск работы через Интернет. В 2000 году оборот мирового рынка информационных и коммуникационных технологий составил около 1 триллиона долларов. При этом на закупку аппаратных средств было потрачено менее половины этой суммы, большая часть была вложена в разработку программного обеспечения, проектирование компьютерных сетей и так далее. Информационное общество — это общество, в котором большая часть населения занята получением, переработкой, передачей и хранением информации. Курс информатики и информационных технологий играет особую роль в эпоху перехода от индустриального общества к информационному, так как готовит выпускников школы к жизни и деятельности в информационном обществе. Вопросы для размышления 1. Какую роль играли вещество, энергия и информация на различных этапах развития общества? Информатизация общества 293 2. По каким основным параметрам можно судить о степени развитости информационного общества и почему? 3. Как изменяется содержание жизни и деятельности людей в процессе перехода от индустриального к информационному обществу? ■ I I Практические задания 6.1. Ознакомиться в Интернете с его ростом по годам и распределением серверов по странам мира. 6.2. Информационная культура Количество информации в современном обществе стремительно нарастает, человек оказывается погруженным в море информации. Для того чтобы в этом море «не утонуть», необходимо обладать информационной культурой, то есть знаниями и умениями в области информационных и коммуникационных технологий, а также быть знакомым с юридическими и этическими нормами в этой сфере. Процесс информатизации общества меняет традиционные взгляды на перечень умений и навыков, необходимых для социальной адаптации. Возьмем традиционный навык письма. На заре цивилизации (Шумер, Египет), в античном мире (Эллада, Римская империя и др.) и в средние века (до изобретения книгопечатания) навык каллиграфического письма был залогом успешного продвижения по социальной лестнице. В индустриальном обществе (до изобретения персональных компьютеров) навыки письма ручкой также были необходимы для любого члена общества. В настоящее время, на пороге информационного общества, социальная значимость навыка письма ручкой снижается и, наоборот, социальная значимость навыков ввода информации с помощью клавиатуры и работы с графическим интерфейсом приложений с помощью мыши возрастает. Создание и редактирование документов с помощью компьютера, то есть овладение офисными информационными технологиями, становится в информационном обществе социально необходимым умением — достаточно просмотреть объявления о приеме на работу. 294 Глава 6 Современные информационные технологии позволяют включать в состав документа любые мультимедийные объекты (графику, звук, анимацию, видео). Дома вы можете привести в порядок фотоархив семьи, отсканировав старые фотографии и поместив их в упорядоченном виде в компьютерный фотоальбом; в процессе обучения вы можете подготовить реферат с иллюстрациями, в процессе профессиональной деятельности — создать компьютерную презентацию о деятельности вашей фирмы. Умение работать с мультимедиа-документами, создавать компьютерные презентации становится важным в информационном обществе. В современном информационном обществе вряд ли необходимы навыки традиционного черчения на ватмане. Вместо этого полезно получить первоначальное представление о назначении и возможностях компьютерных систем автоматизированного проектирования {САПР). Такие системы позволят вам быстро рассмотреть различные варианты планировки интерьера дома или квартиры, создать чертеж или схему. Использование электронных таблиц сделает более простыми и наглядными процессы исследования и построения графиков функций в процессе изучения математики, планирования и ведения домашнего бюджета, построения и исследования моделей различных объектов и процессов. Необходимость упорядочить информацию, например, о людях, с которыми вы контактируете, требует использования записной книжки. Однако часто удобнее использовать для хранения такой информации компьютерную базу данных «Записная книжка». При поиске информации в современной библиотеке или в Интернете необходимо иметь навыки поиска информации в базах данных. В информационном обществе очень полезным является умение создавать базы данных, а также вести в них поиск данных. Квалифицированный пользователь компьютера может на основе использования средств визуального объектно-ориентированного программирования создавать необходимые ему специализированные приложения. Например, можно создать приложение, которое автоматизирует заполнение многочисленных квитанций оплаты за квартиру, электроэнергию, газ и др. Современному человеку необходимо овладеть коммуникативной культурой, то есть умениями создавать и посылать электронные письма, находить нужную информацию во Все- Информатизация общества 295 мирной паутине или в файловых архивах, участвовать в чатах и так далее. Необходимым условием успешной профессиональной деятельности становится создание и публикация в Интернете Web-сайтов с информацией о деятельности организации или предприятия. Информационная культура состоит не только в овладении определенным комплексом знаний и умений в области информационных и коммуникационных технологий, но предполагает знание и соблюдение юридических и этических норм и правил. Законы запрещают использование пиратского компьютерного обеспечения и пропаганду насилия, наркотиков и порнографии в Интернете. Общение с помощью электронной почты или в чатах, участие в телеконференциях предполагают соблюдение определенных правил: отвечать на письма и не рассылать знакомым и незнакомым людям многочисленные рекламные сообщения (спам), не отклоняться от темы обсуждения в телеконференциях и чатах и так далее. Вопросы для размышления 1. Каковы основные компоненты информационной культуры, которые необходимы человеку для жизни в информационном обществе? 6.3. Правовая охрана программ и данных. Защита информации 6.3.1. Лицензионные, условно бесплатные и бесплатные программы Программы по их юридическому статусу можно разделить на три большие группы: лицензионные, условно бесплатные (shareware) и свободно распространяемые программы (freeware). Дистрибутивы лицензионных программ (дискеты или диски CD-ROM, с которых производится установка программ на компьютеры пользователей) распространяются разработчиками на основании договоров с пользователями на платной основе, проще говоря, лицензионные программы продаются. Довольно часто разработчики предоставляют существенные 296 Глава 6 СКИДКИ при покупке лицензии на использование программы на большом количестве компьютеров или на использование программы в учебных заведениях. В соответствии с лицензионным соглашением разработчики программы гарантируют ее нормальное функционирование в определенной операционной системе и несут за это ответственность. Некоторые фирмы — разработчики программного обеспечения предлагают пользователям условно бесплатные программы в целях их рекламы и продвижения на рынок. Пользователю предоставляется версия программы с ограниченным сроком действия (после истечения указанного срока программа перестает работать, если за нее не произведена оплата) или версия программы с ограниченными функциональными возможностями (в случае оплаты пользователю сообщается код, включающий все функции). Многие производители программного обеспечения и компьютерного оборудования заинтересованы в широком бесплатном распространении программного обеспечения. К таким программным средствам можно отнести следующие: • новые недоработанные (бета) версии программных продуктов (это позволяет провести их широкое тестирование); • программные продукты, являющиеся частью принципиально новых технологий (это позволяет завоевать рынок); • дополнения к ранее выпущенным программам, исправляющие найденные ошибки или расширяющие возможности; • устаревшие версии программ; • драйверы к новым устройствам или улучшенные драйверы к уже существующим. Вопросы для размышления 1. В чем состоит различие между лицензионными, условно бесплатными и бесплатными программами? 6.3.2. Правовая охрана информации Правовая охрана программ и баз данных. Правовая охрана программ для ЭВМ и баз данных впервые в полном объеме введена в Российской Федерации Законом РФ «О право- Информатизация общества 297 вой охране программ для электронных вычислительных машин и баз данных», который вступил в силу в 1992 году. Предоставляемая настоящим законом правовая охрана распространяется на все виды программ для ЭВМ (в том числе на операционные системы и программные комплексы), которые могут быть выражены на любом языке и в любой форме, включая исходный текст на языке программирования и машинный код. Однако правовая охрана не распространяется на идеи и принципы, лежащие в основе программы для ЭВМ, в том числе на идеи и принципы организации интерфейса и алгоритма. Для признания и осуществления авторского права на программы для ЭВМ не требуется ее регистрация в какой-либо организации. Авторское право на программы для ЭВМ возникает автоматически при их создании. Для оповещения о своих правах разработчик программы может, начиная с первого выпуска в свет программы, использовать знак охраны авторского права, состоящий из трех элементов; • буквы С в окружности или круглых скобках ©; • наименования (имени) правообладателя; • года первого выпуска программы в свет. Например, знак охраны авторских прав на текстовый редактор Word выглядит следующим образом: © Корпорация Microsoft, 1993-1997. Автору программы принадлежит исключительное право осуществлять воспроизведение и распространение программы любыми способами, а также модификацию программы. Организация или пользователь, правомерно владеющий экземпляром программы (купивший лицензию на ее использование), вправе без полз^ения дополнительного разрешения разработчика осуществлять любые действия, связанные с функционированием программы, в том числе ее запись и хранение в памяти ЭВМ. Запись и хранение в памяти ЭВМ допускаются в отношении одной ЭВМ или одного пользователя в сети, если другое не предусмотрено договором с разработчиком. Необходимо знать и выполнять существующие законы, запрещающие нелегальное копирование и использование лицензионного программного обеспечения. В отношении организаций или пользователей, которые нарушают авторские права, разработчик может потребовать возмещения причиненных убытков и выплаты нарушителем компенсации в определяемой по усмотрению суда сумме от 5000-кратного 298 Глава 6 ДО 50 000-кратного размера минимальной месячной оплаты труда. Электронная подпись. В 2002 году был принят Закон РФ «Об электронно-цифровой подписи», который стал законодательной основой электронного документооборота в России. По этому закону электронная цифровая подпись в электронном документе признается юридически равнозначной подписи в документе на бумажном носителе. При регистрации электронно-цифровой подписи в специализированных центрах корреспондент получает два ключа: секретный и открытый. Секретный ключ хранится на дискете или смарт-карте и должен быть известен только самому корреспонденту. Открытый ключ должен быть у всех потенциальных получателей документов и обычно рассылается по электронной почте. Процесс электронного подписания документа состоит в обработке с помощью секретного ключа текста сообщения. Далее зашифрованное сообщение посылается по электронной почте абоненту. Для проверки подлинности сообщения и электронной подписи абонент использует открытый ключ. Вопросы для размышления 1. Как можно зафиксировать свое авторское право на программный продукт? Практические задания 6.2. Ознакомиться с Законами РФ «О правовой охране программ для электронных вычислительных машин и баз данных» и «Об электронно-цифровой подписи», которые находятся на CD-ROM в каталоге \textbook\. 6.3.3. Защита информации Защита доступа к компьютеру. Для предотвращения несанкционированного доступа к данным, хранящимся на компьютере, используются пароли. Компьютер разрешает доступ к своим ресурсам только тем пользователям, которые зарегистрированы и ввели правильный пароль. Каждому конк- Информатизация общества 299 ретному пользователю может быть разрешен доступ только к определенным информационным ресурсам. При этом может производиться регистрация всех попыток несанкционированного доступа. Защита пользовательских настроек имеется в операционной системе Windows (при загрузке системы пользователь должен ввести свой пароль), однако такая защита легко преодолима, так как пользователь может отказаться от введения пароля. Вход по паролю может быть установлен в программе BIOS Setup, компьютер не начнет загрузку операционной системы, если не введен правильный пароль. Преодолеть такую защиту нелегко, более того, возникнут серьезные проблемы доступа к данным, если пользователь забудет этот пароль. В настоящее время для защиты от несанкционированного доступа к информации все более часто используются биометрические системы авторизации и идентификации пользователей. Используемые в этих системах характеристики являются неотъемлемыми качествами личности человека и поэтому не могут быть утерянными и подделанными. К биометрическим системам защиты информации относятся системы распознавания речи, системы идентификации по отпечаткам пальцев, а также системы идентификации по радужной оболочке глаза. Запщта программ от нелегального копирования и использования. Компьютерные пираты, нелегально тиражируя программное обеспечение, обесценивают труд программистов, делают разработку программ экономически невыгодным бизнесом. Кроме того, компьютерные пираты нередко предлагают пользователям недоработанные программы, программы с ошибками или их демоверсии. Для того чтобы программное обеспечение компьютера могло функционировать, оно должно быть установлено (инсталлировано). Программное обеспечение распространяется фирмами-производителями в форме дистрибутивов на CD-ROM. Каждый дистрибутив имеет свой серийный номер, что препятствует незаконному копированию и установке программ. Для предотвращения нелегального копирования программ и данных, хранящихся на CD-ROM, может использоваться специальная защита. На CD-ROM может быть размещен закодированный программный ключ, который теряется при копировании и без которого программа не может быть установлена. 300 Глава 6 Защита от нелегального использования программ может быть реализована с помощью аппаратного ключа, который присоединяется обычно к параллельному порту компьютера. Защищаемая программа обращается к параллельному порту и запрашивает секретный код; если аппаратный ключ к компьютеру не присоединен, то защищаемая программа определяет ситуацию нарушения защиты и прекращает свое выполнение. Защита данных на дисках. Каждый диск, папка и файл локального компьютера, а также компьютера, подключенного к локальной сети, может быть защищен от несанкционированного доступа. Для них могут быть установлены определенные права доступа (полный, только чтение, по паролю), причем права могут быть различными для различных пользователей. Для обеспечения большей надежности хранения данных на жестких дисках используются RAID-массивы (Redantant Arrays of Independent Disks — избыточный массив независимых дисков). Несколько жестких дисков подключаются к специальному RAID-контроллеру, который рассматривает их как единый логический носитель информации. При записи информации она дублируется и сохраняется на нескольких дисках одновременно, поэтому при выходе из строя одного из дисков данные не теряются. Защита информации в Интернете. Если компьютер подключен к Интернету, то в принципе любой пользователь, также подключенный к Интернету, может получить доступ к информационным ресурсам этого компьютера. Если сервер имеет соединение с Интернетом и одновременно служит сервером локальной сети (Интранет-сервером), то возможно несанкционированное проникновение из Интернета в локальную сеть. Механизмы проникновения из Интернета на локальный компьютер и в локальную сеть могут быть разными: • загружаемые в браузер Web-страницы могут содержать активные элементы ActiveX или Java-апплеты, способные выполнять деструктивные действия на локальном компьютере; • некоторые Web-серверы размещают на локальном компьютере текстовые файлы cookie, используя которые можно получить конфиденциальную информацию о пользователе локального компьютера; • с помощью специальных утилит можно получить доступ к дискам и файлам локального компьютера и др. Информатизация общества 301 Для ТОГО чтобы этого не происходило, устанавливается программный или аппаратный барьер между Интернетом и Интранетом с помощью брандмауэра (firewall — межсетевой экран). Брандмауэр отслеживает передачу данных между сетями, осуществляет контроль текущих соединений, выявляет подозрительные действия и тем самым предотвращает несанкционированный доступ из Интернета в локальную сеть. Вопросы для размышления 1. Какие используются способы идентификации личности при предоставлении доступа к информации? 2. Почему компьютерное пиратство наносит ущерб обществу? 3. Какие существуют программные и аппаратные способы защиты информации? 4. Чем отличается простое копирование файлов от инсталляции программ? Для чего каждый дистрибутив имеет серийный номер? Раздел II информационные и коммуникационные технологии Глава 7 Технология обработки графической информации Глава 8 Компьютерные презентации Глава 9 Технология обработки текстовой информации Глава 10 Технология обработки числовых данных Глава 11 Технология хранения, поиска и сортировки информации Глава 12 Коммуникационные технологии Глава 13 Основы языка гипертекстовой разметки документов Глава 7_________________ Технология обработки графической информации 7.1. Растровая и векторная графика 7.1.1. Растровые и векторные графические изображения Все компьютерные изображения разделяют на два типа: растровые и векторные. Растровая графика. Растровые графические изображения формируются в процессе преобразования графической информации из аналоговой формы в цифровую, например, в процессе сканирования существующих на бумаге или фотопленке рисунков и фотографий, при использовании цифровых фото- и видеокамер, при просмотре на компьютере телевизионных передач с использованием ТВ-тюнера и так далее. Можно создать растровое графическое изображение и непосредственно на компьютере с использованием графического редактора, загрузить его с CD-ROM или DVD-ROM-дисков или «скачать» из Интернета. Растровое изображение хранится с помощью точек различного цвета (пикселей), которые образуют строки и столбцы. Каждый пиксель имеет определенное положение и цвет. Хранение каждого пикселя требует определенного количества битов информации, которое зависит от количества цветов в изображении. а Пиксель - минимальный участок изображения, цвет которого можно задать независимым образом. Технология обработки графической информации 305 Качество растрового изображения зависит от размера изображения (количества пикселей по горизонтали и вертикали) и количества цветов, которые можно задать для каждого пикселя. В качестве примера рассмотрим черно-белое (без градаций серого) изображение стрелки размером 8x7 (рис. 7.1). Легко подсчитать, какой информационный объем файла требуется для хранения этого изображения. Общее количество пикселей равно 56. Так как используется всего два цвета, то для хранения каждого пикселя необходим 1 бит. Таким образом, файл будет иметь объем 56 битов, или 7 байтов. Рис. 7.1. Растровое изображение стрелки Растровые графические изображения многоцветных фотографий и иллюстраций получают с помощью сканера. Такие изображения обычно имеют большой размер и большую глубину цвета (24 или 36 битов на точку). В результате файлы, хранящие растровые изображения, имеют большой информационный объем. Растровые изображения очень чувствительны к масштабированию (увеличению или уменьшению). При уменьшении растрового изображения несколько соседних точек преобразуются в одну, поэтому теряется различимость мелких деталей изображения. При увеличении изображения увеличивается размер каждой точки и появляется ступенчатый эффект, который можно увидеть невооруженным глазом (рис. 7.2). Рис. 7.2 Растровое изображение и его увеличенный фрагмент 306 Глава 7 Векторная графика. Векторные графические изображения являются оптимальным средством хранения высокоточных графических объектов (чертежи, схемы и пр.), для которых имеет значение сохранение четких и ясных контуров. С векторной графикой вы сталкиваетесь, когда работаете с системами компьютерного черчения и автоматизированного проектирования (САПР), программами обработки трехмерной графики и др. Векторные изображения формируются из объектов (точка, линия, окружность, прямоугольник и пр.), которые хранятся в памяти компьютера в виде графических примитивов и описывающих их математических формул. Например, графический примитив точка задается своими координатами (X,Y), линия — координатами начала (X1,Y1) и конца (X2,Y2), окружность — координатами центра (X,Y) и радиусом (R), прямоугольник — координатами левого верхнего угла (XI,Y1) и правого нижнего угла (X2,Y2) и так далее. Для каждого примитива задается также цвет. Рассмотренная выше стрелка в векторном формате будет задана с помощью трех линий: линия (1,4)-(8,4), ^ линия (6,7)-(8,4), линия (6,1)-(8,4). Достоинством векторной графики является то, что файлы, хранящие векторные графические изображения, имеют сравнительно небольшой объем. Важно также, что векторные графические изображения могут быть увеличены или уменьшены без потери качества (рис, 7.3). Это возможно, так как масштабирование изображений производится с помощью простых математических операций (умножения параметров графических примитивов на коэффициент масштабирования). Рис. 7.3 Векторное изображение и его увеличенная копия X Технология обработки графической информации 307 АЛ Вопросы дл]{«р1змышления 1. В чем состоит различие растровых и векторных графических изображений? 2. Какой тип графического изображения (растровый или векторный) вы выберете для разработки символов нового шрифта, учитывая, что шрифт должен масштабироваться без потери качества изображения? 7.1.2. Форматы графических файлов Форматы графических файлов определяют способ хранения информации в файле (растровый или векторный), а также форму хранения информации (используемый алгоритм сжатия). Сжатие применяется для растровых графических файлов, так как они имеют обычно достаточно большой объем. Сжатие графических файлов отличается от их архивации с помощью программ-архиваторов (гаг, zip, arj и пр.) тем, что алгоритм сжатия включается в формат графического файла. Существуют различные алгоритмы сжатия, причем для различных типов изображения целесообразно применять подходящие типы алгоритмов сжатия. Для сжатия рисунков типа аппликации, содержащих большие области однотонной закраски, наиболее эффективно применение алгоритма сжатия, который заменяет последовательность повторяющихся величин (пикселей одинакового цвета) на две величины (пиксель и количество его повторений). Такой алгоритм сжатия используется в графических файлах форматов BMP и PCX. Для рисунков типа диаграммы целесообразно применение другого метода сжатия, который использует поиск повторяющихся в рисунке «узоров». Такой алгоритм используется в графических файлах форматов TIFF и GIF и позволяет сжать файл в несколько раз. Для сжатия отсканированных фотографий и иллюстраций используется алгоритм сжатия JPEG. Этот алгоритм использует тот факт, что человеческий глаз очень чувствителен к изменению яркости отдельных точек изображения, но гораздо хуже замечает изменение цвета. Действительно, при глубине цвета 24 бита компьютер обеспечивает воспроизве- 308 Глава 7 дение более 16 млн различных цветов, тогда как человек вряд ли способен различить и тем более назвать более сотни цветов и оттенков. Применение метода JPEG позволяет сжимать файлы в десятки раз, однако может приводить к необратимой потере информации (файлы не могут быть восстановлены в первоначальном виде). Некоторые форматы графических файлов являются универсальными, так как могут быть обработаны большинством графических редакторов. Некоторые программы обработки изображений используют оригинальные форматы, которые распознаются только самой создающей программой. Преимущество оригинальных форматов файлов состоит в том, что они позволяют сохранять изображения при меньшем размере файла. Рассмотрим некоторые форматы графических файлов более подробно. Bit МаР image (BMP) — универсальный формат растровых графических файлов, используется в операционной системе Windows. Этот формат поддерживается многими графическими редакторами, в том числе редактором Paint. Рекомендуется для хранения и обмена данными с другими приложениями. Tagged Image File Format (TIFF) — формат растровых графических файлов, поддерживается всеми основными графическими редакторами и компьютерными платформами. Включает в себя алгоритм сжатия без потерь информации. Используется для обмена документами между различными программами. Рекомендуется для использования при работе с издательскими системами. Graphics Interchange Format (GIF) — формат растровых графических файлов, поддерживается приложениями для различных операционных систем. Включает алгоритм сжатия без потерь информации, позволяющий уменьшить объем файла в несколько раз. Рекомендуется для хранения изображений, создаваемых программным путем (диаграмм, графиков и так далее) и рисунков (типа аппликации) с ограниченным количеством цветов (до 256). Используется для размещения графических изображений на Web-страницах в Интернете. Portable Network Graphic (PNG) — формат растровых графических файлов, аналогичный формату GIF. Рекомендуется для размещения графических изображений на Web-страницах в Интернете. Технология обработки графической информации 309 Joint Photographic Expert Group (JPEG) — формат растровых графических файлов, который реализует эффективный алгоритм сжатия (метод JPEG) для отсканированных фотографий и иллюстраций. Алгоритм сжатия позволяет уменьшить объем файла в десятки раз, однако приводит к необратимой потере части информации. Поддерживается приложениями для различных операционных систем. Используется для размещения графических изображений на Web-страницах в Интернете. Windows MetaFile (WMF) — универсальный формат векторных графических файлов для Windows-приложений. Используется для хранения коллекции графических изображений Microsoft Clip Gallery. Encapsulated PostScript (EPS) — формат векторных графических файлов, поддерживается программами для различных операционных систем. Рекомендуется для печати и создания иллюстраций в настольных издательских системах. CorelDRaw files (CDR) — оригинальный формат векторных графических файлов, используемый в системе обработки векторной графики CorelDraw. Если вы собираетесь работать с графическим файлом только в одном данном приложении, целесообразно выбрать оригинальный формат. Если же предстоит передавать данные в другое приложение, другую среду или иному пользователю, стоит использовать универсальный формат. Вопросы для размышления 1. Перечислите свойства изображения, которое следует сохранять в формате GIF, и свойства изображения, которое лучше сохранять в формате JPEG. Практические задания 7.1. Создайте копию экрана, сохраните ее как растровое изображение типа BMP в виде файла и определите его объем. Вычислите объем файла, зная разрешение экрана и глубину цвета, и сравните с объемом файла, полученным экспериментально. 310 Глава 7 Сохраните изображение в форматах GIF и JPEG, ответьте на вопросы: • какой из форматов обеспечивает наилучшую степень сжатия? • какой из форматов обеспечивает наименьшие потери качества изображения? 7.2. Графические редакторы 7.2.1. Растровые и векторные редакторы Для обработки изображений на компьютере используются специальные программы — графические редакторы. Графические редакторы также можно разделить на две категории: растровые и векторные. Растровые графические редакторы являются наилучшим средством обработки фотографий и рисунков, поскольку растровые изображения обеспечивают высокую точность передачи градаций цветов и полутонов. Среди растровых графических редакторов есть простые, например стандартное приложение Paint, и мош,ные профессиональные графические системы, например Adobe Photoshop. К векторным графическим редакторам относятся графический редактор, встроенный в текстовый редактор Word. Среди профессиональных векторных графических систем наиболее распространена CorelDRAW. Графический редактор — это программа создания, редактирования и просмотра графических изображений. Для создания рисунка традиционными методами необходимо выбрать инструмент рисования (это могут быть фломастеры, кисть с красками, карандаши, пастель и многое другое). Графические редакторы также предоставляют возможность выбора инструментов для создания и редактирования графических изображений, объединяя их в панели инструментов. На рис. 7.4 представлены панели инструментов растрового графического редактора Paint и векторного графического редактора, входящего в состав Microsoft Word. Хорошо видно, что панели имеют много одинаковых инструментов. Технология обработки графической информации 311 1..^ а Q й' V* А \ □ а' о о [[ijgg т\ г выделяющие инструменты рисующие инструменты инструменты создания объектов выделяющие инструменты о а Р □ ■ % , К щ in. К Н я«- 1к- ш \ \ инструменты создания объектов рисующии инструмент выделяющий инструмент инструменты группировки и разгруппировки Paint Microsoft Word Рис. 7.4. Панели инструментов растрового и векторного графических редакторов Инструменты рисования объектов. Графические редакторы имеют набор инструментов для рисования простейших графических объектов: прямой линии, кривой, прямоугольника, эллипса, многоугольника и так далее. После выбора объекта на панели инструментов его можно нарисовать в любом месте окна редактора. Например, для рисования линии необходимо выбрать на панели инструментов инструмент Линия, переместить курсор на определенное место окна редактора и щелчком мыши зафиксировать точку, из которой должна начинаться линия. Затем следует перетащить линию в нужном направлении и, осуществив повторный щелчок, зафиксировать второй конец линии. Такие инструменты имеются и в растровом, и в векторном графических редакторах, однако принципы работы с ними несколько различаются. В растровом графическом редакторе объект перестает существовать как самостоятельный элемент после окончания рисования и становится лишь группой пикселей на рисунке. В векторном редакторе нарисованный объект продолжает сохранять свою индивидуальность и его можно масштабировать, перемещать по рисунку и так далее. В векторном редакторе существует группа инструментов группировки и разгруппировки объектов. Операция группировки объединяет несколько отдельных объектов в один, что позволяет производить в дальнейшем над ними общие операции (перемещать, удалять и так далее). Можно и, наоборот, разбивать объект, состоящий из нескольких объектов, на самостоятельные объекты (разгруппировывать). 312 Глава 7 Выделяющие инструменты. В графических редакторах над элементами изображения возможны различные операции: копирование, перемещение, удаление, поворот, изменение размеров и так далее. Для того чтобы выполнить какую-либо операцию над объектом, его сначала необходимо выделить. Для выделения объектов в растровом графическом редакторе обычно имеются два инструмента: выделение прямоугольной области и выделение произвольной области. Процедура выделения производится аналогично процедуре рисования. Выделение объектов в векторном редакторе осуществляется с помощью инструмента выделение объекта (на панели инструментов изображается стрелкой). Для выделения объекта достаточно выбрать инструмент выделения и щелкнуть по любому объекту на рисунке. Инструменты редактирования рисунка. Инструменты редактирования позволяют вносить в рисунок изменения: стирать части рисунка, изменять цвета и так далее. Для стирания изображения в растровых графических редакторах используется инструмент Ластик, который стирает фрагменты изображения (пиксели), при этом размер Ластика можно менять. В векторных редакторах редактирование изображения возможно только путем удаления объектов, входящих в изображение, целиком. Для этого сначала необходимо выделить объект, а затем выполнить операцию Вырезать. Палитра цветов. Операцию изменения цвета можно осуществить с помощью меню Палитра, содержащего набор цветов, используемых при создании объектов (рис. 7.5). Различают основной цвет, которым рисуются контуры фигур, и цвет фона. В левой части палитры размещаются индикаторы основного цвета и цвета фона, которые отображают текущие установки (в данном случае установлен черный основной цвет и белый цвет фона). Для изменения основного цвета необходимо осуществить левый щелчок на выбранном цвете палитры, а для цвета фона — правый щелчок. Рис. 7.5 Меню Палитра ГБГКИ!:! _ _____1 Текстовые инструменты. Текстовые инструменты позволяют добавлять в рисунок текст и осуществлять его форматирование. Технология обработки графической информации 313 В растровых редакторах инструмент Надпись (буква А на панели инструментов) позволяет создавать текстовые области на рисунках. Установив курсор в любом месте текстовой области, можно произвести ввод текста. Форматирование текста производится с помощью панели атрибутов текста (рис. 7.6). В редакторе Paint панель атрибутов текста добавляется (удаляется) при выбранном инструменте Надпись командой [Вид-Панель атрибутов текста]. Рис. 7.6. Панель атрибутов текста В векторных редакторах тоже можно создавать текстовые области, в которые можно вводить и форматировать текст. Кроме того, для ввода надписей к рисункам можно использовать так называемые выноски различных форм (рис. 7.7). В векторном графическом редакторе, входящем в Word, выноска выбирается на панели Рисование командой [Автофи-гуры-Выноски]. Надпись Надпись Надпись Рис. 7.7. Выноски в векторном редакторе Масштабирующие инструменты. В растровых графических редакторах масштабирующие инструменты позволяют увеличивать или уменьшать масштаб представления объекта на экране, но не влияют при этом на его реальные размеры. Обычно такой инструмент называется Лупа. В векторных графических редакторах можно легко изменять реальные размеры объекта с помощью мыши. Вопросы дл^ШЗмышления 1. С какими графическими редакторами вам приходилось работать? К какому типу (растровый или векторный) относится каждый из них? 2. Какой тип графического редактора (растровый или векторный) вы выберете для ретуширования отсканированной фотографии? 314 Глава 7 -“.I Практические задания 7.2. Если установить указатель мыши на инструмент растрового редактора Paint, то появится всплываюш,ая подсказка с названием инструмента. Определить таким способом название каждого инструмента. 7.3. Запустить редактор Word. Добавить панель Рисование. Распределить имеющиеся инструменты по группам в зависимости от их назначения. 7.2.2. Редактирование изображений в растровом редакторе Paint в качестве примера использования различных возможностей редактора Paint рассмотрим редактирование копии экрана рабочего стола Windows. к imitw. Редактирование растрового изображения 1. Поместить в буфер Windows копию экрана в тот момент, когда загружен Рабочий стол, для этого нажать клавишу {Print Screen}. 2. Запустить редактор Paint. Для загрузки в редактор Paint изображения из буфера ввести команду [Правка-Вставить]. В окне редактора появится изображение Рабочего стола, содержащее значки и ярлыки. 3. Воспользоваться пунктом меню Выделение и выделить ярлык принтера в нижнем правом углу рисунка. Перетащить выделенный прямоугольный фрагмент в верхнюю часть изображения. 4. Закрасить оставшийся на месте перемещенного фрагмента белый прямоугольник цветом фона. Для этого выбрать инструмент Выбор цветов (Пипетка), установить его в любой точке фона и щелкнуть мышью. Цвет фона стал значением основного цвета. Далее выбрать инструмент Заливка и щелкнуть в поле белого прямоугольника. Технология обработки графической информации 315 5. Воспользоваться пунктом меню Выделение произвольной области для выделения значка сетевого окружения, находящегося в верхнем правом углу рисунка. Перетащить выделенный фрагмент в нижнюю часть изображения. 6. Закрасить оставшуюся на месте перемещенного фрагмента белую область с помощью инструмента Распылитель. 7. Создать прямоугольный контур красного цвета вокруг значка корзины. Воспользоваться для этого рисованием объекта Прямоугольник незакрашенный, в палитре выбрать красный основной цвет. 8. Заслонить значок Мои документы красным эллипсом с белым фоном. Воспользоваться для этого рисованием объекта Эллипс закрашенный, предварительно установив требуемые значения основного цвета и цвета фона. 9. Перечеркнуть значок Downloads. Установить белый цвет фона, выбрать инструмент Ластик и переместить его с нажатой левой клавишей мыши по значку. Аналогичный результат можно получить с использованием инструмента Кисть и установкой белого цвета в качестве основного. 10. Создать в центре рисунка надпись «Рабочий стол», выбрать инструмент Надпись, с помощью мыши создать область надписи и ввести текст. Форматирование текста можно провести, вызвав Панель атрибутов текста с помощью команды [Вид-Панель атрибутов текста] или контекстного меню. 11. Результатом редакти-рования будет являться данное изображение. Практические задания 7.4. Нарисуйте шахматную доску и подпишите клетки с использованием растрового графического редактора StarOffice Image. 316 Глава 7 7.2.3. Создание изображений в векторном редакторе, входящем в состав текстового редактора Word в качестве примера рассмотрим создание в векторном редакторе блок-схемы линейного алгоритма. Создание векторного изображения 1. Запустить текстовый редактор Word. Командой [Вид-Панели инструментов-Рисование] вывести панель Рисование векторного редактора. 2. В контекстном меню панели Рисование выбрать пункт Настройка. Сформировать панель, выбрав перечень необходимых для работы команд и тематически сгруппировав их. Панели 1^<трумем10в 'CaTSicpi«< 1Сс#«чу,| I памметры j Файл Ьд Встэегса ^ереис абачца Цвет ^ Цвет Тип Тиошфисэ Вид стрела 9 Тень Объем гз ‘3 ifjOCMAL ОТ 3 Создать, например, следующие группы на панели Рисование'. • выбор объекта и действия над объектом; • графические примитивы и автофигуры; • выбор цвета заливки и шрифта; • работа с текстом; • типы линий; • работа с изображениями. В группе Автофигуры выбрать пункт Блок-схема, содержащий различные элементы блок-схем. Для построения блок-схемы линейного алгоритма сначала дважды выбрать Блок-схема: знак завершения, а потом Блок-схема: процесс. Аепствия -\ ПО Автофисуры Шй.- Технология обработки графической информации 317 \ 1;айл Правда Вс аею 1абпииа Схно 2 Op£ieT с JifJjii 4. Нарисовать элементы блок-схемы, расположить их в нужном порядке и соединить стрелочками. 5. В контекстном меню каждого из элементов блок-схемы выбрать пункт Добавить текст и ввести текст. При необходимости с помощью контекстного меню текста отформатировать текст. 6. Сгруппировать все элементы блок-схемы в один объект, для этого нажать клавишу {Shift} и, не отпуская ее, последовательно активизировать все элементы мышью. 7. В результате получим единый графический объект, который можно с помощью пункта меню Действия изменять различными способами: изменять размер, поворачивать, сдвигать и так далее. Графический редактор, входящий в Word, может производить некоторые преобразования и с растровыми изображениями (например, сделать прозрачным фон какой-то части рисунка или вырезать какую-либо его часть). Преобразование растрового изображения 1. Запустить текстовый редактор Word. 2. Открыть новый документ и командой [Вставить-Рису-нок-Из файла...] вставить в документ растровый рисунок. Рисунок оказывается вставленным в документ редактора Word. ^ Файл Ораею Зид Встдвка «орыат 1>реис ХвЬлиив Скно ’ „ ,gj xj D e-Н а li 4# 3^ ШвпФмтв 1«еет кст:ръ*<надасдсг)атьг^хзг1а-»«,м 3. На панели Рисование выбрать операцию Установить прозрачный фон (кнопка ^ ) и переместить указатель мыши, принявший форму, изображенную на кнопке, на любую точку фона и щелкнуть. Фон станет прозрачным. 318 Глава 7 IV' Microsoft Word - Докукижтг Ж ^ 1 Файл Орввкв Вид Встдеке Фоиявт Сервис Твблииа 0*мо 7 - ||?1 xf Обы^МэИ « ^ ^ 4. На панели Рисование выбрать операцию Обрезка (кнопка Ш). Подвести указатель мыши, принявший форму, изображенную на кнопке, по очереди к маркерам, отмечающим границы рисунка, и сместить их к центру. В результате «отрежутся» ненужные края изображения. Обрезанное изображение с прозрачным фоном примет вид, показанный на рисун- ке. к? 2 М б 3 10 12 1 ° Ml “ JJ = пП ? -3 « в а я S Si а АО ООО Действия' ? \ Ч □ О Автофипуры • • ад. ^ •1" Рр. г р«д 1 т на 9 7см ст 1 коп Практические задания 7.5. Нарисовать блок-схемы алгоритмических конструкций «ветвление» и «цикл» с помощью векторного редактора StarOffice Draw. 7.6. Нарисовать генеалогическое дерево вашей семьи. 7.3. Система автоматизированного проектирования КОМПАС-ЗО Системы автоматизированного проектирования (САПР) являются векторными графическими редакторами, предназначенными для создания чертежей. При классическом черчении с помощью карандаша, линейки и циркуля производится построение элементов чертежа (отрезков, окружностей, прямоугольников и так далее) с точностью, которую предоставляют чертежные инструменты. Использование САПР позволяет создавать чертежи с абсолютной точностью и обеспечивает возможность реализации сквозной технологии проектирования и изготовления деталей. На основе компьютерных чертежей генерируются управляющие программы для станков с числовым программным управлением (ЧПУ), в результате по компьютерным чертежам изготавливаются высокоточные детали из металла, дерева и так далее. Технология обработки графической информации 319 7.3.1. Окно САПР КОМПАС-ЗО В качестве примера системы автоматизированного проектирования рассмотрим систему KOMIIAC-3D, которая позволяет создавать чертежи любого уровня сложности с полной поддержкой российских стандартов. Версия КОМПАС-ЗВ LT специально предназначена для обучения компьютерному черчению в школах, техникумах и вузах, и право на ее использование в учебных целях предоставляется бесплатно российской компанией АСКОН. В центре рабочего окна КОМПАС-ЗВ размеп^ается система координат. Положение курсора отсчитывается от начала системы координат, а текущие значения его координат X и У отображаются в правой части строки текущего состояния, расположенной в нижней части окна приложения (рис. 7.8). ) КомппсТ рафик LT 5.9. Только для оэмаконит«т|Ньш и учвбиьт и«лей eiilQ Редактор Еупепить Удапить Ongpaunv-i Сервис Настройка Qkho 2 е;|и| I 1 |»|#| Рис. 7.8. Окно системы автоматизированного проектирования КОМПАС-ЗО Создание и редактирование чертежа реализуется с помощью инструментальной панели, которая по умолчанию размещается в левой верхней части окна приложения. Инструментальная панель включает в себя пять различных рабочих панелей, каждая из которых содержит набор кнопок определенного функционального назначения и панель переключения, которая обеспечивает переход от одной рабочей панели к другой (рис. 7.9). 320 Глава 7 • л ш л о. А ч а чЗ Панель Геометрические построения Рабочая панель Геометрические KHpI Панель построения содержит кнопки, позво- -ЗхЗ переключения ляющие рисовать на чертеже определенные объекты: точку, отрезок, окружность, прямоугольник и др. Панель Редактирование содержит кнопки, которые позволяют вносить изменения в чертеж, производя над объектами различные операции: перемепдение, копирование, масштабирование и пр. Панель Выделение позволяет осуществлять различные варианты выделения объектов: выде ление отдельных объектов, групп объектов и так далее. Панель Измерения позволяет измерять расстояния (вы числяются и отображаются в миллиметрах), углы (в граду сах), периметры и площади различных объектов. Панель Размеры и технологические обозначения позво ляет грамотно оформить чертеж: обозначить на чертеже раз меры деталей, сделать надписи и так далее. Рис.7.9. Инструментальная панель Практические задания 7.7. Запустить КОМПАС-ЗВ и ознакомиться с основными элементами окна приложения. 7.3.2. Построение основных чертежных объектов Выбор создаваемого чертежного объекта (точка, отрезок, окружность, прямоугольник и пр.) осуществляется с помощью панели Геометрические построения. После выбора объекта щелчком мыши по соответствующей кнопке появляется строка параметров объекта. Каждый объект обладает определенным набором параметров, которые характеризуют его размеры и положение на чертеже. Например, после выбора на панели Геометрические построения кнопки Ввод отрезка появится строка с полями для задания значений параметров отрезка: координат его начальной (р1) и конечной (р2) точек, длины (In), угла наклона (ап) и стиля линии. "^998 JlnHoO^t'JanRsiisT’ ^pl4 657 21 802 jdp2l Рис. 7.10. Строка параметров отрезка Технология обработки графической информации 321 Строка параметров включает в себя кнопки состояния полей и сами поля. По внешнему виду кнопки можно судить о состоянии поля. Поле может находиться в одном из трех состояний: фиксированном (обозначается крестиком), в режиме ожидания ввода (обозначается галочкой) и просто доступном для ввода. При создании и редактировании объектов работа со строкой параметров сводится к активизации нужных полей и вводу в них значений параметров. После ввода минимального набора значений параметров, достаточных для построения объекта (для отрезка — это координаты начальной и конечной точек), система автоматически создает объект. Можно осуществлять Ав/пожа/пический ввод параметров. Ручной ввод параметров и Ввод параметров с использованием Геометрического калькулятора. Рассмотрим в качестве примера автоматического ввода параметров построение отрезка. Построение отрезка в автоматическом режиме 1. На панели Геометрические построения щелкнуть по кнопке Ввод отрезка. Появится строка параметров отрезка, а в строке сообщений появится запрос «Укажите начальную точку отрезка или введите ее координаты»: jdpl 35 348 0423 _Jp2, Сдой I О jjJ Шаг курсора 5 0 _j!n _Jan -------- ] Масштаб 10 Привязки X "35 3-48 J j Укажите начальную точку отрезка или введите ее координаты 2. Установить курсор в поле чертежа на точку начала отрезка и произвести щелчок. При этом в поля координат точки р1 будут внесены значения координат указанной точки на чертеже, а в строке параметров символ «галочка» сменится на символ «крестик». Это означает, что введенные параметры зафиксированы. 3. Установить курсор в поле чертежа на точку р2 конца отрезка и произвести щелчок. Отрезок построен. Рассмотрим в качестве примера ручного ввода параметров построение прямоугольника. Построение прямоугольника в ручном режиме 1. На панели Геометрические построения щелкнуть по кнопке Ввод прямоугольника. Появится строка параметров прямоугольника, содержащая поле координат ле- 11—2645 322 Глава 7 ВОЙ верхней (р1) и правой нижней (р2) вершин, высоты (h) и ширины (w) прямоугольника и стиль линии: ^ г .... 50 ‘±^Р1,5 0 2. Активизировать поля координат точки р1 совместным нажатием на клавиатуре клавиш {Alt)+{1}. Ввести числовые значения координат, осуш;ествляя переход между полями координат X и У с помощью клавиши {Tab}. 3. Активизировать поля координат точки р2 совместным нажатием на клавиатуре клавиш {Alt}+{2}. Ввести числовые значения координат. Прямоугольник построен. Рассмотрим теперь использование Геометрического калькулятора, который позволяет при рисовании объектов снимать значения для параметров с других объектов, размещенных на чертеже. Построим, например, окружность, радиус которой равен длине ранее начерченного отрезка. Построение окружности с использованием Геометрического калькулятора 1. На панели Геометрические построения щелкнуть по кнопке Ввод окружности. Появится строка параметров окружности, содержащая поля координат центра окружности (с), точки на окружности (р), радиуса окружности (rad) и стиля линии: ^ ids 26 2^7 '12 488 j/ _Jrad 2. Установить курсор в поле чертежа на точку центра окружности и произвести щелчок. В поля координат центра окружности будут внесены значения координат указанной на чертеже точки. 3. Щелкнуть правой клавишей мыши в поле Радиус окружности и в появившемся меню выбрать пункт Длина кривой. Курсор примет форму мишени. 4. Выбрать отрезок и щелкнуть левой клавишей мыши. Система автоматически измерит длину выбранного отрезка и построит окружность с таким радиусом. ш Практические задания 7.8. Построить окружность с использованием автоматического ввода параметров, отрезок с использовашием ручного ввода параметров, прямоугольник с использованием Геометрического калькулятора. Глава 8_________________ Компьютерные презентации 8.1. Компьютерные презентации с использованием мультимедиа технологии Мультимедиа технология. Термин «мультимедиа» — калька с английского слова multimedia, что можно перевести как «многие среды» (от multi — много и media — среда). а Мультимедиа технология позволяет одновременно использовать различные способы представления информации: числа, текст, графику, анимацию, видео и звук. Важной особенностью мультимедиа технологии является ее интерактивность, то есть то, что в диалоге с компьютером пользователю отводится активная роль. Графический интерфейс мультимедийных проектов обычно содержит различные управляющие элементы (кнопки, текстовые окна и так далее). В последнее время создано много мультимедийных программных продуктов. Это и энциклопедии из самых разных областей жизни (история, искусство, география, биология, музыка) и обучающие программы (по иностранным языкам, физике, химии) и так далее. Компьютерные презентации. Компьютерные презентации являются одним из типов мультимедийных проектов. Компьютерные презентации часто применяются в рекламе, при выступлениях на конференциях и совещаниях, они могут также использоваться на уроках в процессе объяснения материала учителем или докладов учащихся. 324 Глава 8 В некоторых случаях презентацию запускают в автоматическом режиме, и она повествует о чем-то без участия человека. Автоматический режим презентации часто используют во время проведения различных выставок. Что же представляет собой компьютерная презентация? Проведем аналогию с обычной книгой. Книга состоит из страниц с текстом, и презентация тоже состоит из страниц, но только электронных, которые кроме текста могут содержать также мультимедийные объекты. Электронные страницы презентации называются слайдами. Книгу мы обычно читаем последовательно, просто перелистывая ее страницы. В процессе просмотра компьютерной презентации могут реализовываться различные последовательности представления слайдов. Для осуществления различных вариантов переходов между слайдами используются либо управляющие кнопки, либо гиперссылки. Компьютерная презентация представляет собой последовательность слайдов, содержащих мультимедийные объекты. Переход между слайдами осуществляется с помощью управляющих объектов (кнопок) или гиперссылок. Вопросы для размышления 1. В чем состоит разница между слайдами презентации и страницами книги? 8.2. Разработка презентации Создание презентации целесообразно начинать с разработки проекта, в котором необходимо определить примерное количество слайдов в презентации и их содержание. Создадим, например, проект учебной презентации «Знакомимся с компьютером», которая будет посвящена рассмотрению устройства компьютера. Последовательность слайдов этой презентации может быть, например, такой: Компьютерные презентации • слайд 1 «Знакомимся с компьютером»; • слайд 2 «Структурная схема компьютера»; • слайд 3 «Долговременная память»; • слайд 4 «Устройства ввода». 8.2.1. Создание презентации с помощью PowerPoint PowerPoint является офисным приложением, которое предназначено для создания презентаций. Приступим к практической реализации презентации «Знакомимся с компьютером». ДЙ Создание презентации «Знакомимся с компьютером» ^мастер wtoco* I (Шбгвны офорнганн» I ■ МпШ 1. в окне приложения PowerPoint ввести команду [Файл-Со-здать...]. Появится диалоговая панель Создать презентацию, содержащая три вкладки: Общие, Презентации и Шаблоны оформления. 2. Перейти на вкладку Общие, дважды щелкнуть по значку Новая презентация. Появится диалоговая панель Создать слайд. Каждый раз при добавлении нового слайда необходимо выбрать тип автомакета слайда. Панель Создать слайд содержит 24 варианта разметки слайда. Текстовая информация на слайде может быть расположена либо в виде маркированного списка, либо в две колонки. Слайд целиком может занимать таблица или диаграмма, на слайде могут находиться текст и диаграмма, текст и графика и так далее. Большинство типов слайдов содержат также заголовки. Наконец, есть пустые заготовки слайдов с заголовком и без него. 326 Глава 8 Процедура заполнения слайда информацией одинакова для слайдов всех видов. Достаточно щелкнуть мышью в выбранной области и набрать свой текст или скопировать туда рисунок, диаграмму и пр. Создадим титульный слайд презентации «Знакомимся с компьютером». Первый слайд презентации обычно содержит ее название и создается на основе Титульного слайда. 3. На диалоговой панели Создать слайд выбрать тип автомакета Титульный слайд, щелкнуть на поле заголовка и ввести текст «Знакомимся с компьютером». Второй слайд называется «Структурная схема компьютера». Здесь мы в дальнейшем поместим рисунок структурной схемы компьютера. 4. Ввести команду [Вставка-Новый слайд...]. На диалоговой панели Создать слайд выбрать тип автомакета Только заголовок. Щелкнуть на поле заголовка и ввести текст «Структура компьютера». Третий слайд «Долговременная память» будет содержать таблицу из трех столбцов и четырех строк. В таблице будут содержаться названия устройств долговременной (внешней) памяти и их информационная емкость. 5. Ввести команду [Вставка-Новый слайд......]. На диалоговой панели Создать слайд выбрать тип автомакета Таблица. Выбрать количество столбцов и строк таблицы. Ввести заголовок и заполнить таблицу. Заголовок слайда ■Ц Вставка таблицы PowerPoint предоставляет возможность красиво оформить внешний вид таблицы. 6. Ввести команду [Формат-Таблица...]. На появившейся диалоговой панели Формат таблицы на вкладках Границы, Заливка, Надпись можно задать детали оформления таблицы. Формат таблицы Гранищй |загевка| Надпись Вид Компьютерные презентации 327 Заголовок слайда Четвертый слайд «Устройства ввода» будет содержать названия устройств ввода и их изображения, которые будут размещены в две колонки. 7. Ввести команду [Вставка-Но-вый слайд...]. На диалоговой панели Созвать слайд выбрать тип автомакета Текст в две колонки. Ввести заголовок и текст. 8.2.2. Рисунки и графические примитивы на слайдах Рисунки на слайдах. Рисунок для слайда можно создать с помощью графического редактора, а затем поместить на слайд командой [Вставка-Рисунок-Из файла...]. Однако проще воспользоваться коллекцией рисунков, которая имеется в Microsoft Office. Рисунки из коллекции добавляют с помощью команды [Вставка-Рисунок-Картинки...]. На появившейся диалоговой панели Microsoft Clip Gailery перед нами открывается коллекция рисунков Clip Art, в которой мы можем выбрать нужный рисунок для слайда (рис. 8.1). Рис. 8.1 Коллекция рисунков Clip Art Щ М С<1» Gallcty 3 0 Картинки из коллекции Clip Art можно изменять. Для этого используется панель Настройка изображения (рис. 8.2). Эта панель появляется на экране после выделения какого-либо графического объекта или вызывается командой [Вид-Панели инструментов-Настройка изображения]. 328 Глава 8 Рис. 8.2 Панель Настройка изображения Настройка изображения жВ эг а Фт oi ^ = Интересный зрительный образ можно создать из нескольких картинок Clip Art. Создадим для титульного слайда изображение, состоящее из двух картинок: человека и компьютера. Одну картинку (человека) увеличим, а другую (компьютер) уменьшим (рис. 8.3). Рис. 8.3 Иллюстрация, составленная из двух картинок Clip Art Графические примитивы на слайдах. На слайдах можно разместить различные графические примитивы (линии, прямоугольники, фигурные стрелки и пр.). Для этого необходимо воспользоваться панелью Рисование, которая находится обычно в нижней части окна приложения (рис. 8.4). «I Дейсгеия ' | АетоФигусы - ~ 7? ^ Ш ||^| Рис. 8.4. Панель Рисование Нужную фигуру необходимо выбрать, щелкнув по соответствующей кнопке на панели Рисование. Затем следует разместить фигуру в определенном месте слайда. Если создается несколько одинаковых фигур, целесообразно воспользоваться стандартными операциями: Копирование — Вставка. Чтобы подписать фигуру, ее надо выделить (щелкнув по ней мышью) и набрать название на клавиатуре. С помощью панели Рисование можно изменить цвет фигуры или надписи, толщину и цвет контурной линии, добавить к фигуре тень или объем. Для этого фигуру или надпись выделяют, а затем указывают выбранное оформление. С помощью графических примитивов можно создавать различные схемы, например схему «Структурная схема компьютера» для слайда 2 (рис. 8.5). Компьютерные презентации 329 Рис. 8.5. Слайд 2 «Структурная схема компьютера» 8.2.3. Выбор дизайна презентации Теперь можно выбрать дизайн презентации из коллекции, которая имеется в PowerPoint. Для этого необходимо ввести команду [Формат-Применить оформление...]. На появившейся диалоговой панели Применить оформление в раскрываюпцемся списке можно выбирать различные стили дизайна и просматривать их в окне просмотра (рис. 8.6). Выбрав подходящий, например Луг, надо нажать кнопку Применить. Все слайды разработанной презентации получат выбранный дизайн. "3 ^ alsilfel £litl=tr _Е| Рис. 8.6 Выбор дизайна презентации Применить оформление Qsnua ____) Дгиаимы гее ептацни Альбоп pot д!) Безнятежиость pot BoAoeopOT pot ^ Высокое негфяжение pot ?й|Гвлс ук pot ^ Ленты pot sJj Метеор pot jsl ] Пестрая пента pot si j rbwa^THbiH pot з!]Професс«5мапы*.и pot Наитм файУы. отеешющне услоеиам-^пяфаиле j T}tn файлов jii]a6noHb презента ^^|М№«]фаи'юв 17 Текст/сеоцгтво ] 2 Датвигн^темия |гю6ое в(жмя “3 8.2.4. Редактирование и сортировка слайдов PowerPoint позволяет редактировать каждый слайд по отдельности в режиме Слайды, а также просматривать все слайды одновременно и сортировать их в режиме Сортировщик слайдов. Для переключения режимов просмотра можно использовать пункт Вид меню приложения или панель кнопок (рис. 8.7), которая располагается в нижнем левом углу экрана. 330 Глава 8 Рис. 8.7 Панель кнопок, переключающих режимы просмотра и сортировки Режим редактирования отдельных слайдов Режим сортировщика слайдов 8 185 4 5- Показ слайдов После выбора режима Сортировщик слайдов в окне приложения появятся все слайды созданной презентации (рис. 8.8). В этом режиме удобно редактировать последовательность слайдов презентации. Слайд можно выделить, скопировать в буфер, вырезать, вставить из буфера или удалить. Слайды также легко поменять местами, перетащив их мышью на нужное место. О feiweiPetnl • |3н«к*миися с к«мпьмте^м| ‘^1 0рл№в Виа Вставка фтс^тат Сервис Показ с^^айоов Qkho , ^ Ж "" J" а О • ■£! & ЯМШИШШШИ^ liaiMiBl twutif Ь— пма « «П г* * «Й. ““*■ с. , Илтг-т ^ St” Соотаровтшет слайдов ш i 4 ■>г' Рис. 8.8. Режим Сортировщик слайдов Практические задания 8.1. Создать дополнительные слайды презентации «Знакомимся с компьютером»: слайд 5 «Устройства вывода», слайд 6 «Сетевые устройства», шутливый слайд 7 «Ну вот и познакомились...». 8.2. Найти в коллекции рисунков или в Интернете изображения устройств компьютера и вставить их в слайды презентации «Знакомимся с компьютером». 8.3. Разработать презентацию «Глобальная компьютерная сеть Интернет». Компьютерные презентации 331 8.3. Использование анимации в презентации Анимация в процессе смены слайдов. PowerPoint позволяет «оживить» демонстрацию презентации с помощью анимации. Можно создать эффекты анимации при смене одного слайда следующим. Эффект Применить ко асан | Продвижение Г? по щелчку Р автоиатически после I " сасунд Звук Для настройки перехода от одного слайда к другому необходимо выделить слайд и ввести команду [Показ слайдов-Переход слайда...]. На появившейся диалоговой панели Переход слайда (рис. 8.9) с помощью раскрывающихся списков и установки флажков можно указать, какой анимационный эффект будет исподьзоваться при смене слайдов, какими звуками это будет сопровождаться, что будет вызывать смену кадров — щелчок мыши или истекший интервал времени, и так далее. Например, в раскрывающемся списке Эффект можно выбрать один из типов анимационных эффектов, который будет реализовываться в процессе перехода от слайда к слайду (рис. 8.10). Рис. 8.9. Панель настройки перехода от одного слайда к другому Жалюзи Растворение Шашки Наплыв Рис. 8.10. Примеры некоторых видов анимационных эффектов В раскрывающемся списке Звук можно выбрать звук, которым будет сопровождаться цереход: Аплодисменты, Колокольчики, Пишущая машинка и так далее. Можно установить любой другой звук, выбрав звуковой файл. Выбранные настройки можно применить как к одному текущему слайду, так и сразу ко всем слайдам презентации. 332 Глава 8 Анимация объектов слайда. Любой объект, находящийся на слайде, можно заставить возникнуть на экране необычно: проявиться на экране, вылететь сбоку, развернуться до заданного размера, уменьшиться, вспыхнуть, вращаться и так далее. Текст может появляться целиком, по словам или даже по отдельным буквам. Для установки значений параметров анимации объекта его необходимо выделить, а затем в контекстном меню выбрать пункт Настройка анимации. Появится диалоговая панель Настройка анимации (рис. 8.11). На диалоговой панели в верхнем окне Порядок анимации перечислены объекты данного слайда. После выбора одного из них можно приступить к настройке анимационных эффектов. Вкладка Эффекты позволяет с помощью двух раскрывающихся списков установить тип анимационного процесса при появлении объекта на слайде и звук, которым будет сопровождаться заданное действие, и так далее. Если выделенным объектом является текст, то в раскрывающемся списке Появление текста задается способ появления текста: Все вместе. По словам, По буквам. Рис. 8.11. Настройка анимации объектов слайда Практические задания 8.4. Установить для каждого слайда презентации различные анимационные эффекты при переходе к другому слайду. 8.5. Настроить анимгщию для слайда 2 «Структурная схема компьютера» таким образом, чтобы блоки схемы могли появляться последовательно по щелчку мыши, иллюстрируя доклад рассказчика о структуре компьютера. Компьютерные презентации 333 8.4. Интерактивная презентация 8.4.1. Переходы между слайдами Мультимедийная презентация создана, слайды содержат красиво оформленный текст, иллюстрации, звуковые эффекты и даже анимацию. Теперь необходимо сделать презентацию интерактивной. Для этого необходимо в процессе демонстрации презентации иметь возможность изменять последовательность предъявления слайдов. Существуют два различных способа создания переходов. Первый способ состоит в создании гиперссылок на другие слайды или, в общем случае, на другие объекты (документы на локальном компьютере и Web-страницы в Интернет). 9.4. Гипертекст Второй способ состоит в размещении на слайдах управляющих элементов (например. Кнопок). Если активизировать кнопку (щелкнуть мышью), то произойдет некоторое событие (в данном случае переход на другой слайд). Рассмотрим в качестве примера создание прямых переходов между слайдами в презентации «Знакомимся с компьютером», которая после выполнения вами упражнений из предыдущих параграфов должна состоять из семи слайдов: 1. Знакомимся с компьютером. 2. Структурная схема компьютера. 3. Долговременная память. 4. Устройства ввода. 5. Устройства вывода. 6. Сетевые устройства. 7. Вот и познакомились... Схема прямых переходов презентации «Знакомимся с компьютером» будет включать в себя (рис. 8.12): • гиперссылки, реализующие прямые переходы со слайда 2 «Структурная схема компьютера», «центрального» слайда презентации, на слайды: 3 — «Долговременная память», 4 — «Устройства ввода», 5 — «Устройства вывода» и 6 — «Сетевые устройства»; • кнопки, реализующие возврат из вышеперечисленных слайдов (3, 4, 5, 6, 7) на «центральный» слайд 2; • кнопку, реализующую переход с «центрального» слайда 2 на конец презентации (слайд 7 «Вот и познакомились...»). 334 Глава 8 «4ЫД к* к т .S^ %■ Рис. 8.12. Схема прямых переходов между слайдами в презентации «Знакомимся с компьютером» Создание прямых переходов между слайдами в презентации «Знакомимся с компьютером» На слайде 2 «Структурная схема компьютера» щелчком мыши выделить блок «Долговременная память» и ввести команду [Вставка-Гиперссылка...]. Появится диалоговая панель Добавить гиперссылку. гиперссыям Сврать с фаняси/ЦЦ *~3 Введите или аы6е|»яе путь к докумеьту ив ютос»>*< будет укатьмтъ гоулка Это мшггт бить адрег 1^«рирта(1А1)ил докуяеит ив жесткой «»< сетевой диска Путь <>.вязьс отеатьмгошкм догутаектон> объекте е документе (вводите мео6юатеаьпо> 1 ЧюбыперакЬ'ик конкрет>с»|у объекту в докумтте (мкпвдке кменвеамноиу диепакку «6ъ«кггбажндвк*«иплислаи4у1 надо)«в»а'ь квпкутого объекте R испоть»евтьдлаг>»1ерссь1Ж1*отиосительиь1М|тутъ I СК ^ Отяеид В текстовом поле Связать с файлом/URL: можно указать полный адрес какого-либо файла на локальном компьютере или адрес Web-страницы в Интернете. В этом случае в процессе демонстрации презентации при активизации данной ссылки в презентацию добавлялся бы внешний файл или документ. Однако в нашем случае необходимо создать ссылку на слайд данной презентации. 2. Щелкнуть по кнопке Обзор... рядом с полем Имя объекта в документе: и в появившемся окне Гиперссылка на слайд выбрать слайд, на который будет осуществляться переход. Г иперссылка на cnaiia 1 Знакомство с компьютером 2 Структура компьютера lamiiiniiiiiiiiiiiiiMi 4 Устройства ввода 5 Устройства вывода 6 Сетевые устройства 7 Вот и познакомились ZlEf ас I Компьютерные презентации 335 3. Повторить действия 1 и 2 для установки ссылок с блоков структурной схемы Устройства ввода. Устройства вывода и Сетевые устройства на соответствующие слайды презентации. Теперь надо предусмотреть возврат со слайдов 3, 4, 5 и б на слайд 2 «Структурная схема компьютера». Реализуем это с помощью кнопок, которые должны быть размещены на соответствующих слайдах. Щелчок по кнопке будет приводить к переходу на слайд 2. Сначала выберем тип кнопки {Вперед, Назад, Возврат и так далее). 4. Ввести команду [Показ слай- дов-Управляющие кнопки]. ^ ^ ^ ^ JSl >ll .^1 ^ ^ На панели Кнопки действий выбрать кнопку Возврат. Далее необходимо выбрать для кнопки Возврат такое местоположение, размер и цвет, чтобы она хорошо смотрелась на слайде. 5. Изобразить с помощью мыши кнопку на слайде, подобрать цвет и размеры. Теперь мы можем задать действия, которые будут производиться по нажатию на созданную кнопку Возврат. 6. В контекстном меню кнопки выбрать пункт Настройка действия. На появившейся одноименной панели из ugpcmn 11W I п1с^л^аи».с рЭ.СХСрЪХВЭ.ЮИ^бГ'ОС'Я СПИСКЭ. ji_ труктур^э коипью тера выбрать нужный слайд. Настройка действия iD® I ^ указанию мышью j Дб11ствие по щелчку №1ши ^ deT Перейти по гиперссы?ке |<_труктура компьютера шнц Кнопки Возврат на всех четырех слайдах должны одинаково выглядеть и производить одинаковые действия (переход на слайд 2). Поэтому для размещения кнопки Возврат на оставшихся слайдах можно воспользоваться операцией Копирование. Презентация хранится в каталоге \textbook\PP\ CD-ROM Теперь полностью готовую мультимедийную интерактивную презентацию можно запустить на демонстрацию одним из описанных ниже способов. 336 Глава 8 8.4.2. Демонстрация презентации Запуск демонстрации презентации может осуществляться либо командой [Вид-Показ слайдов], либо нажатием кнопки Показ слайдов на панели кнопок. Если делать это с помощью кнопки, то предварительно надо вызвать на экран первый слайд презентации, так как кнопка запускает демонстрацию, начиная с текущего слайда. Для перехода от одного слайда к другому, следующему за ним, нажимают клавишу {Enter} или щелкают левой кнопкой мыши. Для перемещения по слайдам презентации вперед или назад можно пользоваться клавишей {PageUp) или {PageDown). В процессе показа слайдов указатель мыши не виден на экране, но он сразу появляется, стоит только начать перемещение мыши. Одновременно с курсором в нижнем левом углу экрана появляется изящная, почти сливающаяся с фоном кнопка ^-а|. Нажатие на нее вызывает раскрывающееся меню, с помощью которого также можно управлять ходом демонстрации. В процессе демонстрации презентации для перехода на нужный слайд можно также пользоваться управляющими кнопками и гиперссылками. Вопросы для размышления 1. Какие существуют способы задания переходов между слайдами и чем они отличаются? Практические задания 8.6. Создать на каждом слайде кнопки перехода на следующий слайд и возврата на предыдущий. 8.7. Создать на слайде 2 «Структурная схема компьютера» кнопку перехода на последний слайд презентации. Глава 9_______________ Технология обработки текстовой информации 9.1. Создание и редактирование документов Для обработки текстовой информации на компьютере используются приложения общего назначения — текстовые редакторы. Текстовые редакторы позволяют создавать, редактировать, форматировать, сохранять и распечатывать документы. Простые текстовые редакторы (например, стандартное приложение Windows Блокнот) позволяют редактировать текст, а также осуществлять простейшее форматирование шрифта. Более совершенные текстовые редакторы (например, Microsoft Word и 81аЮА1се Writer), которые называют иногда текстовыми процессорами, имеют широкий спектр возможностей по созданию документов (вставка списков и таблиц, средства проверки орфографии, сохранение исправлений и др.). Для подготовки к изданию книг, журналов и газет в процессе макетирования издания используются мощные программы обработки текста — настольные издательские системы (например, Adobe PageMaker). Для подготовки к публикации в Интернете Web-страниц и Web-сайтов используются специализированные приложения (например, Microsoft FrontPage). Создание документа. Создание документа начинается с выбора игаблона, то есть готовой пустой заготовки документа определенного назначения (обычный документ, визитная карточка, резюме и др.). Шаблоны задают структуру документа, которую пользователь заполняет определенным содержанием. Для создания документов со сложной структурой используются Мастера. Например, целесообразно использовать мастер при создании факсов, так как общепринятая форма факсов 338 Глава 9 Свойства: Учебник 2S4^doc JjJSJ Общиэ I Док^«нт Статистиса | состав j Глючив | Создан Изменен Открыт Напечатан должна содержать обязательный набор правильно размещенных на странице полей {Кому, От кого. Дата и др.). В процессе создания документа в текстовом редакторе пользователь вводит символы с клавиатуры. Свойства документа. Ознакомимся со свойствами создаваемого документа. Свойства документа 1. Запустить редактор Word. Открыть документ, например, содержащий данный учебник с помощью команды [Файл-Открыть... ]. 2. Ввести команду [Файл-Свойства]. Появится диалоговая панель для текущего документа Свойства: Учебник 2.64. doc. На вкладке Статистика ознакомиться с составом документа (количеством страниц, абзацев, строк, слов, символов и ДР-)- 23 Нфта 20D2 г 17 10 00 5 мая 2002 Г 14 12 32 5 мая 2002 Г Э ноября 2001 f 20 44 00 Абтор изменений Реда«дия Общее время праэ-м Характериешка Страниц Абзацев Строк Слое Знаков Знаков и гробелов ^чачение 425 Э476 21172 98739 655783 748929 J±i Редактирование документа. Редактирование документа производится путем копирования, перемещения или удаления выделенных символов или фрагментов текста. Копирование позволяет размножить выделенный фрагмент документа, то есть вставить его копии в указанные места документа. При перемещении выделенный фрагмент вырезается и вставляется в другое место документа, а при удалении он только вырезается. В процессе работы над документом иногда бывает необходимо заменить одно многократно встречающееся слово на другое (например, слово «ЭВМ» на слово «компьютер»). В этом случае можно использовать функцию текстового редактора Найти и заменить. При вводе запросов на замену можно использовать звездочку (*), которая маскирует произвольное число символов или знак вопроса (?), который заменяет любой единичный символ. Технология обработки текстовой информации 339 ■ Т1«1 I фреши j “31 Редактирование документа 1. Ввести команду [Прав-ка-Заменить...]. На появившейся диалоговой панели Найти и заменить на вкладке Заменить в поля Найти: и Заменить на: необходимо ввести соответствующие последовательности символов. Вставка объектов в документ. Объектно-ориентированный подход позволяет реализовать механизм встраивания и внедрения объектов (OLE — Object Linking Embedding). Этот механизм позволяет копировать и вставлять объекты из одного приложения в другое. Например, работая с документом в текстовом редакторе Word, в него можно встроить изображения, анимацию, звук и даже видеофрагменты и таким образом из обычного текстового документа получить мультимедиа документ. л Вставка объектов в документ 1. Например, для вставки в документ рисунка необходимо ввести команду [Вставка-Объект...], появится диалоговая панель Вставка объекта. На вкладке Создание в списке Тип объекта: выбрать пункт Точечный рисунок, после чего загрузится графический редактор Paint, в котором можно создать требуемый рисунок. 2. Если мы хотим вставить в документ готовый рисунок, то на вкладке Создание из файла надо осуществить щелчок на кнопке Обзор и выбрать требуемый файл. Сдм<м« 1 Соэд»меиэф»4па | Лис Microsofte«ce Паке г^эентация Mcrosoft Powerft>nt Pmcjmok Merosoft Word Слайд Mcro*oft PowerPoint 3 T j6r»*ia ИПИ диаграмма Wcrks Д 0 . ^ noeepi тахта ОЧЬ T .-1 Ре»ультзт всгае»<а нового овмктэ To*»>*4t** риг»м1Ж а iKwyMSHi ■ ?1«1 CQMdMe С(ядан« иэ j 1“ casfc с ф'»"'» ^ Гкввв» tewrra Г ^еидв мчкз 9^ав»а roief'*n^o феигм в ддкун(Н< иго€ы«0 можно редактировать испогъзуя г^мложание а котором ix сып гоадан 340 Глава 9 Проверка орфографии и синтаксиса. Для проверки орфографии (правильности написания слов) и синтаксиса (правильного построения предложений) используются специальные программные модули, которые обычно включаются в состав текстовых процессоров и редакционно-издательских систем. Такие системы содержат словари и грамматические правила для нескольких языков, что позволяет исправлять ошибки в многоязычных документах. В процессе ввода текста иногда допускаются опечатки (например, вводятся ДВе прописные буквы в начале слова). В этом случае срабатывает функция Автозамена, которая автоматически исправляет наиболее часто встречающиеся опечатки. Сохранение исправлений. В процессе работы над документом может участвовать несколько пользователей. Исправления, вносимые каждым из них, запоминаются и могут быть просмотрены и распечатаны. При работе над окончательной редакцией документа может быть проведено сравнение исправлений различных авторов и принят лучший вариант. Печать документа. Перед выводом документа на печать полезно предварительно просмотреть, как будет выглядеть документ на бумаге, так как его вид может зависеть от используемого принтера. дД Печать документа 1. Для предварительного просмотра документа следует выбрать режим разметки страницы с помощью команды [Вид-Разметка страницы]. Вид документа в режиме Раз-метка страницы (в отличие от вида в режиме Обычный) позволяет создавать, форматировать и редактировать документ в том виде, в котором он будет напечатан. Масштаб просмотра документа можно изменять с помощью команды [Вид-Масштаб...]. 2. Режим Предварителъ- пви, ного просмотра, который задается командой [Файл-Предваритель-ный просмотр], позволяет увидеть, как будут выглядеть в напечатанном виде сразу несколько страниц документа. Технология обработки текстовой информации 341 При подготовке документа к печати необходимо устано вить параметры печати, например номера страниц, выводи мых на печать, количество копий и др. 3. Команда [Файл-Печать...] ша вызывает диалоговую панель Печать, которая позволяет выбрать принтер, число копий и номера страниц, выводимых на печать. рт0т**м мгавьж Шгрмвр 1Д5-12 ^ во Т] ьатада'ль ' по ЧЭГИЯ4 Вопросы длЯ^азмышления 1. Влияет ли на вид напечатанного документа выбор принтера? Почему? Практические задания 9.1. В текстовом документе произвести замену всех букв «а» на букву «о». 9.2. В текстовый документ сначала вставить готовый рисунок из файла, а затем рисунок, созданный в приложении Paint. 9.2. Различные форматы текстовых файлов (документов) Формат файла определяет способ хранения текста в файле. Простейший формат текстового файла содержит только символы (числовые коды символов), другие же форматы содержат дополнительные управляющие числовые коды, которые обеспечивают форматирование текста. Существуют универсальные форматы текстовых файлов, которые могут быть прочитаны большинством текстовых редакторов, и оригинальные форматы, которые используются отдельными текстовыми редакторами. Для преобразования 342 Глава 9 текстового файла из одного формата в другой используются специальные программы — программы-конверторы. В хоро-П1ИХ текстовых редакторах такие конверторы входят в состав системы. Рассмотрим некоторые наиболее распространенные форматы текстовых файлов. Только текст (Text Only) (TXT). Наиболее универсальный формат. Сохраняет текст без форматирования, в текст вставляются только управляющие символы конца абзаца. Применяют этот формат для хранения документов, которые должны быть прочитаны в приложениях, работающих в различных операционных системах. Текст в формате RTF (Rich Text Format) (RTF). Универсальный формат, который сохраняет все форматирование. Преобразует управляющие коды в команды, которые могут быть прочитаны и интерпретированы многими приложениями, в результате информационный объем файла существенно возрастает. Документ Word (DOC). Оригинальный формат используемой в настоящее время версии Word. Полностью сохраняет форматирование. Использует 16-битную кодировку символов, что требует использования шрифтов Unicode. Документ Word 2.0, Word 6.0/95 (DOC). Оригинальные форматы предыдущих версий редактора Word. При преобразовании из формата Word 97/2000 форматирование сохраняется не полностью. Works 4.0 для Windows (WPS). Оригинальный формат интегрированной системы Works 4.0. При преобразовании из формата Word форматирование сохраняется не полностью. HTML-документ (НТМ, HTML). Формат хранения Web-страниц. Содержит управляющие коды (тэги) языка разметки гипертекста. Формат Лексикон (LX). Оригинальный формат отечественного текстового редактора Лексикон. Выбор требуемого формата текстового документа или его преобразование производится в процессе сохранения файла. Сохранение и открытие документа в определенном формате Ввести команду [Файл-Сохранить как...]. С помощью диалоговой панели Сохранение документа выбрать папку для сохранения документа, в раскрывающемся списке Имя файла: присвоить документу имя и в Технология обработки текстовой информации 343 раскрывающемся списке Тип файла: выбрать требуемый формат. Преобразование формата текстового документа можно также производить в процессе его открытия в редакторе. 2. Например, для того чтобы преобразовать документ, существующий в формате RTF, в формат документа Word, нужно ввести команду [Файл-Открыть...], на открывшейся диалоговой панели Открытие документа выбрать фгшл, а в окне раскрывающегося списка Тип файла: выбрать вариант Текст в формате RTF. В процессе загрузки файла будет произведено преобразование формата документа. К сожалению, в состав текстовых редакторов не всегда входят необходимые конверторы, позволяющие импортировать и экспортировать документ из одного приложения в другое. Так, среди типов файлов, конвертируемых в Word, вы не найдете файлов Adobe PageMaker. В этих случаях необходимо либо найти конвертор для этих форматов (например, на файловых серверах Интернета), либо сохранить файл в универсальном формате, который читают оба приложения. (ЛЯ ра.Нп Вопросы длЛЯ&мышления 1. В каком формате нужно сохранить файл, чтобы он мог быть прочитан в других приложениях с сохранением форматирования? Без сохранения форматирования? Практические задания 9.3. Создать текстовый документ в редакторе Word и сохранить его в таком формате, чтобы его можно было прочитать в стандартном приложении WordPad, в стандартном приложении Блокнот. 344 Глава 9 9.3. Форматирование документа Основными объектами документа являются страница, абзац и символ. Для каждого из этих объектов необходимо задать значения параметров форматирования, которые определяют внешний вид документа. 9.3.1. Выбор параметров страницы Любой документ состоит из страниц, поэтому в начале работы над документом необходимо задать значения параметров страницы: формат, ориентацию, размер полей и др. При создании реферата или заявления целесообразно выбрать формат страницы А4 (21x29,7 см), который соответствует размеру стандартного листа бумаги для принтера. Для объявлений и плакатов подходит формат АЗ, размер которого в два раза больше стандартного листа. Наоборот, для писем можно выбрать формат А5, который в два раза меньше стандартного листа. Суш;ествуют две возможные ориентации страницы — книжная и альбомная. Для обычных текстов чаще всего используется книжная ориентация, а для таблиц с большим количеством столбцов — альбомная (рис. 9.1). Рис. 9.1 Параметры страницы 'Х^рЖ йи_ кол он та]^л С?йжн йи_ кол он таг^л 'I Параметры страницы 1. Ввести команду [Файл-Параметры страницы...]. Появится диалоговая панель Параметры страницы с четырьмя вкладками Поля, Размер бумаги. Источник бумаги. Макет. На вкладке Размер бумаги с помощью раскрывающегося списка Размер Параметры страницы Оэля Размер бумаги Рдзиар бумаги Й.»оммкж, бумаги j | "3 Технология обработки текстовой информации 345 бумаги необходимо выбрать используемый формат (рекомендуется формат стандартного листа А4), а также ориентацию страницы с помощью переключателя Ориентация: (книжная или альбомная). На странице можно установить требуемые размеры полей (верхнего, нижнего, правого и левого), которые определяют расстояние от краев страницы до границы текста. Для вывода на каждой странице документа одинакового текста (например, имени автора, названия документа и др.) удобно использовать верхний или нижний колонтитул. Расстояние от края страницы до колонтитула можно изменять. 2. На вкладке Поля задать Пяраметрм Страницы iTlxj I Размер б?наги j Ип о бумаги j Макв' Лрззац Е^рчнее i 54 см 3 нижнее ГГС" л§рое 1 ПС Перапсрт |с см От края до >с<лснтитула оео&гбго 1 5- ±1 )НИ2.И9ГО ПГС“ с еиаму до<уме’-'пг Г 3^апь.^п “J размеры полей (расстояния от краев страницы до границы области редактирования) с помощью счетчиков Верхнее, Нижнее, Левое и Правое. Расстояния от краев страницы до колонтитулов задать с помощью счетчиков верхнего: и_______________________________ нижнего:. Страницы документа требуется нумеровать, причем номера можно размещать по-разному (вверху или внизу страницы, по центру, справа или слева). 3. Ввести команду [Вставка-Номера страниц...] . На вкладке Номера страниц задать местоположение номера и его формат. Практические задания 9.4. Создать текстовый документ, состоящий из страниц различного формата. 346 Глава 9 9.3.2. Форматирование абзацев Абзац является одним из основных объектов текстового документа. Абзац с литературной точки зрения — это часть текста, представляющая собой законченный по смыслу фрагмент произведения, окончание которого служит естественной паузой для перехода к новой мысли. В компьютерных документах абзацем считается любой текст, заканчивающийся управляющим символом (маркером) конца абзаца. Ввод конца абзаца обеспечивается нажатием клавиши {Enter) и отображается символом если включен режим отображения непечатаемых символов. Форматирование абзацев 1. Для включения режима отображения непечатаемых символов абзаца ввести команду [Сервис-Параметры...] и на диалоговой панели Параметры на вкладке Вид установить флажок символы абзацев. I Погыовэгс.'ь I Оаиле j Г»и*л* | rtewa | П»аи9фы реп*» рпмпм Г пмэявч абьак'ое Г* 'р»«ч^с6пж7ита(сч ^ tPPMXKIMxax полосе ЛрО'^^уПМ f” fonoca fpo>w**< Абзац может состоять из любого набора символов, рисунков и объектов других приложений. Форматирование абзацев позволяет подготовить правильно и красиво оформленный документ. Выравнивание абзацев. Выравнивание отражает расположение текста относительно границ полей страницы. Чаще всего используют четыре способа выравнивания абзацев: По левому краю — левый край ровный, а правый рваный. По центру — оба края имеют неровные очертания, од нако каждая строка абзаца симметрична относительно середины. По правому краю — правый край ровный, а левый рва ный По ширине — оба края ровные, то есть располагаются точно по границам страницы. В этом случае последняя строка абза-ца ведет себя как при левостороннем выравнивании. Технология обработки текстовой информации 347 Отступ первой строки (красная строка). Чаще всего абзац начинается отступом первой строки. Отступ может быть различных типов. Положительный отступ (отступ)^ когда первая строка начинается правее всех остальных строк абзаца, применяется в обычном тексте. Отрицательный отступ (выступ), когда первая строка выходит влево относительно остальных строк абзаца, применяется в словарях и определениях. Нулевой отступ, применяется для абзацев, выровненных по центру и для обычного текста. Отступы и интервалы. Весь абзац целиком может иметь отступы слева и справа, которые отмеряются от границ полей страницы. Так, эпиграф к художественному произведению или реквизиты адресата в заявлении имеют отступ слева, а при изготовлении углового штампа можно использовать отступ справа. Отступ абзаца слева, все строки абзаца смещены на заданное расстояние вправо. Отступ абзаца справа, все строки абзаца смещены на заданное расстояние влево. 2. Для выравнивания абзаца ввести команду [Формат-Абзац...] и на появившейся диалоговой панели Абзац сделать необходимые установки. На вкладке Отступы и интервалы для установки типа выравнивания выделенных абзацев выбрать соответствующий элемент раскрывающегося списка Выравнивание:. АЬзац ша Отспгы и а«тереагы j По«ш»*«на 8и»»*еашв liBEBBiHj гроеи. "3 1 OKijn 1 ! - ±1 перва^стрска «зр»в 1 ^ }оП7 "S №гарвап I 1 гчред а држдуорочньм nQCf*i 1°^ ±1 С%]разец 1а6уп»цид. I 348 Глава 9 Для установки типа отступа первой строки абзаца выбрать необходимое значение в раскрывающемся списке первая строка: и установить конкретное числовое значение отступа с помощью счетчика на:. Для задания отступа абзаца целиком от границ полей страницы выбрать нужное значение отступа с помощью счетчиков Отступ слева: и справа:. Для того чтобы текст выходил на левое (правое) поле страницы, задать отрицательное значение отступа. Расстояние между строками документа можно изменять, задавая различные значения междустрочных интервалов (одинарный, двойной и так далее). Для визуального отделения абзацев друг от друга можно устанавливать увеличенные интервалы между абзацами. 3. Межстрочный интервал выбирают с помощью выпадающего списка междустрочный:, а интервал перед (после) абзаца — с помощью счетчиков Интервал перед: и после:. 4. Вкладка Положение на странице позволяет установить требуемое распределение абзацев по страницам, то есть можно запретить разрывать абзац между страницами, оставлять на странице первую или последнюю (висячую) строку и так далее. Часто бывает полезно запретить в абзаце автоматический перенос слов. Oic >пы и tl’repeanbi Гюпоуе1«е настракч^я | на ( ^ aarpei трек Г" не ь от стедтищвго Г разоьвать абзац ^ с Hoef^* "paMUbi Г” аагрвтить WfMeoai№*o стрск Г загретить автскатчвск1*4 перенос спев Практические задания 9.5. Набрать и отформатировать текст по образцу; Абзац С выравниванием по ширине, отступ слева 6 см, шрифт Times New Roman, размер 12 пт, нормальный. Технология обработки текстовой информации 349 Абзац с выравниванием по центру, шрифт Arial, размер 14 пт, полужирный. Абзац с выравниванием по левому краю, отступ первой строки, шрифт Courier, размер 10 пт, курсив. 9.3.3. Списки Списки применяются для размещения в документе различных перечней. Существуют списки различных типов: • нумерованные списки, когда элементы списка сопровождаются арабскими или римскими числами и буквами; • маркированные списки, когда элементы списка отмечаются с помощью специальных символов-маркеров: •,■,'=> и др. Возможно создание и вложенных списков, причем вкладываемый список может по своему типу отличаться от основного. Создадим нумерованный список из трех элементов, в первый элемент которого вложен маркированный список из двух элементов: 1. Первый нумерованный элемент списка. ♦ Первый маркированный элемент списка. ♦ Второй маркированный элемент списка. 2. Второй нумерованный элемент списка. 3. Третий нумерованный элемент списка. Списки 1. Ввести команду [Формат-Список...] и на диалоговой панели Списки на вкладке Многоуровневый выбрать требуемый тип многоуровневого списка. Для детальной установки параметров списка щелкнуть по кнопке Изменить. 2. На панели Изменение многоуровневого списка уточнить порядок нумерации списка, отступы элементов списка, параметры шрифта, используемого для нумерации, и др. 350 Глава 9 Практические задания 9.6. Представить иерархическую модель «Компьютеры» с помощью многоуровневого списка. 9.3.4. Таблицы Таблица является объектом, состоящим из строк и столбцов, на пересечении которых образуются ячейки. В ячейках таблиц могут быть размещены различные данные (текст, числа и изображения). С помощью таблиц можно форматировать документы, например, расположить абзацы в несколько рядов, совместить рисунок с текстовой подписью и так далее. При размещении в таблице чисел можно производить над ними вычисления по формулам; суммирование, умножение, поиск максимального и минимального чисел и др. Преобразовать имеющийся текст в таблицу можно с помощью команды [Таблица-Преобразовать в таблицу...], однако часто бывает удобнее сначала создать таблицу и лишь затем заполнить ее данными. При вставке в документ таблицы можно задать необходимое количество столбцов и строк. Таблицы 1. Вставить в документ таблицу можно при помощи команды [Таблица-Вста-вить таблицу...], указав на панели Вставка таблицы в соответствующих полях ввода число строк и столбцов создаваемой таблицы. Можно подобрать подходящий дизайн таблицы, изменив тип, ширину и цвет границ ячеек, а также цвет фона ячеек. Изменение внешнего вида таблицы можно провести автоматически или вручную. 2. Автоматическое форматирование внешнего вида таблиц производится с помощью команды [Таблица-Автоформат...]. Вставка таблицы Число столбцов’ |9 Чкло строк Ц^фина столбца |Авто Формат таблицы (иют) Автофррмат . Технология обработки текстовой информации 351 Диалоговая панель Автоформат таблицы предоставляет множество вариантов оформления таблицы. В списке Форматы: можно выбирать различные варианты и просматривать их в окне Образец:. Oep«mi Дп*лА»- гли. 0 ш» ш Г]' 3. Форматирование таблицы 1жтшшииииииииииииииииш13| вручную можно выполнить с помощью команды [Формат-Границы и заливка...]. Диалоговая панель Границы и заливка позволяет выбрать требуемые параметры. На вкладке Граница можно задать тип границы {Нет, Сетка, Рамка и др.), тип и ширину линий границы. На вкладке Заливка можно задать цвет фона ячеек или выбрать узор. Редактирование структуры таблиц. Изменение ширины столбцов или высоты строк реализуется с помощью мыши (перетаскиванием границ). Задать точную ширину столбца (высоту строки) можно с помощью команды [Таблица-Высота и ширина ячейки...]. Вставка или удаление строк и столбцов в имеющуюся таблицу производится с помощью команд Вставить/уда-литъ строку (столбец) меню Таблица. Практические задания 9.7. Создать документ, содержащий расписание уроков. Применить различные варианты форматирования таблиц (шрифт, выравнивание, границы и фон ячеек). 352 Глава 9 9.3.5. Форматирование символов Символы являются теми основными объектами, из которых состоит документ. Символы — это буквы, цифры, пробелы, знаки пунктуации, специальные символы, такие как @, *, &. Символы можно форматировать (изменять их внешний вид). Среди основных свойств символов можно выделить следующие: шрифт, размер, начертание и цвет. Шрифт. Шрифт — это полный набор символов определенного начертания, включая прописные и строчные буквы, знаки препинания, специальные символы, цифры и знаки арифметических действий. Для каждого исторического периода и разных стран характерен шрифт определенного рисунка. Каждый шрифт имеет свое название, например Times New Roman, Arial, Courier и др. По способу представления в компьютере различаются шрифты растровые и векторные. Для представления растровых шрифтов используются методы растровой графики, и символы шрифта представляют собой группы пикселей. Растровые шрифты допускают масштабирование только с определенными коэффициентами. В векторных шрифтах символы описываются математическими формулами и допускают произвольное масштабирование. Среди векторных шрифтов наибольшее распространение получили шрифты типа True Туре. Обычно различные символы шрифта имеют и различную ширину, например буква «Ш» шире, чем буква «А». Однако имеются и моноширинные шрифты, в которых ширина всех символов одинакова. Примером такого шрифта является шрифт Courier. Шрифты также разделяют на две следующие группы: шрифты с засечками (например. Times New Roman) и рубленые (например, Arial). Считается, что шрифты с засечками легче воспринимаются глазом, видимо, поэтому в большинстве печатных текстов используются именно они. Рубленые шрифты используют обычно для заголовков, выделений в тексте и подписей к рисункам. Шрифт 1. Полезно ознакомиться с набором шрифтов, установленных на компьютере. Для этого необходимо ввести команду [Настройка-Панель управления-Шрифты]. Технология обработки текстовой информации 353 В появившемся окне Fonts содержится перечень установленных шрифтов, при этом шрифты True Туре обозначаются значком а растровые - значком ® • 2.айл Правка guA Перекой Избранное Ппраека и 111 * Вверх Крулмывзк i борее j_J С WINDOWS4F0HTS t] Humaml 521 ВТ ^ MabsselTC ^Impact Malua MT SerfitCapitals Й Kjdnap ^KmoMT ^ Monotype Sorts LetterGottacMT ^ MS LneDiaw ^LetteiGothcMT BoU ^MS Outlook Letta GothK MT Bold Obtque ^MS SamSer< Syntol Тавота Technical TernouS Sans ГТС Т imes New Roman Эффе*:ты Г ээче^»иутьи Г |эсмзе <«ач°рА«ание Образец Г” чагьв Г gis rvuuube Г офкръЛ (Цзифт не был упсноопен Для печати будет испсмъзсми иаибогее £□ Практические задания . 9.8. Создать документ, содержащий десять строк, записанных различными шрифтами. 9.4. Гипертекст Для отображения в «плоском» тексте смысловых связей между основными разделами или понятиями можно использовать гипертекст. Гипертекст позволяет структурировать документ путем выделения в нем слов-ссылок (гиперссылок). При активизации гиперссылки (например, с помощью щелчка мышью) происходит переход на фрагмент текста, заданный в ссылке. Гиперссылка состоит из двух частей: указателя ссылки и адресной части ссылки. Указатель ссылки — это объект (фрагмент текста или рисунок), который визуально выделяется в документе (обычно синим цветом и подчеркиванием). Адресная часть гиперссылки представляет собой название закладки в документе, на который указывает ссылка. Закладка — это элемент документа, которому присвоено уникальное имя. В качестве примера гипертекстового документа создадим текст, содержащий гиперссылки на три закладки, которые, в свою очередь, являются гиперссылками на начало текста. Технология обработки текстовой информации 355 Гипертекст 1. Создать документ, содержащий обычный текст. Для создания закладки выделить фрагмент текста, которому следует назначить закладку. Ввести команду [Вставка-Закладка...]. В поле Имя закладки ввести имя закладки, которое должно начинаться с буквы. Щелкнуть по кнопке Добавить. закладки 1ЭЯЖВ Вторая Третья '' 1 \ Изрядок <• имя С пеложение Г* Офытые эа<ладки Добавить валить Пвреити Для создания гиперссылки выделить фрагмент текста, который будет указателем гиперссылки. Ввести команду [Вставка-Гиперссылка...]. На диалоговой панели Вставка гиперссылки в окне выбрать имя закладки. Щелкнуть по кнопке ОК. Повторить процедуру для создания еще двух гиперссылок на закладки и трех гиперссылок с закладок на начало документа. Гипертекстовый документ создан. Переход на первую закладку Переход на вторую закладку Переход на третью закладку Первая закладка Вторая закладка Третья заклялкя в качестве указателей ссылок и закладок могут использоваться не только фрагменты текста, но и графические изображения, поэтому такие структуры иногда называют гипермедиа. Кроме того, гипертекстовые структуры могут распространяться на документы различных типов. В Интернете они образуют Всемирную паутину, связывающую Web-страницы на сотнях миллионов серверов в единое целое. 12.9. Всемирная паутина 356 Глава 9 Таким образом, гипертекстовые структуры являются фактически структурами данных, так как в них могут использоваться объекты различных типов: фрагменты документов, управляющие элементы и др. Вопросы для размышления 1. Что такое гипертекст? Практические задания 9.9. Создать документ, содержащий гиперссылки на закладки и на другие документы. 9.5. Компьютерные словари и системы машинного перевода текстов Установить компьютерный словарь EDictionary CD-ROM Компьютерные словари. Словари необходимы для перевода текстов с одного языка на другой. Первые словари были созданы около 5 тысяч лет назад в Шумере и представляли собой глиняные таблички, разделенные на две части. В одной части записывалось слово на шумерском языке, а в другой — аналогичное по значению слово на другом языке, иногда с краткими пояснениями. Современные словари построены по такому же принципу. В настоящее время существуют тысячи словарей для перевода между сотнями языков (англо-русский, немецко-французский и так далее), причем каждый из них может содержать десятки тысяч слов. В бумажном варианте словарь представляет собой толстую книгу объемом в сотни страниц, где поиск нужного слова является достаточно трудоемким процессом. Компьютерные словари могут содержать переводы на разные языки сотен тысяч слов и словочетаний, а также предоставляют пользователю дополнительные возможности. Во-первых, компьютерные словари могут являться многоязычными, так как дают пользователю возможность выбрать языки и направление перевода (например, англо-русский, испано-русский и так далее). Технология обработки текстовой информации 357 Во-вторых, компьютерные словари могут кроме основного словаря общеупотребительных слов содержать десятки специализированных словарей по областям знаний (техника, медицина, информатика и др.). В-третьих, компьютерные словари обеспечивают быстрый поиск словарных статей: «быстрый набор», когда в процессе набора слова возникает список похожих слов; доступ к часто используемым словам по закладкам; возможность ввода словосочетаний и др. В-четвертых, компьютерные словари могут являться мультимедийными, то есть предоставлять пользователю возможность прослушивания слов в исполнении дикторов, носителей языка. Среди российских словарей следует выделить словарь Lingvo, который содержит более 1,2 миллиона слов и словосочетаний, систему электронных словарей «Контекст» и словарь «Мультилекс», который базируется на использовании лучших академических словарей. CD-ROM Установить on-line многоязычный переводчик Magic Translator_________ Системы машинного перевода. Происходящая в настоящее время глобализация нашего мира приводит к необходимости обмена документами между людьми и организациями, находящимися в разных странах мира и говорящими на различных языках. В этих условиях использование традиционной технологии перевода «вручную» тормозит развитие межнациональных контактов. Перевод многостраничной документации вручную требует длительного времени и высокой оплаты труда переводчиков. Перевод полученного по электронной почте письма или просматриваемой в браузере Web-страницы необходимо осуществить немедленно, и нет возможности и времени пригласить переводчика. Системы машинного перевода позволяют решить эти проблемы. Они, с одной стороны, способны переводить многостраничные документы с высокой скоростью (одна страница в секунду) и, с другой стороны, переводить Web-страницы «на лету», в режиме реального времени. Лучшими среди российских систем машинного перевода считаются PROMT и «Сократ». Системы машинного перевода осуществляют перевод текстов, основываясь на формальном «знании» языка (синтаксиса языка — правил построения предложений, правил 358 Глава 9 словообразования) и использовании словарей. Программа-переводчик сначала анализирует текст на одном языке, а затем конструирует этот текст на другом языке. Современные системы машинного перевода позволяют достаточно качественно переводить техническую документацию, деловую переписку и другие специализированные тексты. Однако они неприменимы для перевода художественных произведений, так как не способны адекватно переводить метафоры, аллегории и другие элементы художественного творчества человека. Практические задания 9.10. С помощью компьютерного словаря перевести англоязычные термины, использующиеся в учебнике. 9.11. Соединиться с Интернетом и с помощью on-line многоязычного переводчика перевести текст. 9.6. Системы оптического распознавания документов Установить систему оптического распознавания FineReader_____ CD-ROM Системы оптического распознавания символов. При создании электронных библиотек и архивов путем перевода книг и документов в цифровой компьютерный формат, при переходе предприятий от бумажного к электронному документообороту, при необходимости отредактировать полученный по факсу документ используются системы оптического распознавания символов. С помощью сканера достаточно просто получить изображение страницы текста в графическом файле. Однако для получения документа в формате текстового файла необходимо провести распознавание текста, то есть преобразовать элементы графического изображения в последовательности текстовых символов. Сначала необходимо распознать структуру размещения текста на странице: выделить колонки, таблицы, изображения и так далее. Далее выделенные текстовые фрагменты графического изображения страницы необходимо преобразовать в текст. Технология обработки текстовой информации 359 Если исходный документ имеет типографское качество (достаточно крупный шрифт, отсутствие плохо напечатанных символов или исправлений), то задача распознавания решается методом сравнения с растровым шаблоном (рис. 9.2). Сначала растровое изображение страницы разделяется на изображения отдельных символов. Затем каждый из них последовательно накладывается на шаблоны символов, имею-ш;ихся в памяти системы, и выбирается шаблон с наименьшим количеством отличных от входного изображения точек. АБВФЯ Рис. 9.2. Растровые шаблоны символов При распознавании документов с низким качеством печати (машинописный текст, факс и так далее) используется метод распознавания символов по наличию в них определенных структурных элементов (отрезков, колец, дуг и др.). Любой символ можно описать через набор значений параметров, определяющих взаимное расположение его элементов. Например, буква «Н» и буква «И» состоят из трех отрезков, два из которых расположены параллельно друг другу, а третий соединяет эти отрезки. Различие между данными буквами — в величине углов, которые образует третий отрезок с двумя другими. При распознавании структурным методом в искаженном символьном изображении выделяются характерные детали и сравниваются со структурными шаблонами символов. В результате выбирается тот символ, для которого совокупность всех структурных элементов и их расположение больше всего соответствует распознаваемому символу. Наиболее распространенные системы оптического распознавания символов FineReader и CuneiForm используют как растровый, так и структурный методы распознавания. Кроме того, эти системы являются «самообучающимися» (для каждого конкретного документа они создают соответствующий набор шаблонов символов) и поэтому скорость и качество распознавания многостраничного документа постепенно возрастают. 360 Глава 9 Системы оптического распознавания форм. При заполнении налоговых деклараций, при проведении переписей населения и так далее используются различного вида бланки с полями. Рукопечатные тексты (данные вводятся в поля печатными буквами от руки) распознаются с помощью систем оптического распознавания форм и вносятся в компьютерные базы данных. Сложность состоит в том, что необходимо распознавать написанные от руки символы, довольно сильно различающиеся у разных людей. Кроме того, система должна определить, к какому полю относится распознаваемый текст. Системы распознавания рукописного текста. С появлением первого карманного компьютера Newton фирмы Apple в 1990 году начали создаваться системы распознавания рукописного текста. Такие системы преобразуют текст, написанный на экране карманного компьютера специальной ручкой, в текстовый компьютерный документ. Практические задания 9.12. Отсканировать документ и перевести его в текстовый формат с помощью системы оптического распознавания. Глава 10_____________ Технология обработки числовых данных 10.1. Электронные калькуляторы Установить электронный калькулятор NumLock Calculator CD-ROM Электронные калькуляторы являются специализированными программными приложениями, предназначенными для произведения вычислений. Электронные калькуляторы по своим функциональным возможностям соответствуют аппаратным микрокалькуляторам. Аппаратные микрокалькуляторы могут существенно различаться по своим возможностям и областям применения. Простые микрокалькуляторы позволяют осуществлять только арифметические операции над числами и используются в быту. Инженерные микрокалькуляторы позволяют также вычислять значения различных функций (sin, cos и др.) и используются в процессе обучения и для инженерных расчетов; программистские микрокалькуляторы позволяют проводить вычисления в различных системах счисления и другие операции. Электронные калькуляторы гораздо удобнее, так как могут обладать возможностями всех вышеперечисленных типов аппаратных микрокалькуляторов. Электронный Калькулятор является стандартным приложением операционной системы Windows. Одним из удачных электронных калькуляторов является NumLock Calculator, в процессе работы с которым легко выбрать требуемый тип калькулятора (рис. 10.1). * WMMtOwt Mir»»ii»piimi |ии<ыи(<п>о|1 { Опрсграмле 1 Ссегт впя ’ Слранкл FJ IS гк,«ч У Фс(змат'*»'«яввмм»«>4*1 а Фссмвт р«у(ьга1л ИСТСДчВ Ctr1*<5 ЪМтс«ог»!роЮ1ъ вбгффобим ч М1М«втиче01икта№»пъвАСкучен1 ^ OB-ypt, ' Настргч^л nri«F богьикзи Г^«эгр»*1и;тосмй ''татштичесли* Супер»**«1 уумафсагмаЯ Рис. 10.1. Выбор типа калькулятора в NumLock Calculator 362 Глава 10 С ПОМОЩЬЮ электронных калькуляторов можно: • производить арифметические действия над целыми и дробными числами; • переводить числа из одной системы счисления в другую (например, из десятичной в двоичную); • вычислять значения математических функций (например, х^, 1/л:); • вычислять значения статистических функций (например, среднее арифметическое заданных чисел); • вычислять значения финансовых функций (например, вычислять сумму банковского вклада с заданным процентом) и др. Электронные калькуляторы позволяют проводить сложные многоступенчатые вычисления с записью промежуточных результатов в ячейки памяти калькулятора. По мере необходимости такие результаты можно извлекать из памяти и использовать в дальнейших вычислениях. Электронные калькуляторы позволяют обмениваться числовыми данными с другими приложениями с использованием буфера обмена операционной системы. Практические задания 10.1. С помощью электронного калькулятора проверить правильность выполнения заданий к главе 2 по переводу чисел из одной системы счисления в другую и выполнению арифметических действий в различных системах счисления. 10.2. Электронные таблицы CD-ROM Установить офисный пакет StarOffice, в состав которого входят электронные таблицы StarCalc__________ Электронные таблицы позволяют обрабатывать большие массивы числовых данных, например результаты экспериментов, статистические данные и так далее. Наибольшее распространение получили электронные таблицы Microsoft Excel и StarCalc. Электронная таблица — это работающее в диалоговом режиме приложение, хранящее и обрабатывающее данные в прямоугольных таблицах. Технология обработки числовых данных 363 Электронная таблица состоит из столбцов и строк. Заголовки столбцов обозначаются буквами или сочетаниями букв (А, С, АВ ИТ. п.), заголовки строк — числами (1, 2, 3 и далее). Ячейка — место пересечения столбца и строки. Каждая ячейка таблицы имеет свой собственный адрес. Адрес ячейки электронной таблицы составляется из заголовка столбца и заголовка строки, например А1, В5, ЕЗ. Ячейка, с которой производятся какие-то действия, выделяется рамкой и называется активной. На рис. 10.2 активной ячейкой является ячейка СЗ. А В С D Е 1 2 3 4 5 1 Рис. 10.2. Структура электронных таблиц Электронные таблицы, с которыми работает пользователь в приложении, называются рабочими листами. Можно вводить и изменять данные одновременно на нескольких рабочих листах, а также выполнять вычисления на основе данных из нескольких листов. Документы электронных таблиц могут включать несколько рабочих листов и называются рабочими книгами. Основные типы и форматы данных. В работе с электронными таблицами можно выделить три основных типа данных: число, текст и формула. В зависимости от решаемой задачи возникает необходимость применять различные форматы представления данных. В каждом конкретном случае важно выбрать наиболее подходящий формат. Для представления чисел по умолчанию электронные таблицы используют числовой формат, который отображает два десятичных знака после запятой (например, 195,20). Экспоненциальный формат применяется, если число, содержащее большое количество разрядов, не умещается в ячейке (например, число 2 000 000 000 в экспоненциальном формате будет записано в следующем виде: 2,00Е-Ь09). По умолчанию числа выравниваются в ячейке по правому краю. Это объясняется тем, что при размещении чисел друг под другом (в столбце таблицы) удобно иметь выравнивание по разрядам (единицы под единицами, десятки под десятками и так далее). 364 Глава 10 Текстом в электронных таблицах является последовательность символов, состоящая из букв, цифр и пробелов, например, запись «32 Мбайт» является текстовой. По умолчанию текст выравнивается в ячейке по левому краю. Это объясняется традиционным способом письма (слева направо). Формула должна начинаться со знака равенства и может включать в себя числа, имена ячеек, функции и знаки математических операций. В формулу не может входить текст. Например, формула =АИ-В2 обеспечивает сложение чисел, хранящихся в ячейках А1 и В2, а формула =А1*5 — умножение числа, хранящегося в ячейке А1, на 5. При вводе формулы в ячейке отображается не сама формула, а результат вычислений по этой формуле. При изменении исходных значений, входящих в формулу, результат пересчитывается немедленно. Для представления данных можно использовать также специализированные форматы: денежный формат (12000,00р.) удобен для бухгалтерских расчетов, форматы дата и время позволяют хранить значения временных данных (15.01.2002 17:45:10). Выбор формата данных 1. Запустить приложение Excel. 2. Выделить ячейку и ввести команду [Формат-Ячейки...]. 3. На диалоговой панели Формат ячеек выбрать вкладку Число. В списке Числовые форматы: выбрать наиболее подходящий формат. С помощью счетчика Число десятичных знаков: установить необходимое количество знаков после запятой. В поле Отрицательные числа: выбрать форму представления отрицательных чисел. Денежньм Фтансоеьи Дата Время Проиентныи Дробньи Теитсбыи Дсгог>«11епь»ыи (ес@ форматы) (Дзифт I Г,..аницэ I Оорагеч 195 П Число дес« V ««л I Г" Разделитель разрядов () QTpmate'vmjK» '•<33 d 12Э4.10 I 1234 10 Мкповси фгрг«т является изисзолее способом лреД|.тавла»*1Я '«<вп Для =ь®ода декежнь« 1<р-злыуизтс ч ? акжв фсрмагы Дэиежььй и Чушансовь»! Относительные и абсолютные ссылки. В формулах используются ссылки на адреса ячеек. Существуют два основных типа ссылок: относительные и абсолютные. Различия между Технология обработки числовых данных 365 относительными и абсолютными ссылками проявляются при копировании формулы из активной ячейки в другую ячейку. Относительные ссылки в формулах используются для указания адреса ячейки, вычисляемого относительно ячейки, в которой находится формула. При перемещении или копировании формулы из активной ячейки относительные ссылки автоматически обновляются в зависимости от нового положения формулы. Относительные ссылки имеют следующий вид: А1, ВЗ. При копировании формулы, содержащей только относительные ссылки, из ячейки С1 в ячейку D2 обозначения столбцов и строк в формуле изменятся на один шаг вправо и вниз (рис. 10.3). А В С D Е 1 =А1*В1 2 =В2*С2 3 =$А$1*$В$1 4 =$А$1*$В$1 5 Рис. 10.3. Относительные и абсолютные ссылки Абсолютные ссылки в формулах используются для указания фиксированного адреса ячейки. При перемещении или копировании формулы абсолютные ссылки не изменяются. В абсолютных ссылках перед неизменяемыми значениями адреса ячейки ставится знак доллара (например, $А$1). При копировании формулы, содержащей только абсолютные ссылки, из ячейки СЗ в ячейку D4 обозначения столбцов и строк в формуле не изменятся (см. рис. 10.3). Рассмотрим действие относительных и абсолютных ссылок на примере. Пусть нам необходимо вычислить стоимость комплектующих для компьютера в рублях, если известны их цены в долларах и курс доллара. Для вычисления цены в рублях необходимо умножить цену в долларах на величину курса доллара. И1 Копирование формул, содержащих относительные и абсолютные ссылки 1. Ввести в ячейки А5, А6 и А7 названия устройств, а в ячейки В5, В6, В7 — их цены в долларах. 366 Глава 10 2. Ввести в ячейку С2 курс доллара. 3. Ввести в ячейку С5 формулу =В5*$С$2, где В5 - относи тельная ссылка, а $С$2 — абсолютная. 4. Скопировать форму- лы в ячейки С6 и С7, абсолютная ссылка на ячейку $С$2 останется неизменной, а относительная В5 изменится на величину смещения от активной ячейки. £3 MitfosoH txcel - "JntxTpoHHiii* т*Ьлииы.х1« 3^1 $айп EbseexS Виа встйега ToptieT Сервис &’равка ________С5__________. =B3nCS2__________________________ 051 JEi 2 Курс $ на 1 января 2001 года 4 Наименование _^Процессор 70 6 Жесткий диск 130 7 CD-ROM дисковод 45 8 < < ^ H\/Veil/ fVrij/ Диагр4м^г / j i \ Готово Цена в % Цена в р. 1=В5'$С$2 I =Вб*$С$2 =В7*$С$2 мг Если символ доллара стоит перед буквой (например $А1), то координата столбца абсолютная, а строки — относительная. Если символ доллара стоит перед числом (например, А$1), то, наоборот, координата столбца относительная, а строки — абсолютная. Такие ссылки называются смешанными. Практические задания 10.2. Ознакомиться с окнами электронных таблиц Excel и StarCalc. 10.3. В ячейку В2 ввести формулу =А1/$В$1 и скопировать ее в ячейки С2, СЗ и ВЗ. Какие формулы будут содержаться в этих ячейках? Проверить на практике. 10.4. В ячейку С4 ввести формулу =$А1/В$1 и скопировать ее в ячейки D4, D5 и С4. Какие формулы будут содержаться в этих ячейках? Проверить на практике. 10.5. Создать в электронных таблицах таблицу умножения. 10.3. Встроенные функции Формулы могут состоять не только из арифметических операторов и адресов ячеек. Часто в вычислениях приходится использовать формулы, содержащие функции. Электронные таблицы имеют несколько сотен встроенных функций, которые подразделяются на категории: Математические, Статистические, Финансовые, Дата и время и так далее. Технология обработки числовых данных 367 10.3.1. Математические функции Одной из наиболее часто используемых операций является суммирование значений диапазона ячеек для расчета итоговых результатов. На панели инструментов Стандартная расположена кнопка , Автосуммирование, которая используется для автоматического суммирования чисел с помощью функции СУММ. Воспользуемся рассмотренной выше таблицей, содержащей цены на комплектующие компьютера, и вычислим суммарную стоимость комплектующих. Суммирование значений диапазона ячеек 1. Выделить ячейку С8, в которую следует поместить сумму. 2. Щелкнуть по кнопке Q, после чего будет выделен диапазон ячеек для суммирования СУММ (С5:С7). @Mia»»uliExoai 3mt€ipaMww г«6яииия1» №) Фаип Преете б-'й Вс ЗОЯ ‘Рцрив' Д* Ц***__________■>] X » =СУЛ1М( А Е) 2 Курс S на 1 января 2001 года 3 4 Наименование Процессор [0 Жесткий диск -1 CD-ROM дисковод 4 < > и'' fVxii I Алл г/ Диагра»|Мв1 /пкгз/\ Укажите 28 Цена в $ Цена в р 70 =В5*$С$2 130 -Вб*$С$2 45 -В7*?С$2 |-оумм(Г fajM 3. Если предложенный диапазон не подходит, следует протащить указатель мыши по ячейкам, которые нужно просуммировать. Нажать клавишу {Enter}. При вводе в формулу функций удобно использовать Мастер функций. Например, пусть нам необходимо составить таблицу значений функции у гом 1. на отрезке [-3; 3] с ша- ц; Составление таблицы значений функции с использованием Мастера функций 1. Подготовить таблицу, ввести значения аргумента. Выделить ячейку, в которую нужно вставить первое значение функции. 2. Ввести команду [Вставка-Функция...]. * 1 £айп 0рввк« Вид вста#кв Фопрвт Сервис Дяннь« Quie ] «3 ,| . at 41 - XV, g А _ в J с О Е F G H T 1 Таблица значении функции у=х^ — 2 X I -3| -2: 1| 2 3| 1 ! 1 1 ! 1- 1 iir 368 Глава 10 3. На диалоговой панели Мастер функций: шаг 1 в списке Категория: выбрать вариант Математические, а в списке Функция: выбрать вариант Степень. Щелкнуть по кнопке ОК. Мосшр функций нед/1в»- >с U ък ьлр л '> 1опньл1 ancpdbH нв*1 Фина»<оеые Дат^^ Сг«ти:гн<«сте i ССЫП44 и МаСОФЫ Работа с базой а*мв TewToeM СТШОФ(чиспо степень) возвращает результат во«едвиия в степень 4. На появившейся панели Аргументы функции вести значения числа и показателя степени. Для ввода имени ячейки, где хранится число, нделкнуть по кнопке со стрелочкой в поле Число и в электронных таблицах выделить ячейку В2. Ввести в поле Степень число 3. Аргументы фуню^ Степень [з “3= Э = 3 5. Выделить ячейку ВЗ, в которой теперь хранится формула =Степень(В2;3) и заполнить ряд значений функций с помощью команды [Правка-Заполнить-Вправо]. Практические задания 10.6. С использованием Мастера функций получить таблицу значений функции у={х - 5)^ на отрезке [-5; 5] с шагом 1. 10.3.2. Логические функции 3.2. Алгебра высказываний Ранее были рассмотрены базовые логические операции (умножения, сложения, отрицания) и их таблицы истинности. В электронных таблицах имеются соответствующие логические функции, с помощью которых достаточно просто построить таблицы истинности логических операций. Аргументами логических функций являются логические значения ИСТИНА и ЛОЖЬ. Логические значения, в свою очередь, могут быть получены как результат определения Технология обработки числовых данных 369 значений логических выражений. Например, для логического выражения 10>5 результатом будет логическое значение ИСТИНА, а для логического выражения А1<А2 (где в ячейке А1 хранится число 10, а в ячейке А2 — число 5) — значение ЛОЖЬ. Логическая функция «И» имеет в качестве аргументов логические значения, которые могут быть истинными или ложными, и задается формулой =Щлог_знач1;лог_знач2;...). Принимает значение ИСТИНА тогда и только тогда, когда все аргументы имеют значение ИСТИНА. Например, значение функции =И(10>5;10<5) — ЛОЖЬ. Логическая функция «ИЛИ» имеет в качестве аргументов логические значения и задается формулой =ЛЛ.Щлог_знач1; лог_знач2; ...). Принимает значение ИСТИНА, если хотя бы один из аргументов имеет значение ИСТИНА. Например, значение функции =ИЛИ(10>5;10<5) — ИСТИНА. Логическая функция «НЕ» имеет один аргумент и задается формулой =1Ш{лог_знач). Принимает значение ИСТИНА, если аргумент имеет значение ЛОЖЬ, и наоборот. Например, значение функции =НЕ(10>5) — ЛОЖЬ. Построим с помощью электронных таблиц таблицу истинности операции логического умножения, используя логическую функцию «И». Построение таблицы истинности операции логического умножения 1. В пары ячеек (А1,В1), (А2,В2), (АЗ,ВЗ), (А4,В4) ввести пары значений аргументов логической операции (ЛОЖЬ,ЛОЖЬ), (ИСТИНА,ЛОЖЬ), (ЛОЖЬ,ИСТИНА) и (ИСТИНА,ИСТИНА). 2. В ячейку С1 ввести формулу логической функции «И» (=И(А1;В1). 3. Скопировать формулу в ячейки С2, СЗ и С4. 4. Значением этой функ- ции в трех случаях является ЛОЖЬ и только в последнем — ИСТИНА. Мы получили таблицу истинности операции логического умножения. 1 А I ЛОЖЬ ИСТИНА ЛОЖЬ в ложь ложь ИСТИНА ИСТИНА ИСТИНА С___ ложь ложь ложь ИСТИНА 370 Глава 10 Практические задания 10.7. В электронных таблицах получить таблицы истинности операций логического сложения и логического отрицания. 10.4. Сортировка и поиск данных 10.4.1. Сортировка данных Электронные таблицы позволяют осуществлять сортировку данных, то есть производить их упорядочение. Данные (числа, текст, даты) в электронных таблицах можно сортировать по возрастанию или убыванию. При сортировке по возрастанию данные выстраиваются в следующем порядке: • числа сортируются от наименьшего отрицательного до наибольшего положительного числа; • текст сортируется в следующем порядке: числа, знаки, латинский алфавит, русский алфавит; • пустые ячейки всегда помещаются в конец списка. Для сортировки строк таблицы необходимо выбрать столбец, данные которого будут упорядочиваться. После сортировки изменяется порядок следования строк, но сохраняется их целостность. Можно проводить вложенные сортировки, то есть сортировать данные последовательно по нескольким столбцам. При вложенной сортировке строки, имеющие одинаковые значения в ячейках первого столбца, будут упорядочены по значениям в ячейках второго столбца, а строки, имеющие одинаковые значения во втором столбце, будут упорядочены по значениям третьего столбца. Так, результат вложенной сортировки таблицы (исключая первую строку), содержащей данные о компьютерах, при сортировке столбца А по возрастанию, столбца В по убыванию и столбца С по возрастанию будет таким, как показано на рис. 10.4. Технология обработки числовых данных 371 А В C 1 Тип компьютера Процессор Память 2 Настольный Pentium III 64 3 Настольный Pentium 4 64 4 Настольный Pentium 4 128 5 Портативный Pentium III 64 6 Портативный Pentium III 128 7 Портативный Pentium 4 64 Рис. 10.4. Вложенная сортировка Сортировка данных данными и ввести команду Сорткфоеать по а по Bospacratfvo Выделить одну из ячеек с [Данные-Сортировка... ] На диалоговой панели Сортировка диапазона в списке Сортировать по выбрать столбец Тип компьютера и установить переключатель в положение по возрастанию. В списке Затем по выбрать столбец Процессор и установить переключатель в положение по убыванию. В списке В последнюю очередь по выбрать столбец Память и установить переключатель в положение по возрастанию. После щелчка по кнопке ОК строки таблицы будут отсор тированы. (процессор В последнюю очередь по Память С по убьеак^ С по всэраста»*10 по у§ьван«а по еозэдстанию Г по убь1ВдК«0 Идентифицировать поля по (• подписям (первая строка диапазона) С' обозначениям столбцое листа П^^аи