Федеральное агентство по образованию Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
«Южно-Уральский государственный университет»
Факультет «Приборостроительный»
Кафедра «Электронные вычислительные машины»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ
«Программирование на языках высокого уровня»
Автор проекта
студент группы
Валимухамматов Рустам Римович
Челябинск 2010г.
Содержание
1. Описание применения
1.1 Описание задачи и метода ее решения
1.2 Входные и выходные данные
2. Описание программы
2.1 Структура программы
2.2 Структуры используемых данных
2.3 Схема алгоритма
2.4.Текст программы
2.5 Порядок ввода исходных данных и описание получаемых результатов
2.6 Описание тестовых заданий и анализ правильности функционирования
3. Литература
1. Описание применения
1.1 Описание задачи и метода ее решения
Составить программу на языке Turbo Pascal для шифрования данных с помощью шифра Тритемиуса(расширение кода Цезаря).Выглядит это так.
Буквы алфавита нумеруются. Затем ключевое слово циклически накладывается на кодируемый текст. Кодовая буква получается как остаток от деления суммы номера буквы кодируемого текста и ключевого слова на число 31 например (ключевое слово bc)
a b c d e f
k 00 01 02 03 04 05
b c b c b c
1 01 02 01 02 01 02
m01 03 03 05 05 07
kkbddffh
Таким образом кодовая комбинация получается bddffh.
Ниже приведена таблица номеров букв:
A – 00; N – 13;
B – 01; O – 14;
C – 02; P – 15;
D – 03; Q – 16;
E – 04; R – 17;
F – 05; S – 18;
G – 06; T – 19;
H – 07; U – 20;
I – 08; V – 21;
J – 09; W – 22;
K – 10; X – 23;
L – 11; Y – 24 ;
M – 12; Z – 25;
1.2 Входные и выходные данные
На вход программе подается ключевое слово. Затем задается текст для шифрования(дешифрования, в зависимости от выбранного меню) вручную, либо указанием имени файла с текстом. Минимальная длина текст и ключевого слово – 1 символ. Максимальная длина ключевого слово – 15 символов, максимальная длина текста, заданного вручную, – 230 символов(при чтении из файла ограничений нету).
На выход программа выдает шифрованный (дешифрованный) текст.
2. Описание программы
2.1 Структура программы
Программа организована цельным текстом, пошагово. Язык интерфейса – английский.
Программа выполняет следующие действия:
-строит графическое оформление;
-предлагает меню из 3-х пунктов;
-после захода в подменю запрашивает ключевое слово(всегда, в независимости от выбранного меню);
-запрашивает текст для (де)шифрования (либо просит ввести имя файла, если чтение происходит оттуда);
-выдает (де)шифрованный текст(либо также исходный, если чтение из файла);
-предлагает продолжить (де)шифрование, либо вернуться в главное меню.
2.2 Структуры используемых данных
mas=array[1..15] ofstring- массив ,куда заносятся символы ключевого слова:
mas1= array[1..230] ofstring - массив строкового типа для введенного текста
с,с1 - переменные символьного типа для считывания с клавиатуры символов(либо из файла);;
keyword,text,otvet, imyafaila – переменные строкового типа;в них заносится ключевое слово, текст для шифрования, получившийся (де)шифрованный текст, и имя файла для дальнейшей работы с ним;
h,probel,enter – переменные логического типа, используемые для различных проверок на вводе данных;
kk- переменная используется для построения (де)шифрованного текста
f,f2,f3 - файлы символьного типа для сохранения(считывания)данных
function proverka - функция для проверки вводимого текста. Становится равной true если вводимый символ буква;
function shifr - функция шифрования. В качестве аргумента выступает переменная строкового типа, но, так как, в программе заранее задается что эта переменная будет длиною в один символ, функция сначала переводит переменную в символьный тип, затем используется порядковый номер символа в таблице ASCII для шифрования;
function deshifr - функция дешифрования. Используется также порядковый номер символа в таблице ASCII;
backspace -функция корректировки вводимых данных, стирает последний вводимый символ.
2.3 Схема алгоритма
2.4 Текстпрограммы
program kursach;
uses crt;
type mas=array[1..15] of string;
mas1=array[1..230] of string;
function proverka(q:char):boolean;
begin
if ((ord(q)>=65) and (ord(q)<=90)) or ((ord(q)>=97)) and ((ord(q)<=122)) or (q=#8)
or (q=#27) or (q=#13) or(q='.') then proverka:=true else proverka:=false;
end;
function proverka1(q1:char):boolean;
begin
if ((ord(q1)<65) or (ord(q1)>90) and (ord(q1)<97) or (ord(q1)>122)) then proverka1:=false;
end;
function shifr(y1:string):integer;
var y2:array[1..2] of string;y:char;
begin
y2[1]:=y1;
y:=y2[1][1];
if ((ord(y)>=65)and(ord(y)<=90))
then shifr:=(ord(y)-65) else
if ((ord(y)>=97)and(ord(y)<=122))
then shifr:=(ord(y)-9
Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.