Задача.

Написать программу, которая шифрует текст по следующему принципу: заменяет буквы обычного алфавита на соответствующие буквы алфавита с преставленными буквами.

 

Подсказка.

Нужно создать 2 массива алфавитов: обычный (буквы последовательно, как в алфавите) - абвгдеё... и т.д.

шифровальные алфавит (буквы переставлены в любом порядке) - прогват... и т.д.

Программа берет букву текста для шифровки, в массиве обычного алфавита, узнает на какой позиции находится буква, и подставляет вместо неё букву, которая стоит на этой же позиции шифровального алгоритма.

Пример:

Прямой алфавит: абвгдеёжзийклмнопрстуфхцчшщъыьэюя

Шифровальный алфавит: емкчпюотраушфбдягхщмилзвжнсьэъёай

Текст для шифрования: Привет.

Берем первую букву - п, она стоит на позиции номер 17 в обычном алфавите.

На позии 17 в шифровальном алфавите стоит буква г

Буква р - на 18 позиции, её заменяет буква - х и т.д.

В результате, вместо слова Привет, получим слово - Гхакюм

Конечно, шифрующий алфавит подобран так, что гласная заменят гласную, согласная - согласную.

Так можно добиться более интересных результатов.

Подсказка по написанию программы на Паскале:

Есть два способа:

1. использовать два массива с элементами типа chr (символ)

2. использовать 2 строковые переменные (в Паскале строковая переменная по-сути и есть массив с символами).

 

 

Ещё вам понадобятся функции:

length - считает количество символов в строке.

pos - ищет символ в строке и возвращает его позицию (номер позиции символа в строке)

 

 

program cipher;

var

alpha:string;                                                                                     алфавит "обычный"

alphb:string;                                                                                     алфавит "шифровальный"

inputstr:string;                                                                                  строка с текстом для шифрования

resultstr:string;                                                                                  зашифрованная строка

begin

alpha:='абвгдеёжзийклмнопрстуфхцчшщъыьэюя';

alphb:='емкчпюотраушфбдягхщмилзвжнсьэъёай';

Writeln ('Введите строку для шифрования: ');

readln(inputstr);

....

Дальше сами! :-)

Комментарии   

0 #1 Йожик-Бложик 22.09.2017 17:40
На вопросы отвечу здесь, в комментариях.

You have no rights to post comments