Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9_Ломтадзе В.В., Шишкина Л.П_Практическая информатика_2011

.pdf
Скачиваний:
163
Добавлен:
26.03.2016
Размер:
3.06 Mб
Скачать

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 и El-

seIf>

End If

Приведем пример простой инструкции If:

If R Then MsgBox “Точка попала в прямоугольник”

Теперь пример блочной структуры:

R = False

151

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

152

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 варианта записи:

153

условие True в начале цикла

условие False в начале цикла

Do While <условие>

Do Until <условие>

<инструкции, исполняемые в цикле>

<инструкции, исполняемые в цикле>

Loop

Loop

условие True в конце цикла

условие False в конце цикла

Do

Do

<инструкции, исполняемые в цикле>

<инструкции, исполняемые в цикле>

Loop While <условие>

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> - программа выполнится до этой позиции и сно-

154

ва приостановится. Можно снова “посмотреть” значения переменных, наводя на них мышь. Есть также возможность перейти к пошаговому исполнению инструкций, пользуясь клавишей <F8> или комбинациями клавиш <Shift>+<F8> (шаг с обходом вызываемой процедуры) и <Shift>+<Ctrl>+<F8> (шаг с выходом из процедуры – см. также пункт меню Отладка).

Таким образом, современные среды визуального программирования предельно облегчают отладку программ.

Контрольные вопросы к главе 10

Что такое программирование; особенности и достоинства VBA;

создание интерфейса пользователя: как разместить элементы управления на листе Excel, как установить их свойства, как перейти в окно редактора VBA, как создать диалоговое окно;

что такое модуль, процедура, функция; как оформляются и вызываются процедуры; как оформляются и вызываются функции; категории встроенных функций; встроенные типы данных VBA;

назначение переменных, их описание, локальные и глобальные перемен-

ные;

назначение инструкции Option Explicit;

массивы, их описание, доступ к элементам массива, многомерные массивы, динамическое переопределение размерности массивов;

пояснить связь математических понятий вектора и матрицы с понятиями одномерного и двумерного массивов в программировании;

конструирование собственных типов данных; константы, их определение и использование;

доступ к данным, хранимым в виде свойств объектов-элементов управле-

ния;

основные группы инструкций языка Visual Basic; инструкция присваивания; арифметические операции; конкатанация; операции сравнения; логические операции;

инструкции проверки условий и организации циклов; методы отладки приложений.

155

11.ОСНОВЫ И МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ

11.1.Основные понятия информационной безопасности

Эффективность любой информационной системы (ИС) в значительной степени определяется состоянием (безопасностью) обрабатываемой в ней информации.

Информационная безопасность – состояние защищенности информации при ее получении, обработке, хранении, передаче и использовании от различного вида угроз.

Конфиденциальность информации – свойство информации быть дос-

тупной только ограниченному кругу пользователей и иных субъектов доступа, допущенных к ее использованию.

Целостность информации – свойство сохранять свою структуру и содержание в процессе хранения, использования и передачи.

Достоверность информации – это свойство характеризует степень соответствия информации реальному объекту с необходимой точностью. При работе с неполным набором данных достоверность информации может характеризоваться вероятностью.

Угроза информационной безопасности – возможность воздействия на информацию с целью ее искажения, уничтожения, копирования или блокирования, а также возможность воздействия на компоненты системы, приводящие

ксбою их функционирования.

11.2.Классификация угроз информационной безопасности

11.2.1. Непреднамеренные

Стихийные бедствия и аварии – пожар, наводнение, землетрясение и т.д. При этом информация утрачивается или доступ к ней становится невозможным.

Сбои и отказы технических средств – сбои и отказы аппаратных средств, сбои систем электропитания, сбои кабельной системы и др. В этом случае нарушается работоспособность технических средств, уничтожаются и искажаются данные и программы. Повреждения отдельных блоков и узлов или устройств могут привести к нарушению конфиденциальности информации.

Ошибки при разработке ИС и ошибки в комплексах алгоритмов и про-

грамм – приводят к последствиям, аналогичным последствиям сбоев и отказов технических средств. Кроме того, такие ошибки могут быть использованы злоумышленниками для воздействия на ресурсы информационной системы. Выделяют ошибки:

системные, обусловленные неправильным пониманием задачи и условий ее реализации.

156

алгоритмические связанные с некорректной формулировкой и программной реализацией алгоритмов,

программные,

технологические.

Ошибки пользователей и обслуживающего персонала определяются:

психофизическими характеристиками человека – усталостью и снижением работоспособности, неправильной интерпретацией используемых информационных массивов;

несовершенством моделей представления информации, низкой квалификацией персонала, отсутствием должностных инструкций и нормативов;

небрежностью, безразличием, безответственностью, плохой организацией труда.

11.2.2. Преднамеренные

Шпионаж и диверсии. Эти средства используются для получения сведений о системе защиты с целью проникновения в ИС, а также для хищения

иуничтожения информационных ресурсов. К таким средствам относятся:

Подслушивание, в том числе с помощью технических средств, позволяющих получать информацию по техническим каналам; перехват информации, передаваемой по каналам связи.

наблюдение;

хищение документов и машинных носителей информации;

хищение программ и атрибутов системы защиты;

подкуп и шантаж сотрудников;

сбор и анализ отходов машинных носителей информации;

поджоги;

взрывы.

Несанкционированный доступ к информации – доступ, нарушающий установленные правила разграничения доступа субъекта к информации, с использованием штатных средств (программного или аппаратного обеспечения).

Основные способы несанкционированного доступа:

Непосредственное обращение к объектам доступа;

Создание программных и технических средств, выполняющих обращение к объектам доступа в обход средств защиты;

Модификация средств защиты (программные и аппаратные закладки);

157

Внедрение в технические средства аппаратных или программных механизмов, нарушающих структуру и функции АС, загрузка нестандартной операционной системы без функции защиты.

Съём электромагнитных излучений и наводок. Процесс обработки и передачи информации техническими средствами сопровождается электромагнитными излучениями в окружающее пространство и наведением электрических сигналов в линиях связи, сигнализации, заземлении и других проводниках. Они получили название побочных электромагнитных излучений и наводок. В способах получения разведывательных данных на основе таких излучений и наводок (технических каналов утечки информации) используют перехват электромагнитных излучений средствами радиотехнической разведки, размещенными вне контролируемой зоны.

Модификация структур – несанкционированная модификация алгоритмической, программной и технической структур системы получила название «закладки». Закладки используются либо для непосредственного вредительского воздействия на ИС, либо для обеспечения неконтролируемого входа в систему.

Вредительские программы делятся на четыре класса:

логические бомбы – это программы или их части, постоянно находящиеся

вкомпьютере или в вычислительных системах и выполняемые только при соблюдении определенных условий;

черви;

троянские кони;

вирусы.

11.3.Обеспечение информационной безопасности

11.3.1. Юридические основы информационной безопасности

Действующий Уголовный кодекс РФ предусматривает наказания за преступления, связанные с нарушением конфиденциальности информации. Глава 28 «Преступления в сфере компьютерной информации» содержит статьи 272-274, посвященные преступлениям, связанным с неправомерным доступом к компьютерной информации, созданием, использованием и распространением вредоносных программ, нарушением правил эксплуатации ЭВМ, систем и сетей на их основе. Кроме того, на защиту информации направлен Федеральный закон № 149.

Интересы государства в плане обеспечения конфиденциальности информации наиболее полно представлены в законе «О государственной тайне»

Гостайна – это сведения в области военной, внешнеполитической, экономической, разведывательной, контрразведывательной и оперативно-

158

розыскной деятельности, распространение которых может нанести ущерб безопасности РФ.

11.3.2. Требования к защите информации в системах

Госкомиссией при президенте РФ были приняты руководящие документы, посвященные вопросам защиты информации.

1.Защита основывается на положениях существующих законов, стандартов и нормативно-методических документов по защите информации.

2.Защита средств вычислительной техники обеспечивается комплексом про- граммно-технических средств.

3.Защита информации обеспечивается комплексом программно-технических средств и поддерживающих их организационных мер.

4.Защита обеспечивается на всех технологических этапах обработки информации и во всех режимах функционирования, в том числе при проведении ремонтных и регламентных работ.

5.Программно-технические средства не должны существенно ухудшать основные функциональные характеристики ИС (надежность, производительность, возможность изменения конфигурации).

6.Оценка эффективности средств защиты, должна учитывать всю совокупность технических характеристик, включая технические решения и практическую реализацию средств защиты.

7.Защита должна предусматривать контроль эффективности средств защиты от несанкционированного доступа. Этот контроль может быть периодическим или включаться по мере необходимости пользователем или контролирующими органами.

11.3.3. Меры по поддержанию работоспособности компьютерных систем

Правила проведения повседневных мероприятий администратором сис-

темы:

Администратор должен организовать поддержку пользователей при решении возникающих у них проблем, связанных с безопасностью системы, и указать пользователям способы их решения;

Администратор должен следить за целостностью программного обеспечения, следить за изменением файлов программ;

Пользователь должен иметь возможность проводить резервное копирование своих данных, копии необходимо сохранять на съемных носителях информации;

Каждая компьютерная система должна быть снабжена источником бесперебойного питания.

11.3.4. Противодействие нарушению конфиденциальности информации

При эксплуатации информационной системы основной задачей защиты информации является предотвращение несанкционированного доступа к аппа-

159

ратным и программным средствам, а также контроль целостности этих средств. Для решения этой задачи проводятся следующие мероприятия:

Идентификация (имя пользователя, учетный номер и др.) и аутентификация (пароль, биометрические параметры, съемные носители информации, электронные жетоны, пластиковые карты, механические ключи) пользователей.

Мониторинг несанкционированных действий – фиксирование и анализ событий в журнале аудита.

Разграничения доступа к данным и программам.

Криптографические методы – наиболее эффективные средства защиты информации при передаче ее по протяженным линиям связи. Их называют шифрами. Криптография (от греч. kryptos – тайна и graphō – пишу).

Шифрование – процесс преобразования открытого сообщения в шифро-

ванное с помощью определенных правил, содержащихся в шифре. Расшифрование – процесс, обратный шифрованию.

Шифрование заменой (подстановка) заключается в том, что символы шифруемого текста заменяются другими символами, взятыми из одного или нескольких алфавитов. Применяется также шифрование методом перестановки, а также методы шифрования, использующие ключи. Эти методы предполагают знание ключа при шифровании и дешифровании.

Системы с открытым ключом. В таких системах для шифрования используется один ключ, а для дешифрования – другой. Первый ключ не является секретным и может быть опубликован для использования всеми пользователями системы. Для дешифрования данных получатель использует второй ключ, который является секретным. Ключ дешифрования не может быть определен из ключа шифрования. Методы шифрования с открытым ключом называют асим-

метричными.

Применяются также симметричные методы – в них для шифрования и дешифрования используется один и тот же ключ.

Хэш-функция используется для шифрования паролей пользователей информационной системы и при создании электронных подписей. Эта функция преобразует сообщение любой длины в строку фиксированного размера.

11.3.5. Электронная цифровая подпись

При обмене электронными документами очень важным является установление авторства, подлинности и целостности информации в полученном документе. Для этого используется цифровая подпись, сопровождающая электронный документ. Она аналогична обычной рукописной подписи, обладает ее основными достоинствами:

удостоверяет, что подписанный текст исходит от лица, поставившего подпись;

не дает лицу, подписавшему текст, отказаться от обязательств, связанных с подписанным текстом;

гарантирует целостность подписанного текста.

160