Автор: Пользователь скрыл имя, 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
Приложения………..…………………
Версия шаблона | 2.1 |
Филиал | Обнинский |
Вид работы | Курсовая работа |
Название дисциплины | Программирование на языке высокого уровня |
Тема | Написать программу «Шифр Цезаря» |
Фамилия студента | Юренков |
Имя студента | Александр |
Отчество студента | Викторович |
№ контракта | 02900090602046 |
Основные данные о работе …………………………………………..……...…….1
Введение
……………………………………………………………..……...
1. Разработка эскизного и технического проекта ………………………..………6
1.1 Анализ задачи ………………………………………………………………….6
1.2Описание алгоритма ……………………………………………………………7
2. Разработка рабочего проекта …………………………………………………...9
2.1 Выбор состава технических и программных средств ……………………….9
2.2
Описание программы ……………………………
2.3
Текст программы ……………………………………
Заключение ……………………………………………………………………….13
Глоссарий …………………………………………………………………………15
Список использованных источников …………………………………………....18
Приложения………..…………………………
Программы, работающие на компьютере, можно разделить на три категории: Прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ: редактирование текстов, рисование, обработку информационных массивов и т.д. Основная цель данной курсовой работы – обучение. Студент учится формировать постановку задач, составлять алгоритмы их решения и формализовать эти алгоритмы в популярной среде программирования. В ходе написания программы студент осваивает язык C++ и особенности его трансляции в компиляторе Builder.
Также одной из основных задач является обучение правильному оформлению документации программы, что немаловажно для специалиста.
Для достижения этих целей была выбрана задача «Шифр Цезаря». Уровень сложности этой задачи позволяет ознакомиться с основными этапами написания реальных программ, и приобрести определенные навыки программирования.
Системные программы,
В наше время информационных технологий большая значимость отводится проблеме информированной безопасности, обеспечению защиты конфиденциальной информации от ознакомления с ней конкурирующих групп.
О важности сохранения информации в тайне знали уже в древние времена, когда с появлением письменности появилась и опасность ознакомления ней нежелательных лиц. Было три основных способа защиты информации. Один из них предполагал защиту ее чисто физическими методами: охрана документа - носителя информации -физическими лицами, передача его специальным курьером и т.д. Второй способ получил название "стеганография" (латино-греческое сочетание слов, означающих в совокупности "тайнопись"). Его принцип был в скрытии самого факта наличия информации. В этом случае использовались так называемые симпатические чернила. При соответствующем "проявлении" бумаги текст становится видимым. Один из примеров сокрытия информации приведен в письменах древнегреческого историка Геродота. На голове раба, которая брилась наголо, записывалось нужная информация. И когда волосы его становились достаточно длинными, раба отправляли к получателю, который заново брил его голову и читал полученное сообщение.
И ещё один способ защиты информации заключался в переделывании смыслового текста в некий набор хаотических знаков (или букв алфавита). Адресат этого сообщения имел возможность преобразовать его в то же самое смысловое сообщение, если обладал ключом к его построению. Этот способ охраны информации назывался криптографическим. Криптография - слово греческое и в переводе означает "тайнопись". По утверждению многих специалистов криптография по возрасту - современник египетских пирамид. В документах древних стран - Индии, Египта, Месопотамии - есть сведения о системах и способах составления шифрованных писем.
Более подробные и достоверные сведения о шифрах относятся к Древней Греции.
Главное понятие криптографии - шифр (от арабского "цифра"; арабы первыми стали заменять буквы на цифры с целью защиты исходного текста). Тайный элемент шифра, недоступный посторонним, называется ключом шифра. Как правило, в древние времена использовались так называемые шифры замены и шифры перестановки.
Историческим примером шифра замены является шифр Цезаря (1 век до н.э.), описанный Римским историком Светонием. Гай Юлий Цезарь пользовался в своей переписке шифр собственного изобретения. Применительно к современному русскому языку он состоял в следующем. Переписывался алфавит: А, Б, В, Г, Д,Е,...,; затем под ним переписывался такой же алфавит, но со смещением на 3 буквы влево.
Таким образом, можно утверждать, что основы криптологии были заложены давно в древности и, естественно, после многолетнего существования нашли широчайшее применение в современной жизни.
Задача
Написать программу «Написать программу «Шифр Цезаря». Использовать одно поле для ввода операторов и для вывода результата
1.1 Анализ задачи
Эту задачу для решения удобно разбить на несколько подзадач, а именно:
осуществить подготовку данных;
отдельно их обработку;
сделать вывод результата.
Подготовка данных состоит в:
- введении исходного текста;
- автоматическом выборе ключа;
Обработка данных заключается в:
- постепенном чтении кодов всех символов;
- для режима шифрования - в постепенной замене каждого считанного кода буквы русского алфавита на код буквы, отстоящей по кругу от исходной на число букв, соответствующему ключу ;
- для режима дешифрования – в постепенной смене каждого считанного кода буквы русского алфавита на код буквы, отстоящей по кругу против часовой стрелки от начальной на число букв, соответствующему ключу ;
Вывод результатов объединяет в себя в зависимости от выбранного режима работы программы:
-
выведение полученных результатов, а именно
зашифрованный/расшифрованный текст.
1.2 Описание алгоритма.
Алгоритм состоит из:
1 Общая блок-схема, состоит из:
А) Подготовка необходимых данных.
Б) Шифрование \ дешифрование текста.
В) Вывод результатов.
2 Шифрование текста, состоит из:
А) Считывание кода очередного символа.
Б) Сдвиг буквы.
В) Вывод символа во второе текстовое поле, и отчистка первого поля.
3 Блок-схема функции дешифрования текста состоит из:
А) Считывание кода очередного символа из второго текстового поля.
Б) Сдвиг буквы.
В)
Запись символа в первое текстовое
поле и отчистка второго поля.
Описание алгоритма
Описание Алгоритма
Рисунок 1 – Общая блок-схема программы.
Шифрование текста представлено на блок-схеме 2
Рисунок
2 – Блок-схема функции
Рисунок
3 – Блок-схема функции дешифрования
текста.
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 значение текстового поля