Государство в отношении сведений, составляющих государственную тайну, имеет право: 1. Устанавливать степень секретности информации и гриф секретности носителей этих сведений в соответствии со степенью тяжести и возможного ущерба в случае их распространения. 2. Рассекречивать сведения, составляющие государственную тайну. 3. Разрешать и прекращать допуск граждан, должностных лиц, предприятий, учреждений и организаций к государственной тайне с ограничением их прав и законных интересов в установленном законом порядке. 4. Разрешать доступ лиц, имеющих допуск к государственной тайне, к конкретным сведениям, составляющим государственную тайну. 5. Ограничивать право собственности российских предприятий, учреждений, организаций и граждан РФ на информацию в связи с ее засекречиванием. 6. Распоряжаться сведениями, составляющими государственную тайну (передавать другим государственным органам РФ, предприятиям, учреждениям, организациям, а также другим государствам). 7. Требовать соблюдения законодательства о государственной тайне от органов государственной власти, предприятий, учреждений или организаций, их должностных лиц и граждан РФ. 8. Требовать обязательной сертификации средств защиты информации на соответствие требованиям защиты сведений определенной степени секретности.
Должностные лица и граждане, виновные в нарушении законодательства о государственной тайне, несут уголовную, административную, гражданско-правовую или дисциплинарную ответственность. 1) Дисциплинарная ответственность заключается в применении мер дисциплинарного характера. Например, в статьях 37 и 57 федерального закона «О государственной гражданской службе РФ» № 79-ФЗ от 27.07.04г. предусмотрена возможность увольнения государственного служащего за разглашение сведений, составляющих государственную тайну. 2) Административная ответственность применяется за нарушение правил защиты информации, незаконную деятельность в области защиты информации, а также за разглашение информации с ограниченным доступом на основании ст. 13.12, 13.13 и 13.14 Кодекса РФ об административных правонарушениях. 3) Уголовная ответственность устанавливается за преступления, связанные с государственной тайной, в соответствии со ст. 275, 276, 283, 284 Уголовного кодекса РФ. (К таким преступлениям относятся государственная измена, шпионаж, разглашение государственной тайны, утрата документов, содержащих государственную тайну).
|
Алфавит VBA
Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и т. д.
Как и все языки программирования высокого уровня, Visual Basic имеет свой набор допустимых для использования символов – алфавит. Алфавит языка содержит в себе:
- как прописные, так и строчные буквы латинского и русского
алфавитов: A, B, …,Z a, b, …, z А, Б, …,Я а, б, …,я;
- арабские цифры: 0,…,9.
Из вышеописанных символов конструируются все структуры языка: имена типов, встроенных констант, процедур, функций, операторов, объектов, свойств, методов и др. Прописные и строчные буквы не различаются. Все слова, задействованные в конструкциях языка, являются зарезервированными словами и не могут применяться для других целей.
|
Для построения конструкций языка используются также нижеперечисленные символы:
+ – суммирование в математических выражениях и
сцепление строк в строковых выражениях;
- – разность (вычитание);
* – умножение;
/ – деление;
\ – целое деление;
^ – возведение в степень;
() – для составления сложных выражений;
= – оператор присваивания или знак “равно”, применяемый
в логических выражениях;
& – сцепление подстрок в строку (конкатенация);
‘ – комментарий;
_ – разрыв строки исходного кода программы или как
связка в идентификаторах;
> – больше;
< – меньше;
<= – меньше или равно (не больше);
>= – больше или равно (не меньше);
<> – не равно;
пробел – разделитель слов (операторов) в языке.
Типы переменных VBA
Переменная - это имя, которое программист дает области компьютерной памяти, используемой для хранения данных какого-либо типа.
Для лучшего понимания переменной можно провести аналогию, скажем, с автоматической камерой хранения на вокзале. Ячейки камеры, как известно, пронумерованы - это "имя" переменной (в отличие от камеры хранения, мы можем сами присваивать определенное имя переменной). То, что лежит в ячейке камеры хранения - это значение переменной. Оно может меняться, но номер ячейки (имя переменной) остается одним и тем же.
Имя переменной
При выборе имени переменной необходимо соблюдать определенные правила:
Имя переменной должно начинаться с буквы алфавита;
Имена переменных не могут содержать пробелы, точку или любой другой символ, который VBA использует для обозначения математических операций и операций сравнения;
|
Имена переменных не могут превышать 255 символов;
Имя переменной должно быть уникальным в рамках его области действия. Оно должно быть уникальным в пределах процедуры или модуля, в которой объявлена эта переменная (по аналогии с камерой хранения: на одном вокзале не может быть двух ячеек с одинаковым номером).Имя переменной не может дублировать зарезервированные ключевые слова VBA;
Имена переменных не чувствительны к состоянию регистра. Т.е. нет разницы между MyNumber, mynumber, mYnUmBeR.
Хорошим тоном программирования считается, когда именам переменным даются осмысленные названия, отражающие их суть в производимых программой операциях. Например, логично будет, если переменная, содержащая итоговую сумму, будет иметь название "AllSum".
Создание переменной
Самым простым способом создания переменной является использование ее в операторе VBA. При этом VBA создает переменную и резервирует память для переменной. Сохранение значения данных в переменной называется присваиванием переменной. Делается это с помощью оператора присваивания (=).
Например: Sum=120
Этот оператор сохраняет численное значение 120 в ячейке памяти, заданной переменной Sum.
Такое объявление переменной называется "неявным объявлением переменной" или "объявление переменной на лету". Все переменные, которые VBA создает подобным образом, имеют тип данных Variant.
Неявное объявление переменной может вызвать массу проблем во время отладки программного кода, поэтому, такой способ программирования не рекомендуется. В некоторых языках программирования вообще нельзя объявлять переменные неявным способом.
Поэтому, VBA предоставляет возможность выполнить явное объявление переменной. Это несет следующие преимущества:
Ускоряется выполнение кода;
Уменьшается количество потенциальных ошибок при написании кода;
Улучшается читабельность программного кода;
Нормализуется выделение заглавными буквами в имени переменной (т.е., если вы явно объявили имя переменной как "AllSumm", то при написании в теле кода этой переменной, как allsumm, автоматически произойдет замена на AllSumm)
Для явного объявления переменной используется оператор Dim (Dimension).
Синтаксис:
Dim name1 [, name2…]
nameN - любой допустимый идентификатор переменной.
Идентификатор - это имя, которое дается элементам в создаваемых процедурах и модулях, таким как переменные. Это обусловлено тем фактом, что создаваемые имена определяют конкретные участки памяти (имя переменной), группы инструкций (макрос или процедура).
Например:
Dim MyValue
Dim Value_1, Value_2
Все переменные, созданные подобным образом, являются переменными типа Variant.
Когда VBA создает новую переменную, эта переменная инициализируется (переменной присваивается некоторое значение "по умолчанию"):
строки инициализируются пустыми строками;
числа - значением 0;
переменные типа Boolean - False;
даты - 30 декабря 1899
Переменную можно объявлять только один раз в отдельной процедуре или модуле. Фактически переменные можно объявлять в любом месте кода. Однако, в практике программирования принято собирать все явные объявления переменных в одном месте, как правило, в начале процедуры.
Типизированные переменные
Все переменные в VBA, независимо от того, объявляются ли они неявно или явно, являются переменными типа Variant, если только не задается тип переменной в объявляющем ее операторе. Объявление типизированных переменных имеет ряд преимуществ:
Типизированные переменные ускоряют выполнение кода программы;
Использование типизированных переменных может значительно сократить объем памяти, требуемой для выполнения программы;
Программный код с типизированными переменными легче читается и понимается;
В программах, использующих типизированные переменные, легче обнаружить некоторые ошибки программистов;
Не возникает проблем с датами.
Тип переменной объявляется в том же операторе, который используется для объявления самой переменной. Можно объявлять типизированную переменную либо при неявном объявлении, либо при явном - с помощью оператора Dim.
Для объявления переменной и ее типа с помощью оператора Dim необходимо добавить ключевое слово As перед именем переменной, а затем ввести имя типа данных для этой переменной.
Синтаксис:
Dim varname_1 [As type1] [, varname_2 [As type2]..]
Varname_N - любое допустимое имя переменной
Type_N - любое из имен типов данных VBA
После объявления типизированной переменной, независимо от того, объявляется ли эта переменная явно или неявно, и как задается ее тип, эта переменная сохраняет тот же самый тип столько времени, сколько она существует. Нельзя переобъявлять переменную или переопределять ее тип.
Создаваемые строковые переменные по умолчанию являются строками переменной длины, т.е. они изменяют свою длину, в зависимости от длины строки, сохраняемой переменной. Но, иногда может понадобиться использовать строку фиксированной длины. Такие строки всегда имеют одну и ту же длину. Они полезны, если необходимо обеспечить, чтобы текст, сохраненный в строковой переменной, всегда содержал одно и то же число символов.
Синтаксис:
Dim varname As String * N
Varname - любое допустимое имя переменной
N - целое число, указывающее длину строки
Область действия переменных
Любая переменная имеет свою область действия.
Термин область действия относится к области процедуры или модуля VBA, где данная переменная, процедура или другой идентификатор, являются доступными.
Переменные, процедуры и идентификаторы, которые доступны только в процедуре, имеют область действия процедурного уровня, а те, которые доступны для всех процедур в модуле, имеют область действия модульного уровня.
Область в начале модуля перед любыми объявлениями процедур называют областью объявлений модуля, потому что именно туда следует помещать объявления переменных модульного уровня и другие директивы VBA, влияющие на весь модуль.
В первой строке, приведенного выше листинга, объявлена переменная А модульного типа. Однако в процедуре example_02 имеется свое объявление переменной А. VBA выбирает наиболее локальную переменную А, объявленную как переменная процедурного уровня.
Переменные процедурного уровня часто называют локальными переменными, потому что их объявления являются локальными для выполняемой в данный момент процедуры.
Если вы хотите всегда использовать только явное объявление переменных, то для таких целей VBA предоставляет команду Option Explicit. При использовании Option Explicit VBA требует объявления всех переменных перед их использованием.
В настройках редактора VBA можно указать, чтобы команда Option Explicit автоматически включалась в новый модуль.
Архиваторы
Одним из наиболее распространенных видов системных программ являются программы, предназначенные для архивации, упаковки файлов путем сжатия хранимой в них информации.
Сжатие информации — это процесс преобразования информации, хранящейся в файле, в результате которого уменьшается ее избыточность, соответственно, требуется меньший объем Памяти для хранения.
Сжатие информации в файлах производится за счет устранения избыточности различными способами, например за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде коэффициента повторения и соответствующих символов. Применяются различные алгоритмы подобного сжатия информации.
Сжиматься могут как одни, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл, или архив.
Архивный файл — это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде и служебную информацию об именах файлов, дате и времени их создания или модификации, размерах и т. д.
Целью упаковки файлов обычно являются обеспечение более компактного размещения информации на диске, сокращение времени и, соответственно, стоимости передачи информации по каналам связи в компьютерных сетях. Кроме того, упаковка в один архивный файл группы файлов существенно упрощает их перенос с одного компьютера на другой, сокращает время копирования файлов на диски, позволяет защитить информацию от несанкционированного доступа, способствует защите от заражения компьютерными вирусами.
Под степенью сжатия понимают отношение размеров сжатого файла и исходного, выраженное в процентах.
Степень сжатия зависит от используемой программы сжатия, метода сжатия и типа исходного файла. Лучше всего сжимаются файлы графических образов, текстовые файлы, файлы данных, степень сжатия которых может достигать 5 — 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей — 60 — 90%. Почти не сжимаются архивные файлы. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.
Архивация (упаковка) — помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.
Разархивацияия (распаковка) — процесс восстановления файлов из архива точно в таком виде, какой они имели до загрузки в архив. При распаковке файлы извлекаются из архива и помещаются на диск или в оперативную память.
Программы, осуществляющие упаковку и распаковку файлов, называютсяпрограммами-архиваторами.
Большие по объему архивные файлы могут быть размещены на нескольких дисках (томах). Такие архивы называются многотомными. Том — это составная часть многотомного архива. Создавая архив из нескольких частей, можно записать его части на несколько носителей.
Основные виды программ-архиваторов
В настоящее время применяется несколько десятков программ-архиваторов, которые отличаются перечнем функций и параметрами работы, однако лучшие из них имеют примерно одинаковые характеристики. Из числа наиболее популярных программ можно выделить: Zip (и его модификация WinZip), WinRAR, Arj (и его разновидности), G-Zip, 7-Zip.
Программы-архиваторы позволяют создавать и такие архивы, для извлечения файлов из которых не требуются какие-либо программы, гак как сами архивные файлы могут содержать программу распаковки. Такие архивные файлы называются самораспаковывающимися. Самораспаковывающийся архивный файл — это загрузочный, исполняемый модуль, который способен к самостоятельной разархивации находящихся в нем файлов без использования программы-архиватора.
Самораспаковывающийся архив получил название SFX-архив (SelF-eXtracting). Архивы такого типа обычно создаются в формате ЕХЕ-файла.
Многие программы-архиваторы производят распаковку файлов, выгружая их на диск, но имеются и такие, которые предназначены для создания упакованного исполняемого модуля (программы). В результате такой упаковки создается программный файл с теми же именем и расширением, который при загрузке в оперативную память самораспаковывается и сразу запускается. Вместе с тем возможно и обратное преобразование программного файла в распакованный формат. К числу таких архиваторов относятся программы Upx, PKLITE, LZEXE.
Ппрограмма EXPAND, входящая в состав утилит операционной системы Windows, применяется для распаковки файлов программных продуктов, поставляемых фирмой Microsoft.
Способы управления программой-архиватором
Управление программой-архиватором осуществляется одним из следующих способов:
— с помощью командной строки, в которой формируется команда запуска, содержащая имя программы-архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов;
— с помощью встроенной оболочки и диалоговых панелей, появляющихся после запуска программы и позволяющих вести управление с использованием меню и функциональных клавиш, что создает для пользователя более комфортные условия работы;
— с помощью контекстного меню Проводника в операционной системе Windows.