![](/user_photo/2706_HbeT2.jpg)
- •Министерство образования и науки рф
- •В.В.Ломтадзе, л.П.Шишкина
- •Для студентов и специалистов
- •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
- •Библиографический список
- •Приложение Тесты Сообщения, данные, сигнал, атрибутивные свойства информации, показатели качества информации, формы представления информации. Системы передачи информации
- •Меры и единицы количества и объема информации
- •Системы счисления
- •Кодирование данных в эвм
- •Алгоритм и его свойства. Способы записи алгоритма
- •Линейная алгоритмическая структура
- •Разветвляющаяся алгоритмическая структура
- •Циклические алгоритмические структуры
- •Трансляция, компиляция и интерпретация
- •Интегрированные среды программирования
- •Этапы решения задач на компьютерах
- •Структурное программирование. Модульный принцип программирования. Подпрограммы. Принципы проектирования программ сверху-вниз и снизу-вверх
- •Объектно-ориентированное программирование
- •Основные понятия алгебры логики
- •Логические основы эвм
- •Моделирование как метод познания
- •Классификация и формы представления моделей
- •Методы и технологии моделирования
- •Информационная модель объекта
- •Состав и назначение основных элементов персонального компьютера. Центральный процессор. Системные шины и слоты расширения
- •Компоненты вычислительных сетей
- •Сервисы Интернета
- •Средства использования сетевых сервисов
- •Файловая структура операционных систем. Операции с файлами
- •Электронные таблицы
- •Основные операции с данными
- •Назначение и основы использования систем искусственного интеллекта. Базы знаний. Экспертные системы
- •Защита информации в локальных и глобальных компьютерных сетях
- •Шифрование данных. Электронная подпись
Операции сравнения
Операция |
Наименование |
Пример (R имеет тип Boolean) |
Результат (R) |
= |
Равно |
R = (10=5) |
False |
> |
Больше |
R = 10>5 |
True |
< |
Меньше |
R = 10<5 |
False |
>= |
Больше или равно |
R = “a” >= “b” |
False |
<= |
Меньше или равно |
R = “a” <= “b” |
True |
<> |
Не равно |
R = “a” <> “b” |
True |
В логических операциях не только результат, но и операнды имеют тип Boolean. Поясним назначение таких операций на простом примере. Пусть переменная типа Boolean с именем R должна принимать значение True, если точка с координатами X,Y попадает в прямоугольную область, ограниченную координатами X1,X2 и Y1,Y2. Если точка за пределами прямоугольника, то R=False. Применив логическую операцию AND (И), вычислим значение R:
R = (X>=X1) AND (X<=X2) AND (Y>=Y1) AND (Y<=Y2)
Смысл этой операции в том, что если и первое выражение (X больше или равно X1) истинно, и второе истинно, и третье истинно, и четвертое истинно, то R=True. Если один из операндов логической операции AND представляет собой ложное выражение (утверждение), то и результатом будет False.
Кроме операции AND, к числу часто используемых логических операций относятся OR и NOT. Первая из них дает результат True, если истинно хотя бы одно выражение, являющееся операндом. Операция NOT изменяет результат на противоположный, подобно смене знака в арифметическом выражении. Вычислим R с помощью этих операций:
R = NOT ((X<X1) OR (X>X2) OR (Y<Y1) OR (Y>Y2))
Выражение, стоящее в скобках после операции NOT, истинно (True), если точка или левее, или правее, или ниже, или выше воображаемого прямоугольника, т.е. если точка в него не попала. В этом случае R будет иметь значение False благодаря логическому отрицанию NOT.
Несколько реже используются логические операции XOR (исключающее ИЛИ), EQV (эквивалентность) и IMP (импликация).
Первая из них дает результат True, если только одно из выражений-операндов имеет результат True.
Результатом операции EQV будет True, если выражения-операнды дают одинаковый результат.
Результатом IMP будет FALSE только в одном случае – при первом операнде, имеющем значение TRUE, второй операнд имеет значение False, например, при правильной посылке получен неверный вывод.
Перейдем теперь ко второй, важнейшей в любом языке программирования, группе инструкций. Это инструкции проверки условий и организации циклов. Все они позволяют управлять последовательностью исполнения инструкций в программе.
Инструкция IF (ЕСЛИ) используется в двух нотациях: в виде простой и блочной структур. Инструкция простой структуры имеет следующую форму записи:
If <Выражение> Then <Инструкция, исполняемая, если выражение-условие истинно>
Конструкция блочной структуры может включать один блок инструкций (<Блок 1>), исполняемых, если выражение 1 истинно, или же еще дополнительные условия, сопровождаемые блоками инструкций:
If <Выражение1> Then
<Блок 1 – исполняется, если выражение 1 истинно>
ElseIf <Выражение2> Then
<Блок 2 – исполняется, если выражение 2 истинно >
ElseIf <Выражение3> Then
<Блок 3 – исполняется, если выражение 3 истинно >
…………………..
Else
<Блок инструкций, исполняемых, если ложны выражения в инструкциях If и ElseIf>
End If
Приведем пример простой инструкции If:
If R Then MsgBox “Точка попала в прямоугольник”
Теперь пример блочной структуры:
R = False
If X < X1 Then
GoTo 10 ’уже ясно, что точка не попала в прямоугольник
ElseIf X > X2 Then
GoTo 10 ‘управление передается на метку 10
ElseIf Y < Y1 Then
GoTo 10
ElseIf Y > Y2 Then
GoTo 10
Else
R = True
End If
10: MsgBox R ’после метки ставится двоеточие
Блоки ElseIf и (или) Else могут отсутствовать. В любом случае блочная конструкция оканчивается инструкцией End If.
Приведенный пример, кроме блочной конструкции IF, поясняет возможность использования в программе меток и передач управления с помощью инструкции GoTo. Метка не обязательно обозначается числом – можно было написать и N10 или MsgR.
В ситуациях, когда требуется запрограммировать три и более разветвлений в зависимости от значения одной переменной, удобно использовать структуру Select Case:
Select Case <Переменная>
Case <Значение 1> либо Case is <Условие 1>
<Блок 1 – выполняется, если значение переменной равно значению 1
или соответствует условию 1>
Case <Значение 2> либо Case is <Условие 2>
<Блок 2 – выполняется, если значение переменной равно значению 2
или соответствует условию 2>
………………….
End Select
Приведем пример:
Возраст = TextBox1.Value
Select Case Возраст
Case Is < 13
Label1.Caption = "После 22-00 спать !"
Case 16
Label1.Caption = "Пора получать паспорт"
Case Is < 18
Label1.Caption = "Только чай !"
Case Is >= 18
Label1.Caption = "Можно почти все!"
End Select
Теперь рассмотрим организацию циклов. Вообще говоря, цикл нетрудно организовать и без специальных инструкций по схеме:
1) инструкции присваивания начальных значений переменной цикла и другим переменным;
2) инструкции, исполняемые при очередном значении переменной цикла;
3) наращивание (изменение) переменной цикла и, возможно, других переменных, изменяемых одновременно с переменной цикла;
4) проверка переменной цикла на соответствие условию, при котором цикл должен исполняться повторно, и передача управления блоку 2 при выполнении этого условия (IF <условие> GoTo <метка в начале блока 2>).
Именно такой, классический цикл изображен на рис. 4.1 в виде блок-схемы. Но в языках высокого уровня, и в том числе в VBA, предусмотрены инструкции, позволяющие записывать циклы еще компактнее. Проще всего цикл записывается, если известны начальное, конечное значения переменной цикла и шаг ее изменения. Пусть в J-ом столбце на листе Excel надо суммировать четные ячейки до строки 20, но только пока не встретится число 7777:
J = 1: S = 0
For I = 2 To 20 Step 2
F = Cells(I, J).Value
If F = 7777 Then Exit For 'Выход из цикла - на инструкцию после Next
S = S + F
Next I
MsgBox "i= " & Str(I-2) & " S=" & Str(S)
После выхода из цикла сообщается номер последней ячейки, значение которой добавлено к S и сама накопленная сумма. Цикл этого примера называют циклом типа For-Next.
В большинстве случаев циклы этого типа выглядят проще, т.к. обычно не требуется задавать шаг изменения переменной цикла (Step) и не нужно выходить из цикла по дополнительному условию (Exit For). В модуле, приведенном после рис. 10.5 (см. подраздел 10.4), такие циклы используются в процедурах TabCXCY и TabA. В последней процедуре – вложенный (двойной) цикл.
В тех случаях, когда нет возможности указать начальное и конечное значения переменной цикла, используют циклы типа Do-Loop. Для таких циклов возможны 4 варианта записи:
условие True в начале цикла Do While <условие> <инструкции, исполняемые в цикле> Loop |
условие False в начале цикла Do Until <условие> <инструкции, исполняемые в цикле> Loop |
условие True в конце цикла Do <инструкции, исполняемые в цикле> Loop While <условие> |
условие False в конце цикла Do <инструкции, исполняемые в цикле> Loop Until <условие> |
Циклы такого типа уже неоднократно применялись в примерах процедур в подразделах 10.3, 10.4. В число инструкций, исполняемых в цикле, может быть включена инструкция Exit Do, если из цикла надо выйти “досрочно”, например, при выполнении какого-нибудь дополнительного условия. Заметим, что Do While означает Выполнять пока… Do Until означает Выполнять пока не … Другими словами, вместо Do Until можно написать Do While Not. В некоторых случаях эти проверки удобнее ставить в конец цикла (Loop – цикл, дословно – петля).
В заключительной части этого раздела приведем рекомендации по отладке приложений.
Во-первых, для отладки надо подбирать разнообразные примеры, не ограничиваясь самыми простыми – ведь многие ошибки проявляются только при определенных значениях исходных данных, а иногда даже только при определенных сочетаниях этих значений.
Во-вторых, для просмотра промежуточных и окончательных значений переменных можно на время отладки включать в тексты процедур обращения к процедуре MsgBox, а также выводить значения переменных в виде свойства Caption элемента управления Label (метка – статический текст) или в виде свойства Text элемента управления TextBox (поле с редактируемым текстом). Важную роль играет выбор точек процедуры для вывода значений переменных при отладке. Для выбора таких точек можно рекомендовать рассматривать процедуру состоящей из логически завершенных фрагментов программного кода, формирующих определенные «информационные сцены». Эти-то сцены, характеризующиеся содержимым переменных и массивов, и надо контролировать.
В-третьих, VBA предоставляет специальные средства для отладки процедур. Если в окне редактора слева от текста инструкции (на полях) щелкнуть мышью, то создастся точка останова. При этом инструкция выделится красным цветом. Теперь переключаемся через панель задач на окно Excel и запускаем процедуру (обычно – командной кнопкой). В точке останова выполнение программы приостановится, причем произойдет переключение на окно редактора Visual Basic, а очередная инструкция будет выделена желтым цветом. Теперь можно навести мышь на любую переменную (на ее имя в любой инструкции), и появится окошечко со значением этой переменной в момент останова. Далее можно установить курсор в следующую представляющую интерес позицию модуля и нажать <Ctrl>+<F8> - программа выполнится до этой позиции и снова приостановится. Можно снова “посмотреть” значения переменных, наводя на них мышь. Есть также возможность перейти к пошаговому исполнению инструкций, пользуясь клавишей <F8> или комбинациями клавиш <Shift>+<F8> (шаг с обходом вызываемой процедуры) и <Shift>+<Ctrl>+<F8> (шаг с выходом из процедуры – см. также пункт меню Отладка).
Таким образом, современные среды визуального программирования предельно облегчают отладку программ.