Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Задания. Источник данных и результат работы программы – текстовый файл. Для кодирования текса используется кодовая таблица DOS. Составить программу, обрабатывающую файл согласно заданному алгоритму.
1. Для двух заданных различных символов, значения кодов которых хранятся в переменных типа char X и Y,задаваемых пользователем, определить, сколько раз в тексте встречается буква, определенная значением кода, хранящимся в X. Везде, в обрабатываемом тексте, заменить эту букву буквой, определенной значением кода, хранящимся в переменной Y.
2. В заданном тексте везде заменить слово А 1 на слово А 2 (длины слов в общем случае не совпадают).
3. Составить триады из символов текста, расположенных в нечетных позициях. Обрабатываются только отображаемые символы.
4. По заданному тексту сформировать список слов, состоящих только из букв русского либо латинского алфавита. Для русских букв используется кодировка Кириллица- DOS. Упорядочить полученный список слов по алфавиту. Количество имен в списке заранее не известно.
5. Удалить текст, содержащийся в обрабатываемом файле, начиная с первой встретившейся буквы ‘ М ’ до третьей по счету буквы ‘ М ’. Вывести текст после преобразования и номера позиций начала и конца удаленной части в исходной строке. В обрабатываемом файле содержится текст на русском языке в кодировке Кириллица- DOS.
6. Удалить из текста заданное слово. Вывести обработанный текст и номера позиций начала удаленного слова в исходном тексте.
7. Вставить слово в текст между двух заданных. Вывести обработанный текст и номера позиций начала и конца вставленного слова в новом тексте.
8. Для текста на русском языке определить количество гласных и согласных букв.
9. Поменять местами фрагменты текста ограниченные позициями M 1, M 2 и N 1, N 2. На этапе проектирования программы следует учесть допустимость ситуации, когда разности M 2- M 1 и N 2- N 1 могут не совпадать.
10. Вывести из текста на консоль слова, начинающиеся и заканчивающиеся на одну и ту же букву.
11. Вывести из текста на консоль слова, у которых в i -й позиции располагается одна и та же буква. В исходном тексте поменять местами первую пару таких слов и вывести результат на консоль.
12. Упорядочить слова текста по алфавиту относительно символов, заключенных между 3-й и 6-й позициями каждого слова. Вывести на консоль полученный текст и колонку из соответствующих словам пар символов – для облегчения проверки правильности сортировки.
13. Переформатировать заданный текст в новые строки, считая признаком конца строки в исходном тексте символ "\%".
14. В заданном тексте определить частоту, с которой в нем встречаются различные буквы и построить гистограмму распределения частот. В начале каждой строки гистограммы вывести символ и соответствующую ему частоту в процентах.
15. Разбить исходный текст на строки длиной не более 50 символов. Перенос осуществлять на местах расположения пробельных символов (не разделяя слова на части).
16. В тексте, содержащем менее 50 непробельных символов, равномерно расставить пробелы между словами так, чтобы его длина равнялась 50 символам.
17. Проверить общую сбалансированность разнотипных скобок в тексте. Скобки считаются сбалансированными, если каждой закрывающей скобке данного типа предшествует открывающая скобка этого же типа и для каждого типа скобок количество открывающих и закрывающих скобок равны.
18. В заданном тексте удалить заключенную в круглые скобки часть (вместе со скобками) и вывести результат на консоль.
19. Определить количество слов в тексте и поменять местами первое и пятое слова.
20. Указать минимальное количество первых букв, по которым можно различить слова из данного набора.
21. Текст задан следующим образом: первые символы – десятичное целое, задающее длину первого слова. Без пробелов, после первого слова - цифры, задающие длину второго слова и т.д. Все слова начинаются не с цифр. По запросу вывести на консоль заданный текст и N -е слово.
22. Напечатать самое длинное слово из заданного текста. Разделители слов - пробельные символы.
23. Исходные данные – файл, содержащий текст на русском языке. Определить, какой процент слов в тексте содержит удвоенную согласную. Разделители слов - пробельные символы.
24. Определить, сколько раз в тексте встречается заданное слово. Разделители слов - пробельные символы.
25. Программа, обратная фильтрации лишних пробелов. В заданном тексте каждый пробельный символ заменить двумя.
26. Исходные данные – файл, содержащий текст на русском языке. Определить, сколько слов в тексте содержат один слог, два слога, 3 слога и т.д.
27. Исходные данные – текстовый файл. Удалить из текста строку, номер которой вводится пользователем по запросу. Строки разделены пробельными символами и заканчиваются разделительными символами. Вывести результат работы программы на консоль.
28. В тексте, состоящем из нескольких строк, обеспечить возможность вставки между заданной своим номером строкой и следующей за ней, пустой строкой и ввода в нее символов.
29. Исходные данные – файл, содержащий текст на английском языке. Определить, какие символы и сколько раз встречаются в тексте.
30. В тексте убрать лишние пробелы и разделительные символы, оставив между словами только по одному пробелу
Методические указания
1. Для всех задач объем исходного текста заранее не известен. При организации ввода текста признак окончания ввода – символ конца файла EOF (комбинация клавиш " Ctrl + Z ", UNIX/POSIX стандарт работы с файлами).
2. Действия с фрагментами текста рекомендуется производить как с элементами строковых массивов.
3. Для преобразования текста в максимальной степени использовать библиотечные функции преобразования символьных данных.
Вопросы для собеседования
1. В каком виде символьная информация хранится в памяти ЭВМ.
2. Чем отличаются символьные массивы и строки. Как производится создание и инициализация строки.
3. По каким правилам выполняется лексикографическое сравнение символьных массивов?
4. Характеристика операций над символьными данными, обеспечиваемых библиотечными функциями С и алгоритмы их работы:
strlen () - определение длины строки;
strset () - заполнение строки заданным символом;
strnset () – заполнение части строки заданным символом;
strcpy () – копирование строки в строку;
strcat () – соединение (конкатенация) строк;
strcmp () – сравнение двух строк;
strtok () – поиск и выделение лексических единиц в строке;
strchr () – поиск заданного символа в строке;
strpbrk () – поиск первого вхождения символа из шаблона в строке
strspn () – определение длины начальной части строки-шаблона, которой нет в исследуемой строке;
strstr () – поиск подстроки в строке (по образцу).
Для указанных функций по алгоритмам составить программную реализацию.
ЛИТЕРАТУРА
1. Гуденко Д.А. Сборник задач по программированию / Д.А. Гуденко, Д.В. Петроченко. – СПб.: Питер, 2003. – 475 с.: ил.
2. Златопольский Д.М. Программирование: типовые задачи, алгоритмы, методы / Д.М.Златопольский. – М.: БИНОМ. Лаборатория знаний, 2007. – 223 с.:ил.
3. Златопольский Д.М. Сборник задач по программированию /Д.М.Златопольский. – СПб.: БХВ-Перетбург, 2011. – 304 с.:ил. – (ИиИКТ)
4. Иванова Г.С. Основы программирования: Учебник для вузов / Г.С.Иванова. – М.: Изд-во МГТУ им.Н.Э. Баумана, 2007. – 416 с.:ил.
5. Лафоре Р. Объектно-ориентированное программирование в С++. Классика Computer Science. 4-е изд. / Р. Лафоре. – СПб.: Питер, 2004. – 924 с.: ил.
6. Климова Л.М. СИ++. Практическое программирование. Решение типовых задач / Л.М. Климова. – М.: КУДИЦ-ОБРАЗ, 2001. – 592с.
7. Роббинс А. Linux: Программирование в примерах. Пер с англ. / А.Роббинс. – М.: КУДИЦ-ОБРАЗ, 2005. – 656 с.
8. Спинелис Диомидис. Анализ программного кода на примере проектов Open Source.: Пер. с англ. / Д.Спинелис. – М.: Издательский дом «Вильямс», 2004. – 528 с.: ил. – Парал. тит. англ.
9. Фуско Дж. Linux. Руководство программиста / Дж.Фуско. – СПб.: Питер, 2011. – 448 с.:ил.
10. Шилдт Г. Полный справочник по С / Г. Шилдт. – М.:Издательский дом «Вильямс», 2002.
ПРИЛОЖЕНИЕ 1.
Дата публикования: 2014-11-18; Прочитано: 1416 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!