44401

Создание программы, выполняющей функции: шифровку/дешифровку введенной символьной последовательности

Курсовая

Информатика, кибернетика и программирование

Для реализации поставленной задачи будет использоваться среда программирования Microsoft Visual Basic 6.0, так как она дает возможность широко использовать идеи структурного программирования, располагает большим числом операторов, позволяющих реализовывать блочную структуру программ

Русский

2013-11-12

3.41 MB

1 чел.

PAGE  49

  1.  ВВЕДЕНИЕ

Как и знаменитые Мейнские омары, кленовый сироп и баскетбол,   БЕЙСИК - это продукт Новой Англии. Созданный в 1964 в Дартмутском  колледже в Ганновере, как язык обучения программированию,   БЕЙСИК   является   общепринятым   акронимом   от  "Beginner's All-purpose Symbolic Jusruction Code" (BASIC) -  Многоцелевой  Символический  Обучающий  Код для Начинающих".

 Вскоре как обучаемые,  так и авторы программ обнаружили, что Бейсик может делать практически все то,  что делает скучный неуклюжий  ФОРТРАН.  А так как Бейсику было легко обучиться и легко с ним работать,  программы на нем писались обычно быстрее,  чем  на Фортране.  Бейсик был также доступен на персональных компьютерах, обычно он встроен в ПЗУ. Так Бейсик завоевал популярность.  

Интересно, что спустя 20 лет после изобретения Бейсика, он и сегодня  самый  простой для освоения из десятков языков общецелевого программирования,  имеющихся в распоряжении любителей  программирования.  Более  того,  он  прекрасно справляется с работой.  Несмотря на высказывания снобов - сторонников языков Си и  Паскаля, Бейсик  считается деловым языком,  снабженным мощными средствами решения специфических  задач,  которые  обычно  большинство пользователей решают при помощи небольших компьютеров,  а именно: работая с файлами и выводя текстовое и графическое изображение на экране дисплея.

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

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

Можно писать программы непосредственно  на  машинном  языке, хотя это и сложно. На заре компьютеризации (вначале 1950-х г.г.), машинный  язык  был единственным языком,  большего человек к тому времени не  придумал.  Для  спасения  программистов  от  сурового машинного  языка  программирования,  были  созданы языки высокого уровня (т.е.  немашинные языки),  которые стали своеобразным связующим мостом между человеком и машинным языком компьютера [4].

В последней трети XX в. исключительно важное значение в разных областях математики приобрели вопросы, связанные с сохранением и передачей информации. Возникающие при этом задачи решает КРИПТОГРАФИЯ – наука о методах преобразования информации в целях ее защиты от незаконных пользователей. Большой вклад в развитие современных методов криптографии принадлежат теории чисел. Возникновение криптографии теряется в глубине тысячелетий. Ее необходимость возникла в связи с конкуренцией человеческих сообществ [5].

В данном курсовом проекте будет разработано приложение, позволяющее зашифровать символьную последовательность и вернуть ее в обратное положение.     

           2.  ПОСТАНОВКА ЗАДАЧИ

2.1. Содержательная постановка задачи

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

1) Каждая буква от «а» до «ю» заменяется на следующую по алфавиту, каждая «я» заменяется буквой «а».

2) Первая буква алфавита заменяется на одиннадцатую, вторая – на двенадцатую, …, последняя – на десятую.  

 

2.2. Математическая постановка задачи

Исходные данные: Pr – введенная символьная последовательность

Результаты: Pr – 1 способа шифровки;

                     Pr – 1 способа дешифровки;

                     Pr – 2 способа шифровки;

                     Pr – 2 способа дешифровки

Метод решения задачи.

Решение данной задачи происходит следующим образом:

Сначала пользователь,  нажав на кнопку «Ввод» должен ввести символьную последовательность, на которой будет происходить шифровка и дешифровка введенных данных (символьные данные заносятся в переменную Pr).  После выбора подпункта «Шифровка» с помощью цикла и функции MID перебираем все символы, символьной последовательности. Выделяем  из каждого символа ASCII код, каждый символ имеет свой уникальный код (этот код заносится в переменную s), и выбираем 1 способ шифровки. 1 способ прибавляет к коду символа, единицу, и возвращает преобразованное  символьное значение, затем происходит накапливание этих символов (в переменную X). А 1 способ «Дешифровки» выполняет то же самое, только от ASCII кода отнимает единицу. И эти действия выполняются только в  приделе алфавита.

2 способ «Шифровки» позволяет к каждому коду символьной последовательности прибавлять определенное число, к  букве «А» +11, «Б» +12 и т.д., эти действия происходят до тех пор, пока сумма порядкового номера буквы алфавита  и прибавляемому числу не станет равна 32, т.е. до буквы «Х», и накапливание происходит в переменную Х. Как только станет, к следующей по алфавиту букве «Ц» прибавляем 1, к следующей «Ч» +2, а последней букве «Я» +10. Те же самые действия происходят и в способе 2 «Дешифровки», только знак «+» заменяется на «-», «-» на «+», все эти действия происходят в пределе алфавита, и накапливание происходит в переменную X.     

                2.3. Описание переменных используемых в проекте

 

Переменные, используемые в проекте, описаны в таблицы 2.1.

                                        Таблица 2.1. Описание переменных

                                            в  проекте

ИМЯ

ТИП

    НАЗНАЧЕНИЕ

              КУДА ВХОДИТ

   Pr

String

Введенная символьная        последовательность

cmdVvod_Click()

Sub  Ras()

                   Sub D()

   x

String

Накопитель измененной символьной последовательности   

Sub  Ras()

                   Sub D()

mnuMet1Item_Click()

mnuMet2Item_Click()

mnuSp1Item_Click()

mnuSp2Item_Click()

   k

Integer

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

Sub  Ras()

                   Sub D()

   kb

String

Выделяет очередной символ, из введенной символьной последовательности

Sub  Ras()

                   Sub D()

   n

Integer

Переменная цикла

Sub  Ras()

                   Sub D()

                                                               Таблица 2.1. Описание переменных

                                                                                         в  проекте (окончание)

ИМЯ

ТИП

    НАЗНАЧЕНИЕ

              КУДА ВХОДИТ

   s

Integer

Выделяет из символа ASC код

Sub  Ras()

                   Sub D()

   y

Integer

Выполняет проверку введенных данных

cmdVvod_Click ()

   otv

  Byte

Для выхода из программы

mnuExitItem_Click ()

2.4. Разработка данных контрольного примера

2.4.1. Тестовые наборы исходных данных

Для тестирования разработанного приложения, должны заранее разработаны тестовые наборы исходных данных, для проверки правильности функционирования каждой ветви программы. Данный набор представлен в таблице 2.2.

                                                      Таблица 2.2. Тестовые наборы исходных

                                        данных

ПЕРЕМЕННАЯ

                 ЗНАЧЕНИЕ

  1

Шифровка

1 сп.

Pr

АНДРЕЙ

 2 

2 сп.

Pr

СКОРОБОГАТОВ

 3

Дешифровка

1 сп.

Pr

БОЕСЁК

 4

2 сп.

Pr

ОАИМИНИСЛРИП

2.4.2. Результаты, полученные по данным контрольного примера

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

                                              Таблица 2.3. Результаты, получены по

                                                       тестовым наборам.  

ПЕРЕМЕННАЯ

                 ЗНАЧЕНИЕ

1

Шифровка

1 сп.

Pr

БОЕСЁК

2

2 сп.

Pr

ОАИМИНИСЛРИП

3

Дешифровка

1 сп.

Pr

                            АНДРЕЙ

4

2 сп.

Pr

СКОРОБОГАТОВ

2.4.3. Аварийные тестовые наборы

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

                                                Таблица 2.4. Аварийные тестовые    

                                         наборы

ТЕСТОВЫЙ

   НАБОР

ГДЕ  ПРИМЕНЯЕТСЯ

РЕАКЦИЯ ПРОГРАММЫ

 1

Pr = ""

cmdVvod_Click()

Вывод сообщения: " Вы ничего не ввели "

 2

Pr = "_"

        cmdVvod_Click()

Вывод сообщения: " Вы ввели пробел "

 3

Pr = 5

cmdVvod_Click()

Вывод сообщения: " Вы ввели цифру "

                                    

   

                    2.5. Обоснование выбора комплекса программных

                                               и  технических средств

Данный курсовой проект будет разработан на компьютере со следующими характеристиками:

  1.  Тип/слеш/CPU – производитель – AMD Ahtlon(tm) X2 DualCore                  Qr – 60 1.90 GHz
  2.  Оперативная память – 2.00 ГБ

3)    Видеокарта – ATI Radeon 3100 Graphics 

            4)    Свободное дисковое пространство – 130.00 ГБ

и лицензионным программным обеспечением:

1)   Операционная система – Windows Vista Home Premium 

2)   Среда программирование – Microsoft Visual Basic 6.0.   

Параметры данного компьютера позволят нормально функционировать разрабатываемому приложению.

Для реализации поставленной задачи будет использоваться среда программирования Microsoft Visual Basic 6.0, так как она дает возможность широко использовать идеи структурного программирования, располагает большим числом операторов, позволяющих реализовывать блочную структуру программ [4].

3. РАЗРАБОТКА ИНТЕРФЕЙСА ПРИЛАЖЕНИЙ

3.1. Разработка системы меню

Основным элементом приложения является система иерархического меню, созданного с помощью редактора Menu Editor [2]. Схема меню изображена на рисунке 3.1, описание структуры меню – в таблице 3.1.

Рис. 3.1. Структура меню приложения  

                                                        Таблица 3.1. Структура меню приложения

НАЗВАНИЕ ПУНКТА МЕНЮ

ИМЯ

ПУНКТА  МЕНЮ

СЕМАНТИКА

Файл

mnuFilt

Подсистема, обеспечивающая вывод рисунка

Открыть

mnuOpenitem

Функция, обеспечивающая вывод рисунка на форму

Закрыть

mnuCloseItem

Функция, обеспечивающая закрытия рисунка на форме

Шифровка

mnuSchif

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

      Таблица 3.1. Структура меню приложения

                                                                                                         (окончание)

НАЗВАНИЕ ПУНКТА МЕНЮ

ИМЯ

ПУНКТА  МЕНЮ

СЕМАНТИКА

1 способ

mnuMet1Item

Функция, обеспечивающая шифровку символьной последовательности на шаг вперед

2 способ

mnuMet2Item

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

Дешифровка

mnuDeschif

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

1 способ

mnuSp1Item

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

2 способ

mnuSp2Item

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

Настройки

mnuNast

Подсистема, обеспечивающая настройки  

Дата

mnuDateItem

Функция, обеспечивающая настройки даты

Время

mnuTimeItem

Функция, обеспечивающая настройки время

Фон

mnuFonItem

Функция, обеспечивающая настройки фона

Фон формы

mnuFormColorItem

Функция, обеспечивающая замену фон формы

Фон командной кнопки

mnuCommandColorItem

Функция, обеспечивающая замену цвета командной кнопки

Фон текстового поля

mnuTextColorItem

Функция, обеспечивающая изменения текстового поля

Цвет символов

mnuSimvColorItem

Функция, обеспечивающая изменения цвета символов в текстовом поле

Цвет поля

mnuPolColorItem

Функция, обеспечивающая изменения цвети символьного поля

Фон метки

mnuLabelColorItem

Функция, обеспечивающая изменения метки

Цвет символов

mnuLabSimvColorItem

Функция, обеспечивающая изменения цвета символов в метки

Цвет метки

mnuMetkColorItem

Функция, обеспечивающая изменения цвета метки

Справка

mnuSpr

Подсистема, обеспечивающая узнаванию о приложении  

О программе

mnuProgItem

Функция, обеспечивающая сведениями о программе

О разработчике

mnuRazItem

Функция, обеспечивающая сведениями о разработчике

Выход

mnuExitItem

Подсистема, обеспечивающая выход из приложения

3.2. Разработка макета форм

В проекте разработаны 3 формы, схема вложенности которых представлена на рисунке (3.2)

   

                          

Рис. 3.2. Схема вложенности проекта

3.2.1. Разработка макета формы frmGlavn

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

Вид данной формы в режиме конструктора представлен на рисунке 3.3, а режиме просмотра – в приложении 1. Описание элементов управления формы, представлено в таблице 3.2.

               

Рис. 3.3. Макет формы frmGlavn в режиме конструктора

                                                            Таблица 3.2. Описание элементов

управления формы frmGlavn     

 ТИП         

   ЭЛЕМЕНТОВ  

  УПРАВЛЕНИЯ

     ИМЯ

   СВОЙСТВО

ЗНАЧЕНИЕ

Form1

  frmGlavn

Caption

КУРСОВОЙ ПРОЕКТ         Скоробогатова Андрея

Back Color

Inactive Title Bar Text

StartUpPasition

        2 – Center Screen

Label

lblv

         Caption

   ИСХОДНОЕ ПРЕДЛОЖЕНИЕ

Alignment

            2 – Center

Back Style

          0 – Transparent   

Font

    Times New Roman  (курсив,18)

Fore Color

           &H000000FF&

lblx

Alignment

            2 – Center

Font

 Times New Roman  (обычный,18)

Back Color

   Inactive Title Bar Text

           Visible

                 False

lblc

Alignment

            2 – Center

Font

 Times New Roman  (обычный,18)

Back Color

   Inactive Title Bar Text

           Visible

                 False

Command

  

   cmdVvod

Font

 Times New Roman  (обычный,14)

Back Color

            Active Border

         Caption

                ВВОД

Timer

     Timer1    

Interval

1

Enabled

True

Common Dialog

CommonDialog1

              -

-

                                                        Таблица 3.2. Описание элементов

                                                       управления формы frmGlavn (окончание)    

 ТИП         

   ЭЛЕМЕНТОВ  

  УПРАВЛЕНИЯ

     ИМЯ

   СВОЙСТВО

       ЗНАЧЕНИЕ

          

         Text

       

          txtv

Font

 Times New Roman  (курсив,14)

          Enabled

False

             Text

(без названия)

Image

Image1

Stretch

True

3.2.2. Разработка макета формы frmOprogr

Форма frmOProgr загружается при выборе пунктов меню Справка \О программе и предназначена для вывода информации о данной программе.

Вид данной формы в режиме конструктора представлен на рисунке 3.3, а в режиме просмотра – в приложение 2. Описание элементов управления формы, представлено в таблицы 3.3.

Рис. 3.3. Макет формы frmOprogr в режиме конструктора

                                                           Таблица 3.3. Описание элементов

управления формы frmOprogr     

ТИП                     ЭЛЕМЕНТОВ

УПРАВЛЕНИЯ

    ИМЯ

 СВОЙСТВО

          ЗНАЧЕНИЕ

Form

  frmOProgr

    Back Style

              0 – None

     Visible

                 False

Text

txt1

       Font

          Times New Roman  (курсив,16)

 Back Color

             &H00FF8080&

  ScrollBars

                2 – Vertical

       Text

 *

   Command

    cmdNaz

Font

          Times New Roman  (курсив,14)

Back Color

            Active Border

     Caption

                НАЗАД

Label

        lbl1

   Caption

**

  Alignment

2 – Center

  Back Style

0 – Transparent

       Font

      Times New Roman  (курсив,20)

       lbl2

     Caption

   ***

  Alignment

                          2 – Center 

   Back Style

                       0 – Transparent   

        Font

            Times New Roman  (курсив,20)

Image

Image1

    Stretch

                             True

    Picture

               C:\GR22\Рисунки\40.jpg

   

* - Данная программа состоит из главного меню и из 6 подпунктов.

  Для того чтобы начать работать с этой программой, нужно на форме нажать кнопку ”ВВОД”, в которую надо по-русски набрать любую символьную последовательность и нажать кнопку  ”OK”,  а затем выбрать пункт меню.

   1 пункт ”Файл” состоит из 2-х функций: ”Открыть”  и  ”Закрыть”. Функция  ”Открыть” позволяет загрузить на форму рисунок, а функция  ”Закрыть”  позволяет закрыть этот рисунок.

   2 пункт  ”Шифровка”  осуществляется   2-я способами:

 1 способ – позволяет зашифровать введенную символьную последовательность на шаг вперед, а 2 способ – позволяет первую букву алфавита увеличить на 10 шагов, 2-ю на 12, …, а последнюю букву алфавита на 10 шагов.

   3 пункт  ”Дешифровка”  позволяет вернуть ту символьную последовательность, которую 2-м пункте зашифровали. Для этого нужно выбрать тот способ, который вы выбрали 2-м пункте меню.  

   4 пункт ”Настройки” позволяет вывести на форму дату и время, а также можно выбрать функцию ”фон”, в которой можно изменить цвет формы, кнопки, текстового поля и метки, куда выводится дата и время.

    5 пункт ”Справка” позволяет узнать о данной программе и ее разработчике.

    6 пункт ”Выход” позволяет выйти из этой программы.

** - Данная  программа представляет собой шифровку и дешифровку введенной символьной последовательности.

*** - Чтобы правильно использовать эту программу, прочтите внимательно эту инструкцию:

3.2.3. Разработка макета формы frmTitul

Форма frmOprogr загружается при выборе пунктов меню Справка \ О разработчике и предназначена для вывода информации о разработчике.  

Вид данной формы в режиме конструктора представлен на рисунке 3.4, а в режиме просмотра – в приложение 3. Описание элементов управления формы, представлено в таблице 3.4.

Рис. 3.3. Макет формы frmTitul в режиме конструктора

                                                            Таблица 3.3. Описание элементов

управления формы frmTitul     

ТИП         ЭЛЕМЕНТОВ

УПРАВЛЕНИЯ

    ИМЯ

 СВОЙСТВО

          ЗНАЧЕНИЕ

Label

lbl1

         Caption

   ФГОУ СПО МЭКИ Росздрава

Alignment

            2 – Center

Back Style

          0 – Transparent   

Font

 Times New Roman  (жирный курсив,18)

lbl2

     Caption

Отделение программирования и вычислительной техники

Alignment

            2 – Center

Back Style

          0 – Transparent   

Font

Times New Roman  (жирный курсив,18)

lbl3

     Caption

                КУРСОВОЙ ПРОЕКТ

    Alignment

2 – Center

    Back Style

0 – Transparent

    Fore Color

&H000000FF&

       Font

      Times New Roman  (курсив,22)

                                                            Таблица 3.3. Описание элементов

управления формы frmTitul     

(окончание)

ТИП         ЭЛЕМЕНТОВ

УПРАВЛЕНИЯ

    ИМЯ

 СВОЙСТВО

          ЗНАЧЕНИЕ

 

       Label

lbl4

    Caption

по предмету: ”Основы алгоритмизации и       

                    программирования”

Alignment

2 – Center

Back Style

0 – Transparent

Font

Times New Roman  (жирный,18)

lbl5

Caption

На тему: КРИПТОГРАФИЯ

Alignment

2 – Center

Back Style

0 – Transparent

Font

Times New Roman  (жирный,18)

lbl6

Caption

Разработчик: студент гр. 22-п Скоробогатов Андрей

Alignment

2 – Center

Back Style

0 – Transparent

Font

Times New Roman  (жирный курсив,18)

lbl7

Caption

г. Михайлов, 2009

Alignment

2 – Center

Back Style

0 – Transparent

Font

Times New Roman  (жирный курсив,20)

lbl8

         Caption

Средства разработки:

Alignment

    2 – Center

Back Style

    0 – Transparent   

Font

 Times New Roman  (жирный,18)

lbl9

Caption

 *

Back Style

0 – Transparent

Font

Times New Roman  (жирный курсив,18)

Command

cmdNaz

Font

Times New Roman  (курсив,14)

Back Color

Inactive Tile Bar

Caption

НАЗАД

Form

frmTitul

Back Color

Inactive Tile Bar

        *  - Microsoft Visual Basic 6.0  

    - Microsoft Office Word 2003  

    - Microsoft Office Visio 2007

    - Paint

IV. РАЗРАБОТКА ПРОЕКТА ПРИЛОЖЕНИЯ

4.1. Процедуры стандартного модуля

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

 

   Таблица 4.1. Описание глобальных перемен

  ИМЯ

    ТИП

                        НАЗНАЧЕНИЕ

x

String

Накопитель измененной символьной последовательности и вывод этого значения на экран  

k

Integer

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

kb

String

Выделяет очередной символ, из введенной символьной последовательности

n

Integer

Переменная цикла

                                                                    

Объявление глобальных переменных представлено в приложении 4.

                                                                    Таблица 4.2. Процедура общего

назначения стандартного модуля

ИМЯ

НАЗНАЧЕНИЕ

ФОРМАЛЬНЫЕ                                                             

 ПАРАМЕТРЫ

Ras

Имя функции

k - заданные значение  используемые при вызове  пользовательской функции

D

4.1.1. Описание процедура стандартного модуля Ras ()

Процедура Ras() предназначена для  расчета выбранного значения.

Формальные параметры вызываются из процедуры   mnuMet1Item_Click(Index As  Integer),  mnuSp1Item_Click(Index As Integer).

       Схема алгоритма процедуры представлена на рисунке 4.1, код – в приложении 5.

Рис. 4.1. Схема алгоритма Ras() 

В блоках 1 – 6 производится вызов исходных данных, выделения из них очередного символа и выделения из этого символа ASCII кода. В блоках 7 – 20 производится замена одних букв на другие. Для реализации основных элементов данной схеме были использованы методы и операторы Visual Basic 6.0: для цикла оператор ForToNext, условие реализовано с помощью блочного оператора If и Select Case.

4.1.2. Описание процедура стандартного модуля D ()

Процедура D() предназначена для  расчета выбранного значения.

Формальные параметры вызываются из процедуры   mnuMet2Item_Click(Index As  Integer),  mnuSp2Item_Click().

       Схема алгоритма процедуры представлена на рисунке 4.2, код – в приложении 6.

Рис. 4.2. Схема алгоритма процедуры D()

Рис. 4.2. Схема алгоритма процедуры D() (продолжение)

Рис. 4.2. Схема алгоритма процедуры D() (продолжение)

Рис. 4.2. Схема алгоритма процедуры D() (продолжение)

Рис. 4.2. Схема алгоритма процедуры D() (продолжение)

Рис. 4.2. Схема алгоритма процедуры D() (продолжение)

Рис. 4.2. Схема алгоритма процедуры D() (окончание)

В блоках 1 – 6 производится вызов исходных данных, выделения из них очередного символа и выделения из этого символа ASCII кода. В блоках 7 – 139 производится замена одних букв на другие. Для реализации основных элементов данной схеме были использованы методы и операторы Visual Basic 6.0: для цикла оператор ForToNext, условие реализовано с помощью блочного оператора If и Select Case.

4.2. Описание процедур проекта

4.2.1. Процедура формы frmGlavn

Код формы frmGlavn, включает в себя процедуры, описание которых представлены в таблицы 4.3.

                                  

                                                Таблица 4.3. Описание процедур

                                                                                  формы frmGlavn

             ИМЯ

   СОБЫТИЕ

                  НАЗНАЧЕНИЕ

cmdVvod

 Click ()

Процедура ввода исходных данных

lblc

 Click ()

Процедура скрытия время

        lblx

 Click ()

Процедура скрытия даты

mnuCloseItem

          Click ()

Процедура скрытия открытого файла

mnuCommandColorItem

Click ()

Процедура выбора цвета командной кнопки

mnuDateItem

Click ()

Процедура вывода даты

mnuExitItem

Click ()

Процедура выхода из проекта

mnuFormColorItem

Click ()

Процедура выбора фона формы

mnuLabSimvColorItem

Click ()

Процедура выбора цвета символов метки

mnuMet1Item

Click (Index As         

                  Integer)

Процедура выбора и вывода 1 способа “Шифровки”

mnuMet2Item

Click (Index As

                  Integer)

Процедура выбора и вывода 2 способа “Шифровки”

mnuMetkColorItem

 Click ()

Процедура  выбора фона метки

mnuOpenitem

Click ()

Процедура открытия файла

mnuPolColorItem

Click ()

Процедура выбора фона текстового поля

mnuProgItem

Click ()

Процедура выбора пункта меню – Справка  \ О программе ...  

mnuRazItem

Click ()

Процедура выбора пункта меню – Справка \ О разработчике …

mnuSimvColorItem

Click ()

Процедура выбора цвета символов текстового поля

mnuSp1Item

 Click (Index As

                  Integer)

Процедура выбора и вывода 1 способа  “Дешифровки”

mnuSp2Item

Click ()

Процедура выбора и вывода 2 способа “Дешифровки”

mnuTimeItem

Click ()

Процедура вывода время

Timer1

Timer ()

Процедура включения таймера

4.2.1.1. Описание процедуры cmdVvod_Click()

Выполняет процедуру ввода и проверки правильности ввода, и замена буквы “Ё” на букву “Е”.

Схема алгоритма процедуры cmdVvod_Click() представлена на рисунке 4.3,  код – в приложении 7.

Рис 4.3 Схема алгоритма процедуры cmdVvod

В блоках 1 – 14 производится ввод символьная последовательность и  проверка ввода. Для реализации основных элементов данной схеме были использованы следующие методы и операторы Visual Basic 6.0: для цикла оператор Do Loop While, условие реализовано с помощью блочного оператора If .  

4.2.1.2. Описание процедуры lbl c_Click()

Выполняет процедуру скрытия метки со временем.

Схема алгоритма процедуры lbl c_Click() представлена на рисунке 4.4,  код – в приложении 8.

                                                                     

Рис.4.4. Схема алгоритма процедуры lbl c_Click 

В этой процедуре происходит то, что когда кликнешь по метке, она исчезает вместе со временем.

4.2.1.3. Описание процедуры lbl x_Click()

Выполняет процедуру скрытия метки с датой.

Схема алгоритма процедуры lbl x_Click() представлена на рисунке 4.5,  код – в приложении 9.

                                                                                  

Рис.4.5. Схема алгоритма процедуры lbl c_Click 

В этой процедуре происходит то, что когда кликнешь по метке, она исчезает вместе с датой.

4.2.1.4. Описание процедуры mnuCloseItem_Click()

Выполняется процедура закрытия на форме рисунка.

Схема алгоритма процедуры mnuCloseItem_Click() представлена на рисунке 4.6,  код – в приложении 10.

                                                                       

Рис.4.6. Схема алгоритма процедуры mnuCloseItem_Click()

4.2.1.5. Описание процедуры mnuCommandColorItem_Click()

Выполняется процедура выбора цвета командной кнопки.

Схема алгоритма процедуры mnuCommandColorItem_Click() представлена на рисунке 4.7,  код – в приложении 11.

                                                                   

Рис.4.7. Схема алгоритма процедуры mnuCommand Color Item_Click()

4.2.1.6. Описание процедуры mnuDateItem_Click()

Выполняется процедура вывода даты на метку.

Схема алгоритма процедуры mnuDateItem_Click() представлена на рисунке 4.8,  код – в приложении 12.

                                                           

Рис.4.8. Схема алгоритма процедуры mnuDateItem_Click() 

4.2.1.7. Описание процедуры mnuExitItem_Click()

Выполняется процедура выхода из программы.

Схема алгоритма процедуры mnuExitItem_Click() представлена на рисунке 4.9,  код – в приложении 13.

                                            

Рис.4.9. Схема алгоритма процедуры mnuExitItem_Click()

4.2.1.8. Описание процедуры mnuFormColorItem_Click()

Выполняется процедура выбора фона формы.

Схема алгоритма процедуры mnuFormColorItem_Click() представлена на рисунке 4.10,  код – в приложении 14.

                                                           

Рис.4.10. Схема алгоритма процедуры mnuFormColorItem_Click()

4.2.1.9. Описание процедуры mnuLabSimvColorItem_Click()

Выполняется процедура выбора цвета символов в метки.

Схема алгоритма процедуры mnuLabSimvColorItem_Click() представлена на рисунке 4.11,  код – в приложении 15.

Рис.4.11. Схема алгоритма процедуры mnuLabSimvColorItem_Click()

4.2.1.10. Описание процедуры mnuMet1Item_Click ()

Выполняется процедура вызова функции Ras() из стандартного модуля.

Схема алгоритма процедуры mnuMet1Item_Click() представлена на рисунке 4.12,  код – в приложении 16.

Рис.4.12. Схема алгоритма процедуры mnuMet1Item_Click()

4.2.1.11. Описание процедуры mnuMet2Item_Click ()

Выполняется процедура вызова функции Ras() из стандартного модуля.

Схема алгоритма процедуры mnuMet2Item_Click() представлена на рисунке 4.13,  код – в приложении 17.

Рис.4.13. Схема алгоритма процедуры mnuMet2Item_Click()

4.2.1.12. Описание процедуры mnuMetkColorItem_Click()

 

Выполняется процедура выбора фона меток.

Схема алгоритма процедуры mnuMetkColorItem_Click() аналогична схеме 4.11 отличие состоит лишь в том, что меняется фон меток,  код – в приложении 18.

4.2.1.13. Описание процедуры mnuOpenitem_Click()

 

Выполняется процедура загрузка на форму рисунок.

Схема алгоритма процедуры mnuOpenitem_Click() представлена на рисунке 4.15,  код – в приложении 19.

                                                              

Рис.4.15. Схема алгоритма процедуры mnuOpenitem_Click()

4.2.1.14. Описание процедуры mnuPolColorItem_Click()

 

Выполняется процедура выбора фона текстового поля.

Схема алгоритма процедуры mnuPolColorItem_Click() представлена на рисунке 4.16,  код – в приложении 20.

                                                       

Рис.4.16. Схема алгоритма процедуры mnuPolColorItem_Click()

4.2.1.15. Описание процедуры mnuProgItem_Click()

 

Выполняется процедура скрытия главной формы и появление формы       ”О программе …”.

Схема алгоритма процедуры mnuProgItem_Click() представлена на рисунке 4.17,  код – в приложении 21.

                                                             

Рис.4.17. Схема алгоритма процедуры mnuProgItem_Click()

4.2.1.16. Описание процедуры mnuRazItem_Click()

 

Выполняется процедура скрытия главной формы и появление формы       ”О разработчике …”.

Схема алгоритма процедуры mnuRazItem_Click() аналогична схеме 4.17 отличается лишь тем, что появляется форма ”О разработчике”,  код – в приложении 22.

4.2.1.17. Описание процедуры mnuSimvColorItem_Click()

 

Выполняется процедура выбора цвет символов текстового поля.

Схема алгоритма процедуры mnuSimvColorItem_Click() аналогична схеме 4.16 отличается лишь тем, что меняется цвет символов текстового поля, код – в приложении 23.

4.2.1.18. Описание процедуры mnuSp1Item_Click ()

Выполняется процедура вызова функции Ras() из стандартного модуля.

Схема алгоритма процедуры mnuSp1Item_Click() представлена на рисунке 4.20,  код – в приложении 24.

                                                                     

Рис.4.20. Схема алгоритма процедуры mnuSp1Item_Click()

4.2.1.19. Описание процедуры mnuSp2Item_Click ()

Выполняется процедура вызова функции Ras() из стандартного модуля.

Схема алгоритма процедуры mnuSp2Item_Click() представлена на рисунке 4.21,  код – в приложении 25.

                                                                     

Рис.4.21. Схема алгоритма процедуры mnuSp2Item_Click()

4.2.1.20. Описание процедуры mnuTimeItem_Click()

 

Выполняется процедура включения датчика времени.

Схема алгоритма процедуры mnuTimeItem_Click() представлена на рисунке 4.22,  код – в приложении 26.

Рис.4.22. Схема алгоритма процедуры mnuTimeItem_Click()

4.2.1.21. Описание процедуры Timer1_Timer()

Выполняется процедура вывода даты на метку.

Схема алгоритма процедуры Timer1_Timer() представлена на рисунке 4.23,  код – в приложении 27.

                                                           

Рис.4.23. Схема алгоритма процедуры Timer1_Timer()

4.2.2. Процедура формы frmOprogr

Код формы frmOprogr, включает в себя процедуры, описание которых представлены в таблицы 4.4.

                                              Таблица 4.4. Описание процедур

                                                                                  формы frmOprogr 

             ИМЯ

   СОБЫТИЕ

                  НАЗНАЧЕНИЕ

cmdNaz

 Click ()

Процедура нажатия командной кнопки 

4.2.2.1. Описание процедуры cmdNaz_Click()

Выполняется процедура нажатия командной кнопки.

Схема алгоритма процедуры cmdNaz_Click() представлена на рисунке 4.24,  код – в приложении 28.

                                                           

Рис.4.24. Схема алгоритма процедуры cmdNaz_Click()

4.2.3. Процедура формы frmTitul

Код формы frmTitul, включает в себя процедуры, описание которых представлены в таблицы 4.5.

                                              Таблица 4.5. Описание процедур

                                                                                  формы frmTitul 

             ИМЯ

   СОБЫТИЕ

                  НАЗНАЧЕНИЕ

cmdNaz

 Click ()

Процедура нажатия командной кнопки 

4.2.3.1. Описание процедуры cmdNaz_Click()

Выполняется процедура нажатия командной кнопки.

Схема алгоритма процедуры cmdNaz_Click() представлена на рисунке 4.25,  код – в приложении 29.

                                                           

Рис.4.25. Схема алгоритма процедуры cmdNaz_Click()

5. РАСЧЕТ ОБЪЩЕГО ОБЪЕМА ПАМЯТИ

5.1. Расчет объем оперативной памяти

5.1.1. Расчет объема памяти под  глобальные переменные

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

 Расчет необходимого объема оперативной памяти, отведенной  под глобальные переменные, представлен  в таблице 5.1.

                                                 Таблица 5.1. Расчет объема памяти

                                                                                под глобальные переменные

  ИМЯ

   ТИП

  КОЛИЧЕСТВО БАЙТ

x

String

12*1 = 12 байта

                     ИТОГО

   12  байта

После расчета получили, что под глобальные переменные требуется 12 байт оперативной памяти. 

5.1.2. Расчет объема памяти под локальные переменные

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

Расчет необходимого объема оперативной памяти, отведенной под локальные переменные, представлен в таблице 5.2.

                                               Таблица 5.2. Расчет объема оперативной памяти под локальные переменные

ПРОЦЕДУРА

     ИМЯ

     ТИП

       КОЛЛИЧЕСТВО БАЙТ

Sub Ras()

k

       

Integer

          2 байта

 

Sub D()

mnuExitItem_Click()

        otv

      Byte

  1 байт

cmdVvod_Click()

y

Integer

           2 байта

Sub Ras()

n

Integer

           2 байта

Sub D()

Sub Ras()

s

Integer

            2 байта

Sub D()

Sub Ras()

kb

String

            1 байт

Sub D()

                                        ИТОГО

           10 байт

 

После расчета получили, что под локальные переменные требуется 10 байт оперативной памяти.

5.2. Расчет объема дисковой памяти

Дисковая память отводится под:

- exe  – модуля проекта;

- файла проекта;

- стандартного модуля;

- форм;

- рисунков.

Расчет объема дисковой памяти, приведен в таблице 5.3.

                                                          Таблица 5.3. Расчет объема дисковой

                                                                                   памяти

         ФАЙЛ

                             ОБЪЕМ

KP_6.exe

2,29 Мб

frmGlavn.frm

11 Кб

frmOprogr.frm

4 Кб

frmTitul.frm

8 Кб

KP_6.vbp

1 Кб

KP_6.bas

5 Кб

40.bmp

2,25 Мб

ИТОГО

4677,96 Кб

По результату расчета получили, что для разработки приложения требуется 4677,96 Кб дисковой памяти.

6. ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ

Для проверки правильности функции приложения, проведем его тестирование с использованием корректного и аварийного набора, из контрольного примера (пункт 2.4.1 и пункт 2.4.3) и сравним результат полученный программой, с результатами, рассчитанные в ручную, в пункте 2.4.2.

При вводе в тестовые наборы, корректных данных, программой получены результаты, представленных в приложениях 30.

Реакция программы на ввод аварийных тестовых наборов, приведены в приложениях 31 – 33 .

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

 

7. ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ПРИЛАЖЕНИЯ

7.1. Спецификация элементов приложения

Разработанное приложение размещено на диске  С: в папке GR22

и предназначен, для шифровки и дешифровки символьной последовательности.

Спецификация разработанного объекта, представлена в таблице 7.1.

                                                          Таблица 7.1. Спецификация элементов

                                                  приложения   

       ФАЙЛ

                          НАЗНАЧЕНИЕ

KP_6.exe

Использует exe – модуль приложения

frmGlavn.frm

Форма проекта

frmOprogr.frm

Форма проекта

frmTitul.frm

        Форма проекта

KP_6.vbp

         Проект

KP_6.bas

         Стандартный модуль

40.bmp

         Рисунок на форме

7.2. Требование к оборудованию и программному обеспечению

Для нормального функционирования приложения, требуется наличие следующий комплекс аппаратных средств [1]:

- процессор: РII, 500 МГц;

- операционная система: 128Мб;

- видеокарта 128 Мб;

- свободного дискового пространства: 40Мб;

- монитор: 15 ”;

- программное обеспечение Microsoft XP не ниже 2000.

7.3. Инструкция по работе с приложением

7.3.1. Запуск приложения

Для запуска приложения необходимо выполнить следующие действия:

- включить компьютер;

- после загрузить операционную систему;

- на рабочем столе открыть ярлык программы: КР_6.

7.3.2. Работа с приложением

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

Для того чтобы начать работать с этой программой, нужно на форме нажать кнопку ”ВВОД”, в которую надо по-русски набрать любую символьную последовательность и нажать кнопку  ”OK”,  а затем выбрать пункт меню.

   1 пункт ”Файл” состоит из 2-х функций: ”Открыть”  и  ”Закрыть”. Функция  ”Открыть” позволяет загрузить на форму рисунок, а функция  ”Закрыть”  позволяет закрыть этот рисунок.

   2 пункт  ”Шифровка”  осуществляется   2-я способами:

 1 способ – позволяет зашифровать введенную символьную последовательность на шаг вперед, а 2 способ – позволяет первую букву алфавита увеличить на 10 шагов, 2-ю на 12, …, а последнюю букву алфавита на 10 шагов.

   3 пункт  ”Дешифровка”  позволяет вернуть ту символьную последовательность, которую 2-м пункте зашифровали. Для этого нужно выбрать тот способ, который вы выбрали 2-м пункте меню.  

   4 пункт ”Настройки” позволяет вывести на форму дату и время, а также можно выбрать функцию ”фон”, в которой можно изменить цвет формы, кнопки, текстового поля и метки, куда выводится дата и время.

    5 пункт ”Справка” позволяет узнать о данной программе и ее разработчике.

    6 пункт ”Выход” позволяет выйти из этой программы.

 

7.4. Сообщения пользователя

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

Таблица 7.1. Критические сообщения

Текст сообщения

        № приложения

   Где появляется

  Действия пользователя

    Вы ввели цифру

      31

    На форме, при вводе не корректных данных.

Нажать «ок», ввести число

 Вы ничего не ввели

      32

Нажать «ок», ввести число

   Вы ввели пробел

      33

Нажать «ок», ввести число

8. ЗАКЛЮЧЕНИЕ

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

Приложение разработано средствами среды программирования  Microsoft  Visual Basic 6.0, при работе над проектом так же были использованы следующие пакеты программ:

- Microsoft Office Word 2003;

- Microsoft Office Visio 2007;

- Paint.

Для успешной работы программы, требуется  24 байт оперативной памяти, 4677,96 Кб свободной дисковой памяти.

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

Разработанное приложение имеет ряд достоинств:

- простата использования;

- наглядность;

- удобный интерфейс, основными элементами которого являются простая схема меню и диалоговое окно;

- независимость от среды программирования, так как данная программа является исполняемым exe – модулем.

Недостатками разработанного приложения является:

- не выдает сообщение при слиянии цветов   

-  пользователь может ввести латинские буквы и программа может не вывести данные после определенных действий.

9. БИБЛИОГРАФИЧЕСКИЙ СПИСОК

   1) ГОСТ 19.105-78 Описание руководства пользователя

     2) ГОСТ 19.701-90 (ИСО 5807-85) Схема алгоритмов, программ, данных и систем

     3) ЕСКД (ГОСТ 2.104-68, 2.105-79, 2.106-68, 2.108-68) Оформление текстовых документов

     4) Программирование на языке Бейсик для персональных ЭВМ/ З.П. Вострикова, О.Ю. Вострикова, С.С. Туева. – М.: Машиностроение,                 1993. – 352 с.: ил.

      5) Элементы криптографии (Основы теории защиты информации):                  Учеб. пособие для ун-тов и пед. Вузов / Под ред. В.А. Садовничего – М.:    Высш. шк., 1999. – 109 с.

10. ПРИЛОЖЕНИЯ


 

А также другие работы, которые могут Вас заинтересовать

6638. Наследственные ангиоматозы. Энцефалотригеминальный ангиоматоз Штурге-Вебера 19.57 KB
  Наследственные ангиоматозы. Энцефалотригеминальный ангиоматоз Штурге-Вебера В 1878 г. Штурге описал больную с врожденным сосудистым пятном на лице и фокальными судорожными припадками на противоположной стороне тела. Позднее, в 1922 г. клиническое и ...
6639. Цереброретинальный ангиоматоз Гиппеля-Линдау 19.67 KB
  Цереброретинальный ангиоматоз Гиппеля-Линдау Описано окулистом Гиппелем, который на глазном дне у больных детей выявил ангиоматоз - множественные мельчайшие аневризмы в виде клубочков с очагами дегенерации. Часто процесс локализовался только в одн...
6640. Атаксия-телеангиоэктазия (болезнь Луи-Бар) 19.52 KB
  Атаксия-телеангиоэктазия (болезнь Луи-Бар) Атаксия-телеангиоэктазия - это наследственное нарушение васкуляризации кожи, конъюктивы и мозжечка. Синдром описан в 1941 г. D. Luis-Bar. Заболевание встречается с частотой 2-3 на 100.000 рождений и передае...
6641. Туберозный склероз (болезнь Бурневилля-Прингла) 20.11 KB
  Туберозный склероз (болезнь Бурневилля-Прингла) Туберозный склероз - семейное заболевание эктодермальных тканей, относящееся к группе факоматозов. Заболевание было впервые описано F. Recklinghausen в 1862 году. В 1880 году D. Bourneville детали...
6642. Бластоматозы. Нейрофиброматоз (БОЛЕЗНЬ Реклингхаузена) 25.01 KB
  Бластоматозы. Нейрофиброматоз (болезнь Реклингхаузена) Болезнь Реклингхаузена - заболевание из группы наследственных бластоматозов, характеризующееся сочетанным поражением кожи, центральной и периферической нервной системы, а в некоторых случаях - в...
6643. Болезнь Паркинсона. Хроническое прогрессирующее заболевание головного мозга 33.13 KB
  Болезнь Паркинсона Болезнь Паркинсона (БП) - хроническое прогрессирующее заболевание головного мозга, в основе которого лежит дегенерация нигростриарных нейронов и возникающий в связи с этим дисбаланс нейромедиаторов: дофамина, ацетилхолина, се...
6644. Гепатолентикулярная дегенерация. Гепатоцеребральная дистрофия, болезнь Вильсона-Вестфаля-Коновалова 32.79 KB
  Гепатолентикулярная дегенерация Гепатолентикулярная дегенерация (гепатоцеребральная дистрофия, болезнь Вильсона-Вестфаля-Коновалова) - наследственное заболевание, характеризующееся поражением паренхиматозных органов, в первую очередь – гол...
6645. Хорея Гентингтона - хроническое прогрессирующее наследственно-дегенеративное заболевание 32.99 KB
  Хорея Гентингтона Хорея Гентингтона - хроническое прогрессирующее наследственно-дегенеративное заболевание, характеризующееся хореическим гиперкинезом и другими экстрапирамидными нарушениями, расстройствами психики и деменцией. Частота встречаемости...
6646. Нервно-мышечные заболевания. Х - сцепленные прогрессирующие мышечные дистрофии Дюшенна и Беккера 25.58 KB
  Нервно-мышечные заболевания Наследственные нервно-мышечные заболевания - гетерогенная группа болезней, в основе которых лежит генетически детерминированное поражение нервно-мышечного аппарата. Прогрессирующие мышечные дистрофии. Прогрессирующие мыше...