Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика (часть 2).doc
Скачиваний:
39
Добавлен:
03.05.2015
Размер:
1.22 Mб
Скачать

Dim Symbol As String * 1, s As String * 4 '3

For i = 1 To Len(SecretTxt.Text) '4

Symbol = Mid(SecretTxt.Text, i, 1) '5

CodeSymbol = Asc(Symbol) '6

S = Str(CodeSymbol) '7

ShifrTxt.Text = ShifrTxt.Text + S '8

Next I '9

End Sub '10

В четвёртой строке начинается цикл, который повторяется столько раз, сколько символов присутствует в шифруемой строке. Управляющая переменная цикла - i означает номер очередного символа. В пятой строке выделяется очередной символ. В шестой строке определяется ASCII код этого символа. В седьмой строке числовая переменная (ASCII код символа) преобразуется в строковую. ASCII код большинства букв представлен тремя цифрами, а пробела и знаков препинания – двумя. Так как функция Str добавляет пробел в начале выдаваемой строки, то длина строковой переменной S составляет 4 символа, что подходит для любых символов. Таким образом, в зашифрованном сообщении на каждый символ шифруемой строки выделяется 4 знакоместа. В восьмой строке формируется зашифрованное сообщение (при каждом повторении цикла добавляется код очередного символа). Девятая строка завершает цикл.

Далее приведён программный код процедуры обработки события – щелчка на командной кнопке "Расшифровать". Для удобства пояснений в качестве комментариев указаны номера строк.

Private Sub Cmd2_Click() '1

Dim i As Byte, CodeSymbol As Byte '2

Dim Symbol As String * 4 '3

For i = 1 To Len(ShifrTxt.Text) Step 4 '4

Symbol = Mid(ShifrTxt.Text, i, 4) '5

CodeSymbol = Val(Symbol) '6

DeshifrTxt.Text = DeshifrTxt.Text + Chr(CodeSymbol) '7

Next i '8

End Sub

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

Задание

Разработать проект "Шифровка и дешифровка текстовых сообщений". Алгоритм шифрования выбрать в соответствии со своим вариантом.

  1. В зашифрованном сообщении расположить буквы в обратном порядке. Каждый символ сообщения шифруется следующим образом: из его ASCIIкода вычесть целое число, не превышающее 10 (число запрашивается при шифровании).

  2. В зашифрованном сообщении поменять местами первое и последнее слова. Каждый символ сообщения шифруется следующим образом: из его ASCIIкода вычесть число 5.

  3. В зашифрованном сообщении записать сначала все символы с чётными номерами, а затем – с нечётными. Заменить каждый символ сообщения его ASCII кодом.

  4. В зашифрованном сообщении записать сначала все символы с нечётными номерами, а затем – с чётными. Заменить каждый символ сообщения его ASCII кодом.

  5. В зашифрованном сообщении расположить буквы в обратном порядке. Каждый символ сообщения шифруется следующим образом: из его ASCII кода вычесть число 5

  6. В зашифрованном сообщении поменять местами первые три и последние три символа. Каждый символ сообщения шифруется следующим образом: из его ASCII кода вычесть число 7.

  7. Каждый символ сообщения шифруется следующим образом: из его ASCIIкода вычесть целое число, равное количеству слов в этом сообщении

  8. В зашифрованном сообщении поменять местами первое и последнее слова. Каждый символ сообщения шифруется его ASCIIкодом.

  9. В зашифрованном сообщении записать сначала все символы с чётными номерами, а затем – с нечётными. Заменить каждый символ сообщения его ASCII кодом, уменьшенным на 3.

  10. В зашифрованном сообщении поменять местами первое и последнее слова. Каждый символ сообщения шифруется его ASCII кодом, из которого вычесть число, равное количеству слов в сообщении.