Разработка программы "Шифр Цезаря"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

 

.4 Описание алгоритма

 

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

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

 

 

 

 

 

 

 

 

 

Рисунок 1 - Обобщенная схема алгоритма

Входные данные: исходный текстовый файл на русском языке, открываемый пользователем.

Выходные данные: переименованный текстовый файл, сохраненный автоматически в папку исходного файла.

 

Таблица 1 - Переменные, используемые в программе:

ПеременнаяТипОписаниеf_srctextfileФайловая переменная для исходного файлаf_desttextfileФайловая переменная для файла назначенияchcharПеременная для считывания символаibyteПеременная для цикла forfindbooleanПеременная для результата поиска (найдено или нет)new_file_namestringПеременная для формирования имени файла назначенияшифр программа алгоритм внедрение

Рисунок 2 - Схема работы процедуры шифрования

 

1.5 Организация входных и выходных данных

 

Таблица 2 - Константы, используемые в программе:

ПеременнаяТипОписаниеsstring[66]Константа, содержащая буквы русского алфавита АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЫыЪъЭэЮюЯя

.6 Выбор состава технических и программных средств

 

Для реализации поставленной задачи выбрана среда разработки Delphi, так как позволяет с помощью готовых объектов быстро создать интерфейс пользователя для работы в Windows.

Системные требования для Delphi 7:

Процессор Intel Pentium 233 МГц и выше.Операционная система Microsoft Windows XP, Windows 2000, Windows 98. Оперативная память 64 Мбайт (рекомендуется 128 Мбайт). Пространство на жестком диске 124-520 Мбайт. Монитор SVGA или выше.

Системные требования для программы, полученной в результате решения поставленной задачи:

Полученный в результате программный продукт должен работать на любом компьютере под управлением операционной системы Windows 98 и выше.

 

Глава 2. Основной части

 

Разработка рабочего проекта

 

.1 Разработка программы

 

 

Рисунок 3 - Главное окно программы

 

На главной форме программы располагаются: главное меню, поле ввода для ввода имени открываемого файла, кнопка Открыть для выбора открываемого файла через диалог открытия файлов, кнопки Зашифровать и Расшифровать для вызова процедуры шифрования (дешифрования) открытого файла, два поля TMemo для вывода исходного (открываемого) файла и файла назначения (файла полученного в результате работы процедуры шифрования). В главном меню продублированы все основные действия, вызываемые кнопками на форме, и добавлен пункт вызова окна О программе. Так же на форме располагаются: стандартный диалог открытия файлов и компонент XP Manifest.

 

Рисунок 4 - Вторая форма проекта О программе

 

Вторая форма программы About Box скопирована со стандартных форм среды разработки. В ней расположена панель TPanel, на которой имеются элементы типа TLabel с текстом и TImage с рисунком логотипа программы. На форме так же имеется кнопка OK, в событие ButtonClick которой добавлен обработчик закрытия окна О программе. Данное окно показывается модально, то есть его необходимо закрыть для продолжения работы в главной форме программы.

Исполняемый файл программы называется Cesar.exe и для своей работы не требует никаких дополнительных файлов. Файлы проекта расположениы в приложении Б.

 

.2 Текст программы

 

Модуль main.pas:

unit main;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ComCtrls, Menus, About;= class(TForm)_open_file: TButton;: TOpenDialog;: TEdit;_Encript: TButton;_src: TMemo;_Decrypt: TButton;_dest: TMemo;: TStatusBar;: TLabel;: TLabel;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;Bt_open_fileClick(Sender: TObject);Bt_EncriptClick(Sender: TObject);Bt_DecryptClick(Sender: TObject);N2Click(Sender: TObject);N5Click(Sender: TObject);N6Click(Sender: TObject);N3Click(Sender: TObject);N8Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;

{$R *.dfm}

// Процедура шифрования и расшифровки файловen_de_crypt(e_d : char);_src, f_dest : textfile;: char;: byte;: boolean;_file_name : string;s : string[66] = АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЫыЪъЭэЮюЯя;not fileexists(form1.Edit1.Text) then

ShowMessage(Файл не выбран или не существует)

0thene_d=ethen(i+6)= 1 then write(f_dest, s[i-6])write(f_dest, s[i+60]);write(f_dest, ch);;(f_src);(f_dest);.StatusBar1.Panels.Items[0].Text := Файл сохранен под именем: + new_file_name;.Memo_dest.Lines.LoadFromFile(new_file_name);