Обработка текстовой информации в среде Delphi

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,45 Мб
  • Опубликовано:
    2012-08-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Обработка текстовой информации в среде Delphi

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

.1 Постановка задачи

.2 Математическая модель

.3 Алгоритм решения

.4 Блок-схема

. ПРАКТИЧЕСКАЯ ЧАСТЬ

.1 Описание объектов, свойств и методов

.2 Формы и основные модули текста программы в среде Delphi

.3 Результат тестирования программного продукта

.4 Анализ полученных результатов

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

 

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

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

История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры.

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

Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.

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

Цель курсовой работы - осуществить шифровку текста с помощью средств Delphi.

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

осуществить постановку задач;

создать блок-схемы алгоритмов;

осуществить описание объектов, свойств, методов;

разработать формы и представить текст программы;

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

Для выполнения этих задач будем использовать среду объектно-ориентированного программирования Delphi.

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

Курсовая работа состоит из теоретической и практической части. Теоретическая часть состоит из: постановки задачи; математической модели; алгоритма решения задачи и блок. Практическая часть состоит из: описания объектов, свойств и методов; формы и основных модулей текста программы в среде Delphi; результата тестирования программного продукта; графического представления результатов; анализа полученных результатов.

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

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

.1 Постановка задачи


В данной курсовой работе требуется создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое предназначена для шифрования текста следующим образом:

для шифрования текста используется метод, основанный на сложении текста и пароля: "мой текст" + "пароль" = ('м'+'п')('о'+'а')... То есть каждый символ получают путем сложения соответствующих символов текста и пароля. Под "сложением символов" подразумевается сложение номеров этих символов. Обычно пароль длиннее текста, поэтому его размножают: "парольпар". Чтобы расшифровать текст, нужно проделать обратную операцию, то есть из текста вычесть пароль.

1.2 Математическая модель

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

Алфавит - конечное множество используемых для кодирования информации знаков.

Текст - упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:

алфавит Z33 - 32 буквы русского алфавита и пробел;

алфавит Z256 - символы, входящие в стандартные коды ASCII и КОИ-8;

бинарный алфавит - Z2 = {0,1};

восьмеричный алфавит или шестнадцатеричный алфавит.

Шифрование - преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.

Дешифрование - обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.

Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

На рисунке 1.1 показана блок-схема процедуры шифрования файлов.

Рисунок 1.1 - Процедура шифрования файлов

1.3 Алгоритм решения


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

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

1.4 Блок-схема


На рисунке 1.2 представлена блок-схема процесса шифровки, где t - это текст, который будет результатом шифровки, str - исходный текст, w - слово-пароль, а i и k - это индексы для строк str и w соответственно.

Рисунок 1.2 - Блок-схема алгоритма шифрования текста

На рисунке 1.3 представлена блок-схема процесса дешифровки, в процессе которого сначала проверяется введенный ключ, а затем идет сам процесс дешифровки, где t - это текст, который будет результатом дешифровки, str - зашифрованный текст, w - предполагаемое слово-пароль, w0 - строка размноженного пароля, извлеченная из зашифрованного текста, w1 - строка размноженного предполагаемого пароля, а i и k используются как индексы.

Рисунок 1.3 - Блок-схема алгоритма дешифровки текста

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

 

.1 Описание объектов, свойств и методов


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

Label - текстовая метка (надпись) на форме. Используется для отображения любого текста в окне. Текст задаётся в свойстве Caption.

Edit - поле ввода. Используется для ввода любых данных (текста, числа и т.д.), представленных одной строкой. Текст хранится свойством Text. Свойство MaxLength позволяет задать максимальное число символов, которое может быть введено в поле. Значение 0 означает, что ограничение не установлено.

Memo - многострочный Edit. Используется для ввода больших объёмов текста. Свойство ReadOnly делает этот объект нередактируемым. Свойство ScrollBars позволяет указать полосы прокрутки, которые будут отображаться у поля при недостатке места для всего текста:

•ssNone - без полос прокрутки;

•ssHorizontal - горизонтальная полоса прокрутки;

•ssVertical - вертикальная;

•ssBoth - обе: и горизонтальная, и вертикальная.

Button - командная кнопка. Caption - текст на кнопке.

Компоненты OpenDialog - диалог «Открыть файл» и SaveDialog - диалог «Сохранить файл как...». Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, - FileName. Типы искомых файлов, появляющиеся в диалоге в выпадающем списке "Тип файла", задаются свойством Filter.

2.2 Формы и основные модули текста программы в среде Delphi


При решении поставленной задачи будут использованы следующие объекты (рисунок 2.1)

Рисунок 2.1 - Объекты программы

Примечание - источник: собственная разработка

Label1..3 - информационные метки;

Edit1 - поле ввода ключа шифра;

Memo1..2 - многострочные текстовые редакторы;

OpenDialog1 - диалог открытия файлов;

SaveDialog1 - диалог сохранения файлов.

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

Рисунок 2.2 - Форма пользовательского интерфейса в режиме шифровки

Рисунок 2.3 - Форма пользовательского интерфейса в режиме дешифровки

Главной кнопке «Зашифровать»/«Дешифровать» назначим программный код:

procedure TForm1.Button1Click(Sender: TObject);

var w,w0,w1: string; i,k: integer;

begin:=Memo1.Text; memo2.Text:=''; w0:=''; w:=Edit1.Text;(w='') or (str='') then begin MessageDlg('Присутствуют пустые поля',mtInformation, [mbOK], 0);; end;Button1.Caption='Зашифровать' then begin k:=1;i:=1 to Length(str) do begin.Text:=Memo2.Text+str[i]+w[k];:=k+1;k>length(w) then k:=1;;beginop then for i:=1 to Length(str) do(str[i]=#$A) then Delete(str,i,1);i:=1 to Length(str) donot (odd(i)) then w0:=w0+str[i];:=1;i:=1 to length(w0) do begin:=w1+w[k];:=k+1;k>length(w) then k:=1; end;w1=w0 then begini:=1 to length(str) do begin(str[i]=#$D) and (op) then Memo2.Text:=Memo2.Text+#10;odd(i) then Memo2.Text:=Memo2.Text+str[i]; end; endMessageDlg('Неправильный ключ', mtWarning, [mbcancel],0); exit; end;

op:=false;;

Кнопка «<-->» отвечает за переключение между режимами программы. Ей назначим код:TForm1.Button2Click(Sender: TObject);Label1.Caption='Исходный текст' then begin.Caption:='Зашифрованный текст';.Caption:='Исходный текcт';.Caption:='Дешифровать';.Caption:='Исходный текст';.Caption:='Зашифрованный текст';.Caption:='Зашифровать';; end;

После создания приложения приступим к его тестированию.

.3 Результат тестирования программного продукта

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

Запишем в поле «Исходный текст» слово «Мобильник», а в поле «Слово-пароль» - «кот» и нажмем кнопку «Зашифровать» (рисунок 2.4)

Рисунок 2.4 - Шифрование слова при помощи программы.

Зашифровав слово ручным методом и с помощью программы, мы убедились в правильности ее работы.

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

Шифровка представлена на рисунке 2.5.

Рисунок 2.5 - Диалоговое окно программы после процесса шифровки

Также выполним обратный процесс с зашифрованным текстом, поменяв режим работы, скопировав зашифрованный текст в соответствующую ему форму и введя ключ шифровки. Следует заметить, что программа проведет процесс дешифровки только при правильном ключе шифровки, иначе будет выведено сообщение «Неверный ключ» (рисунок 2.6).

Рисунок 2.6 - Диалоговое окно программы в процессе дешифровки при неправильно введенном ключе

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

Рисунок 2.7 - Диалоговое окно программы после процесса дешифровки

2.4 Анализ полученных результатов


Анализируя результаты, полученные при выполнении программы, приходим к выводу, что программа способна шифровать и дешифровать текст и то, что она работает корректно.

ЗАКЛЮЧЕНИЕ


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

Целью курсовой работы было осуществление шифровки и дешифровки текста с помощью средств среды Delphi.

При выполнении курсовой работы:

·        была изучена теория и технология работы с средой программирования Borland Delphi7;

·        была изучена и проанализирована соответствующая литература;

·        была составлена программа для шифровки и дешифровки текста.

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

Знания, полученные в результате работы над курсовым проектом, позволят в дальнейшем использовать Delphi для решения технических задач.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


1.      Архангельский, А.Я. 100 компонентов общего назначения библиотеки Delphi / А. Я. Архангельский. - Москва : Бином, 2002. - 272 с.

2.      Бобровский, С.И. Delphi 7. Учебный курс/ С. И. Бобровский - СПб.: Питер, 2004. - 736 с.

3.      Культин, Н.Б. Основы программирования в Delphi 7/ Н. Б. Культин - СПб.: БХВ.- СПб, 2003. - 608 с.

4.      Фаронов, В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов/ В. В. Фаронов - СПб.: Питер, 2006. - 640 с.

ПРИЛОЖЕНИЕ

Листинг программы

unit Unit1;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Menus;= class(TForm): TMemo;: TMemo;: TLabel;: TLabel;: TLabel;: TEdit;: TButton;: TButton;: TOpenDialog;: TSaveDialog;: TButton;: TButton;: TButton;: TButton;: TButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Edit1KeyPress(Sender: TObject; var Key: Char);Button3Click(Sender: TObject);Button4Click(Sender: TObject);Button5Click(Sender: TObject);Button6Click(Sender: TObject);Button7Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;: WideString; w,w0: string; op:boolean;

{$R *.dfm}TForm1.Button1Click(Sender: TObject);

var w,w0,w1: string; i,k: integer;

begin:=Memo1.Text; memo2.Text:=''; w0:=''; w:=Edit1.Text;(w='') or (str='') then begin MessageDlg('Присутствуют пустые поля',mtInformation, [mbOK], 0);; end;Button1.Caption='Зашифровать' then begin k:=1;i:=1 to Length(str) do begin.Text:=Memo2.Text+str[i]+w[k];:=k+1;k>length(w) then k:=1;;beginop then for i:=1 to Length(str) do(str[i]=#$A) then Delete(str,i,1);i:=1 to Length(str) donot (odd(i)) then w0:=w0+str[i];:=1;i:=1 to length(w0) do begin:=w1+w[k];:=k+1;k>length(w) then k:=1; end;w1=w0 then begini:=1 to length(str) do begin(str[i]=#$D) and (op) then Memo2.Text:=Memo2.Text+#10;odd(i) then Memo2.Text:=Memo2.Text+str[i]; end; endMessageDlg('Неправильный ключ', mtWarning, [mbcancel],0); exit; end;:=false;;TForm1.Button2Click(Sender: TObject);Label1.Caption='Исходный текст' then begin.Caption:='Зашифрованный текст';.Caption:='Исходный тескт';.Caption:='Дешифровать';.Caption:='Исходный текст';.Caption:='Зашифрованный текст';.Caption:='Зашифровать';; end;TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);key of

#13: Button1.Click; end;;TForm1.Button3Click(Sender: TObject);.Clear;;TForm1.Button4Click(Sender: TObject);.Clear;;TForm1.Button5Click(Sender: TObject);:=true;.Title:='Открыть файл';OpenDialog1, Memo1 doExecute then.LoadFromFile(FileName);.FileName:=FileName;;;TForm1.Button6Click(Sender: TObject);

begin.Title:='Сохранить исходный текст';

SaveDialog1.FileName:='Исходный текст';SaveDialog1, Memo1 doExecute then.SaveToFile(FileName);.FileName:=Filename;;.Title:='Сохранить зашифрованный текст';.FileName:='Зашифрованный текст';SaveDialog1, Memo2 doExecute then.SaveToFile(FileName);.FileName:=Filename;; end;;TForm1.Button7Click(Sender: TObject);

begin('Программа Шифратор предназначена для шифровки-дешифровки текста.'+#13+'Для выполнения шифровки необходимо ввести текст в поле "Исходный текст", ввести ключ, который необходимо запомнить (иначе дешифровка текста не будет выполнена), и нажать "Зашифровать".'+#13+'Для обратной операции необходимо поменять направление перевода клавишей "<-->" и провести соответствующие операции'+#13+'Также программа выполняет открытие из файла и сохранение текста в файл.'+#13+'Программа разработана студентом 1-го курса БарГУ Гуриновичем Алексеем в 2012 году',mtInformation,[mbOK],0 ) ;;

Похожие работы на - Обработка текстовой информации в среде Delphi

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!