Расшифровка текста методом символьных замен

Автор работы: Пользователь скрыл имя, 18 Декабря 2011 в 10:10, лабораторная работа

Краткое описание

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

Содержимое работы - 1 файл

Министерство образования РФ_В2.docx

— 46.39 Кб (Скачать файл)

        'Поиск слов по шаблону в  тексте

        '-----------------------------------

        texxt = TextBox2.Text 'переменной texxt присваиваем значение текстовой строки TextBox2.Text

        dl1 = Len(TextBox2.Text) 'переменной dl1 присваиваем значение длины текстовой строки TextBox2.Text

        Dim nabor(dl1) As String, fraza As String, schet As Integer

        schet = 1

        For i = 1 To dl1 - dl + 1 'цикл от 1 до (длины текста – длины слова +1)

            fraza = ""

            For z = 1 To dl

                shablon(1, z) = Mid(texxt, i + z - 1, 1) 'массиву shablon на первой строке присваивается блок символов шифрованного текста из строковой переменной texxt  с позиции i длиной dl

                fraza = fraza + Mid(texxt, i + z - 1, 1) ' fraza это подстрока строковой переменной texxt  с позиции i длиной dl

                shablon(2, z) = "0" 'массиву shablon на второй строке присваивается “0”

            Next

            k = 0

            For z = 1 To dl

                If shablon(2, z) = "0" Then k = k + 1 : shablon(2, z) = Str(k)

                For j = z + 1 To dl

                    If (shablon(1, z) = shablon(1, j)) And (shablon(2, j) = "0") Then shablon(2, j) = Str(k)

                Next

            Next

            slovo2 = ""

            For t = 1 To dl

                slovo2 = slovo2 + Trim(shablon(2, t)) 'Строковой переменной slovo2 добавляем справа значение массива 2-ой строки столбцов t Trim(shablon(2, t))

            Next

            If slovo2 = slovo1 Then nabor(schet) = fraza : schet = schet + 1 'если найденный блок символов соответствует шаблону слова, то строковому массиву nabor присваиваем найденное слово

        Next

        For i = 1 To schet - 1

            ComboBox1.Items.Add(nabor(i)) 'найденные шаблоны слов добавляем в выпадающий список

            TextBox5.Text = TextBox5.Text + Str(i) + ")   " + nabor(i) + vbCrLf  ' текстовой строке TextBox5 присваиваем все найденные шаблоны слов по порядку

        Next

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Private Sub Button2_Click - процедура нажатия кнопки Button2 (замена символа)      

        texxt = TextBox2.Text

        Dim a As Char, b As Char, tx As String

        a = Trim(TextBox3.Text) : b = Trim(TextBox4.Text) ' символьной переменной a присваиваем значение текстовой строки TextBox3 (заменяемый символ); символьной переменной b присваиваем значение текстовой строки TextBox4 (выбранный символ)

        tx = ""

        For i = 1 To Len(texxt)

            If Mid(texxt, i, 1) = a Then tx = tx + b Else tx = tx + Trim(Mid(texxt, i, 1)) ' от 1 до конца шифрованного текста: если символ в строке texxt на позиции i равен a то строковой переменной tx добавляем справа символ b, в противном случаи строковой переменной tx добавляем справа символ из строки texxt на позиции i

        Next

        texxt = tx ' строковой переменной texxt  присваиваем строковую переменную tx

        TextBox2.Text = text ' Текстовой строке присваиваем получившуюся строку

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Private Sub Button3_Click - процедура нажатия кнопки Button3 (Выход)

        Me.Close()  'Закрытие формы

    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 'Private Sub Button4_Click - процедура нажатия кнопки Button4 (Заменить)

        texxt = TextBox2.Text

        Dim sh As String, tx As String

        sl = Trim(TextBox1.Text) ' строковой переменной sl присваиваем значение текстовой строки TextBox1 (ключевое слово)

        sh = Trim(ComboBox1.Text) ' строковой переменной sh присваиваем значение текстовой строки ComboBox1 (шаблон слова)

        tx = ""

        For k = 1 To Len(sh)

            For i = 1 To Len(texxt)

                If Mid(texxt, i, 1) = Mid(sh, k, 1) Then tx = tx + Mid(sl, k, 1) Else tx = tx + Trim(Mid(texxt, i, 1)) ' если i-ый символ шифрованного текста texxt равен k-ому символу шаблона слова, то строковой переменной tx добавляем справа k-ый символ ключевое слово sl, в противном случаи строковой переменной tx добавляем справа i-ый символ шифрованного текста texxt

            Next

            texxt = tx 'строковой переменной texxt присваиваем значение строковой переменной tx

            tx = ""

        Next

        TextBox2.Text = texxt  ' текстовой строке TextBox2 присваиваем значение строковой переменной texxt

    End Sub

End Class

Информация о работе Расшифровка текста методом символьных замен