Программа шифрования методом Цезаря

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 12.11.2013
Размер файла 597,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Постановка задачи
  • 2. Требования к программным и аппаратным средствам
  • 3. Выбор языка и среды программирования
  • 4. Основная часть
  • 4.1 Анализ задачи
  • 4.2 Описание алгоритмов
  • 4.3 Описание программы
  • 4.4 Описание переменных
  • 4.5 Листинг программы
  • 4.6 Компьютеры, тестирование работоспособность программы
  • 5. Скриншоты
  • Заключение
  • Список литературы

Аннотация

Курсовой проект на тему: "Программа шифрования методом Цезаря" на языке Pascal, с использованием вставок языка Assembler. содержит: 23 страниц пояснительной записки, 12 рисунков, 21 страниц программного кода, 7 использованных источников.

Ключевые слова: программный код, функция, алгоритм, Шифр, шифрования.

Объект исследования - разработка программы для создания текстового файла, зашифровки текста и расшифровки.

Целью курсового проекта является написать программу с дружественным интерфейсом (понятную обычному пользователю ПК)

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

Введение

Основная цель данной курсовой работы - обучение. Студент учится формировать постановку задач, составлять алгоритмы их решения и формализовать эти алгоритмы в популярной среде программирования. В ходе разработки программы студент осваивает язык Pascal, с использованием вставок языка Assembler (смотрите раздел ВЫБОР ЯЗЫКА И СРЕДЫ ПРОГРАММИРОВАНИЯ стр.5) и особенности его трансляции в Free Pascal компиляторе.

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

Для достижения этих целей была выбрана задача "Шифр Августа".

Юлий Цезарь был, якобы первым, кто придумал собственно шифр. Алфавит размещается по кругу на его часах (при этом в русском алфавите, после А идет Б, a после Я - А). Для зашифровки буквы текста заменяются буквами, отстоящими по кругу на заданное число букв дальше по ходу часовой стрелки. Если, скажем, сдвиг на 3, то вместо i-й используется (i+3) - я буква, например, вместо А пишется Г, а вместо Я пишется В. При расшифровке, наоборот, берут букву на заданное число букв ближе, т.е. двигаясь против часовой стрелки.

Шифр Августа аналогичен шифру Цезаря но использует другой размер сдвига.

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

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

программа шифрование метод цезарь

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

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

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

2. Требования к программным и аппаратным средствам

Для запуска и работы программы необходим, как минимум, IBMPC совместимый, монитор EGA операционные системы "Dos", Windows. Минимальные требования системы: Тип процессора: Pentium; Оперативной памяти: 1мб; Жесткий диск: 10 мб свободного пространства; Монитор с поддержкой VGA.

3. Выбор языка и среды программирования

Для разработки и написания кода был выбран язык программирования - "Pascal"в Free Pascal компиляторе, так как язык, обладает следующими "возможностями":

1. читабельность кода;

минимальными системными требованиями;

способность выполнить поставленную задачу;

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

Огромное число литературы, инструкций было написано по Паскалю:

При возникновении вопросов можно найти информацию в:

? интернет ресурсы,

? электронные книги,

? исходные коды программ,

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

4. Основная часть

4.1 Анализ задачи

Данную задачу для решения удобно разбить на несколько подзадач, а именно:

1) отдельно осуществить ввод данных;

2) отдельно их обработку;

3) отдельно сделать вывод результата.

Ввод данных состоит в:

вводе исходного текста или загрузке исходного текста из "файла 1";

выборе режима работы программы;

вводе ключа;

Обработка данных заключается в:

проверке корректности ввода ключа пользователем;

последовательном считывании кодов всех символов, присутствующих в "open. txt", или с экрана;

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

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

последовательном занесение очередного изменённого или не измененного символа в память программы;

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

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

создании текстового файла (" save. txt") и по выбору занесение в него результат текста.

4.2 Описание алгоритмов

Алгоритм представлен в графическом виде (блок-схема) на рисунках.1-6.

Размещено на http://www.allbest.ru/

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

Рисунок 2 - Блок-схема общего вида функциональности программы.

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Рисунок 4 - Блок-схема функции дешифрования текста.

Рисунок 5 - Блок-схема функции вывода данных.

Размещено на http://www.allbest.ru/

Рисунок 6 - Блок-схема функции Открытие файла.

4.3 Описание программы

Принцип работы программы несложен и понятно изложен на блок-схеме и в анализе задачи. Основными функциями программы являются функции Shefrovanie, DeShefrovanie, otkr, sozdn, sozdn1.

С помощью функции Shefrovanie осуществляется шифрование текста (подробно см. Рисунок 3). Результатом работы функции является зашифрованный текст, в котором зашифрованы только большие и маленькие латинские и русские буквы.

С помощью функции DeShefrovanie осуществляется дешифрование текста (подробно см. Рисунок 4). Результатом работы функции является расшифрованный текст, который был зашифрован "методом Цезаря".

Функция otkr (подробно см. Рисунок 6). открывает файл для шифрования или дешифрования.

Функции sozdn, sozdn1 создают файл для хранения результата.

При открытии программы появляется главное окно, приведенное на рисунке.7

Рисунок 7 - Начало работы.

Выбор трех режимов программы:

№1-Открытие текстового файла для шифровании или дешифровании его содержимого.

*************************************************

В режиме №1 появляется окно с запросом:

Указания пути до текстового файла и далее окно с

F1-Шифровании текста;

F2-ДеШифровании текста;

***************************************************

№2-Набор текста в программе для его дальнейшего шифровании или дешифровании.

***************************************************

В режиме №2 появляется окно с запросом:

Ввода текста и далее окно с

F1-Шифровании текста;

F2-ДеШифровании текста;

***************************************************

№3-Выход из программы.

***************************************************

В режиме №3 происходит выход программы:

***************************************************

По окончании процедуры Шифрования или дешифрования появится окно:

Результат расчета на рис.8

Рисунок 8 - Вид после окончания расчета.

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

4.4 Описание переменных

В таблице 1 описаны следующие переменные

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

Переменные

Что означает

Тип

t

Max доступное кол-во строк для загрузки

const

Kluch

Значение ключа

integer

i1

Подсчет кол-во загружаемых строк

integer

Chislo

Сумма ключа и символа

integer

с

Символ из строки

integer

f

Переменная связанная с файлом

text

Put,Put1

Путь до загружаемого файла

string

i

Счетчик

integer

names

Имя сохраняемого файла

string

mas

Массив для хранения текста из файла

string

mas1

Массив для хранения обработанного текста

string

n1

Переменная условия выбора

integer

nt1

Переменная события выбора

integer

rashod

Переменная события действия №1

integer

ii

Переменная события действия №2

integer

st

Передаваемая строка в функцию

string

st1

Загруженная строка

string

text1

Хранение набранного текста с клавиатуры и передача его в функцию

string

Ft

Хранения значения нажатой клавиши

char

nn

Хранения значения нажатой клавиши

char

Bb

Хранения значения нажатой клавиши

char

No1

Метка перехода по условию

No2

Метка перехода по условию

No3

Метка перехода по условию

No4

Метка перехода по условию

No5

Метка перехода по условию

Loc1

Метка перехода по условию

Loc2

Метка перехода по условию

Loc3

Метка перехода по условию

Loc4

Метка перехода по условию

Loc5

Метка перехода по условию

Exit

Метка безусловного перехода

Exit1

Метка безусловного перехода

Exit2

Метка безусловного перехода

Metca

Метка перехода по условию

Metca1

Метка перехода по условию

Metca2

Метка перехода по условию

В Таблице 2описаны следующие структурные данные

Таблица 2. Структуры данных

Имя

Тип

Предназначение

Save. txt

string

Для хранения данных

Open. txt

string

Для загрузки данных

Таблица 3. Созданные типы данных

Тип

Действие

Параметр

massiv

Определяет массив

string

В Таблице 4 перечислены реализованные подпрограммы

Таблица 4. Описание функций

Функции

Их действие

Параметр

Shefrovanie

Шифрование текста

string

DeShefrovanie

Дешифрования текста

string

otkr

Открытие текстового документа

massiv

sozdn

Создание текстового документа

string

sozdn1

Создание текстового документа

string

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

// ---------------------------------------------------------------------------

programShefrovanie_Metodom_Cezar;

usescrt;

const t=100;

typemassiv=array [1. t] of string;

var Kluch, i1: integer;

function Shefrovanie (st: string): string; {функция шифрования}

var

Chislo: integer;

i,c: integer;

Begin

for i: = 1 to Length (st) do

begin

c: =Ord (st [i]);

asm

cmp c,239

jbe @metca1

jmp @exit1

@metca1:

cmp c,224

jae @metca

cmp c,175

jbe @metca2

jmp @exit1

@metca2:

cmp c,160

jae @metca

cmp c,159

jbe @metca3

jmp @exit1

@metca3:

cmp c,128

jae @metca

cmp c,122

jbe @metca4

jmp @exit1

@metca4:

cmp c,97

jae @metca

cmp c,90

jbe @metca5

jmp @exit1

@metca5:

cmp c,65

jae @metca

jmp @exit1

@metca:

mov ax,c

add ax,Kluch

mov chislo,ax

cmp c,90

ja @No1

cmp chislo,90

jbe @loc1

sub ax,90

add ax,64

jmp @exit

@No1:

cmp c,122

ja @No2

cmp chislo,122

jbe @loc2

sub ax,122

add ax,96

jmp @exit

@No2:

cmp c,159

ja @No3

cmp chislo,159

jbe @loc3

sub ax,159

add ax,127

jmp @exit

@No3:

cmp c,175

ja @No4

cmp chislo,175

jbe @loc4

sub ax,175

add ax,223

jmp @exit

jmp @exit

@No4:

cmp c,239

ja @No5

cmp chislo,239

jbe @loc5

sub ax,239

add ax,159

jmp @exit

@No5:

@loc1:

@loc2:

@loc3:

@loc4:

@loc5:

@exit:

jmp @exit2

@exit1:

mov ax,c

@exit2:

mov chislo,ax

end;

st [i]: =Chr (Chislo);

end;

Shefrovanie: =st;

end;

function DeShefrovanie (st: string): string; {функция дешифровывания}

var

Chislo: integer;

i,c: integer;

Begin

for i: = 1 to Length (st) do

begin

c: =Ord (st [i]);

asm

cmp c,239

jbe @metca1

jmp @exit1

@metca1:

cmp c,224

jae @metca

cmp c,175

jbe @metca2

jmp @exit1

@metca2:

cmp c,160

jae @metca

cmp c,159

jbe @metca3

jmp @exit1

@metca3:

cmp c,128

jae @metca

cmp c,122

jbe @metca4

jmp @exit1

@metca4:

cmp c,97

jae @metca

cmp c,90

jbe @metca5

jmp @exit1

@metca5:

cmp c,65

jae @metca

jmp @exit1

@metca:

mov ax,c

sub ax,Kluch

mov chislo,ax

cmp c,224

jb @No1

cmp chislo,224

jae @loc1

add ax,175

sub ax,223

jmp @exit

@No1:

cmp c,160

jb @No2

cmp chislo,160

jae @loc2

add ax,239

sub ax,159

jmp @exit

@No2:

cmp c,128

jb @No3

cmp chislo,128

jae @loc3

add ax,159

sub ax,127

jmp @exit

@No3:

cmp c,97

jb @No4

cmp chislo,97

jae @loc4

add ax,122

sub ax,96

jmp @exit

@No4:

cmp c,65

jb @No5

cmp chislo,65

jae @loc5

add ax,90

sub ax,64

jmp @exit

@No5:

@loc1:

@loc2:

@loc3:

@loc4:

@loc5:

@exit:

jmp @exit2

@exit1:

mov ax,c

@exit2:

mov chislo,ax

end;

st [i]: =Chr (Chislo);

end;

DeShefrovanie: =st;

end;

function otkr: massiv;

var f: text;

st1,put,put1: string;

i: integer;

Begin

clrscr;

i: =1;

i1: =1;

repeat

clrscr;

writeln ('Введите путь к файлу с разширением. txt');

readln (put1);

put: =put1;

Assign (f,put1);

{$I-}

reset (f); { открыть файл для чтения }

{$I+}

untilIOResult=0;

Whilenot EOF (f) do{ пока не достигнут конец файла }

begin

readln (f,st1); { прочитать информацию из файла }

otkr [i]: =st1;

inc (i);

i1: =i1+1;

end;

close (f);

end;

functionsozdn (mas1: massiv): string;

var f: text;

st1,names: string;

i: integer;

Begin

clrscr;

Begin

writeln ('Введите имя файла с расширением. txt');

write ('->');

readln (names);

Assign (f,names);

rewrite (f); { открыть файл для записи }

for i: =1 to i1-1 do

begin

writeln (f,mas1 [i]);

end;

end;

close (f);

end;

function sozdn1 (text1: string): string;

var f: text;

st1,names: string;

i: integer;

Begin

clrscr;

Begin

writeln ('Введите имя файла с расширением. txt');

write ('->');

readln (names);

Assign (f,names);

rewrite (f); { открыть файл для записи }

writeln (f,text1);

end;

close (f);

End;

VAR mas: array [1. t] of string;

mas1: array [1. t] of string;

n1,nt1, i,rashod, ii: integer;

st,st1,text1: string;

Ft,n,nn,Bb: char;

BEGIN

repeat

clrscr;

writeln ('******************************************');

writeln ('1. Открыть исходный текст из файла - > ');

writeln ('2. Набор текста в программе - >');

writeln ('0. Выход');

writeln ('******************************************');

write ('Введите номер: ');

Begin

nt1: =0;

while nt1=0 do

Begin

nn: = ReadKey; {Проверка нажатой клавишы}

if (Ord (nn) =49) then

begin

nt1: =1;

end

else

if (Ord (nn) =50) then

begin

nt1: =2;

end

else

if (Ord (nn) =48) then

begin

nt1: =3;

end;

end;

end;

until (nt1=1) or (nt1=2) or (nt1=3);

if nt1=1 then

begin

mas: =otkr;

clrscr;

writeln ('Информация из файла: ');

writeln ('-------------------------------------------');

for i: =1 to i1-1 do

begin

st1: =mas [i];

writeln (st1);

end;

writeln ('-------------------------------------------');

writeln ('************************************************');

writeln ('I - Шифровать текст - >НажмитеF1');

writeln ('II - Разшифровать текст - > Нажмите F2');

writeln ('************************************************');

Begin

rashod: =0;

whilerashod=0 do

Begin

Ft: =ReadKey; {Проверка нажатой клавишы}

if (Ord (Ft) =59) or (Ord (Ft) =60) then

rashod: =rashod+1;

end;

end;

ifOrd (Ft) =59 then

Begin

repeat

ii: =1;

clrscr;

writeln ('Введите ключ: от "1 до 20" ');

write ('->');

readln (Kluch);

if (Kluch>=1) and (Kluch<=20) then

Begin

ii: =0;

end

else

begin

writeln ('Ошибка ввода, "Ключ не корректен" - введите еще раз');

Delay (2000);

end;

until ii=0;

clrscr;

writeln ('#########################################');

writeln ('Исходный текст: ');

writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');

writeln ('-----------------------------------------');

for i: =1 to i1-1 do

begin

st1: =mas [i];

writeln (st1);

end;

writeln ('-----------------------------------------');

writeln ();

writeln ();

writeln ('#########################################');

writeln ('ЗаШифрованный текст: ');

writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');

writeln ('-----------------------------------------');

for i: =1 to i1-1 do

begin

st: =mas [i];

mas1 [i]: =Shefrovanie (st);

writeln (mas1 [i]);

end;

writeln ('*****************************************');

writeln ('');

writeln ('');

writeln ('');

writeln ('Сохранить результат в файл');

writeln ('1-Да 0-Выход');

Begin

n1: =0;

while n1=0 do

Begin

Bb: =ReadKey; {Проверка нажатой клавишы}

if (Ord (Bb) =49) then

begin

n1: =1;

end

else

if (Ord (Bb) =48) then

begin

n1: =2;

end;

end;

end;

ifOrd (n1) =1 then

begin

sozdn (mas1);

clrscr;

writeln ('Результат успешно сохранен!!! ');

write ('Для выхода нажмите Enter->');

Readln ();

begin

Exit;

end;

end;

end;

end

else

ifOrd (n1) =2 then

begin

Exit;

end;

ifOrd (Ft) =60 then

Begin

repeat

ii: =1;

clrscr;

writeln ('Введите ключ: от "1 до 20" ');

write ('->');

readln (Kluch);

if (Kluch>=1) and (Kluch<=20) then

Begin

ii: =0;

end

else

begin

writeln ('Ошибка ввода, "Ключ некорректен" - введите еще раз');

Delay (2000);

end;

until ii=0;

clrscr;

writeln ('#########################################');

writeln ('Исходный текст: ');

writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');

writeln ('-----------------------------------------');

for i: =1 to i1-1 do

begin

st1: =mas [i];

writeln (st1);

end;

writeln ('-----------------------------------------');

writeln ();

writeln ();

writeln ('#########################################');

writeln ('РазШифрованныйтекст: ');

writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');

writeln ('-----------------------------------------');

for i: =1 to i1-1 do

begin

st: =mas [i];

mas1 [i]: =DeShefrovanie (st);

writeln (mas1 [i]);

end;

writeln ('*****************************************');

writeln ('');

writeln ('');

writeln ('');

writeln ('Сохранить результат в файл');

writeln ('1-Да 0-Выход');

Begin

n1: =0;

while n1=0 do

Begin

Bb: =ReadKey; {Проверка нажатой клавишы}

if (Ord (Bb) =49) then

begin

n1: =1;

end

else

if (Ord (Bb) =48) then

begin

n1: =2;

end;

end;

end;

ifOrd (n1) =1 then

begin

sozdn (mas1);

clrscr;

writeln ('Результат успешно сохранен!!! ');

write ('Для выхода нажмите Enter->');

Readln ();

begin

Exit;

end;

end;

end

else

ifOrd (n1) =2 then

begin

Exit;

end;

if nt1=2 then

begin

clrscr;

writeln ('ВведитеТекстиНажмитеEnter: ');

writeln ('************************************************');

readln (text1);

writeln ('Выберите действие: ');

writeln ('I - Шифровать текс - > Нажмите F1');

writeln ('II - РазШифровать текс - > Нажмите F2');

writeln ('************************************************');

Begin

rashod: =0;

whilerashod=0 do

Begin

Ft: =ReadKey; {Проверка нажатой клавишы}

if (Ord (Ft) =59) or (Ord (Ft) =60) then

rashod: =rashod+1;

end;

end;

ifOrd (Ft) =59 then

Begin

Begin

repeat

ii: =1;

clrscr;

writeln ('Введите ключ: от "1 до 20" ');

write ('->');

readln (Kluch);

if (Kluch>=1) and (Kluch<=20) then

Begin

ii: =0;

end

else

begin

writeln ('Ошибка ввода, "Ключ не корректен" - введите еще раз');

Delay (2000);

end;

until ii=0;

clrscr;

writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');

writeln ('Исходный текст: ');

writeln (text1);

writeln ('-----------------------------------------');

writeln ();

writeln ('*****************************************');

writeln ('ЗаШифрованныйтекст: ');

begin

st: =text1;

text1: =Shefrovanie (st);

writeln (text1);

end;

end;

writeln ('*****************************************');

writeln ('');

writeln ('');

writeln ('');

writeln ('Сохранить результат в файл');

writeln ('1-Да 0-Выход');

Begin

n1: =0;

while n1=0 do

Begin

Bb: =ReadKey; {Проверканажатойклавишы}

if (Ord (Bb) =49) then

begin

n1: =1;

end

else

if (Ord (Bb) =48) then

begin

n1: =2;

end;

end;

end;

ifOrd (n1) =1 then

begin

begin

sozdn1 (text1);

end;

clrscr;

writeln ('Результатуспешносохранен!!! ');

write ('Для выхода нажмите Enter->');

Readln ();

begin

Exit;

end;

end;

end;

end

else

ifOrd (n1) =2 then

begin

Exit;

end;

ifOrd (Ft) =60 then

Begin

repeat

ii: =1;

clrscr;

writeln ('Введитеключ: от "1 до 20" ');

write ('->');

readln (Kluch);

if (Kluch>=1) and (Kluch<=20) then

Begin

ii: =0;

end

else

begin

writeln ('Ошибкаввода, "Ключнекорректен" - введитеещераз');

Delay (2000);

end;

until ii=0;

clrscr;

writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');

writeln ('Исходныйтекс: ');

writeln (text1);

writeln ('-----------------------------------------');

writeln ();

writeln ('*****************************************');

writeln ('РазШифрованныйтекст: ');

begin

st: =text1;

text1: =DeShefrovanie (st);

writeln (text1);

end;

writeln ('*****************************************');

writeln ('');

writeln ('');

writeln ('');

writeln ('Сохранить результат в файл');

writeln ('1-Да 0-Выход');

Begin

n1: =0;

while n1=0 do

Begin

Bb: =ReadKey; {Проверканажатойклавишы}

if (Ord (Bb) =49) then

begin

n1: =1;

end

else

if (Ord (Bb) =48) then

begin

n1: =2;

end;

end;

end;

ifOrd (n1) =1 then

begin

begin

sozdn1 (text1);

end;

clrscr;

writeln ('Результатуспешносохранен!!! ');

write ('Для выхода нажмите Enter->');

Readln ();

begin

Exit;

end;

end;

end

else if Ord (n1) =2 then

begin

Exit;

end;

end.

4.6 Компьютеры, тестирование работоспособность программы

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

Компьютер №1: Intel (R) Pentium 4 CPU 2 Ггц, 1024Мб DDR2 400,SATA 100Гб HDD, Radeon3200HD,

? Компьютер №2: Intel Core 2 Dou, 2 Гб DDR2 400, SATA 500 Гб жёсткий диск, GeForceGTX 450,Компьютер №3: Pentium3, 128 Mb DIMM, SATA 20Гб HDD, GeForceTN.

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

При запуске Cezar. exe выбирался первый вариант работы программы (рис.9) вводилось имя файла с указанием расширения - open. txt (рис.10), из файла был загружен текст и выведена экран монитора: "My name is Djon" (рис.11). Из предложенного варианта был выбран пункт шифрование, текст был зашифрован с параметром ключа равного одному и выведен на экран (рис.12).

При повторном запуске Сezar. exe выбирался второй вариант работы программы и вводился текст: "Nz obnf jt Ekpo" (рис.13), и запускалось его дешифрование, с параметром ключа равного одному, текст расшифровался и вывелся на экран монитора: "My name is Djon" (рис.14). Расшифрованный текст был сохранен в файл - save. txt

При работе всех двух приложений ошибок не возникало.

Подробная работа каждой программы- (рисунок 9), (рисунок 10), (рисунок 11), (рисунок 12), (рисунок 13), (рисунок 14).

5. Скриншоты

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

Рисунок 10 - Окно ввода пути.

Рисунок 11 - Окно информации из файла.

Рисунок 12 - Окно результата.

Рисунок 12 - Окно ввода информации.

Рисунок 12 - Окно результата №2.

Заключение

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

Выводы.

программа работает;

поставленные задачи выполняет.

В результате выполнения курсовой работы были получены навыки составления алгоритма для поставленной задачи и воплощения этого алгоритма в текст программы, написанной на языке Pascal, с использованием вставок языка Assembler в среде FreePascal. А также было разработано программное средство, успешно решающее поставленную задачу, т.е. была написана программа, работающая в двух режимах, позволяющая шифровать и расшифровывать тексты "шифр Августа".

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

Список литературы

1.

2. TurboPascal. Немнюгин. - Санкт Петербург, 200. - 540c.

3. Паскаль для школьников Ушаков Д. М, Юркова - Москва: Питер, 2010. - 460с.

4. Знаешь ли ты Паскаль? В.П. Гладков - Пермь2001 - 1152 c.

5. Турбо Паскаль в примерах и задачах П.П. Васильев - Москва 2003. - 326c.

6. Новые возможности Turbo-Pascal 6.0. Блашкин И.И., Буров А.А. - СПб.: Изд-во "Макет", 1992.

7. Меженный О.А. Turbo Pascal. Самоучитель Издательство: Вильямс, Диалектика 2008,http://ru. wikipedia.org

Размещено на Allbest.ru


Подобные документы

  • История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.

    курсовая работа [923,6 K], добавлен 26.12.2011

  • Схема работы и требования к программам шифрования и дешифрования. Алгоритмы и тексты программы шифрования и программы дешифрования, выполненные на языке программирования C/C++. Содержание файла с исходным текстом, с шифротекстом, с дешифрованным текстом.

    курсовая работа [24,7 K], добавлен 20.10.2014

  • Метод последовательных приближений. Требования к аппаратным ресурсам и программным средствам разработки. Руководство пользователя, тестовые примеры. Тестирование приложения: ввод вычислений, рисование графика функции. Особенности применения программы.

    курсовая работа [773,7 K], добавлен 27.08.2012

  • Выбор и обоснование выбора среды разработки. Разработка алгоритма работы программы, проектирование системы меню. Общее описание программы: назначение и область применения, интерфейс, требования к аппаратным и программным ресурсам, тестирование и листинг.

    курсовая работа [543,2 K], добавлен 20.05.2013

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

    курсовая работа [85,9 K], добавлен 31.10.2014

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

    отчет по практике [700,5 K], добавлен 24.11.2014

  • Организация вычислительных процессов и программирования на алгоритмическом языке. Создание программы "Калькулятор". Выбор языка и среды программирования. Функциональная схема работы программы, описание разработанных алгоритмов. Способы устранения ошибок.

    курсовая работа [434,1 K], добавлен 27.08.2012

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

    курсовая работа [19,0 K], добавлен 30.04.2011

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

  • Разработка игры "Экзамен" с применением объектно-ориентированного программирования и языка Java (в среде Eclipse Helios). Структура программы и алгоритм решения задачи. Описание методов и переменных. Экспериментальное тестирование и оценка программы.

    курсовая работа [122,5 K], добавлен 19.05.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.