Хелпикс

Главная

Контакты

Случайная статья





Design Part 1. Design Part  1.1.. Design Part 1.1.1.. Design Part  1.2.. Design Part  1.2.. Design Part  1.4.



Design Part 1

PROGRAM Encryption(INPUT, OUTPUT);

{Переводит символы из INPUT в код согласно Chiper

и печатает новые символы в OUTPUT}

CONST

Len = 20;

TYPE

Str = ARRAY [1 .. Len] OF ‘A’ .. ‘Z’;

Chiper = ARRAY [‘A’ .. ‘Z’] OF CHAR;

VAR

Msg: Str;

Code: Chiper;

BEGIN {Encryption}

{Инициализировать Code}

WHILE NOT EOF

DO

BEGIN

{читать строку в Msg и распечатать ее}

{дополнить Msg пробелами}

{распечатать кодированное сообщение}

END

END. {Encryption}

 

Инициализация массива шифра это длинная последовательность присваиваний, поэтому она объединяется в процедуру.

 

Design Part  1.1.

{Инициализировать Code}

Initialize(Code);

Design Part 1.1.1.

PROCEDURE Initialize(VAR Code: Chiper);

{Присвоить Code шифр замены}

BEGIN {Initialize}

Code['A'] := 'Z';

Code['B'] := 'Y';

Code['C'] := 'X';

Code['D'] := '#';

Code['E'] := 'V';

Code['F'] := 'U';

Code['G'] := 'T';

Code['H'] := 'S';

Code['I'] := 'I';

Code['J'] := 'Q';

Code['K'] := 'P';

Code['L'] := '!';

Code['M'] := 'N';

Code['N'] := 'M';

Code['O'] := '2';

Code['P'] := 'K';

Code['Q'] := '$';

Code['R'] := 'D';

Code['S'] := 'H';

Code['T'] := '*';

Code['U'] := 'F';

Code['V'] := 'E';

Code['W'] := 'T';

Code['X'] := 'C';

Code['Y'] := 'B';

Code['Z'] := 'A';

END; {Initialize}

 

Символы считываются в последовательные элементы Msg до тех пор, пока не встретится маркер конца строки.

 

Design Part  1.2.

{читать строку в Msg и распечатать ее}

I := 0;

WHILE NOT EOLN AND (I < Len)

DO

BEGIN

I := I + 1;

READ(Msg[I]);

WRITE(Msg[I])

END;

READLN;

WRITELN;

Индекс I теперь находится в позиции последнего символа в сообщении и для очистки оставшейся части строки необходимо заполнить ее пробелами.

Design Part  1.2.

{дополнить Msg пробелами}

FOR I := I+1 TO Len

DO

BEGIN

Msg[I] := ‘ ‘;

END

Поскольку шифрование Msg занимает несколько строк кода, они оформляются процедурой.

Design Part  1.4.

{распечатать кодированное сообщение}

Encode(Msg)

Элементы Msg с ‘A’ по ‘Z’ используются как индексы в массиве Code для получения их кодированных значений. Другие символы распечатываются без перевода.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.