Написать программу «Шифр Цезаря»

Автор: Пользователь скрыл имя, 18 Ноября 2011 в 12:59, курсовая работа

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

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

Оглавление

Основные данные о работе …………………………………………..……...…….1
Введение ……………………………………………………………..……...……...3
1. Разработка эскизного и технического проекта ………………………..………6
1.1 Анализ задачи ………………………………………………………………….6
1.2Описание алгоритма ……………………………………………………………7
2. Разработка рабочего проекта …………………………………………………...9
2.1 Выбор состава технических и программных средств ……………………….9
2.2 Описание программы ………………………………………………………….9
2.3 Текст программы ……………………………………………………………..10
Заключение ……………………………………………………………………….13
Глоссарий …………………………………………………………………………15
Список использованных источников …………………………………………....18
Приложения………..…………………

Файлы: 1 файл

Юренков.doc

— 189.50 Кб (Скачать)

     Основные данные о работе

Версия  шаблона 2.1
Филиал Обнинский
Вид работы Курсовая работа
Название  дисциплины Программирование  на языке высокого уровня
Тема  Написать  программу «Шифр Цезаря»
Фамилия студента Юренков
Имя студента Александр
Отчество  студента Викторович
№ контракта 02900090602046

     Содержание

     Основные  данные о работе …………………………………………..……...…….1

     Введение  ……………………………………………………………..……...……...3

     1. Разработка эскизного и технического проекта ………………………..………6

     1.1 Анализ задачи ………………………………………………………………….6

     1.2Описание алгоритма ……………………………………………………………7

     2. Разработка рабочего проекта …………………………………………………...9

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

     2.2 Описание программы ………………………………………………………….9

     2.3 Текст программы ……………………………………………………………..10

     Заключение  ……………………………………………………………………….13

     Глоссарий …………………………………………………………………………15

     Список  использованных источников …………………………………………....18

     Приложения………..………………………………………………………….......20

     Введение

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

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

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

       Системные программы, выполняющие  различные вспомогательные функции,  например диагностика компьютера  или резервное копирование информации. Инструментальные системы (системы программирования), обеспечивающие создание новых программ. Данные категории программ в свою очередь так – же разделяются на несколько разделов. Например, прикладные программы можно разделить по уровню сложности обработки информации и результатов. Для математических вычислений существует множество различных програмных продуктов. Это известные всем пакеты MathCad, MathLab, Mathematika, Axum. Есть и более порстые: всевозможные программы – калькуляторы (имитирующие работу обычного калькулятора).

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

     О важности сохранения информации в тайне  знали уже в древние времена, когда с появлением письменности появилась и опасность ознакомления ней нежелательных лиц. Было три основных способа защиты информации. Один из них предполагал защиту ее чисто физическими методами: охрана документа - носителя информации -физическими лицами, передача его специальным курьером и т.д. Второй способ получил название "стеганография" (латино-греческое сочетание слов, означающих в совокупности "тайнопись"). Его принцип был в скрытии самого факта наличия информации. В этом случае использовались так называемые симпатические чернила. При соответствующем "проявлении" бумаги текст становится видимым. Один из примеров сокрытия информации приведен в письменах древнегреческого историка Геродота. На голове раба, которая брилась наголо, записывалось нужная информация. И когда волосы его становились достаточно длинными, раба отправляли к получателю, который заново брил его голову и читал полученное сообщение.

     И ещё один способ защиты информации заключался в переделывании смыслового текста в некий набор хаотических знаков (или букв алфавита). Адресат этого сообщения имел возможность преобразовать его в то же самое смысловое сообщение, если обладал ключом к его построению. Этот способ охраны информации назывался криптографическим. Криптография - слово греческое и в переводе означает "тайнопись". По утверждению многих специалистов криптография по возрасту - современник египетских пирамид. В документах древних стран - Индии, Египта, Месопотамии - есть сведения о системах и способах составления шифрованных писем.

       Более подробные и достоверные сведения о шифрах относятся к Древней Греции.

     Главное понятие криптографии - шифр (от арабского "цифра"; арабы первыми стали заменять буквы на цифры с целью защиты исходного текста). Тайный элемент шифра, недоступный посторонним, называется ключом шифра. Как правило, в древние времена использовались так называемые шифры замены и шифры перестановки.

     Историческим  примером шифра замены является шифр Цезаря (1 век до н.э.), описанный Римским историком Светонием. Гай Юлий Цезарь пользовался в своей переписке шифр собственного изобретения. Применительно к современному русскому языку он состоял в следующем. Переписывался алфавит: А, Б, В, Г, Д,Е,...,; затем под ним переписывался такой же алфавит, но со смещением на 3 буквы влево.

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

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

     1 Разработка эскизного и технического проектов программы

     Задача

     Написать  программу «Написать программу  «Шифр Цезаря». Использовать одно поле для ввода операторов и для  вывода результата

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

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

     осуществить подготовку данных;

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

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

     Подготовка  данных состоит в:

     - введении исходного текста;

     - автоматическом выборе ключа;

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

     - постепенном чтении кодов всех символов;

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

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

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

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

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

     Алгоритм  состоит из:

     1 Общая блок-схема, состоит из:

     А) Подготовка необходимых данных.

     Б) Шифрование \ дешифрование текста.

     В) Вывод результатов.

     2 Шифрование текста, состоит из:

     А) Считывание кода очередного символа.

     Б) Сдвиг буквы.

     В) Вывод символа во второе текстовое поле, и отчистка первого поля.

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

     А) Считывание кода очередного символа  из второго текстового поля.

     Б) Сдвиг буквы.

     В) Запись символа в первое текстовое  поле и отчистка второго поля. 

       Описание алгоритма представлено  на рис.1  Общая  блок- схема 
 
 
 

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

     

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

     Шифрование  текста представлено на блок-схеме 2

     

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

     

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

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

 

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

     Для создания данной программы была использована интегральная среда разработки программ Delphi 7.0. Среда Delphi позволяет достаточно быстро разрабатывать приложения для Windows.

     Технические характеристики компьютера: Pentium 100 и  выше; объём оперативной памяти не менее 10 Мб; жесткий диск объёмом не менее 600 Мб.

     Дополнительное  оборудование (устройство печати, устройство сканирования, дополнительные дисководы и т.д.) не используются.  

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

 
 

     -Для  шифрования нужно занести текст  в поле находящееся в левой части программы и активировать на кнопку «Зашифровать».

     -Для расшифровывания нужно занести текст в поле расположенное в правой части программы и активировать на клавишу «Расшифровать».

     -Для  выхода из приложения нужно нажать кнопку «Выход». 

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

     unit Unit1;

     interface

     uses

       Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

       Dialogs,xpman, StdCtrls, ExtCtrls;

     type

       TForm1 = class(TForm)

         Memo1: TMemo;

         Memo2: TMemo;

         Button1: TButton;

         Button2: TButton;

         Button3: TButton;

         procedure Button3Click(Sender: TObject);

         procedure Button1Click(Sender: TObject);

        procedure Button2Click(Sender: TObject);

       private

         { Private declarations }

       public

         { Public declarations }

       end;

     var

       Form1: TForm1;

       st,s:string;

       x,i:integer;

     implementation

     {$R *.dfm}

     procedure TForm1.Button3Click(Sender: TObject);

     begin

     close;  // покидание программы

     end;

     procedure TForm1.Button1Click(Sender: TObject);  // Шифровка надписи

     begin

     st:=memo1.lines.Text; // Присваивание переменной st значение  текстового поля

Информация о работе Написать программу «Шифр Цезаря»