Реферат по предмету "Информатика, программирование"


Программа для шифрования данных с помощью шифра Тритемиуса

Федеральноеагентство по образованию Российской Федерации
Государственноеобразовательное учреждение высшего профессионального образования
«Южно-Уральскийгосударственный университет»
Факультет«Приборостроительный»
Кафедра«Электронные вычислительные машины»
ПОЯСНИТЕЛЬНАЯЗАПИСКА
К КУРСОВОЙРАБОТЕ
«Программированиена языках высокого уровня»
Автор проекта
студент группы
Валимухамматов Рустам Римович
Челябинск 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)
ab c d e f
k00 01 02 03 04 05
         bc b c b c
1 01 02 01 02 01 02
m0103 03 05 05 07
kkb dd ff h
Таким образом кодоваякомбинация получается 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]of string-массив, куда заносятся символы ключевого слова:
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Текстпрограммы
programkursach;
usescrt;
typemas=array[1..15] of string;
mas1=array[1..230]of string;
functionproverka(q:char):boolean;
begin
if((ord(q)>=65) and (ord(q)=97)) and((ord(q)
or(q=#27) or (q=#13) or(q='.') then proverka:=true else proverka:=false;
end;
functionproverka1(q1:char):boolean;
begin
if((ord(q1)90) and (ord(q1)122))then proverka1:=false;
end;
functionshifr(y1:string):integer;
vary2:array[1..2] of string;y:char;
begin
y2[1]:=y1;
y:=y2[1][1];
if((ord(y)>=65)and(ord(y)
thenshifr:=(ord(y)-65) else
if((ord(y)>=97)and(ord(y)
thenshifr:=(ord(y)-97)
end;
functiondeshifr(z:integer):char;
begin
deshifr:=(chr(z+97));
end;
procedurebackspace(var s21:string);
vari1:integer;s31:string;
begin
iflength(s21)0 then begin
gotoXY(whereX-1,whereY);
write('');
gotoXY(whereX-1,whereY);
s31:='';
fori1:=1 to (length(s21)-1) do s31:=s31+s21[i1];
s21:=s31;
end;
end;
procedureprobel1(i2:integer);
vari3:integer;
begin
fori3:=1 to i2 do write(' ');
end;
vara,c,c1,z,vixod:char;keyword1:mas;
text1:mas1;
s,keyword,text,otvet,imyafaila:string;
i,k,l,o,j,d,sdvig,u:integer;h,probel,enter,t,y,p,result:boolean;
kk:char;m,q:integer;
f,f2,f3:fileof char;
begin
clrscr;
textattr:=116;
fori:=1 to 80 do write('=');
window(1,0,1,7);
fori:=1 to 6 do writeln('*');
window(1,8,80,9);
fori:=1 to 80 do write('=');
window(80,2,80,8);
fori:=1 to 6 do write ('*');
textattr:=3;
window(20,3,80,5);
write('Work for programming on high-level languages');
window(25,5,80,6);
write('Encryption based on Tritemius code');
textattr:=6;
window(44,7,80,8);
write('Made by Valimyxammatov Rustam,PS-197');
window(5,9,80,25);
sdvig:=0;
textattr:=7;
repeat
clrscr;
probel1(28);writeln('MainMenu.Press:');
probel1(5);writeln('1- for encryption');
probel1(5);writeln('2- for decryption');
probel1(5);write('0- for exit');
repeat
a:=readkey;{запрашиваем выбор меню}
until(a='0') or (a='1') or (a='2') or (a='3');
if(a='1') then
begin
clrscr;
repeat
ifc=#13 then clrscr;
textattr:=7;
probel1(10);Writeln('Encryptiontext (for return in maimmenu press )');
repeat
Writeln('Pleaseenter keyword for encryption(min length-1 symbol,max length-15)');
l:=0;j:=0;keyword:='';h:=true;enter:=true;probel:=true;{запрашиваем ключевое слово, начинаем посимвольно считывать}
c:=readkey;write(c);l:=1;otvet:='';
iford(c)27then {если первый символ не клавиша Esc}
iford(c)=13 then begin enter:=false;writeln('Keyword is not entered.Pleaseenter');end else
begin
keyword:=keyword+c;h:=proverka1(c);
repeat
c:=readkey;if(proverka(c)=true) then begin
ifc=#8 then backspace(keyword) else write(c);
if((c#8) and (c' ') and (ord(c)13) and(ord(c)27)) then {игнорируемпроблелы}
begin
keyword:=keyword+c;
l:=l+1;
end;
end;
until(ord(c)=13) or (ord(c)=27) or (l=16); {продолжаемвводпоканенажатEnter}
iford(c)27 then begin
if(keyword=' ') then begin probel:=false;writeln('Keyword is not entered.Pleaseenter');end;
if(h=false) then
begin
write('Youenter invalid keyword with numeral.Press and try again');
readln;
end;
if(l=16) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c:=readkey;
until(c=#13);
end;
end;
end;
until((probel)and(h)and(enter)) or (c=#27); {проверяемправильностьввода, есливерновыходимизцикла}
if(probel)and(h)and(enter) and (c#27) then begin
writeln;
writeln('Press for enter text manually or for encrypt fron the file');
repeat{предлагаемработу с файлом или вручную}
z:=readkey;
until(z='f')or(z='m')or(z=#27);
if(z#27) then begin
ifz='m' then begin
Writeln('Pleaseenter the text to encrypt(min length-1 symbols,max length-230)');
Repeat{есливыбран режим ввода вручную, запрашиваем текст для шифрования}
l:=0;j:=0;text:='';h:=true;enter:=true;probel:=true;
c:=readkey;write(c);l:=1;
iford(c)27 then
iford(c)=13 then begin enter:=false;writeln('Text is not entered.Pleaseenter');end else
begin
text:=text+c;h:=proverka1(c);
repeat
c:=readkey;if(proverka(c)=true) then begin
ifc=#8 then backspace(text) else write(c);
if((c#8) and (c' ') and (ord(c)13) and(ord(c)27)) then
begin
text:=text+c;
l:=l+1;
end;
end;
until(ord(c)=13) or (ord(c)=27) or (l=231);
iford(c)27 then begin
if(text=' ') then begin probel:=false;writeln('Text is not entered.Pleaseenter');end;
if(h=false) then
begin
write('Youenter invalid text with numeral.Press and try again');
readln;
end;
if(l=231) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c:=readkey;
until(c=#13);
end;
end;
end;
until((probel)and(h)and(enter))or (c=#27); {проверки аналогичныепроверкамключевогослова}
if(probel)and(h)and(enter)and(text'')and(keyword'')and(c#27)then
begin
fori:= 1 to length(keyword) do
keyword1[i]:=copy(keyword,i,1);
fori:= 1 tolength(text)do {переводимключевое слово и текст в массивы}
text1[i]:=copy(text,i,1);
q:=1;
fori:=1 to length(text) do
begin
m:=(((shifr(text1[i]))+(shifr(keyword1[q])))mod31);
kk:=deshifr(m);
otvet:=otvet+kk;
q:=q+1;
ifq=(length(keyword)+1) then q:=1;
end;{шифруемтекст}
writeln;
writeln('Encryptedtext:',otvet);
write('Saveencrypted text in fail?(y-yes,n-now)'); {предлагаемсохранитьшифрованныйтекствфайл}
repeat
z:=readkey;
until(z='y')or(z='Y')or(z='n')or(z='N');
if(z='y')or(z='Y') then begin
writeln('Enterthe name of the file'); {если нажатопросимввестиимяфайла}
repeat
l:=0;j:=0;imyafaila:='';h:=true;enter:=true;probel:=true;result:=true;
c1:=readkey;write(c1);l:=1;
iford(c1)27 then
iford(c1)=13 then begin enter:=false;writeln('Filename is not entered.Pleaseenter');end else
begin
imyafaila:=imyafaila+c1;h:=proverka1(c1);
repeat
c1:=readkey;if(proverka(c1)=true) then begin
ifc1=#8 then backspace(imyafaila) else write(c1);
if((c1#8) and (c1' ') and (ord(c1)13) and(ord(c1)27)) then
begin
imyafaila:=imyafaila+c1;
l:=l+1;
end;
end;
until(ord(c1)=13) or (ord(c1)=27) or (l=50);
iford(c1)27 then begin
if(imyafaila=' ') then begin probel:=false;writeln('Filename is not entered.Pleaseenter');end;
if(h=false) then
begin
write('Youenter invalid filename with numeral.Press and try again');
readln;
end;
if(l=50) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c1:=readkey;
until(c1=#13);
end;
end;
end;
until((probel)and(h)and(enter)and(result)) or (c1=#27);
assign(f,imyafaila);
{$I-}
reset(f);
{$I+}
result:=IOResult=0;
ifnot result then rewrite(f) else begin reset(f);if filesize(f)0 thenrepeat read(f,c);until(EOF(f));end; {еслифайлсуществуетперемещаемкурсорвконецфайла, либосоздаемновыйфайл}
fori:=1 to length(otvet) do
write(f,otvet[i]);{записываем данные}
close(f);
end;
writeln;
writeln('Press for continue encryption or for exit');{предлагаемпродолжитьшифрование}
repeat
c:=readkey;
until(c=#13)or (c=#27);
end;
end;
if(z='f')then {есливыбрана работа с файлами вручную предлагается ввести имя файла; вводпродолжается до тех пор, пока не будет найден файл с правильным именем}
begin
repeat
clrscr;
probel1(10);Writeln('Encryptiontext (for return in maimmenu press )');
writeln('Enterthe name of the file');
repeat
l:=0;j:=0;imyafaila:='';h:=true;enter:=true;probel:=true;result:=true;
c1:=readkey;write(c1);l:=1;
iford(c1)27 then
iford(c1)=13 then begin enter:=false;writeln('Filename is not entered.Pleaseenter');end else
begin
imyafaila:=imyafaila+c1;h:=proverka1(c1);
repeat
c1:=readkey;if(proverka(c1)=true) then begin
ifc1=#8 then backspace(imyafaila) else write(c1);
if((c1#8) and (c1' ') and (ord(c1)13) and(ord(c1)27)) then
begin
imyafaila:=imyafaila+c1;
l:=l+1;
end;
end;
until(ord(c1)=13) or (ord(c1)=27) or (l=50);
iford(c1)27 then begin
if(imyafaila=' ') then begin probel:=false;writeln('Filename is notentered.Please enter');end;
if(h=false) then
begin
write('Youenter invalid filename with numeral.Press and try again');
readln;
end;
if(l=50) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c1:=readkey;
until(c1=#13);
end;
assign(f,imyafaila);
{$I-}
reset(f);
{$I+}
result:=IOResult=0;
ifnot result then begin writeln('File not found.Try again');result:=false;end
elseclose(f);
end;
end;
until((probel)and(h)and(enter)and(result)) or (c1=#27);
if(result) and (c1#27) then
begin
fori:= 1 to length(keyword) do
keyword1[i]:=copy(keyword,i,1);
assign(f2,'laba2.txt');
rewrite(f2);
reset(f);
repeat
read(f,c1);
if((ord(c1)>=65)and(ord(c1)=97)and(ord(c1)
write(f2,c1);{проверяем данные из файла, считываем только кириллицу, заносим во второй файл }
untilEOF(f);
close(f);
close(f2);
reset(f2);
assign(f3,'laba3.txt');
rewrite(f3);
q:=1;
repeat
read(f2,c1);
m:=(((shifr(c1))+(shifr(keyword1[q])))mod31);
kk:=deshifr(m);
write(f3,kk);
q:=q+1;
ifq=(length(keyword)+1) then q:=1;
until(EOF(f2));{шифруем и заносим данные в третий файл}
close(f2);
close(f3);
reset(f2);
reset(f3);
write('Textfor encrypt:');
repeatread(f2,c1);write(c1) until(EOF(f2));
writeln;
write('Encryptedtext:');
repeatread(f3,c1);write(c1) until(EOF(f3));
writeln;
write('Press for continue encryption or for exit');
repeat
c1:=readkey;{предлагается продолжить шифрование}
until(c1=#13)or(c1=#27);
end;
until(c1=#27);
end;
end;
end;
until(c=#27);
end;
if(a='2') thenbegin {действиявторого подменю аналогичны действиям первого подменю}
clrscr;
repeat
ifc=#13 then clrscr;
textattr:=7;
probel1(10);Writeln('Decryptiontext (for return in maimmenu press )');
repeat
Writeln('Pleaseenter keyword for decryption(min length-1 symbol,max length-15)');
l:=0;j:=0;keyword:='';h:=true;enter:=true;probel:=true;
c:=readkey;write(c);l:=1;otvet:='';
iford(c)27 then
iford(c)=13 then begin enter:=false;writeln('Keyword is not entered.Pleaseenter');end else
begin
keyword:=keyword+c;h:=proverka1(c);
repeat
c:=readkey;if(proverka(c)=true) then begin
ifc=#8 then backspace(keyword) else write(c);
if((c#8) and (c' ') and (ord(c)13) and(ord(c)27)) then
begin
keyword:=keyword+c;
l:=l+1;
end;
end;
until(ord(c)=13) or (ord(c)=27) or (l=16);
iford(c)27 then begin
if(keyword=' ') then begin probel:=false;writeln('Keyword is not entered.Pleaseenter');end;
if(h=false) then
begin
write('Youenter invalid keyword with numeral.Press and try again');
readln;
end;
if(l=16) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c:=readkey;
until(c=#13);
end;
end;
end;
until((probel)and(h)and(enter)) or (c=#27);
if(probel)and(h)and(enter) and (c#27) then begin
writeln;
writeln('Press for enter text manually or for encrypt fron the file');
repeat
z:=readkey;
until(z='f')or(z='m')or(z=#27);
if(z#27) then begin
ifz='m' then begin
Writeln('Pleaseenter the text to decrypt(min length-1 symbols,max length-230)');
repeat
l:=0;j:=0;text:='';h:=true;enter:=true;probel:=true;
c:=readkey;write(c);l:=1;
iford(c)27 then
iford(c)=13 then begin enter:=false;writeln('Text is not entered.Pleaseenter');end else
begin
text:=text+c;h:=proverka1(c);
repeat
c:=readkey;if(proverka(c)=true) then begin
ifc=#8 then backspace(text) else write(c);
if((c#8) and (c' ') and (ord(c)13) and(ord(c)27)) then
begin
text:=text+c;
l:=l+1;
end;
end;
until(ord(c)=13) or (ord(c)=27) or (l=231);
iford(c)27 then begin
if(text=' ') then begin probel:=false;writeln('Text is not entered.Pleaseenter');end;
if(h=false) then
begin
write('Youenter invalid text with numeral.Press and try again');
readln;
end;
if(l=231) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c:=readkey;
until(c=#13);
end;
end;
end;
until((probel)and(h)and(enter))or (c=#27);
if(probel)and(h)and(enter)and(text'')and(keyword'')and(c#27)then
begin
fori:= 1 to length(keyword) do
keyword1[i]:=copy(keyword,i,1);
fori:= 1 to length(text) do
text1[i]:=copy(text,i,1);
q:=1;
fori:=1 to length(text) do
begin
if(((shifr(text1[i]))-(shifr(keyword1[q])))>=0) then
m:=(((shifr(text1[i]))-(shifr(keyword1[q])))mod31)
elsem:=(((shifr(text1[i]))-(shifr(keyword1[q])))+31);
kk:=deshifr(m);
otvet:=otvet+kk;
q:=q+1;
ifq=(length(keyword)+1) then q:=1;
end;
writeln;
writeln('Decryptedtext:',otvet);
writeln('Saveencrypted text in fail?(y-yes,n-now)');
repeat
z:=readkey;
until(z='y')or(z='Y')or(z='n')or(z='N');
if(z='y')or(z='Y') then begin
writeln('Enterthe name of the file');
repeat
l:=0;j:=0;imyafaila:='';h:=true;enter:=true;probel:=true;result:=true;
c1:=readkey;write(c1);l:=1;
iford(c1)27 then
iford(c1)=13 then begin enter:=false;writeln('Filename is not entered.Pleaseenter');end else
begin
imyafaila:=imyafaila+c1;h:=proverka1(c1);
repeat
c1:=readkey;if(proverka(c1)=true) then begin
ifc1=#8 then backspace(imyafaila) else write(c1);
if((c1#8) and (c1' ') and (ord(c1)13) and(ord(c1)27)) then
begin
imyafaila:=imyafaila+c1;
l:=l+1;
end;
end;
until(ord(c1)=13) or (ord(c1)=27) or (l=50);
iford(c1)27 then begin
if(imyafaila=' ') then begin probel:=false;writeln('Filename is notentered.Please enter');end;
if(h=false) then
begin
write('Youenter invalid filename with numeral.Press and try again');
readln;
end;
if(l=50) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c1:=readkey;
until(c1=#13);
end;
end;
end;
until((probel)and(h)and(enter)and(result)) or (c1=#27);
assign(f,imyafaila);
{$I-}
reset(f);
{$I+}
result:=IOResult=0;
ifnot result then rewrite(f) else begin reset(f);if filesize(f)0 thenrepeat read(f,c);until(EOF(f));end;
fori:=1 to length(otvet) do
write(f,otvet[i]);
close(f);
end;
write('Press for continue decryption or for exit');
repeat
c:=readkey;
until(c=#13)or (c=#27);
end;
end;
if(z='f') then
begin
repeat
clrscr;
probel1(10);Writeln('Decryptiontext (for return in maimmenu press )');
writeln('Enterthe name of the file');
repeat
l:=0;j:=0;imyafaila:='';h:=true;enter:=true;probel:=true;result:=true;
c1:=readkey;write(c1);l:=1;
iford(c1)27 then
iford(c1)=13 then begin enter:=false;writeln('Filename is not entered.Pleaseenter');end else
begin
imyafaila:=imyafaila+c1;h:=proverka1(c1);
repeat
c1:=readkey;if(proverka(c1)=true) then begin
ifc1=#8 then backspace(imyafaila) else write(c1);
if((c1#8) and (c1' ') and (ord(c1)13) and(ord(c1)27)) then
begin
imyafaila:=imyafaila+c1;
l:=l+1;
end;
end;
until(ord(c1)=13) or (ord(c1)=27) or (l=50);
iford(c1)27 then begin
if(imyafaila=' ') then begin probel:=false;writeln('Filename is notentered.Please enter');end;
if(h=false) then
begin
write('Youenter invalid filename with numeral.Press and try again');
readln;
end;
if(l=50) then
begin
write('Exceededthe maximum length of string.Press ');
repeat
c1:=readkey;
until(c1=#13);
end;
assign(f,imyafaila);
{$I-}
reset(f);
{$I+}
result:=IOResult=0;
ifnot result then begin writeln('File not found.Try again');result:=false;end
elseclose(f);
end;
end;
until((probel)and(h)and(enter)and(result)) or (c1=#27);
if(result) and (c1#27) then
begin
fori:= 1 to length(keyword) do
keyword1[i]:=copy(keyword,i,1);
assign(f2,'laba2.txt');
rewrite(f2);
reset(f);
repeat
read(f,c1);
if((ord(c1)>=65)and(ord(c1)=97)and(ord(c1)
write(f2,c1);
untilEOF(f);
close(f);
close(f2);
reset(f2);
assign(f3,'laba3.txt');
rewrite(f3);
q:=1;
repeat
read(f2,c1);
if(((shifr(c1))-(shifr(keyword1[q])))>=0) then
m:=(((shifr(c1))-(shifr(keyword1[q])))mod31)
elsem:=(((shifr(text1[i]))-(shifr(keyword1[q])))+31);
kk:=deshifr(m);
write(f3,kk);
q:=q+1;
ifq=(length(keyword)+1) then q:=1;
until(EOF(f2));
close(f2);
close(f3);
reset(f2);
reset(f3);
write('Textfor decrypt:');
repeatread(f2,c1);write(c1) until(EOF(f2));
writeln;
write('Decryptedtext:');
repeatread(f3,c1);write(c1) until(EOF(f3));
writeln;
write('Press for continue decryption or for exit');
repeat
c1:=readkey;
until(c1=#13)or(c1=#27);
end;
until(c1=#27);
end;
end;
end;
until(c=#27);
end;
until(a='0');
end.
2.5 Порядок вводаисходных данных и описание получаемых результатов
-программа выдает менюпользователю;
-после входа в менюшифровки(дешифровки) запрашивает ключевое слово для шифрования, длина которогоне должна быть превышать 15 символов;
-если слово не введено- выдает соответствующее сообщение и просит ввести его;
-если длина ключевогослова не соответствует условию, программа выдает соответствующее сообщение ипросит ввести заново;
-программа игнорируетввод цифр, то есть цифры не отображаются и не заносятся в память, не даваяпользователю тем самым ошибиться;
-программа пропускаетпробелы до и после слова и не считывает их, ввод продолжается до нажатия либо до отмены с помощью ;
-после программа проситвыбрать режим работы с текстом – вручную или из файла;
-если выбран режимввода вручную просит ввести текст, длина которого не должна превышать 230символов;
-проверка ввода текстатакая же, как у ключевого слова;
-если выбрана работа сфайлами просит ввести имя файла;
-после в обоих случаяхвыдает шифрованный текст;
-для выхода в основноеменю предлагается нажать , дляпродолжения работы в подменю – , длявыхода из программы предлагается нажать .
2.6 Описание тестовыхзаданий и анализ правильности функционирования
/>
Рис.1 Начальное окно
/>
Рис. 2 Подменюшифровки. После ввода ключевого слова предлагается два режима ввода текста — вручную либо из файла
/>
Рис.2.1Примершифрования вручную
/>
Рис.2.2 Пример шифрованияиз файла( файл содержит комбинацию ab_c1d2ef)
/>
Рис.3.1.Менюдешифровки. Пример ввода вручную. Из рис 2.1 следует что шифрование произведеноправильно
/>
Рис.3.2.Примердешифрования из файла. (файл содержит комбинацию b_d1d2f3fh ) Из рис 2.2следует что дешифрование произведено правильно

3. Литература
1 Прайс Д. Программирование на языкеПаскаль: Практическое руководство. Перевод с англ.-М:.Мир,1987.-232с.;
2. Фаронов В.В. Ф24 Турбо Паскаль(в 3-хэкземплярах).Кн.3.Практика программирования. Часть 1.-М.: Учебно-инженерныйцентр «МВТУ – ФЕС ТО ДИДАКТИК»,1993.-238с.
3. Перминов О.Н. Программирование наязыке Паскаль. – М.: Радио и связь,1989.-224 с. 128 с.
4. Грогоно П. Программирование на языкеПаскаль: Пер. с англ./Под ред. Д.Б. Подшивалова. – М.: Мир, 1985. – 392 с.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Общественный строй древневосточных государств
Реферат Анализ финансового состояния ООО Компания леспром
Реферат 1. Особенности расчета тарифных ставок по страхованию жизни
Реферат АНГИОЛОГИЯ В ДЕТСКОЙ ХИРУРГИИ
Реферат Шкалы. Критерии надежности шкал. Классификация шкал
Реферат Современные тенденции в лечении шизофрении
Реферат Характеристика русско-турецкой войны конца XVIII века. Политический строй СССР 1956-1964 гг.
Реферат Использование графических редакторов в дизайне проектировании женских костюмов
Реферат Федеральный бюджет США
Реферат 9 июня 2011 г
Реферат Various Bios Of Western Settlers Essay Research
Реферат Диффузия при производстве ИМС
Реферат Формування системи показників конкурентоспроможності регіонів
Реферат Возможности текстового редактора MS Word'97 при решении задач по стереометрии
Реферат Предпринимательство в России в 19 веке