Л.В. БОБРОВА,
О.И. ЗОЛОТОВ,
Е.А. РЫБАКОВА
ИНФОРМАТИКА в управлении и экономике
Санкт-Петербург
2005
Федеральное а...
158 downloads
403 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Л.В. БОБРОВА,
О.И. ЗОЛОТОВ,
Е.А. РЫБАКОВА
ИНФОРМАТИКА в управлении и экономике
Санкт-Петербург
2005
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования
Северо-Западный государственный заочный технический университет
Л.В. БОБРОВА,
О.И. ЗОЛОТОВ,
Е.А. РЫБАКОВА
ИНФОРМАТИКА в управлении и экономике
Учебное пособие
Санкт-Петербург 2005
Утверждено редакционно-издательским советом университета УДК 881.3 Боброва Л.В., Золотов О.И., Рыбакова Е.А.. Информатика в управлении и экономике: Учеб. пособие. -СПб.: Изд-во СЗТУ, 2005. – 258 с. Учебное пособие по информатике предназначено для студентов первого курса, обучающихся по специальностям «Информационные технологии в управлении, экономике и бизнесе», «Экономика», «Финансы и кредиты». Поэтому кроме сведений об информации, о способах и средствах ее переработки, которые присутствуют во всех учебниках по информатике, в предлагаемом пособии большое внимание уделяется вопросам применения информационных технологий для решения различных управленческих и экономических задач. Рассматриваются основы создания и использования систем принятия решения, вопросы оптимизации управленческих и экономических задач, оценки инвестиционных проектов, изучаются задачи анализа и прогнозирования экономических ситуаций. Поскольку любой курс информатики нацелен на всестороннее использование операционной системы Windows и пакета программ Microsoft office, приводится реализация всех указанных задач в табличном процессоре Excel. Подробно рассмотрено решение задач финансовой математики с использованием специальных функций Excel. С целью разработки полноценных информационных систем приводятся сведения о создании приложений на языке Visual Basic for Applications. Содержание пособия отвечает требованиям государственных образовательных стандартов высшего образования по дисциплине «Информатика».
РЕЦЕНЗЕНТЫ:
М.И. Барабанова, канд. экон. наук, доц. кафедры информатики СПбГУЭФ; Л.А. Ходоровский, канд. техн. наук, доц. кафедры информатики СПбГУКИ.
© Боброва Л.В., Золотов О.И., Рыбакова Е. А., 2005
3
ВВЕДЕНИЕ Совокупность полезных ископаемых, заключенных в недрах государства, определяется как национальные сырьевые ресурсы. Известны также так называемые возобновляемые ресурсы: энергия рек и солнца, лесные массивы, сельскохозяйственные угодья и т.п. Экономический показатель всех этих ресурсов в национальном богатстве страны понятен и не нуждается в пояснениях. В то же время в конце прошлого столетия основным национальным богатством государства стали информационные ресурсы, а эффективность их использования все в большей степени определяет экономическую мощь страны в целом. В результате все возрастающей зависимости индустриально развитых стран от источников информации (научно-технической, экономической, политической, военной и т.д.), а также от уровня развития и эффективности использования средств передачи и переработки информации, сформировалось принципиально новое понятие - национальные информационные ресурсы. Источником экономического потенциала в современном мире являются знания, которые приобретаются путем соответствующего образования, и умение их использовать. Данное учебное пособие предназначено для студентов, обучающихся по специальностям «Информационные технологии в управлении, экономике и бизнесе», «Экономика», «Финансы и кредиты». Поэтому кроме сведений об информации, о способах и средствах ее переработки, которые присутствуют во всех учебниках по информатике, в предлагаемом пособии большое внимание уделяется вопросам применения информационных технологий для решения различных управленческих и экономических задач. Рассматриваются основы создания и использования систем принятия решения, вопросы оптимизации управленческих и экономических задач, оценки инвестиционных проектов, изучаются задачи анализа и прогнозирования экономических ситуаций. Поскольку любой курс информатики нацелен на всестороннее использование операционной системы Windows и пакета программ Microsoft office, приводится реализация всех указанных задач в табличном процессоре Excel. Подробно рассмотрено решение задач финансовой математики с использованием специальных функций Excel. С целью разработки полноценных информационных систем приводятся сведения о создании приложений на языке Visual Basic for Applications. В конце каждой главы приводится список вопросов, который поможет читателю оценить степень усвоения прочитанного материала. Кроме того, в конце пособия вы сможете найти тесты, отражающие рассмотренные в пособии основные вопросы, что позволит закрепить полученные знания.
4
1. ИНФОРМАТИКА И ИНФОРМАЦИЯ Понятие об информации Мы живем в материальном мире. Все, что нас окружает, и с чем мы сталкиваемся ежедневно, относится либо к физическим телам, либо к физическим полям. Из курса физики мы знаем, что состояния абсолютного покоя не существует, и физические объекты находятся в состоянии непрерывного движения и изменения, которое сопровождается обменом энергией и ее переходом из одной формы в другую. Все виды энергообмена сопровождаются появлением сигналов. Данные — это зарегистрированные сигналы. Однако данные не тождественны информации. Наблюдая за состязаниями бегунов, мы с помощью механического секундомера регистрируем начальное и конечное положение стрелки прибора. В итоге мы замеряем величину ее перемещения за время забега — это регистрация данных. Однако информацию о времени преодоления дистанции мы пока не получаем. Для того чтобы данные о перемещении стрелки дали информацию о времени забега, необходимо наличие метода пересчета одной физической величины в другую. Надо знать цену деления шкалы секундомера (или знать метод ее определения) и надо также знать, как умножается цена деления прибора на величину перемещения, то есть надо еще обладать математическим методом умножения. Слушая передачу радиостанции на незнакомом языке, мы получаем данные, но не получаем информацию в связи с тем, что не владеем методом преобразования данных в известные нам понятия. Итак, информация — это продукт взаимодействия данных и адекватных им методов [1]. Первоначально информацией (от лат. informatio – разъяснение, изложение) понимались сведения, передаваемые людьми устным, письменным и другим способом с помощью условных сигналов, технических средств и т.п. С середины ХХ века информация является общенаучным понятием, включающим в себя: обмен сведениями между людьми, человеком и автоматом, автоматом и автоматом; обмен сигналами в животном и растительном мире; передачу признаков от клетки к клетке, от организма к организму и т.д. Информацию можно определить также как совокупность сведений, уменьшающих степень неопределенности знаний о конкретных событиях, процессах, явлениях и т.п. В зависимости от сферы использования информация может быть экономической, технической, генетической и т.д. Под экономической информацией понимается информация, характеризующая производственные отношения в обществе. К ней относятся сведения экономического характера о процессах производства, материальных ресурсах, процессах управления производством, финансовых процессах, которые циркулируют в экономической системе.
5
1.2. Носители информации Данные — диалектическая составная часть информации. Они представляют собой зарегистрированные сигналы. При этом физический метод регистрации может быть любым: механическое перемещение физических тел, изменение их формы или параметров качества поверхности, изменение электрических, магнитных, оптических характеристик, химического состава и (или) характера химических связей, изменение состояния электронной системы и многое другое. В соответствии с методом регистрации данные могут храниться и транспортироваться на носителях различных видов. Самым распространенным носителем данных, хотя и не самым экономичным, является бумага. На бумаге данные регистрируются путем изменения оптических характеристик ее поверхности. Изменение оптических свойств (изменение коэффициента отражения поверхности в определенном диапазоне длин волн) используется также в устройствах, осуществляющих запись лазерным лучом на пластмассовых носителях с отражающим покрытием (CD-ROM). В качестве носителей, использующих изменение магнитных свойств, можно назвать магнитные ленты и диски. Задача преобразования данных с целью смены носителя относится к одной из важнейших задач информатики. В структуре стоимости вычислительных систем устройства для ввода и вывода данных, работающие с носителями информации, составляют до половины стоимости аппаратных средств. 1.3. Кодирование информации 1.3.1. Понятие о двоичном коде Для автоматизации работы с данными, относящимися к различным типам, очень важно унифицировать их форму представления — для этого обычно используется прием кодирования, то есть выражение данных одного типа через данные другого типа. Естественные человеческие языки — это не что иное, как системы кодирования понятий для выражения мыслей посредством речи. К языкам близко примыкают азбуки (системы кодирования компонентов языка с помощью графических символов). Своя система существует и в вычислительной технике — она называется двоичным кодированием и основана на представлении данных последовательностью всего двух знаков: 0 и 1. Эти знаки называются двоичными цифрами, по-английски — binary digit или сокращенно bit (бит). Одним битом могут быть выражены два понятия: 0 или 1 (да или нет, черное или белое, истина или ложь и т. п.). Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия: 00 01 10 11 Тремя битами можно закодировать восемь различных значений: 000 001 010 01l 100 101 110 111
6
Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид: N= 2m, где N — количество независимых кодируемых значений; т — разрядность двоичного кодирования, принятая в данной системе. 1.3.2. Кодирование целых и действительных чисел Целые числа кодируются двоичным кодом достаточно просто — достаточно взять целое число и делить его пополам до тех пор, пока частное не будет равно единице. Совокупность остатков от каждого деления, записанная справа налево вместе с последним частным, и образует двоичный аналог десятичного числа. Остаток 19 : 2 = 9 + 1 9:2=4+1 4:2=2+0 2 : 2 = 1 +0 1 1 0 0 1 1 Таким образом, 1910= 100112. Для контроля вычислений в примере переведем полученное число из двоичной в десятичную систему счисления. Воспользуемся тем, что число в любой системе счисления можно представить в виде разложения по степеням системы счисления. Например, в десятичной системе счисления 1963=1·103+9·102+6·101+3·100. Число в двоичной системе счисления представляется также, только в качестве основания используется число 2. Тогда 10011=1·24+0·23+0·22+1·21+1·20=16+0+0+2+1=19. Итак, действительно 100112=1910. Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65 535, а 24 бита — уже более 16,5 миллионов разных значений. Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму: 3,1415926 = 0,31415926 • 101 300 000 = 0,3 • 106 123 456 789 = 0,123456789 • 1010 Первая часть числа называется мантиссой, а вторая — характеристикой. Большую часть из 80 бит отводят для хранения мантиссы (вместе со знаком) и
7
некоторое фиксированное количество характеристики (тоже со знаком).
разрядов
отводят
для
хранения
1.3.3. Представление чисел в научном формате (формате с порядком) Во всех языках программирования нормальная форма чисел записывается как форма с порядком. Этот формат называется также экспоненциальным. Например, число 91,02 после нормирования запишется как 0,9102⋅102. В формате с порядком оно примет вид 0,9102Е02. Здесь Е – символ десятичной системы счисления, 02 – порядок. Число –2063 в формате с порядком примет вид –0,2063Е04, а число 0,0057 запишется как 0,57Е-02 (так как в нормализованной форме оно равно 0,57⋅10-2, перед порядком обязателен знак минус). В качестве примера рассмотрим перевод еще нескольких чисел в научный формат. Число Нормальная Научный форма формат 3 169,3 0,1693⋅10 0,16936Е03 2 -0,278Е02 -27,8 -0,278⋅10 -2 0,17Е-02 0,0017 0,17⋅10 -3 -0,8Е-03 -0,0008 -0,8⋅10 1.3.4. Кодирование текстовых данных Если каждому символу алфавита сопоставить определенное целое число (например, порядковый номер), то с помощью двоичного кода можно кодировать и текстовую информацию. Восьми двоичных разрядов достаточно для кодирования 256 различных символов. Этого хватит, чтобы выразить различными комбинациями восьми битов все символы английского и русского языков, как строчные, так и прописные, а также знаки препинания, символы основных арифметических действий и некоторые общепринятые специальные символы, например символ «§» (все символы клавиатуры компьютера). 1.3.5. Основные структуры данных Работа с большими наборами данных автоматизируется проще, когда данные упорядочены, то есть образуют заданную структуру. Существует три основных типа структур данных: линейная, иерархическая и табличная. Их можно рассмотреть на примере обычной книги. Если разобрать книгу на отдельные листы и перемешать их, книга потеряет свое назначение. Она по-прежнему будет представлять набор данных, но подобрать адекватный метод для получения из нее информации весьма непросто. (Еще хуже дело будет обстоять, если из книги вырезать каждую букву отдельно — в этом случае вряд ли вообще найдется адекватный метод для ее прочтения.) Если же собрать все листы книги в правильной последовательности, мы получим простейшую структуру данных — линейную. Такую книгу уже можно
8
читать, хотя для поиска нужных данных ее подряд, начиная с самого начала, что не всегда удобно.
придется
прочитать
Для быстрого поиска данных существует иерархическая структура. Так, например, книги разбивают на части, разделы, главы, параграфы и т. п. Элементы структуры более низкого уровня входят в элементы структуры более высокого уровня: разделы состоят из глав, главы из параграфов и т. д. Для больших массивов поиск данных в иерархической структуре намного проще, чем в линейной, однако и здесь необходима навигация, связанная с необходимостью просмотра. На практике задачу упрощают тем, что в большинстве книг есть вспомогательная перекрестная таблица, связывающая элементы иерархической структуры с элементами линейной структуры, то есть связывающая разделы, главы и параграфы с номерами страниц. В книгах с простой иерархической структурой, рассчитанных на последовательное чтение, эту таблицу принято называть оглавлением, а в книгах со сложной структурой, допускающей выборочное чтение, ее называют содержанием. 1.4. Файлы и файловая структура 1.4.1. Единицы представления данных Существует множество систем представления данных. С одной из них, принятой в информатике и вычислительной технике, двоичным кодом, мы познакомились выше. Наименьшей единицей такого представления является бит (двоичный разряд). Совокупность двоичных разрядов, выражающих числовые или иные данные, образует некий битовый рисунок. Например, число 2 в двоичной коде равно 10, число 7 равно 111, число 28 в двоичном коде имеет вид 11100. Т.е. число разрядов двоичного кода колеблется весьма существенно. Это создает сложности при обработке информации – нужно каждый раз определять, сколько разрядов отвести для хранения того или иного числа. Практика показывает, что с битовым представлением удобнее работать, если этот рисунок имеет регулярную форму. В настоящее время, в качестве таких форм используются группы из восьми битов, которые называются байтами (табл.1.1). Таблица 1.1 Десятичное число Двоичное число Байт 1 1 0000 0001 2 ...
10 …
00000010 …
255
11111111
11111111
1.4.2. Единицы измерения данных Существует много различных систем и единиц измерения данных. В информатике для измерения данных используют тот факт, что разные типы данных имеют универсальное двоичное представление, и потому вводят свои
9
единицы данных, основанные на нем. Наименьшей единицей измерения является байт. Более крупная единица измерения — килобайт (Кбайт). Условно можно считать, что 1 Кбайт примерно равен 1000 байт. Условность связана с тем, что для вычислительной техники, работающей с двоичными числами, более удобно представление чисел в виде степени двойки, и потому на самом деле 1 Кбайт равен 210 байт (1024 байт). Однако всюду, где это не принципиально (с инженерной погрешностью до 3 %) «забывают» о «лишних» байтах. В килобайтах измеряют сравнительно небольшие объемы данных. Условно можно считать, что одна страница неформатированного машинописного текста составляет около 2 Кбайт. Более крупные единицы измерения данных образуются добавлением префиксов мега-, гига-, тера-; в более крупных единицах пока нет практической надобности. 1 Мбайт = 1024 Кбайт = 220 байт 1 Гбайт = 1024 Мбайт = 230 байт 1 Тбайт = 1024 Гбайт = 240 байт Особо обратим внимание на то, что при переходе к более крупным единицам «инженерная» погрешность, связанная с округлением, накапливается и становится недопустимой, поэтому на старших единицах измерения округление производится реже. 1.4.3. Единицы хранения данных При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним удобный и быстрый доступ (если доступ не обеспечен, то это не хранение). Для обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру, а при этом образуется «паразитная нагрузка» в виде адресных данных. В качестве единицы хранения данных принят объект переменной длины, называемый файлом. Файл — это последовательность произвольного числа байтов, обладающая уникальным собственным именем. Обычно в отдельном файле хранят данные, относящиеся к одному типу. Это может быть текст статьи, рисунок, база данных и т.д. В этом случае тип данных определяет тип файла: текстовый, графический, база данных и т.д. Проще всего представить себе файл в виде безразмерного канцелярского досье, в которое можно по желанию добавлять содержимое или извлекать его оттуда. Поскольку в определении файла нет ограничений на размер, можно представить себе файл, имеющий 0 байтов (пустой файл), и файл, имеющий любое число байтов. В определении файла особое внимание уделяется имени. Оно фактически несет в себе адресные данные, без которых данные, хранящиеся в файле, не станут информацией из-за отсутствия метода доступа к ним. Кроме функций, связанных с адресацией, имя файла может хранить и сведения о типе данных, заключенных в нем. Для автоматических средств работы с данными это важно,
10
поскольку по имени файла они могут автоматически определить адекватный метод извлечения информации из файла. Имя файла состоит из двух частей: основное имя и расширение. Основное имя присваивает пользователь, а расширение пакет программ, с которым пользователь работает. Например, пользователь создал документ в текстовом редакторе Word и дал команду сохранить его с именем Текст. В результате сохраненному документу будет присвоено имя Текст.doc. Точка и следующие за ней буквы и есть расширение. Расширение .doc означает, что документ создан в Word. Имя файла Диаграмма.хls означает, что этот документ создан в электронной таблице Excel. Расширение .dbf присваивается файлу, созданному в системе управления базами данных Access, расширение .pas – программе, написанной на языке программирования Паскаль и т.д. Такая запись имени файла позволяет сразу выделить в перечне файлов документ нужного типа. 1.4.4. Понятие о файловой структуре Файлы хранятся на магнитных дисках в специальных областях памяти, которые называются каталогами (или папками). Аналог каталога – книга. Название каталога аналогично названию книги. А файлы, хранящиеся внутри каталога – разделы книги. Внутри одного каталога могут быть созданы другие каталоги (вложенные). Вложенные каталоги будут идентичны разделам книги, каждый из которых содержит параграфы (разделы). Хранение файлов организуется в иерархической структуре, которая в данном случае называется файловой структурой. В качестве вершины структуры служит имя носителя (диска), на котором сохраняются файлы. Далее файлы группируются в каталоги (папки), внутри которых могут быть созданы вложенные каталоги (папки). Путь доступа к файлу начинается с имени устройства и включает все имена каталогов (папок), через которые проходит. В качестве разделителя используется символ «\» (обратная косая черта). Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя файла вместе с путем доступа к нему. Понятно, что в этом случае на одном носителе не может быть двух файлов с тождественными полными именами. Пример записи полного имени файла в общем виде: <имя носителя>\<имя каталога-1>\...\<имя каталога-М>\ <собственное имя файла> Вот пример записи двух файлов, имеющих одинаковое собственное имя и размещенных на одном носителе (диске С:), но отличающихся путем доступа, то есть полным именем. Для наглядности имена каталогов (папок) напечатаны прописными буквами, а файлов – строчными. С:\АВТОМАТИЧЕСКИЕ АППАРАТЫ\ВЕНЕРА\АТМОСФЕРА\Результаты С:\РАДИОЛОКАЦИЯ\ВЕНЕРА\РЕЛЬЕФ\Результаты Первый файл находится на диске С: в каталоге АВТОМАТИЧЕСКИЕ АППАРАТЫ, в подкаталоге ВЕНЕРА, внутри которого находится подкаталог второго уровня АТМОСФЕРА. (Второй файл Результаты записан в каталоге 3
11
РАДИОЛОКАЦИЯ, в подкаталоге ВЕНЕРА, находится подкаталог второго уровня РЕЛЬЕФ).
внутри
которого
1.5. Информатика 1.5.1. Понятие об информатике Слово информатика происходит от французского слова Informatique, образованного в результате объединения терминов Informacion (информация) и Automatique (автоматика), что выражает ее суть как науки об автоматической обработке информации. В качестве источников информатики обычно называют две науки — документалистику и кибернетику. Документалистика сформировалась в конце XIX века в связи с бурным развитием производственных отношений. Ее расцвет пришелся на 20-30-е годы XX века, а основным предметом документалистики стало изучение рациональных средств и методов повышения эффективности документооборота. Основы близкой к информатике технической науки кибернетики были заложены трудами по математической логике американского математика Норберта Винера, опубликованными в 1948 году, а само название происходит от греческого слова kyberneticos — искусный в управлении. Кибернетика – это наука об общих принципах управления в природе, технике и обществе. Как показали исследования, несмотря на столь разные области, к ним могут быть применены однотипные приемы управления и однотипный математический аппарат. Информатика — это наука, систематизирующая приёмы создания, хранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы управления ими. Из этого определения видно, что информатика очень близка к технологии, поэтому ее предмет нередко называют информационной технологией [1]. Экономической информатикой называется наука, изучающая методы автоматизированной обработки экономической информации с помощью средств вычислительной и организационной техники. Предметом экономической информатики являются: технология и этапы разработки систем автоматизированной обработки экономической информации и обоснование целесообразности такой обработки, функциональный анализ предметной области, алгоритмическое представление задачи и программная ее реализация. С современной точки зрения информатику можно рассматривать и как науку, и как прикладную дисциплину, и как отрасль народного хозяйства. 1.5.2. Информатика как наука Информатика как фундаментальная научная дисциплина включает в себя следующие понятия: • информация и информационные ресурсы;
12
• технические средства обработки информации; • информационные технологии; • информационные системы. 1.5.3. Информатика как прикладная дисциплина Информатика исторически возникла и развивалась как естественная дисциплина, в состав которой входила разработка: • методов и правил рационального проектирования устройств и систем обработки информации; • технологии использования этих устройств и систем для решения научных и практических задач; • методов взаимодействия человека с этими устройствами и системами. 1.5.4. Информатика как отрасль народного хозяйства Рассматривая информатику как отрасль народного хозяйства, можно выделить в ней три составные части: • производство технических средств обработки и передачи информации; • обработку информации; • производство и реализацию программных средств и систем. Особенное значение приобретает информатика в подготовке специалистов управленческого и экономического профиля. Развитие информационных технологий приводит к тому, что этим специалистам приходится: • работать как конечному пользователю на персональном компьютере (ПК) (автоматизированном рабочем месте – АРМ, рабочей станции и т.п.), в условиях “электронного офиса“, интегрированной информационной системы, электронной почты, в локальных и глобальных телекоммуникационных компьютерных сетях; • совершенствовать технологические и управленческие процессы на своем рабочем месте на основе автоматизации управленческих задач с использованием новейших технических и программных средств. Комплекс этих условий отражает социальный заказ на специалиста и диктует требования необходимого уровня его информационной культуры. От того, насколько специалисты хорошо знают и владеют современными методами и средствами информатики, зависит эффективность функционирования производственного подразделения (организации) в целом. В концепции информатизации сферы образования Российской Федерации, утвержденной 10 июля 1998 года Министерством образования Российской Федерации, отмечено, что в настоящее время «в обществе существует достаточно серьезная и устойчивая социальная потребность в изучении информатики, а главное – использовании информационных технологий в повседневной деятельности. Эта потребность обусловлена стремительным развитием средств информационно- вычислительной техники и связи, проникновением технологий практически во все сферы социальной практики и настоятельной необходимостью их эффективного использования в интересах
13
решения целого ряда актуальных социально-экономических проблем». 1.5.5. Предмет и задачи информатики Учебный курс «Информатика» ориентирован на то, чтобы в результате его освоения: • сформировать у студента фундамент современной информационной культуры; • обеспечить устойчивые навыки работы на персональном компьютере в условиях локальных и глобальных вычислительных сетей и систем телекоммуникаций, новых информационных технологий в экономической и управленческой деятельности; • освоить основы современной методологии разработки компьютерных информационных систем и практической реализации ее основных элементов с использованием персональных компьютеров и типовых программных продуктов. В результате изучения дисциплины студент должен: • иметь представление о национальных и мировых информационных ресурсах как экономической категории; • знать основы новых информационных технологий и их влияние на успех в бизнесе и управлении; • знать современное состояние и направление развития компьютерной техники и программных средств; • владеть основами автоматизации решения экономических задач; • уверенно работать на персональном компьютере в качестве конечного пользователя информационных систем; • знать основы создания информационных систем и использования передовых информационных технологий переработки информации, в том числе уметь работать с программными средствами, соответствующими современным требованиям мирового рынка программных продуктов; • иметь представление о работе в локальных и глобальных компьютерных сетях, иметь навыки работы с электронной почтой, телеконференциями, электронной доской объявлений, средствами создания электронного офиса; • знать наиболее важные информационные ресурсы, программные средства информационного поиска, а также экономические и правовые основы использования информационных ресурсов. Предмет информатики (т.е. информационную технологию) составляют следующие понятия: • аппаратное обеспечение средств вычислительной техники; • программное обеспечение средств вычислительной техники; • модели решения функциональных и вычислительных задач; • средства взаимодействия аппаратного и программного обеспечения; • средства взаимодействия человека с аппаратными и программными средствами.
14
Как видно из этого списка, в информатике особое внимание уделяется вопросам взаимодействия. Для этого даже есть специальное понятие — интерфейс. Методы и средства взаимодействия человека с аппаратными и программными средствами называют пользовательским интерфейсом. Соответственно, существуют аппаратные интерфейсы, программные интерфейсы и аппаратно-программные интерфейсы. Основной задачей информатики является систематизация приемов и методов работы с аппаратными и программными средствами вычислительной техники. Цель систематизации состоит в выделении, внедрении и развитии передовых, наиболее эффективных технологий, в автоматизации этапов работы с данными, а также в методическом обеспечении новых технологических исследований. Информатика — практическая наука. Ее достижения должны проходить подтверждение практикой и приниматься в тех случаях, когда они соответствуют критерию повышения эффективности. В составе основной задачи информатики сегодня можно выделить следующие направления для практических приложений: • архитектура вычислительных систем (приемы и методы построения систем, предназначенных для автоматической обработки данных); • интерфейсы вычислительных систем (приемы и методы управления аппаратным и программным обеспечением); • программирование (приемы, методы и средства разработки компьютерных программ); • преобразование данных (приемы и методы преобразования структур данных); • защита информации (обобщение приемов, разработка методов и средств защиты данных); • автоматизация (функционирование программно-аппаратных средств без участия человека); • стандартизация (обеспечение совместимости между аппаратными и программными средствами, а также между форматами представления данных, относящихся к различным типам вычислительных систем). На всех этапах технического обеспечения информационных процессов для информатики ключевым понятием является эффективность. Для аппаратных средств под эффективностью понимают отношение производительности оборудования к его стоимости (с учетом стоимости эксплуатации и обслуживания). Для программного обеспечения под эффективностью понимают производительность работающих с ним пользователей. В программировании под эффективностью понимают объем программного кода, создаваемого программистами в единицу времени.
15
1.5.6. Информационные технологии Информационные технологии можно определить как совокупность методов – приемов и алгоритмов обработки данных и инструментальных средств – программных и технических средств обработки данных. Информационные технологии можно условно разделить на категории: 1. Базовые информационные технологии – это универсальные технологические операции обработки данных, как правило, не зависящие от содержания обрабатываемой информации, например запуск программ на выполнение, копирование, удаление, перемещение и поиск файлов и т.п. Они основаны на использовании широко применяемых программных и технических средств обработки данных. 2. Специальные информационные технологии – комплекс информационно связанных базовых информационных технологий, предназначенных для выполнения специальных операций с учетом содержания и/или формы представления данных. Информационные технологии являются необходимыми базисом для создания информационных систем. 1.6. Основные понятия экономической информатики 1.6.1.Виды экономической информации Экономическую информацию принято подразделять по следующим основным признакам [2]: • функциям управления (использованию), • месту возникновения. По функциям управления экономическая информация разделяется на плановую, учетную, нормативную, отчетно-статистическую. Плановая информация включая в себя директивные значения планируемых и контролируемых показателей планирования на некоторый период в будущем (пятилетка, год, квартал, месяц, сутки). Например, выпуск продукции в натуральном и денежном выражении, планируемый спрос на продукцию и прибыль от ее реализации и т.д. Учетная информация отражает фактические знания запланированных показателей за определенный период времени. На основании этой информации может быть скорректирована плановая информация, проведен анализ деятельности организации, приняты решения по более эффективному управлению организацией. В качестве учетной информации выступает информация натурального (оперативного) учета, бухгалтерского учета, финансового учета. Например, учетной информацией является: количество деталей данного наименования, изготовленных рабочим за смену (оперативный учет), заработная плата за изготовление детали (бухгалтерский учет), фактическая себестоимость изготовления изделия (бухгалтерский и финансовый учет).
16
Нормативно-справочная информация содержит различные справочные и нормативные данные, связанные с производственными процессами и отношениями. Это самый объемный и разнообразный вид информации. Достаточно отметить, что в общем объеме циркулирующей в организации информации нормативно- справочная информация составляет 50-60%. Примерами нормативно- справочной информации могут служить: технологические нормативы изготовления деталей, узлов, изделия в целом; стоимостные нормативы (расценки, тарифы, цены), справочные данные по поставщикам и потребителям продукции и т.д. Отчетно-статистическая информация отражает результаты фактической деятельности организации для вышестоящих органов управления, органов государственной статистики налоговой инспекции и т.д. Например, годовой бухгалтерский отчет о деятельности организации. Классификация экономической информации по уровням управления (месту возникновения) включает в себя входную и выходную информацию. Входная информация – это информация, поступающая в организацию (структурное подразделение) извне и используемая как первичная информация для реализации экономических и управленческих функций и задач управления. Выходная информация- это информация, поступающая из одной системы управления в другую. Одна и та же информация может являться входной для одного структурного подразделения и выходной для другого. При этом форма представления экономической информации может быть: алфавитно-цифровой (текстовой)- в виде совокупностей алфавитных, цифровых и специальных символов и графической – в виде графиков, схем, рисунков, а физическим носителем информации – бумага, магнитный или оптический диск, изображения на экране дисплея. 1.6.2. Свойства экономической информации Наиболее существенными свойствами экономической информации являются: • смысловое содержание сообщений; • многообразие форм представления данных; • большой объем данных; • дискретность значений и структурирование данных; • требование к качеству информации и др. В свете идей семиотики (наука о знаках) понятие информации и ее свойств можно рассматривать в трех аспектах: • синтаксическом; • семантическом; • прагматическом. Синтаксический аспект связан с рассмотрением формы и среды представления информации: документ, машинный носитель, память компьютера – с оценкой объемов обрабатываемой и хранимой информации,
17
установлением правил преобразования и выбором формата данных и т.п. Информация на синтаксическом уровне традиционно называется данными. На семантическом уровне формируются структурные единицы информации - экономические показатели, проектируется структура базы данных (интегрированной совокупности взаимосвязанных данных), определяется содержание документов и схема документооборота. Семантический аспект требует понимания содержания информации. Прагматический аспект информации связан с оценкой качества и полезности информации для принятия управленческих решений. Качество информации рассматривается на уровне экономического показателя. Оно является совокупностью следующих свойств: 1. Репрезентативность информации – методическая правильность формирования экономической информации: выделение наиболее существенных признаков и связей объектов, событий, явлений; измерение, выбор правильных алгоритмов формирования расчетных показателей. 2. Содержательность информации – максимизация отношения количества полезных данных к их общему объему, т.е. максимизация меры устранения неопределенности. 3. Необходимость и достаточность (комплектность) информации для принятия управленческого решения. 4. Актуальность информации – сохранение полезности информации во времени. 5. Доступность и своевременность получения информации. 6. Точность информации на уровне отдельных экономических показателей. 7. Достоверность информации – отображение истинного значения в пределах необходимой точности с заданной вероятностью. 8. Ценность информации – оценка влияния показателя на эффективность функционирования системы и др. Информация в системе управления рассматривается как «ресурс управления», имеющий важное стратегическое значение. Информационные ресурсы в значительной степени являются взаимозаменяемыми по отношению к материальным, финансовым или трудовым ресурсам. Организационная форма информационных ресурсов, объем информации, ее качество влияют на эффективность управления. В настоящее время наиболее широко распространены формы организации информационных ресурсов в виде: • коллекций документов, карточек ручного заполнения и поиска; • предметных баз данных на машинных носителях; • интегрированных баз данных коллективного пользования с применением компьютерных сетей, включая сеть Internet; • баз знаний, обеспечивающих получение новой информации на основе системы правил вывода.
18
1.6.3. Технические средства обработки информации Технологический процесс обработки данных в информационных системах осуществляется при помощи: • технических средств сбора и регистрации данных; • средств телекоммуникаций; • систем хранения, поиска и выбора данных; • средств вычислительной обработки данных; • технических средств оргтехники. В современных информационных системах технические средства обработки данных используются комплексно, на основе технико-экономического расчета целесообразности их применения, с учетом отношения «цена/качество» и надежности работы технических средств. ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. Чем различаются понятия информация и данные? 2. Что понимается под кодированием информации? 3. Какие единицы представления и измерения информации существуют? 4. Что такое расширение имени файла? 5. Что является предметом информатики? 6. Дайте определение экономической информатике. 7. Дайте определение информационной технологии.
19
2. ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА 2.1.Основные сведения об устройстве ЭВМ Электронной вычислительной машиной (ЭВМ) называется устройство, выполняющее следующие операции: • ввод информации; • обработку информации по заложенной в ЭВМ программе; • вывод результатов обработки в форме, пригодной для восприятия человеком. За каждое из названных действий отвечает специальный блок ЭВМ, соответственно: устройство ввода, центральный процессор (ЦП), устройство вывода. Все они достаточно сложны и, в свою очередь, состоят из отдельных более мелких устройств. В частности в центральный процессор могут входить: арифметическо-логическое устройство, управляющее устройство, оперативное запоминающее устройство. Таким образом, укрупненная структурная схема ЭВМ приобретает вид, показанный на рис.2.1.
Оперативное запоминающее устройство
Управляющее устройство
Данные Команды программы
Управляющие сигналы Устройство ввода
Арифметическо-логическое устройство
Устройство вывода
Рис. 2.1 Отметим, что устройство ввода представлено, как правило, не одной конструктивной единицей. Виды вводимой информации разнообразны, источников тоже может быть несколько (клавиатура, дискета, CD-ROM, сканер, видеомагнитофон и т.д.), так что слова «устройство ввода» следует понимать в собирательном смысле. То же относится к устройству вывода (монитор, принтер, дискета, CD-ROM и т.д). Арифметическо - логическое устройство (АЛУ) – это именно то место, где выполняются преобразования данных, предписанные командами программы: арифметические действия над числами, преобразования кодов, сравнения кодов, сравнение слов и пр. Оперативное запоминающее устройство (ОЗУ), или просто память, предназначена для размещения программ, а также для временного хранения
20
каких-то частей входных и промежуточных результатов. Ему свойственны: способность записывать (или считывать) элементы программ и данных в произвольное место памяти (или из произвольного места памяти), высокое быстродействие. Слово произвольное означает не “какой попало”, а возможность обратиться к заданному адресу без необходимости просмотра всех предшествующих. Заметим, что запоминающие устройства бывают трех видов: • двунаправленные (допускающие и считывание, и запись данных); • полупостоянные, предназначенные для хранения редко обновляемой информации (например, сведения о конфигурации ЭВМ); • постоянные, допускающие только считывание информации. Управляющее устройство (УУ) осуществляет координацию работы всех агрегатов. В определенной последовательности оно извлекает из оперативного запоминающего устройства (ОЗУ) команду за командой. Каждая команда декодируется; если требуется, из указанных в ней ячеек ОЗУ передаются в АЛУ (или, наоборот) элементы данных; АЛУ настраиваются на выполнение действия, предписанного командой (в этом действии, может быть, участвуют и устройства ввода-вывода); дается команда на выполнение этого действия. Этот процесс будет продолжаться до тех пор, пока не сложится одна из следующих ситуаций: • исчерпаны входные данные; • с одного из входных устройств поступила команда на прекращение работы; • выключено питание ЭВМ. 2.2. Качественные характеристики ЭВМ Качество ЭВМ характеризуется многими показателями. Это и набор инструкций (команд), которые ЭВМ способна понимать и выполнять, и скорость работы (быстродействие) центрального процессора, и количество устройств ввода-вывода («периферийных устройств»), которые можно присоединить к ней одновременно, и потребление электроэнергии, и многое другое. Но главной, как правило, характеристикой является быстродействие, то есть количество операций, которое центральный процессор способен выполнить в единицу времени. Понятно общее (и создателей ЭВМ, и пользователей) стремление к повышению производительности ЭВМ. Одно из направлений удовлетворения этого стремления - принципиальное и конструктивное совершенствование элементной базы, то есть создание новых, все более быстрых, надежных и удобных в работе процессоров, запоминающих устройств, принтеров и т.д. Но скорость работы элементов невозможно увеличивать беспредельно (существуют современные технологические ограничения и ограничения, обусловленные физическими законами). Поэтому разработчики ЭВМ ищут решение этой проблемы и на путях совершенствования схемных решений, или, как говорят,
21
совершенствования архитектуры ЭВМ. Так появились многопроцессорные ЭВМ, в которых несколько процессоров работают по-настоящему одновременно, и, значит, производительность машины равна сумме производительностей процессоров. В этом случае говорят о многопроцессорной архитектуре. В особо мощных ЭВМ (такие машины могут, например, моделировать ядерные реакции со скоростью естественного процесса) число процессоров достигает нескольких десятков. Скорость работы ЭВМ существенно зависит от скорости работы ОЗУ, или, иными словами, от продолжительности обращения к ОЗУ. Поэтому постоянно ведутся поиски элементов для ОЗУ, которые требовали бы как можно меньше времени на операции чтения - записи. Однако обнаружилось, что вместе с быстродействием растет (и очень резко) стоимость элементов памяти, так что построение ОЗУ необходимой емкости на быстрых элементах неприемлема экономически. Это коллизия разрешена путем построения многоуровневой памяти. ОЗУ складывается из двух – трех частей: основная часть, большой емкости, строится на относительно медленных (но зато более дешевых) элементах, а дополнительная часть (ее называют кэш-памятью) состоит из быстродействующих элементов. Те данные, к которым АЛУ обращается наиболее часто, содержатся в кэш – памяти; больший же объем оперативной информации хранится в основной памяти. Распределением информации между основными частями ОЗУ управляет специальный блок центрального процессора. Объем ОЗУ и кэш – памяти принадлежит к числу важнейших характеристик ЭВМ. Как сказано выше, работой устройств ввода–вывода тоже необходимо управлять. Ранее эти обязанности возлагались на ЦП, и они отнимали у него немало времени. Архитектура современных ЭВМ предусматривает передачу значительной части функций управления периферийными устройствами специализированным процессорам, обеспечивая тем самым разгрузку ЦП и повышение его производительности. Итак, ясно, что реальная структура ЭВМ значительно сложнее, чем изображенная на рис. 2.1, за счет включения в нее дополнений, направленных, в конечном счете, на повышение производительности и приближение функциональных возможностей ЭВМ к потребностям пользователей. Однако в целом структура ЭВМ сохраняется [1], [5]. 2.3. Классификация ЭВМ Номенклатура видов ЭВМ в настоящее время огромна: машины различаются по назначению, мощности, размерам, используемой элементной базе, устойчивости по отношению к воздействию неблагоприятных условий и т. д. Так что классифицировать ЭВМ можно было бы с разных точек зрения, по разным классификационным признакам. Для наших целей наиболее интересно сгруппировать ЭВМ по производительности и по габаритным характеристикам (размеры, вес). Заметим сразу, что классификация в известной мере условна, так как границы между группами размыты и очень подвижны во времени:
22
развитие этой отрасли науки и техники столь стремительно, что, например, сегодняшняя микро – ЭВМ не уступает по мощности мини – ЭВМ пятилетней давности. Принятая на сегодня градация ЭВМ представлена в табл.2.1. Класс персональных ЭВМ сам складывается из весьма разнообразных видов машин и потому заслуживает отдельной классификации (табл.2.2). В качестве классификационного признака взяты весогабаритные данные.
Класс ЭВМ Супер ЭВМ
Основное назначение Сложные научные расчеты
Основные технические данные
Интегральное быстродействие до десятков миллиардов операций в секунду; число параллельно работающих процессоров до 100 Мультипроцессорная Большие Обработка боЭВМ льших объемов архитектура; (мэйнинформации ба- подключение до 200 рабочих мест фреймы) нков, крупных предприятий Супер Системы упра- Мультипроцессорная архитектура; подключеминивления предпЭВМ риятиями, мно- ния до 200 терминалов; дисковые запоминаюгопультовые щие устройства, наравычислительщиваемые до девяноста ные системы Гбайт МиниСистемы упра- Однопроцессорная архитектура, ЭВМ вления предприятиями сред- разветвленная периферия него размера; многопультовые вычислительные системы Однопроцессорная Рабочие Системы автоархитектура, высокое станции матизированбыстродействие ного проектирования, систе- процессора; ОЗУ 32-64 мы автоматиза- Мбайт; специализированная ции эксперипериферия ментов
Цена, $ До 10000000
Таблица 2.1 Некоторые модели и/или изготовители CRAY VAX-1000 MULTICON
До 250000
Tandem Computer EC-1066
Семейство До 180000 VAX (Digital Equipment);SP ARC (SUN Microsystems); AS/400(IBM) ES/9000; До 100000 ES/9370 (IBM); Серии А и 2200 (Unisys)
До 50000
MERVA-2 (IBM RS6000)
23
Таблица 2.2
Тип
Вес, кг
Настольные (Desk Top)
5-10
Переносные (Lap Top)
2,5-5
Блокнотные (Note Book)
0,7-2,5
Электронный секретарь (PDA= Personal Digital Assistant)
Менее 0,7
Источник питания Бытовая электросеть
Комментарии
Используется внутри помещений для оборудования рабочих мест; обладают широким набором функциональных возможностей Бытовая Предназначены для использования в электросеть или поездках. Достаточно широкий набор батареи возможностей, включая подключение к вычислительным сетям Батареи или Предназначены для использования в преобразователь поездках. Набор возможностей напряжения сокращен Батареи или Можно легко держать в руке. Набор преобразователь функций позволяет выполнять записи напряжения текстов, некоторые вычисления, вести расписание
Стоимость портативного персонального компьютера (ПК) в два–пять раз выше, чем у настольного, имеющего такие же основные параметры (размер оперативной памяти, тип процессора, емкость жесткого диска и т.д.). Отнесение машин к тому или иному подклассу весьма условно как из-за размытости границ групп, так и вследствие широкого внедрения в жизнь практики заказной сборки машин, когда номенклатура узлов ПК и даже конкретные модели подгоняются под требования заказчика. 2.4. Тенденции развития ЭВМ В истории развития ЭВМ принято выделять несколько поколений вычислительных машин. Первое поколение (ЭВМ на электронных лампах), были распространены в начале 50-х годов прошлого столетия. Эти ЭВМ были предназначены только для работы с программами в режиме оператора. То есть оператор вводил одну программу на перфоленте или перфокарте и пока она не завершала свою работу, ввести другую программу было невозможно. Ламповые ЭВМ занимали очень большие площади (например, ЭВМ «Урал» занимала площадь около 40 м2). Из-за наличия огромного количества электронных ламп они очень нагревались что летом, при высоких температурах, приводило к сбоям в работе. ЭВМ первого поколения предназначались в основном для проведения программных научных расчетов.
24
Второе поколение (ЭВМ на транзисторах), были распространены в 60-х годах прошлого столетия. Использование транзисторов позволило уменьшить габариты ЭВМ (например, М220) и повысить их быстродействие, но по-прежнему обрабатывалась только программная информация и только в режиме оператора. Третье поколение (ЭВМ на интегральных схемах) - начало 70-х годов двадцатого века. При уменьшении габаритов и повышении быстродействия по сравнению с двумя предыдущими поколениями, появились возможность создания графиков и пакетный режим работы (одновременно загружались нескольких программ, а процессор организовывал их параллельное выполнение. Но доступ к ЭВМ по-прежнему имеет только один оператор. (ЭВМ М6000)). Четвертое поколение (на больших интегральных схемах) было создано в 70-х годах. Характеризуется многопользовательским режимом работы. К одной ЭВМ подключалось несколько мониторов (например, ЭВМ ЕС 1020). Пятое поколение (персональные компьютеры и большие ЭВМ на сверхбольших интегральный микросхемах) используется сегодня. На протяжении недавней истории ЭВМ, то есть примерно с середины 60-х годов, когда полупроводники уже полностью вытеснили электронные лампы из элементной базы вычислительных машин, в развитии этой области техники произошло несколько драматических поворотов. Все они явились следствием, с одной стороны, бурного развития технологии микропроцессоров, с другой – интенсивного прогресса программного обеспечения компьютеров. Тот и другой процессы развивались параллельно, подстегивая друг друга, в какой-то мере конкурируя. Новые технические возможности, появлявшиеся с созданием новых элементов и устройств, позволили разработать более совершенные (и функциональные, и по производительности) программы; это, в свою очередь, порождало потребность в новых, более совершенных компонентах и т.д. В 60-е годы, в эпоху машин третьего поколения, то есть машин на базе отдельных полупроводниковых элементов и интегральных схем небольшой плотности (типичной представитель - ЭВМ семейства IBM 360), пользователи пришли к осознанию необходимости изменения организации использования ЭВМ. До того ЭВМ предоставлялась в распоряжение одного человека (это был либо оператор, выполняющий готовую программу, либо программист, занятый разработкой новой). Такой порядок не позволял использовать весь потенциал машины. Поэтому возникла технология так называемой пакетной обработки заданий, характерная тем, что пользователь был отделен от машины. Он должен был заранее подготовить свое задание (чаще всего – в виде колоды перфокарт с управляющими кодами и исходными данными) и передать его в руки операторов, которые формировали очередь заданий. Таким образом, машина получала для обработки сразу несколько заданий и не простаивала в ожидании каждого нового задания или реакции пользователя на свои сообщения. Но и этого оказалось недостаточно: по быстродействию центральный процессор
25
намного опережал внешние устройства, такие, как считыватели перфокарт и перфолент, АЦПУ (алфавитно-цифровые печатающие устройства), и поэтому его мощность оказывалась не полностью использованной. Возникла идея организации многозадачного использования процессора. Ее суть состояла в том, что процессор как бы одновременно выполнял несколько программ. На самом деле процессор работал по-прежнему последовательно. Но когда, положим, в рамках какой-то программы очередь доходила до обмена с внешним устройством, эта операция перепоручалась недорогому специализированному устройству, а центральный процессор переключался на продолжение другой программы и т.д. Таким образом, коэффициент использования аппаратной части вычислительной установки резко возрос. В рамках одного из направлений развития идеи многозадачности появились и так называемые многопультовые системы. Они представляли собой комплексы, состоявшие из центральной ЭВМ и группы видеотерминалов (дисплеев) числом до нескольких десятков. Человек-оператор, работавший за пультом такого терминала, ощущал себя полным распорядителем ЭВМ, поскольку ЭВМ реагировала на его действия и команды с минимальной задержкой. В действительности же центральная ЭВМ квазиодновременно работала со многими программами, переключаясь с одной на другую в соответствии с определенной дисциплиной (например, уделяя каждому терминалу по несколько миллисекунд в течение секунды). В 1971 г. был создан первый микропроцессор, то есть функционально законченное устройство, способное выполнять обязанности центрального процессора (правда, в то же время весьма маломощного). Это событие имело значение поворотного момента в истории вычислительной техники (и не только вычислительной: в дальнейшем процесс развития микроэлектроники привел к существенным переменам и в других областях – в станкостроении, автомобилестроении, технике связи и т.д.). Совершенствование технологий, опиравшихся на достижения фундаментальных наук, на успехи оптики, точного машиностроения, металлургии и других отраслей, дало возможность получить микропроцессоры со все большим количеством элементов, размещенных на поверхности полупроводникового кристалла со все большей плотностью, а значит – все более мощные. Забота о возможно более полном использовании вычислительных ресурсов теряла свою остроту и даже актуальность. В 1979 г. мировой лидер в производстве средств вычислительной техники (ВТ), корпорация IBM, отреагировала на появление «персоналки» с некоторым запаздыванием, но в 1980 г. вышла на рынок со своим IBM РС, самой важной особенностью которого была так называемая открытая архитектура. Это означает, во-первых, возможность реализации принципа взаимозаменяемости, то есть использования для сборки ПК узлов от разных производителей (лишь бы они соответствовали определенным соглашениям), и, во-вторых – возможность доукомплектования ПК, наращивание его мощности уже в ходе
26
эксплуатации. Это смелое и дальновидное техническое решение дало мощный толчок всей индустрии ВТ. Десятки и сотни фирм включились в разработку и производство отдельных блоков и целых ПК, создав всплеск спроса на элементы, новые материалы, новые идеи. Последующие годы отмечены фантастически быстрым совершенствованием микропроцессоров (каждые 5 лет плотность размещения элементов на полупроводниковом кристалле возрастала в 10 раз!), запоминающих устройств (оперативных и накопителей), средств отображения и фиксации данных. И, повторимся, очень существенно то, что одновременно снижалась себестоимость и цены. В конечном счете, последние полтора десятилетия ознаменованы широчайшим распространением персональных ЭВМ во всех сферах человеческой деятельности. Заметны и социальные последствия этого феномена, но это – отдельный вопрос. Важно отметить, что ПК стали преобладать и как аппаратная база систем управления, вытесняя большие ЭВМ, что привело к ряду негативных последствий, в частности к неприемлемому снижению уровня централизации и частичной потере управляемости. Как и ранее, технологические достижения приносили не только удовлетворение, но и новые проблемы. Усилия по их разрешению приводят к новым интересным результатам как в аппаратной сфере, так и в создании новых программных средств и систем. 2.5. Конфигурация вычислительной системы На выбор конфигурации вычислительной системы решающее влияние оказывает технологический процесс ее работы в конкретных производственных условиях. Можно выделить следующие стандартные этапы работы: 1. Зарождение данных, т.е. формирование первичных сообщений, которые фиксируют результаты хозяйственных операций, свойства объектов и субъектов управления, параметры производственных процессов, содержание нормативных и юридических актов и т.д. 2. Накопление и систематизация данных, т.е. организация такого размещения данных, которое обеспечивало бы быстрый поиск и отбор нужных сведений, методическое обновление данных, защиту их от искажений, утраты, потери связности и т.п. 3. Обработка данных - процессы, в результате которых на основе ранее накопленных данных формируются новые виды данных: обобщающие, аналитические, рекомендательные, прогнозные. Производные данные тоже могут быть подвергнуты дальнейшей обработке и принести сведения более глубокой обобщенности и т.д. 4. Отображение данных - представление данных в форме, пригодной для восприятия человеком. Прежде всего это вывод на печать, т.е. изготовление читаемых человеком документов. Также широко используются такие виды преобразования, как построение графических иллюстративных материалов (графики, диаграммы, пиктограммы, видеограммы), формирование звуковых и видеосигналов.
27
Сообщения, формируемые на этапе 1, могут иметь разный вид: либо это обычный бумажный документ, либо машиночитаемое сообщение, либо то и другое одновременно. Что именно - определяет разработчик конфигурации вычислительной системы в зависимости от требуемой степени автоматизации процесса; от управленческой функции, в рамках которой сообщение создано; от бюджета, выделенного на создание системы, и т.д. Сообщения, имеющие массовый характер, обязательно переводятся в машиночитаемый вид, так что создание такого сообщения предпочтительно заканчивать на машинном носителе. Специальная аппаратура, реализующая эти операции, носит собирательное название «средства сбора данных» или «средства регистрации первичной информации». Она включает измерители различных типов (электронные весы, счетчики, расходомеры, хронометры), считыватели штрихкодов, машины для счета банкнот, считыватели магнитных карт и т.п. Потребности этапов 2 и 3 обычно удовлетворяются базовыми средствами вычислительной техники, в основном – компьютерами. В то же время информация по некоторым видам управленческих и коммерческих функций вполне может накапливаться и обрабатываться и более дешевыми средствами оргтехники (приборы для использования «электронных» денег, электронные записные книжки, калькуляторы, мобильные телефоны и т.п.). Средства, обеспечивающие восприятие информации человеком, т.е. средства отображения данных (этап 4), также тяготеют к цифровой вычислительной технике. Это - струйные, лазерные, светодиодные принтеры, модемы и факсмодемы (используемые также в интернет - телефонии), специальные звуковые и видеокарты различной мощности, устройства оцифровки фото и видеоизображений, мультимедийные проекторы изображений. 2.6. Базовая аппаратная конфигурация персонального компьютера Персональный компьютер — универсальная техническая система. Его конфигурацию (состав оборудования) можно гибко изменять по мере необходимости. Тем не менее, существует понятие базовой конфигурации, которую считают типовой, в таком комплекте компьютер обычно поставляется. Понятие базовой конфигурации может меняться. В настоящее время в базовой конфигурации рассматривают четыре устройства (рис. 2.2): • системный блок; • монитор; • клавиатура; • манипулятор «мышь». Системный блок Системный блок представляет собой основной узел, внутри которого установлены наиболее важные компоненты. Устройства, находящиеся внутри системного блока, называют внутренними, а устройства, подключаемые к нему снаружи, называют внешними. Внешние дополнительные устройства, предназначенные для ввода, вывода и длительного хранения данных, также называют периферийными.
28
Рис. 2.2 Монитор Монитор — устройство визуального представления данных. Это не единственно возможное, но главное устройство вывода. Его основными потребительскими параметрами являются: размер и шаг маски экрана, максимальная частота регенерации изображения, класс защиты. Клавиатура Клавиатура - клавишное устройство управления персональным компьютером. Служит для ввода алфавитно-цифровых (знаковых) данных, а также команд управления. Комбинация монитора и клавиатуры обеспечивает простейший интерфейс пользователя. С помощью клавиатуры управляют компьютерной системой, а с помощью монитора получают от нее отклик. Клавиатура относится к стандартным средствам персонального компьютера. Ее основные функции не нуждаются в поддержке специальными системными программами (драйверами). Необходимое программное обеспечение для начала работы с компьютером уже имеется в составе базовой системы ввода-вывода (BIOS), и потому компьютер реагирует на нажатия клавиш сразу после включения. Мышь Мышь — устройство управления манипуляторного типа. Представляет собой плоскую коробочку с двумя-тремя кнопками. Перемещение мыши по плоской поверхности синхронизировано с перемещением графического объекта (указателя мыши) на экране монитора. В отличие от рассмотренной ранее клавиатуры, мышь не является стандартным органом управления, и персональный компьютер не имеет для нее выделенного порта. Для мыши нет и постоянного выделенного прерывания, а базовые средства ввода и вывода (BIOS) компьютера, размещенные в
29
постоянном запоминающем устройстве (ПЗУ), не содержат программных средств для обработки прерываний мыши. В связи с этим в первый момент после включения компьютера мышь не работает. Она нуждается в поддержке специальной системной программы — драйвера мыши. Драйвер устанавливается либо при первом подключении мыши, либо при установке операционной системы компьютера. 2.7. Внутренние устройства системного блока 2.7.1. Материнская плата Материнская плата — основная плата персонального компьютера. На ней размещаются: • процессор — основная микросхема, выполняющая большинство математических и логических операций; • микропроцессорный комплект (чипсет) — набор микросхем, управляющих работой внутренних устройств компьютера и определяющих основные функциональные возможности материнской платы; • шины — наборы проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера; • оперативная память (оперативное запоминающее устройство, ОЗУ) — набор микросхем, предназначенных для временного хранения данных, когда компьютер включен; • ПЗУ (постоянное запоминающее устройство) — микросхема, предназначенная для длительного хранения данных, в том числе и когда компьютер выключен; • разъемы для подключения дополнительных устройств (слоты). 2.7.2. Жесткий диск (винчестер) Жесткий диск — основное устройство для долговременного хранения больших объемов данных и программ. На самом деле это не один диск, а группа соосных дисков, имеющих магнитное покрытие и вращающихся с высокой скоростью. Таким образом, этот «диск» имеет не две поверхности, как должно быть у обычного плоского диска, а 2п поверхностей, где п — число отдельных дисков в группе. К основным параметрам жестких дисков относятся емкость и производительность. Емкость дисков зависит от технологии их изготовления. В настоящее время большинство производителей жестких дисков используют изобретенную компанией IBM технологию с использованием гигантского магниторезистивного эффекта (GMR — Gigant Magnetic Resistance). Теоретический предел емкости одной пластины, исполненной по этой технологии, составляет порядка 20 Гбайт. В настоящее время достигнут технологический уровень 6,4 Гбайт на пластину, но развитие продолжается. 2.7.3. Дисковод гибких дисков Информация на жестком диске может храниться годами, однако иногда требуется ее перенос с одного компьютера на другой. Несмотря на свое
30
название, жесткий диск является весьма хрупким прибором, чувствительным к перегрузкам, ударам и толчкам. Теоретически переносить информацию с одного рабочего места на другое путем переноса жесткого диска возможно, и в некоторых случаях так и поступают, но все-таки этот прием считается нетехнологичным, поскольку требует особой аккуратности и определенной квалификации. Для оперативного переноса небольших объемов информации (до 1,4 Мбайт) служат так называемые гибкие магнитные диски (дискеты), которые вставляют в специальный накопитель — дисковод. Приемное отверстие накопителя находится на лицевой панели системного блока. Правильное направление подачи гибкого диска отмечено стрелкой на его пластиковом кожухе. 2.7.4. Дисковод компакт-дисков CD-ROM В период 1994-1995 гг. в базовую конфигурацию персональных компьютеров перестали включать дисководы гибких дисков диаметром 5,25 дюйма, но вместо них стандартной стала считаться установка дисковода CDROM, имеющего такие же внешние размеры. Аббревиатура CD-ROM (Compact Disc Read-Only Memory) переводится на русский язык как постоянное запоминающее устройство на основе компактдиска. Принцип действия этого устройства состоит в считывании числовых данных с помощью лазерного луча, отражающегося от поверхности диска. Цифровая запись на компакт-диске отличается от записи на магнитных дисках очень высокой плотностью, и стандартный компакт-диск может хранить примерно 650 Мбайт данных. Большие объемы данных характерны для мультимедийной информации (графика, музыка, видео), поэтому дисководы CD-ROM относят к аппаратным средствам мультимедиа. Программные продукты, распространяемые на лазерных дисках, называют мультимедийными изданиями. 2.7.5. Видеокарта (видеоадаптер) Служит для обеспечения работы монитора с изображением. Это видеопроцессор и видеопамять одновременно. Сейчас применяются видеоадаптеры EGA (16 цветов), VGA (256 цветов), SVGA(до 16,7 млн. цветов). Объем памяти до 16 Мбайт. 2.7.6. Звуковая карта Выполняет вычислительные операции для обработки звука, речи, музыки. 2.8. Системы, расположенные на материнской плате 2.8.1. Оперативная память Оперативная память – это массив кристаллических ячеек, способных хранить данные. Сегодня типичным считается размер оперативной памяти 32128 Мбайт, но очень скоро эта величина будет превышена в 3-4 раза даже для моделей массового потребления. Ячейки ОЗУ могут хранить информацию только при включенном питании. При его выключении информация стирается.
31
2.8.2. Процессор Процессор — основная микросхема компьютера, в которой и производятся всё вычисления. Конструктивно процессор состоит из ячеек, похожих на ячейки оперативной памяти, но в этих ячейках данные могут не только храниться, но и изменяться. Внутренние ячейки процессора называют регистрами. Важно также отметить, что данные, попавшие в некоторые регистры, рассматриваются не как данные, а как команды, управляющие обработкой данных в других регистрах. Среди регистров процессора есть и такие, которые в зависимости от своего содержания способны модифицировать исполнение команд. Таким образом, управляя засылкой данных в разные регистры процессора, можно управлять обработкой данных. На этом и основано исполнение программ. С остальными устройствами компьютера, и в первую очередь с оперативной памятью, процессор связан несколькими группами проводников, называемых шинами. Основных шин три: шина данных, адресная шина и командная шина. В настоящее время для компьютерной фирмы IBM наиболее распространенными являются процессоры на основе микропроцессоров Intel. Марка процессоров обычно определяет название компьютера. Так компьютеры с микропроцессором Intel 80286 называли 286 или “двойками”, с микропроцессором Intel 80386 – 386 или “тройками”. Современные микропроцессоры Pentium 4 и Pentium 5 марки Intel обладают тактовой частотой до 3 ГГц. 2.8.3. Микросхема ПЗУ и система BIOS В момент включения компьютера в его оперативной памяти нет ничего — ни данных, ни программ, поскольку оперативная память не может ничего хранить без подзарядки ячеек более сотых долей секунды. Но процессору нужны команды, в том числе и в первый момент после включения. Поэтому сразу после включения на адресной шине процессора выставляется стартовый адрес. Это происходит аппаратно, без участия программ (всегда одинаково). Процессор обращается по выставленному адресу за своей первой командой и далее начинает работать по программам. Этот исходный адрес не может указывать на оперативную память, в которой пока ничего нет. Он указывает на другой тип памяти — постоянное запоминающее устройство (ПЗУ). Микросхема ПЗУ способна длительное время хранить информацию, даже когда компьютер выключен. Программы, находящиеся в ПЗУ, называют «зашитыми» — их записывают туда на этапе изготовления микросхемы. Комплект программ, находящихся в ПЗУ, образует базовую систему вводавывода (BIOS — Basic Input Output System). Основное назначение программ этого пакета состоит в том, чтобы проверить состав и работоспособность компьютерной системы и обеспечить взаимодействие с клавиатурой, монитором, жестким диском и дисководом гибких дисков. Программы, входящие в BIOS, позволяют нам наблюдать на экране диагностические
32
сообщения, сопровождающие запуск компьютера, а также вмешиваться в ход запуска с помощью клавиатуры. 1. 2. 3. 4. 5.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ Что из себя представляет многопроцессорная архитектура ЭВМ? В чем особенность кэш-памяти? Чем отличается постоянное запоминающее устройство от памяти на магнитном диске? В чем отличие принципа записи информации на CD-ROM и дискету? Какая программа выполняется первой после включения питания компьютера?
33
3. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРОВ 3.1. Программы и программная конфигурация Программы — это упорядоченные последовательности команд. Конечная цель любой компьютерной программы — управление аппаратными средствами. Даже если на первый взгляд программа никак не взаимодействует с оборудованием, не требует никакого ввода данных с устройств ввода и не осуществляет вывод данных на устройства вывода, все равно ее работа основана на управлении аппаратными устройствами компьютера. Состав программного обеспечения вычислительной системы называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь — многие программы работают, опираясь на другие программы более низкого уровня, то есть мы можем говорить о межпрограммном интерфейсе. 3.2. Системные и прикладные программы Существует разделение вычислительных машин на две составляющие: аппаратурную и программную. Программная часть называется программным обеспечением ЭВМ. Программное обеспечение делится на две части. Одна часть - это комплекс программных средств, предназначенных для того, чтобы на вычислительной машине можно было организовать выполнение программ. Вторая множество тех программ, которые нацелены на решение конкретных задач. Эти две части программного обеспечения принято соответственно называть системными программами и прикладными программами. 3.2.1. Системные программы Удобно разделить системные программы на три класса: 1. Операционные системы компьютеров. Основная задача таких программ - планирование вычислительного процесса, распоряжение ресурсами машины, организация взаимодействия отдельных процессов, протекающих в машине во время выполнения программ. К этим программам примыкают программные системы, обеспечивающие отображение информации в удобном для пользователя виде (например, на дисплее), диалоговые программы для общения на естественном языке, а также системы трансляции (трансляторы), обеспечивающие перевод программ с языков программирования в машинные коды. В настоящее время наиболее распространенными операционными системами (ОС) являются MS DOS, Unix, Windows. 2. Сервисные программы: отладчики, диагностические программы, программы для борьбы с компьютерными вирусами и др. Эти программы облегчают пользователю взаимодействие с машиной. 3. Программы обеспечения работы в сети. Эти программы реализуют протоколы обмена информацией между машинами, работу с базами данных, телеобработку данных.
34
3.2.2. Прикладные программы Прикладные программы удобно разделить на следующие классы: 1. Текстовые редакторы. Основные функции этого класса прикладных программ заключаются в вводе и редактировании текстовых данных. Дополнительные функции состоят в автоматизации процессов ввода и редактирования. Для операций ввода, вывода и сохранения данных текстовые редакторы вызывают и используют системное программное обеспечение. Впрочем, это характерно и для всех прочих видов прикладных программ, и в дальнейшем мы не будем специально указывать на этот факт. С этого класса прикладных программ обычно начинают знакомство с программным обеспечением и на нем отрабатывают первичные навыки взаимодействия с компьютерной системой. (Например, редактор Лексикон) 2. Текстовые процессоры. Основное отличие текстовых процессоров от текстовых редакторов в том, что они позволяют не только вводить и редактировать текст, но и форматировать его, то есть оформлять. Соответственно, к основным средствам текстовых процессоров относятся средства обеспечения взаимодействия текста, графики, таблиц и других объектов, составляющих итоговый документ, а к дополнительным — средства автоматизации процесса форматирования. Наиболее популярный текстовый процессор – Microsoft Word. 3. Графические редакторы. Это обширный класс программ, предназначенных для создания и обработки графических изображений. Сюда следует отнести встроенный в Microsoft Office редактор Paint, а также графические редакторы Corel DRAW, Photoshop. 4. Системы управления базами данных. Базами данных называют огромные массивы данных, организованных в табличные структуры. Основными функциями систем управления базами данных являются: • создание пустой (незаполненной) структуры базы данных; • предоставление средств ее заполнения или импорта данных из таблиц другой базы; • обеспечение возможности доступа к данным, а также предоставление средств поиска и фильтрации. Многие системы управления базами данных (СУБД) дополнительно предоставляют возможности проведения простейшего анализа данных и их обработки. В результате возможно создание новых таблиц баз данных на основе имеющихся. В связи с широким распространением сетевых технологий к современным системам управления базами данных предъявляется также требование возможности работы с удаленными и распределенными ресурсами, находящимися на серверах всемирной компьютерной сети. Наиболее распространенными являются СУБД FoxPro, Paradox, Access. 5. Электронные таблицы. Электронные таблицы (ЭТ) предоставляют комплексные средства для хранения различных типов данных и их обработки. В некоторой степени они аналогичны системам управления базами данных, но основной акцент смещен не на хранение массивов данных и обеспечение к ним
35
доступа, а на преобразование данных, причем в соответствии с их внутренним содержанием. Наиболее распространены ЭТ Supercalc, Excel. 6. Системы автоматизированного проектирования (CAD-системы). Предназначены для автоматизации проектно-конструкторских работ. Применяются в машиностроении, приборостроении, архитектуре. Кроме чертежно-графических работ эти системы позволяют проводить простейшие расчеты (например, расчеты прочности деталей) и выбор готовых конструктивных элементов из обширных баз данных (система Autocad). 7. Экспертные системы. Предназначены для анализа данных, содержащихся в базах знаний, и выдачи рекомендаций по запросу пользователя. Такие системы применяют в тех случаях, когда исходные данные хорошо формализуются, но для принятия решения требуются обширные специальные знания. Характерными областями использования экспертных систем являются юриспруденция, медицина, фармакология, химия. По совокупности признаков заболевания медицинские экспертные системы помогают установить диагноз и назначить лекарства, дозировку и программу лечебного курса. По совокупности признаков события юридические экспертные системы могут дать правовую оценку и предложить порядок действий, как для обвиняющей стороны, так и для защищающейся. С использованием экспертных систем связана особая область научнотехнической деятельности, называемая инженерией знаний. Инженеры знаний — это специалисты особой квалификации, выступающие в качестве промежуточного звена между разработчиками экспертной системы (программистами) и ведущими специалистами в конкретных областях науки и техники (экспертами). Этапы разработки систем принятия решений (экспертных систем) рассмотрены в главе 11. 8. Редакторы HTML (Web-редакторы). Это особый класс редакторов, объединяющих в себе свойства текстовых и графических редакторов. Они предназначены для создания и редактирования так называемых Webдокументов (Web-страниц Интернета). Web-документы — это электронные документы, при подготовке которых следует учитывать ряд особенностей, связанных с приемом/передачей информации в международной компьютерной сети. Теоретически для создания Web-документов можно использовать обычные текстовые редакторы и процессоры, а также некоторые из графических редакторов векторной графики, но Web-редакторы обладают рядом полезных функций, повышающих производительность труда Web-дизайнеров. Программы этого класса можно также эффективно использовать для подготовки электронных документов и мультимедийных изданий.
36
3.3. Операционные системы компьютеров 3.3.1.Классификация операционных систем Первые ОС для персональных компьютеров относились к локальным ОС, так как они устанавливались на отдельных локальных компьютерах, организовывали работу одного конкретного ПК. К локальным ОС относились операционная система MS DOS, ранние версии ОS/2. В 90-е годы ХХ века практически все операционные системы, занимающие заметное место на рынке, стали сетевыми. Сетевые операционные системы позволяют не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими компьютерами сети. Любая сетевая операционная система, с одной стороны, выполняет все функции локальной операционной системы, а с другой стороны, обладает некоторыми дополнительными средствами, позволяющими ей взаимодействовать по сети с операционными системами других компьютеров. Программные модули, реализующие сетевые функции, появлялись в операционных системах постепенно, по мере развития сетевых технологий, аппаратной базы компьютеров и возникновения новых задач, требующих сетевой обработки. Сетевые ОС должны выполнять функции обычных ОС (доступ к диску, хранение файлов, использование памяти), а также функции защиты данных, размещенных на файловых серверах, от несанкционированного доступа и управлять правами пользователей. Сетевые функции сегодня встраиваются в ядро ОС, являясь ее неотъемлемой частью. Операционные системы получили средства для работы со всеми основными технологиями локальных сетей, а также средства для создания составных сетей. Особое внимание в течение всего последнего десятилетия уделялось корпоративным сетевым операционным системам. Их дальнейшее развитие представляет одну из более важных задач и в обозримом будущем. Корпоративная операционная система отличается способностью хорошо и устойчиво работать в крупных сетях, которые характерны для больших предприятий, имеющих отделения в десятках городов и, возможно, в разных странах. Поэтому корпоративная ОС должна без проблем взаимодействовать с операционными системами разных типов и работать на различных аппаратных платформах. К настоящему времени достаточно явно определилась тройка лидеров в классе корпоративных ОС: это Novell NetWare, Microsoft Windows NT и Windows 2000, Windows XP, а также UNIX - системы различных производителей аппаратных платформ. Операционные системы могут быть также классифицированы как клиентские и серверные системы. Серверные ОС устанавливаются на центральных компьютерах сети, называемых серверами, а клиентские ОС организуют работу рабочих станций.
37
Еще один способ классификации ОС – их разделение на однопользовательские и многопользовательские. Главное отличие последних - это наличие в многопользовательских системах средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. К однопользовательским ОС относятся ранние версии OS/2, Windows95, Windows 98, Windows Me. К многопользовательским ОС относятся UNIX, Windows NT, Windows 2000 Professional, Windows XP. Современным операционным системам присуща многоплатформенность, то есть способность работать на совершенно разных типах компьютеров. Исключением пока является ОС NetWare, все версии которой разработаны для платформы Intel. И, наконец, операционные системы могут быть классифицированы по количеству процессоров, которое поддерживает данная операционная система. Начиная с Windows 2000, ОС фирмы Microsoft являются многопроцессорными. 3.3.2. Краткая характеристика популярных операционных систем 1. Операционные системы семейства OS/2 OS/2 – семейство многозадачных операционных систем с графическим интерфейсом, есть версии для многопроцессорных машин. Файловая система OS/2 совместима с файловой системой FAT. OS/2создавалась для собственных нужд и задач фирмы IBM. Она использовалась IBM в качестве основы некоторого числа своих программных решений, таких, как комментаторские системы олимпийских игр, программное обеспечение для банков и т.д. Под нее практически не существует программного обеспечения, эта система мало распространена, система умирает. 2. Операционные системы семейства UNIX Начало UNIX датируют шестидесятыми годами. В 1969 году была написана вторая версия UNIX – многопользовательская и многозадачная операционная система. В течение 70-х годов исходные тексты UNIX распространялись практически свободно, лицензии на использование ОС раздавались по символическим ценам и вскоре UNIX стала весьма популярна в университетах и научно-исследовательских лабораториях. В настоящее время имеется несколько версий этой ОС. Все они являются многозадачными, многопользовательскими, с графическим интерфейсом, обеспечивают достаточную надежность и защиту данных, ставятся на разные аппаратные платформы (на ПК, на большие машины, т.е. на майнфреймы ЭВМ). Совокупная доля различных UNIX- систем занимает значительную долю на рынке серверных систем. Ввиду большой надежности системы UNIX она широко используется для организации работы глобальной сети Internet. 3. Операционные системы семейства Windows Платформы операционных систем Windows NT и Windows 2000 представляют собой операционные системы для использования на самых разнообразных компьютерах.
38
К платформе Windows NT относятся следующие ОС: • Windows NT Workstation; • Windows NT Workgroups; • Windows NT Server. К платформе Windows 2000 относятся следующие ОС: • Windows 2000 Professional; • Windows 2000 Server; • Windows 2000 Advansed Server; • Windows 2000 Datacenter Server. OC Windows NT Workstation и Windows 2000 Professional являются клиентскими операционными системами. Остальные ОС этих платформ являются операционными системами для серверов. В данном обзоре рассматриваются только клиентские ОС. Операционные системы Windows 95, Windows NT, Windows 98, Windows 2000 и Windows ХР по своей архитектуре являются 32-разрядными. ОС Windows 95, Windows 98 - это однопользовательские, однопроцессорные системы. Windows NT, Windows 2000 и Windows XP являются многопользовательскими ОС, поддерживающими работу более одного процессора. Все ОС семейства Windows являются многозадачными системами с графическими интерфейсом. Windows NT – это 32- разрядная операционная система, поддерживающая достаточно высокую степень безопасности (т.е. испортить данные или файлы очень сложно, программы друг другу не мешают работать). Безопасность также обеспечивается за счет того, что каждый пользователь может иметь свое имя и пароль для входа в систему. Кроме этого, безопасность обеспечивается на уровне файловой системы NTFS (для каждого файла можно указать права доступа к этому файлу). Windows NT поддерживает файловую структуру FAT и файловую систему NTFS (new technology file system). В отличие от ранних версий Windows (таких как Windows for Workgroups Windows 95), NT- это законченная операционная система, а не надстройка над операционной системой DOS. Microsoft Windows 98 - это обновленная ОС Windows 95, расширяющая функциональные возможности компьютера. Эта ОС имеет Web-совместимый интерфейс пользователя; поддерживает такие аппаратные средства, как шина USB и диски DVD, расширяет возможности для отображения рабочего пространства на нескольких мониторах благодаря возможности подключения к одному компьютеру нескольких мониторов и несколько графических адаптеров. В 2000 году появилась ОС Windows Millennium, которая стала развитием направления ОС Windows 95/98. Почти одновременно с ней появилась ОС Windows 2000, которая основывалась на технологии NT, при этом в ней сохранены все полезные возможности Windows 98.
39
ОС Windows 2000 позиционировалась как ОС для поддержки всего спектра вычислительной техники от портативных и настольных компьютеров до кластерных систем на серверах класса highend. Система Windows ХР создавалась на основе усовершенствованного кода Windows 2000, причем были разработаны различные версии для пользователей домашних компьютеров и бизнес-пользователей: Windows ХР Home Edition и Windows ХР Professional. Сохранив ядро Windows 2000,операционная система Windows ХР обрела новое внешнее оформление. Были объединены и упрощены типичные задачи, добавлены новые визуальные подсказки, помогающие пользователю в работе с компьютером. В Windows ХР появилась возможность применения несколькими пользователями, работающими на одном компьютере, функции быстрого переключения пользователей. Эта функция была разработана для применения в домашних условиях. Она позволяет каждому члену семьи работать с компьютером так, как если бы этот компьютер находился только в его распоряжении. При переключении не требуется, чтобы ранее работавший на компьютере пользователь выходил из системы, сохраняя открытые им файлы. К семейству Windows ХР относится и 64-разрядная операционная система Windows ХР 64-Bit Edition, предназначенная для специализированных технических рабочих станций, пользователям которых требуется высочайший уровень быстродействия и масштабируемости. Эта ОС разработана под 64разрядный процессор фирмы Intel. 3.3.3. Достоинства ОС семейства Windows Одним из достоинств ОС семейства Windows является поддержка технологии Plug & Play - стандарта аппаратной и программной архитектуры, делающего возможным распознавание устройств. Эта технология упрощает для пользователя подключение разных внешних устройств (сканеров, принтеров и т.д.) Еще одним достоинством этих ОС является их переносимость: за счет специальных модулей осуществляется связь ОС с разным аппаратным обеспечением. ОС семейства Windows реализуют метод многозадачности с вытеснением. Этот метод позволяет ОС захватывать процессор в любой момент времени, независимо от работающего приложения. Если приложение зависло, можно его снять. ОС семейства Windows поддерживают технологию OLE (Object Linking and Embedding) - связь и внедрение объектов. ОLE – стандарт, позволяющий создавать различные составные документы: в документ, созданный одним приложением, можно внедрять другие объекты или ссылаться на объекты, созданные другими приложениями. Например в документ, созданный средствами текстового редактора Word, можно вставить таблицу, созданную в приложении Excel.
40
3.3.4. Пользовательский интерфейс ОС Windows Основными понятиями интерфейса пользователя в ОС Windows являются: рабочий стол; папка; ярлык; приложение. Рабочий стол. На рабочем столе располагаются пиктограммы различных объектов (в основном это зависит от настройки ПК). Часть пиктограмм, расположенных на рабочем столе, являются обязательными. К ним относятся: Мой компьютер, Корзина, Сетевое окружение, Internet. Некоторые пиктограммы создаются пользователями данного компьютера для удобства работы. В нижней части рабочего стола (по умолчанию) находится Панель задач. Панель задач предназначена для отображения кнопок всех открытых окон, что позволяет быстро перейти от одного окна к другому. В левой части панели задач находится кнопка Пуск, которая раскрывает Главное меню Windows. Это меню содержит команды: Программы, Избранное, Документы, Настройка, Найти, Справка, Выполнить, Завершение работы. В правой части панели задач находятся различные индикаторы, например: индикатор даты, времени, регистра. Папка - это логическая емкость, в которой можно сгруппировать другие элементы (файлы, ярлыки, другие папки). Ярлык - это ссылка на какой-либо объект (как на физический, так и на логический). Ярлык может быть создан для папки, диска, программы и т.д. Ярлыки могут создаваться на рабочем столе или в любой папке. Если ярлыки создаются на рабочем столе, то храниться они будут в системной папке “Рабочий стол”. Ярлыки создаются для обеспечения быстрого доступа к объекту, на который ссылается этот ярлык. Приложение - это любой выполняемый файл, чаще всего программа, то есть файл с расширением ехе. Работа с файлами и папками в ОС Windows может осуществляться с помощью программы Проводник, которая запускается из пункта Программы в Главном меню Windows, или с использованием папки Мой компьютер. Содержимое папки Мой компьютер отображает физическую структуру компьютера, а окно программы Проводник – логическую структуру компьютера. В пункте меню Программы находится папка Стандартные, содержащая ссылки на программы, которые поставляются вместе с операционной системой (Блокнот, Paint Word и т.д). В этой папке также содержится ссылка на папку Служебные, в которую помещены ярлыки к различным сервисным программам ОС Windows.
41
3.4. Языки программирования 3.4.1. Машинный код процессора Процессор компьютера — это большая интегральная микросхема. Все команды и данные он получает в виде электрических сигналов. Их можно представить как совокупности нулей и единиц, то есть числами. Разным командам соответствуют разные числа. Поэтому реально программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом. 3.4.2. Алгоритм и программа Управлять компьютером нужно по определенному алгоритму. Алгоритм — это точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий. Такое описание еще называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы — полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы обрабатывается специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется. 3.4.3. Что такое язык программирования Самому написать программу в машинном коде весьма сложно, причем эта сложность резко возрастает с увеличением размера программы и трудоемкости решения нужной задачи. Условно можно считать, что машинный код приемлем, если размер программы не превышает нескольких десятков байтов, и нет потребности в операциях ручного ввода/вывода данных. Поэтому сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и средствами обычного, человеческого (естественного) языка — это называется программированием на метаязыке (подобный подход обычно используется на этапе составления алгоритма), но автоматически перевести такую программу в машинный код пока невозможно из-за высокой неоднозначности естественного языка. Языки программирования — искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов). Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка — его семантику. Нарушение формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке, а правильно написанное, но не отвечающее алгоритму использование команд языка приводит к семантическим ошибкам (называемым еще логическими ошибками или ошибками выполнения).
42
Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок — отладкой. 3.4.4. Компиляторы и интерпретаторы С помощью языка программирования создается не готовая программа, а только ее текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы-компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программыинтерпретаторы). Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет (обычно после анализа оператор транслируется в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения). Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые. Вследствие этого, программы, в которых требуется осуществить большой объем повторяющихся вычислений, могут работать медленно. Кроме того, для выполнения такой программы на другом компьютере там также должен быть установлен интерпретатор — ведь без него текст программы является просто набором символов. Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код. При этом создается новый файл с расширением .exe – готовый к выполнению. 3.4.5. Уровни языков программирования Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. В данном случае «низкий уровень» не значит «плохой». Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора. Языком самого низкого уровня является язык ассемблера, который просто представляет каждую команду машинного кода, но не в виде чисел, а с помощью символьных условных обозначений, называемых мнемониками. Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с
43
помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше. Наиболее используемые на сегодня языки программирования: Pascal (Паскаль). Язык Паскаль создан в конце 70-х годов ХХ века основоположником множества идей современного программирования Никлаусом Виртом и имеет возможности, позволяющие успешно применять его при создании крупных проектов. Современная версия языка Паскаль - Object Pascal - является основой широко используемой системы Delphi. Вasic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах ХХ века в качестве учебного языка и очень прост в изучении. Его современная модификация Visual Basic, совместимая с Microsoft office, имеет возможности, аналогичные языку Паскаль, и позволяет расширять возможности пакетов Excel и Access. С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке написано множество прикладных и системных программ и ряд известных операционных систем (Unix). В настоящее время наибольшее распространение получили версии С++ и Visual C.
1. 2. 3. 4. 5.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ В чем отличие системных и прикладных программ? Дайте определение понятию «Алгоритм». Что означает понятие «Язык программирования высокого уровня»? Дайте определение понятию «Машинный код». Чем различается работа интерпретаторов и компиляторов?
44
4. КОМПЬЮТЕРНЫЕ СЕТИ 4.1. Локальные и глобальные сети В настоящее время особо важное значение приобрела конфигурация вычислительной системы, построенная на использовании многих компьютеров, объединенных в сеть. При этом обеспечивается единое информационное пространство сразу для множества пользователей вычислительной системы, что особенно наглядно проявилось на примере всемирной компьютерной сети Internet. Компьютерной сетью называется совокупность компьютеров, взаимосвязанных через каналы передачи данных, обеспечивающая пользователей средствами обмена информацией и коллективного использования ресурсов сети: аппаратных, программных и информационных. Объединение компьютеров в сеть позволяет совместно использовать дорогостоящее оборудование – диски большой емкости, принтеры, модемы, оперативную память, иметь общие программные средства и данные. Компьютерные сети предоставляют возможность использовать аппаратные ресурсы удаленных компьютеров. Глобальные сети, охватывая миллионы людей, полностью изменили процесс распространения и восприятия информации, сделали обмен информацией через электронную почту самой распространенной услугой сети, а саму информацию – основным ресурсом человека. Основным назначением сети является обеспечение простого, удобного и надежного доступа пользователя к распределенным общесетевым ресурсам и организация их коллективного использования при надежной защите от несанкционированного доступа, а также обеспечение удобных и надежных средств передачи данных между пользователями сети. С помощью сетей эти проблемы решаются независимо от территориального расположения пользователей. Помимо сферы научной, деловой, образовательной, общественной и культурной жизни, компьютерные сети охватили и сделали доступным для миллионов людей новый вид отдыха и развлечений. Сеть превратилась в инструмент ежедневной работы и организации досуга людей самого разного круга. Компьютерная сеть образуется при физическом соединении двух компьютеров. Начало развития компьютерных сетей было положено в США, где в конце 60-х годов ХХ столетия была создана первая сеть национального масштаба, названная APRANET, расширение которой в последующем происходило за счет прямого соединения других компьютеров. Прямым соединением называется простейшее соединение двух компьютеров для обмена данными с помощью провода или кабеля. В общем случае, для создания компьютерной сети необходимо специальное аппаратное обеспечение (сетевое оборудование) и специальное программное обеспечение (сетевые программные средства).
45
Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости сетевого оборудования по электрическим и механическим характеристикам и совместимости информационного обеспечения (программ и данных) по системе кодирования и формату данных. Решение этой задачи относится к области стандартизации и основано на так называемой модели взаимодействия открытых систем OSI (Model of Open System Interconntctions). Она создана на основе технических предложений Международного института стандартов ISO (International Standards Organization).Согласно модели ISO/OSI архитектуру компьютерных сетей рекомендуется рассматривать на семи уровнях (от высшего к низшему): прикладном, представления, сеансовом, транспортном, сетевом, соединения, физическом. На прикладном уровне с помощью специальных приложений пользователь создает документ. На уровне представления операционная система компьютера пользователя фиксирует, где находятся созданные данные (в оперативной памяти, в файле на жестком диске и т.п.), и обеспечивает взаимодействие со следующим уровнем. На сеансовом уровне компьютер пользователя взаимодействует с локальной или глобальной сетью, т.е. проверяются права пользователя на “выход в эфир” и документ передается на транспортный уровень. На транспортном уровне документ преобразуется в форму, в которой положено передавать данные в используемой сети. Существует две формы передачи данных в сети: с коммутацией каналов и с коммутацией пакетов. Сетевой уровень определяет маршрут движения данных в сети. Уровень соединения необходим для того, чтобы промодулировать сигналы, циркулирующие на физическом уровне, в соответствии с данными, полученными с сетевого уровня. На физическом уровне происходит реальная передача данных. Обмен данными в сети происходит путем их перемещения на компьютере пользователя с верхнего уровня на нижний, затем транспортировки по каналу связи и, наконец, обратным воспроизведением на компьютере клиента в результате перемещения с нижнего уровня на верхний. Для обеспечения необходимой совместимости на каждом из семи возможных уровней архитектуры компьютерной сети действуют специальные стандарты, называемые протоколами. Они определяют характер аппаратного взаимодействия компонентов сети (аппаратные протоколы) и характер взаимодействия программ и данных (программные протоколы). Физически функции поддержки протоколов исполняют аппаратные устройства (интерфейсы) и программные средства (программы поддержки протоколов), которые также называются протоколами. В соответствии с используемыми протоколами компьютерные сети принято разделять на локальные (LAN-Lokal Area Network), региональные(MAN - Metropolitan Area Network) и глобальные (WAN - Wide Area Network) [1].
46
Локальная вычислительная сеть объединяет абонентов, расположенных в пределах небольшой территории (отдельных предприятий, фирм, банков, офисов и т.д.). Компьютеры локальной вычислительной сети преимущественно используют единый протокол документов для всех участников. Взаимодействие между компьютерами в такой сети осуществляется обычно прямым кабельным соединением. При этом для создания прямого соединения компьютеров, работающих под управлением операционной системы Windows, не требуется ни специального аппаратного, ни программного обеспечения. В этом случае аппаратными средствами являются стандартные порты ввода/вывода (последовательный или параллельный), а в качестве программного обеспечения используется стандартная программа, имеющаяся в составе операционной системы (Пуск – Программы – Стандартные - Связь - Прямое кабельное соединение). Региональная вычислительная сеть связывает абонентов, расположенных на значительном расстоянии друг от друга (десятки и сотни километров) внутри большого города, экономического района, отдельного региона, отдельной страны. Ее абонентами обычно являются как отдельные компьютеры, так и локальные сети, в том числе и использующие различные протоколы. Глобальные вычислительные сети объединяют абонентов, расположенных в различных странах, на различных континентах. Обычно в качестве абонентов выступают региональные вычислительные сети. Корпоративные сети являются тем примером, который не укладываются в систему классификации сетей по признаку их территориальной распределенности. Например, сеть банка или авиакомпании может связывать компьютеры как в соседних помещениях, так и расположенные на разных континентах. Корпоративная сеть обычно имеет свою особую систему кодирования и защиты информации, что исключает в ней свободный доступ, характерный для глобальных сетей. Корпоративную сеть иначе называют сетью Интранет. В настоящее время применительно к бизнес-приложениям бурно развиваются корпоративные сети, использующие технологию “тонкий клиент” (“thin client”). Этот термин отражает то обстоятельство, что в сети присутствует только один полноценный и достаточно мощный компьютер, а все остальные “тонкие клиенты”- это всего лишь автономные бездисковые устройства. Каждое из таких рабочих мест-клиентов представляет собой источник питания, к которому подключены устройства ввода (клавиатура, мышь, считыватель смарт-карт и т.д.) и устройства вывода информации (монитор, принтер, звуковые колонки). Вводимая информация через скоростной канал связи сразу попадает на мощный компьютер, где в многозадачном режиме обслуживается одновременно все “тонкие клиенты”. У каждого пользователя сети при этом возникает полная иллюзия работы за своим отдельным мощным компьютером. Такая сеть позволяет эффективно организовать и контролировать коллективную работу пользователей, надежно защищает данные от вирусов и несанкционированного доступа, наиболее экономична по суммарным затратам на оборудование. При необходимости можно наращивать мощность такой сети
47
путем модернизации всего лишь одного ее базового компьютера. Каналы связи в локальных и корпоративных сетях являются собственностью организации, и это серьезно упрощает их эксплуатацию. Функциональные возможности сети определяются теми услугами, которые она предоставляет пользователю. Для реализации каждой из услуг сети и доступа пользователя к этой услуге разрабатывается специальное программное обеспечение. Для обеспечения связи между этими сетями используются средства межсетевого взаимодействия, называемые мостами (Bridge) и маршрутизаторами (Router). В качестве моста и маршрутизатора могут использоваться компьютеры, в которых установлено по два или более сетевых адаптера. Каждый из адаптеров обеспечивает связь с одной из связываемых сетей. Мост или маршрутизатор получает пакеты, посылаемые компьютером одной сети компьютеру другой сети, переадресует их и отправляет по указанному адресу. Мосты, как правило, используются для связи сетей с одинаковыми коммуникационными системами, например для связи двух сетей Ethernet или двух сетей Arcnet. Маршрутизаторы связывают сети с разными коммуникационными системами, так как имеют средства преобразования пакетов одного формата в другой. Существуют мосты-маршрутизаторы (Brouter), объединяющие функции обоих средств. Для обеспечения связи сетей с различными компьютерными системами предназначены шлюзы (Gateway). Например в общей структуре корпоративной сети через шлюз локальная сеть может быть связана с мощным внешним компьютером. Взаимодействие между абонентами как региональных, так и глобальных сетей может осуществляться на базе телефонных линий связи, радиосвязи, систем спутниковой связи. Назначение всех видов компьютерных сетей определяется двумя функциями: • обеспечение совместного использования аппаратных и программных ресурсов сети; • обеспечение совместного доступа к ресурсам данных. Так, например, все участники локальной сети могут совместно использовать одно общее устройство печати (сетевой принтер) или ресурсы жестких дисков одного выделенного компьютера (файлового сервера). Это относится и к программному, и к информационному обеспечению. Если в сети имеется специальный компьютер, выделенный для совместного использования участниками сети, он называется файловым сервером. Компьютерные сети, в которых нет выделенного сервера, а все локальные компьютеры могут общаться друг с другом на “равных правах” (обычно это небольшие сети), называются одноранговыми.
48
4.2. Интернет. Основные понятия Интернет (Internet - межсеть) - это Всемирная компьютерная сеть, это несколько миллионов компьютеров, локальных, региональных и глобальных сетей, связанных друг с другом всевозможными линиями связи, что позволяет рассматривать Интернет как огромное информационное пространство. То есть Интернет не просто совокупность прямых соединений между компьютерами, это информационное пространство, внутри которого осуществляется непрерывная циркуляция данных. Так, например, если два компьютера, находящиеся на разных континентах, обмениваются данными в Интернете, это совсем не значит, что между ними действует одно прямое или виртуальное соединение. Данные, которые они посылают друг другу, разбиваются на пакеты, и даже в одном сеансе связи разные пакеты одного сообщения могут пройти разными маршрутами. Какими бы маршрутами ни двигались пакеты данных, они все равно достигнут пункта назначения и будут собраны вместе в цельный документ. Рождением Интернет принято считать 1983 год, когда был разработан и стандартизирован протокол связи TCP/IP, который понимают все клиенты Интернет, независимо от того, какие компьютеры (IBM, UNIX, Macintosh и др.) и какой язык они используется для внутренних целей. В современном понимании ТСР/IP не один, а два протокола, лежащих на разных уровнях. Это так называемый стек протоколов. Протокол TCP (Transmission Control Protocol) – протокол транспортного уровня. Он управляет тем, как происходит передача информации. Согласно протоколу ТСР отправляемая информация “нарезается” на небольшие пакеты, после чего каждый пакет маркируется таким образом, чтобы в нем были данные, необходимые для правильной сборки документа в конце пути, и пакеты рассылаются по Интернет. При этом разные пакеты двигаются по разным, не занятым в каждый данный момент времени на данном узловом сервере каналам с тем, чтобы потом согласно маркировке соединиться на компьютере получателя. Протокол IP (Internet Protokol) – адресный. Он принадлежит сетевому уровню и определяет, куда происходит передача. Его суть состоит в том, что у каждого компьютера – участника Интернет – должен быть свой уникальный адрес (IP-адрес). Без этого нельзя говорить о точной доставке ТСР-пакетов в нужное место. Для компьютера IP-адрес представляет собой 32-битовое число, т.е. занимает четыре байта, формат (класс) которого строго задан в зависимости от формата сети. Для человека IP-адрес представляет собой последовательность из четырех целых чисел (каждое в пределах 0 – 255), разделенных точками. Например, IP-адрес WWW-сервера корпорации Microsoft – 193.125.42.147. Поскольку один байт содержит до 256 различных значений, то теоретически с помощью четырех байтов можно выразить более четырех миллиардов уникальных IP-адресов. Когда говорят об использовании Интернет, то на самом деле речь идет не об Интернет в целом, а только об одной или нескольких из его многочисленных служб (информационных ресурсов).
49
Наиболее часто используемыми службами Интернет являются: - служба удаленного доступа Telnet, используемая обычно для проведения работ на более мощном компьютере, чем компьютер пользователя; - электронная почта E-Mail; - списки рассылки Mail List – служба, собирающая информацию по различным определенным темам и представляющая ее подписчикам в виде сообщений электронной почты; - телеконференции Usenet – сетевой форум, организованный для ведения дискуссий и обмена новостями; - служба Word Wide Web (WWW) – единое информационное пространство, состоящее из сотен миллионов электронных документов, хранящихся на WEBсерверах; - служба передачи файлов FTP (File Transfer Protokol); - служба имен доменов (DNS); - служба IRC (Internet Realy Chat), предназначенная для прямого общения пользователей в режиме реального времени; - служба унифицированных адресов ресурсов (URL); - служба ICQ, предназначенная для поиска сетевого IP-адреса пользователя, подключенного в данный момент к Интернет; - служба Gopher – средство для поиска текстовых и программных файлов на базе меню. Разные службы имеют разные протоколы, которые называются прикладными протоколами. Их соблюдение обеспечивается работой специальных программ. Таким образом, чтобы воспользоваться какой-то из служб Интернет, необходимо установить на компьютере программу, способную работать по протоколу данной службы. Такие программы называются клиентскими или просто клиентами. 4.3. Сетевое программное обеспечение Сетевое программное обеспечение предназначено для организации работ пользователя в сети и делится на общее, системное и специальное (рис. 4.1) Общее сетевое программное обеспечение включает в себя: - браузер – это программа просмотра Web- страницы; - HTML – редакторы, предназначены для создания Web-страниц; - графические средства Web – средства, предназначенные для оптимизации графических элементов Web-страниц; - машинные переводчики – программные средства, предназначенные для просмотра Web-страниц на различных языках; - антивирусные сетевые программы – программы, предназначенные для предотвращения попадания программных вирусов на компьютер пользователя или распространения его по локальной сети фирмы. Системное программное обеспечение включает в себя: - операционную систему – комплекс программ, обеспечивающих в условиях компьютерных сетей управление сетевыми ресурсами (программами, данными, устройствами, протоколами и т.д);
50
- сервисные программы – программы, которые расширяют возможности операционной системы, предоставляя пользователю и его программам набор дополнительных услуг; - систему технического обслуживания, которая облегчает диагностику, тестирование оборудования и поиск неисправностей в ПК. Сетевое программное обеспечение
Общее Браузеры HTML – редакторы Машинные переводчики
Системное
Сетевые операционные системы MS DOS
Специальное
Сервисные системы
Системы технического обслуживания
OS/2
Интерфейсные системы, оболочки ОС
Наладочные
UNIX
Утилиты
Диагностические
Windows 95 Windows NT Server Windows NT for Workgroup
Архиватор
Тестовые
Windows NT Windows 2000
Антивирусные сетевые программы
Рис. 4.1 4.4. Сетевая операционная система 4.4.1. Структура сетевой операционной системы В сетевой операционной системе выделяется несколько частей: • Средства управления локальными ресурсами рабочей станции. • Средства предоставления собственных ресурсов и услуг в общее пользование. • Коммуникационные средства операционной системы, с помощью которых происходит обмен сообщениями в сети.
51
4.4.2. Характеристика основных сетевых операционных систем NetWare Операционная система NetWare фирмы Novell ориентирована на локальную сеть ПЭВМ, совместимых с IBM PC. Это сетевая операционная система, ядро которой загружается на файловый сервер, является самостоятельной операционной системой. На рабочих станциях загружаются модули сетевой операционной системы, которые обеспечивают взаимодействие с ее ядром и обменом сообщениями с другими рабочими станциями. При этом на рабочих станциях могут быть использованы различные базовые операционные системы. Сетевая операционная система обеспечивает работу сети любой структуры: моноканальной, кольцевой, звездообразной и т.д. В настоящее время используют несколько версий сетевой операционной системы NetWare Novell. Windows95/98 Windows 95/98- сетевая операционная система локальной одноранговой сети (число компьютеров не превышает 10). Windows 95 является 32- разрядной многозадачной и многопоточной системой с приоритетами. Операционная система предоставляет разнообразные средства для распределенной обработки данных. Microsoft Windows NT WS/Server 4.0 Microsoft Windows NT WS/Server 4.0 является уникальной мощной операционной системой. Windows NT идеально приспособлена для работы в качестве рабочей станции и сетевого сервера, где требуется повышенная устойчивость и высокая производительность. Windows 2000 Windows 2000 поставляется в трех вариантах: 1. Windows 2000 Professional. 2. Server. 3. Windows 2000 Advanced Server. Особенности Windows 2000 Windows 2000 Professional обеспечивает поддержку средств управления энергопотреблением для мобильных систем и обладает улучшенным пользовательским интерфейсом, благодаря которому она является самой простой в использовании из всех когда-либо выпущенных версий Windows. В Windows 2000 используется новая файловая система, носящая название NTFS5. Основная отличительная черта данной файловой системы – автоматическое «фоновое» шифрование данных. Все современные операционные системы Microsoft – WindowsNT 4.0, Windows 95, Windows 98, Windows 2000 – поддерживают так называемые профили пользователя. Профиль представляет собой набор данных, полностью описывающих текущую рабочую среду пользователя. С каждым пользователем ассоциирован собственный профиль, что позволяет ему получать при работе с системой ту конфигурацию рабочей среды, которая соответствует специфике именно его деятельности, вне зависимости от других пользователей, рабочих за тем же компьютером в другое время.
52
1. 2. 3. 4. 5.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ Чем отличается прямое соединение компьютеров от сетевого? Назовите формы передачи информации в сети. Что из себя представляет программный сетевой протокол? Укажите отличие глобальной компьютерной сети от локальной. Перечислите основные службы сети Интернет.
53
5. ЗАЩИТА И РЕЗЕРВИРОВАНИЕ ИНФОРМАЦИИ 5.1. Понятие о компьютерной безопасности В вычислительной технике понятие безопасности является весьма широким. Оно подразумевает и надежность работы компьютера, и сохранность ценных данных, и защиту информации от внесения в нее изменений неуполномоченными лицами, и сохранение тайны переписки в электронной связи. Разумеется, во всех цивилизованных странах на страже безопасности граждан стоят законы, но в сфере вычислительной техники правоприменительная практика пока развита недостаточно, а законотворческий процесс не успевает за развитием технологий, поэтому надежность работы компьютерных систем во многом опирается на меры самозащиты. 5.2. Компьютерные вирусы Компьютерный вирус — это программный код, встроенный в другую программу или в документ, или в определенные области носителя данных и предназначенный для выполнения несанкционированных действий на несущем компьютере. Основными типами компьютерных вирусов являются: • программные вирусы; • загрузочные вирусы; • макровирусы. К компьютерным вирусам примыкают и так называемые троянские кони (троянские программы, троянцы). Программные вирусы. Программные вирусы — это блоки программного кода, целенаправленно внедренные внутрь других прикладных программ. При запуске программы, несущей вирус, происходит запуск имплантированного в нее вирусного кода. Работа этого кода вызывает скрытые от пользователя изменения в файловой системе жестких дисков и/или в содержании других программ. Так, например, вирусный код может воспроизводить себя в теле других программ — этот процесс называется размножением. По прошествии определенного времени, создав достаточное количество копий, программный вирус может перейти к разрушительным действиям - нарушению работы программ и операционной системы, удалению информации, хранящейся на жестком диске. Этот процесс называется вирусной атакой. Самые разрушительные вирусы могут инициировать переформатирование жестких дисков. Загрузочные вирусы. От программных вирусов загрузочные вирусы отличаются методом распространения. Они поражают не программные файлы, а определенные системные области магнитных носителей (гибких и жестких дисков). Кроме того, на включенном компьютере они могут временно располагаться в оперативной памяти. Обычно заражение происходит при попытке загрузки компьютера с магнитного носителя, системная область которого содержит загрузочный
54
вирус. Так, например, при попытке загрузить компьютер с гибкого диска происходит сначала проникновение вируса в оперативную память, а затем в загрузочный сектор жестких дисков. Далее этот компьютер сам становится источником распространения загрузочного вируса Макровирусы. Эта особая разновидность вирусов поражает документы, выполненные в некоторых прикладных программах, имеющих средства для исполнения так называемых макрокоманд. В частности, к таким документам относятся документы текстового процессора Microsoft Word (они имеют расширение .DOC). Заражение происходит при открытии файла документа в окне программы, если в ней не отключена возможность исполнения макрокоманд. Как и для других типов вирусов, результат атаки может быть как относительно безобидным, так и разрушительным. 5.3. Методы защиты от компьютерных вирусов Существуют три метода реализации защиты: • программные методы защиты; • аппаратные методы защиты; • организационные методы защиты. Основным средством защиты информации является резервное копирование наиболее ценных данных. В случае утраты информации по любой из вышеперечисленных причин жесткие диски переформатируют и подготавливают к новой эксплуатации. На «чистый» отформатированный диск устанавливают операционную систему с дистрибутивного (дублирующего компакт-диска, затем под ее управлением устанавливают все необходимое программное обеспечение, которое тоже берут с дистрибутивных носителей. Восстановление компьютера завершается восстановлением данных, которые берут с резервных носителей При резервировании данных следует также иметь в виду и то, что надо отдельно сохранять все регистрационные и парольные данные для доступа к сетевым службам Интернета. Их не следует хранить на компьютере. Обычное место хранения — служебный дневник в сейфе руководителя подразделения. Создавая план мероприятий по резервному копированию информации, необходимо учитывать, что резервные копии должны храниться отдельно от компьютера. То есть, например, резервирование информации на отдельном жестком диске того же компьютера только создает иллюзию безопасности. Относительно новым и достаточно надежным приемом хранения ценных, но неконфиденциальных данных является их хранение в Web-папках на удаленных серверах в Интернете. Есть службы, бесплатно предоставляющие пространство (до нескольких Мбайт) для хранения данных пользователя. Резервные копии конфиденциальных данных сохраняют на внешних носителях, которые хранят в сейфах, желательно в отдельных помещениях. При разработке организационного плана резервного копирования учитывают необходимость создания не менее двух резервных копий, сохраняемых в разных местах. Между копиями осуществляют ротацию. Например в течение
55
недели ежедневно копируют данные на носители резервного комплекта А, а через неделю их заменяют комплектом Б, и т. д. Вспомогательными средствами защиты информации являются антивирусные программы и средства аппаратной защиты. Так, например, простое отключение перемычки на материнской плате не позволит осуществить стирание перепрограммируемой микросхемы ПЗУ (флэш-BIOS), независимо от того, кто будет пытаться это сделать: компьютерный вирус, злоумышленник или неаккуратный пользователь. Существует достаточно много программных средств антивирусной защиты. Они предоставляют следующие возможности. 1. Создание образа жесткого диска на внешних носителях (например, на гибких дисках) – то есть копирование всей информации с жесткого диска на дискеты. 2. Регулярное сканирование (просмотр) жестких дисков в поисках компьютерных вирусов. Сканирование обычно выполняется автоматически при каждом включении компьютера и при размещении внешнего диска в считывающем устройстве. При сканировании следует иметь в виду, что антивирусная программа ищет вирус путем сравнения кода программ с кодами известных ей вирусов, хранящимися в базе данных. Если база данных устарела, а вирус является новым, сканирующая программа его не обнаружит. Для надежной работы следует регулярно обновлять антивирусную программу. Желательная периодичность обновления — один раз в две недели; допустимая — один раз в три месяца. Для примера укажем, что разрушительные последствия атаки вируса W95.CIH.1075 («Чернобыль»), вызвавшего уничтожение информации на сотнях тысяч компьютеров 26 апреля 1999 года, были связаны не с отсутствием средств защиты от него, а с длительной задержкой (более года) в обновлении этих средств. 3. Контроль за изменением размеров и других атрибутов файлов. Поскольку некоторые компьютерные вирусы на этапе размножения изменяют параметры зараженных файлов, контролирующая программа может обнаружить их деятельность и предупредить пользователя. 4. Обязательная проверка новых носителей и программ. 5. Контроль за обращениями к жесткому диску. Поскольку наиболее опасные операции, связанные с работой компьютерных вирусов, так или иначе обращены на модификацию данных, записанных на жестком диске, антивирусные программы могут контролировать обращения к нему и предупреждать пользователя о подозрительной активности. 5.4. Резервирование (сжатие) данных Характерной особенностью большинства «классических» типов данных, с которыми традиционно работают люди, является определенная избыточность. Степень избыточности зависит от типа данных. Например, у видеоданных степень избыточности обычно в несколько раз больше, чем у графических данных, а степень избыточности графических данных в несколько раз больше, чем текстовых. Кроме того, степень избыточности данных зависит от принятой
56
системы кодирования. Так, например, можно сказать, что кодирование текстовой информации средствами русского языка (с использованием русской азбуки) дает в среднем избыточность на 20-30% больше, чем кодирование адекватной информации средствами английского языка. Для человека избыточность информации нередко связана с представлением о ее качестве, поскольку избыточность, как правило, улучшает восприятие, особенно в неблагоприятных условиях (просмотр телепередач при наличии помех, восстановление поврежденного графического материала, чтение текстов в условиях недостаточной освещенности и т. п.). Однако, когда речь заходит не об обработке, а о хранении готовых документов или их передаче, то избыточность следует уменьшить (это дает эффект сжатия данных). Если методы сжатия информации применяют к готовым документам, то нередко термин сжатие данных подменяют термином архивация данных, а программные средства, выполняющие эти операции, называют архиваторами. В зависимости от того, в каком объекте размещены данные, подвергаемые сжатию, различают: • уплотнение (архивацию) файлов; • уплотнение (архивацию) папок; • уплотнение дисков. Уплотнение файлов применяют для уменьшения их размеров при подготовке к передаче по каналам электронных сетей или к транспортировке на внешнем носителе малой емкости, например на гибком диске. Уплотнение папок используют как средство архивации данных перед длительным хранением, в частности, при резервном копировании. Уплотнение дисков служит целям повышения эффективности использования их рабочего пространства и, как правило, применяется к дискам, имеющим недостаточную емкость. 5.5. Обратимость сжатия Несмотря на изобилие алгоритмов сжатия данных, теоретически есть только три способа уменьшения их избыточности. Это либо изменение содержания данных, либо изменение их структуры, либо и то и другое вместе. Если при сжатии данных происходит изменение их содержания, метод сжатия необратим и при восстановлении данных из сжатого файла не происходит полного восстановления исходной последовательности. Такие методы называют также методами сжатия с регулируемой потерей информации. Они применимы только для тех типов данных, для которых формальная утрата части содержания не приводит к значительному снижению потребительских свойств. В первую очередь, это относится к мультимедийным данным: видеорядам, музыкальным записям, звукозаписям и рисункам. Методы сжатия с потерей информации обычно обеспечивают гораздо более высокую степень сжатия, чем обратимые методы, но их нельзя применять к текстовым документам, базам данных и, тем более, к программному коду. Характерными форматами сжатия с потерей информации являются:
57
• JPG - для графических данных; • MPG - для видеоданных; • МРЗ - для звуковых данных. Если при сжатии данных происходит только изменение их структуры, то метод сжатия обратим. Из результирующего кода можно восстановить исходный массив путем применения обратного метода. Обратимые методы применяют для сжатия любых типов данных. Характерными форматами сжатия без потери информации являются: • .GIF, .TIF, .PCX и многие другие для графических данных; • .AVI для видеоданных; • .ZIP, .ARJ, .RAR, .LZH, .LH, .CAB и многие другие для любых типов данных. «Классическими» форматами сжатия данных, широко используемыми в повседневной работе с компьютером, являются форматы .ZIP и .ARJ. В последнее время к ним добавился популярный формат .RAR. Программные средства, предназначенные для создания и обслуживания архивов, выполненных в данных форматах, приведены в табл.5.1. Таблица 5.1 Операционная система MS-DOS Windows 9х
Формат сжатия .ZIP .RAR .ARJ .ZIP .RAR .ARJ
Средство разархивирования PKUNZIP.EXE UNRAR.EXE ARJ.EXE WinZip WinRAR WinArj
Средство архивации PKZIP.EXE RAR.EXE
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. Что такое компьютерный вирус? 2. Перечислите методы защиты от вирусов. 3. Дайте определение понятию архивация данных. 4. Назовите одну из программ архивации данных.
58
6. ТЕКСТОВЫЕ ПРОЦЕССОРЫ 6.1. Основные сведения о программах обработки текста Программы для работы с текстами можно разделить на простые текстовые процессоры, мощные текстовые процессоры, издательские системы. Правильный выбор приложения, необходимого для работы, зависит от многих критериев. Здесь следует учитывать квалификацию пользователя, конфигурацию компьютера, сложность обрабатываемых документов. Более простые текстовые процессоры поставляются, как правило, бесплатно. К ним можно отнести Эверест, Word Wright, MS Works, Лексикон для Windows, PS Text. Мощными текстовым процессорами, полностью удовлетворяющими требованиям работы со сложными документами на русском языке, являются MS Word, Lotus Word Pro и Corel Word Perfect. Для подготовки к печати и верстке сложного по структуре документа, вставки рисунков, оформления текста разным шрифтами и многого другого используется два вида издательских систем Aldus PageMaker и Ventura Publisher. Простые текстовые процессоры при обработке текста выполняют следующие основные функции: создание текстовых файлов, просмотр и редактирование текста, поиск, перемещение по тексту, разбиение на страницы и нумерация страниц и так далее. Примером простого текстового процессора является стандартное приложение Windows WordPad. Мощные текстовые процессоры позволяют создать сложные документы, состоящие из разделов, глав, параграфов и т.п. и включающие объекты, созданные в других приложениях (электронные таблицы, диаграммы, фрагменты баз данных, рисунки и т.д.); вести коллективную обработку документов, эффективно обмениваться информацией в сетях. Они выполняют и более сложные функции: - создание бланков и шаблонов, серийных писем и документов; - многоколонное размещение текста на странице; - работа с таблицами; - использование готовых или созданных пользователем стилей оформления; - автозамену при наборе сокращения на целое слово или даже предложение; - оформление текста разнообразными линиями и рамками, выполнение обтекания текстом вставленных картинок или таблиц; - создание сносок и примечаний, оглавлений, указателей схем; - проверка орфографии и грамматики, стиля изложения, расстановка переносов; - возможность создания Web-страницы и многое другое. Сегодня самым популярным текстовым процессором считается Microsoft Word 2002. Ему предшествовали версии Word 6.0, Word 95, 97, 2000. Используются WordPerfect и последние версии отечественного текстового процессора Лексикон.
59
Издательские системы или программы верстки используются издателями – профессионалами для компьютерной верстки и создания макетов изданий от рекламных листов до многостраничных книг, журналов и газет. Подготовленные с их помощью макеты отвечают самым строгим полиграфическим требованиям. К издательским системам относятся Aldus Page Maker, Ventura Publisher и другие. 6.2. Рабочая область Word При запуске Word открывается новый документ. На рис. 6.1 представлено окно Word с его основными компонентами. Настройку окна можно менять. Обычно в окне Word присутствуют панели инструментов Стандартная и Форматирование. Если недоступны горизонтальная или вертикальная полосы прокрутки, отсутствует строка состояния или_не появляется всплывающая подсказка, следует выполнить команду Сервис/Параметры и на вкладке Вид установить флажок у соответствующего параметра.
Рис. 6.1 Строка состояния предоставляет информацию о работе программы, то есть местоположение курсора или активность (включение) программного режима. Слева направо в строке состояния отражается информация, приведенная в табл. 6.1.
60
Таблица 6.1 Зона Местоположения курсора
Программные режимы Спец. операция
Обозначение Стр… Разд… …/… На..см Ст… Кол… ЗАП ИСПР ВДЛ ЗАМ Русский (Россия)
Значение Номер страницы текста, на которой находится курсор Раздел текста, в котором находится курсор Текущая страница/ Общее число страниц документа Расстояние от верха страницы в см (или пунктах) Номер строки на текущей странице Место положение курсора в строке (количество символов от начала строки) Запись макроса Внесение исправлений (редактирование документа) Выделение текста Замещение текста при вводе Переключение с одного языка на другой
6.3. Справочная система Word В Word и в каждом приложении Microsoft Office предусмотрена возможность быстрого получения справки обо всех элементах рабочего окна. Для получения справки можно использовать Справку (F1). При нажатии клавиши F1 на экране появится окно, в котором можно ввести свой вопрос или выбрать тему из списка, чтобы получить перечень вопросов по этой теме. При вызове справки основное окно документа уменьшается в размерах, а оставшаяся часть экрана занята окном справки. При закрытии справки окно документа восстанавливает свои первоначальные размеры. В тексте справки в пределах вызванной темы даны гиперссылки – подчеркнутые и выделенные цветом отдельные слова или фразы в тексте. При установке на гиперссылку курсор приобретает вид «указательный палец». Перейти к тексту гиперссылки можно одинарным щелчком левой кнопки мыши. Чтобы получить доступ к любой другой теме, следует щелкнуть по кнопке Показать на инструментальной панели в верхней части окна справочной системы. После чего получаем доступ к Содержанию помощи. Чтобы вернуть все в исходное состояние, достаточно щелкнуть еще раз по этой же кнопке, но теперь она уже называется Скрыть. При поиске нужного раздела справки можно использовать Мастер вопросов, который поможет локализовать поиск, и контекстное меню, вызываемое правой клавишей мыши. 6.4. Ввод и редактирование документа Создание нового документа После запуска программы Word появляется окно с именем Документ 1. На экране отображается пустой документ, созданный на основе шаблона NORMAL.DOT. Он содержит символ конца файла и символ конца абзаца (в режиме отображения непечатаемых символов). Вводимый текст
61
рассматривается Word как новый документ, которому необходимо присвоить адрес (место хранения) и имя. Ввод текста При вводе текста Word осуществляет автоматический переход на следующую строку. Принудительный перевод на новую строку, не прерывая абзаца, выполняется с помощью клавиш Shift+ Enter . Новый абзац начинается после нажатия клавиши Enter. В пределах абзаца нет необходимости нажимать на специальные клавиши. Клавиша Tab переводит курсор в следующую позицию табуляции горизонтальной линейки, установленную с фиксированным интервалом, который может меняться. Выделение фрагмента текста При выполнении команд редактирования текста и многих других операций Word необходимо выделить подлежащий обработке фрагмент документа. Выделение фрагмента можно осуществить мышью или клавишами. С помощью мыши можно выделить: Фрагмент текста – самый простой способ: установив указатель мыши в начало фрагмента, нажать кнопку и, не отпуская ее, протянуть курсор до конца фрагмента. Слово - двойной щелчок в любом месте слова. Строка - один щелчок слева от этой строки (курсор должен принять вид стрелки). Предложение – нажать клавишу Ctrl и, не отпуская ее, щелкнуть левой кнопкой в любом месте предложения. Абзац - тройной щелчок в любом месте абзаца. Часть текста – щелкнуть на первом слове, нажать клавишу Shift и, удерживая ее, щелкнуть в конце последнего слова. Весь документ – тройной щелчок в зоне левого поля документа (курсор должен принять вид стрелки). Буфер обмена Буфер обмена – это область памяти, доступная всем приложениям Windows, в которой временно хранятся скопированные или вырезанные данные. Фрагменты, помещенные в буфер, можно многократно копировать в разные приложения, до тех пор, пока буфер не будет очищен. При выполнении команд Копировать и Вырезать (кнопки на стандартной панели) выделенные фрагменты попадают в Буфер обмена. При копировании фрагмент сохраняется, а при вырезании удаляется из текста. Расширенный буфер обмена – это новое средство, появившееся еще в Microsoft Office 2000. Теперь в него можно поместить до 24 фрагментов из разных документов или приложений. Эти фрагменты (элементы) не зависят друг от друга и их можно помещать в документ в любой последовательности. При выполнении команд Правка - Копировать, Правка - Вырезать или использовании кнопок Копировать или Вырезать на панели инструментов копируемые фрагменты помещаются в буфер обмена.
62
Вызов на экран буфера обмена осуществляется командой Правка/Буфер обмена Office. Справа на экране открывается Буфера обмена. Для вставки любого фрагмента из буфера следует установить курсор в соответствующее место документа и щелкнуть по выбранному фрагменту. Панель инструментов буфера обмена имеет кнопки Вставить все, Очистить все. С помощью кнопки Вставить все можно вставить последовательно все фрагменты из буфера в указанное место документа. С помощью кнопки Очистить все очищается весь буфер. 6.5. Форматирование документа Используя средства форматирования Word, можно создать новый документ любой структуры с удобным для восприятия внешним оформлением. Меню Формат и кнопки панели Форматирование (рис.6.1) позволяют менять оформление всего документа или отдельных его частей. Форматирование страницы Определяется размером листа бумаги, величиной полей, книжной или альбомной ориентацией, верхним и нижним колонтитулами, расположением сносок и задается с помощью команды Файл - Параметры страницы. Открывается окно с вкладками: Поля, Размер бумаги, Источник бумаги. Вкладка Размер бумаги устанавливает размер бумаги - стандартной А4 (ширина 21 см., высота 29,7 см.) или другой размер из списка. На вкладке Поля задаются размеры полей, а также ориентация страницы Книжная или Альбомная. Список Применить определяет, к какой части документа будут применяться установленные параметры (К текущему разделу, К выделенным разделам, До конца документа, К выделенному тексту, Ко всему документу). Список Нескольких страниц служит для оформления разворотов (левая и правая страницы). Элемент этого списка Зеркальные поля реализует разворот на двух различных листах, а элемент 2 страницы на листе – на одном листе. Разворот позволяет задать различное расположение номеров для левых и правых страниц. Для размещения номеров страниц, названий разделов, глав и параграфов документа предназначены Верхний и Нижний колонтитулы. Вкладка Источник бумаги содержит дополнительные возможности. Открыв список Начать раздел, можно выбрать варианты начала раздела: На текущий странице, С новой колонки, Со следующей страницы, С четной страницы, С нечетной страницы. Команда Различать колонтитулы позволит задавать разные колонтитулы на четных и нечетных страницах. Если поставить флажок на позиции «Первой страницы», то колонтитул на первой странице выводиться не будет. Вертикальное выравнивание – из списка можно выбрать разные варианты заполнения листа (По верхнему краю, По центру, По ширине, По нижнему краю). Кнопка Нумерация строк на этой вкладке используется в некоторых юридических документах и при наборе программных текстов. На всех вкладках диалогового окна Параметры страницы внизу слева присутствует кнопка По умолчанию. При нажатии этой кнопки Word
63
запоминает все сделанные установки. В дальнейшем редактор будет использовать именно их для всех вновь создаваемых документов. Поэтому не следует нажимать эту кнопку случайно. Форматирование документа, кроме формата страницы, включает форматы абзаца, символа и раздела. Форматирование абзаца Абзац в Word создается нажатием на клавишу Enter. При этом ставится маркер абзаца ¶. При нажатой кнопке Непечатаемые знаки, которая находится на стандартной панели инструментов, можно видеть, что абзац – это область текста, заключенная между двумя соседними маркерами абзаца. Новый абзац создается после следующего нажатия клавиши Enter и наследует формат предыдущего, то есть все предыдущее установки сохраняются. Если при оформлении документа нужно акцентировать какую-то часть текста, можно заменить ее форматирование. Форматирование абзаца выполняется командой Формат - Абзац. Для изменения внешнего вида документа используются различные приемы форматирования, можно использовать библиотеку стилей или непосредственное форматирование абзацев. Стили абзаца включают набор атрибутов форматирования самого абзаца и входящих в него символов. Все элементы форматирования, входящие в стиль абзаца, разделены на шесть категорий и представлены в табл. 6.2. Таблица 6.2 Категория Основные элементы форматирования Шрифт, интервал Название шрифта, его размер, начертание (полужирное, и анимация курсив, подчеркивание), цвет, интервалы между символами и эффекты анимации Язык Определяет, словарь какого языка будет использовать Word для проверки орфографии и грамматики текста Отступ, интервал и Отступ, интервал перед и после абзаца, внутри абзаца, разрыв страницы выравнивание (по левому или правому краю, по центру или по ширине), уровень структуры и разрывы страницы Табуляция Расположение и тип позиций табуляции внутри абзаца Обрамление и Обрамление вокруг текста и цвет фона заливка Список Автоматически расставляемые маркеры или нумерация абзацев в списках Формат символа определяет внешний вид отдельных символов или фрагментов текста (вид шрифта, размер, начертание и др.). Форматирование символов выполняется с помощью команды Формат - Шрифт. Следующий вводимый символ наследует форматирование предыдущего. Формат раздела используется при создании документа со страницами разных форматов в отдельных разделах. Документ разбивается на разделы с помощью команды Вставка - Разрыв.
64
6.6. Шрифты Шрифты - это набор символов определенного рисунка и размера. Текст можно выделить, изменив цвет шрифта или цвет фона. Фрагменты текста, которые заслуживают особенного внимания, можно также выделить цветом. Шрифт объединяют в Гарнитуры, которые имеют типовые оформления шрифта, отличающие его от других. Например, гарнитура Arial включает шрифты Arial, Arial Black, Arial Narrow и ряд других. Начертание – один из вариантов шрифта в гарнитуре. Начертание шрифтов включает в себя насыщенность, наклон, пропорциональность и кегль, определяющий вертикальный размер шрифта в пунктах с учетом надстрочных и подстрочных элементов. Команда Формат - Шрифт вызывает диалоговое окно Шрифт. Во вкладке Шрифт задаются вид шрифта, его начертание, размер, цвет текста, подчеркивание и разные эффекты (Видоизменение). Вкладка Интервал содержит возможности, позволяющие получить выразительные эффекты шрифтового оформления. Межсимвольный Интервал выбирается из списка (Обычный, Разреженный, Уплотненный). По умолчанию для разреженного и уплотненного интервала указан 1пт (пункт). Это означает, что межсимвольный интервал увеличивается или уменьшается на 1 пт по сравнению с обычным начертанием шрифта. Но это значение можно менять произвольно. Вот пример, как выглядит Разреженный интервал на 3 пункта. Смещение выбирается из списка: Нет, Вверх, Вниз. В результате смещения Смещение Вверх на 3 пункта получим текст: Нет смещения Смещение Вниз на 3 пункта Кернинг – регулировка расстояния в пунктах между заданными парами соседних символов в строке. Вкладка Анимация позволяет создать эффекты оформления только для электронной формы документов. Все операции со шрифтами касаются только выделенного фрагмента текста, символа или, если выделение не было сделано, распространяются на слово, на котором стоит текстовый курсор. 6.7. Использование стилей По умолчанию всем абзацам присваивается стиль Обычный. В шаблоне Обычный формат этого стиля включает шрифт Times New Roman, размер 12 пунктов, одинарный межстрочный интервал и выравнивание по левому краю. Любой из этих элементов может быть изменен. Чтобы применить другой стиль к одному или нескольким абзацам, необходимо: - поместить курсор в абзац или выделить несколько абзацев; - выполнить команду Формат - Стиль. Если название нужного стиля известно, его можно выбрать из списка Стиль на панели инструментов Форматирование (рис. 6.2) или ввести название стиля в поле в верхней части этого списка.
65
Рис. 6.2
В списке показаны только те стили, которые в настоящий момент используются в документе или были предварительно выделены. Чтобы в списке появились все доступные стили, надо держать нажатой клавишу Shift и щелкнуть на стрелке рядом с полем Стиль. Если нажать в конце абзаца клавишу Enter, к новому абзацу применяется тот же стиль, что и к предыдущему. Однако, например, если нажать Enter в конце абзаца, имеющего стиль Заголовок 1, новый абзац будет иметь стиль Обычный.
Если стандартный стиль не подходит для какого- либо типа абзацев, можно изменить существующий стиль или создать новый. Для этого используется команда Формат - Абзац. При непосредственном форматировании абзаца в диалоговом окне Абзац во вкладках Отпускные и Интервалы для него создаются: - выравнивание текста относительно страницы; - отступы от правого и левого полей; - вид красной строки; - интервал между абзацами; - междустрочный интервал; - положение абзаца на странице; - параметры разрыва страницы; - табуляция; - маркеры и нумерация; - обрамления и заливка. 6.8. Табуляция текста Для размещения текста в документе используются позиции табуляции. С их помощью текст можно выровнять по левому или по правому краю и по центру. Числа можно выравнивать по десятичному разделителю. По умолчанию позиции табуляции установлены через каждые 1,27 см (0,5 дюйма). Нажатие клавиши Tab перемещает курсор в текущем абзаце к следующей позиции табуляции. В диалоговом окне Абзац на вкладке Положение на странице есть кнопка Табуляция. При нажатии на нее открывается диалог Табуляция (рис. 6.3). Этот же диалог вызывается командой Формат - Табуляция. В диалоговом окне можно задать позицию табуляции, то есть расстояние, на которое сместится курсор при нажатии клавиши Tab. В зависимости от этого значения Word разобьет всю установленную длину строки на отрезки, равные установленной
66
Рис.6.3 длине табуляции. При этом каждое нажатие клавиши Tab будет переводить текстовый курсор на следующую позицию табуляции. То есть с помощью табуляции можно быстро разместить в документе текст по колонкам. 6.9. Шаблоны документов При создании нового документа процессор Word использует шаблон. Использование шаблонов экономит время при создании документов. Шаблон – это файл с расширением .dot, который поставляется вместе с Word (встроенный) или создается пользователем. По стилю оформления встроенные шаблоны делятся на три категории – стандартные, современные, изысканные. Команда Файл - Создать открывает диалоговое окно Шаблон, вкладки которого соответствуют типам встроенных шаблонов: Общие, Письма и факсы, Записки, Отчеты, Публикации, Другие документы, Web-страницы, Слияние. Встроенные шаблоны с расширением .dot хранятся в папке Application Data/ Microsoft/ Templates, вложенной в папку, в которой установлен Microsoft Office. Для хранения шаблонов, созданных пользователем в личной папке, следует изменить установки: 1) Выполнить команды Сервер/Параметры. 2) В диалоговом окне Параметры, вкладка Расположение, выделить тип файлов шаблоны пользователей и нажать кнопку Изменить. 3) В появившемся диалоговом окне указать расположение (адрес) личной папки, в которой будут храниться шаблоны. Встроенные шаблоны можно изменить, то есть создавать на их основе свои. Некоторые из шаблонов являются Мастерами. Они представляют последовательность диалоговых окон и помогают создавать документы в режиме ответа на вопросы. Шаблоны используются для создания электронных форм с полями ввода, раскрывающимися списками и флажками.
67
Открываются шаблоны с помощью команды Файл - Создать, тип файла – Шаблон документа. 6.10. Электронные формы Для заполнения типовых документов прежде использовались заранее подготовленные типографские бланки. Теперь, применяя средства Word, можно подготовить и хранить шаблоны форм, готовые для заполнения. Форма - документ со специальными областями, называемыми полями формы, предназначенными для ввода данных. Различают формы печатные и электронные. Печатные формы - это привычные бумажные документы. Электронные формы передаются через электронную почту или по сети. В форме различают следующие виды полей: поля для ввода данных, поля со списком для выбора значений и флажки. Постоянная часть формы содержит неизменяемые данные. Подготовленная форма ставится под защиту, и тогда можно получать документ, заполняя поля формы, а основной шаблон сохранять неизменным. Последовательность создания формы: 1) Подготовка шаблона формы и разработка ее структуры. 2) Добавление полей в шаблон документа. 3) Защита и сохранение формы. Созданная электронная форма хранится как шаблон формы. Новые документы создаются на основе шаблона, который используется многократно. Для создания электронной формы выводится на экран панель инструментов Формы. 6.11. Слияние документов Если один и тот же документ надо разослать большому количеству адресатов, используется технология Слияние. В Word 2002 процедура Слияние упростилась. Появился Мастер слияния, с помощью которого можно поэтапно выполнить все необходимые действия. Вначале основному документу задается один из типов: Письма, Электронное сообщение, Конверты, Наклейки или Каталог. Последовательность действий: 1) Создать основной документ с постоянным текстом. 2) Подготовить источник данных. Это может быть таблица, созданная в Word, рабочая книга Excel или файл базы данных Access. 3) Подготовить основной документ к слиянию. 4) Объединить данные с использованием Мастера слияния. Основной документ создается на основе уже имеющегося документа или путем создания нового документа на основе шаблона. В основной документ вставляются поля, в которые будут заноситься данные из источника данных. Объединение данных выполняется на последнем этапе работы с Мастером Слияния. Результат объединения данных можно просмотреть как составной документ, вывести на печать как письма – рассылка приглашений, отправить по электронной почте.
68
6.12. Проверка правописания (орфография, грамматика и тезаурус) Текст документа, созданного в Word, может быть проверен на правильность правописания. Система проверки правописания позволяет контролировать правильность написания отдельного слова, фрагмента или документа в целом. Тезаурус (словарь синонимов и антонимов) оказывает помощь при составлении текстов. При проверке грамматики используются выбираемые пользователем наборы правил. Для проверки орфографии, выбора синонимов используются соответствующие словари. Для проверки правописания Word позволяет создавать дополнительные пользовательские словари, в которые могут быть включены данные о специфических терминах, сокращениях и другое. Существуют несколько способов исправления орфографических ошибок и опечаток: - применением команды Сервис - Правописание к готовому тексту, - с помощью автоматической проверки орфографии во время ввода текста с клавиатуры, - посредством автозамены во время ввода текста с клавиатуры. При обнаружении ошибочного или неверного, с точки зрения Word, правописания слов появляется диалог Правописание, в котором эти слова выделены красным цветом. В верхнем окне Нет в словаре: появляется фрагмент текста, в котором находится неверное слово, а в нижнем окне Варианты могут быть приведены варианты для замены этого слова или выдается сообщение о том, что варианты отсутствуют. Пользователь, используя кнопки, представленные в диалоговом окне может выполнить действия: - Пропустить – в этом случае не производится замена слова выделенного в окне Нет в словаре. - Пропустить все – все выделенные слова в этом сеансе пропускаются. - Добавить – слово добавляется в словарь. - Заменить – производится замена всех встреченных в данном сеансе слов, совпадающих со словом из окна Нет в словаре. - Автозамена – предлагаемый вариант замены запоминается для автоматической замены. - Параметры – предоставляет возможность изменить начальные установки режима проверки правописания. - Отмена – отменяет сделанную замену слова. - Отменить – отменяет процедуру проверки правописания. При обнаружении ошибочной грамматической конструкции предложения выдается тот же диалог Правописание, но окно с ошибкой озаглавлено Грамматическая ошибка. В окне Варианты Word предлагает свое толкование этой ошибки. Для принятия решения пользователю предлагаются следующие кнопки: - Пропустить – пропустить эту ошибку в данном предложении. - Пропустить все – пропустить эту ошибку на весь этот сеанс.
69
- Следующее – отказаться от дальнейшей проверки текущего предложения, в котором была обнаружена ошибка, и перейти к следующему. - Изменить – пользователь согласен изменить обнаруженную ошибку. - Вернуть – последовательно, по одному, отменить все изменения, сделанные в данном сеансе грамматической проверки. Тезаурус (синонимы и антонимы) помогает подобрать из словаря нужное слово и комментирует смысл. Для вызова тезауруса следует выделить слово или поставить на него курсор, а затем выполнить команду Сервис – Язык Тезаурус или вместо этого нажать вместе клавиши Shift и F7. 6.13. Режимы представления документа на экране Word предлагает следующие режимы просмотра обрабатываемого документа: обычный, Веб-документ, разметка страницы, структура, схема документа, во весь экран, предварительный просмотр перед выводом на печать, предварительный просмотр Веб-страницы. Выбор наиболее часто используемых четырех режимов осуществляется через меню Вид (первые четыре команды) или с помощью кнопок, расположенных в нижнем левом углу окна документа на экране Word. • Обычный режим представления документа используется по умолчанию. Из любого другого режима в него можно вернуться с помощью команды Вид Обычный левой кнопкой в левом углу окна документа и другими способами. В обычном режиме на экране отображаются: текст документа с заданным шрифтом; разрывы строк и страниц в истинных позициях; выравнивание позиций табуляции и абзацев; интервалы между строками и абзацами; графика, для которой задан режим обтекания В тексте. Не отображаются на экране: верхние и нижние колонтитулы, сноски, номера страниц и номера строк. • Разметка страницы. Для перехода к режиму разметки используется команда Вид - Разметка страницы или соответствующая кнопка. В этом режиме документ и графические объекты отображаются в том виде, какой они будут иметь на бумаге. Например, заголовки, сноски, колонки и надписи занимают свои действительные места. Режим разметки используется для редактирования колонтитулов, настройки полей, а также для работы с графическими объектами. При использовании этого режима для ввода и редактирования текста можно экономить место на экране, скрыв пустое пространство в верхней и нижней части страницы. • Структура. Команда Вид - Структура и кнопка внизу. В этом режиме заголовки документов смещены в зависимости от их уровня в структуре документа. Режим Структура позволяет видеть структуру документа, а также перемещать, копировать и реорганизовывать текст посредством перетаскивания заголовков. В режиме Структура можно свернуть документ, оставив основные заголовки, или развернуть его, отобразив все заголовки и основной текст. В этом режиме удобно работать с главными документами. Использование
70
главных документов упрощает создание и обновление больших документов, таких как отчеты, состоящие из нескольких разделов, или книги, состоящие из нескольких глав. Границы страниц, колонтитулы, рисунки и фон в режиме структуры не отображаются. • Схема документа. Переход в режим осуществляется с помощью команды Вид - Схема документа. В этом режиме вдоль левого края окна документа появляется вертикальная область, в которой отображается структура заголовков документа. Схему документа можно использовать для быстрого перемещения по документу и для определения текущего положения в нем. При выборе заголовка в области схемы документа Word переходит к соответствующему заголовку в документе, отображенному в верхней части экрана, и выделяет заголовок в области схемы документа. Область схемы документа можно отобразить или скрыть в любой момент. • Во весь экран. Чтобы перейти в полноэкранный режим, нужно выполнить команду Вид - Во весь экран. Для отключения этого режима и перехода в предыдущий режим следует нажать кнопку Вернуть обычный режим на панели инструментов Во весь экран или клавишу Esc. Режим используется для того, чтобы вывести на экран как можно большую часть документа, удалив панели элементов и полосы прокрутки. Для отображения строки меню достаточно поместить указатель мыши в верхнюю часть экрана. • Предварительный просмотр Веб-страницы. Чтобы перейти в режим предварительного просмотра Веб-страницы, следует выполнить команду Файл - Предварительный просмотр Веб-страницы. В этом режиме можно увидеть, как документ будет отображаться в Вебобозревателе, который запускается автоматически. Вернуться в документ Word можно в любое время. • Предварительный просмотр. Для перехода в этот режим можно выполнить команду Файл - Предварительный просмотр или нажать кнопку на стандартной панели инструментов. Режим Предварительный просмотр отображает документ в том виде, в котором он будет напечатан. Удобен для просмотра, компоновки нескольких страниц документа (в уменьшенном виде). В этом режиме можно просматривать разрывы страниц, скрытый текст, а также изменять содержимое или форматирование документа до его вывода на печать. 1. 2. 3. 4. 5.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ Назовите функции простых текстовых процессоров. Перечислите функции мощных текстовых процессоров. Назовите функции издательских систем. Для каких целей предназначен буфер информационного обмена? Для каких целей служит технология слияния?
71
7. ЭЛЕКТРОННЫЕ ТАБЛИЦЫ 7.1. Основные понятия Электронная таблица (ЭТ) – это компьютерный эквивалент обычной двумерной таблицы, в клетках (ячейках) которой записаны данные различных типов: тексты, числа, даты, формулы. ЭТ служит для хранения и обработки больших массивов информации. Для управления электронными таблицами разработаны специальные пакеты программ – табличные процессоры (ТП). Идея создания ЭТ возникла у студента Гарвардского университета (США) Дэна Бриклина в 1979 г. Выполняя скучные бухгалтерские работы, он решил их автоматизировать и вместе с другом-программистом создал первый табличный процессор – Visicalc (визуальный калькулятор). Этот процессор сразу получил признание – ведь в проведении бухгалтерских расчетов нуждаются все предприятия. С тех пор табличные процессоры и электронные таблицы постоянно совершенствуются. В настоящее время наиболее популярны ТП Supercalc, Quattro Рro, Lotus, Microsoft Excel. С помощью электронных таблиц можно выполнять различные экономические, бухгалтерские и инженерные расчеты, а также строить различного вида диаграммы, проводить сложный экономический анализ, моделировать и оптимизировать решение различных хозяйственных ситуаций и многое другое. Главным достоинством электронных таблиц является возможность массового пересчета всех данных. Функции табличных процессоров весьма разнообразны: • создание и редактирование электронных таблиц; • оформление и печать электронных таблиц; • построение диаграмм, их модификация и решение экономических задач графическими методами; • работа с электронными таблицами как с базами данных; сортировка таблиц, выборка данных по запросам; • создание итоговых и сводных таблиц; • использование при построении таблиц информации из внешних баз данных; • решение экономических задач типа “что-если” путем подбора параметров; • решение оптимизационных задач; • статистическая обработка данных и т.д. Табличные процессоры различаются в основном набором выполняемых функций и удобством интерфейса, поэтому целесообразно проанализировать лишь широко используемые программные продукты. По оценкам фирмы PC Data of Reston, наиболее популярными электронными таблицами для персональных компьютеров являются табличные процессоры Excel (фирма Microsoft), Lotus 1-2-3 (фирма Lotus Development) и Quattro Pro.
72
Результаты тестирования, проведенные лабораторией журнала “Home PC”, продемонстрировали явное преимущество Excel по многим параметрам, поэтому знакомство с особенностями и возможностями электронных таблиц будем осуществлять на базе пакета прикладных программ (табличного процессора) Excel. 7.2. Строки, столбцы, ячейки ЭТ Рабочая область ЭТ состоит из строк и столбцов, имеющих свои имена. Вид электронной таблицы для ТП Excel приведен на рис.7.1.
1 2 3 1 64 4 3
5
6 7
7 8
11 10
Рис. 7.1
Рис. 6.1
9
На этом рисунке показан общий вид окна Excel. Цифрами обозначены: 1. - Заголовок окна Excel. 2. - Строка основного меню. 3. - Панель Стандартная. 4. - Панель Форматирование. 5. - Строка ввода (или строка показа формул). 6. - Заголовки столбцов. 7. - Заголовки строк. 8. - Рабочее поле. 9. - Линейки вертикальной и горизонтальной прокрутки рабочего поля. 10. - Ярлыки листов книги Excel. 11. - Линейка прокрутки листов в книге. Панели Стандартная и Форматирование показаны на рис.6.2. В дальнейшем мы будем неоднократно обращаться к ним.
73
Рис. 7.2 Имена строк – это их номера. В каждой электронной таблице Excel более 65000 строк. Имена столбцов – это буквы латинского алфавита. В Excel 256 столбцов. Для образования такого количества имен сначала перебираются все буквы латинского алфавита: А, В, С, …, Z. Затем столбцы получают имена, образуемые парными комбинациями букв: AA, AB, AC, …, AZ, BA, BB, …, BZ,…, ZX, ZY, ZZ. Ячейка – область ЭТ, образованная пересечением столбца и строки. Адрес ячейки определяется именем столбца и номером строки, например, А1, А2, В3, С6. Ссылка на ячейку – указание ее адреса. 7.3. Блоки ячеек Блок ячеек (диапазон ячеек) – прямоугольник, состоящий из нескольких строк, столбцов или их частей (рис.7.3). Адрес блока ячеек задается указанием адресов первой и последней его ячеек с двоеточием между ними. Блоки ячеек на рис.6.3 имеют адреса A1:F1; B2:B4; C5:F6. A
B
C
D
E
F
1 2 3 4 5 6 7
A1:F1 B2:B4
C5:F6 Рис. 7.3
74
7.4. Текущая ячейка и экран Текущей (активной) называется ячейка ЭТ, в которой А В в данный момент находится курсор. Она выделяется черным прямоугольником. На рис.7.4 активной является 1 ячейка В2. 2 Содержимое текущей ячейки отображается в строке 3 ввода (или строке показа формул) ЭТ, которая расположена ниже строк главного меню, панелей Рис.7.4 Стандартная и Форматирование. На рис.7.5 показано, как в строке ввода отображается содержимое ячейки С1.
Рис. 7.5 Ввод информации происходит в текущую ячейку. Для перемещения текущей ячейки можно пользоваться либо стрелками перемещения курсора на клавиатуре, либо мышью. Возможности экрана не позволяют видеть всю ЭТ. Мы можем наблюдать только ее часть, которую называют текущим экраном. Для просмотра невидимых в данный момент частей ЭТ пользуются линейками прокрутки (см. номер 9 на рис. 7.1). 7.5. Окно, лист, рабочая книга Табличный процессор размещает каждую ЭТ в самостоятельных окнах. Открывать или закрывать электронную таблицу значит открыть или закрыть соответствующие окна. Окно таблицы, которое в данный момент открыто (видно на экране) называется листом книги. Номер листа указывается внизу экрана – см. рис.7.1, номер 10. Каждый файл в Excel называется рабочей книгой. Рабочая книга состоит из нескольких листов (до 16). Если мы даем команду Файл – Создать, открывается Книга 1, при повторной команде Книга 2 и т.д. Все листы в одной книге (и даже в нескольких) можно связать между собой с помощью формул.
75
7.6. Типы данных, хранящихся в ЭТ В каждую ячейку можно ввести следующие типы данных: 1) Текст – любая последовательность символов. Используется для заголовков таблиц и комментариев (например, «Ведомость зарплаты»). 2) Числа – числовые константы: 100 -250 46,28 3) Формулы – выражения, состоящие из числовых величин и арифметических операций. В формулу могут входить в качестве аргументов адреса ячеек, функции и другие формулы. В Excel формула должна обязательно начинаться со знака = (равно). А 1 -5 2 8 3 =А1 +А2 4
Например, (рис.7.6) в ячейку А3 введена формула =А1+А2 (буквы только латинского регистра). Она предписывает сложить значения ячеек А1 и А2, а результат поместить в ячейку А3. После ввода этой формулы в ячейку А3 в ней сразу же появится результат вычисления – число 3.
4) Функции - это заранее запрограммированные формулы, позволяющие проводить часто встречающиеся вычисления. Например, в ячейке А5 нужно вычислить сумму значений ячеек А1:В4 (рис.7.7). А 1 -4 2 6 3 0 4 -1 5 =СУММ(А1:В4)
В 2 7 -12 9
Очевидно, что вычислить эту сумму с использованием формулы, аналогичной приведенной на рис.7.6 , нецелесообразно. Для суммирования значений ячеек имеется специальная функция суммирования (Автосумма) =СУММ(адрес диапазона суммирования).
Рис. 7.7 В нашем случае функция примет вид =СУММ(А1:В4). После ее ввода в ячейке А5 появится число 7. Поскольку суммирование является часто повторяемой операцией, для ввода этой функции на панель Стандартная вынесена ее пиктограмма Σ (см. рис.7.2). Чтобы ввести в ячейку А5 функцию с помощью пиктограммы, следует: • активизировать нужную ячейку (с помощью стрелок управления курсором или мышью добиться чтобы черный прямоугольник – курсор ввода ЭТ – находился в ней. В нашем случае он находится в ячейке А5; • щелкнуть по пиктограмме суммирования Σ (при этом должны появиться движущиеся точки – «муравьи», с помощью которых Excel обозначает предполагаемый диапазон суммирования. Если этих точек нет, нужно повторить щелчок по пиктограмме суммирования);
76
• зажав левую клавиши мыши, обвести нужный диапазон суммирования (для примера рис.7.7 это диапазон А1:В4. При этом в ячейке А5 появится формула =СУММ(А1:В4), которая позволяет контролировать правильность ввода диапазона ячеек и в случае необходимости его исправить); • нажать клавишу ввода Enter. Excel позволяет использовать более 150 различных функций. Они разделены на категории: математические, статистические, финансовые, логические и др. 5) Даты, которые по выбору пользователя могут быть представлены в различных форматах, например, 15.05 15.04.05 апрель 05 15 апр 2005 и т. д. 7.7. Режимы работы электронной таблицы Электронные таблицы могут работать в двух режимах: показ вычислений и показ формул. Обычный режим работы – показ вычислений: сразу после ввода формулы в ячейке появится результат. Если же необходимо видеть все формулы, содержащиеся в таблице (для контроля вычислений или для распечатки), следует выполнить команды Сервис – Параметры – Формулы. Для возвращения в режим вычислений повторите те же команды, только флажок Формулы следует снять. Если таблица большая, со множеством формул, возникает необходимость ввода не только словесных комментариев. Для понимания функционирования такой таблицы, работающей в режиме показа вычислений, можно в отдельных ячейках осуществить показ формул. А В 1 Вычисления Комментарии 2 289 3 -1056 4 675 Показ формулы в ячейке А5 5 =СУММ(А2:А4) ‘=СУММ(А2:А4)
Рис. 7.8 1 2 3 4 5
А В Вычисления Комментарии 289 -1056 675 Показ формулы в ячейке А5 -92 =СУММ(А2:А4)
Рис. 7.9
Чтобы формула не шла на выполнение, а отображалась в ячейке как комментарий, перед ней следует поставить знак ‘ (апостроф). Например, введем в ячейку А5 и В5 одну и те же формулу, предписывающую суммировать содержимое ячеек А2:А4, но в ячейке В5 поставим перед формулой апостроф (рис.7.8). Тогда в ячейке А5 появится результат сложения (число –92), а в ячейке В5 – формула =СУММ(А2:А4) (знак ‘ (апостроф) отображаться не будет).
77
Таблица рис.7.8 в режиме показа показанный на рис. 7.9.
вычислений
будет
иметь
вид,
7.8. Мастер функций Как уже отмечалось в п.7.6, в Excel имеется более 150 заранее запрограммированных формул-функций. Естественно, что запомнить правильное написание имен этих функций, порядок расположения и записи их аргументов невозможно. Поэтому для ввода функций предусмотрен специальный режим – Мастер функций. Запустить его можно либо щелчком по пиктограмме fx , расположенной на панели Стандартная (см. рис.7.2), либо выполнением команд Вставка – Функция. Мастер функций представляет собой набор последовательно предъявляемых пользователю диалоговых окон. После его запуска появляется первое окно (рис.7.10) (оно называется первым шагом Мастера). В левой части этого окна приводится перечень всех категорий функций: математические, финансовые, логические, статистические и т.д. В правой части окна находится алфавитный перечень функций, входящих в данную категорию. В пакете программ, совместимых с ОС Windows XP, список категорий функций размещен в верхней части окна Мастера, список функций – в нижней части. Внизу, под окнами Категория и Функция, приводится синтаксис команды и ее краткое описание. Предположим, нашей задачей является вычисление максимального значения среди чисел, приведенных в таблице на рис. 7.11. Результат следует записать в ячейку С6.
Рис. 7.10
78
Последовательность действий следующая: • активизируем ячейку С6; • щелчком по пиктограмме fx запустим режим Мастер функций (открывается окно первого шага Мастера, рис.7.10); • в левой части диалогового окна А В С щелчком мыши выбираем категорию 1 29 -12 621 Статистические (тогда в правой части 2 -6 58 -3511 окна появится алфавитный перечень 3 0 5679 9 статистических функций Excel: сначала 4 141 -8 0 идут имена функций с использованием 5 479 1 2826 латинского алфавита, затем русского); 6 =МАКС(А1:С5)
Рис. 7.11 • в правой части окна Мастера функций выберем функцию МАКС (откроется второе окно Мастера рис.7.12 с предложением ввести аргумент функции – диапазон ячеек); • вводим в текстовом поле Число_1 адрес диапазона ячеек A1:С5, среди которых нужно найти максимальное значение, и щелчком по кнопке Ок закрываем окно Мастера функций; В ячейку С6 введена формула =МАКС(А1:С5), в результате в ней появится максимальное из значений в данном диапазоне – число 5679. Аналогичным образом может быть введена любая функция Excel.
Рис. 7.12 7.9. Форматирование данных Форматирование – выбор формы представления данных в ячейках. 7.9.1. Форматирование чисел Для чисел в ЭТ возможны следующие форматы: 1. Целые, например, 1000, -200. 2. Десятичные, с указанием требуемой точности (числа знаков после запятой): 0,006 -13,5
79
Внимание!
В электронной таблице Excel целая часть числа отделяется от дробной запятой, но в некоторых версиях пакета Excel в качестве разделителя используется точка. 3. Процентный формат (печать данных со знаком процента), например, число 0,28 в процентном формате будет иметь вид 28%. 4. Денежный формат: $ 128 573,61 или 495 р. 5. Экспоненциальный формат (представление числа с плавающей запятой), например, десятичное число 0,0000063 в экспоненциальной форме примет вид 6,3Е-006. Для установления нужного формата в ячейке или в диапазоне ячеек следует выполнить следующие действия: • выделить (активизировать) ячейку или диапазон ячеек; • выполнить команды Формат – Ячейки (открывается диалоговое окно Формат ячеек (рис.7.13)). Это же диалоговое окно можно вызвать, используя контекстное меню (щелчком правой клавиши внутри ячейки или выделенного диапазона); • в окне Формат ячеек выбрать вкладку (пункт меню в верхней части диалогового окна) Число - см. рис.7.13; • в открывшейся левой части окна, в перечне выбрать необходимый формат. (На рис.7.13 показан выбор денежного формата, денежной единицы – доллар, с указанием двух знаков после запятой).
Рис. 7.13 Установление форматов чисел возможно также и с использованием соответствующих пиктограмм на панели Форматирование (см. рис.7.2): • пиктограмма % - процентный формат; • пиктограмма
- денежный формат;
80
• пиктограмма - увеличить разрядность числа (каждый щелчок по этой пиктограмме увеличивает точность воспроизведения числа на один разряд. Например, в ячейке было число 18,00. После щелчка по этой пиктограмме будет 18,000). • пиктограмма - уменьшение разрядности числа (каждый щелчок по ней уменьшает точность на один разряд. Например, в ячейке было число 39,258. После щелчка по данной пиктограмме оно будет отображаться в виде 39,26). 7.9.2. Форматирование информации в ячейке Для информации любого типа можно осуществить несколько видов форматирования: 1. Выравнивание по вертикали (по верхнему или нижнему краю ячейки или по центру). Осуществляется с использованием команд Формат – Ячейки – Выравнивание – По вертикали или с помощью контекстного меню. 2. Выравнивание данных по горизонтали (по левому или правому краю ячейки или по центру). Эти операции осуществляются для одной или нескольких выделенных ячеек с использованием пиктограмм панели Форматирование (см. рис.7.2): - выравнивание по левому краю; - выравнивание по правому краю; - выравнивание по центру. Следует отметить, что в этом же окне Выравнивание можно осуществить операции п.1 (выравнивание по горизонтали), а также задать ориентацию текста (запись его под углом). 3. Перенос информации внутри ячеек по словам. Осуществление этой операции (для выделенных ячеек) производится командами Формат – Ячейки – Выравнивание – Переносить по словам. 4. Изменение шрифта, его размера, цвета и начертания. Производится с помощью пиктограмм: - шрифт; - размер; - цвет
81
- начертание - стиль 7.9.3. Форматирование ячеек Для ячеек применяются следующие типы форматирования. 1. Изменение высоты и ширины ячеек. Для изменения ширины ячейки (столбца) нужно поставить указатель мыши на строке заголовков столбцов, на разделительную линию между двумя столбцами (например, если необходимо увеличить ширину столбца А, ставим указатель мыши на разделительную линию между столбцами А и В). При этом указатель мыши примет вид тонкого крестика со стрелками. Теперь, перемещаем указатель мыши, при зажатой левой клавише. Одновременно изменится ширина столбца. Аналогичным образом изменяется высота ячейки (строки). 2. Оформление границ ячейки или группы ячеек. Для выделенных ячеек можно осуществить оформление границ диапазона с использованием различных типов обрамления, содержащихся в пиктограмме Граница, панель Форматирование.
7.9.4. Объединение ячеек Необходимость объединения ячеек возникает при вводе различных комментариев, см., например, табл.7.1. Таблица 7.1 A B C D E 1 ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ 2 по дисциплине «Информатика» Фамилия И.О. 3 Первый семестр Второй семестр студента 4 Иванов И.И. 4 (хорошо) 5 (отлично) 5 Николаев Н.Н 3 (удовлетворительно) 4 (хорошо) 6 Федоров Ф.Р 3 (удовлетворительно) 2 (неудовлетворительно)
82
Здесь для ввода заголовков для всех пяти столбцов таблицы объединены ячейки первой и второй строки. А в третьей строке произведено попарное объединение ячеек В3, С3 и D3, Е3. Объединение ячеек выделенного диапазона осуществляется с использованием команд Формат – Ячейки – Выравнивание – Объединение - Объединить и поместить в центре). ячеек (или пиктограммы Обратите внимание! В ячейке А3 с использованием команд, описанных в 7.9.2 (п.3) произведен перенос информации по словам. 7.9.5. Копирование формата ячеек Пусть произведена установка формата блока ячеек А1:D6 электронной таблицы, например, выбран шрифт Arial Cyr, размер 16, цвет Красный, начертание Полужирный, Курсив, выравнивание По центру по вертикали, По центру по горизонтали, обрамление с помощью пиктограммы . (Для этого указанный диапазон был выделен и форматирование проводилось сразу для всего блока ячеек). Аналогичным образом нужно оформить блок ячеек G9:M50. Очевидно, что можно производить форматирование также, как и для первого диапазона А1:D6, т.е. выделить нужный диапазон и последовательно установить все параметры. Однако это значит, что дважды будет повторяться один и тот же набор операций форматирования. Чтобы избежать этого, следует пользоваться пиктограммой Формат по образцу. Для этого: • поставить указатель мыши в одной из ячеек диапазона А1:D6 (например, в А1); • щелкнуть по пиктограмме Формат по образцу; • обвести указателем мыши диапазон ячеек G9:M50, где должен быть установлен такой же формат. 7.10. Копирование формул Электронные таблицы используются для хранения и обработки больших объемов информации. При этом, как правило, целые блоки данных должны обрабатываться по одним и тем же формулам. Чтобы избавить пользователя от необходимости многократного ввода одних и тех же формул, в ЭТ имеется специальный режим копирования. Рассмотрим его суть на примере ведомости начисления зарплаты работникам некоторой фирмы. В таблице должны храниться фамилии и инициалы работника, его оклад, величина начисленного налога и зарплата. Занесем эти данные в табл.7.2 и рассмотрим ее в режиме показа формул. Сначала заполним содержимое столбцов А, В и С. Теперь нужно ввести формулы для вычисления налога. Налог берется в размере 13% от оклада. Вводим в ячейку D3 формулу расчета налога для работника Анохина А.А. Поскольку его оклад хранится в ячейке С3, формула имеет вид =0,13*С3. Далее
83
вводим в ячейку D4 формулу расчета налога для Баранова Б.Б. Его оклад хранится в ячейке С4, получаем формулу =0,13*С4. Аналогичным образом в ячейку D5 введем формулу =0,13*С5. Совершенно очевидно, что формулы в столбце D будут отличаться лишь адресом ячейки столбца С. A
B
1 2 3 4 5 6 7 8 9 10 11 12
№ Фамилия И.О. п/п 1 Анохин А.А 2 Баранов Б.Б. 3 Володин В.В. 4 Григорьев Г.Г. 5 Дмитриев Д.Д. 6 Емелин Е.Е. 7 Михайлов М.М. 8 Павлов П.П. 9 Петров П.П. 10 Сидоров С.С
C D ВЕДОМОСТЬ ЗАРПЛАТЫ Оклад (руб) 7 500 10 000 5 000 6 800 9 000 8 200 4 900 6 100 3 700 7 850
Налог (руб) =0,13*С3 =0,13*С4 =0,13*С5 =0,13*С6 =0,13*С7 =0,13*С8 =0,13*С9 =0,13*С10 =0,13*С11 =0,13*С12
Таблица 7.2 E Зарплата (руб) =С3-D3 =С4-D4 =С5-D5 =С6-D6 =С7-D7 =С8-D8 =С9-D9 =С10-D10 =С11-D11 =С12-D12
Чтобы избежать многократного ввода одной и той же формулы, следует использовать режим копирования: • ввести формулу в ячейку D3 (если после ввода ячейка D3 стала неактивной, вновь активизировать ее); • поставить указатель мыши в правый нижний угол активной ячейки D3 (он должен принять вид тонкого крестика); • нажать на левую клавишу мыши и, не отпуская ее, перемещать указатель мыши вниз по столбцу D на нужное число строк. После того, как перемещение указателя мыши закончилось и левая клавиша мыши отпущена, в ячейки столбца D будет скопирована заданная формула с необходимым изменением номера строки. Аналогичным образом вводится формула в столбец Е для начисления зарплаты работникам фирмы. Очевидно, что зарплата определяется при вычитании из оклада начисленного налога. Поэтому последовательность действий следующая. • ввести в Е3 формулу =С3-D3; • скопировать формулу в ячейки Е4:Е12 аналогично вышеописанному. В режиме вычислений таблица примет вид табл.7.3. Итак, при копировании формулы внутри одного столбца автоматически изменяются номера строк. Если же осуществить копирование, перемещаясь по строке, автоматически будут изменяться имена столбцов. Рассмотрим следующий пример. В 2005 году в банк положена сумма 10000 руб., сроком на 5 лет. Каждый год эта сумма увеличивается на 10%.
84
Необходимо рассчитать, какая Сведем вычисления в табл.7.4. A
B
1 2 3 4 5 6 7 8 9 10 11 12
№ п/п 1 2 3 4 5 6 7 8 9 10 A
1 2 3 4
Фамилия И.О. Анохин А.А Баранов Б.Б. Володин В.В. Григорьев Г.Г. Дмитриев Д.Д. Емелин Е.Е. Михайлов М.М. Павлов П.П. Петров П.П. Сидоров С.С B
сумма будет на счете через 5 лет.
C D ВЕДОМОСТЬ ЗАРПЛАТЫ
Таблица 7.3 E
Оклад (руб)
Налог (руб)
Зарплата (руб)
7 500 10 000 5 000 6 800 9 000 8 200 4 900 6 100 3 700 7 850
975 1 300 650 884 1 170 1 066 637 793 481 1 020,5
6 525 8 700 4 350 5 916 7 830 7 134 4 263 5 307 3 219 6829,5 Таблица 7.4 F
C D E Вычисление суммы вклада Год начисления 2005 2006 2007 2008 2009 2010 10 000 =A4+A4*0,1 =B4+B4*0,1 =C4+C4*0,1 =D4+D4*0,1 =E4+E4*0,1
В ячейку А4 поместим начальное значение вклада в 2005 г. – 10000 рублей. Чтобы вычислить сумму, начисленную в 2006 году, нужно к исходной сумме 10000 рублей добавить 10% этой суммы, т.е. 10000+10000*0,1=11000. Для вычисления этой суммы введем в ячейку В4 формулу =A4+A4*0,1. Для вычисления суммы начислений в 2007 году нужно аналогичные операции произвести с суммой предыдущего года: 11000+11000*0,1=12100. Следовательно, в ячейке С4 должна быть формула =B4+B4*0,1. Очевидно, что эту формулу можно получить при копировании формулы из ячейки В4. Поэтому копируем формулу из ячейки В4 в ячейки С4:F4. Как видно из табл.7.4, при переходе от одного столбца к другому происходит изменение адресов столбцов в формулах. Результат вычислений для табл.7.4 показан в табл.7.5. Таблица 7.5 A B C D E F 1 Вычисление суммы вклада 2 Год начисления 3 2005 2006 2007 2008 2009 2010 4 10 000 11 000 12 100 13 310 14 641 16 105,1
85
7.11. Абсолютные и относительные адреса ячеек Автоматическое изменение адресов ячеек очень удобно при копировании формул. Изменяющийся при копировании адрес ячейки называется относительным. Однако, часто возникает ситуация, когда адрес некоторой ячейки не должен изменяться при копировании. Адрес ячейки, не изменяющейся при копировании, называется абсолютным. Для обозначения абсолютного адреса используется знак $ (доллар). Например, $B1 – при копировании нельзя менять имя столбца В; В$1 - при копировании нельзя менять номер первой строки; $В$1 - при копировании нельзя менять ни имя столбца, ни номер строки. Адрес $В$1 называется полным абсолютным, адреса $В1 и В$1 – неполными абсолютными. Рассмотрим использование абсолютных адресов на примерах. Пример 1 Требуется создать ведомость начисления премии работникам предприятия. Премия рассчитывается в размере 20% от оклада (следует предусмотреть возможность изменения этого коэффициента). Сведем вычисления в табл.7.6 и рассмотрим ее в режиме показа формул. Таблица 7.6 A B C D 1 Ведомость начисления премии 2 Коэффициент премии 0,2 3 Размер премии (руб) № п/п Фамилия И.О. Оклад (руб) (неправильный вариант расчета) 4 1 Анохин А.А 7 500 =D2*C4 5 2 Баранов Б.Б. 10 000 =D3*C5 6 3 Володин В.В. 5 000 =D4*C6 7 4 Григорьев Г.Г. 6 800 =D5*C7 8 5 Дмитриев Д.Д. 9 000 =D6*C8 9 6 Емелин Е.Е. 8 200 =D7*C9 10 7 Михайлов М.М. 4 900 =D8*C10 11 8 Павлов П.П. 6 100 =D9*C11 12 9 Петров П.П. 3 700 =D10*C12 13 10 Сидоров С.С 7 850 =D11*C13 Очевидно, что размер премии получается умножением коэффициента премии на оклад соответствующего работника и формулы повторяются по столбцу. Рассчитаем премию для сотрудника Анохина А.А. Сначала рассмотрим черновой (неправильный) вариант. Попробуем создать таблицу с использованием режима копирования относительных адресов. Введем в ячейку D4 формулу =D2*С4. В D4 появится верное значение премии для Анохина:
86
1500. Теперь скопируем эту формулу в ячейки D5:D13. В результате в режиме показа вычислений в ячейке D5 появится сообщение об ошибке #ЗНАЧ!, которое показывает, что производится операция с недопустимым форматом данных. Видим, что в ячейку D5 введена формула =D3*С5. С адресом ячейки С5 все правильно – в данный момент считается премия для Баранова Б.Б., а его оклад находится в С5. Но адрес коэффициента премии стал D3, между тем этот коэффициент всегда находится в одной и той же ячейке - D2. Значит следует запретить изменение этого адреса при копировании. Имя столбца D при копировании и так не изменяется, поэтому нужно запретить только изменение номера строки, т.е. адрес ячейки D2 будет иметь вид D$2. Итак, табл.7.6 у нас получилась неработоспособной. Создаем новую таблицу (табл.7.7), в ячейку D4 помещаем формулу =D$2*С4 и копируем ее в ячейки D5:D13. Таблица 7.7 A B C D 1 Ведомость начисления премии 2 Коэффициент премии 0,2 3 № Оклад Размер премии (руб) Фамилия И.О. п/п (руб) (правильный вариант расчета) 4 1 Анохин А.А 7 500 =D$2*C4 5 2 Баранов Б.Б. 10 000 =D$2*C5 6 3 Володин В.В. 5 000 =D$2*C6 7 4 Григорьев Г.Г. 6 800 =D$2*C7 8 5 Дмитриев Д.Д. 9 000 =D$2*C8 9 6 Емелин Е.Е. 8 200 =D$2*C9 10 7 Михайлов М.М. 4 900 =D$2*C10 11 8 Павлов П.П. 6 100 =D$2*C11 12 9 Петров П.П. 3 700 =D$2*C12 13 10 Сидоров С.С 7 850 =D$2*C13 Теперь в ячейке D5 формула =D$2*C5, в ячейке D6 - =D$2*C6 и т.д. Адрес ячейки, где находится коэффициент премии не изменяется, и премия начисляется правильно. Пример 2 Создать таблицу для вычисления размера вклада в банк через 1, 2, 3, 4, 5 лет. Размер вклада равен 5 000 руб., но может изменяться, а банковский процент равен 15%. Поместим вычисления в табл.7.8. Очевидно, что этот пример аналогичен рассмотренному в табл.7.4 и табл.7.5. В ячейку А7 нужно ввести формулу для вычисления значения вклада в следующем году. Величина наращенной суммы будет равна 5000+5000*15%*1=5750 (руб), т.е. в ячейке А7 должна быть формула =E2+E2*0,15*A5. (Число прошедших лет равно 1 – ссылка на ячейку А5, а
87
размер вклада хранится в ячейке Е2). Однако после копирования этой формулы в ячейки В7:Е7 получим в них такие формулы: - в ячейке В7: =F2+F2*0,15*B5; - в ячейке С7: =G2+G2*0,15*C5 и т.д. Таблица 7.8 A B C D E 1 Начисление процентов в банке 2 Размер вклада 5 000 3 Номер года начисления 4 5 1 2 3 4 5 6 Начисленная сумма 7 =$E2+$E2*0,15*A5 =$E2+$E2*0,15*B5 =$E2+$E2*0,15*C5 =$E2… =$E2… Изменение адресов А5, В5, С5… абсолютно верно, это дает возможность учитывать год вклада. Однако, при этом совершенно очевидно, что сумма вклада всегда находится в одной ячейке Е2, и изменять адрес этой ячейки нельзя, т.е. необходимо использовать абсолютный адрес. Изменение номера строки при копировании по строкам не происходит, поэтому запрещаем изменять имя столбца Е - адрес ячейки Е2 примет вид $E2. Таким образом, в ячейку А7 табл.7.8 вводим формулу =$E2+$E2*0,15*A5 и копируем ее в ячейки В7:Е7. В режиме показа вычислений эта таблица примет вид табл.7.9. Таблица 7.9 A B C D E 1 Начисление процентов в банке 2 Размер вклада 5 000 3 Номер года начисления 4 5 1 2 3 4 5 6 Начисленная сумма 7 5 750 6 500 7 250 8 000 8 750 Пример 3 В банк вносится сумма 20 000 руб. Рассчитать, какая сумма будет на счете через 1, 2, 3, 4, 5 лет при годовых процентных ставках 10%, 15%, 20%, 25%. Запишем вычисления в табл.7.10. Получится таблица, аналогичная табл.7.8, но нужно добавить три строки, чтобы учесть различные процентные ставки, и еще один столбец для ввода величины процента. В ячейку В5 следует ввести формулу для вычисления суммы в первый год после вклада для ставки 10% =F2+F2*A5*B4 (в ячейке А5 находится значение процентной ставки, в В4 – номер года, в F2 – сумма вклада). Теперь, чтобы вычислить значение для следующих лет при той же процентной ставке, нужно скопировать эту формулу по строке 5. Как мы уже убедились в предыдущем примере, при этом будет изменятся имя столбца F, где хранится сумма вклада,
88
и имя столбца А, где хранится величина процента. Чтобы запретить это изменение, ставим знак доллара перед именами столбцов А и F. Таблица 7.10 A B C D E F 1 Начисление процентов в банке 2 Размер вклада 20 000 3 Номер года начисления 4 Про1 2 3 4 5 цент 5 10% =$F$2+$F$2*$A5*B$4 =$F$2+$F$2*$A5*C$4 =$F$2+$F$2*$ =$F=$F$2+ 6 15% =$F$2+$F$2*$A6*B$4 =$F$2+$F$2*$A6*C$4 =$F$2+$F$2*$ =$F=$F$2+ 7 20% =$F$2+$F$2*$A7*B$4 =$F$2+$F$2*$A7*C$4 =$F$2+$F$2*$ =$F=$F$2+ 8 25% =$F$2+$F$2*$A8*B$4 =$F$2+$F$2*$A8*C$4 =$F$2+$F$2*$ =$F=$F$2+ Итак, в ячейку В5 нужно ввести формулу =$F2+$F2*$A5*B4. Теперь при расчетах для процентной ставки 10% все вычисления будут правильными. Однако, для проведения вычислений с другой процентной ставкой необходимо формулу из ячейки В5 скопировать также в ячейки В6:В8 и тогда в ячейке В6 будет формула =$F3+$F3*$A6*B5. В ней правильно указан только адрес $A6 (ставка 15% находится именно в ячейке А6). Но зато адрес размера вклада стал $F3, вместо $F2, а адрес номера года переместился в ячейку В5. Очевидно, что в ячейке В7 будет формула =$F4+$F4*$A7*B6, а в ячейке В8 =$F5+$F5*$A8*B7. Поскольку сумма вклада всегда находится в ячейке F2, а номер года всегда в строке 4, нужно запретить при копировании адреса ячейки F2 изменять не только имя столбца, но и номер строки, т.е. для ячейки F2 требуется полный абсолютный адрес. При копировании адреса ячейки В4 нужно запретить изменять номер строки. Таким образом, установили, что в ячейку В5 следует ввести формулу =$F$2+$F$2*$A5*B$4 и скопировать ее в ячейки С5:F8. Таблица примет тот же вид, как показано в табл.7.10, (а в режиме показа вычислений – табл.7.11). Работа с относительными и абсолютными адресами представляет собой достаточно сложное испытание для пользователя. Чтобы закрепить данную тему, рассмотрим примеры 4÷9 в том виде, в каком эта тема отражена в контрольных тестах. Таблица 7.11 A B C D E F 1 Начисление процентов в банке 2 Размер вклада 20 000 3 Номер года начисления 4 Процент 1 2 3 4 5 5 10% 22 000 24 000 26 000 28 000 30 000 6 15% 23 000 26 000 29 000 32 000 35 000 7 20% 24 000 28 000 32 000 36 000 40 000 8 25% 25 000 30 000 35 000 40 000 45 000
89
Таблица 7.12 A B C D E 1 6 0 1 -3 2 2 4 -2 5 -1 3 3 =B$1+D1 4
A 1 0 2 4 3 1 4 5
1 2 3 4 5
Таблица 7.13 B C D -1 2 -3 5 0 -2 1 -1 -1 =$A2+С1
Пример 4 Копируем формулу из ячейки D3 табл. 7.12 в D4. Какая формула в D4 и какие числа в ячейках D3 и D4? Правильный ответ: =B$1+D2 В D3 число -3 В D4 число -1 Пример 5 Копируем формулу из ячейки В4 табл.7.13 в С4. Какая формула в С4 и какие числа в ячейках В4 и С4? Правильный ответ: =$A2+D1 В В4 число 6 В С4 число 1
Таблица 7.14 A B C D 0 -1 2 -3 4 5 0 -2 1 1 -1 -1 =$В2+C1
Пример 6 Копируем формулу из ячейки А4 табл.7.14 в В5. Какая формула в В5 и какие числа в ячейках А4 и В5? Правильный ответ: =$В3+D2. В А4 число 7. В В5 число -1.
Таблица 7.15 D 3 6 -1 =$С$2+D1
Пример 7 Копируем формулу из ячейки D3 табл.7.15 в C5. Какая формула будет в ячейке С4 и какие числа в ячейках D3 и C4? Правильный ответ: =$С$2+C2. В D3 число -2. В C4 число -10.
A B C 1 0 -1 2 2 7 4 -5 3 1 1 -1 4
Пример 8 В ячейках А1:А4 помещены значения 1, 2, 3, 4. В ячейку С1 ввели формулу =3*А1 и скопировали в ячейки С2:С4. Какие числа в ячейках С1:С4? Для решения этой задачи составим табл.7.16 и скопируем формулу из ячейки С1 в ячейки С2:С4. Теперь на базе этой таблицы Таблица 7.16 вычислим значения: А В С 3*А1=3*1=3 1 1 =3*А1 3*А2=3*2=6 2 2 =3*А2 3*А3=3*3=9 3 3 =3*А3 3*А4=3*4=12
4
4
=3*А4
90
Пример 9 В ячейках А1:А4 помещены значения 4, 3, 2, 1, а в ячейке С1 – формула =3*A$1. Эта формула скопирована в ячейки С2:С4. Какие числа в ячейках С1:С4? Для решения вновь составим ЭТ – табл.7.17 и формулы из ячейки С1 скопируем в С2:С4. Поскольку в С1 адрес абсолютный, изменение адреса Таблица 7.17
1 2 3 4
А 4 3 2 1
В
С =3*A$1 =3*A$1 =3*A$1 =3*A$1
первой строки запрещено. Значит в каждой из ячеек С1:С4 одно и тоже число 3*A$1=3*4=12.
7.12. Присвоение имени ячейкам и блокам электронной таблицы Обращение к ячейкам ЭТ осуществляется указанием их адреса. Однако если в формулу входят адреса большого количества ячеек, формула становится трудночитаемой. В этом случае часто вместо адресов ячеек используют присвоение им имени. Например, присвоим ячейке А5 имя. Для этого нужно выполнить следующие действия: • активизировать ячейку А5; • выполнить команды Вставка – Имя – Присвоить; • в открывшемся диалоговом окне Присвоение имени (рис.7.14) ввести имя ячейки: Множитель – Ок.
Рис. 7.14
91
Рассмотрим несколько примеров. Пример 1 В ячейке А3 нужно вычислить значение Z=X+Y, где Х – значение ячейки А1, Y – значение ячейки А2. Последовательность действий следующая: 1. Присвоить имя Х ячейке А1: • активизировать А1; • выполнить команды Вставка – Имя – Присвоить; • введем в окно Присвоение имени имя Х, щелкнем по Ок. 2. Присвоим имя Y ячейке А2: • активизировать А2; • выполнить команды Вставка – Имя – Присвоить; • введем в окно Присвоение имени имя Y, щелкнем по Ок. 3. В ячейку А3 вводим формулу =X+Y. Пример 2 Используем присвоение имени ячейке D2, где находится коэффициент премии, в примере 1 п.7.11 (табл.7.7). Аналогично вышеописанному дадим ячейке D2 имя Премия. Далее введем в ячейку D4 формулу =Премия*С4 и скопируем ее в ячейки D5:D13. Тогда табл.7.7 примет вид табл. 7.18. Это таблица работает абсолютно аналогично табл.7.7, но формулы более понятны. Точно также можно присвоить имя блоку ячеек: • выделить блок ячеек; • выполнить команды Вставка – Имя – Присвоить; • ввести имя блока - Ок. К этой возможности мы вернемся в п. 7.16, при работе с матричными операциями. Таблица 7.18 A B C D 1 Ведомость начисления премии 2 Коэффициент премии 0,2 3 № п/п Фамилия И.О. Оклад (руб) Размер премии (руб) 4 1 Анохин А.А 7500 =Премия*C4 5 2 Баранов Б.Б. 10000 = Премия*C5 6 3 Володин В.В. 5000 = Премия*C6 7 4 Григорьев Г.Г. 6800 = Премия*C7 8 5 Дмитриев Д.Д. 9000 = Премия*C8 9 6 Емелин Е.Е. 8200 = Премия*C9 10 7 Михайлов М.М. 4900 = Премия*C10 11 8 Павлов П.П. 6100 = Премия*C11 12 9 Петров П.П. 3700 = Премия*C12 13 10 Сидоров С.С 7850 = Премия*C13
92
7.13. Итоговые функции в Excel В Excel имеется более 150 различных функций. Часть из них, наиболее часто встречающаяся при подготовке различных отчетов, получила название Итоговых функций. К ним относятся: =СУММ(диапазон) - суммирование значений в диапазоне ячеек, адрес которого указан в качестве аргумента функции; =ПРОИЗВЕД(диапазон) - перемножение значений указанного диапазона ячеек; =МАКС(диапазон) - нахождение максимального значения в указанном диапазоне; =МИН(диапазон) - нахождение минимального значения в диапазоне; =СРЗНАЧ(диапазон) - нахождение среднеарифметического значения в диапазоне. Рассмотрим следующий пример. ⎛ − 1 0 4⎞ ⎟ ⎜ Дана матрица А = ⎜ 7 12 3 ⎟ . ⎜ 9 − 8 6⎟ ⎠ ⎝ Вычислить: сумму элементов по строкам; • • произведение элементов по столбцам; • минимальный и максимальный элемент матрицы; • среднее арифметическое значение элементов матрицы. Разместим вычисления в табл.7.19 (режим показа формул).
А
В С Итоговые функции в Excel Исходная матрица А -1 0 4 7 12 3 9 -8 6 Произведение элементов по столбцам
Таблица 7.19 D
1 2 Сумма по строкам 3 =СУММ(А3:С3) 4 =СУММ(А4:С4) 5 =СУММ(А5:С5) 6 7 =ПРОИЗВЕД(А3:А5)=ПРОИЗВЕД(В3:В5)=ПРОИЗВЕД(С3:С5) 8 Максимальный элемент матрицы А =МАКС(А3:С5) 9 Минимальный элемент матрицы А =МИН(А3:С5) 10 Среднее арифметическое значение элементов матрицы А =СРЗНАЧ(А3:С5) 7.14. Проверка условий в Excel Для проверки условий используется функция ЕСЛИ, которая в общем виде записывается так: =ЕСЛИ(условие;выражение1;выражение2). Работает эта функция следующим образом. Проверяется записанное условие. Если оно выполняется, вычисляется выражение1, значение которого
93
записывается в ячейку на место функции ЕСЛИ. Если условие не выполняется, происходит вычисление выражения2. Рассмотрим несколько примеров. Пример 1 если x ≤ 0 ⎧7 x, . Вычислить y = ⎨ ⎩ x + 5, если x > 0 Здесь х – значение ячейки А1. Результат вычислений поместить в ячейку В2. Итак, формула для вычислений должна быть помещена в ячейку В2. Поскольку вычисления требуют проверки условий, очевидно, что в В2 нужно ввести функцию ЕСЛИ. Будем проверять условие х≤0 (т.е. А1<=0). Если это условие выполняется, нужно вычислить у=7х (т.е. выражение1 будет 7*А1) Если же данное условие не выполняется, очевидно, что будет выполняться условие x>0 (т.е. А1>0). В таком случае следует вычислить у=х+5 (т.е. выражением2 будет А1+5). Итак, мы выяснили, что в ячейку В2 следует ввести формулу =ЕСЛИ(А1<=0;7*А1;А1+5). ⎧x , Вычислить y = ⎨ ⎩соs x, 2
если если
Пример 2 x≥4 , x<4
10
где x = ∑ Ai , т.е. сумма элементов массива А. Массив А задан табл. 7.20 i =1
i Ai
1 -6
2 0
3 4
4 -1
5 2
6 16
7 -9
8 25
Таблица 7.20 9 10 41 13
Запишем вычисления в табл. 7.21. А 1 2 3 4 5 6 7 8 9 10 11 12
Номер элемента массива А 1 2 3 4 5 6 7 8 9 10
В
Таблица 7.21 D
С Функция ЕСЛИ Сумма Значение элемента элементов =СУММ(В3:В12) массива А массива А -6 0 =ЕСЛИ(D2>=4;D2*D2;COS(D2)) 4 -1 2 16 -9 25 41 13
94
В ячейке D2 подсчитывается сумма элементов массива А, а в ячейке С4, объединенной с D4, с использованием функции ЕСЛИ эта сумма анализируется. Пример 3 x ⎧e , x > 10 если ⎪ 4 Вычислить z = ⎨ x , если 5 < x ≤ 10 . ⎪9 x, если x≤5 ⎩ Значение х находится в ячейке С8. Результат поместить в ячейку D3. Очевидно, что при решении данной задачи придется проверить не одно, а два условия. Например, проверим выполнение условия х>10. В случае его выполнения путь решения очевиден – следует вычислить z=ex. Если же условие х>10 не выполняется (что равнозначно выполнению условия х≤10), возникает неопределенность: возможно, х≤5, а может быть, значение х находится в интервале (5;10]. Чтобы разрешить эту неопределенность, придется проверить еще одно условие, т.е. использовать в качестве выражения 2 функции ЕСЛИ новую функцию ЕСЛИ. Например, можно проверить с помощью второй функции ЕСЛИ условие х>5 (а можно и х≤5, в этом случае выражение 1 и выражение 2 второй функции ЕСЛИ поменяются местами по сравнению с проверкой условия х>5). Следовательно, в ячейку D3 будем вводить такую функцию: =ЕСЛИ(С8>10;EXP(C8);ЕСЛИ(C8>5;C8^4;9*C8)). Замечание 1. Знак равенства ставится только один раз - перед основной функцией ЕСЛИ.
Замечание 2. В качестве аргументов любой функции можно использовать другие функции (число таких вложенных функций - до шести). Пример 4 y ≤ -15 ⎧sin y, если ⎪ Вычислить t = ⎨cos y, если - 15 < y ≤ 0 . ⎪ln y, если y>0 ⎩ Здесь y – значение ячейки А4. Вычисления поместить в ячейку В4. Вводим в В4 функцию =ЕСЛИ(A4<=-15;SIN(A4);ЕСЛИ(A4<=0;COS(A4);LOG(A4))). Пример 5 х ≥1 если если - 3 ≤ х < 1 .
⎧4 − х , ⎪ Вычислить y = ⎨3 х, ⎪х 3 , если x < −3 ⎩ Значение х находится в ячейке В7, результат поместить в ячейку В8. Использовать присвоение имени ячейкам.
95
Выполнив команды Вставка – Имя – Присвоить, присвоим ячейке В7 имя Х. Тогда в ячейку В8 можно ввести формулу =ЕСЛИ(X>=1;4-X;ЕСЛИ(X>=-3;3*X;X^3)). Пример 6 В ячейке G1 вычисляется значение переменной z по формуле:
⎧ 2 x + 4 , если x < 2 z=⎨ , 3 x − 8 , если x ≥ 2 ⎩ где x – значение ячейки A4. В ячейку G1 помещаем формулу: =ЕСЛИ(А4<2;ABS(2*A4+4);3*A4-8). Пример 7 Вычислить в ячейке В1 значение переменной у по формуле
⎧sin2x, если y =⎨ ⎩ − 2x, если
х >0 х ≤0
,
где х – значение ячейки А1. Формула в ячейке В1 имеет вид =ЕСЛИ(А1>0;SIN(A1)^2;-2*A1). 7. 15. Операции с датами Данные типа ДАТА могут использоваться для учета срока исполнения контрактов, расчета стажа и т.д. Для отображения в ячейке Excel данных этого типа следует установить формат ДАТА/ВРЕМЯ с помощью команд Формат – Ячейка – Число – Дата/Время – Формат Дата/Время. С датами можно проводить следующие операции: 1. Вычитание дат. Пусть возникла необходимость 20.01.05 вычислить в днях возраст человека, родившегося 19.06.72. Введем данные в табл. 7.22. В ячейках В1 и В2 следует установить Таблица 7.22 формат Дата/Время, в ячейке В3 – А В числовой формат. Тот же результат 1 Текущая дата 20.01.05 можно получить, введя в ячейку В3 2 Дата рождения 19.06.72 числа. 2. Сложение формулу =“20.01.05”-“19.06.72”. 3 Возраст в дняхдаты и=В1-В2
2. Сложение дат с числами. Пусть некоторая сумма получена в кредит 25.02.05 и следует ее вернуть через 100 дней. Необходимо рассчитать дату возврата кредита. Сведем вычисления в табл.7.23. Таблица 7.23 Очевидно, что в ячейках В1 и В3 А В следует установить формат 1 Дата получения кредита 25.02.05 Дата/Время, а в ячейке В2 – числовой. 2 Срок кредита (в днях) 100 Аналогичным образом можно 3 Дата возвращения кредита =В1+В2 организовать вычитание числа из даты.
96
7.16. Матричные операции Табличный процессор Excel в категории Математические содержит формулы, позволяющие проводить основные операции с матрицами: сложение, вычитание, умножение, вычисление обратной матрицы. 7.16.1. Сложение матриц Найдем сумму матриц С=А+В, где 1 4 -3 -3 0 4 А= -2 6 5 и В = 5 –7 2 7 –8 9 -4 6 –8 Введем матрицу А в блок ячеек А4:С6, а матрицу В в блок ячеек Е4:G6 (табл.7.24) и присвоим имена этим блокам. Для этого выполните следующие действия: • выделите блок А4:С6; • выполните команды меню Вставка – Имя – Присвоить – А – ОК; • выделите блок Е4:G6; • выполните команды меню Вставка – Имя – Присвоить – В – ОК. Известно, что результатом сложения матриц является тоже матрица, поэтому мы должны выделить диапазон ячеек, в который будет размещена сумма (матрица С). Для этого: • выделите диапазон ячеек А10:С12; • введите с клавиатуры знак равенства =; • выполните команды меню Вставка – Имя – Вставить – А – ОК; • введите с клавиатуры знак +; • выполните команды меню Вставка – Имя – Вставить – В – ОК; • для того чтобы формула =А+В была введена во все выделенные ячейки диапазона, нажмите одновременно клавиши Ctrl+Shift+Enter. В ячейках А10:С12 появится результат вычислений, формулы – в табл.7.25. 7.16.2. Умножение матрицы на число и вычитание матрицы Используем матрицы А и В, которые были введены ранее (п.7.16.1) и вычислим матрицу D, по формуле D=3*A-B. Поскольку матрица D также будет иметь размерность 3х3, выделим диапазон ячеек А15:С17 и введем формулу. Для этого: • введите с клавиатуры =3*; • выполните команды меню Вставка – Имя – Вставить – А – ОК; • введите с клавиатуры знак – (минус). Формула приобретет вид =3*А–; • выполните команды меню Вставка – Имя – Вставить – В – ОК; • нажмите одновременно клавиши Ctrl+Shift+Enter. Результат вычислений см. в табл. 7.24 (режим показа формул – табл.7.25).
97
A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
1 -2 7
Таблица 7.24 B C D E F G ВЫЧИСЛЕНИЕ СУММЫ МАТРИЦ C=A+B Матрица А 4 6 -8
-3 5 9
Матрица В -3 0 4 5 -7 2 -4 6 -8
Матрица С
-2 3 3 6 -11 25
4 -1 -2
1 7 1
ВЫЧИСЛЕНИЕ МАТРИЦЫ D=3*A-B 12 -13 25 13 -30 35
ВЫЧИСЛЕНИЕ ОПРЕДЕЛИТЕЛЯ МАТРИЦЫ А
0,25 0,138 -0,068 29 16 -97
384
ВЫЧИСЛЕНИЕ ОБРАТНОЙ МАТРИЦЫ А -0,03 0,099 0,078 0,033 0,0938 0,036 УМНОЖЕНИЕ МАТРИЦ -46 36 -12 -36 110 -60
7.16.3.Вычисление определителя матрицы Для вычисления определителя матрицы необходимо воспользоваться Мастером функций. Вычислим определитель матрицы А и поместим результат в ячейку G19, так как результатом вычисления определителя матрицы является число. Выполним следующие действия: • активизируем ячейку G19, затем щелкните мышью по пиктограмме Мастер функций; • в окне Категория выберем Математическая, а в окне Функция – МОПРЕД, затем ОК.
98
A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 -2 7
Таблица 7.25 B C D E F ВЫЧИСЛЕНИЕ СУММЫ МАТРИЦ C=A+B Матрица А 4 6 -8
G
Матрица В -3 0 4 5 -7 2 -4 6 -8
-3 5 9
Матрица С
=A+B =A+B =A+B
=3*A-B =3*A-B =3*A-B
=A+B =A+B =A+B
=A+B =A+B =A+B
ВЫЧИСЛЕНИЕ МАТРИЦЫ D=3*A-B =3*A-B =3*A-B =3*A-B =3*A-B =3*A-B =3*A-B
ВЫЧИСЛЕНИЕ ОПРЕДЕЛИТЕЛЯ МАТРИЦЫ А
=МОПРЕД(А)
ВЫЧИСЛЕНИЕ ОБРАТНОЙ МАТРИЦЫ А =МОБР(А4:С6) =МОБР(А4:С6) =МОБР(А4:С6) =МОБР(А4:С6) =МОБР(А4:С6) =МОБР(А4:С6) =МОБР(А4:С6) =МОБР(А4:С6) =МОБР(А4:С6)
=МУМНОЖ (А4:С6;Е4:G6) 28 =МУМНОЖ (А4:С6;Е4:G6) 29 =МУМНОЖ (А4:С6;Е4:G6)
УМНОЖЕНИЕ МАТРИЦ =МУМНОЖ =МУМНОЖ (А4:С6;Е4:G6) (А4:С6;Е4:G6) =МУМНОЖ =МУМНОЖ (А4:С6;Е4:G6) (А4:С6;Е4:G6) =МУМНОЖ =МУМНОЖ (А4:С6;Е4:G6) (А4:С6;Е4:G6)
Обратите внимание! При вводе диапазона А4:С6 в окне Мастера функций появилась формула =МОПРЕД(А), так как выделенному диапазону ранее было присвоено имя А. 7.16.4. Вычисление обратной матрицы Вычислим матрицу, обратную матрице А. Выделим диапазон ячеек А22:С24, в котором будет размещена обратная матрица. С помощью Мастера
99
функций, в окне Категория выберем Математическая, а в окне Функция – МОБР. В открывшемся окне Мастера функций в поле Массив введем диапазон ячеек исходной матрицы А4:С6, затем нажмем одновременно клавиши Ctrl+Shift+Enter. В ячейках А22:С24 (табл.7.24) приведен результат счета. Обратите внимание. Во всех ячейках диапазона А22:С24 записана одна и та же формула =МОБР(А4:С4) 7.16.5. Перемножение матриц Перемножим матрицы А и В. В результате получим матрицу М=А*В. Для этого необходимо выделить диапазон ячеек А27:С29, в нем будем размещать результат вычислений. Затем с помощью Мастера функций, в окне Категория выбираем Математическая, а в окне Функция – МУМНОЖ, затем ОК. В открывшемся окне Мастера функций в поле Массив 1 введем адрес исходной матрицы А (диапазон А4:С6), а в поле Массив 2 введем адрес исходной матрицы В (диапазон Е4:G6), затем одновременно нажмем клавиши Ctrl+Shift+Enter.
Обратите внимание! Формула будет записана в =МУМНОЖ(А4:С6;Е4:G6) во всех ячейках диапазона А27:С29. 1. 2. 3. 4. 5.
виде
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ Можно ли изменить абсолютный адрес ячейки? Можно ли присвоить ячейке имя переменной? Как провести копирование формул из одной ячейки в блок ячеек? Можно ли в Excel вычесть из одной даты другую? Как организовать проверку условия в Excel?
100
8. ФИНАНСОВЫЕ ВЫЧИСЛЕНИЯ В EXCEL В Excel имеется около 50 различных финансовых функций, используя которые можно решать множество финансовых и экономических задач без использования специальных пакетов программ. Рассмотрим некоторые из этих функций. 8.1. Вычисление простых процентов Рассмотрим схему предоставления в кредит некоторой суммы Р на время n. За использование кредита нужно платить, поэтому возврат (наращенная сумма) составит S=P+I. (8.1) Плата I называется "процент". В общем виде I=Prn, (8.2) где r – процентная ставка. Ее размерность «денежная ед./год». Однако вместо формулировки "ставка составляет 0,06 руб/год" обычно используют другую: "ставка составляет 6 % годовых в рублях". При начислении по схеме простых процентов происходит накопление денег за счет периодического, например, ежегодного начисления процентных денег I. В соответствии с этим к курсу первого года наращенная сумма будет равна S1=P+I. К концу второго года S2= S1+I= P+I+I= P+2I. К концу третьего года S3= S2+I= P+2I+ I= P+3I. И в общем виде, к концу срока n Sn= P+nI. Учитывая формулу (8.2), получаем S=P+P⋅rn=P(1+rn). (8.3) Пример 1 Требуется определить сумму накопленного долга, если ссуда, равная 700 000 руб., предоставлена на 4 года под 20 % годовых. Решение Р=700 000 руб., r=20 %, n=4. S=P(1+0,2·n)=700000· (1+0,2·4)=1 260 000 руб. Следует отметить, что срок ссуды (параметр n) может быть как целым числом (кредит выдается на несколько лет, кварталов), так и дробным положительным числом (кредит выдается на неполный год). В этом случае t n= , k где t – число дней ссуды; к – число дней в году. Пример 2 Ссуда в размере 2 млн руб. выдана 25 января 2005 г. до 31 августа 2005 г. включительно под 20 % годовых. Какую сумму нужно заплатить в конце срока?
101
Проведем вычисления по только что полученной формуле (8.3) и сведем их в табл. 8.1 (режим показа формул). Эта же таблица в режиме показа вычислений приведена в табл. 8.2. В ячейках А4:В7 размещены исходные данные. Процентная ставка дана годовая, но кредит взят на меньший срок, поэтому нужно пересчитать ставку для данного периода. (В разделе 7.15 рассматривались операции с датами). Введем в ячейку В9 формулу =B5-B4. Таблица 8.1 А В С 1 Возврат кредита Данные и Комментарии 2 Имена переменных вычисления (формат ячеек) 3 Исходные данные 4 Дата выдачи кредита 25.01.20005 Формат Дата/Время 5 Дата возврата 31.08.2005 Формат Дата/Время 6 Размер кредита 2 000 000р. Формат денежный 7 Процентная ставка 20% Формат процентный 8 Расчеты 9 Число дней кредита =B5-B4 Формат числовой 10 Ставка за период =B7*B9/365 Формат процентный 11 Сумма возврата =B6*(1+B10*1) Формат денежный
Обратите внимание! В ячейках, где находятся даты, установим формат Дата/Время, а в ячейке В9 нас интересует число дней, поэтому формат числовой. Теперь разделим число дней кредита на 365, получим, какую долю года составляет срок кредита. А при умножении этой величины на годовую процентную ставку рассчитаем ставку за период. Поэтому в ячейку В10 введем формулу =B7*B9/365. И наконец, в ячейку В11 введем выражение согласно (8.3). В режиме показа вычислений наша таблица примет вид 8.2. 8.2. Финансовые функции для вычисления будущего значения Как мы только что убедились, финансовые вычисления можно проводить с использованием стандартных возможностей электронных таблиц. Однако в категории Финансовые мастера функций имеется около 50 специальных финансовых функций. В частности, для решения задачи, поставленной в предыдущем примере, можно использовать функцию БЗ (будущее значение). В пакете программ Excel для операционной системы Windows XP эта функция называется БС (будущая сумма). Ее синтаксис: =БЗ(Норма;Число_периодов;Выплаты;Начальное_значение;Тип) Аргументы функции БЗ: Норма – процентная ставка для периода; Число периодов – число лет, месяцев, кварталов;
102
Выплаты – промежуточные выплаты за весь срок предоставления ссуды. (Если таких выплат нет, этот аргумент можно опустить); Начальное значение – размер ссуды; Тип – аргумент вводится, если есть аргумент «Выплаты», иначе опускается. Аргумент Тип равен единице, если промежуточные выплаты проводятся в начале периода и нулю (или опускается), если выплаты проводятся в конце периода. Особенностью всех финансовых функций Excel является результат со знаком минус, если сумму придется отдавать, и со знаком плюс, если это сумма, которую получают. Таблица 8.2 А В С 1 Возврат кредита Данные и Комментарии 2 Имена переменных вычисления (формат ячеек) 3 Исходные данные 4 Дата выдачи кредита 25.01.2005 Формат Дата/Время 5 Дата возврата 31.08.2005 Формат Дата/Время 6 Размер кредита 2 000 000р. Формат денежный 7 Процентная ставка 20% Формат процентный 8 Расчеты 9 Число дней кредита 218 Формат числовой 10 Ставка за период 12% Формат процентный 11 Сумма возврата 2 238 904,11р. Формат денежный Добавим к табл. 8.1 еще одну строку и введем в В12 формулу для расчета возвращаемой суммы с использованием функции БЗ (табл. 8.3). Таблица 8.3 А В С 1 Возврат кредита Данные и Комментарии 2 Имена переменных вычисления (формат ячеек) 3 Исходные данные 4 Дата выдачи кредита 25.01.2005 Формат Дата/Время 5 Дата возврата 31.08.2005 Формат Дата/Время 6 Размер кредита 2 000 000р. Формат денежный 7 Процентная ставка 20% Формат процентный 8 Расчеты 9 Число дней кредита =B5-B4 Формат числовой 10 Ставка за период =B7*B9/365 Формат процентный 11 Сумма возврата =B6*(1+B10*1) Формат денежный Расчет суммы возврата 12 =БЗ(В10;1;;В6) Формат денежный с функцией БЗ
103
В результате в ячейке В12 вычисляется значение –2 238 904,11р. Знак минус показывает, что эта сумма подлежит возврату. Функция БЗ позволяет использовать в качестве аргументов не только адреса ячеек, но и параметры. Сама функция может находиться в любой ячейке ЭТ. Например, для предыдущего примера нет необходимости составлять всю табл. 8.3. Все необходимые данные и расчеты можно поместить непосредственно в качестве аргументов функции БЗ в любую ячейку ЭТ. Она примет вид =БЗ(20%*(“31.08.2005”-“25.01.2005”)/365;1;;2000000). Примечание. Следует отметить, что функцию БЗ можно использовать для проведения операций по схеме простых процентов только в том случае, когда число периодов равно единице. 8.3. Сложные проценты В этом случае в договорах указывается годовая ставка r и количество начислений процентов. Начисление производится каждый раз на наращенную сумму. В этом случае сумма долга к концу первого периода будет равна S1=P+Pr=P(1+r). К концу второго периода S2=S1+ S1r= S1(1+r)= P(1+r)2. К концу третьего периода S3=S2+ S2r= P(1+r)2(1+r)= P(1+r)3. В общем виде наращенная по схеме сложных процентов сумма вычисляется по формуле S= P(1+r)n . (8.4) Пример 3 Кредит в 100 000 руб. предоставили на три года под 20 % годовых с начислением по схеме сложных процентов. Какую сумму придется возвращать? Решение Р=100 000 руб, r=20 %, n=3 года. S= P(1+r)n=100000(1+0,2)3=172 800 (руб). Пример 4 Ссуда в 10 000 долларов дана в долг на 2 года под 12 % годовых с ежеквартальным начислением. Какова будет сумма накопленного долга? Решение P=$10 000, r=12 %, n=2 года. Так как процентная ставка дана годовая, а период начисления процентов – квартал, сначала рассчитаем процентную ставку за период, она равна: r
rn = n = 124% = 3 % Тогда число периодов (кварталов) равно 24=8. Накопленный долг равен S= P(1+rn)n=10000(1+0,03)8=12 666,7 (долларов). Для вычисления по схеме сложных процентов в Excel используется функция БЗ. Синтаксис этой функции рассмотрен в п. 8.2.
104
Пример 5 Ссуда в размере 30 000 долларов дана на три года под ставку 32 % годовых с ежеквартальным начислением. Определить сумму конечного платежа. Здесь базовый период – квартал. В году четыре квартала, значит срок ссуды 3*4=12 периодов. За один период выплачивается 32 %/4=8 %. Тогда формула для решения задачи примет вид =БЗ(32%/4;3*4;;30000). Она возвращает результат –75 545,10. Знак «минус» означает, эта сумма подлежит возврату. Пример 6 Банк принимает вклады на срок 3 месяца с объявлением годовой ставки 100 % или на шесть месяцев под 110 %. Как выгоднее вкладывать деньги на полгода: дважды на три месяца или один раз на шесть месяцев? Считаем, что вклад равен 1 000 руб. Вычислим наращение суммы для обеих предлагаемых схем вклада. Так как деньги вкладчик отдает банку, начальное значение должно иметь знак «минус»! Для первой схемы получаем формулу =БЗ(100%*3/12;2;;-1000). Она возвращает результат 1 560 руб. Для второй схемы формула =БЗ(110%*6/12;1;;-1000) возвращает результат 1550 руб. Значит, вклад по первой схеме выгоднее. 8.4. Постоянные ренты Рента – это финансовая схема с многократными взносами или выплатами R1=R2=…=Rn=R, разделенными равными промежутками времени. Для вычисления ренты также можно использовать функцию БЗ. Пример 7 На счет в банке вносится сумма 10 000 долларов в течение 10 лет равными долями в конце каждого года. Годовая ставка 4 %. Какая сумма будет на счету через 10 лет? Каждый год нужно вносить 10 000/10=1 000 (долларов). Это будет значение аргумента «Выплаты». Аргумент «Начальное значение» отсутствует, его можно опустить. Аргумент «Тип» равен нулю, так как выплаты проводятся в конце периода. Функция имеет вид =БЗ(4%;10;-1000;;0). Она возвращает результат $12006,11. Поскольку аргумент «Тип» равен 0, его можно опустить. Тогда выражение примет вид =БЗ(4%;10;-1000). Пример 8 Рассчитать накопленную сумму для предыдущего примера, если взнос производится в начале года. В этом случае аргумент «Тип» равен единице. Формула имеет вид =БЗ(4%;10;-1000;;1) и возвращает результат $12 486,35.
105
Пример 9 Рассматриваются две схемы вложения денег на три года: в начале каждого года под 24 % годовых или в конце каждого года под 36 %. Ежегодно вносится 4 000 руб. Какая схема выгодней? Для первой схемы имеем формулу =БЗ(24%;3;-4000;;1) с результатом 18 736,9 руб. Для второй схемы функция имеет вид =БЗ(36%;3;-4000) и возвращает результат 16 838,4 руб. Таким образом, первая схема выгоднее. 8.5. Финансовые функции для вычисления текущих значений Теперь рассмотрим, как по будущему значению определить текущее (современное) значение. В этом случае используется финансовая функция ПЗ (приведенное или современное значение). В табличном процессоре Excel для Windows XP эта функция называется ПС (приведенная сумма). Эта функция имеет синтаксис =ПЗ(Норма;Число периодов;Выплаты;Будущее значение;Тип). Пример 10 Вкладчик собирается положить деньги в банк на четыре года под 25 % и накопить 15 000 руб. Какую сумму он должен вложить? Решение S=15 000 руб, n=4, r=25 %. Из уравнения (8.4) найдем P =
S (1 + r ) n
=
15000 (1 + 0,25) 4
= 6144 (руб).
Теперь воспользуемся функцией ПЗ. Она примет вид =ПЗ(25%;4;;15000). Эта функция вернет значение –6 144 руб (знак «минус» означает, что данная сумма отдается вкладчиком в банк). Пример 11 Вексель на 5 млн долларов с процентной ставкой 10 % и начислением процентов дважды в год выдан на два года. Какую сумму можно получить под этот вексель? Процентная ставка дана годовая, а проценты начисляются дважды в год. Значит, ставка за период равна 10 %/2=5 %. Число периодов 2*2=4. Рассчитаем, какую сумму можно получить сегодня, взяв на себя обязательство вернуть через два года 5 млн долларов.
P=
S (1 + r ) n
=
5000000 (1 + 0,05) 4
= 4113512 (долларов).
Теперь проведем эти расчеты в Excel, введя в любую ячейку функцию ПЗ. Функция имеет вид =ПЗ(10%/2;2*2;;-5000000). Эта функция возвращает значение +4 113 512,37 руб. 8.6. Вычисление продолжительности ссуды Обратимся к задаче определения продолжительности ссуды при заданных современном и будущем значениях и процентной ставке.
106
Для решения этой задачи удобно воспользоваться функцией КПЕР (количество периодов). Она имеет синтаксис =КПЕР(Норма;Выплаты;Начальное значение;Будущее значение;Тип). Пример 12 За какой срок сумма, равная 30000 рублей, достигнет 100000 рублей при начислении процентов по сложной ставке 18 %? Запишем функцию =КПЕР(18%;;-30000;100000). Она возвращает значение 7 лет. Пример 13 В условиях предыдущего примера проценты начисляются поквартально. За какой срок сумма достигнет желаемого значения? Теперь функция примет вид =КПЕР(18%/4;-30000;100000).Она возвращает значение 27. Это срок накопления суммы 100000 рублей в кварталах. Чтобы получить срок в годах, откорректируем формулу. Функция =КПЕР(18%/4;-30000;100000)/4 возвращает результат 6,9 лет. 8.7. Вычисление процентной ставки Если известны современное и будущее значения сумм, а также число периодов выплат, можно вычислить процентную ставку с использованием функции НОРМА (в Windows XP – СТАВКА). Ее синтаксис =НОРМА(Число периодов; Выплаты; Начальное значение; Будущее значение; Тип; Начальное приближение). В отличие от ранее рассмотренных функций здесь появился аргумент «Начальное приближение». Этот аргумент можно опустить Пример 14 В долг на полтора года дана сумма 5 000 долларов с условием возврата 8 000 долларов. Вычислить годовую процентную ставку. Функция имеет вид =НОРМА(1,5;;5000;-8000) и возвращает значение 37 %. 8.8. Расчет размера платежей ренты Для расчета определенного члена ренты R в Excel используется функция ППЛАТ (промежуточные платежи). В OC Windows ХР она имеет название ПЛТ. Ее синтаксис =ППЛАТ(Норма;Число периодов;Начальное значение;Будущее значение;Тип). Как видим, все аргументы функции нам уже известны. Пример 15 Семья планирует взять в банке 6-месячную ссуду в размере $20000. Какова будет величина месячных выплат при процентной ставке, равной 6 %? Решение 1. Если в условии не указан тип процентной ставки, подразумевается, что это сложная процентная ставка. Итак, n=6 месяцев, Р=$20000, S=0, r %=6 % годовых. 2. Ставка дана годовая, значит ее величина за период составит
107
6% 3% = 3 % =0,03. А за каждый период выплат (месяц) = 0,5 % =0,05. 2 6
3. Если в условии задачи не оговаривается, в начале или в конце периода производятся выплаты, подразумевается, что они осуществляются в конце периода (т.е. аргумент тип равен 0 или опускается). Число периодов 6. В любую ячейку Excel вводим формулу =ППЛАТ(6%/12;6;20000;0). В результате получаем –3 391,91. Пример 16 Пусть в условиях предыдущего примера контракт с банком предусматривает выплаты в начале каждого месяца. Чему равна величина ежемесячных выплат? Решение Так как выплаты производятся в начале месяца, аргумент тип равен 1. Получаем формулу =ППЛАТ(6%/12;6;20000;0;1). В результате будет вычислено значение –3 375,03. Если поток платежей представляет собой постоянные выплаты R за взятый кредит, то каждый член ренты R (платежи) включает в себя две составляющие: платежи по процентам за заданный период (для расчета этого параметра в Excel используется функция ПЛПРОЦ) и основные платежи – без процентов (функция ОСНПЛАТ). В Windows ХР эти функции имеют соответственно имена ПРОЦПЛАТ и ОСПЛТ. Синтаксис функций одинаков: =ПЛПРОЦ(Норма;период; Число периодов; Начальное значение; Будущее значение; Тип) =ОСНПЛАТ(Норма; Период; Число периодов; Начальное значение; Будущее значение; Тип). Как видим, здесь появился новый аргумент – период. Это период, для которого требуется найти прибыль (или начисленную сумму). Этот аргумент должен находиться в интервале от 1 до число периодов. Пример 17 Рассчитать плату за проценты и основные платежи для каждого месяца в задаче примера 15. Решение Так как плата по процентам и основная плата будут производиться по месяцам, результаты вычислений следует свести в табл. 8.4. В ячейке В7 вычисляется плата по процентам за первый месяц возврата ссуды, в ячейке С7 – основная плата, в D7 – остаток долга. Для расчета этих сумм на следующие 5 месяцев следует провести копирование формул: из ячейки В7 – в ячейки В8:В12, из ячейки С7 – в ячейки С8:С12 и из ячейки D7 – в ячейки D8:D12. Результат вычислений представлен в табл. 8.5.
100
Таблица 8.4 1 2 3 4
A B Процент =6%/12 Число выплат 6 Ежемесячная плата =ППЛАТ(B1;B2;B4) Размер ссуды 20000 Плата по процентам
C
D
лет
Основная плата
Остаток долга
5
Месяц
6
0
7
1
=ПРПЛТ($B$1;B8;$B$2;$B$4)
=ОСНПЛАТ($B$1;A7;$B$2;$B$4)
=D6+C7
8
2
=ПРПЛТ($B$1;B9;$B$2;$B$4)
=ОСНПЛАТ($B$1;A8;$B$2;$B$4)
=D7+C8
9
3
=ПРПЛТ($B$1;B10;$B$2;$B$4)
=ОСНПЛАТ($B$1;A9;$B$2;$B$4)
=D8+C9
10 4
=ПРПЛТ($B$1;B11;$B$2;$B$4)
=ОСНПЛАТ($B$1;A10;$B$2;$B$4)
=D9+C10
11 5
=ПРПЛТ($B$1;B12;$B$2;$B$4)
=ОСНПЛАТ($B$1;A11;$B$2;$B$4)
=D10+C11
12 6
=ПРПЛТ($B$1;B13;$B$2;$B$4)
=ОСНПЛАТ($B$1;A12;$B$2;$B$4)
=D11+C12
20000
100
Таблица 8.5 А
В
1 Процент 2 Число выплат Ежемесячная 3 плата 4 5 6 7 8 9 10 11 12
С
D
0,005 6 лет -$3 391,91 $ 20 000 Плата по Основная процентам плата
Размер ссуды Месяц 0 1 2 3 4 5 6
-$100,00 -$83,54 -$67,00 -$50,37 -$33,67 -$16,88
Остаток долга 20000 -$3 291,91 $16 708,09 -$3 308,37 $13 399,72 -$3 324,91 $10 074,81 -$3 341,54 $6 733,28 -$3 358,24 $3 375,03 -$3 375,03 -$0,00
8.9. Финансовые схемы с учетом инфляции Инфляция характеризуется обесцениванием национальной валюты, снижением ее покупательной способности и общим повышением цен в стране. При наличии инфляции инвестор может потерять часть дохода, а заемщик может выгадать за счет погашения задолжности деньгами сниженной покупательной способности. На этом основании необходимо установить количественное соотношение по определению влияния инфляции на показатели финансово-коммерческих операций. Все показатели финансово-коммерческих операций можно разделить на две группы: номинальные, рассчитываемые в текущих ценах, и реальные, учитывающие влияние инфляции, рассчитанные в сопоставимых ценах базового периода. 8.9.1. Реальная покупательная способность денег В рассмотренных выше финансовых схемах (расчет простых и сложных процентов, ренты, платы по векселям) все денежные единицы измерялись по номиналу, т.е. не принималось во внимание снижение их реальной покупательной стоимости за период, охватываемый операцией. Однако в современных условиях инфляция играет существенную роль. Инфляцию следует учитывать в двух случаях: при расчете наращенных сумм и при оценке реальной доходности финансовой операции. Введем обозначения: S – наращенная сумма по номиналу. Она вычисляется по формуле (8.3) S=P(1+r·n). C – наращенная сумма с учетом ее обесценивания;
101
Jр – индекс цен; Jс – индекс изменения покупательной способности денег за период. Значение наращивания с учетом обесценивания будет равно C=S⋅Jc. (8.5) Индекс покупательной способности равен 1 Jc= . (8.6) Jp Значит,
С=
S . Jp
(8.7)
Индексы Jp, Jc должны относиться к одинаковым интервалам времени. Пример 18 Пусть сегодня получено 150 тыс. руб. Известно, что за два предыдущих года цены увеличились в 1,5 раза (или произошло повышение цен на 50 %). Найти реальную покупательную способность денег. Решение S=150 000 руб. Индекс цен Jp=1,5, а индекс покупательной способности 1 Jc = . 1.5 Следовательно, по формуле (8.7) реальная покупательная способность S=150 тыс. руб. составит С=150/1,5=100 тыс. руб. в деньгах с покупательной способностью двухлетней давности. 8.9.2. Расчет темпа инфляции Индекс цен связан с темпом инфляции. Под темпом инфляции h понимается относительный прирост цен за период (обычно в процентах). h=100(Jp-1). (8.8) Для предыдущего примера темп инфляции h=100(1.5-1)=50 %. Можно найти из (8.8) обратную зависимость – индекс цен: h J p =1+ . (8.9) 100 Например, если темп инфляции за период равен 30 %, то это означает, что 30 цены выросли в J p = 1 + = 1,3 раз. 100 Инфляция является цепным процессом. (При расчете инфляции за текущий период нужно учитывать инфляцию за предыдущий период) Следовательно, индекс цен за несколько периодов равен произведению индексов цен n ⎛ h ⎞ (8.10) J p = ∏ ⎜1 + i ⎟ , 100 ⎠ i =1⎝ где hi – темп инфляции в периоде i. Если h –постоянный ожидаемый (или прогнозируемый) темп инфляции за один период, то за t таких периодов получим
102
t
h ⎞ ⎛ (8.11) J p = ⎜1 + ⎟ . 100 ⎝ ⎠ Грубейшей ошибкой является суммирование темпов инфляции! Пример 19 На следующий год прогнозируется постоянный темп инфляции в размере 5 % в месяц. Каков будет рост цен за год? Решение h= 5 %, t=12 месяцев. Индекс цен по формуле (8.11) равен 12
5 ⎞ ⎛ 12 Jр = ⎜1 + ⎟ = 1,05 = 1,796 . ⎝ 100 ⎠ Т.е. годовой темп инфляции h=100(1,796-1)=79,6 % (а при ошибочном суммировании 60 %!). Пример 20 Приросты цен за три месяца составили: 1,5 %, 1,2 %, 0,5 %. Найти индекс цен и темп инфляции за три месяца. Решение h1=1,5 %, h2=1,2 %, h3=0,5 %. По формуле (8.10) получим 1,5 ⎞⎛ 1,2 ⎞⎛ 0,5 ⎞ ⎛ Jp = ⎜1 + ⎟⎜1 + ⎟ = 1,015 * 1,012 * 1,005 = 1,0323. ⎟⎜1 + ⎝ 100 ⎠⎝ 100 ⎠⎝ 100 ⎠ Значит, темп инфляции за три месяца равен h=100(1,0323-1)=3,23 %. 8.9.3. Расчет обесценивания денег Важной проблемой является обесценивание денег при их наращивании. Если наращивание производится по простой ставке, то наращенная сумма с учетом покупательной способности равна Р(1 + r ⋅ n) 1+ r ⋅n S . (8.12) = =P С= t Jp Jp h ⎛ ⎞ ⎜1 + ⎟ ⎝ 100 ⎠ Отсюда очевидно, что увеличение наращиваемой суммы с учетом инфляции имеет место только тогда, когда (8.13) 1+in>Jp. Пример 21 В банк на три месяца положена сумма 1,5 млн руб. под 28 % годовых. Ежемесячная инфляция характеризуется темпами 2,5 %, 2,0 %, 1,8 %. Получит ли вкладчик реальную прибыль? Решение Р=1,5 млн руб., r=28 %, h1=2,5 %, h2=2,0 %, h3=1,8 %. 1. По формуле (8.10) индекс цен равен 2,5 ⎞⎛ 2 ⎞⎛ 1,8 ⎞ ⎛ J p = ⎜1 + ⎟⎜1 + ⎟ = 1,025 * 1,02 * 1,018 = 1,064. ⎟⎜1 + 100 100 100 ⎠ ⎝ ⎠⎝ ⎠⎝
103
2. Наращенная сумма рассчитывается по формуле (8.3): S=P(1+rn)=1,5(1+0,28/4*1)=1,605 (млн руб.). 3. С учетом обесценивания наращенная сумма рассчитывается по формуле (8.7) и составит 1,605 S = = 1,508 млн руб. С= J p 1,064 4. Реальный доход от 1,5 млн руб. равен 1,508-1,5=0,008 млн руб. =0,008*1 000 000 руб.=8 000 (руб.). 5. Для расчета на компьютере используется функция БЗ: =БЗ(Норма; Число периодов; Выплаты; НЗ;Тип). В любую ячейку Excel нужно ввести формулу =БЗ(28%/4;1;;-1,5)/(1+2,5/100)/(1+2/100)/(1,8/100)-1,5. Пример 22 Рассчитать, какая реальная сумма будет получена при вложении в банк на полгода 500 тыс. руб. под 15 % годовых, если ежемесячная инфляция составит 10 %. Решение Р=500 000 руб., r=15 % годовых, h=10 %. 1. Индекс цен рассчитываем по формуле (8.11). Он равен 6
10 ⎞ ⎛ 6 J p = ⎜1 + ⎟ = 1,1 = 1,77. ⎝ 100 ⎠ 2. Наращенная сумма по формуле (8.3) равна 0,15 ⎞ ⎛ S = p (1 + r ⋅ n) = 500 000⎜1 + ⋅ 1⎟ = 537 500. 2 ⎠ ⎝ 3. С учетом обесценивания по формуле (8.7) наращенная сумма составит ⎛ 537500 ⎞ С= ⎜ ⎟ =303 407. ⎝ 1,77 ⎠ 4. Доход равен D=303 407-500 00=-196 593. Очевидно, что вместо дохода такой вклад принесет убыток. 5. Решение на компьютере. Вводим формулу =БЗ(15%/2;1;;-500000)/(1+10/100)^6-500000. ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. В каких случаях можно использовать функцию БЗ для проведения расчетов по схеме простых процентов? 2. Что означает знак минус перед суммой, рассчитанной одной из финансовых функций Excel? 3. Какую финансовую функцию можно использовать для расчетов по схеме сложных процентов? 4. Какая финансовая схема называется рентой? Укажите функцию Excel, используемую для расчета постоянных рент. 5. Приведите функцию Excel для расчета процентной ставки кредита.
113
9. ОЦЕНКА ИНВЕСТИЦИОННЫХ ПРОЕКТОВ Инвестиции – это вложение средств в новое предприятие или бизнес. Можно выделить две группы задач при оценке инвестиционных проектов: для равномерного и неравномерного поступления денежных средств. 9.1. Анализ инвестиционных проектов при равномерном поступлении денежных средств В экономике в этом случае учитывают следующие параметры: 1) FV (future value) - будущая стоимость инвестиции. FV представляет собой сумму, которую мы получим через определенный срок (n), вложив определенную сумму (PV) под данный процент (r). FV рассчитывается по формуле FV=РV*(1+ r)n , (9.1) где FV-текущая стоимость инвестиции (вкладываемые деньги); n - срок, на который инвестируются деньги; r - процентная ставка. Например, у нас есть 1000 рублей, мы собираемся вложить их в банк под 10 % на 3 года и хотим узнать, сколько мы получим по истечении срока инвестиции. FV=1000(1+0,1)3=1331 (руб). В Excel для расчета этого параметра используют функцию БЗ. Введем в любую ячейку Excel формулу =БЗ(10%;3;;-1000). 2) PV (present value) - текущая стоимость инвестиции. Например, мы хотим через 3 года получить 1000 рублей, положив деньги в банк под 10 %. РV представляет собой сумму, которую нам нужно инвестировать сегодня, чтобы получить 1000 рублей (FV) через 3 года (n) на указанных условиях (r=10 процентов). PV рассчитывается по формуле FV , (9.2) PV = ( 1 + r) n где FV - будущая стоимость инвестиции; n - срок, на который инвестируются деньги; r- процентная ставка. Для нашего примера
PV =
1000 (1 + 0,1) 3
= 751,3 (руб).
В Excel для расчета используется функция ПЗ (Приведенное Значение или Современное Значение). Ее синтаксис и работа рассмотрены в главе 8. Введем в любую ячейку Excel формулу =ПЗ(10%;3;;1000) и получим тот же результат. 3) СС - цена капитала. Это общая сумма средств, которую нужно уплатить за использование определенного объема финансовых ресурсов, выраженная в процентах к этому объему.
114
Если какой-то фирме предлагают несколько вариантов вложений капитала (несколько инвестиционных проектов), с неравномерными поступлениями денежных средств, нужно иметь четкий аппарат сравнения этих проектов между собой. 9.2. Сравнение инвестиционных проектов при неравномерном поступлении денежных средств При принятии управленческих решений инвестиционного характера (например, какая из инвестиций является более выгодной, или каким образом и какие инвестиционные проекты стоит использовать для формирования портфеля заказов предприятия) обычно проводится оценка и сравнение объема предполагаемых инвестиций и денежных поступлений. При инвестиции многих проектов возврат средств будет производиться в несколько периодов, неравномерно и по времени, и по денежным потокам. Например, фирме предлагают проект, требующий вложения 4 млн руб. По прогнозам через 2 года возврат должен составить 1 млн руб., через 3 года – 4 млн руб., а через 4 года – 2 млн руб. Банковский процент равен 15 %. Выгодно ли такое вложение денег? Очевидно, что использовать параметры FV, PV (и соответственно функции Excel БЗ и ПЗ) нельзя из-за неравномерности денежных потоков. В экономике для оценки таких проектов используют следующие параметры. 1) Чистый приведенный доход (NPV) рассчитывается по формуле n Pk NPV = ∑ − IC , (9.3) k k =1(1 + r ) где Pk- сумма денежных поступлений за период К; IC - сумма первоначального вложения; r - процентная ставка (коэффициент дисконтирования); n - количество лет, в течение которых будут приходить денежные поступления. Экономический смысл NPV: Если NPV > 0, то проект прибыльный; NPV < 0, то проект убыточный; NPV = 0, то проект ни прибыльный, ни убыточный. 2) Индекс рентабельности (РI) рассчитывается по формуле: n Pk PI = ∑ . (9.4) IC k k =1 ( 1 + r) Он позволяет сравнить величину полученного дохода с величиной затрат на проект. Экономический смысл РI: Если PI > 1, то проект рентабельный; PI < 1, то проект нерентабельный.
115
3) Внутренняя норма прибыли инвестиции (IRR) представляет собой процентную ставку, при которой NPV = 0. Таким образом, IRR находится из уравнения n Pk (9.5) = 0. ∑ k ( IRR) 1 + k =0 Экономический смысл IRR: Если IRR > СС, то проект следует принять; IRR < СС, то проект следует отвергнуть; IRR = СС, то проект ни прибыльный, ни убыточный. 4) Срок окупаемости инвестиций (РР) обычно рассчитывается прямым подсчетом числа лет, в течение которых поступающие денежные потоки превысят сумму первоначальных вложений. Общая формула расчета РР имеет вид РР = n, при котором
n
∑ Pk
> IC .
(9.6)
k =1
При анализе данные показатели могут использоваться как в комплексе, так и по отдельности, то есть основное внимание может уделяться тому или иному показателю. В более упрощенном виде,наиболее выгодным является проект, у которого первые три показателя (NPV, PI, IRR) наибольшие, а последний (РР) наименьший. Пример 1 Предлагаются два инвестиционных проекта сроком на 4 года. Инвестиционные вложения по обоим проектам составляют 10000 долларов. Предполагаемые денежные потоки показаны в табл. 9.1. Таблица 9.1 Рассчитать значения NPV, PI, PP для Потоки платежей Год банковской ставки по сложным процентам, Проект А Проект В равной 10 %. 0 Решение 10000 10000 1. Рассчитаем приблизительный доход 1 0 5000 проекта (без учета неравномерности поступления 2 5000 4000 платежей по годам и банковских процентов). 3 5000 3000 4 4000 1500 Доход от проекта А: DA=0+5000+5000+4000-10000=4000 (долларов). Доход от проекта В: DВ=5000+4000+3000+1500-10000=3500 (долларов). Итак, предварительные грубые расчеты показывают, что проект А более выгоден. 2. Рассчитаем чистый приведенный доход NPV по формуле (9.3). Для проекта А Р1=0, Р2=5000, Р3=5000, Р4=4000, n=4, r=0,1, IC=10000.
116
NPV A =
0
+
5000
+
5000
+
4000
− 10000 = (1 + 0,1)1 (1 + 0,1) 2 (1 + 0,1) 3 (1 + 0,1) 4 = 0 + 4132,2 + 3756 + 2730 − 10000 = 10618,2 − 10000 = 618,2(руб) Итак, за счет неравномерности поступления средств проект А принесет прибыль не 4000 руб., а 618,2 руб. Для проекта В Р1=5000, Р2=4000, Р3=3000, Р4=1500, n=4, r=0,1, IC=10000.
NPV В =
5000
1
+
4000
2
+
3000
3
+
1500
4
− 10000 =
(1 + 0,1) (1 + 0,1) (1 + 0,1) (1 + 0,1) = 4545 + 3306 + 2250 + 1020 − 10000 = 11121 − 10000 = 1121 (руб) Итак, проект В принесет прибыль не 3500 руб., как рассчитано в п. 1, а 1121 руб. Но из п. 2 следует, что этот проект является более прибыльным, чем А! То есть при оценке инвестиционных проектов нельзя доверять приблизительным расчетам! 3. Рассчитаем индекс рентабельности PI по формуле (9.4). Для проекта А: 10618,2 PI A = = 1,062. 10000 Для проекта В: 11121 PI B = = 1,112. 10000 Очевидно, что вновь следует отдать предпочтение проекту В (PIB=1,112>PIA=1,062). 4. Рассчитаем срок окупаемости проектов РР по формуле (9.6). Для проекта А он равен 3 года: 0+5000+5000=10000 (руб). Для проекта В РР также равен 3 года: 5000+4000+3000=12000>10000. По этому параметру проекты сравнимы. Вывод. Так как проект В принесет больший чистый приведенный доход и имеет больший индекс рентабельности, отдается предпочтение проекту В. 9.3. Сравнение инвестиционных проектов с помощью Excel В Excel для оценки и сравнения инвестиционных проектов в основном используются две функции: - НПЗ (нетто приведенное значение) для оценки чистого приведенного дохода NPV; - ВНДОХ (внутренняя доходность) для расчета внутренней нормы прибыли инвестиции IRR. В OC Windows XP эти функции соответственно имеют имена ЧПС (чистая приведенная стоимость) и ВСД (внутренняя ставка доходности). Синтаксис функции НПЗ: =НПЗ(Ставка;Платежи).
117
Здесь ставка – процентная ставка; платежи – адрес диапазона ячеек, где размещаются значения потока платежей. Обратите внимание! В этот поток не включается значение первоначального n
вклада IC! То есть функция НПЗ рассчитывает значение ∑
Pk
k =1 (1 + r )
k
.
Функция ВНДОХ имеет синтаксис: =ВНДОХ(платежи;прогноз). Здесь аргумент платежи представляет собой адрес диапазона ячеек Excel, где размещены все платежи, включая сумму инвестиции IC. Аргумент прогноз вводится пользователем, если он может предположить, какое приблизительно значение примет искомый коэффициент IRR. Если для таких предположений нет достаточных данных, этот аргумент можно опустить. Создадим табл. 9.2 для сравнения инвестиционных проектов с данными, приведенными в табл. 9.1. Таблица 9.2 В объединенные ячейки А12:В12 (они A B C D имеют адрес А12) 1 Сравнение инвестиционных проектов введена формула для 2 Проект А Проект В вычисления чистого 3 Потоки платежей приведенного дохода 4 Год Сумма Год Сумма проекта А. Поскольку 5 0 -10000 0 -10000 функция НПЗ вычис6 1 0 1 5000 ляет только суммарный 7 2 5000 2 4000 доход за вычетом 8 3 5000 3 3000 банковских процентов и 9 4 4000 4 1500 не учитывает суммы 10 Процентная ставка 10% инвестиции, от значе11 Расчет чистого приведенного дохода (NPV) ния функции НПЗ сле12 =НПЗ(С10;В6:В9)+В5 =НПЗ(С10;D6:D9)+D5 дует вычесть значение 13 Расчет индекса рентабельности (PI) 14 =НПЗ(С10;В6:В9)/(-В5) =НПЗ(С10;D6:D9)/(-D5) ячейки В5. 15 Расчет внутренней нормы прибыли (IRR) 16 =ВНДОХ(В5:В9) =ВНДОХ(D5:D9) Однако в ячейке В5 находится значение инвестиционной суммы со знаком минус, поэтому в формулу ячейка В5 входит со знакам плюс. Аналогичным образом в ячейке С12 вычисляется NPV для проекта В. Результат вычислений приведен в табл. 9.3. 9.4. Учет влияния процентной ставки на эффективность проекта с использованием Excel Поскольку в формулу для расчета чистого приведенного дохода NPV входит банковский процент r, величина процентной ставки влияет на полученный доход от проекта. Составим табл. 9.4 для исследования влияния банковского
118
процента на чистый приведенный доход. Таблица 9.3
1 2 3 4 5 6 7 8 9 10
А B C D Сравнение инвестиционных проектов Проект А Проект В Потоки платежей Год Сумма Год Сумма 0 -10000 0 -10000 1 0 1 5000 2 5000 2 4000 3 5000 3 3000 4 4000 4 1500 Процентная ставка 10%
11 12 13 14 15 16
Расчет чистого приведенного дохода (NPV) 620,86р. 1 129,70р. Расчет индекса рентабельности (PI) 1,06р. 1,11р. Расчет внутренней нормы прибыли (IRR) 12% 16% Таблица 9.4
A 1 2 3 4 5 6 7 8 9 10 11 12 13 14
B
C
D
Оценка влияния процентной ставки на доходность проекта Проект А Проект В Потоки платежей Год Сумма Год Сумма 0 -10000 0 -10000 1 0 1 5000 2 5000 2 4000 3 5000 3 3000 4 4000 4 1500 Чистый приведенный Чистый приведенный Процент доход Процент доход 5% =НПЗ(A11;B$6:B$9)+B$5 5% =НПЗ(C11;D$6:D$9)+D$5 10% =НПЗ(A12;B$6:B$9)+B$5 10% =НПЗ(C12;D$6:D$9)+D$5 15% =НПЗ(A13;B$6:B$9)+B$5 15% =НПЗ(C13;D$6:D$9)+D$5 20% =НПЗ(A14;B$6:B$9)+B$5 20% =НПЗ(C14;D$6:D$9)+D$5
Формула для вычисления NPV проекта А вводится в ячейку В11 и копируется в ячейки В12:В14. Аналогичным образом формула для вычисления
119
NPV проекта В вводится в ячейку D11 и копируется в ячейки D12:D14. Результат вычислений представлен в табл. 9.5. Таблица 9.5 A B C D 1 Оценка влияния процентной ставки на доходность проекта 2 Проект А Проект В 3 Потоки платежей 4 Год Сумма Год Сумма 5 0 -10000 0 -10000 6 1 0 1 5000 7 2 5000 2 4000 8 3 5000 3 3000 9 4 4000 4 1500 Чистый приведенный Чистый 10 Процент доход Процент приведенный доход 11 5% 2 145,15р. 5% 2 215,59р. 12 10% 620,86р. 10% 1 129,70р. 13 15% -644,69р. 15% 202,58р. 14 20% -1 705,25р. 20% -596,06р.
Из табл. 9.5 видно, что увеличение процентной ставки приводит к уменьшению доходности проекта. Если значение дохода становится отрицательным, проект будет приносить убыток. Значит, при таких процентах лучше положить деньги на депозит в банк, чем инвестировать их в данный проект. ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. Какие параметры учитываются при оценке инвестиционных проектов с равномерными поступлениями денежных средств? 2. Какие параметры учитываются при неравномерном поступлении средств? 3. Укажите функцию, используемую для расчета чистого приведенного дохода проекта. 4. Как оценить рентабельность инвестиционного проекта? 5. Как проверить влияние процентной ставки на доход от проекта?
120
10. ЗАДАЧИ АНАЛИЗА И ПРОГНОЗИРОВАНИЯ Одна из серьезнейших задач, стоящих перед любым управляющим и экономистом – на основе анализа деятельности предприятия за прошлый период осуществить планирование его деятельности в следующем периоде. Рассмотрим две задачи такого рода. 10.1. Балансовая модель Рассмотрим задачу планирования производства на примере балансовой модели. Пример 1 Экономическая система состоит их трех отраслей. Объемы производства каждой из отраслей за предыдущий период, текущее производственное потребление в отраслях, а также прогнозируемый конечный спрос продукции каждой из трех отраслей приведены в табл. 10.1. Определить конечную продукцию каждой из отраслей за предыдущий период и план выпуска продукции в следующем периоде, считая, что технология производства не изменилась. Таблица 10.1 Производственное потребление ПрогнозируеОбъемы Отрасли производства отраслей за предыдущий период мый конечный спрос отраслей 1 2 3 1 600 250 100 160 2000 2 1000 150 500 0 2000 3 800 0 300 400 3000 10.1.1. Математическая постановка задачи Для решения поставленной задачи можно использовать балансовую модель Леонтьева. Она представляет собой систему уравнений, каждое из которых выражает требование равенства (баланса) между количеством продукции, производимой отдельным экономическим объектом, и совокупной потребностью в этой продукции. В рассматриваемой задаче экономическая система состоит из трех отраслей. Пусть Хi - величина, равная суммарному выпуску продукции отрасли i; xij - количество продукции отрасли i, необходимое для того, чтобы отрасль j произвела Xj единиц своей продукции; Yi - количество продукции отрасли i, оставшейся для внешнего потребления (конечная продукция). Тогда взаимосвязь отраслей в процессе производства и потребления отдельного продукта Хi (i=1, 2, 3) может быть описана в виде следующих уравнений: X 1 = x11 + x12 + x13 + Y 1 ; (10.1) X = x + x + x +Y ; 2
21
22
23
2
X 3 = x 31 + x 32 + x 33 + Y 3 . Используем понятие коэффициентов прямых затрат (технологических коэффициентов) aij:
121
a ij =
х ij X
- количество продукции отрасли i, необходимое для того, чтобы
j
отрасль j произвела одну единицу своей продукции. Тогда xij=aijXj и система уравнений (10.1) будет иметь следующий вид:
X 1 = а11 Х 1 + а12 Х 2 + а13 Х 3 + Y 1; X 2 = а 21 Х 1 + а 22 Х 2 + а 23 Х 3 + Y 2 ; X 3 = а31 Х 1 + а32 Х 2 + а33 Х 3 + Y 3 .
(10.2)
Или в матричной форме Х=АХ+Y, ⎛ a11 ⎜ где A = ⎜ a 21 ⎜ ⎝ a 31
(10.3)
a12 a13 ⎞⎟ a 22 a 23 ⎟ - матрица прямых затрат; a 32 a 33 ⎟⎠
⎛ Х1 ⎞ ⎟ ⎜ Х - вектор-столбец выпуска продукции в предыдущем периоде Х = ⎜ Х 2 ⎟ ; ⎜Х ⎟ ⎝ 3⎠
⎛ Y1 ⎞ ⎜ ⎟ Y - вектор-столбец конечного спроса в предыдущем периоде Y с = ⎜ Y2 ⎟ . ⎜Y ⎟ ⎝ 3⎠ Решим уравнение (10.3) относительно Х: Х-АХ=Y, отсюда, Х(Е-А)= Y, где Е – единичная матрица. Из уравнения (10.4) получаем Х=(Е-А)-1 Y.
(10.4) (10.5)
10.1.2. Решение задачи Определение вектора конечной продукции за предыдущий период По условию задачи известны объемы производства каждой из отраслей за предыдущий период (суммарный выпуск продукции отрасли i): X1=600, X2=1000, X3= 800 и значения xij (i,j=1, 2, 3): х11 = 250; х12 = 100; х13 = 160; х 21 = 150; х 22 = 500; х 23 = 0;
х31 = 0; х32 = 300; х33 = 400. Отсюда, используя (10.1), можно определить значения Yi , i=1, 2, 3 конечной продукции каждой из отраслей за предыдущий период. Y1=600-250-100-160=90; Y2=1000-150-500-0=350; Y3=800-0-300-400=100. Таким образом, вектор конечной продукции за предыдущий период найден:
122
⎛ 90 ⎞ ⎜ ⎟ Y n = ⎜ 350 ⎟. ⎜ 100 ⎟ ⎝ ⎠ Для определения вектора выпуска продукции Х при заданном конечном ⎛ 2000 ⎞ ⎜ ⎟ прогнозируемом векторе спроса Y = ⎜ 2000 ⎟ надо решить систему уравнений ⎜ 3000 ⎟ ⎝ ⎠ (10.3), из которой следует, что Х = ( Е − А)−1 Y , (10.5) где Е - единичная матрица ⎛1 0 0⎞ ⎟ ⎜ E = ⎜0 1 0⎟ ; ⎜0 0 1⎟ ⎠ ⎝ -1 S=(E-A) - называется матрицей полных затрат. Определение коэффициентов прямых затрат Учитывая, что технология производства не изменилась, определим коэффициенты прямых затрат aij: 250 100 160 = 0,417; а12 = = 0,1; а13 = = 0,2; а11 = 600 1000 800 150 500 0 = 0,25; а 22 = = 0,5; а 23 = = 0; а 21 = 600 1000 800 400 2 300 = 0; = 0,3; а33 = = 0,5. а31 = а32 = 600 1000 800 Таким образом, матрица коэффициентов прямых затрат будет иметь вид
⎛ 0,417 0,1 0,2 ⎞ ⎜ ⎟ А = ⎜ 0,25 0,5 0 ⎟ . ⎜ 0 0,3 0,5 ⎟⎠ ⎝ Проверка продуктивности матрицы Все элементы матрицы А неотрицательные, А≥0. Для того чтобы система уравнений (10.5) имела единственное неотрицательное решение при любом неотрицательном векторе Y, необходимо, чтобы матрица А была продуктивной. Экономический смысл продуктивности состоит в том, что существует такой план выпуска продукции, при котором каждая отрасль сможет произвести некоторое количество конечной продукции. Известно, что для продуктивности матрицы А≥0 необходимо и достаточно, чтобы все главные миноры матрицы (Е-А) были положительными числами, строго меньше единицы. Кроме того, если сумма элементов каждого из столбцов неотрицательной квадратной матрицы А положительна и строго меньше единицы, то все главные миноры матрицы (Е-А) положительны и
123
строго меньше единицы. Суммы элементов каждого столбца матрицы А соответственно равны:
0,417 + 0,25 + 0 = 0,667; 0,1 + 0,5 + 0,3 = 0,9; 0,2 + 0 + 0,5 = 0,7.
Следовательно, в силу вышесказанного, матрица А продуктивна, выражение (10.5) имеет смысл и вектор Y неотрицателен. Следовательно, для нахождения плана выпуска продукции Х можно воспользоваться формулой (10.5). Вычисление матрицы Е-А Вычислим матрицу (Е-А): ⎛ 1 0 0 ⎞ ⎛ 0,417 0,1 0,2 ⎞ ⎛1 − 0417 0 − 0,1 0 − 0,2 ⎞ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ( Е − А) = ⎜ 0 1 0 ⎟ − ⎜ 0,25 0,5 0 ⎟ = ⎜ 0 − 0,25 1 − 0,5 0 − 0 ⎟ = ⎜0 0 1⎟ ⎜ 0 0,3 0,5 ⎟⎠ ⎜⎝ 0 − 0 0 − 0,3 1 − 0,5 ⎟⎠ ⎝ ⎠ ⎝ ⎛ 0,583 − 0,1 − 0,2 ⎞ ⎜ ⎟ = ⎜ − 0,25 0,5 0 ⎟. ⎜ 0 − 0,3 0,5 ⎟⎠ ⎝ Вычисление обратной матрицы (Е-А)-1 Известно, что матрица В-1 называется обратной по отношению к квадратной матрице В, если произведение В*В-1=Е (Е - единичная матрица). Для вычисления обратной матрицы воспользуемся формулой:
В −1 =
[ ] T.
1 Bij det B
(10.6)
Здесь [Bij] – матрица, полученная из элементов Bij, а Bij - алгебраические дополнения элементов i j матрицы. (10.7) Bij=(-1)i+j Mij, где Mi - минор элемента Bij (минор – это такой определитель, который получается из матрицы вычеркиванием строки и столбца, на пересечении которых стоит данный элемент). Вычислим значения алгебраических дополнений элементов матрицы (Е-А). Обозначим для простоты описания вычислений Е-А=В: 1+1 В11 = (−1) 1+ 2 В12 = (−1)
0,5
0
− 0,3 0,5
= 0,25 ;
− 0,25
0
0
0,5
= 0,125 ;
124
− 0,25 0,5 = 0,075 ; 0 − 0,3 2+1 − 0,1 − 0,2 = = 0,11; ( − 1 ) В 21 − 0,3 0,5 1+3 В13 = (−1)
0,583 − 0,2 = 0,291; 0 0,5 3+3 0,583 − 0,1 = 0,175 ; В 23 = (−1) 0 − 0,3 2+ 2 В 22 = (−1)
3+1 − 0,1
В31 = (−1)
0 3+ 2
В32 = (−1)
3+3 В33 = (−1)
− 0,2 − 0,3
= 0,175 ;
− 0,583 − 0,2 = 0,1 ; 0,5 0
0,583 − 0,1 = 0,276 . − 0,25 0,5
[ ]
0,25 0,125 0,075
Таким образом, [Е − А] = Bij = 0,11 0,291 0,175 . 0,1 0,05 0,276 Вычисление транспонированной матрицы Поменяв в матрице [Е-А] строки и столбцы местами, получаем 0,25 0,11 0,1
[E − A]T = [Bij ]T =
0,125 0,291
0,05 .
0,075 0,175 0,276 Вычисление определителя матрицы [Е-А] Вычислим определитель, применив разложение по первой строке:
det ( E − A) = 0,583 ⋅
0,5 − 0,3
− 0,25 0 − ( −0,1) ⋅ 0,5 0
− 0,25 0 + (−0,2) ⋅ 0,5 0
0,5 = − 0,3
= 0,583(0,5 ⋅ 0,5 + 0 ⋅ 0,3) + 0,1(−0,25 ⋅ 0,5 − 0 ⋅ 0) − 0,2(0,25 ⋅ 0,3 + 0 ⋅ 0,5) = 0,118 Вычисление матрицы прямых затрат S По формуле S=(E-A)-1=B-1=
[ ]
1 T B ij = det B
125
0,25 1 = ⋅ 0,125 0,118 0,075
0,25 0,118 0,125 = 0,118 0,075 0,118
0,11 0,291 0,175
0,11 0,118 0,291 0,118 0,175 0,118
0,1 0,05 = 0,276
0,1 0,118 2,118 0,05 = 1,059 0,118 0,276 0,635 0,118
0,93
0,847
2,466 1,479
0,424 2,253
Определение вектора выпуска продукции Х Зная S и Y, вычислим X по формуле 2,118 0,93 0,847 2000 X = S ⋅ Y = 1,059
2,466 0,424 ⋅ 2000
0,635 1,479
2,253 3000
Отсюда
Х 1 = 2,118 * 2000 + 0,93 * 2000 + 0,847 * 3000 = 8620; Х 2 = 1,059 * 2000 + 2,466 * 2000 + 0,424 * 3000 = 8310; Х 3 = 0,635 * 2000 + 1,479 * 2000 + 2,253 * 3000 = 10986. Таким образом, вектор выпуска продукции в следующем периоде при заданном векторе конечной продукции ⎛ 8620 ⎞ ⎛ 2000 ⎞ ⎜ ⎟ ⎜ ⎟ Y c = ⎜ 2000 ⎟ равен X = ⎜ 8310 ⎟. ⎜ 3000 ⎟ ⎜10986 ⎟ ⎝ ⎠ ⎝ ⎠ Очевидно, что с использованием матричных операций в Excel процедура вычислений в балансовой модели существенно упростится. 10.1.3. Реализация балансовой модели в электронной таблице (ЭТ) Excel Компьютерная реализация балансовой модели в ЭТ показана в табл. 10.2 (режим показа формул) и в табл. 10.3 (режим вычислений). В строке 11 размещены формулы для проверки продуктивности матрицы технологических коэффициентов. В ячейке А11 формула =ИЛИ(В10>=1;C10>=1;D10>=1). Проверяет содержимое ячеек В10:D10. Если хотя бы в одной из этих ячеек значение больше единицы (т.е. сумма значений элементов хотя бы в одном столбце превышает единицу), то в ячейку А11 будет записано значение «ИСТИНА». В противном случае – значение «ЛОЖЬ»; В ячейку С11 введена формула =ЕСЛИ(А11=”ИСТИНА”;”Нет решения”;”Матрица продуктивна”).
126
Эта формула проверяет содержимое ячейки А11 и если сумма элементов хотя бы одного столбца превысила единицу, выводит сообщение “Нет решения”, в противном случае – “Матрица продуктивна”. Таблица 10.2 A
B
1
6 7 8 9 10
D
БАЛАНСОВАЯ МОДЕЛЬ
Объём 2 производства 3 600 4 1000 5
C
800 Вычисление технологических коэффициентов
250 150
Потребление отраслей 100 500
160 0
0
300
400
=В4/А$4
=С4/А$5
=D4/А$6
=В5/А$4
=С5/А$5
=D5/А$6
=В6/А$4 =С6/А$5 =D6/А$6 Проверка продуктивности матрицы А =СУММ(В7:В9) =СУММ(C7:C9) =СУММ(D7:D9) =ЕСЛИ(А11=”ИСТИНА”;"Решения нет"; 11 =ИЛИ(В10>=1;С10>=1;D10>=1) "Матрица продуктивна") 12 13 14
Единичная матрица
15 Вычисление 16 Е-А 17 18 Вычисление обратной 19 матрицы 20 21 22 23
Спрос на будущий период
1 0 0
0 1 0
0 0 1
=В12-В6 =В13-В7 =В14-В8
=C12-C6 =C13-C7 =C14-C8
=D12-D6 =D13-D7 =D14-D8
=МОБР(В15:D17) =МОБР(В15:D17) =МОБР(В15:D17) =МОБР(В15:D17) =МОБР(В15:D17) =МОБР(В15:D17) 2000 2000 3000
План выпуска продукции
=МОБР(В15:D17) =МОБР(В15:D17) =МОБР(В15:D17) =МУМНОЖ(В18:D20;В21:В23) =МУМНОЖ(В18:D20;В21:В23) =МУМНОЖ(В18:D20;В21:В23)
127
A 1
B C БАЛАНСОВАЯ МОДЕЛЬ
Таблица 10.3 D
Объём производства 600 1000 800
2 Потребление отраслей 3 250 100 160 4 150 500 0 5 0 300 400 6 0,417 0,1 0,2 Вычисление 7 технологических 0,25 0,5 0 8 коэффициентов 0 0,3 0,5 9 Проверка продуктивности матрицы А 10 0,667 0,900 0,700 11 ЛОЖЬ Матрица продуктивна 12 13
1 0
0 1
0 0
0
0
1
0,583 -0,25
-0,1 0,5
-0,2 0
0
-0,3
0,5
18 Вычисление 19 обратной матрицы 20
2,113 1,056 0,634
0,930 2,465 1,479
0,845 0,423 2,254
21 Спрос на будущий 22 период 23
2000 2000 3000
План выпуска продукции
8619,72 8309,86 10985,92
14
Единичная матрица
15 16 Вычисление Е-А 17
10.2. Прогнозирование с использованием регрессионного анализа Регрессионный анализ используется, если нужно установить функциональную связь между зависимой переменной у (результативный признак) и независимыми переменными х1, х2, …, xn (фактор-признаки). Регрессионный анализ нашел широкое применение для прогнозирования работы предприятий. Целью финансового планирования является прогнозирование финансового будущего предприятия на основе намеченной стратегии его развития и анализа финансовых данных о работе предприятия за предыдущий период. Для финансового прогнозирования с использованием регрессионного анализа составляют математическую модель, учитывающую данные об объеме выпускаемой продукции, объемах продаж, затрат, налогов и чистой прибыли.
128
Далее, подставляя в модель исходные данные за предыдущий период, определяют, какие значения параметров можно ожидать в будущем. 10.2.1. Уравнение регрессии Пусть в моменты времени х1, х2, …, xn измеряются значения некоторой величины у1, у2, …, уn (рис. 10.1). Предположим, что теперь нужно получить прогноз значения переменной у в момент хn+2. Для этого нужно иметь математическое описание зависимости y=f(x). При этом возможны два подхода: у Первый – подбирают функцию f(x) так, уn чтобы она проходила точно через узлы (xi;yi) – это задача интерполяции. у3 Второй – функция f(x) проходит как у2 можно ближе к узлам (xi;yi). Это задача у1 х аппроксимации, а функция, полученная при этом, называется функцией регрессии. х х х x 1
2
2
. . .
n
Рис. 10.1 Если связь между переменной х и у линейная, регрессия называется линейной. Если переменные связаны нелинейным образом, регрессия будет нелинейной. При линейной связи между переменными уравнение регрессии имеет вид y=a+bx. (10.8) Коэффициенты а и b называются коэффициентами регрессии. Если рассматривается зависимость между двумя переменными х и у, регрессия называется парной. Если существует связь между одной зависимой переменной у и несколькими неизвестными переменными х, говорят о множественной регрессии, например, y = a 0 + a1 x1 + a 2 x 2 + " + a n x n . (10.9) 10.2.2. Метод наименьших квадратов Этот метод наиболее часто используется для получения уравнения регрессии. Предположим, между значениями х и у существует линейная зависимость y=a+bx. Нам нужно найти такую функцию у*= f(x)=a* +b* x – которая проходила бы как можно ближе к функции у. Будем искать такую функцию f(x), для которой величина n
[
S = ∑ yi − у * i =1
]
2
(10.10)
была бы минимальной. Это метод наименьших квадратов. Итак, ищем минимум функции:
(
)2
S = y i − a * − b * ⋅ xi . (10.11) Для этого нужно взять частные производные функции S по а* и по b*
129
⎛ ∂S ∂S ⎞ ⎜ * ; * ⎟ , приравнять их к нулю и решить полученную систему уравнений. ⎝ ∂a ∂b ⎠ Получим n 1 n ⎧ * 1 = − * a y b xi ∑ ∑ i ⎪ n i =1 n i =1 ⎪ 1 n 1 n 1 n ⎪ xi y i − ∑ xi ∑ y i . ∑ (10.12) ⎨ n i =1 n i =1 n i =1 ⎪b* = 2 ⎪ 1 n 2 ⎛1 n ⎞ ∑ xi − ⎜ ∑ xi ⎟ ⎪ n i =1 ⎝ n i =1 ⎠ ⎩ Имея уравнение у*=a* +b* x и подставляя в него значения х за будущий период, можно осуществить прогнозирование. Пример 2 Измерялась зависимость между затратами автохозяйства и числом работающих автомобилей (табл. 10.4). Таблица 10.4 Число автомобилей 5 6 7 8 9 10 х 1 2 3 4 Затраты у 3 4 6 6,5 7 8,5 9 10 12 13 Требуется провести аппроксимацию этой зависимости методом наименьших квадратов. Построить линию регрессии. Определить затраты для 12 автомобилей. Решение Рассчитаем параметры системы уравнений (10.12) согласно табл. 10.4. 10
∑ xi =1+2+3+…+10=55;
i =1
1 n 1 ∑ xi = ⋅ 55 = 5,5 ; n i =1 10 10
∑ yi =3+4+6+…+13=79;
i =1
1 n 1 ∑ xi = ⋅ 79 = 7,9 ; n i =1 10 2
⎛1 n ⎞ ⎜⎜ ∑ xi ⎟⎟ = 5,5 2 = 30,25 ; ⎝ n i =1 ⎠ n
∑ xi2 = 12 + 2 2 + ... + 10 2 = 385 ;
i =1
1 n 2 ∑ x = 38,5 ; n i =1 i n
∑ xi ⋅ yi = 1 ⋅ 3 + 2 ⋅ 4 + ... + 10 ⋅ 13 = 522 ;
i =1
130
1 n ∑ xi ⋅ yi = 52,2 ; n i =1 52,2 − 5,5 ⋅ 7,9 b* = = 1,06 ; 38,5 − 30,25
а * = 7,9 − 1,06 ⋅ 5,5 = 2,07 . Итак, уравнение регрессии, согласно уравнению (10.8) у*=f(x)=a* +b*x =2,07+1,06x (10.13) Построим табл. 10.5 для этого уравнения. Для сравнения возьмем экспериментальные данные и теоретические, полученные по уравнению (10.13) значения у*. Для х=1 получаем у*=2,07+1,06·1=3,13 Для х=2 получаем у*=2,07+1,06·2=2,07+2,12=4,19 и т.д. Таблица 10.5 Число х 1 2 3 4 5 6 7 8 9 10 автомобилей Затраты по уравнению у* 3,13 4,19 5,25 6,31 7,37 8,43 9,49 10,55 11,61 12,67 регрессии Реальные у 3 4 6 6,5 7 8,5 9 10 12 13 затраты Построим графики функций у и у* (рис. 10.2). у
14 12 10 8
у*
6
у
4 2 0
х 1
2
3
4
5
6
7
8
9
10
Рис. 10.2 Из табл. 10.5 и рис. 10.2 видно, что несмотря на минимальный объем данных, точность воспроизведения реальной зависимости достаточно высока. Рассчитаем затраты для двенадцати автомобилей, (т.е. спрогнозируем затраты для 12 автомобилей): х=12, значит, у*=2,07·12+1,06=14,79 (у.е). В Excel регрессионный анализ осуществляется в Пакете анализа графически, а также функциями ЛИНЕЙН, ТЕНДЕНЦИЯ, ЛГРФПРИБЛ, РОСТ, ПРЕДСКАЗ, ОТРЕЗОК, НАКЛОН, СТОШУХ и другие.
131
10.2.3. Вычисление в Excel коэффициентов регрессии Используется функция ЛИНЕЙН. Она имеет синтаксис =ЛИНЕЙН(Изв_знач_у;Изв_знач_х;Константа; Стат) Здесь Изв_знач_у – адрес массива у; Изв_знач_х – адрес массива х; Константа – вводится равной ИСТИНА или опускается, если нужно считать b* , ЛОЖЬ – если b*=0. Стат – если ввести ИСТИНА, будет считаться дополнительная регрессионная статистика (стандартные оценки коэффициентов a* и b*). Вместо ввода слова «Истина» можно ввести число 1, а вместо слова «Ложь» - ввести число 0. Для вычисления коэффициентов а* и b* из примера 2: 1. Создать ЭТ, табл. 10.6. Таблица 10.6 A B C D E F G H I J K 1 Вычисление коэффициентов регрессии 2 Число автомобилей 1 2 3 4 5 6 7 8 9 10 3 Затраты у.е. 3 4 6 6,5 7 8,5 9 10 12 13
2. Активизировать ячейку А4. 3. Выполнить команды: Вставка – Функция – Статистические – ЛИНЕЙН – Ок. 4. Ввести: Изв_знач_у В3:К3; Изв_знач_х В2:К2. После ввода этих значений в окне функции ЛИНЕЙН появится значение коэффициентов регрессии {1,06;2,07}. Нажать клавишу Ок. В ячейке А4 значение коэффициента а (1,066). Сохранить файл с именем Регрессия 1. Итак, функция ЛИНЕЙН позволяет оценивать параметры уравнения регрессии, a* и b*, но для осуществления прогноза нужно самостоятельно составлять уравнение регрессии и осуществлять прогнозирование. 10.2.4. Понятие базовой линии Функции, работающие с регрессией, позволяют осуществить прогноз изменения переменных, если имеется переменная базовая линия для составления прогноза. Базовая линия – это численно выраженные результаты наблюдений за длительный период времени. Базовая линия включает как экспериментально измеренные значения результативного признака (строка у в табл. 10.5), так и значения у, вычисленные по уравнению регрессии (строка у* в табл. 10.5). К базовым линиям предъявляются следующие требования. Базовая линия включает в себя все результаты наблюдений – от нулевых до последних (т.е. анализируемая выборка должна быть представительной). Все временные периоды имеют одинаковую продолжительность (нельзя
132
сравнить между собой данные за неделю и за месяц). Наблюдения фиксируются в один и тот же момент временного периода (например, в начале дня или в начале месяца, года). Пропуски данных не допускаются. 10.2.5. Составление линейного прогноза с использованием функции ТЕНДЕНЦИЯ Функция имеет синтаксис =ТЕНДЕНЦИЯ(Массив_у;Массив_х;Новые_значения_х;Константа) Здесь: Массив_х – значения х за прошлый период; Массив_у – значения переменной у за прошлый период (например, объем продаж продукции за время х); Новые_значения_х – те значения переменных интервалов в будущем, для которых нужно получить прогноз значений переменной у. Пример 3 Необходимо осуществить прогноз затрат для примера 2 для двух случаев: Рассчитать прогнозируемые затраты для 11 машин. Рассчитать прогнозируемые затраты для 13 машин. Решение 1. Открыть файл Регрессия 1. 2. Для осуществления прогноза нужно построить базовую линию. Для этого: а) ввести в ячейку А4 заголовок «Базовая линия»; б) выделить ячейки В4:К4; в) выполнить команды: Вставка – Функция – Статистические – Тенденция – Ок; г) ввести параметры: В3:К3; − Изв_знач_Y − Изв_знач_Х В2:К2; д) для ввода формулы во все выделенные ячейки (В4:К4) одновременно нажать клавиши Ctrl+Shift+Enter. В результате получим табл. 10.7. Таблица 10.7 A B C D E F G H I J K 1 Вычисление коэффициентов регрессии 2 Число автомобилей 1 2 3 4 5 6 7 8 9 10 3 Реальные затраты у.е. 3 4 6 6,5 7 8,5 9 10 12 13 3,127 4,188 5,248 6,309 7,37 8,43 9,491 10,55 11,61 12,67 4 Базовая линия В четвертой строке распечатаны значения у*, вычисленные функцией ТЕНДЕНЦИЯ. Так как число наблюдений невелико, имеются отклонения от экспериментальных значений у. Можно видеть, что значение у* в табл. 10.7 практически совпадает со значением у* из табл. 10.5. 3. Прогнозирование затрат для 11 автомашин. 3.1.Ввести в ячейку L2 число 11. 3.2. Активизировать ячейку L4.
133
3.3. Команды Вставка – Функция – Статистические – Тенденция – Ок. 3.4. Ввести: В3:К3; − Изв_знач_Y − Изв_знач_Х В2:К2; − Нов_знач_Х L2; Ок. В ячейке L4 появится прогноз затрат для 11 машин (13,73 у.е). 4. Прогнозирование затрат для 13 машин. 4.1. Вводим в ячейку М2 число 12, в N2 – число 13. 4.2.Формулу в ячейке L4 подготовим к копированию. Запишем ее в виде =ТЕНДЕНЦИЯ($B3:$K3;$B2:$K2;L2). 4.3. Скопируем формулу в ячейки M4:N4, получаем значения 14,79 у.е. и 15,85 у.е. 10.2.6. Составление нелинейного прогноза. Функция РОСТ Синтаксис этой функции аналогичен синтаксису функции ТЕНДЕНЦИЯ: =РОСТ(Массив_у;Массив_х; Новые_значения_х;Константа). Пример 4 Таблица 10.8 Менеджер по продажам книг, анализируя Неделя Число проданных продажу одной из книг, получил следующую книг статистику (табл. 10.8). 1 1 Ему нужно принять решение, сколько книг 2 1 следует заказать на 3 следующих недели. 3 4 Характер изменения спроса за последние 4 5 недели показывает, что функция спроса имеет 5 10 нелинейный характер. Воспользуемся функцией 6 19 РОСТ. 7 34 8 55 9 84 10 120 Решение 1. Заполнить ячейки А2:В12 табл. 10.9. 2. Построить базовую линию: 2.1. Выделить С3:С12 2.2. Вставка – Функция – Статистические – РОСТ – Ок. 2.3. Ввести Массив у А3:А12 ; Массив х В3:В12 ; 2.4. Ctrl+Shift+Enter. 3. Прогнозирование Функция РОСТ позволяет осуществить прогнозирование для массива данных. Поэтому: 3.1. Ввести в ячейки В12:В15 числа 11, 12, 13; 3.2. Выделить ячейки С13:С15; 3.3. Ввести формулу
134
=РОСТ(А3:А12;В3:В12;В13:В15); 3.4. Ctrl+Shift+Enter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Таблица 10.9 А В С Анализ спроса на книги Фактический спрос Неделя Прогноз 1 1 0,96 1 2 1,67 4 3 2,95 5 4 5,20 10 5 9,17 19 6 16,17 34 7 28,51 55 8 50,28 84 9 88,67 120 10 126,37 11 275,75 12 486,26 13 857,34
10.2.7. Регрессионный анализ с помощью диаграмм Excel Прогнозирование можно осуществить непосредственно на графике без введенных в рабочий лист значений х для прогноза. Это можно сделать с помощью графической линии Тренда. Чтобы провести анализ для последней таблицы (табл. 10.9): 1) Выделить ячейки А3:В12; 2) Выполнить команды Вставка – Диаграмма – График - График с маркерами; 3) Построить график зависимости у от х (лучше на отдельном листе); 4) Щелкнуть правой клавишей точно по линии полученного графика (появится контекстное меню). 5) Выбрать в контекстном меню команду Добавить линию тренда; 6) Выбрать тип линии экспоненциальная; 7) Щелкнуть по вкладке Параметры; 8) В поле Вперед ввести число периодов, на которые линия тренда будет продолжена вперед. (3 периода); 9) Поставить флажок a Показать уравнение регрессии – Ок. Результат показан на рис. 10.3. Если бы функция регрессии была линейной, в п.6 следовало выбрать Тип линии Линейная.
135
1000 800 y = 0,5376e
600
Фактический спрос
0,5673x
Экспоненциа льный (Фактический спрос)
400 200 13
11
9
7
5
3
1
0
Рис. 10.3 ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. В чем экономический смысл технологических коэффициентов балансовой модели? 2. В чем экономический смысл продуктивности матрицы прямых затрат? 3. Как Вы считаете, можно ли распространить рассмотренную модель Леонтьева на планирование деятельности нескольких экономических систем? 4. Для каких целей используется регрессионный анализ? 5. Что понимается под линией тренда?
136
11. СИСТЕМЫ ПРИНЯТИЯ РЕШЕНИЯ 11.1. Краткие сведения о системах принятия решения (экспертных системах) В настоящее время широкое распространение получили системы искусственного интеллекта, имитирующие на компьютере мышление человека при решении различных задач. Чтобы воспроизвести на компьютере процесс принятия решения человеком, нужно предварительно отобрать все факты, характеризующие исследуемую человеком область, и сформулировать правила решения в зависимости от совокупности фактов в момент принятия решения. Система искусственного интеллекта, созданная для решения задачи в конкретной области, называется экспертной системой, или системой принятия решения. Существуют системы принятия решения в таких предметных областях, как медицина (для диагностики заболеваний), бизнес (для проверки целесообразности строительства предприятий, приобретения товаров и т.д.), обучение (для проверки знаний обучаемых) и многих других. Факты и правила для системы принятия решения должны быть разработаны экспертом соответствующей предметной области (отсюда название – экспертные системы). Они хранятся в компьютере в специально организованной области памяти, называемой базой знаний (БЗ). Информация, которая предъявляется системе для анализа сочетания фактов в данный момент, хранится в компьютере в специально организованной области памяти, называемой базой данных (БД). 11.2. Разработка системы принятия решения об аттестации знаний абитуриента Необходимо разработать систему принятия решения об аттестации знаний абитуриента на основе результатов тестирования. База знаний приведена в табл.11.1 Таблица 11.1 Весовой фактор № Атрибут атрибута пп Умеет решать: 1 Квадратные уравнения 20 2 Квадратные неравенства 40 3 Уравнения с модулями 50 4 Показательные уравнения 30 5 Показательные неравенства 50 6 Логарифмические уравнения 40 7 Логарифмические неравенства 60 8 Тригонометрические тождества 30 9 Тригонометрические уравнения 40 10 Геометрические задачи 60
137
Правила вывода Если набранная сумма баллов меньше 280 - оценка "Неудовлетворительно". Если сумма баллов находится в пределах 280-340 - оценка "Удовлетворительно". При сумме баллов 341 - 400 оценка "Хорошо". Если сумма больше 400 - "Отлично". 11.2.1. Общая схема решения Приведенная в табл. 11.1 база знаний, разумеется, является фрагментом базы знаний реальной системы аттестации абитуриента. Для получения корректной оценки знаний абитуриента следует провести опрос по всем основным разделам школьной математики. Поэтому количество оцениваемых атрибутов реальной системы составляет несколько десятков. Однако для получения представления о функционировании реальной системы принятия решения вполне достаточно учитывать лишь часть атрибутов. Функционирование такой системы абсолютно аналогично работе реальной контролирующей системы. Разработка системы принятия решений включает три основных этапа: 1. Создание базы данных для тестовой проверки разработанной системы принятия решения. 2. Формализация правил принятия решений на основе имеющихся правил вывода. Обычно схему решения записывают в виде специального графа – дерева решений. 3. Компьютерная реализация системы. Система принятия решения может быть реализована с использованием языка программирования высокого уровня или в табличном процессоре. В рамках курса «Информатика» студент должен научиться эффективно использовать пакет программ Microsoft office, поэтому будем рассматривать реализацию системы принятия решения в табличном процессоре Excel. 11.2.2. Разработка базы данных для системы принятия решения База данных создается на основе базы знаний табл. 11.1, в которую добавляется столбец ответов (табл. 11.2). Утверждения табл. 11.1 преобразуются в вопросы. Очевидно, что для каждого атрибута будет свой набор ответов и соответственно своя база данных. Мы создаем один из возможных вариантов заполнения БД, который будет служить тестом для проверки функционирования разработанной системы. Если на заданный вопрос дается положительный ответ («Да»), т.е. абитуриент продемонстрировал достаточные знания по этой теме, весовой фактор атрибута сохраняется. Если ответ отрицательный («Нет»), весовой фактор обнуляется. Просуммировав весовые факторы ответов в нашей базе данных, найдем суммарный весовой фактор S=310. Поскольку эта сумма баллов находится в диапазоне 280-340, согласно правилам вывода абитуриент должен получить оценку «Удовлетворительно».
138
Заполнив базу данных ответами, мы будем те же самые ответы вводить в систему принятия решения, реализуемую в электронной таблице Excel. В случае правильного функционирования системы принятия решения абитуриент должен получить ту же самую оценку «Удовлетворительно». Это значит, что система прошла тестирование, можно вводить в нее данные о результатах других абитуриентов и доверять поставленным оценкам. Таблица 11.2 Весовой Весовой № Вопрос фактор Ответ фактор пп атрибута ответа Умеет решать? 1 Квадратные уравнения 20 Да 20 2 Квадратные неравенства 40 Да 40 3 Уравнения с модулями 50 Нет 0 4 Показательные уравнения 40 Да 30 5 Показательные неравенства 50 Да 50 6 Логарифмические уравнения 40 Да 40 7 Логарифмические неравенства 40 Нет 0 8 Тригонометрические тождества 30 Да 30 9 Тригонометрические уравнения 40 Да 40 10 Геометрические задачи 60 Да 60 Суммарный весовой фактор 310 Если же оценка компьютерной системы не совпадает с оценкой, которую получили мы по итогам табл. 10.2, это свидетельствует о наличии ошибок в ее функционировании и следует проверить все основные формулы таблицы. 11.2.3. Построение дерева принятия решений Дерево (граф) принятия решений строится на основе правил вывода. Граф принятия решений называется деревом, потому что имеет свои вершины и ветви. Вершины служат для проверки условий (обозначаются окружностями или эллипсами), а также для вывода сообщений о фактах и результатах решения (обозначаются прямоугольниками). Ветви соединяют вершины и указывают направления пути решения. Обычное направление сверху вниз. Составим дерево решения для нашего примера (рис. 11.1). Пусть база данных заполнена ответами и рассчитана сумма накопленных баллов S. Обратите внимание! Мы считаем, что эта сумма заранее не определена (точнее, является изменяющейся величиной), ведь табл. 10.2 – это только один из множества возможных вариантов. Первый блок проверяет выполнение условия S<280. При проверке любого условия возможны два исхода: «Условие выполнено» (ветка «ДА») и «Условие не выполнено» (ветка «Нет»). Если условие S<280 выполняется, абитуриент получает оценку
139
«Неудовлетворительно» (первый блок принятия решения). Если условие S<280 не выполняется, значит, набранная абитуриентом сумма баллов больше, чем 280. В этом случае нужно установить, в каком диапазоне находится сумма баллов. S<280 Нет
Да
S≤340
Неудовл.
Нет
Да
Удовл.
S≤400 Да
Хорошо
Нет
Отлично
Рис. 11.1 По ветке «Нет» от первого блока проверки условий приходим на второй блок проверки, где записано условие S≤340. При его выполнении очевидно, что сумма баллов находится в диапазоне 280-340, т.е. абитуриент получает оценку «Удовлетворительно». По ветке «Да» идем к вершине «Удовл.». В случае невыполнения данного условия очевидно, что сумма баллов равна или превысила значение 340. Поэтому по ветке «Нет» происходит переход к последнему блоку проверки условия S≤380. При выполнении данного условия (ветка «Да») абитуриент получает оценку «Хорошо», при невыполнении (ветка «Нет») – оценку «Отлично». 11.2.4. Реализация системы принятия решений в табличном процессоре Excel Реализация системы принятия решений приведена в табл. 11.3 (режим показа формул) и в табл. 11.4 (режим показа вычислений). В ячейках А3:В14 электронной таблицы (ЭТ) размещена исходная база знаний из табл. 11.1. В ячейках С2:С14 приведена база данных из табл. 11.2. Ответы вводятся с использованием двоичной системы. При положительном ответе («Да») нужно ввести число 1, при отрицательном («Нет») – ввести 0. Чтобы не возникло неоднозначности при вводе ответа, в ячейке С2 приводятся указания о правилах ввода.
140
A 1
Атрибут 2 3 4 5 6 7 8 9 10 11 12 13
B
Оценка знаний абитуриента Весовой Если ответ Весовой фактор "Да" фактор введите 1, ответа атрибута иначе 0
БАЗА ЗНАНИЙ Умеет решать Квадратные уравнения Квадратные неравенства Уравнения с модулями Показательные уравнения Показательные неравенства Логарифмические уравнения Логарифмические неравенства Тригонометрические тождества Тригонометрические уравнения
14 Геометрические задачи 15 16 17 18
C
Таблица 11.3 D
БАЗА ДАННЫХ 20 40 30 30 40
1 0 1 1 0
=B5*C5 =B6*C6 =B7*C7 =B8*C8 =B9*C9
40
1
=B10*C10
40
0
=B11*C11
30
1
=B12*C12
40
1
=B13*C13
50
1
=B14*C14
Суммарный весовой фактор
=СУММ(D5:D14)
Принятие решения =ЕСЛИ(D15<280;"неуд";ЕСЛИ(D15<=340;"удовл";ЕСЛИ(D15<=400;"хор";"отл")))
Ввод ответа в таком виде позволяет легко вычислить весовой фактор ответа путем умножения кода ответа на весовой фактор атрибута. Обработка ответов производится в ячейках D5:D14 ЭТ (формула вводится в ячейку D5 и копируется в ячейки D6: D14). В строке 15 вычисляется суммарный весовой фактор, а в строке 18 размещена формула для принятия решения. Это формула составляется в соответствии с «Правилами вывода» и деревом решения рис. 11.1.
141
А 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
В
С
Таблица 11.4 D
Оценка знаний абитуриента Если ответ Весовой Весовой "Да" Атрибут фактор фактор введите 1, атрибута ответа иначе 0 БАЗА ЗНАНИЙ БАЗА ДАННЫХ Умеет решать Квадратные уравнения 20 1 20 Квадратные неравенства 40 1 40 Уравнения с модулями 30 0 0 Показательные уравнения 30 1 30 Показательные неравенства 50 1 50 Логарифмические уравнения 40 1 40 Логарифмические неравенства 40 0 0 Тригонометрические тождества 30 1 30 Тригонометрические уравнения 40 1 40 Геометрические задачи 50 1 60 Суммарный весовой фактор
310
Принятие решения
11.3. Разработка предприятия
удовл системы
принятия
решений
о
продаже
акций
Требуется разработать систему принятия решения о целесообразности для фирмы продажи акций. База знаний приведена в табл. 11.5. Таблица 11.5 № Факт Характеристика Весовой фактор характеристики п/п (атрибут) атрибута атрибута 1. Курс акций в Высокий 50 данный момент Средний 30 Низкий 10 2. Вероятность Высокая 40 снижения курса Средняя 20 акций Низкая 10 3. Потребность в Высокая 80 наличных Средняя 50 деньгах Низкая 20
142
Правила вывода: Если суммарный весовой фактор меньше 100, то принять решение “Нет смысла в продаже”. Если суммарный весовой фактор выше 100, но меньше 140, то решение “Не торопитесь с продажей”. Если суммарный весовой фактор выше 140, то “Продавать”. Последовательность решения данной задачи абсолютно аналогична схеме, описанной в п. 11.2. 11.3.1. Построение базы данных
Составим БД (табл. 11.6) согласно базе знаний табл. 11.5. (основы построения БД описаны в п. 11.2.2.) № Факт п/п (атрибут) 1. Курс акций в данный момент
Вопрос
Ответ
Высокий? Да Средний? Нет Низкий? Нет Общий весовой фактор атрибута 1 (ВФ1) 2. Вероятность Высокая? Нет снижения курса Средняя? Да акций Низкая? Нет Общий весовой фактор атрибута 2 (ВФ2) 3. Потребность в Высокая? Нет наличных Средняя? Нет деньгах Низкая? Да Общий весовой фактор атрибута 3 (ВФ3)
Таблица 11.6 Весовой фактор характеристики 50 0 0 50 0 20 0 20 0 0 20 20
Обратите внимание! Отличие этой задачи от предыдущей состоит в том, что, если на один из трех вопросов для любого атрибута был дан ответ “Да”, значит, на оставшиеся следует отвечать “Нет”. (Например, если на вопрос: “Курс акций в данный момент средний?” был дан ответ “Да”, нельзя отвечать утвердительно, что одновременно этот курс высокий или низкий). Еще одно отличие от предыдущей задачи – весовой фактор каждого ответа получается суммированием весовых факторов всех характеристик данного ответа. Правда, из этих трех характеристик две будут иметь весовой фактор, равный нулю, но при реализации системы в ЭТ заранее неизвестно, какие именно, поэтому в компьютерной реализации обязательно нужно предусмотреть вычисление данной суммы. Суммарный весовой фактор для тестового варианта заполнения БД равен S=ВФ1+ВФ2+ВФ3=50+20+20=90. Очевидно, что согласно правилам вывода (сформулированным в задании) следует принять решение: “Не продавать” (так как S<140).
143
11.3.2. Построение дерева решений Основы построения деревьев решений описаны в п. 11.2.3. Дерево решений для заданий такого типа строится по “правилам вывода” и имеет вид рис. 11.2. S<100 Да
Нет
Нет смысла в продаже
S<140 Да Не торопись с продажей
Нет Продавай
Рис. 11.2 11.3.3. Реализация системы принятия решения в ЭТ Порядок процесса создания ЭТ описан в п.11.2.4. ЭТ, реализующая систему принятия решения согласно заданию табл. 11.5, приведена в табл. 11.7 (режим показа формул). 11.4. Система принятия решений о диагностике неисправности телевизора Необходимо разработать систему принятия решения для предварительной диагностики неисправности телевизора. Исходная база знаний приведена в табл. 11.8.
Если ответ "Да" введите 1, иначе 0
Таблица 11.7
144
145
№ пп
Вид неисправности
1
Сгорел предохранитель
2
Неисправна антенна
3
Неисправен кинескоп
Атрибут (факт) Отсутствуют: Звук Изображение Световое заполнение экрана Звук Изображение Световое заполнение экрана Звук Изображение Световое заполнение экрана Цвет
Таблица 11.8 Весовой фактор атрибута 5 5 30 20 20 0 0 20 10 10
Схема решения задачи включает все этапы, описанные в п. 11.2. 11.4.1. Разработка базы данных Проводится аналогично описанному в 11.2.2. Отличие данной задачи от предыдущих состоит в том, что атрибуты повторяются для разных видов неисправностей. Поэтому, ответив один раз положительно на вопрос, например, «Отсутствует звук?» для неисправности «Сгорел предохранитель», необходимо повторить тот же ответ («Да») для случаев «Неисправна антенна» и «Неисправен кинескоп». Весовые факторы рассчитываем для каждого вида неисправности, а затем сравниваем их между собой. Неисправность, набравшая максимальное число баллов, будет наиболее вероятной. Поместим тестовый вариант задания в табл. 11.9. Таблица 11.9 № Вид Атрибут Ответ Весовой фактор пп неисправности (факт) атрибута Отсутствуют: 1 Сгорел Звук? Да 5 предохранитель Изображение? Да 5 Световое заполнение экрана? Нет 0 Общий весовой фактор неисправности 1 (ВФ 1) 10 2 Неисправна Звук? Да 20 антенна Изображение? Да 20 Световое заполнение экрана? Нет 0 Общий весовой фактор неисправности 2 (ВФ 2) 40 3 Неисправен Звук? Да 0 кинескоп Изображение? Да 20 Световое заполнение экрана? Нет 0 Цвет? Да 10 Общий весовой фактор неисправности 3 (ВФ 3) 30
146
Для тестового варианта заполнения БД подсчитаем сумму баллов (общих весовых факторов - ВФ), которые “набрала” каждая из неисправностей: Предохранитель: ВФ1=5+5+0=10. Антенна: ВФ2=20+20+0=40. Кинескоп: ВФ3=0+20+0+10=30. Анализируя полученные результаты, можно сделать вывод, что для данного варианта ответов (табл. 11.9) максимальный весовой фактор имеет неисправность “Антенна”. Следовательно, можно принять решение для предварительной диагностики этого телевизора: “наиболее вероятно, что неисправна антенна”. Разрабатываемая система принятия решения должна использоваться многократно для анализа различных вариантов неисправностей и предусматривать возможность многократного обновления БД (т.е. для каждого телевизора создается своя БД). 11.4.2. Построение дерева принятия решения Составим дерево решения для нашего примера. Пусть БД табл. 11.9 заполнена ответами. (В общем виде эта БД хранится в нашем компьютере. Поскольку для каждого телевизора она задается заново, мы заранее не знаем величины ВФ1, ВФ2 и ВФ3). На основе данного варианта БД проведены расчеты общих весовых факторов. Теперь нужно проанализировать их значения и найти максимальный. Максимальному значению общего весового фактора будет соответствовать наиболее вероятная неисправность. Дерево решения имеет вид рис. 11.3. ВФ1>ВФ2 Да
Нет
ВФ1>ВФ3 Да Предохранитель
ВФ2>ВФ3 Нет
Нет
Кинескоп
Да Антенна
Рис. 11.3 На каждом уровне решения сравниваются значения общих весовых факторов двух неисправностей. Из вершины проверки условия выходят две ветви: “Да” и “Нет”. Переход по ветви “Да” происходит, если условие, записанное в вершине, выполняется, и по ветви “Нет” – в противном случае. Проанализируем сначала случай, когда условие ВФ1>ВФ2 выполнилось. Очевидно, что для нахождения максимального весового фактора нужно сравнить ВФ1 и ВФ3. Поэтому ветка “Да” завершается новой вершиной проверки условия ВФ1>ВФ3. Если и это условие выполнится, можно утверждать, что максимальным является ВФ1. Поэтому по ветке “Да”
147
приходим к вершине принятия решения (прямоугольник) - “Предохранитель”. Если условие ВФ1>ВФ3 не выполнилось, это означает, что ВФ3>ВФ1. В этом случае максимальным является ВФ3, и ветка “Нет” блока проверки ВФ1>ВФ3 приводит к блоку принятия решения “Кинескоп”. Если условие ВФ1>ВФ2 не выполняется, для нахождения максимального весового фактора нужно сравнить ВФ2 и ВФ3. По ветке “Нет” блока проверки условия ВФ1>ВФ2 приходим к вершине проверки условия ВФ2>ВФ3. Если это условие выполняется (ветка “Да”), предусмотрен блок принятия решения “Антенна”, если не выполняется (ветка “Нет”), максимальным является ВФ3 и вновь идем на принятие решения “Кинескоп”. 11.4.3. Реализация системы принятия решения в (ЭТ) Электронная таблица, реализующая систему принятия решения для рассматриваемого примера, приведена в табл. 11.10 (режим показа формул). ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. Почему экспертные системы получили такое название? 2. Что такое система искусственного интеллекта? 3. Что такое база знаний? 4. Что такое база данных? 5. Что такое дерево решения?
149
12. ОПТИМИЗАЦИЯ УПРАВЛЕНЧЕСКИХ ЗАДАЧ 12.1. Принципы решения задач оптимизации Задачи оптимизации очень часто встречаются в управленческой, финансовой и научной деятельности. Они позволяют отыскать наилучшее (оптимальное) решение, например дающее максимальную прибыль или обеспечивающее минимальные затраты. При этом требуется учитывать ряд дополнительных ограничений на значения используемых параметров. Для аналогичного решения подобных задач используются, как правило, методы математического программирования. На компьютере подобные задачи можно решать, используя имеющийся в табличном процессоре Excel режим Поиск решения. Режим Поиск решения позволяет: • использовать одновременно до 200 изменяемых параметров; • задавать ограничения для этих параметров; • используя метод последовательных приближений (т.е. итерационные вычисления) отыскивать оптимальное решение. Задачи, для решения которых используют режим Поиск решения, должны обладать рядом свойств: • иметь единственную ячейку (целевую), содержащую формулу (целевую функцию), значение которой должно быть получено как максимальное, минимальное или равное конкретному значению (например, максимальная прибыль; минимальный фонд зарплаты; ограничение, равное имеющейся наличной сумме); • формула в этой ячейке должна содержать адреса ячеек (ссылки) в которых будут находиться неизвестные или переменные решаемой задачи (изменяемые ячейки). Поиск решения задачи заключается в том, чтобы подобрать такие значения этих переменных, которые бы давали оптимальное значение для формулы в целевой ячейке. Изменяемые ячейки могут содержать, например, себестоимость или цену товаров, транспортные тарифы или налоговые ставки; • кроме того, может быть задано некоторое количество ограничений условий или соотношений, которым должны удовлетворять некоторые параметры из изменяемых ячеек. Например, можно потребовать, чтобы общие затраты не превосходили 100 000 рублей или чтобы затраты не рекламную кампанию составили от 10 до 15 % от общих расходов. На практике часто приходится встречаться со следующими оптимизационными задачами Транспортная задача. Имеется несколько пунктов производства и пунктов потребления некоторого продукта. Для каждого из пунктов производства задан объем производства, а для каждого пункта потребления - объем потребления. Известна также стоимость перевозки из каждого пункта производства в каждый пункт потребления. Все пункты потребления должны быть обеспечены необходимой продукцией, но из каждого пункта производства не может
150
вывозиться продукции больше, чем там производится, а стоимость перевозки должна была минимальной. Задача о выборе оптимального меню. Имеется набор продуктов, обладающих некоторой калорийностью, а также известно количество белков, жиров и углеводов в каждом из этих продуктов и их стоимость. Требуется составить меню, удовлетворяющее требованиям калорийности и сбалансированности питательных продуктов, при этом минимизирующее суммарную стоимость. Задача о назначениях. Имеются несколько должностей и соответствующее количество претендентов на эти должности. Назначения претендентов на должности связано с некоторыми затратами. Требуется так распределить претендентов по должностям, чтобы суммарные затраты были минимальны. Задача о выборе портфеля ценных бумаг. Вкладчик хочет выбрать портфель ценных бумаг, при этом известны средние значения доходов от каждого вида ценных бумаг и ожидаемый порядок этих доходов. Требуется отыскать оптимальный портфель, обеспечивающий максимальный ожидаемый доход при минимальном риске. Рассмотрим решение нескольких оптимизационных задач. 12.2. Транспортная задача Фирме необходимо организовать перевозку продукции с трех складов в пять магазинов. Сведения о наличии продукции на складах, о потребности в этой продукции у магазинов и о стоимости перевозки единицы продукции с каждого склада во все магазины приведены в табл. 12.1. Таблица 12.1 Магазины Склады М1 М2 М3 М4 М5 Номер склада Запас Стоимость перевозок S1 15 1 0 3 4 2 S2 25 5 1 2 3 3 S3 20 4 8 1 4 3 Потребности магазинов 20 12 5 8 15 Решение задачи включает три этапа: 1. Построение математической модели. 2. Построение начального плана решения. 3. Оптимизация начального плана. 12.2.1. Построение математической модели Обозначим Хij – количество продукции, отправляемой со склада i в магазин j: Cij – стоимость перевозки единицы продукции со склада i в магазин j. 1. Определение ограничений Математическая модель будет состоять из ряда ограничений:
151
Первое. Исходя из физического смысла задачи количество и стоимость продукции не может быть отрицательной величиной, т.е. (12.1) Хij ≥ 0; Cij ≥ 0. Второе. Ограничения по предложению (со складов нельзя вывезти продукции больше, чем там имеется):
⎧ X 11 + X 12 + X 13 + X 14 + X 15 ≤ 15 ⎪ ⎨ X 21 + X 22 + X 23 + X 24 + X 25 ≤ 25 ⎪ X + X + X + X + X ≤ 20 32 33 34 35 ⎩ 31
(12.2)
Третье. Ограничения по спросу (в магазины следует завезти не меньше продукции, чем им требуется): ⎧ X 11 + X 21 + X 31 ≥ 20
⎪ + + ≥ 12 ⎪⎪ X 12 X 22 X 32 ⎨ X 13 + X 23 + X 33 ≥ 5 ⎪ X + X + X ≥8 24 34 ⎪ 14 ⎪⎩ X 15 + X 25 + X 35 ≥ 15
(12.3)
2. Определение целевой функции Общая стоимость перевозок (целевая функция) равна
Z=
3
5
∑ ∑ Cij X ij = 1 ⋅ X 11 + 0 ⋅ X 12 + 3 ⋅ X 13 + 4 ⋅ X 14 + 2 ⋅ X 15 +
i =1 j =1
+ 5 X 21 + 1 ⋅ X 22 + 2 ⋅ X 23 + 4 ⋅ X 24 + 3 ⋅ X 25 +
(12.4)
+ 4 X 31 + 8 ⋅ X 32 + 1 ⋅ X 33 + 4 ⋅ X 34 + 3 ⋅ X 35 . Необходимо определить такие неотрицательные значения переменных Xij, которые удовлетворяют ограничениям (11.1), (11.2) и (11.3) и обращают в минимум целевую функцию Z (11.4). В такой постановке задача является транспортной задачей линейного программирования. 3. Проверка баланса Необходимым и достаточным условием разрешимости транспортной задачи является условие баланса: 3
5
i =1
j =1
∑ Si = ∑ m j ,
3
где ∑ S i - суммарное количество продукции на складах i =1
5
(при этом Si= ∑ X ij - количество продукции на одном складе, i=1, 2, 3); j =1
(12.5)
152
5
∑ m j - суммарное количество продукции, требуемое в магазинах (при этом -
j =1
3
mi = ∑ X ij количество продукции, которое требуется j-му магазину, j=1, 2, …,5). i =1
В нашем случае 3
∑ S i = 15 + 20 + 20 = 60;
i =1
5
∑ m j = 20 + 12 + 5 + 8 + 15 = 60
j =1
3
5
i =1
j =1
∑ S i = ∑ m j =60,
следовательно, задача с балансом. 12.2.2. Разработка ЭТ с начальным планом решения ЭТ приведена в табл. 12.2 – режим вычислений и табл. 12.3 – режим показа формул.
Таблица 12.2 A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
B C D E F G ОПТИМИЗАЦИЯ ПЛАНА ПЕРЕВОЗОК Склады Магазины 1-й 2-й 3-й 4-й 5-й Номер Запас Стоимость перевозок 1 15 1 0 3 4 2 2 25 5 1 2 3 3 3 20 4 8 1 4 3 Потребности магазинов 20 12 5 8 15 Всего ввозится План перевозок 1 5 1 1 1 1 2 5 1 1 1 1 3 5 1 1 1 1 Завоз в магазины 3 3 3 3 Стоимость перевозок в каждый магазин 10 9 6 11 Целевая функция 44
1 1 1 3 8
1. Подготовим блок ячеек с исходными данными В ячейках В4:В7 помещаем сведения о наличии продукции на складах. В ячейках С9:G9 – сведения о потребностях магазинов. В ячейках С5:G7 – данные о стоимости перевозок единицы продукции со складов в магазин.
154
2. Построим начальный план перевозок. Считаем, что с каждого склада в каждый магазин везут одну единицу товара (ячейки С11:G13 заполним единицами). 3. Вычислим количество перевозимой продукции. а) В ячейку В11 введем формулу для вычисления количества продукции, вывозимой с первого склада: =СУММ(С11:G11). Аналогично в ячейки В12, В13 введем формулы для вычисления количества продукции, вывозимой со второго и третьего складов: =СУММ(С12:G12). =СУММ(С13:G13). Для начального плана перевозок все суммы равны 5. б) В ячейку С15 введем формулу для вычисления количества продукции, которую везем в первый магазин: =СУММ(С11:С13). Аналогично в ячейки D15:G15 введем формулы для вычисления количества продукции, которую везем во 2-й, 3-й, 4-й, 5-й магазины. В ячейку D15 = СУММ (D11:D13). В ячейку E15 =СУММ (E11:E13). В ячейку F15 =СУММ (F11:F13). В ячейку G15 =СУММ (G11:G13). 4. Определим стоимость перевозок в каждый из магазинов:
Для определения стоимости перевозок
в 1-й магазин
Z1=X11C11+ X12C12+ X13C13 введем в ячейку С16 формулу =СУММПРОИЗВ(С5:С7;С11:С13). В ячейке D16 вычислим стоимость перевозок во второй магазин Z2=X12C12+ X22C22+ X32C32, т.е. введем формулу =СУММПРОИЗВ(D5:D7;D11:D13) Аналогично в ячейки Е16:G16 введем формулы для вычисления стоимости перевозок в остальные магазины. В ячейку Е16 =СУММПРОИЗВ(Е5:Е7;Е11:Е13). В ячейку F16 =СУММПРОИЗВ(F5:F7;F11:F13). В ячейку G16 =СУММПРОИЗВ(G5:G7;G11:G13). 0
5. Определим общую стоимость перевозок (целевую функцию ЦФ): Z=Z1 +Z2 +Z3 +Z4+Z5. (12.6) Для этого введем в ячейку В17 формулу =СУММ(С16:G16). Для нашего начального плана получится стоимость, равная 44 денежным единицам. 12.2.3. Улучшение (оптимизация) плана перевозок Используем режим Поиск решения Excel. 1) После выполнения команд Сервис, Поиск решения диалоговое окно Поиск решения (рис. 12.1).
открывается
155
2) Введем данные: Установить целевую ячейку В17 Равной: минимальному значению Изменяя ячейки C11:G13 . 3) Щелкнуть по кнопке Добавить для ввода ограничений. 4) В открывшемся окне Добавление ограничений (рис. 12.2) ввести ограничения. C11:G13 >=0. С11: G13 = целые. В11:В13 ≤ B5:D7. С15:G15 ≥ C9:G9. (Левая часть каждого ограничения вводится в поле Ссылка на ячейку, правая часть ограничения – в поле Ограничение, знак выбирается в средней части окна. После ввода каждого ограничения нужно нажать кнопку Добавить, после ввода последнего ограничения нажать кнопку Ок.) 5) Для запуска режима Поиск решения щелкнуть по кнопке Выполнить (см. рис. 12.1). Если все формулы в табл. 12.3 и все ограничения в окнах рис. 12.1 и рис. 12.2 введены правильно, появится окно с сообщением о том, что решение найдено. Щелкнув по кнопке Ок, получаем решение (табл. 12.4). В результате улучшения плана теперь мы имеем оптимальный план стоимости перевозок с целевой функцией, равной 121 единице.
Рис. 12.1
156
Рис. 12.2
Таблица 12.4 A
B C D E F 1 ОПТИМИЗАЦИЯ ПЛАНА ПЕРЕВОЗОК 2 Склады Магазины 1-й 2-й 3-й 4-й 3 4 Номер Запас Стоимость перевозок 5 1 15 1 0 3 4 6 2 25 5 1 2 3 7 3 20 4 8 1 4 8 Потребности магазинов 9 20 12 5 8 10 Всего ввозится План перевозок 11 1 15 15 0 0 0 12 2 25 0 12 0 8 13 3 20 5 0 5 0 14 Завоз в магазины 15 20 12 5 8 Стоимость перевозок в 16 каждый магазин 35 12 5 24 17 Целевая функция
G
5-й 2 3 3 15 0 5 10 15 45
121
12.3. Определение графика работы сотрудников фирмы Администрации брокерской фирмы требуется определить штат и составить график работы обслуживающего персонала. При этом необходимо обеспечить следующие условия: • каждый из сотрудников должен иметь пять рабочих дней в неделю и два выходных подряд; • все сотрудники фирмы имеют одинаковую заработную плату (500 руб. в день); • всего в фирме на текущий момент работает 30 человек; • исходя из специфики работы фирмы, имеются требования к минимальному количеству работающих сотрудников для каждого из дней недели (табл.12.5).
157
Таблица 12.5 ПонеВоскреВторникСредаЧетвергПятница Суббота дельник сенье
День недели Требуемое число 16 12 14 16 16 25 25 сотрудников Требуется определить минимальное число сотрудников в фирме для обеспечения названных условий. Решение реализовать с использованием табличного процессора Excel (режим Поиск решения). Решение задачи включает следующие этапы: 1. Построение математической модели. 2. Построение начального плана решения. 3. Оптимизация начального плана.
12.3.1. Построение математической модели Поскольку одним из требований является наличие пяти рабочих дней у каждого сотрудника и наличие двух выходных рядом, составим табл. 12.6, в которую занесем возможный режим работы для каждого сотрудника. Внизу этой таблицы запишем для оценки необходимого числа работающих исходную табл. 12.5. 1. Определение возможных режимов работы В первом столбце табл. 12.6 поместим возможные режимы работы сотрудников. Так как сотрудник должен иметь два выходных дня рядом, получаем следующее возможные режимы выходных дней: Понедельник, вторник; Вторник, среда; Среда, четверг; Четверг, пятница; Пятница, суббота; Суббота, воскресенье; Воскресенье, понедельник. 2. Определение возможного графика работы
Обозначим число сотрудников, имеющих выходные в понедельник и вторник, переменной Х1 . Число сотрудников, имеющих выходные во вторник и среду – Х2 и так далее (см. второй столбец табл. 12.6).
Из табл. 12.5 видно, что больше всего сотрудников должно работать в субботу и воскресенье. Следовательно, число выходных у работников в эти дни должно быть меньше всего. В условии задачи сказано, что всего в фирме 30 сотрудников. Попробуем составить предварительный график работы сотрудников. В напряженные рабочие дни (т.е. в строках 6-8 табл. 12.6) спланируем по 2 человека отдыхающих. В остальные дни - по 6 человек. (Всего 6*4+2*3=30 30 − 4 ⋅ 6 человек). Таким образом, Х1=Х2=Х3=Х4=6; Х5=Х6=Х7= = 2. 4
158
Таблица 12.6
Выходные дни Понедельник, вторник Вторник, среда Среда, четверг Четверг, пятница Пятница, суббота Суббота, воскресенье Воскресенье, понедельник
Число имеющих этот график
Рабочие дни Пн
Вт
Ср
Чт
Пт
Сб
Вс
Х1=6
а11=0 а12=0 а13=1 а14=1 а15=1 а16=1 а17=1
Х2=6
а21=1 а22=0 а23=0 а24=1 а25=1 а26=1 а27=1
Х3=6
а31=1 а32=1 а34=0 а34=0 а35=1 а36=1 а37=1
Х4=6
а41=1 а42=1 а43=1 а44=0 а45=0 а46=1 а47=1
Х5=2
а51=1 а52=1 а53=1 а54=1 а55=0 а56=0 а57=1
Х6=2
а61=1 а62=1 а63=1 а64=1 а65=1 а66=0 а67=0
Х7=2
а71=0 а72=0 а73=0 а74=0 а75=1 а76=1 а77=0
ВСЕГО:
30
22
18
18
18
22
26
26
ТРЕБУЕТСЯ
30
16
12
14
16
16
25
25
В дальнейшем, изменяя эти значения, будем искать оптимальное решение, обеспечивающее минимальный фонд зарплаты (т.е. минимальное число работающих) при соблюдении требований к рабочему графику. 3. Определение числа работников, выходящих на работу каждый день согласно данному графику В столбцах “Рабочие дни” введем параметры аij, - индикаторы выхода на работу сотрудника, имеющего режим выходных в строке i в рабочий день j. Например, а11 - индикатор выхода сотрудника, имеющего выходной в первой строке, в Понедельник. Так как этот день у него выходной, а11=0. В среду у этого сотрудника рабочий день, поэтому а13=1. В строке Всего подсчитывается количество работников, выходящих на работу согласно составленному графику. Во втором столбце (Число имеющих этот график) Х1+ Х2 + Х3 + Х4 + Х5 + Х6 + Х7 = 6 + 6 + 6 + 6 + 2 + 2 + 2 = 30. (12.7) В строке Всего для понедельника общее число работающих подсчитывается по формуле Х1⋅ а11 + Х2⋅ а21 + Х3⋅ а31 + Х4⋅ а41 + Х5⋅ а51 + Х6⋅ а61 + Х7⋅ а71 = = 6 ⋅ 0 + 6 ⋅ 1 + 6 ⋅ 1 + 6 ⋅ 1 + 2 ⋅ 1 + 2 ⋅ 1 + 2 ⋅ 0 = 22, (12.8) т.е. находится сумма произведений элементов столбца Х на элементы столбца Пн.
Аналогичным образом, чтобы найти число работающих согласно
159
данному графику во вторник, нужно найти сумму произведений элементов столбца Х на элементы столбца Вт. В последней строке Требуется записано число работников, которые должны работать каждый день недели согласно заданию (табл. 12.5). 4. Определение целевой функции задачи Как видим, в строке Всего удовлетворяются требования строки Требуется с избытком, т.е. план явно не оптимальный. Следует улучшить этот план, имея в виду нахождение минимума для целевой функции - фонда недельной зарплаты, которая считается следующим образом: F = B ⋅ K, (12.9) где F - фонд заработной платы, В - зарплата работника за день (согласно заданию, В=500 руб.), K - число выходов сотрудника в течение недели (в нашем случае согласно табл. 12.6, строка Всего). К = 22 + 18 + 18 + 18 + 22 + 26 + 26 =150. Таким образом, F = B ⋅ K = 500 ⋅ 150 = 75 000 (руб.). 12.3.2. Разработка электронной таблицы Составим электронную таблицу, реализующую планирование списочного состава и графика работы фирмы согласно математической модели табл. 12.6. ЭТ в режиме показа вычислений приведена в табл. 12.7, в режиме показа формул – табл. 12.8. 12.3.3. Оптимизация решения Исходные данные подготовлены. Перейдем теперь к формулированию задачи для режима Поиск решения. В условиях нашей задачи целевой функцией будет функция в ячейке В18 (общая недельная зарплата), а изменяемыми ячейками - интервал С4:С10, содержащий число сотрудников, имеющих данный график предоставления выходных. Наконец, интервал Е14:К15 будет использоваться при определении ограничений. 1. Приступим к запуску режима Поиск решения, для этого введем команду: • Сервис⇒Поиск решения (появится окно Поиск Решения - см. рис. 12.3) 2. Определим параметры окна Поиск решения • в поле установить целевую ячейку, ввести =$В$17 равной установить минимальному значению. • в поле Изменяя ячейки ввести =$C$4:$C$10 (можно использовать предварительное выделение ячеек и интервалов мышью для определения соответствующих полей ввода). 3. Далее приступим к вводу ограничений: а) щелкнуть по кнопке Добавить, появится окно Изменение ограничения (рис. 12.4); б) в окне Изменение ограничения • ввести Ссылку на ячейку: $C$4:$C$10,
160
A 1
B
C
D
E
F
G
Таблица 12.7 H I J K
График работы персонала фирмы Число имеющих этот график
2 3 Выходные дни Понедельник, 4 вторник 5 Вторник, среда Среда, 6 четверг Четверг, 7 пятница Пятница, 8 суббота Суббота, 9 воскресенье Воскресенье, 10 понедельник 11 12 13 14 Всего 15 Требуется Дневная зарплата 16 сотрудников Число выходов 17 за неделю Общая недельная 18 зарплата
Пн Вт Ср Чт Пт Сб Вс 6 6
0 1
0 0
1 0
1 1
1 1
1 1
1 1
6
1
1
0
0
1
1
1
6
1
1
1
0
0
1
1
2
1
1
1
1
0
0
1
2
1
1
1
1
1
0
0
2
0
1
1
1
1
1
0
30 30
По дням недели 22 18 18 18 22 26 26 18 12 14 16 16 25 25
500 150
75000 • выбрать пункт ограничения цел, • щелкнуть по кнопке Добавить. В результате получаем ограничение С4:С10 целые (так как в ячейках С4:С10 хранится информация о количестве работающих, эти величины не могут быть дробными) в) Ссылка на ячейку: =$Е$14:$К$14; • выбрать ограничение >=, • в правой части выбрать Ограничение =$E15:$K$15, • щелкнуть по кнопке Добавить.
162
В итоге получаем ограничение Е14:К14 ≥ Е15:К15. (Число работающих по нашему графику не может быть меньше требуемого условием задачи). г) Ссылка на ячейку С4:С10 • выбрать ограничение >= • в правой части ввести ограничение 0 Таким образом, ввели ограничение С4:С10 ≥ 0 – число работающих неотрицательно. д) щелкнуть по кнопке ОК, так как ввод ограничений завершен. Происходит возврат к окну Поиск решения (рис. 12.3).
Рис. 12.3
Рис. 12.4
Рис. 12.5 4. Запускаем программу Поиск решения на выполнение: • в окне Поиск решения щелкнуть по кнопке Выполнить. Дополнение Поиск решения приступает к итерациям. Затем, закончив вычисления, открываем диалоговое окно Результаты поиска решения (рис. 12.5),
163
в котором выводится сообщение о том, найдено или нет решение поставленной задачи. Если найденное решение вас устраивает, можете сохранить его на рабочем листе: • выбрать опцию Сохранить найденное решение, • щелкнуть по кнопке ОК. В результате получаем табл. 12.9, из которой видно, что теперь число работников 26 (вместо 30), следовательно, фонд зарплаты 65 000 руб. (вместо 75000). Таблица 12.9 A B C D E F G H I J K График работы персонала фирмы Число имеющих 1 этот график 2 Выходные дни Пн. Вт. Ср Чт Пт Сб Вс Понедельник, 3 вторник 5 0 0 1 1 1 1 1 Вторник, 4 среда 9 1 0 0 1 1 1 1 Среда, 5 четверг 1 1 1 0 0 1 1 1 Четверг, 6 пятница 9 1 1 1 0 0 1 1 Пятница, 7 суббота 1 1 1 1 1 0 0 1 Суббота, 8 воскресенье 0 1 1 1 1 1 0 0 Воскресенье, 9 понедельник 1 0 1 1 1 1 1 0 10 11 12 По дням недели 13 Всего 26 20 12 16 16 16 25 25 14 Требуется 16 12 14 16 16 25 25 15 Дневная зарплата 16 сотрудников 500 Пн Вт Ср Чт Пт Сб Вс Число выходов за 17 неделю 124 Общая недельная 18 зарплата 65000
164
12.4. Задача планирования выпуска продукции Предприятие выпускает два вида деталей. Оно закупает заготовки, подвергаемые обработке на станках трех типов: S1, S2, S3. Данные, характеризующие производительность станочного парка, а также стоимостные характеристики, приведены в табл. 12.10. Таблица 12.10 Станки Производительность станков (шт/час) Вид Стоимость часа Деталь А Деталь В работы (у.е) S1 24 30 30 S2 21 50 25 S3 18 20 40 Стоимость одной заготовки ( у.е) 30 40 Продажная цена одной детали (у.е) 59,5 79,89
Предполагая, что можно выпустить любую комбинацию деталей А и В, найти план выпуска продукции, максимизирующий прибыль. Решение задачи включает все этапы, описанные в пп. 12.2 и 12.3. 12.4.1. Построение математической модели 1. Расчет прибыли на одну деталь Рассчитаем прибыль на одну деталь. Расчеты сведем в табл. 12.11.
Таблица 12.11 Затраты на обработку одной детали (у.е.) S1 Стоимость обработки детали S2 на одном станке S3 (у.е.) Общие затраты на обработку (у.е.) Покупная цена заготовки (у.е.) Общие затраты на одну деталь (у.е.) Продажная цена одной детали (у.е) Прибыль на одну деталь (у.е.)
Деталь А
Деталь В
24/30=0,8 21/50=0,42 18/20=0,9
24/30=0,8 21/25=0,84 18/40=0,45
0,8+0,42+0,9=2,12 0,8+0,84+0,45=2,09 30 40 30+2,12=32,12 40+2,09=42,09 59,5 79,89 59,5-32,12=27,38 79,89-42,09=37,8
2. Расчет целевой функции Рассчитаем целевую функцию – прибыль предприятия от деталей, изготовляемых за один час работы. Обозначим: Х1- число выпускаемых в час деталей А; Х2 - число выпускаемых в час деталей В. Тогда чистая прибыль за час составит Z = 27,38 * Х1 +37,8 * Х2. (12.10) 3. Определение ограничений Значения Х нельзя выбирать произвольно. Рассмотрим ограничения, накладываемые на эти переменные.
165
Таких ограничений два. Первое. По физическому смыслу переменных. Количество выпускаемых деталей не может быть отрицательным, т.е. Х1>= 0; X2 >= 0. (12.11) Второе. По мощности оборудования. Для станка S1. На этом станке в час может быть обработано 30 деталей А или 30 деталей В, отсюда получаем неравенство Х1/30 + Х2/30 <= 1. (12.12) Для станка S2. На этом станке в час может быть обработано 50 деталей А или 25 деталей В, отсюда получаем неравенство Х1/50 + Х2/25 <= 1. (12.13) Для станка S3. На этом станке в час может быть обработано 20 деталей А или 40 деталей В, отсюда получаем неравенство Х1/20 + Х2/40 <= 1. (12.14)
Сведем уравнения (12.12) – (12.14) в систему:
⎧ Х 1 / 30 + Х 2 / 30 ≤ 1 ⎪ (12.15) ⎨ Х 1 / 50 + Х 2 / 25 ≤ 1 ⎪ Х / 20 + Х / 40 ≤ 1 2 ⎩ 1 Избавляясь от знаменателей в системе уравнений (12.15), получаем ⎧ Х 1 + Х 2 ≤ 30 ⎪ (12.16) ⎨ Х 1 + 2 ⋅ Х 2 ≤ 50 ⎪2 ⋅ Х + Х ≤ 40 1 2 ⎩ Итак, математическую модель задачи составляют уравнение (12.10) и неравенства (12.11) и (12.16). Нужно найти такие значения переменных Х1 и Х2, которые доставляют максимум целевой функции (12.10) при выполнении ограничений (12.11) и (12.16). 12.4.2. Разработка начального плана выпуска продукции 1) В ячейках В3:С4 ЭТ (табл. 12.12) разместим исходные данные о переменных Х1 и Х2 . Будем считать, что план выпуска составляет одну деталь А в час и одну деталь В в час. 2) В ячейках Е3:F5 поместим данные о коэффициентах левой части системы неравенств (12.16). 3) В строках 7-8 введем информацию о целевой функции: а) в ячейках В8 и С8 разместим коэффициенты перед переменными в целевой функции Z из уравнения (12.10); б) в ячейку D8 введем формулу для вычисления значения ЦФ. Можно ввести формулу =В4*В8+С4*С8, а можно воспользоваться функцией =СУММПРОИЗВ(В4:С4;В8:С8). 4) В строках 10-13 разместим данные для проверки выполнения системы ограничений (12.16):
166
а) в ячейку В11 введем формулу для вычисления левой части первого неравенства из системы (12.16). Это может быть формула =В4*Е3+C4*F3. Но лучше воспользоваться общей формулой: функцией =СУММПРОИЗВ(В4:С4;Е3:F3). б) чтобы скопировать эту формулу в другие ячейки, следует запретить изменять адреса ячеек В4:С4 при копировании. Введем знаки доллара, получим формулу =СУММПРОИЗВ(В$4:С$4;Е3:F3). в) Копируем формулу в ячейки В12:В13. В ячейке В12 формула =СУММПРОИЗВ(В$4:С$4;Е4:F4). В ячейке В13 формула =СУММПРОИЗВ(В$4:С$4;Е4:F5). 5) В ячейки F11: F13 введем правые части неравенства системы (12.16). Таблица 12.12
А
B
1
C
D
E
F
Оптимизация плана выпуска продукции
КОЭФФИЦИЕНТЫ ПРИ НЕИЗВЕСТНЫХ В СИСТЕМЕ ОГРАНИЧЕНИЙ
ПЕРЕМЕННЫЕ
2 3 ИМЯ 4 ЗНАЧЕНИЕ 5
Х1 1
Х2 1
ДЛЯ S1 ДЛЯ S2 ДЛЯ S3
1 1 2
1 2 1
6
Целевая функция Значение целевой функции 7 Коэффициенты при переменных 8 27,38 37,8 =СУММПРОИЗВ(B4:C4;B8:C8) 9 Система ограничений 10 Значения левой части Правая часть 11 =СУММПРОИЗВ(B$4:C$4;E3:F3) 30 12 =СУММПРОИЗВ(B$4:C$4;E4:F4) 50 13 =СУММПРОИЗВ(B$4:C$4;E5:F5) 40 12.4.3. Оптимизация плана выпуска 1) Запускаем режим «Поиск решения». Для этого выполним команды Сервис – Поиск решения. Появится окно Поиска решения (рис. 12.6). 2) В поле Установить целевую ячейку ввести $D$8 . 3) Выбрать режим поиска Максимальное значение. 4) В поле Изменяя ячейки ввести В4:С4. 5) Чтобы ввести ограничения, щелкнуть по кнопке Добавить. Появится окно Изменение ограничений. 6) Ввести ограничения: В4:С4≥0;
167
В4:С4=целые; В14:В13≤F11:F13.
Рис. 12.6 После каждого ограничения щелкнуть по кнопке Добавить, после последнего Ок. 7) Щелкнуть по кнопке Выполнить. В результате получим оптимальный план выпуска продукции (табл. 12.13). Таблица 12.13 A B C D E F 1 2 3 4 5 6
Оптимизация плана выпуска продукции КОЭФФИЦИЕНТЫ ПРИ ПЕРЕМЕННЫЕ НЕИЗВЕСТНЫХ В СИСТЕМЕ ОГРАНИЧЕНИЙ ИМЯ ДЛЯ S1 Х1 Х2 1 1 ЗНАЧЕНИЕ ДЛЯ S2 10 20 1 2 ДЛЯ S3 2 1
Целевая функция Значение целевой функции 7 Коэффициенты при переменных 8 27,38 37,8 1029,8 9 Система ограничений 10 Значения левой части Правая часть 11 30 30 12 50 50 13 40 40
168
12.5. Задача о распределении ресурсов
Малое предприятие выпускает два вида ресурсов деталей. На их изготовление идет три вида ресурсов R1, R2, R3, выделяемых предприятию в ограниченных количествах. Данные о наличии и расходе материалов, себестоимость 1000 шт. деталей каждого вида, а также оптовая цена за 1000 шт. приведены в табл. 12.14. Таблица 12.14 Расход материалов Виды материалов Запасы (усл. ед.) на 1000 ед деталей (усл. ед) Деталь А Деталь В R1 216 12 18 R2 224 14 16 R3 200 20 10 Себестоимость 1000 шт. (усл. ед.) 3,8 3,5 Оптовая цена 1000 шт. (усл. ед.) 5 6
Необходимо составить план выпуска деталей, обеспечивающий получение максимальной прибыли. Решение задачи включает этапы, описанные в пп. 12.2.-12.4. 12.5.1. Построение математической модели Обозначим: Х1 – число выпускаемых деталей А (в тысячах штук); Х2 - число выпускаемых деталей В (в тысячах штук). 1. Определение ограничений На неизвестные величины накладываются два вида ограничений: Первое. По физическому смыслу (число деталей неотрицательно) ⎧ Х1 ≥ 0 . (12.17) ⎨ Х 0 ≥ ⎩ 2 Второе. По запасам ресурсов: ⎧12 ⋅ Х 1 + 18 ⋅ Х 2 ≤ 216 ⎪ (12.18) ⎨14 ⋅ Х 1 + 16 ⋅ Х 2 ≤ 224 . ⎪20 ⋅ Х + 10 ⋅ Х ≤ 200 1 2 ⎩
2. Определение целевой функции Для расчета целевой функции (прибыли от продажи выпускаемых деталей) рассчитаем прибыль, получаемую от тысячи деталей каждого вида. Для деталей А: 5-3,8=1,2. Для деталей В: 6-3,5=2,5. Тогда целевая функция равна (12.19) Z=1,2X1+2,5X2.
169
Требуется найти такие значения неизвестных Х1 и Х2, которые обеспечивают максимум целевой функции (12.19) при выполнении ограничений (12.17) и (12.18). 12.5.2. Построение начального плана решения План решения аналогичен описанному в п. 12.4 и приведен в табл. 12.15. 12.5.3. Оптимизация плана решения Алгоритм оптимизации аналогичен описанному в п. 12.4.3. Диалоговое окно Поиска решения приведено на рис. 12.7 – а оптимальный план решения – в табл. 12.16.
Рис. 12.7
171
A 1 2
B
План выпуска
Деталь А Деталь В 3 4 5 6 7 8 9 10
0
12
C D E Задача распределения ресурсов Целевая функция Доход от 1000 Доход от 1000 деталей А деталей В 1,2
Ограничения Левая часть Расход материала системы на 1000 деталей (12.18) Для R1 12 18 216 Для R2 14 16 192 Для R3 20 10 120
2,5
Таблица 12.16 F
Значение целевой функции 30
Правая часть системы (12.18) 216 224 200
12.6. Задача об оптимальном составе сплава Для получение сплавов А и В используются четыре металла I, II, III и IV. Характеристики и запасы руд, из которых получают эти металлы, указаны в табл. 12.17. Требования к содержанию металлов I, II, III и IV в сплавах, а также стоимости одной тонны сплавов при продаже приведены в табл. 12.18. Необходимо максимизировать прибыль от продажи сплавов А и В. Таблица 12.17 Состав, % Максимальный запас, Цена, доллары Руда Другие тонны за тонну I II III IV компоненты 1 1000 20 10 30 30 10 30 2 2000 10 20 30 30 10 40 3 3000 5 5 70 20 0 50 Таблица 12.18 Сплав Требование к содержанию Цена одной тонны сплава, металла в долларах Не более 80 % металла I А 200 Не более 30 % металла II От 40 % до 60 % металла II В Не менее 30 % металла II 210 Не более 70 % металла IV
Решение включает этапы, описанные в пп. 12.2-12.5.
172
12.6.1. Построение математической модели 1. Определение целевой функции Обозначим количество металлов I, II, III и IV, использованных для получения сплава А, переменными Х1А, Х2А, Х3А, Х4А. Количество металлов I, II, III и IV, использованных для получения сплава В, обозначим переменными Х1В, Х2В, Х3В, Х4В. Для обозначения количества используемой руды введем переменные Y1, Y2, Y3. Объем производимого сплава А (в тоннах) равен Х1А+Х2А +Х3А +Х4А. Аналогично объем сплава В равен Х1В+Х2В+Х3В +Х4В. Прибыль от продажи сплава А составит (12.20) Z1=200(Х1А+Х2А +Х3А +Х4А),
а прибыль от продажи сплава В равна
Z2=210(Х1В+Х2В+Х3В +Х4В). (12.21) Стоимость руд, использованных при литье металлов, равна Z3=30Y1+40Y2+50Y3. (12.22) Тогда целевую функцию – прибыль предприятия – можно записать в виде разности между прибылью от продажи сплавов и затратами на руды: (12.23) Z=Z1+Z2-Z3. Или, подставляя выражения (12.20), (12.21) и (12.22), получим Z=200(Х1А+Х2А +Х3А +Х4А)+ 210(Х1В+Х2В+Х3В +Х4В)-30Y1-40Y2-50Y3. (12.24) 2. Определение ограничений на переменные Можно выделить четыре вида ограничений. Первое. По физическому смыслу переменных – объемы используемых металлов и руд не могут быть отрицательными, следовательно, ⎧ X i A ≥ 0, i = 1,2,3,4 ⎪ (12.25) ⎨ X i B ≥ 0, i = 1,2,3,4 . ⎪ Yi ≥ 0, i = 1,2,3 ⎩ Второе. Ограничения на состав сплавов. Согласно табл.12.18, получаем ⎧ X 1 A ≤ 0.8( X 1 A + X 2 A + X 3 A + X 4 A ) ⎪ X ≤ 0.3( X + X + X + X ) 1A 2A 3A 4A ⎪ 2A ⎪ X 2 B ≤ 0.6( X 1B + X 2 B + X 3B + X 4 B ) . (12.26) ⎨ 0 . 4 ( ) X X X X X ≥ + + + 2 1 2 3 4 B B B B B ⎪ ⎪ X 3B ≥ 0.3( X 1B + X 2 B + X 3B + X 4 B ) ⎪ ⎩ X 4 A ≤ 0.7( X 1B + X 2 B + X 3B + X 4 B ) Третье. Ограничения на состав металлов согласно табл. 12.17.
173
⎧ X 1A + X 1B ≤ 0.2Y1 + 0.1Y2 + 0.05Y3 ⎪ X + X ≤ 0.1Y + 0.2Y + 0.05Y ⎪ 2A 2B 1 2 3 . (12.27) ⎨ X X Y Y Y + ≤ + + 0 . 3 0 . 3 0 . 7 3B 1 2 3 ⎪ 3A ⎪⎩ X 4 A + X 4 B ≤ 0.3Y1 + 0.3Y2 + 0.2Y3 Четвертое. Ограничения по запасам руды ⎧ Y1 ≤ 1000 ⎪ (12.28) ⎨Y2 ≤ 2000 . ⎪Y ≤ 3000 ⎩ 3 Итак, для решения задачи нужно найти такие значения расходуемых объемов металлов Х1А, Х2А , Х3А , Х4А, Х1В, Х2В, Х3В , Х4В и руд Y1, Y2, Y3, которые обеспечат максимальное значение целевой функции (12.24) при выполнении ограничений (12.25) – (12.28). 12.6.2. Построение начального плана решения 1) Отведем под переменные Х1А, Х2А , Х3А , Х4А диапазон ячеек В4:В7 электронной таблицы (табл. 12.19). 2) Для хранения переменных Х1В, Х2В, Х3в , Х4В отведем диапазон ячеек С4:С7 электронной таблицы. 3) В ячейках Е5:Е7 разместим значения переменных Y1, Y2, Y3. Для всех переменных начальные значения полагаем равными нулю. 4) В диапазоне ячеек F5:F7 вводим значения имеющихся запасов руды из второго столбца табл. 12.17. 5) В диапазон ячеек G5:G7 вводим цены за одну тонну руды из последнего столбца табл. 12.17. 6) В диапазон ячеек Н5:К7 помещаем характеристики состава руд из столбцов 3 – 7 табл. 12.17. 7) В ячейки диапазона А10:А15 вводим левые части ограничений (12.26). 8) В ячейки диапазона Е10:Е15 вводим правые части ограничений (12.26). 9) В ячейки диапазона А16:А19 вводим левые части ограничений (12.27). 10) В ячейки диапазона Е16:Е19 вводим правые части ограничений (12.27). 11) В ячейке А21 размещаем целевую функцию (12.24). 12.6.3. Оптимизация плана решения 1) Вызываем режим Поиск решения (Сервис – Поиск решения). 2) Заполняем окно Поиск решения согласно рис. 12.8. 3) Командой Выполнить запускаем режим Поиск решения. Результат его работы представлен в табл. 12.20.
174
A
B C
D E F G H Оптимальный состав сплава
Таблица 12.19 I J K
1 2 Сплав 3 Металл А В Руда Состав металлов I II III IY 4 1 0 0 Номер Затраты Запас Цена 5 2 0 0 1 0 1000 30 0,2 0,1 0,3 0,3 6 3 0 0 2 0 2000 40 0,1 0,2 0,3 0,3 7 4 0 0 3 0 3000 50 0,05 0,05 0,7 0,2 8 Ограничения 9 Левая часть Правая часть 10 =В4 =0,8*СУММ(B4:B7) 11 =В5 =0,3*СУММ(B4:B7) 12 =С5 =0,6*СУММ(C4:C7) 13 =С5 =0,4*СУММ(C4:C7) 14 =С6 =0,3*СУММ(C4:C7) 15 =С7 =0,7*СУММ(C4:C7) 16 =СУММ(B4:C4) =СУММПРОИЗВ(E5:E7;H5:H7) 17 =СУММ(B5:C5) =СУММПРОИЗВ(E5:E7;I5:I7) 18 =СУММ(B6:C6) =СУММПРОИЗВ(E5:E7;J5:J7) 19 =СУММ(B7:C7) =СУММПРОИЗВ(Е5:E7;K5:K7) 20 Целевая функция 21 =200*СУММ(B4:B7)+210*СУММ(C4:C7)-СУММПРОИЗВ(E5:E7;G5:G7)
Рис. 12.8
175
A
B
Таблица 12.20 I J K
C
D E F G H 1 Оптимальный состав сплава 2 Сплав Состав, доля Запас 3 Металл А В Руда Цена I II III IY 4 1 62,5 488 Номер Затраты 5 2 0 650 1 1000 1000 30 0,2 0,1 0,3 0,3 6 3 2512,5 488 2 2000 2000 40 0,1 0,2 0,3 0,3 7 4 1500 0 3 3000 3000 50 0,05 0,1 0,7 0,2 8 Ограничения 9 Левая часть Правая часть 10 62,5 3260 11 0 1222,5 12 650 975 13 650 650 14 487,5 487,5 15 0 1137,5 16 550 550 17 650 650 18 3000 3000 19 1500 1500 20 Целевая функция 21 896250
12.7. Задача о производстве красок Фабрика выпускает два вида красок: для внутренних работ (В) и наружных работ (Н). Для производства красок используются два исходных продукта Р1 и Р2, максимально возможные суточные запасы этих продуктов, а также расходы на 1 т соответствующих красок и оптовые цены одной тонны приведены в табл. 12.21.
Таблица 12.21 Исходный продукт Р1 Р2 Оптовая цена за одну тонну
Расход исходных продуктов (в тоннах) на тонну краски Краска В Краска Н 1 2 2 1 2000 руб.
3000 руб.
Максимально возможный запас, в тоннах 6 8
176
Изучение рынка сбыта показало, что суточный спрос на краску Н никогда не превышает спроса на краску В более чем на 1 т. Кроме того, установлено, что спрос на краску Н никогда не превышает 2 т в сутки. Какое количество краски каждого вида должна производить фабрика, чтобы доход от реализации продукции был максимальным?
Решение включает три этапа, описанные в пп. 12.2-12.6. 12.7.1. Построение математической модели 1. Определение целевой функции Обозначим: ХВ - суточный объем производства краски В; ХН - суточный объем производства краски Н. Целевой функцией будет суммарная суточная прибыль от производства красок: (12.29) Z=2000·ХВ + 3000 ·ХН . 2. Определение ограничений на переменные На переменные ХВ и ХН накладывается три вида ограничений. Первое. Ограничение по физическому смыслу задачи – объём производства красок не может быть отрицательным. Следовательно, ⎧ХВ ≥ 0 . (12.30) ⎨ Х ≥ 0 ⎩ Н Второе. Ограничение по ресурсам. Расход исходного продукта для производства обоих видов красок не может превосходить максимально возможный запас данного исходного продукта. Таким образом, Для Р1 ⎧ ХВ + 2⋅ ХН ≤6 . (12.31) ⎨ Для Р1 2 ⋅ + 2 ⋅ ≤ 8 Х Х ⎩ В Н Третье. Ограничения на величину спроса краски имеют вид: ⎧Х Н − Х В ≤ 1 . (12.32) ⎨ ⎩ ХН ≤2 Итак, целью фабрики является определение среди множества допустимых значений ХН и ХВ таких, которые обеспечат максимальное значение целевой функции (12.29) при выполнении ограничений (12.30) – (12.32). 12.7.2. Построение начального плана решения Создадим электронную таблицу для реализации решения (табл. 12.22). В ячейках А3:В4 размещен начальный план выпуска красок. Поскольку сразу определить оптимальный план выпуска не удастся, считаем, что начальные объёмы производства красок равны нулю. Строки 5 и 6 отведены для вычисления целевой функции. В ячейках А9:А12 вычисляются левые части ограничений (12.30) – (12.32) для текущего объёма производства красок, а в ячейках В9:В12 находятся правые части этих ограничений.
177
1 2 3 4 5 6 7 8 9 10 11 12
Таблица 12.22 A B Оптимизация производства красок Переменные Х1 Х2 0 0 Целевая функция =3000*А4+2000*В4 Ограничения Левая часть Правая часть =А4+2*C4 6 =2*А4+C4 8 =CА-B4 1 =C4 2
Рис. 12.9 12.7.3. Оптимизация плана решения 1) Запускаем средство Поиск решения (Сервис – Поиск решения). 2) Установим в окне Поиск решения параметры, показанные на рис. 12.9. 3) Щелкнем по кнопке Выполнить. Результат приведен в табл. 12.23.
178
1 2 3 4 5 6 7 8 9 10 11 12
Таблица 12.23 A B Оптимизация производства красок Переменные Х1 Х2 3,33333333 1,33333333 Целевая функция 12666,66667 Ограничения Левая часть Правая часть 6 6 8 8 -2 1 1,3333333 2
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. Назовите пакет программ Excel, используемый для оптимизации решений. 2. Дайте определение понятию Целевая функция задачи. 3. Можно ли использовать математическую модель одной задачи для оптимизации другой задачи? 4. Можно ли провести оптимизацию решения без ввода ограничений? 5. Может ли задача, решаемая в Еxcel, иметь несколько целевых функций?
13. БАЗЫ ДАННЫХ 13.1. Основные понятия В широком смысле слова база данных - это совокупность сведений о конкретных объектах реального мира в какой-либо области. Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы. Структурирование - это введение соглашений о способах представления данных. Неструктурированными называют данные, записанные, например, в текстовом файле. На рис. 13.1 приведен пример неструктурированных данных, содержащих сведения о студентах (номер личного дела, фамилию, имя, отчество и год рождения). Понятно, что организовать поиск необходимых данных, хранящихся в неструктурированном виде сложно, а упорядочить подобную информацию практически не представляется реальным. Личное дело №16495, Сергеев Петр Михайлович, дата рождения 1 января 1976г.; Л/д №16593, Петрова Анна Владимировна, дата рожд.15 марта 1975г.; № личн. дела 16693, д.р. 14.04.76, Анохин Андрей Борисович Рис. 13.1. Чтобы автоматизировать поиск и систематизировать эти данные, необходимо выработать определенные соглашения о способах представления данных, т.е. дату рождения нужно записывать одинаково для каждого студента, она должна иметь одинаковую длину и определенное место среди остальной информации. Эти же замечания справедливы и для остальных данных (номер личного дела, фамилия, имя, отчество). Структурированная запись данных приведена в табл. 13.1. Таблица 13.1 № личного Дата Фамилия Имя Отчество дела рождения 16493 Сергеев Петр Михайлович 01.01.76 16593 Петрова Анна Владимировна 15.03.75 16693 Анохин Андрей Борисович 14.04.76 Итак, база данных (БД) - это поименованная совокупность структурированных данных, относящихся к определенной предметной области. Система управления базами данных (СУБД) - это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. Наиболее популярными являются СУБД FoxPro, Access.
13.2. Модели данных В СУБД происходит процесс логического преобразования данных, с которыми имеет дело пользователь, в язык ЭВМ и обратно. Общая логическая структура БД называется моделью данных. Различают три основные модели данных: иерархическую, сетевую и реляционную. 13.2.1. Иерархическая модель данных Иерархическая структура представляет совокупность элементов, образующих граф (дерево) (см. рис. 13.2) . К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел - это совокупность атрибутов данных, описывающих некоторые объекты. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящемся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей. К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рис. 13.2, для записи С4 путь проходит через записи А и В3.
Уровень 1
А
Уровень 2
Уровень 3
В1
С1
С2
В2
В3
В4
С3 С4 Рис. 13.2
С5 С6
В5
С7
С8
Фрагмент иерархической базы данных «Структура института» приведен на рис.13.3.
Ректор Декан
Кафедра
Декан
Декан
Кафедра
Преподаватель
Преподаватель
Преподаватель
Рис. 13.3 Первые системы управления базами данных использовали иерархическую модель данных (например, СУБД Фокус). Преимущество такой модели – ее наглядность. Недостатки – далеко не всякий объект можно представить в виде графа. Поэтому сегодня иерархические модели данных используются редко. 13.2.2. Сетевая модель данных В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом (рис.13.4).
А С
В E
D F
H
L
Рис. 13.4 Рассмотрим фрагмент сетевой БД «Курсовая работа студентов» (рис.13.5). Много студентов, много предметов. Любой элемент структуры может быть связан с другими. Сетевые модели позволяют описывать любые предметные области, однако такую подробную модель может быть трудно описать математически. Поэтому сегодня сетевые БД применяются, прежде всего, в банковских структурах (например, db Vista, AdaBas). 13.2.3. Реляционная модель данных Понятие реляционных моделей (англ. Relation – отношение) связано с разработками известного американского специалиста в области баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Студент (номер зачетной книжки, фамилия, группа) 87695 Иванов 111
85495 Петров 112
87495 Сидоров 113
Работа (руководитель, предмет) Сергеев П.И. Информатика
Некрасова Г.П. Экономика
Кириллов В.П. Экология
Павлова И.М. История
Рис. 13.5 Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: − каждый элемент таблицы – один элемент данных; − все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину; − каждый столбец имеет уникальное имя. Примером реляционной БД может служить БД «Студент» (табл. 13.1). СУБД FoxPro и Access реализуют реляционную модель данных. 13.3. Структурные элементы реляционной базы данных Понятие базы данных тесно связано с такими понятиями, , как поле, запись, отношение, файл, ключ. Поле – элементарная единица логической организации данных. В двумерной таблице поле – одни из столбцов таблицы. При создании БД нужно предварительно описать все поля. Для описания поля используются следующие характеристики: − имя (например, фамилия, Имя, Отчество, Дата рождения – т.е. название столбца таблицы); − тип (например, текстовый, числовой, календарный – в памяти компьютера разный тип информации кодируется различным образом. Для поля Фамилия задается текстовый тип информации, для поля Дата рождения – календарный); − длина (например, 15 символов, причем длина будет определятся максимально возможным количеством символов в данном поле и служит для предварительного задания ширины столбца. Так для поля Фамилия
достаточно задать длину 15 символов, поскольку большинство фамилий не содержат более 15 букв, а для столбца Пол достаточно одного символа, т.к. туда будет вводиться признак пола – одна буква “м” или “ж”); − точность – необходимо задавать ее только для числовых данных (например, два десятичных знака для отображения дробной части числа 15,28). Запись (рис. 13.6) – совокупность логически связанных полей. Экземпляр записи – отдельная реализация записи, содержит конкретные значения ее полей т.е. одна строка двумерной таблицы. (В табл. 13.1. один экземпляр записи характеризует студента Сергеева, второй – Петрову).
Имя поля 1
Имя поля 2
Имя поля 3 Запись
Рис. 13.6 Отношение (таблица) – совокупность экземпляров записей одной структуры (табл. 13.2 - отношение). Описание логической структуры записи отношения содержит последовательность расположение полей записи и их основные характеристики, как это показано в табл. 13.2. Таблица 13.2 Имя отношения Поле Формат поля Признак Имя Полное Точность ключа Тип Длина (обозначение) наименование (для чисел) Имя 1 … Имя n Файл – совокупность объектов одной базы данных. Обычно любой файл БД содержит таблицы (для хранения информации), запросы (для отбора сведений), формы (для просмотра и ввода данных) и отчеты (для подготовки информации к печати). Как видно из табл. 13.2, кроме уже известных характеристик, в структуре записи отношения указываются поля, значение которых являются ключами. Ключ – это такое поле, по которому можно однозначно найти любую запись в базе данных. В табл. 12.1 таким ключом может быть только поле “№ личного дела” (если, например, выбрать в качестве ключа поле Фамилия, то однозначность поиска нужной записи о студенте не будет обеспечена, т.к. в любой достаточно большой БД обязательно окажется несколько студентов с фамилиями Иванов, Смирнов и т. д.). В табл. 13.3.приведен пример описание логической структуры записи файла (таблицы СТУДЕНТ, содержимое которого приводится в табл. 13.1.
Таблица 13.3 Имя отношения Поле Обозначение в БД Номер Фамилия Имя Отчество Дата
Полное наименование № личного дела Фамилия студента Имя студента Отчество студента Дата рождения
Тип Числ. Симв. Симв. Симв. Дата
Формат поля Длина Точность (для чисел) 5 15 10 15 8
Как уже отмечалось, таблицы БД в реляционных моделях называются отношениями, строки записями, а столбцы – атрибутами отношений (полями). Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи можно однозначно определить только значениями нескольких полей, то такая таблица базы данных имеет составной ключ. В примере, показанном в табл. 12.1, простым ключевым полем таблицы является “№ личного дела”. Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей). На рис. 13.7 показан пример, реляционной модели, построенной на основе отношений (таблиц): СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.
СТУДЕНТ (Номер)
СТИПЕНДИЯ (Результат)
СЕССИЯ (Номер) (Результат) Рис. 13.7 Таблицы, входящие в состав модели рис. 13.7, могут включать, например, следующие поля: СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения, Группа); СЕССИЯ (Номер, Оценка1, Оценка2, Оценка3, Оценка4, Результат); СТИПЕНДИЯ (Результат, Процент). Выделенные поля в описанных таблицах являются ключевыми. Поле Номер – это номер личного дела студента. Поле Результат – средний балл студента за сессию. Таблицы СТУДЕНТ и СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность легко организовать связь между ними. Таблица СЕССИЯ
имеет первичный ключ Номер и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей СТИПЕНДИЯ (см. рис. 13.8). СТУДЕНТ
СЕССИЯ
СТИПЕНДИЯ
Номер Фамилия Имя Отчество Пол Дата рождения Группа
Номер Оценка 1 Оценка 2 Оценка 3 Оценка 4 Результат
Результат Процент
Рис. 13.8 13.4. Нормализация отношений Одни и те же данные могут группироваться в таблицы (отношения) различными способами. Возможная организация различных наборов отношений должна быть рациональной, т.е. исключающей дублирование данных и упрощающей процедуры их обработки и обновления. Нормализация отношений формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных. Е. Коддом выделены шесть нормальных форм отношений и предложен механизм, позволяющий любое отношение преобразовать к самой совершенной нормальной форме. Рассмотрим три основные нормальные формы. 13.4.1. Первая нормальная форма Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты простые (далее неделимы). Преобразование отношения к первой нормальной форме может привести к увеличению количества реквизитов (полей) таблицы и изменению ключа. Например, отношение Студент (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в первой нормальной форме. (Каждое поле однозначно описывает какую-то характеристику студента. Ни одно поле не требует дополнительных разъяснений). Отношение Студент1 (Номер, Фамилия, Имя, Отчество, Группа, Дети) не находится в первой нормальной форме, т.к. студент может иметь несколько детей и тогда об одном и том же студенте придется ввести в таблицу несколько записей. Например, пусть студент Иванов Иван Иванович, номер личного дела 11111 учится в 215 группе и имеет двоих детей - Максима и Ольгу. Тогда таблица с записью о нем будет иметь вид табл.13.4 Чтобы привести отношение СТУДЕНТ1 к первой нормальной форме, нужно разбить эту таблице на две: СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Группа) ДЕТИ (Номер, Имя ребенка, Возраст ребенка).
(См. рис. 13.9). Теперь каждая из таблиц СТУДЕНТ1 и ДЕТИ не содержат делимой информации, т.е. БД приведена к первой нормальной форме. СТУДЕНТ1
СТУДЕНТ
ДЕТИ
Номер Фамилия Имя Отчество Группа Дети
Номер Фамилия Имя Отчество Группа
Номер Имя ребенка Возраст
=
Рис. 13.9 Номер
Фамилия
11111 11111
Иванов Иванов
Имя студента Иван Иван
Отчество
Группа
Иванович Иванович
215 215
Таблица 12.4 Имя Возраст ребенка ребенка Максим 10 Ольга 3
13.4.2. Вторая нормальная форма Чтобы рассмотреть вопрос приведения отношений ко второй нормальной форме, необходимо дать пояснения к таким понятиям, как функциональная зависимость и полная функциональная зависимость. Функциональная зависимость реквизитов - зависимость, при которой в одном экземпляре информационного объекта определенному значению ключа соответствует только одно значение описательного реквизита. В случае составного ключа вводится понятие функционально полной зависимости. Функциональная полная зависимость неключевых атрибутов заключается в том, что каждый неключевой атрибут функционально зависит от ключа, но не находится в функциональной зависимости только части составного ключа. Отношение будет находиться во второй нормальной форме, если оно находится в первой нормальной форме, и каждый неключевой атрибут функционально полно зависит от составного ключа. Отношение СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится в первой и во второй нормальной форме одновременно, так как описательные реквизиты однозначно определены и функционально зависят от ключа Номер. Отношение УСПЕВАЕМОСТЬ (Номер, Фамилия, Имя, Отчество, Дисциплина, Число часов, Оценка) находится в первой нормальной форме и имеет составной ключ Номер + Дисциплина. Это отношение не находится во второй нормальной форме, так как атрибут Число часов, не находится в функциональной зависимости от ключа Номер.
Чтобы привести это отношение ко второй нормальной форме, следует разбить его на два: СТУДЕНТ (Номер, Фамилия, Имя, Отчество) и ДИСЦИПЛИНА (Номер, Дисциплина, Число часов, Оценка). 13.4.3. Третья нормальная форма Понятие третьей нормальной формы основывается на понятии нетранзитивной зависимости. Транзитивная зависимость наблюдается в том случае, если один из двух описательных реквизитов зависит от ключа, а другой описательный реквизит зависит от первого описательного реквизита. Отношение будет находиться в третьей нормальной форме, если оно находится во второй нормальной форме, и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. Если в состав описательных реквизитов информационного объекта СТУДЕНТ включать фамилию старосты группы (Староста), которая определяется только номером группы, то одна и та же фамилия старосты будет многократно повторяться в разных экземплярах данного информационного объекта. В этом случае наблюдаются затруднения в корректировке фамилии старосты в случае назначения нового старосты, а также неоправданный расход памяти для хранения дублированной информации. Для устранения транзитивной зависимости описательных реквизитов необходимо провести "расщепление" исходного информационного объекта. В результате расщепления часть реквизитов удаляется из исходного информационного объекта и включается в состав других (возможно, вновь созданных) информационных объектов. "Расщепление" информационного объекта, содержащего транзитивную зависимость описательных реквизитов, показано на рис. 13.10. Как видно из рис.12.10 исходный информационный объект СТУДЕНТ ГРУППЫ представляется в виде совокупности правильно структурированных информационных объектов (СТУДЕНТ и ГРУППА), реквизитный состав которых тождественен исходному объекту. Отношение СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Дата, Группа) находится одновременно в первой, второй и третьей нормальной форме. СТУДЕНТ ГРУППЫ Номер Фамилия Имя Отчество Дата Группа Староста
СТУДЕНТ
=
Номер Фамилия Имя Отчество Дата Группа Рис. 13.10
ГРУППА +
Группа Староста
13.5. Типы связей Все информационные объекты предметной области связаны между собой. Различаются связи нескольких типов, для которых введены следующие обозначения: - один к одному (1:1); - один ко многим (1:М) или (1:∞); - многие ко многим (М:М) или (∞:∞). Рассмотрим эти типы связей на примере. Дана совокупность информационных объектов, база данных отражающая учебный процесс в вузе: СТУДЕНТ (Номер, Фамилия И.О) СЕССИЯ (Номер, Оценка1, Оценка2, Оценка3, Оценка4, Результат) СТИПЕНДИЯ (Результат, Процент) ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О). Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот. Рис.13.11 иллюстрирует указанный тип отношений. А1 В1 А2 А В А3 В2 Рис. 13.11 Примером связи 1:1 может служить связь между информационными объектами СТУДЕНТ и СЕССИЯ: СТУДЕНТ СЕССИЯ Каждый студент имеет определенный набор экзаменационных оценок в сессию (рис.13.12). СТУДЕНТ
1:1
Номер Фамилия И.О.
СЕССИЯ Номер Оценка 1 Оценка 2 Оценка 3 Результат
Рис. 13.12 Одной строке таблицы СТУДЕНТ соответствует одна строка таблицы СЕССИЯ (рис. 13.13). СТУДЕНТ СЕССИЯ Фамилия И.О. Номер Номер Оценка1 Оценка2 Оценка3 Результат Иванов А.И 11111 11111 3 3 3 3 Петров П.П 22222 22222 4 4 5 4,3 Рис. 13.13
При связи один ко многим (1:М) одному экземпляру информационного объект А соответствует полю один или больше экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с одним экземпляром объекта А. Графически данное соответствие имеет вид, представленный на рис. 13.14. А1 А2
В1 В2
А3
В3
А
В
Рис. 13.14 Примером связи 1:М служит связь между информационными объектами СТИПЕНДИЯ и СЕССИЯ: СТИПЕНДИЯ СЕССИЯ Установленный размер стипендии по результатам сдачи сессии может повторяться многократно для различных студентов (рис. 13.15). СТИПЕНДИЯ
СЕССИЯ
1:М
Номер Оценка 1 Оценка 2 Оценка 3 Результат
Результат Процент.
Рис. 13.15 Рассмотрим пример заполнения таблиц СЕССИЯ и СТИПЕНДИЯ (рис.13.16).
СТИПЕНДИЯ Результат Процент < 3,5 0% 3,5 – 4,5 100% > 4,5 200%
СЕССИЯ Номер Оц1 Оц2 Оц3 Результат 11111 3 3 3 3 22222 4 4 5 4,3 33333 5 5 5 5 44444 4 4 4 4 55555 2 3 4 3
Рис. 12.16 Рис. 13.16. Здесь первой строке таблицы СТИПЕНДИЯ соответствует первая и пятая строки таблицы СЕССИЯ; второй строке таблицы СТИПЕНДИЯ соответствует вторая и четвертая строки таблицы СЕССИЯ и третьей строке таблицы СТИПЕНДИЯ соответствует третья строка таблицы СЕССИЯ. Т.е. одной строке табл. СТИПЕНДИЯ соответствует одна или больше строк табл. СЕССИЯ.
Связь многие со многими (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0,1 или более экземпляров объекта В и наоборот. На рис. 13.17 графически представлено указанное соответствие. А1 В1 А В А2 В2 А3 В3 Рис. 13.17 Примером данного отношения служит связь между информационными объектами СТУДЕНТ и ПРЕПОДАВАТЕЛЬ: СТУДЕНТ ПРЕПОДАВАТЕЛЬ Один студент обучается у многих преподавателей, один преподаватель обучает многих студентов (рис. 13.18). СТУДЕНТ Номер Фамилия И.О.
М:М
ПРЕПОДАВАТЕЛЬ Код Фамилия И.О.
Рис. 13.18 Рассмотрим пример заполнения таблиц СТУДЕНТ и ПРЕПОДАВАТЕЛЬ (рис.13.19). СТУДЕНТ Номер Фамилия 33333 Алексеева А.А 44444 Сидоров С.С 55555 Николаева Н.И
ПРЕПОДАВАТЕЛЬ Код Фамилия И.О преподавателя 11 Анохин А.А. 22 Сергеев С.С.
Рис. 13.19 Каждая строка таблицы СТУДЕНТ связана с каждой строкой таблицы ПРЕПОДАВАТЕЛЬ и наоборот. 13.6. Основные характеристики СУБД СУБД может иметь включающий или базовый язык программирования. В СУБД с включающим языком используется одни из универсальных алгоритмических языков (С, Pascal и т.п.). В СУБД с базовым языком применяется собственный алгоритмический язык, позволяющий кроме операций манипулирования данными выполнять различные вычисления и обработку данных. Кроме того, все реляционные СУБД имеют стандартный язык структурированных запросов SQL (Structured Querics Lahguage). СУБД FoxPro (разработка фирмы Fox Software), Paradox (фирма Borland), Access
(фирма Microsoft) имеют базовые языки программирования. Сетевая СУБД dbVista использует включающий язык C. С 1996 г. операционная система Windows 95 стала стандартом для настольных ПК. Наиболее известными и популярными СУБД, ориентированными на Windows, являются: Access (Microsoft) и Paradox. К общим свойствам СУБД Paradox и Access относятся: графический многооконный интерфейс, позволяющий пользователю в диалоговом режиме создавать таблицы, формы, запросы, отчеты и макросы; специальные средства, автоматизирующие работу, - многочисленные мастера в Access и эксперты в Paradox; возможность работы в локальном или сетевом режиме; использование объектной технологии OLE2 для внедрения в базу данных различной природы (текстов, электронных таблиц, изображений и т.п.); наличие собственного языка программирования (у Paradox – ObjectPal, у Access – Visual Basic); в Access предусмотрена автоматическая генерация кода SQL при создании запроса пользователем (в Paradox этот запрос на SQL нужно написать самому пользователю). Visual Basic в Access является наиболее мощным объектно ориентированным языком программирования. Он обладает свойством автономности от СУБД и переносимости в другие приложения Microsoft Office. (Это обеспечивает хорошую интеграцию данных); В Access имеется Мастер анализа таблиц, с помощью которого можно выполнить нормализацию таблицы. 13.7. Перспективы развития объектного подхода Одной из важнейших тенденций развития СУБД является разработка «универсальных» СУБД, способных интегрировать в базе традиционные и нетрадиционные данные – текст, рисунки, звук и видео, страницы HTML и др. Это особенно актуально для WEB. Имеется два подхода к построению таких СУБД: объектно-реляционный (совершенствование существующих реляционных СУБД) и объектный. Следует отметить, что современные СУБД уже способны интегрировать данные, однако нетрадиционные данные не доступны для внутренней обработки. «Универсальные» СУБД должны выполнять такую обработку. В таких системах не нужны разнородные программы, которыми сложно управлять. По пути создания объектно-реляционных СУБД пошли такие фирмы, как IBM, Informix и Oracle. В IBM разработана объектно-реляционная СУБД DB2 для OC AIX и OS/2. На начальном этапе фирма Oracle выпустила реляционный продукт Oracle Universal Server, интегрирующий СУБД Oracle 7.3 и специальные серверы (WEB, пространственных данных, текстов, видеосообщений), поддерживающие данные в различных хранилищах. В объектно-реляционной Oracle 8 должны быть интегрированы реляционные и
нетрадиционные типы данных. Informix создала объектно-реляционную СУБД Universal Server. Корпорация Microsoft сделала ставку на объектно-ориентированный интерфейс OLE DB, который обеспечивает допуск к данным Microsoft SQL Server (реляционная СУБД). Фирма Sybase ориентирована на использование специализированных серверов, а интеграцию данных намеревается проводить другими средствами, то есть идет по пути создания объектно-реляционной СУБД (Adaptive-Server). В последнее время большое внимание уделяют разработке СУБД с параллельной обработкой данных. Информационные хранилища на базе СУБД с параллельной обработкой рассчитаны на многопроцессорные системы. Такие СУБД разделяются по типу архитектуры – без разделения ресурсов и с совместным использованием дискового пространства. В первом случае за каждым из процессоров закреплены выделенные области памяти и диски, что дает хорошую скорость обработки. Во втором случае все процессоры делят между собой как оперативную память, так и место на диске. 13.8. Классификация современных СУБД К важным признакам классификации современных СУБД относятся: 1) Среда функционирования – класс компьютеров и операционных систем (платформа), на которых работает СУБД. 2) Тип поддерживаемой в СУБД модели данных – сетевая, иерархическая или реляционная. 3) Возможности встроенного языка СУБД, его переносимость в другие приложения (SQL, Visual Basic, ObjectPal и т.п.). 4) Наличие развитых диалоговых средств конструирования (таблиц, форм, запросов, отчетов, макросов) и средств работы с базой данных. 5) Возможность работы с нетрадиционными данными в корпоративных сетях (страницы Интернет, сообщение электронной почты, изображение, звуковые файлы, видеоклипы и.т.п.). 6) Используемая концепция работы с нетрадиционными данными – объектно-реляционные, объектные. 7) Уровень использования – локальная (для настольных систем), архитектура клиент-сервер, с параллельной обработкой данных (многопроцессорная). 8) Использование объектной технологии OLE 2.0. 9) Возможности интеграции данных из разных СУБД. 10) Степень поддержки языка SQL и возможности работы с сервером баз данных (SQL-сервером). 11) Наличие средств отчуждаемых приложений, позволяющих не проводить полной инсталляции СУБД для тиражируемых приложений пользователя.
13.9. Краткие сведения о СУБД Access База данных в Access представляет собой единый большой объект, который объединяет такие составляющие, как таблицы, отчеты, запросы, формы, макросы и модули и позволяет хранить их в одном файле. Основным структурным элементом БД является таблица. Каждая таблица содержит записи определенного вида, например, о студентах конкретного учебного заведения. Каждый объект и элемент управления имеет свои свойства, определяя которые, можно настраивать объекты и элементы управления. Таблицы создаются пользователем для хранения информации по одному объекту модели данных предметной области. Запросы создаются для выборки нужных данных из одной или нескольких связанных таблиц. С помощью запроса можно также обновить данные в таблице или создать новые таблицы на основе уже существующих. Формы предназначены для ввода, просмотра и корректировки данных на экране в удобном виде. Формы также могут использоваться для создания новых панелей управления. Отчеты служат для формирования выходного документа, предназначенного для вывода на печать. Макросы содержат описание действий, которые должны быть выполнены неоднократно. Каждое действие реализуется макрокомандой (например, вставить строки). Макрос позволяет объединить разрозненные операции обработки данных в приложениях. Для создания макросов служит специальный инструмент – макрорекодер, который запоминает необходимую последовательность действий в виде программ на языке Visual Basic. Модули содержат программы на языке Visual Basic, которые разрабатываются пользователем самостоятельно для реализации нестандартных процедур. Создание таблицы в БД состоит из двух этапов. На первом этапе определяется структура (состав полей, их имена, последовательность размещения в таблице, тип данных, размер, ключевые поля и другие свойства полей). На втором этапе производится заполнение таблицы записями (данными). 1. 2. 3. 4. 5.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ Дайте определение понятию СУБД. Назовите три модели данных. Какую модель данных реализует СУБД Access? Что такое нормализация отношений? Дайте определение понятию ключ в БД.
201
14. РАЗРАБОТКА ПРИЛОЖЕНИЙ В СРЕДЕ MICROSOFT OFFICE 14.1. Что такое VISUAL BASIC for APPLICATIONS При работе с приложениями (пакетами прикладных программ) часто возникает задача их автоматизации, т.е. внесения изменений в работу приложений. Например, прекрасное приложение Microsoft Office – табличный процессор Excel - не позволяет при проверке условия перейти к вычислениям в новом блоке ячеек. До начала 90-х гг. автоматизация приложений была весьма затруднительной. Для каждого приложения нужно было изучать свой язык программирования. Например, для автоматизации Excel использовался язык макросов Excel, для автоматизации Microsoft Word - язык Word Basic и т.д. Фирма Microsoft решила, что более эффективно использовать общий язык программирования для всех приложений - Visual Basic for Applications (VBA). Это версия языка Visual Basic, которая поставляется непосредственно с приложениями (т.е. включена в пакет Microsoft Office). VBA включен в состав всех пакетов Microsoft office. Изучение языка VBA применительно к одному из приложений (например, к Excel) даёт основу для применения его к другим продуктам Microsoft. Поскольку в данном пособии большинство задач решается в Excel, рассмотрим создание приложений именно в этом пакете. 14.2. Модули и процедуры в VBA В VBA, как и в большинстве современных языков программирования, программа состоит из описательной части и процедур (блоков программы). Эта совокупность называется модулем. Существует два типа процедур: процедура – подпрограмма и процедура – функция (будем называть их просто – подпрограмма и функция). Подпрограмма выполняет один или несколько операторов и не возвращает значения (т.е. при обращении к ней для печати или для передачи в другую процедуру вычисленных значений нужно предусмотреть специальные команды). Пример 1 Создадим подпрограмму, которая будет изменять шрифт, его размер и цвет. Для этого:
Таблица 15.1 1 2 3 4 5 6
Январь Февраль Март Апрель Май Июнь
1. Открыть новую книгу в Excel: Пуск – Программы A – Excel. 2. На Листе 1 этой книги подготовить текст табл. 15.1, который будет изменять наша подпрограмма (шрифт Arial Cyr, размер 12). 3. Сохранить файл с именем Месяцы, команды: Файл – Сохранить как.
4. Для создания программы перейти в Visual Basic for Applications:
202
Сервис – Макрос – Редактор Visual Basic Откроется окно редактора Visual Basic. В левой части окна редактора Visual Basic вы видите окно проектов (рис. 15.1). Если этого окна нет, нажмите комбинацию клавиш Ctrl +R.
Рис. 15.1 5. Для создания модуля программы в главном меню редактора Visual Basic (строчка вверху окна) выбрать команды Вставка – Модуль (если версия не русифицирована, команды Insert– Module). В ваше приложение будет добавлен Модуль1 (рис. 15.2). 6. Для создания программы–процедуры выполните команды: Вставка-Процедура (Insert – Procedure). Откроется диалоговое окно Добавить процедуру (рис. 14.3). В некоторых версиях Excel это окно называется Вставка процедуры.
Рис. 15.2
203
Рис. 15.3 7. Введите Имя (Name) процедуры: Подпрограмма1 (без пробелов!). В секции Type (Тип) установите переключатель Sub (Подпрограммапроцедура). Щёлкните по кнопке ОК. Как показано на рис. 15.4, в модуль будет добавлена новая процедура.
Рис. 15.4 8. В пустой строке (после заголовка Public Sub Подпрограмма1) введите текст подпрограммы. Public Sub Подпрограмма1 With Selection.Font .Name =“Arial” .ColorIndex=3
204
.Size =16 End With End Sub . 9. Для сохранения файла выполните команды Файл–Сохранить Книга1 (Filе – Save Книга1). 10. Для выделения текста перейти на рабочий лист Excel: на панели задач (строчка внизу экрана) щёлкнуть по Microsoft Excel. Выделить текст в столбце А. 11. Для выполнения процедуры вернуться в Visual Basic: на панели задач щёлкнуть по Microsoft Visual Basic. 12. Для запуска процедуры на выполнение команды: Запуск – Запуск подпрограммы (Run – Run Procedure), или нажать клавишу F5. 13. Для проверки результатов работы процедуры вернитесь на рабочий лист Excel (см. п. 10). 14.3. Окна сообщений Для организации диалога с пользователем в VBA служат окна сообщений. Создание этих окон осуществляется с помощью функций MsgBox и InputBox. Функция MsgBox служит для организации диалоговых окон, содержащих какие-либо сообщения. После своего появления на экране окно сообщения ждёт, пока пользователь щёлкнет по одной из кнопок, присутствующих в окне. В зависимости от того, по какой кнопке щёлкнул пользователь, функция возвращает целое число. Она позволяет вывести небольшие сообщения и получить простые ответы типа Да – Нет или ОК – Отмена. Функция InputBox используется, если необходимо ввести число или небольшой текст. Пример 2 Создадим окно, которое должно выводить надпись «Это моё первое окно сообщения» и закрываться при щелчке по кнопке ОК. Для этого: 1. Открыть новую книгу Excel. 2. Перейти в редактор Visual Basic (команды Сервис – Макрос – Редактор Visual Basic). 3. Создать новый модуль (Вставка – Модуль). 4. Создать новую процедуру (Вставка – Процедура). 5. В окне Добавить процедуру ввести имя процедуры (Name) Сообщение, установить переключатель Тип (Type) в положение Sub и щёлкнуть по ОК. 6. В открывшемся окне процедуры ввести в пустой строке (между заголовком и концом подпрограммы) следующий текст: MsgBox («Это моё первое окно сообщения»). Эта функция обеспечит вывод сообщения, указанного в кавычках. Теперь процедура должна приобрести следующий вид:
205
Public Sub Сообщение() MsgBox(«Это моё первое окно сообщения») End Sub . 7. Запустить программу на выполнение (нажать F5). Появится окно (рис. 15.5)
Рис. 5
Рис. 15.5 Пример 3 Создадим программу, которая должна выводить окно сообщения с вопросом «Вы закончили изучение функции MsgBox?» и двумя кнопками ответа: Да и Нет. При ответе Да следует вывести окно с поздравлениями, а при ответе Нет – с предложением повторить выполнение задания 1. Для этого: 1. Создать новую процедуру (Вставка – Процедура). 2. В окне Добавить процедуру ввести имя процедуры (Name) Вопрос, установить переключатель Тип (Type) в положение Sub и щёлкнуть по ОК. 3. В открывшемся окне процедуры ввести в пустых строках между заголовком и концом подпрограммы следующий текст: Public Sub Вопрос() Dim Ответ Ответ = MsgBox(“Вы закончили изучение функции MsgBox?” ,VbYesNo) If Ответ = VbYes Then MsgBox (“Поздравляем!”) Else MsgBox (“Повторите задание 3.1”) End If End Sub 4. После запуска программы на выполнение (клавиша F5) появится окно (рис. 15.6).
206
Рис. 15.6 5. Щёлкните по кнопке Да – появится окно с сообщением “Поздравляем!” 6. Щелчком по кнопке ОК закройте это окно. 7. Повторно запустите программу Вопрос на выполнение (клавиша F5). 8. В появившемся окне сообщения щёлкните по кнопке Нет – появится окно с сообщением “Повторите задание 1!” 9. Щелчком по кнопке ОК закройте это окно. Пример 4 Создадим программу, которая предлагает пользователю сообщить своё имя, а после ввода имени приветствует его. Для этого: 1. Создать новую процедуру–подпрограмму «Приветствие» (см. пп. 4 и 5 примера 2). 2. Ввести следующий текст программы. Public Sub Приветствие() Dim Имя Имя = InputBox(“Введите Ваше имя”)
MsgBox (“Привет,” & Имя) End Sub .
3. Запустить подпрограмму на выполнение (нажать F5). Появится диалоговое окно (рис. 15.7). 4. Введите в поле окна своё имя (например, Кирилл) и щёлкните по ОК. Появится окно сообщения с текстом «Привет, Кирилл». 5.Сохраните свой модуль с подпрограммами (Файл – Сохранить Книга). 6. Закройте окна Visual Basic и Excel. 14.4. Создание экранных форм При создании большинства баз данных остро стоит вопрос о заполнении их информацией. Как правило, пользователи этих баз обладают недостаточным уровнем подготовки для прямого обращения к базам данных. Поэтому создают так называемые АРМы – автоматизированные рабочие места для банковских работников, медсестёр, кассиров и т.д. Ввод информации в АРМах
207
осуществляется с помощью специализированных интерфейсов – экранных форм. Создание такого рода интерфейсов требует огромных трудозатрат программистов.
Между тем Visual Basic возможности в этой области.
Рис. 15.7 for Applications
предоставляет
большие
Пример 5 Создать экранную форму “Ведомость лабораторных работ” для заполнения журнала учёта лабораторных работ (рис. 15.8). Для этого: 1. Открыть новую рабочую книгу в Excel. 2. Перейти в редактор Visual Basic (нажмите комбинацию клавиш Alt+F11). 3. Для вставки формы выполните команды Вставка – Экранная форма (для нерусифицированной версии Insert –UserForm). В рабочую книгу будет вставлена экранная форма, показанная на рис. 15.9.
Рис. 15.8
208
Новая форма представляет собой пустое серое окно со строкой заголовка. Это та основа, на которой пользователь может создать собственные окна любых типов. 4. Установим значения свойств формы: т.е. дадим ей имя и введём название в строку заголовка.
Для этого: 4.1. Если окно свойств не отображено на экране, выполнить команды Вид – Окно свойств (или нажать клавишу F4). Появится окно свойств (рис. 15.10). Рис. 15.9 4.2. Выберите свойство Name (Имя), которое находится в верхней части списка, упорядоченного по алфавиту. Вместо UserForm1 введите Ведомость. Это имя, по которому к форме будет обращаться программа. 4.3. Для ввода заголовка формы выберите свойство Caption. Вместо UserForm1 (Visual Basic присваивает свойствам Name и Caption одинаковые названия) введите Ведомость лабораторных работ. Введённый текст сразу появится в строке заголовка формы (см. заголовок формы на рис. 15.8). 5. Вставим элементы управления в экранную форму. Мы хотим получить форму, показанную на рис.15.8. Как видно, в форме использованы различные элементы управления . 5.1. Чтобы вставить их в форму, выполните следующие действия: Если панель элементов не отображена на экране, выполните команды Вид – Панель элементов (ViewToolbox). Появится панель элементов рис 15.11.
Рис. 15.10
209
5.2. На панели элементов выберите элемент Надпись (Label):
Поставив указатель мыши на этот элемент, зажмите левую клавишу и переместите его в левый верхний угол формы. Рис. 15.11 5.3. Если окно свойств элемента Надпись скрыто, нажмите клавишу F4. Задайте свойству Caption значение Дата занятия. При этом на форме вместо слова Label1 появится надпись «Дата занятия». Свойство Name оставляем без изменения, т.е. за этой надписью закреплено предложенное Visual Basic имя Label1. 5.4. На панели элементов выберите элемент Поле (TextBox): поместите его правее надписи Дата занятия (см. рис. 15.8). Сохраним за полем предлагаемое Visual Basic имя TextBox1. 5.5. Используя рис. 15.8 как образец, продолжайте аналогично (п.п. 5.2-5.4) создавать элементы управления и описывать значения их свойств согласно табл. 15.2. Замечание 1. В форму дважды нужно вставить элемент Рамка. Сначала следует разместить на форме этот элемент, а затем поместить в нём другие элементы управления, иначе рамка закроет их собой. Замечание 2. При вставке элементов управления лучше придерживаться того порядка, который указан в табл. 15.2 (в противном случае Visual Basic присвоит им имена с другой нумерацией и при автоматизации формы они будут работать неправильно). Для каждого элемента мы сохраняем предложенное Visual Basic свойство Name, для элементов Надпись, Переключатель (Опция), Рамка и Флажок задаём свойство Caption. Для ряда элементов управления необходимо также задать дополнительные свойства. Прокомментируем эти дополнительные свойства. Свойства командных кнопок
Кнопка Сохранить. Чтобы командная кнопка работала как кнопка Сохранить, необходимо задать ей значение свойства Default (По умолчанию), равное True (Истина). В экранной форме только одна командная кнопка может иметь значение True свойства Default. Кнопка Отмена. Щелчок по этой кнопке должен вызывать отмену введённых команд. Чтобы командная кнопка работала как кнопка Отмена, следует для неё задать свойству Cancel значение True. Так же, как и в случае свойства Default, в экранной форме только одна командная кнопка может иметь значение True свойства Cancel.
210
Тип элемента управления Надпись Поле Надпись Поле Надпись Поле Рамка Переключатель Переключатель Переключатель Рамка Надпись Поле со списком Флажок
Значение свойства Name Label1 TextBox1 Label2 TextBox2 Label3 TextBox3 Frame1 OptionButton1 OptionButton2 OptionButton3 Frame2 Label4 ComboBox1 CheckBox1
Надпись Поле со списком Командная кнопка Командная кнопка
Label5 ComboBox2 ComandButton1 ComandButton2
Таблица 15.2 Другие свойства
Значение свойства Caption Дата занятий Фамилия И.О. студента Факультет Форма обучения Очная Value=True Вечерняя Заочная Данные по лаб. работе Тема занятия Исх. данные взять с Value=False дискеты Имя файла на дискете Enabled=False Сохранить Default=True Отмена Cancel=True
Свойства переключателей Для переключателей в группе Форма обучения прежде всего нужно указать, какой из них будет выбран по умолчанию (т.е. будет находиться во включённом состоянии до выбора, сделанного пользователем). Для этого нужно задать значение True свойства Value (Значение). Установим его для первого переключателя Очная. Отметим, что в группе только один переключатель может иметь значение True свойства Value. Блокировка элементов управления В нашей форме элемент управления Имя файла необходим только тогда, когда установлен флажок Исходные данные взять с дискеты. Чтобы поле со списком Имя файла было недоступно пользователю, а также отображалось серым цветом (такой цвет сигнализирует о недоступности элемента), его свойство Enabled (Разблокировка) следует положить равным False (Ложь). Когда флажок Исходные данные взять с дискеты будет установлен, свойство Enabled следует поменять на True. Это будет осуществляться программным путём. Свойства флажка Чтобы в исходном состоянии флажок не был установлен, следует задать равным False значение его свойства Value. 5.6. Сохранить созданную форму с именем Ведомость.
211
14.5. Автоматизация экранных форм
Итак, нами создана экранная форма для ввода сведений об учёте лабораторных работ. Теперь нужно описать процедуры для вывода этой формы на экран и для сохранения введённых в неё данных. 14.5.1. Инициализация экранных форм Инициализация означает создание процедуры, осуществляющей ввод в форму начальных данных (заполнение полей со списками и ввод даты занятий). В процедуре инициализации экранной формы должны быть предусмотрены блоки задания исходных данных для полей со списками. Для создания списков выполните следующие действия: 1. Перейдите в текущую рабочую книгу. Переименуйте рабочий Лист2 на Списки. 2. На рабочем листе Списки введите исходные данные согласно табл. 15.3. А
Таблица 15.3 В С Имя файла Список абонентов Инвестиционные проекты Оптимизационные задачи
1 Тема занятия 2 Операционная система Windows 3 Текстовый процессор Word 4 Табличный процессор Excel 5 СУБД Access 6 Visual Basic 3. Для присвоения диапазону ячеек имени Занятия выполнить следующее: - выделить диапазон ячеек А2:А6; - выполнить команды Вставка – Имя – Присвоить; - в открывшемся диалоговом окне ввести имя Занятия; - щёлкнуть по кнопке ОК. 4. Для присвоения диапазону ячеек имени Файл выполнить следующее: - выделить диапазон ячеек С2:С4; - выполнить команды Вставка – Имя – Присвоить; - в открывшемся диалоговом окне ввести имя Файл; - щёлкнуть по кнопке ОК. 5. Сохраните рабочую книгу с прежним именем. 6. Нажмите одновременно клавиши Alt + F11 для перехода в Visual Basic. 7. Дважды щёлкните по экранной форме (не на элементах управления, а именно по форме!). Откроется окно с заголовком процедуры UserForm_Click (Щелчок по форме) – рис.15.12. 8. Нам пока не нужна процедура UserForm_Click, которая вызывается после щелчка по форме. Нам нужна процедура, которая будет выполняться при открытии формы. На языке программистов она называется процедурой, обрабатывающей событие Activate (Активизация). Список процедур, возможных для формы, находится в правой верхней части окна (рис. 15.12).
212
Щёлкнем по кнопке со стрелкой рядом со словом Click и в раскрывшемся списке выберем событие Activate. В окне программы появится заголовок процедуры UserForm_ Activate. 9. Ввести код процедуры для записи исходных данных с листа Список в поля со списками и ввода данных.
Рис. 15.12 Private Sub UserForm_Activate()
With ComboBox1 .RowSource = "Занятия" .ListIndex = 0
End With With ComboBox2 .RowSource = "Файл" .ListIndex = 0 End With TextBox1 = Format(Now, “dd/mm/yy”) End Sub . 10. Нажать клавишу F5 для выполнения процедуры. Отобразится экранная форма с заполненными списками Тема занятия и Имя файла, а также заполненным полем Дата занятия (рис. 15.13). 14.5.2. Создание процедуры для вызова формы
Для создания процедуры вызова экранной формы нужно воспользоваться командой Visual Basic «вывести на экран» - Show. Для этого следует выполнить следующие действия: 1. Перейти в редактор Visual Basic (если вы не находитесь в нём) и вставить новый модуль в рабочую книгу (Вставка – Модуль). 2. Создать новую процедуру (Вставка – Процедура) и назвать её ЗагрузкаФормы. 3. Ввести код процедуры. Public Sub ЗагрузкаФормы() Ведомость.Show
End Sub . 4. Перейти в рабочую книгу на Лист1 и вставить командную кнопку:
- поставить указатель мыши на любую из панелей инструментов и щёлкнуть правой клавишей (появится меню панелей инструментов);
213
05.09.05
Рис. 15.13 - выбрать панель Формы; - перетащить с этой панели на лист командную кнопку. 5. После вставки кнопки откроется диалоговое окно Назначить макрос объекту. Выбрать в открывшемся списке Имя макроса пункт ЗагрузкаФормы. 6. Щёлкнуть по командной кнопке, стереть имя Label и дать кнопке имя Ведомость работ. После этого следует щёлкнуть вне кнопки, чтобы снять с неё выделение. 7. Щёлкнуть по этой командной кнопке. Откроется наша форма. Обратите внимание: списки Темы занятий и Имя Файла заполнены, как и поле Дата занятий.
8. Закрыть форму. 14.5.3. Управление флажком Исходные данные взять с дискеты При установке флажка Исходные данные взять с дискеты надо снять блокировку с поля ввода Имя файла. За подобные действия должна отвечать процедура, вызываемая событием Change (Изменить). Это событие генерируется Visual Basic всякий раз, когда изменяется значение свойства Value (Значение) какого-либо элемента. Выполните следующую последовательность действий: 1. Дважды щёлкните по флажку Исходные данные взять с дискеты, чтобы открыть окно кода программы. 2. В списке событий в верхней части окна кода выберите событие Change и создайте процедуру
214
Private Sub CheckBox1_Change() If CheckBox1.Value = True Then Label5.Enabled = True Else Label5.Enabled = False End If End Sub . 3. Перейдите в рабочую книгу на Лист1 и щёлкните по командной кнопке Ведомость работ. Отобразится форма (см. рис. 15.13). 4. Установите флажок Исходные данные взять с дискеты. Поле ввода Имя файла на дискете станет доступным (рис.15.14).
Рис. 15.14 5. Сохраните рабочую книгу. 14.6. Сохранение данных, введённых в форму После того, как пользователь ввёл всю нужную информацию в форму, он щёлкает по кнопке Сохранить. Процедура, которая запускается на выполнение после щелчка по этой кнопке, должна проверить правильность введённых данных и в случае их корректности записать данные в рабочий лист. 14.6.1. Создание процедуры проверки правильности ввода данных Поле ввода может принять любую информацию. Однако необходимо проследить, чтобы пользователь не забыл ввести сведения в поля ввода Фамилия И.О. студента. Для создания такой процедуры необходимо выполнить следующие действия: 1. В редакторе Visual Basic отобразите разрабатываемую форму. 2. Дважды щёлкните по кнопке Сохранить. В окне кода появится заголовок процедуры CommandButton1_Click. 3. Опишем код процедуры
215
Private Sub CommandButton1_Click If TextBox2 = “” Then MsgBox (”Пожалуйста, введите Фамилию И.О. студента”) TextBox2.SetFocus Exit Sub End If If TextBox3 = “” Then MsgBox(”Пожалуйста, введите название факультета”) TextBox3.SetFocus Exit Sub End If Unload Me End Sub . 4. Перейдите в рабочую книгу и щёлкните по командной кнопке, открывающей форму. 5. Щёлкните по кнопке Сохранить. Появится окно с сообщением «Пожалуйста, введите Фамилию И.О. студента». 6. Щёлкните по кнопке ОК, чтобы закрыть окно сообщения. На экране наша форма. Курсор находится в поле ввода Фамилия И.О. студента. Введите в это поле следующие данные: Иванов И.И. и щёлкните по кнопке Сохранить. 7. Появится окно с сообщением Пожалуйста, введите название факультета. 8. Щёлкните по кнопке ОК, чтобы закрыть окно сообщения. На экране наша форма. Курсор находится в поле ввода Факультет. Введите в это поле слово ФИТСУ щёлкните по кнопке Сохранить. Форма исчезнет с экрана. 14.6.2. Процедура сохранения вводимых данных Данные, введённые в форму, следует сохранить в рабочем листе книги. Для этого: 1. Перейдите на рабочий Лист 3 и Дайте ему имя Форма (если в рабочей книге нет Листа 3, поставьте указатель мыши на имя Лист1 и выполните команды Добавить - Лист).
2. В первой строке листа создайте строку заголовков, повторяющих названия элементов управления. За образец возьмите рабочий лист, показанный на рис. 15.15. A B C D E 1 Дата Фамилия И.О. Форма Тема занятия Имя файла на занятия студента обучения дискете 2 04.12.05 Иванов И.И. ФИТСУ СУБД Access Список абонентов 3 4 Рис. 15.15 3. Перейдите в редактор Visual Basic и отобразите экранную форму. 4. Чтобы открыть окно процедуры CommandButton1_Click, дважды щелкните по кнопке Сохранить.
216
5. Введите в процедуру CommandButton1_Click сразу после имени процедуры три оператора описания: Dim Форма As Object Dim I As Integer Set Форма = Sheets("Форма") 6. Теперь в текст той же процедуры перед оператором Unload Me введите следующий код: Worksheets(“Форма”).Activate For I = 1 To 100 If Форма.Cells(I, 1) = " " Then Форма.Cells(I, 1) = TextBox1.Value Форма.Cells(I, 2) = TextBox2.Value Форма.Cells(I, 3) = TextBox3.Value If OptionButton1 = True Then Форма.Cells(I, 4) = "Очная" ElseIf OptionButton2 = True Then Форма.Cells(I, 4) = "Вечерняя" ElseIf OptionButton3 = True Then Форма.Cells(I, 4) = "Заочная" End If Форма.Cells(I, 5) = ComboBox1.Value Форма.Cells(I, 6) = ComboBox2.Value Exit For End If Next . 7. Теперь процедура, выполняющаяся при щелчке по кнопке Сохранить, выглядит так: Private Sub CommandButton1_Click Dim I As Integer Dim Форма As Object Set Форма = Sheets("Форма") If TextBox2 = “” Then MsgBox (”Пожалуйста, введите Фамилию И.О. студента”) TextBox2.SetFocus Exit Sub End If If TextBox3 = “” Then MsgBox (”Пожалуйста, введите название факультета”) TextBox3.SetFocus Exit Sub End If Worksheets("Форма").Activate
217
For I = 1 To 100 If Форма.Cells(I, 1) = "" Then Форма.Cells(I, 1) = TextBox1.Value Форма.Cells(I, 2) = TextBox2.Value Форма.Cells(I, 3) = TextBox3.Value If OptionButton1 = True Then Форма.Cells(I, 4) = "Очная" ElseIf OptionButton2 = True Then Форма.Cells(I, 4) = "Вечерняя" ElseIf OptionButton3 = True Then Форма.Cells(I, 4) = "Заочная" End If Форма.Cells(I, 5) = ComboBox1.Value Форма.Cells(I, 6) = ComboBox2.Value Exit For End If Next CheckBox1.Value = False Unload Me End Sub . 8. Для того, чтобы работала кнопка Отмена, щелкните по ней на форме и создайте процедуру: Private Sub CommandBatton2_Click Unload Me End Sub . 9. Перейдите в рабочую книгу на Лист1. 10. Сохраните рабочую книгу. 11. Щёлкните по кнопке, вызывающей экранную форму. Введите в поле Фамилия И.О. студента фамилию Иванов И.И., в поле Факультет- ФТУСЭС. Установите переключатель Форма обучения в положение Очная, в поле со списком Тема занятия выберите СУБД Access. Установите флажок Исходные данные взять с дискеты в положение Включено, а в поле со списком Имя файла на дискете – Список абонентов .Щёлкните по кнопке Сохранить. 12. Форма закроется, а введённые в неё данные будут записаны в ячейки рабочего листа Формы. 13. Перейдите на рабочий Лист1 и убедитесь, что он совпадает с рис. 15.15. 14. Повторите ввод данных в форму (для другого студента) и убедитесь, что данные о нём будут записаны в следующей строке таблицы. 14.7. Панели инструментов Все пользователи применяют инструменты, расположенные на панелях, так как это очень удобно. Excel позволяет легко создавать собственные панели инструментов и помещать новые кнопки на имеющиеся. Каждая кнопка может быть использована для управления макросом или процедурой.
218
14.7.1. Добавление новой кнопки на панель инструментов Для вставки новой кнопки на панель инструментов выполнить: 1.Откройте рабочую книгу Ведомость (в которой хранится форма Ведомость лабораторных работ). 2. Щёлкните правой клавишей мыши по любой панели инструментов и в контекстном меню выберите пункт Настройка. Откроется одноименное диалоговое окно. 3. В диалоговом окне Настройка на вкладке Команды в списке Категории выберите пункт Макросы (рис. 15.16).
Рис. 15.16 В списке Команды вы увидите элемент Настраиваемая кнопка. 4. Перетащите элемент Настраиваемая кнопка на одну из существующих панелей инструментов. При перемещении элемента Настраиваемая кнопка по панелям инструментов вы увидите рядом с ним чёрный указатель в виде буквы I. Он показывает, где будет располагаться новая кнопка, когда вы отпустите кнопку мыши. 5. Выбрав подходящее место для новой кнопки, отпустите кнопку мыши. Новая кнопка будет вставлена на панель инструментов (рис.15.17). 6. Чтобы дать новой кнопке имя (которое будет отображаться в качестве экранной подсказки) в диалоговом окне Настройка щёлкните по кнопке Изменить выделенный объект (рис. 15.18). В раскрывшемся меню выберите пункт Имя и введите имя кнопки Форма. 7. Ещё раз щёлкните по кнопке Изменить выделенный объект. В раскрывшемся меню (см. рис. 15.18) выберите пункт Выбрать значок для кнопки. Откроется палитра изображений – значков, которые можно поместить
219
на кнопку (рис. 15.19). Выберите изображение по своему вкусу, и стандартное изображение на кнопке заменится на выбранное Вами.
Рис. 15.17
Рис. 15.18 8. Снова щёлкните по кнопке Изменить выделенный объект. В раскрывшемся меню (см. рис. 15.18) выберите пункт Назначить макрос. В открывшемся одноимённом диалоговом окне выберите процедуру ЗагрузкаФормы. 9. Закройте диалоговое окно Настройка. 10. Щёлкните по новой кнопке. Должна отобразиться форма Ведомость лабораторных работ. 11. Щёлкните по кнопке Отмена для закрытия формы. Обратите внимание! Созданная кнопка доступна во всех рабочих книгах. Это значит, что в любой другой рабочей книге щелчок по этой кнопке должен открывать данную форму. Однако вызванная форма откажется работать в «чужих книгах», так как не сможет найти данные для инициализации. Очевидно, что созданную кнопку Форма следует удалить. Для этого: 12. Щёлкните правой кнопкой мыши по любой панели инструментов и в контекстном меню выберите пункт Настройка.
220
Рис. 15.19 13. Когда открыто диалоговое окно Настройка, можно удалить любую кнопку. Для этого просто перетащите кнопку из панели инструментов в это диалоговое окно. 14. Закройте диалоговое окно Настройка. 14.7.2. Создание новой панели инструментов
Можно не только добавлять кнопки на имеющиеся панели инструментов, но также создать свою панель и разместить на ней кнопки для управления всеми макросами и процедурами для вашего приложения. Для создания новой панели выполните следующие действия: 1. Щёлкните правой кнопкой на какой-нибудь панели инструментов. 2. В контекстном меню выберите пункт Настройка.
3. В диалоговом окне Настройка перейдите на вкладку Панели инструментов. 4. Щёлкните по кнопке Создать. Появится диалоговое окно Создание панели инструментов. 5. Введите имя панели, например Моя панель, и нажмите клавишу ОК. Появится маленькая пустая панель (рис. 15.20). 6. Щёлкните по кнопке Закрыть для закрытия диалогового окна Настройка. Созданная панель очень маленькая, но по мере добавления в неё кнопок её размер будет увеличиваться. Для вставки в новую панель кнопок используется методика, описанная в п.15.7.1. 7. Пользуясь указаниями п.15.7.1, поместите кнопку на свою панель и назначьте ей макрос ЗагрузкаФормы.
221
Рис. 15.20 14.8. Работа с меню При работе с меню вы в действительности работаете с тремя объектами: строкой меню, пунктами меню и элементами пунктов меню. Строка (или панель) меню содержит пункты меню (или просто меню) такие, как Файл, Правка или Вставка. Пункты меню, в свою очередь, содержат элементы меню или команды. Например, пункт меню Файл содержит элементы меню Открыть, Сохранить, Печать. В Excel можно добавить в строку меню новые пункты, а также новые команды – в пункты меню.
Создадим новый пункт меню и новые элементы меню для выполнения макросов и процедур. Для этого: 1. Откройте рабочую книгу Ведомость (с формой Ведомость лабораторных работ). 2. Щёлкните правой кнопкой мыши на строке меню Excel и в открывшемся контекстном меню выберите команду Настройка. Откроется одноимённое диалоговое окно (см. рис. 15.15). 3. Перейдите на вкладку Команды. На этой вкладке представлены все доступные категории (пункты) и команды меню. 4. В списке Категории выберите категорию Новое меню. В списке Команды будет находиться только один элемент, также названный Новое меню. 5.Перетащите элемент Новое меню из списка Команды в строку меню. 6.Опустите его между пунктами меню Данные и Окно. В строке меню появится новый пункт, выделенный чёрной рамкой (рис.15. 21). 7. Теперь надо переименовать новое меню. Щёлкните по кнопке Изменить выделенный объект в диалоговом окне Настройка (или правой клавишей
222
мыши по новой кнопке) и в открывшемся меню выберите пункт Имя. Введите имя Ведомость. Символ & перед именем означает быструю клавишу для этого пункта меню.
Рис. 15.21 8. Далее нужно добавить команды в меню Ведомость. Снова выберите элемент Новое меню в окне Настройка и перетащите его в меню Ведомость. При перетаскивании этого элемента под меню Ведомость откроется небольшое серое окошко. Когда в этом окошке появится указатель в виде чёрной буквы I (рис. 15.22), опустите элемент Новое меню в это окошко. Практически можно назначить процедуру или макрос непосредственно пункту меню Ведомость. Но в соответствии с общепринятыми стандартами пользовательских интерфейсов, исполняемые команды назначаются не пунктам меню, а элементам меню, т.е. командам. 9. Щёлкните по пункту Изменить выделенный объект и в открывшемся меню выберите команду Имя. 10. Введите имя ЗагрузкаФормы. Рис. 15.22 11. Теперь нужно назначить процедуру или макрос новой команде Ведомость. Щёлкните по пункту Изменить выделенный объект и в открывшемся меню выберите команду Назначить макрос. Откроется одноименное диалоговое окно. 12. В диалоговом окне Назначить макрос выберите процедуру ЗагрузкаФормы и щёлкните по кнопке ОК.
223
13. Щёлкните по кнопке Закрыть диалогового окна Настройка. После закрытия диалогового окна Настройка меню готово к работе. Выполните команду Ведомость - ЗагрузкаФормы. Откроется форма Ведомость. Щёлкните на кнопке Отмена для закрытия формы. 14. Нужно убрать свое меню из строки меню. Для этого: - щёлкните правой клавишей мыши по строке меню; - выберите в контекстном меню пункт Настройка; - перетащите пункт меню Ведомость в диалоговое окно Настройка. ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ 1. Какая функция используется для вывода диалогового окна сообщений? 2. Какая функция используется для работы с диалоговым окном ввода? 3. Укажите последовательность команд для перехода из окна Excel в окно VBA. 4. Укажите команду для создания своего модуля в VBA. 5. Укажите команды для создания своей процедуры в VBA.