Задача:
Допустим, требуется зашифровать сообщения, состоящие из определенных символов. Например, исходный текст состоит из цифры от 0 до 9 (представленных в программе в виде символов) и других знаков и имеет длину в 15 символов. В шифровке на место цифр подставляются соответствующие им знаки, на место всех остальных символов дополнительный 11-й знак.
Описание переменных:
В программе имеется 4 массива. Два – в разделе констант, и два – в разделе описания переменных. Первые служат для хранения соответствия цифр символам кодирования, вторые – для хранения данных, введенных пользователем, и результата их шифрования.
Алгоритм решения задачи:
Сначала данные записываются в массив mytext. Затем требуется просмотреть каждый элемент массива и найти ему соответствие в массиве atext. Когда обнаруживается соответствие, цикл while останавливается и в mycode записывается соответствующий символ-код из массива acode. Если символ не описан в массиве atext, то он заменяется последним элементом массива acode.
Программа на языке Паскаль:
const
n = 15;
atext: array[1..10] of char = ('0','1','2','3','4','5','6','7','8','9');
acode: array[1..11] of char = ('&','+','/','.','^','@','"','!','%','#','$');
var
mytext: array[1..n] of char;
mycode: array[1..n] of char;
i, j: integer;
begin
writeln('Введите данные: ');
for i := 1 to n do
read(mytext[i]);
for i := 1 to n do begin
j := 1;
while (j <= 10) and (mytext[i] <> atext[j]) do
j := j + 1;
if j <= 10 then
mycode[i] := acode[j]
else
mycode[i] := acode[11];
end;
write('Результат: ');
for i := 1 to n do
write(mycode[i]);
readln;
end.
http://pas1.ru/coding
Допустим, требуется зашифровать сообщения, состоящие из определенных символов. Например, исходный текст состоит из цифры от 0 до 9 (представленных в программе в виде символов) и других знаков и имеет длину в 15 символов. В шифровке на место цифр подставляются соответствующие им знаки, на место всех остальных символов дополнительный 11-й знак.
Описание переменных:
В программе имеется 4 массива. Два – в разделе констант, и два – в разделе описания переменных. Первые служат для хранения соответствия цифр символам кодирования, вторые – для хранения данных, введенных пользователем, и результата их шифрования.
Алгоритм решения задачи:
Сначала данные записываются в массив mytext. Затем требуется просмотреть каждый элемент массива и найти ему соответствие в массиве atext. Когда обнаруживается соответствие, цикл while останавливается и в mycode записывается соответствующий символ-код из массива acode. Если символ не описан в массиве atext, то он заменяется последним элементом массива acode.
Программа на языке Паскаль:
const
n = 15;
atext: array[1..10] of char = ('0','1','2','3','4','5','6','7','8','9');
acode: array[1..11] of char = ('&','+','/','.','^','@','"','!','%','#','$');
var
mytext: array[1..n] of char;
mycode: array[1..n] of char;
i, j: integer;
begin
writeln('Введите данные: ');
for i := 1 to n do
read(mytext[i]);
for i := 1 to n do begin
j := 1;
while (j <= 10) and (mytext[i] <> atext[j]) do
j := j + 1;
if j <= 10 then
mycode[i] := acode[j]
else
mycode[i] := acode[11];
end;
write('Результат: ');
for i := 1 to n do
write(mycode[i]);
readln;
end.
http://pas1.ru/coding
Последний раз редактировалось: Виженер (Ср Авг 29, 2012 4:51 pm), всего редактировалось 1 раз(а)