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

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

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

3. Разработать алгоритм дешифрования и реализовать его в программе.

Задача 1.21. "ШИФРОВАНИЕ ПО ПРЕДЫДУЩЕМУ БИТУ ". Вводится последовательность не более 7 строк длиной не более 45 символов. Допустимые символы в строке - ‘0’ и ‘1’. Окончание входного потока - ввод строки, начинающейся символом "/". Алгоритм шифрования (формирования очередного байта выходной строки):

b[0] = a[0],

b[k] = ‘1’, если a[k] = a[k-1], иначе ‘0’; k = 0, 1, 2, ...,

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

(c) <имя автора, версия и название задачи>

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

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

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

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

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

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

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

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

РАЗВИТИЕ:

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

2. Разработать алгоритм дешифрования и реализовать его в программе.

3. Расширить задачу п. 2 для шифрования/дешифрования обычного текста, используя битовое представление символов и реализовать в программе.

Задача 1.22. "ШИФРОВАНИЕ ПОВТОРЕНИЕМ БИТОВ". При передаче цифровых сообщений через каналы связи с помехами для повышения надежности можно повторять каждый бит, например 3 раза. При этом при передаче последовательность 1, 0, 1 заменяется на 1, 1, 1, 0, 0, 0, 1, 1, 1. При приеме и дешифровке такой последовательности три последовательные цифры (бита) заменяются значением той цифры (бита), которая встретилась в этой тройке по крайней мере дважды. Написать программу шифрования и дешифрования. Вводится последовательность не более 5 строк длиной не более 23 символов. Допустимые символы в строке - ‘0’ и ‘1’. Окончание входного потока - ввод строки, начинающейся символом "*". Формируется также статистическая информация. Примерный вид выходной информации:

(c) <имя автора, версия и название задачи>

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

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

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

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

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

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

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

Принятое сообщение:

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

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

РАЗВИТИЕ:

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

2. Расширить задачу п.1 для шифрования/дешифрования обычного текста, используя битовое представление символов и реализовать в программе.

Задача 1.23. "ОПРЕДЕЛЕНИЕ БИТОВЫХ ПЕРЕХОДОВ". Вводится последовательность не более 10 строк символов не длиннее 37 символов. Допустимые символы в строке: "0", "1" и "." - разделитель битовой группы. Окончание входного потока - ввод строки, начинающейся с символа "!". Максимальное количество строк равно 8. Для каждой входной строки нужно выделить битовую группу, а для каждой битовой группы определить ее длину и количество переходов "0" -> "1" и "1" -> "0". Cформировать также статистическую информацию. Примерный вид выходной информации:

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

(входные строки без лишних разделителей)

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

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

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

Для строки номер 1:

Битовая группа Номер 1: (последовательность "0" и "1")

длина = С1

переходов "0" -> "1" = N1

переходов "1" -> "0" = N2

...

Битовая группа Номер 10: (последовательность "0" и "1")

длина = С10

переходов "0" -> "1" = N10

переходов "1" -> "0" = N20

Всего 10 групп,

минимальная длина группы М11 символов.

максимальная длина группы М12 символов.

Для строки номер К:

(вывод аналогичен приведенному выше)

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

РАЗВИТИЕ:

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