Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Inf-kaSbkDomZad_A5_Vse1.doc
Скачиваний:
0
Добавлен:
14.04.2019
Размер:
314.37 Кб
Скачать

1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.

2. Предусмотреть ввод допустимых символов, символа-признака окончания входного потока, числовых констант из текстового файла.

Задача 1.18. "ШИФРОВАНИЕ ОБРАТНОЙ ПЕРЕСТАНОВКОЙ БИТОВ". Вводится последовательность строк символов не длиннее 46 символов. Допустимые символы в строке - латинские буквы, цифры, знаки препинания и пробел. Окончание входного потока - ввод строки, начинающейся с символа "?". Максимальное количество строк равно 7. Шифрование состоит в том, что в двоичном коде каждого символа (байте) биты переставляются в обратном порядке, а затем бит 7 устанавливается в 0/1 при не/четном количестве 1-битов в байте, формируя код зашифрованного символа. Формируется также статистическая информация. Примерный вид выходной информации:

Входной текст:

(последовательность входных строк)

Введено К строк, всего N символов,

минимальная длина строки М1 символов.

максимальная длина строки М2 символов.

Получен шифрованный текст:

(последовательность обработанных строк)

УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций и легкую замену в тексте программы числовых и символьных констант.

РАЗВИТИЕ:

1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.

2. Предусмотреть ввод допустимых символов и символа-признака окончания входного потока, числовых констант из текстового файла.

3. Разработать обобщенные алгоритмы шифрования/дешифрования перестановкой битов и реализовать их в программе. Произвольная перестановка битов в байте может задаваться ключевой строкой. Например, для частного случая алгоритма этой задачи такая строка выглядит как "01234567".

Задача 1.19. "ШИФРОВАНИЕ ПЕРЕСТАНОВКОЙ ПОЛУБАЙТОВ". Вводится последовательность не более 11 строк длиной не более 26 символов. Допустимые символы в строке - русские буквы и пробел. Окончание входного потока - ввод строки, начинающейся символом ";". Шифрование состоит в том, что в двоичном коде каждого символа (байте) переставляются местами его старшая и младшая тетрады, то есть бит 0 меняется с битом 4, бит 1 с битом 5 и т.д. Формируется также статистическая информация. Примерный вид выходной информации:

Входной текст :

(последовательность входных строк)

Введено N1 строк , N2 символов.

Минимальная длина строки N3 символов,

Максимальная длина строки N4 символов.

Шифрованный текст :

(последовательность обработанных строк)

УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций и легкую замену в тексте программы числовых и символьных констант. Обратите внимание, что алгоритм шифрования симметричен - для дешифрования нужно применить его же.

РАЗВИТИЕ:

1. Предусмотреть режимы ввода/вывода: только экран и клавиатура, ввод из текстового файла и вывод в текстовый файл с отображением диалога на экране.

2. Предусмотреть ввод допустимых символов и символа-признака окончания входного потока, числовых констант из текстового файла.

3. Разработать обобщенные алгоритмы шифрования/дешифрования перестановкой битов и реализовать их в программе. Произвольная перестановка битов в байте может задаваться ключевой строкой. Например, для частного случая алгоритма этой задачи такая строка выглядит как "32107654".

Задача 1.20. "ШИФРОВАНИЕ СУММИРОВАНИЕМ СОСЕДНИХ БАЙТОВ". Вводится последовательность не более 6 строк длиной не более 53 символов. Допустимые символы в строке - латинские буквы, цифры, пробел и знаки препинания. Окончание входного потока - ввод строки, начинающейся символом ":". Алгоритм шифрования (формирования очередного байта выходной строки):

b[i] = a[i] + a[i+1],

b[k] = a[0] + a[k], i = 0, 1, 2, ...,

где a[0] - значение начального байта входной строки, а[k] - значение ее последнего байта, аналогично b[0], b[k] - для выходной строки. Формируется также статистическая информация. Примерный вид выходной информации:

Входной текст:

(последовательность входных строк)

Введено N1 строк, всего N2 символов,

Минимальная длина строки N3 символов,

Максимальная длина строки N4 символов.

Получен шифрованный текст:

(последовательность обработанных строк)

УКАЗАНИЯ: Предусмотреть обработку ошибочных ситуаций и легкую замену в тексте программы числовых и символьных констант.

РАЗВИТИЕ:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]