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

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

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

Задача 1.24. "ПОИСК БИТОВОГО ОБРАЗА". Вводится последовательность строк символов не длиннее 16 символов. Каждая строка считается числом (кодом) в двоичной системе и после ввода преобразуется в unsigned int. Допустимые символы в строке: "0", "1". Первая строка длиной не более 5 символов (битов) задает битовый образ для поиска в последующих строках. Окончание входного потока - ввод строки, начинающейся с символа "+". Максимальное количество строк равно 8. Для каждой входной строки, начиная со 2-й, попытаться найти битовый образ, задаваемый 1-й строкой (а не подстроку в строке символов), и подсчитать количество вхождений образа в 16-битовое слово (unsigned int). Cформировать также статистическую информацию. Примерный вид выходной информации:

Поиск битового образа:

01100 (1-Я строка)

в битовых строках:

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

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

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

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

Двоичный код строки 2: (последовательность из 16-ти "0" и "1")

Обнаружено С2 вхождений образа, начало 1-го в бите N1

...

Двоичный код строки 8: (последовательность из 16-ти "0" и "1")

НЕТ ВХОЖДЕНИЙ ОБРАЗА

Максимальное количество вхождений К1 в строке К2.

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

РАЗВИТИЕ:

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

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

Задача 1.25. "ОПРЕДЕЛЕНИЕ БИТОВЫХ ИМПУЛЬСОВ". Вводится последовательность не более 3 строк символов не длиннее 75 символов. Допустимые символы в строке: "0" , "1". Окончание входного потока - ввод строки, начинающейся с символа "+". Для каждой входной строки нужно определить минимальную и максимальную длительности битовых импульсов - длину последовательности идущих подряд “0” (0-импульс) и “1” (1-импульс). Cформировать также статистическую информацию. Примерный вид выходной информации:

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

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

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

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

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

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

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

мин. длительность 0-импульса = 99, начало в бите номер = 99

макс. длительность 0-импульса= 99, начало в бите номер = 99

мин. длительность 1-импульса = 99, начало в бите номер = 99

макс. длительность 1-импульса= 99, начало в бите номер = 99

(аналогично для остальных строк)

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

РАЗВИТИЕ:

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

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

Задача 1.26. "ЧАСТОТНЫЙ АНАЛИЗ ТЕКСТА". Вводятся имя текстового файла произвольного содержания не длиннее 32 Кбайт и число k (k = 1...9) - см. ниже. Затем проводится подсчет сколько раз в этом файле встретилась каждая русская буква и ее относительных доля в процентах от общего числа таких букв в файле. Принять формат каждого счетчика unsigned int. Определить также k наиболее частых и k наименее частых русских букв. В качестве выходных данных сформировать текстовый файл TEXTPROB.OUT со следующим содержимым (шаблон):

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

Обработано XXXXX байтов из файла <INFILEN.AME>

Русская буква Повторилась, раз Что составляет, %

"А" YYY KK.LLL

...

"Я" XX QQ.PPP

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

Русская буква Повторилась, раз Что составляет, %

"П" YYY KK.LLL

...

"Л" XX QQ.PPP

k наименее частых кода (в порядке снижения повторяемости)

Русская буква Повторилась, раз Что составляет, %

"Ю" YYY KK.LLL

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

РАЗВИТИЕ:

1. Расширить эту задачу на файлы длиной до 2...4 Гбайт и реализовать в программе.

2. Предусмотреть при обработке каждых 64 Кбайт вывод промежуточных выходных файлов с именами TPxxxxxx.OUT, где xxxxxx - порядковый номер. После записи очередного такого файла, его предыдущая версия должна уничтожаться.

Задача 1.27. "ПОДСЧЕТ ЭЛЕМЕНТОВ ТЕКСТА". Вводятся имя текстового файла произвольного содержания не длиннее 32 Кбайт. Затем проводится подсчет сколько в нем символов, пробелов, табуляторов, русских и латинских букв, слов, предложений, минимальное и максимальное количество слов в предложении. Принять формат каждого счетчика unsigned int. В качестве выходных данных сформировать текстовый файл LEXPROB.OUT со следующим содержимым (шаблон):

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

Обработано XXXXX байтов из файла <INFILEN.AME>

Встретилось, раз Что составляет, %

Всего символов: 9999 100.000

из них пробелов 99 99.999

из них табуляторов 9 99.999

из них латинских букв 888 99.999

из них русских букв 777 99.999

из них иных 666 99.999

В тексте обнаружено: слов = 4444

предложений = 333

мин. количество слов в предложении = 1

макс. количество слов в предложении = 22

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

РАЗВИТИЕ:

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

Задача 1.28. "ЧАСТОТНЫЙ АНАЛИЗ БАЙТОВ ФАЙЛА". Вводятся имя файла произвольного содержания не длиннее 32 Кбайт и число k (k = 1...9) - см. ниже. Затем проводится подсчет количества байтов с одинаковым кодом и их относительных долей в процентах. Всего может быть 256 различных кодов. Принять формат каждого счетчика unsigned int. Определить также k наиболее частых и k наименее частых байтовых кодов. В качестве выходных данных сформировать текстовый файл CHARPROB.OUT со следующим содержимым (шаблон):

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

Обработано XXXXX байтов из файла <INFILEN.AME>

Значение байта Повторилось, раз Что составляет, %

0x0000 000 YYY KK.LLL

...

0x00FF 255 XX QQ.PPP

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

Значение байта Повторилось, раз Что составляет, %

0x0090 999 MMM AA.BBB

0x00A1 999 LL CC.EEE

...

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