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> (шаг с выходом из процедуры – см. также пункт меню Отладка).
Таким образом, современные среды визуального программирования предельно облегчают отладку программ.
Контрольные вопросы к разделу 10: что такое программирование; особенности и достоинства VBA; создание интерфейса пользователя, как разместить элементы управления на листе Excel, как установить их свойства, как перейти в окно редактора VBA, как создать диалоговое окно; что такое модуль, процедура, функция; как оформляются и вызываются процедуры; как оформляются и вызываются функции; категории встроенных функций; встроенные типы данных VBA; назначение переменных, их описание, локальные и глобальные переменные; назначение инструкции Option Explicit; массивы, их описание, доступ к элементам массива, многомерные массивы, динамическое переопределение размерности массивов; пояснить связь математических понятий вектора и матрицы с понятиями одномерного и двумерного массивов в программировании; конструирование собственных типов данных; константы, их определение и использование; доступ к данным, хранимым в виде свойств объектов-элементов управления; основные группы инструкций языка Visual Basic; инструкция присваивания; арифметические операции; конкатанация; операции сравнения; логические операции; инструкции проверки условий и организации циклов; методы отладки приложений.
11. Основы защиты информации
11.1. Основные понятия информационной безопасности
Рассматриваемые в этом разделе вопросы информационной безопасности основываются на информации из учебника и [1].
Эффективность любой информационной системы (ИС) в значительной степени определяется состоянием (безопасностью) обрабатываемой в ней информации.
Информационная безопасность – состояние защищенности информации от различного вида угроз при ее получении, обработке, хранении, передаче и использовании.
Конфиденциальность информации – свойство информации быть доступной только ограниченному кругу пользователей.
Целостность информации – свойство сохранять свою структуру и содержание в процессе хранения, при использовании и передаче.
Достоверность информации – это свойство, характеризует степень соответствия информации реальному объекту. При работе с неполным набором данных достоверность информации может характеризоваться вероятностью.
Угроза информационной безопасности – возможность воздействия на информацию с целью ее искажения, уничтожения, копирования или блокирования, а также возможность воздействия на компоненты информационных систем, приводящих к сбою их функционирования.
11.2. Классификация угроз информационной безопасности
Непреднамеренные
Стихийные бедствия и аварии – пожар, наводнение, землетрясение и т. д. При этом информация утрачивается или доступ к ней становится невозможным.
Сбои и отказы технических средств – сбои и отказы аппаратных средств, сбои систем электропитания, сбои кабельной системы и др. В этом случае нарушается работоспособность технических средств, уничтожаются и искажаются данные и программы. Повреждения отдельных блоков и узлов или устройств могут привести к нарушению конфиденциальности информации.
Ошибки при разработке ИС и ошибки в комплексах алгоритмов и программ – приводят к последствиям, аналогичным последствиям сбоев и отказов технических средств. Кроме того, такие ошибки могут быть использованы злоумышленниками для воздействия на ресурсы информационной системы. Ошибки классифицируют, выделяя несколько типов:
• Системные ошибки – обусловленные неправильным пониманием задачи и условий ее реализации.
• Алгоритмические и программные – связанные с некорректной формулировкой и программной реализацией алгоритмов,
• Технологические – ошибки в технологии обработки данных.
Ошибки пользователей и обслуживающего персонала определяются разнообразными причинами:
• психофизическими – усталостью и снижением работоспособности, неправильной интерпретацией используемых информационных массивов;
• объективными – несовершенством моделей представления информации, низкой квалификацией имеющегося персонала;
• субъективными – небрежностью, безразличием, безответственностью, плохой организацией труда.
Преднамеренные
Шпионаж и диверсии. Эти средства используются для получения сведений о системе защиты с целью проникновения в ИС, а также для хищения и уничтожения информационных ресурсов. К таким средствам относятся:
• перехват информации, передаваемой по каналам связи.
• подслушивание и наблюдение, в том числе с помощью технических средств;
• хищение документов и машинных носителей информации;
• хищение программ и атрибутов системы защиты;
• подкуп и шантаж сотрудников;
• сбор и анализ отходов машинных носителей информации;
• взрывы, поджоги и другие диверсии;
Несанкционированный доступ к информации (НСД) – доступ к информации, нарушающий установленные правила доступа с использованием штатных средств (программного или аппаратного обеспечения).
Основные способы несанкционированного доступа:
• Непосредственное обращение к объектам доступа (получение возможности доступа к файлам);
• Создание программных и технических средств, выполняющих обращение к объектам доступа в обход средств защиты;
• Модификация средств защиты (программные и аппаратные закладки);
• Внедрение в технические средства аппаратных или программных механизмов, нарушающих структуру и функции информационной системы, загрузка нестандартной операционной системы без функции защиты.
Съем электромагнитных излучений и наводок. Процесс обработки и передачи информации техническими средствами сопровождается электромагнитными излучениями в окружающее пространство и наведением электрических сигналов в линиях связи, сигнализации, заземлении и других проводниках. Они получили название побочных электромагнитных излучений и наводок (ПЭМИН). Способы получения разведывательной информации с помощью ПЭМИН называют техническими каналами утечки информации. Перехват побочных электромагнитных излучений осуществляется средствами радио, радиотехнической разведки, размещенными вне контролируемой зоны.
Несанкционированная модификация структур – называемая закладкой несанкционированная модификация, алгоритмической, программной и технической структур системы на этапах разработки и модернизации. Закладки используются либо для непосредственного вредительского воздействия на ИС, либо для обеспечения неконтролируемого входа в систему.
Вредительские программы делятся на четыре класса:
• логические бомбы – это программы или их части, постоянно находящиеся в компьютере или в вычислительных системах и выполняемые только при соблюдении определенных условий;
• черви;
• троянские кони;
• вирусы.
11.3. Юридические основы информационной безопасности
Действующий Уголовный кодекс РФ предусматривает наказания за преступления, связанные с нарушением конфиденциальности информации. Глава 28 «Преступления в сфере компьютерной информации» содержит статьи 272-274, посвященные преступлениям, связанным с неправомерным доступом к компьютерной информации, созданием, использованием и распространением вредоносных программ, нарушением правил эксплуатации ЭВМ, систем и сетей на их основе.
Интересы государства в плане обеспечения конфиденциальности информации наиболее полно представлены в законе «О государственной тайне»
Гостайна – это сведения в области военной, внешнеполитической, экономической, разведывательной, контрразведывательной и оперативно-разыскной деятельности, распространение которых может нанести ущерб безопасности РФ.
11.4. Принципы защиты информации в компьютерных системах
Госкомиссией при президенте РФ были приняты руководящие документы, посвященные вопросам защиты информации, и основанные на следующих принципах:
1) Защита основывается на существующих законах, стандартах и нормативно-методических документах по защите информации.
2) Защита средств вычислительной техники обеспечивается комплексом программно-технических средств.
3) Защита информации обеспечивается комплексом программно-технических средств и поддерживающих их организационных мер.
4) Защита обеспечивается на всех технологических этапах обработки информации и во всех режимах функционирования, в том числе при проведении ремонтных и регламентных работ.
5) Программно-технические средства не должны существенно ухудшать основные функциональные характеристики ИС (надежность, производительность, возможность изменения конфигурации).
6) Оценка эффективности средств защиты, должна учитывать всю совокупность технических характеристик, включая технические решения и практическую реализацию средств защиты.
7) Защита должна предусматривать контроль эффективности средств защиты от несанкционированного доступа, который может быть периодическим или включаться по мере необходимости пользователем или контролирующими органами.
11.5. Меры по поддержанию работоспособности компьютерных систем
Правила проведения повседневных мероприятий администратором системы:
• Администратор должен организовать поддержку пользователей при решении возникающих у них проблем, связанных с безопасностью системы, и указать пользователям способы их решения;
• Администратор должен следить за целостностью программного обеспечения, следить за изменением файлов программ;
• Пользователь должен иметь возможность проводить резервное копирование своих данных, копии необходимо сохранять на съемных носителях информации;
• Компьютерная система должна быть снабжена источником бесперебойного питания.
11.6. Основы противодействия нарушению конфиденциальности информации
На этапе эксплуатации основной задачей защиты информации в ИС является предотвращение несанкционированного доступа к аппаратным и программным средствам, а также контроль целостности этих средств. Комплекс мероприятий затрудняющих или предотвращающих НДС:
• Идентификация (имя пользователя, учетный номер и др.) и аутентификация (пароль, биометрические параметры, съемные носители информации, электронные жетоны, пластиковые карты, механические ключи) пользователей.
• Мониторинг несанкционированных действий – фиксирование и анализ событий в журнале аудита.
• Разграничения доступа к ИС.
• Криптографические методы – наиболее эффективные средства защиты информации при передаче ее по протяженным линиям связи. Их называют шифрами. Криптография (от греч. kryptos – тайна и graphō – пишу).
Шифрование – процесс преобразования открытого сообщения в шифрованное с помощью определенных правил, содержащихся в шифре. Часто применяются следующие три метода шифрования:
• Шифрование заменой (подстановка). При подстановке символы шифруемого текста заменяются другими символами, взятыми из одного или нескольких алфавитов.
• Шифрование методом перестановки.
• Методы шифрования, использующие ключи.
В последней группе методов выделяют несколькоразновидностей:
С открытым ключом. В таких системах для шифрования используется один ключ, а для дешифрования – другой. Первый ключ не является секретным и может быть опубликован для использования всеми пользователями системы. Для дешифрования данных получатель использует второй ключ, который является секретным. Ключ дешифрования не может быть определен из ключа шифрования. RSA (Rivest, Shamir и Adieman) – наиболее распространенный метод криптографической защиты информации с открытым ключом.
Симметричный – для шифрования и дешифрования используется один и тот же ключ.
Асимметричный – метод с открытым ключом.
Кэш-функция – используется для шифрования паролей пользователей ИС и при создании электронной подписи. Она отображает сообщение любой длины в строку фиксированного размера.
Электронная цифровая подпись
При обмене электронными документами очень важным является установление авторства, подлинности и целостности информации в полученном документе. Для этого используется цифровая подпись, сопровождающая электронный документ. Она аналогична обычной рукописной подписи и обладает ее основными достоинствами:
• удостоверяет, что подписанный текст исходит от лица, поставившего подпись;
• не дает лицу, подписавшему текст, освобождения от обязательств, связанных с подписанным текстом;
• гарантирует целостность подписанного текста.
Электронная цифровая подпись представляет собой относительно небольшое количество дополнительной информации, передаваемой вместе с документом. На этапе формирования цифровой подписи генерируются два ключа: секретный и открытый. Открытый ключ рассылается всем абонентам, которым будет направлен электронный документ. Подпись, добавляемая к документу, содержит такие параметры отправителя, как дату подписи, информацию об отправителе письма и имя открытого ключа. С помощью кэш-функции, примененной ко всему документу, вычисляется число, характеризующее весь текст в целом. Это число, шифруется закрытым ключом и является электронной цифровой подписью. Получателю пересылается сам документ в открытом виде и электронная подпись. При проверке цифровая подпись расшифровывается открытым ключом, известным получателю. К полученному открытому документу применяется преобразование кэш-функцией. Результат ее работы сравнивается с присланной электронной подписью.
Кроме уже рассмотренных средств защиты информации в корпоративных информационных системах широко применяются методы защиты от несанкционированного доступа в рамках систем управления базами данных [12].
ЛИТЕРАТУРА
1. , Медведев : базовый курс. – Москва: Омега-Л, 2006. – 500с.
2. , , . Лабораторный практикум по информатике. Расширенные возможности Excel.-Иркутск: Изд-во ИрГТУ. – 2003. – 71с.
3. Excel 97 в примерах. – СПб.: Питер, 1997. – 336 с.
4. Громов информационные ресурсы: проблемы промышленной эксплуатации. – М.: Наука, 1984.
5. Информатика: Учебник /Под ред. проф. . – М.: Финансы и статистика, 1997. – 768 с.
6. Справочник по математике для научных работников и инженеров. –М.: Наука, 1968. –720 с.
7. Лабораторный практикум по информатике. Часть I. Windows, Word, Excel, Access/ , , и др. – Иркутск: Изд-во Иркутского госуд. техн. ун-та, 20с.
8. Лабораторные, контрольные и самостоятельные работы по информатике/ , , . – Иркутск: Изд-во Иркутского гос. техн. ун-та, 2008. – 100 с.
9. и др. Visual Basic для приложений (версия 5) в подлиннике: пер. с англ. – СПб.: BHV – Санкт-Петербург, 1998. – 704 с.
10. , , Алексеев информатика: Учебное пособие. – М.: АСТ-ПРЕСС: Инфорком-Пресс, 1999. – 480 с.
11. Microsoft Visual Basic 5. Шаг за шагом: Практ. пособ. /Пер. с англ. кн. Микаэла Хальворсона. – М.: Изд-во ЭКОМ, 1998. – 432 с.
12. Oracle 7 и вычисления клиент-сервер /Пер. с англ. кн. Стивена Бобровски. –М.: Изд-во ЛОРИ, 1996. – 651 с.
13. , , . Лабораторный практикум по информатике. Часть II. Visual Basic for Applications. – Иркутск: Изд-во Иркутского гос. техн. ун-та, 2002. – 52 с.
14. Microsoft Office 2003. Самый полный и понятный самоучитель/ Алекс Экслер. – М.: НТ Пресс. 2008. – 400 с.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |



