Автор работы: Пользователь скрыл имя, 07 Июня 2013 в 13:47, контрольная работа
Задание. Шифрование текста — 1.
Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно следующей за ней по алфавиту (буква я заменяется на а).
а) Зашифровать данный текст.
б) Расшифровать данный текст.
Введение.
Задание.
Постановка задачи.
Основная часть.
1) Текст программы.
2) Описание алгоритма решения.
3) Блок-схема алгоритма.
Заключение.
1) Результат работы программы.
2) Список литературы
Содержание.
Введение.
Основная часть.
1) Текст программы.
2) Описание алгоритма решения.
3) Блок-схема алгоритма.
Заключение.
1) Результат работы программы.
2) Список литературы
Задание.
Шифрование текста — 1.
Чтобы зашифровать текст, записанный
с помощью русских букв и знаков
препинания, его можно переписать,
заменив каждую букву непосредственно
следующей за ней по алфавиту (буква
я заменяется на а).
а) Зашифровать данный текст.
б) Расшифровать данный текст.
Постановка задачи
То, что информация имеет ценность, люди осознали очень. Ведь еще с древних времен переписка правителей была объектом пристального внимания их недругов и друзей. Именно тогда и возникла задача защиты этой переписки от чрезмерно любопытных глаз. Древние пытались использовать для решения этой задачи самые разнообразные методы, и одним из них была тайнопись – умение составлять сообщения таким образом, чтобы его смысл был недоступен никому кроме посвященных в тайну. На протяжении всей своей многовековой истории, вплоть до совсем недавнего времени, это искусство служило немногим, в основном верхушке общества, не выходя за пределы резиденций глав государств, посольств и т.д. И лишь несколько десятилетий назад все изменилось коренным образом – информация приобрела самостоятельную коммерческую ценность и стала широко распространенным, почти обычным товаром. Ее производят, хранят, транспортируют, продают и покупают, а значит, воруют и подделывают и, следовательно, ее необходимо защищать. Современное общество все в большей степени становится информационно–обусловленным, успех любого вида деятельности все сильней зависит от обладания определенными сведениями и от отсутствия их у конкурентов. И чем сильней проявляется этот эффект, тем больше потребность в защите информации. Одним словом, возникновение индустрии обработки информации привело к возникновению индустрии средств защиты информации.
Целью данной курсового проекта является разработка программы, реализующей шифрование
В курсовом проекте были поставлены следующие задачи:
Анализ литературы при разработке программы шифрования
Анализ алгоритмов шифрования;
Разработка программы
Разработка руководства
Разработка руководства
Объектом в курсовом проекте является - методы шифрования
Описание алгоритма решения.
Чтобы
зашифровать и расшифровать тест,
воспользуемся функциями
k:=ord(a[i])+31; где k-номер буквы, к коду i-того символа введенной стоки добовляем
a[i]:=chr(k); 31(т.к.в русском алфавите 33 буквы, а буква «а» =«я» ) и преобразуем обратно в символ.
То есть код символа в Паскале можно определить при помощи функции Ord. Ее формат: Ord(C), где С - либо непосредственно указанный символ, либо переменная символьного типа, либо один символ строковой переменной. Есть и обратная функция, которая возвращает символ по известному коду. Это функция Chr(N), где N - выражение, приводящее к целому числу в интервале от 0 до 255 (возможные значения кода символа).
Объявляем переменные a:string, а- это строка буквенного типа, состоящая из 255 символов.
Создаем условие, что для i – того элемента, который начинается с единицы, я возвращаю длину строковой переменной в символах с помощью функции Length. Length(а). Условие продолжается: Если a[i] = А,то тогда выполняется действие k:=ord(a[i])+31;
a[i]:=chr(k).
или же a[i] in ['Б'..'Я','б'..'я'],то k:=ord(a[i])-1;
С помощью действия decrypt:=a ,мы получим -результат: текст.
Потом я создаю такое
же условие для функции
k:=ord(a[i])+ 1;
a[i]:=chr(k).
Объявляем переменные определенного типа: a:string; mode:byte;
Вывод на экран приглашения для ввода числа.
Begin
Readln(a);
Repeat
Write('Выберите режим (1-шифрование, 2-расшифрование): ');
Readln(mode);
Дальше нам нужен оператор Case –
Пока выполняется это условие делай от начала
Case Оператор( группы до конца);
Repeat;
Повторяет до тех пор пока условие не будет верным)
Текст программы.
Uses
crt;
Function decrypt(a:string):string;
Var i,k:integer;
Begin
For i:=1 to length(a) do
If (a[i] = 'А') or (a[i] = 'а') then Begin
If a[i] in ['Б'..'Я','б'..'я'] then Begin
decrypt:=a;
End;
Function encrypt(a:string):string;
Var i,k:integer;
Begin
For i:=1 to length(a) do
If (a[i] = 'Я') or (a[i] = 'я') then Begin
k:=ord(a[i])-31;
If a[i] in ['А'..'Ю','а'..'ю'] then Begin
encrypt:=a;
End;
Var
a:string;
mode:byte;
Begin
Readln(a);
Repeat
Write('Выберите режим (1-шифрование, 2-расшифрование): ');
Readln(mode);
Until (mode = 1) or (mode=2);
Case mode of
1:writeln(encrypt(a));
2:writeln(decrypt(a));
End;
End.
ПроверкаJ:
Например введем текст «Я люблю маму»
Выберем режим (1-шифрование, 2-расшифрование): 1
Получим: А мявмя нбнф
Введем «А мявмя нбнф»
Выберем режим (1-шифрование, 2-расшифрование): 2
Я люблю маму
Вывод: зашифрованные и расшифрованные данные полностью совпадают.
Блок схема
ОСНОВЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
Основными результатами работы стали:
.Изложение материала
по теме «шифрование и
. Описание алгоритма программы
. Описание программы
. Составление блок-схемы, характеризующей работу программы
. Составление и испытание программы шифрующей и дешифрующей текст пятью различными методами
Выводы:
Я обрела навыки работы в среде программирования Pascal. Результатом моей работы стала программа «Шифрование и дешифрование текста».
Литература
1)Web: <http://www.realcoding.net/
2)Web: <http://ru.wikipedia.org/wiki/
3)Л.Д. Михелев. «Язык программирования паскаль» издательство.
Москва, 2007. - 432с.:ил.
4)Web: <http://www.asciitable.com/>
5)Web: <http://pascal-video.ru/help-
6)Web: <http://www.cyberforum.ru/
7)Фарафонов В.В. Турбо Паскаль 7.0. Начальный курс: учеб. пособие. - М.: Кнорус, 2006.
8)Методические указания к лабораторным работам. ГОУВПО «воронежский государственный технический университет»; сост. Р.В.Батищев. Воронеж, 2006. 53с.
9) http://images.yandex.ru/ блок схемы
10) http://forum.developing.ru