- •Министерство образования и науки рф
- •В.В.Ломтадзе, л.П.Шишкина
- •Для студентов и специалистов
- •1.Введение в информационные технологии 7
- •2. Вводные сведения о современных программных средствах 13
- •3. Измерение количества информации, её Кодирование и хранение 23
- •4. Модели и Алгоритмы. Роль моделирования и алгоритмизации в решении задач и формализации знаний. Информационные ресурсы 32
- •5. Технические средства информационных технологий 45
- •6. Классификация и обзор программного обеспечения 68
- •8. Электронные таблицы Microsoft Excel 103
- •9. Системы управления базами данных. Субд Access 119
- •10. Введение в программирование. Создание приложений на языке Visual Basic for Applications 135
- •11. Основы и методы защиты информации 161
- •Предисловие
- •Введение в информационные технологии
- •1.1. Предмет изучения информатики. Понятие информации. Информационное общество
- •1.2. Информационные революции
- •1.3. Краткая история вычислительной техники
- •1.4. Поколения вычислительных систем
- •Контрольные вопросы к главе 1
- •2. Вводные сведения о современных программных средствах
- •2.1. Особенности современных программных средств
- •2.2. Основные элементы управления в интерфейсе программных продуктов
- •2.3. Типовые диалоги в интерфейсе программных продуктов
- •Контрольные вопросы к главе 2
- •3. Измерение количества информации, её Кодирование и хранение
- •3.1. Измерение количества информации
- •3.1.1. Измерение количества информации через неопределённость знаний
- •3.1.2. Количество информации в сообщении о том, что произошло одно из n равновероятных событий
- •3.1.3. Алфавитный подход к измерению количества информации
- •3.2. Кодирование информации
- •3.2.1. Данные – формализованная информация
- •3.2.2. Системы кодирования, объёмы данных, системы счисления
- •Запись содержимого полубайта в разных системах счисления
- •3.2.3. Кодирование текста
- •3.2.4. Кодирование чисел
- •3.2.5. Кодирование графической информации
- •3.2.6. Кодирование звука
- •3.2.7. Кодирование видео
- •Контрольные вопросы к главе 3
- •4. Модели и Алгоритмы. Роль моделирования и алгоритмизации в решении задач и формализации знаний. Информационные ресурсы
- •4.1. Модели решения вычислительных и функциональных задач
- •4.2. Алгоритмы
- •Основные элементы, используемые в блок-схемах
- •4.3. Принципы структурного программирования
- •4.4. Объектно-ориентированное программирование
- •4.5. Алгоритмизация как средство формализации знаний. Информационные ресурсы
- •Контрольные вопросы к главе 4
- •5. Технические средства информационных технологий
- •5.1. Логические основы вычислительной техники, алгебра логики
- •5.1.1. Основные понятия
- •Логические операции
- •5.1.2. Основные законы алгебры логики
- •5.1.3. Логические выражения
- •5.1.4. Логические элементы
- •5.1.5. Функциональные схемы и функциональные узлы
- •5.2. Основные блоки персонального компьютера
- •5.3. Основные периферийные устройства, подключаемые к компьютеру
- •5.4. Компьютерные сети
- •Уровни модели osi
- •Контрольные вопросы к главе 5
- •6. Классификация и обзор программного обеспечения
- •6.1. Системное программное обеспечение
- •Поля элемента каталога
- •6.2. Инструментальные средства программирования
- •6.3. Прикладное программное обеспечение
- •Контрольные вопросы к главе 6
- •7. Текстовый процессор Microsoft Word
- •7.1. Назначение. Основные понятия
- •7.2. Модель фрагмента текста. Параметры форматирования. Стили
- •7.3. Типовая последовательность создания документа
- •7.4. Разработка стилей и форматирование фрагментов текста
- •Пример разработки стилей
- •Р ис. 7.3. Выбор варианта обрамления абзаца
- •7.5. Редактирование документа
- •Выделение фрагмента текста мышью
- •7.6. Списки, табуляция, таблицы, многоколончатая верстка
- •7.7. Вставка символа, рисунка, объекта
- •Контрольные вопросы к главе 7
- •8. Электронные таблицы Microsoft Excel
- •8.1. Назначение. Основные понятия
- •8.2. Обобщенная технология работы в электронной таблице
- •8.3. Ввод, редактирование, форматирование данных
- •8.4. Выполнение расчетов по формулам и построение диаграмм
- •Инструкции, используемые в Microsoft Excel
- •Сообщения об ошибках в формуле
- •Ряды и категории данных
- •8.5. Сортировка, консолидация данных, сводные таблицы
- •Получение таблицы, содержащей консолидированные данные
- •Исходные данные для построения сводной таблицы
- •Пример сводной таблицы
- •Контрольные вопросы к главе 8
- •9. Системы управления базами данных. Субд Access
- •9.1. Основные понятия
- •9.2. Нормализация отношений (таблиц) и обеспечение целостности данных в реляционной базе данных
- •9.3. Последовательность действий при создании и использовании базы данных
- •9.3.1. Создание базы данных
- •9.3.2. Создание таблиц базы данных, ввод данных во вспомогательные таблицы
- •9.3.3. Создание основной таблицы
- •9.3.4. Создание схемы данных
- •9.3.5. Создание формы
- •9.3.6. Создание запросов
- •9.3.7. Формирование отчетов
- •9.4. Основные возможности языка структурированных запросов (sql)
- •Контрольные вопросы к главе 9
- •10. Введение в программирование. Создание приложений на языке Visual Basic for Applications
- •10.1. Основные понятия
- •10.2. Создание интерфейса пользователя
- •V Режим конструктора Свойства isual Basic р Элементы управления Свойства объекта SpinButton1 ис. 10.1. Лист Excel в момент создания интерфейса приложения средствами vba
- •10.3. Модули, процедуры, функции
- •Часто используемые встроенные функции Visual Basic
- •10.4. Работа с переменными, массивами, константами и со свойствами объектов
- •Встроенные типы данных vba
- •10.5. Основные инструкции языка Visual Basic и отладка программ
- •Арифметические операции
- •Операции сравнения
- •Контрольные вопросы к главе 10
- •11. Основы и методы защиты информации
- •11.1. Основные понятия информационной безопасности
- •11.2. Классификация угроз информационной безопасности
- •11.2.1. Непреднамеренные
- •11.2.2. Преднамеренные
- •11.3. Обеспечение информационной безопасности
- •11.3.1. Юридические основы информационной безопасности
- •11.3.2. Требования к защите информации в системах
- •11.3.3. Меры по поддержанию работоспособности компьютерных систем
- •11.3.4. Противодействие нарушению конфиденциальности информации
- •11.3.5. Электронная цифровая подпись
- •11.4. Особенности защиты информации в компьютерных сетях
- •Контрольные вопросы к главе 11
- •Библиографический список
- •Приложение Тесты Сообщения, данные, сигнал, атрибутивные свойства информации, показатели качества информации, формы представления информации. Системы передачи информации
- •Меры и единицы количества и объема информации
- •Системы счисления
- •Кодирование данных в эвм
- •Алгоритм и его свойства. Способы записи алгоритма
- •Линейная алгоритмическая структура
- •Разветвляющаяся алгоритмическая структура
- •Циклические алгоритмические структуры
- •Трансляция, компиляция и интерпретация
- •Интегрированные среды программирования
- •Этапы решения задач на компьютерах
- •Структурное программирование. Модульный принцип программирования. Подпрограммы. Принципы проектирования программ сверху-вниз и снизу-вверх
- •Объектно-ориентированное программирование
- •Основные понятия алгебры логики
- •Логические основы эвм
- •Моделирование как метод познания
- •Классификация и формы представления моделей
- •Методы и технологии моделирования
- •Информационная модель объекта
- •Состав и назначение основных элементов персонального компьютера. Центральный процессор. Системные шины и слоты расширения
- •Компоненты вычислительных сетей
- •Сервисы Интернета
- •Средства использования сетевых сервисов
- •Файловая структура операционных систем. Операции с файлами
- •Электронные таблицы
- •Основные операции с данными
- •Назначение и основы использования систем искусственного интеллекта. Базы знаний. Экспертные системы
- •Защита информации в локальных и глобальных компьютерных сетях
- •Шифрование данных. Электронная подпись
4.2. Алгоритмы
Решение задач на ЭВМ реализуется программным способом – путем выполнения последовательности операций, предусмотренных алгоритмом решения задачи. Алгоритм – это точная запись конечного числа действий, приводящих к решению задачи. Алгоритм определяет процесс преобразования информации от исходных данных к результатам. Рассмотрим пример простой задачи. Пусть поезд вышел из пункта A в момент времени t1 и прибыл в пункт B в момент tn. Во время следования поезда в моменты времени t1, t2, … ti, …, tn измерены значения скорости его движения v1, v2, … vi, …, vn. Требуется найти расстояние S от пункта A до пункта B.
Решение этой задачи, как и всякой другой, начато с построения модели явления (объекта). Как уже отмечалось, построение модели состоит в учете только существенных для рассматриваемых задач характеристик, описываемых ограниченным набором параметров. В нашем примере такими параметрами являются S, n и числовые массивы значений ti и vi , где i = 1, 2, …, n. Если мы хотим получить точное решение задачи, то требуется детальная модель, в рамках которой значения времени и скорости чаще регистрируются на тех участках пути, где скорость быстро изменяется.
Вторым этапом решения станет построение математической модели, в которой неизвестные параметры модели объекта (явления) связываются математическими выражениями с известными параметрами. В нашем простейшем примере только один параметр S не известен – построим математическую модель в виде равенства:
Символы * и / при описании алгоритмов означают умножение и деление. Следовательно, для вычисления расстояния от точки i до точки i+1 время движения на этом интервале умножается на среднюю скорость.
Третьим этапом будет построение алгоритма, отображающего точную последовательность операций при решении задачи с помощью компьютера. Изобразим этот алгоритм графически – в виде блок-схемы (Рис. 4.1).
В блоке 1 выполняются начальные присваивания: в начальный момент, когда поезд еще в точке A, i=1, а S=0. Операция присваивания очень важна для понимания компьютерной реализации алгоритмов. Дело в том, что при разработке программы для ЭВМ считается, что i и S – это не только обозначения математических переменных, но и обозначения ячеек памяти компьютера. Операция присваивания – это занесение нового значения в соответствующую ячейку. Присваивание отображает изменение значения соответствующей переменной в процессе реализации алгоритма. Чтобы отличать присваивание от обычного математического равенства, в некоторых языках программирования, например, в Паскале, операция присваивания обозначается не знаком равно (=), а двумя значками – двоеточием и равно (:=). В этом, вообще говоря, нет необходимости, т.к. знак равенства в математическом смысле при записи алгоритмов применяется только для проверки условий.
Рис. 4.1. Изображение алгоритма в виде блок-схемы
На блок-схемах проверка условий помещается в особые – логические блоки, обозначаемые не прямоугольником, а ромбом (см. блок 4 на рис. 4.1), а в программах инструкции по проверке условий начинаются со слова IF (если).
В блоке 2 (см. рис. 4.1) пройденный путь получает приращение: в ячейку S помещается новое значение, равное прежнему, плюс значение пути за время от ti до ti+1. В блоке 3 наращивается значение i, т.к. мы собираемся повторить вычисления в блоке 2 для следующего интервала – при новом значении индекса i, увеличенном на 1. Но ведь последнее значение i, при котором надо вычислять приращение пути, равно n-1. Вот поэтому и проверяется условие ( i < n? ) в логическом блоке 4. До тех пор, пока это условие выполняется, повторно будут работать блоки 2, 3. Как только условие не выполнится, алгоритм завершит работу – к этому моменту в ячейке S накопится значение пройденного пути.
В рассмотренном алгоритме блоки 2-4 работают n-1 раз, т.е. выполняются циклически, и при каждом исполнении цикла переменные (содержимое ячеек) i и S обновляются. Именно циклы позволяют кратко записывать алгоритмы, в которых многие операции повторяются сотни, тысячи и даже миллионы раз.
В алгоритмах выделяют три типа структур: последовательное выполнение, ветвление и повторение. Операции, выполняющиеся последовательно, образуют один блок, например, две операции присваивания в блоке 1. Блок либо получает управление более чем от одного блока (см. блок 2 на рис. 4.1), либо передаёт управление более чем одному блоку (см. блок 4), либо отделён от других блоков блоком одного из уже перечисленных типов (например, блок 3 на рис. 4.1). В последнее время для изображения циклов (структур повторения) на блок-схемах применяют специальные обозначения, позволяющие сделать блок-схемы компактнее. Так, изображение цикла, число повторений которого задано некоторой переменной N, иллюстрируется фрагментом блок-схемы на рис. 4.2, а для изображения циклов, завершающихся по условию, применяют символы, показанные на рис. 4.3.
Рис. 4.2. Фрагмент блок-схемы, изображающий цикл, работающий N раз; после выхода из цикла P=120
Рис. 4.3. Символы, применяющиеся для изображения циклов, завершающихся по условию; условие записывается в одном из них; между этими символами размещаются блоки, выполняющиеся в цикле
В качестве примера алгоритма, в котором цикл завершается по условию, приведём блок-схему вычисления (рис. 4.4).
Рис. 4.4. Блок-схема вычисления квадратного корня
На этой блок-схеме показан итерационный алгоритм, т.е. значение квадратного корня вычисляется методом последовательных приближений. В качестве первого приближения взято Y=1. Если бы это предположение было верным, то оказалось бы, что d = 0. Здесь d – величина, на которую корректируется значение Y. Корректировки продолжаются до тех пор, пока d по абсолютной величине превышает некоторое очень маленькое число e, определяющее точность вычислений.
Таким образом, блок-схема – это последовательность блоков, предписывающих выполнение определенных операций, и связей между этими блоками. Внутри блоков указывается информация об операциях, подлежащих выполнению. В табл. 4.1 приведены наиболее часто используемые блоки, изображены элементы связей между ними и дано краткое пояснение к ним. Блоки и элементы связей называют элементами блок-схем.
Конфигурация и размеры блоков, а также порядок графического оформления блок-схем регламентированы ГОСТ 19002-80 и ГОСТ 19003-80 "Схемы алгоритмов и программ".
Алгоритм решения задачи имеет ряд обязательных свойств [4]:
-
дискретность – разбиение процесса обработки на более простые шаги,
-
определенность – однозначность выполнения каждого шага,
-
выполнимость – возможность получения результата за конечное число шагов,
-
массовость – пригодность алгоритма для решения некоторого класса задач.
С целью реализации на компьютере алгоритм записывают в виде программной процедуры (подпрограммы) на одном из языков программирования. Как уже отмечалось в разделе 2, современное приложение состоит из многих событийных и общих процедур. Для удобства записи текстов этих процедур любая современная система программирования имеет в своем составе редактор текстов. Для получения работающего приложения система программирования компилирует процедуры, осуществляя переход от текстов на языке программирования к так называемым объектным модулям, которые состоят из машинных команд, но откомпилированные процедуры еще не увязаны друг с другом. Создание исполняемого приложения (EXE-файла) завершает редактор связей, также входящий в состав практически каждой системы программирования.
Таблица 4.1