Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные по информатике.pdf
Скачиваний:
62
Добавлен:
18.04.2015
Размер:
879.04 Кб
Скачать

Ульяновский государственный университет

Форма

«Информатика»

Лабораторная работа № 10

Файловые структуры данных. Текстовые файлы

Текстовый файл – последовательность строк, причем каждая строка заканчивается символом ‘\n’ и дополнена символом ‘\0’. Текстовый файл состоит из обычных печатных символов (в кодах ASCII), включая пробелы, символы новой строки, символы табуляции. Например, в текстовом файле целое число 123 представлено тремя символами-цифрами ‘1’, ‘2’ и ‘3’, которые в файле расположены друг за другом, образуя слово “123”.

ЗАДАНИЕ:

Составить программу, выполняющую преобразования над текстовыми файлами согласно указанному варианту. Исходные текстовые файлы создаются при помощи редактора текста и должны содержать несколько (не менее 8) различных строк символов.

ОПРЕДЕЛЕНИЯ:

ЦЕПОЧКА – непрерывная последовательность символов, не содержащая неотображаемых символов. (Считается, что длина цепочки не превосходит 30 символов).

СЛОВО – цепочка, ограниченная пробелами или неотображаемыми символами.

РЕГУЛЯРНОЕ СЛОВО – слово, состоящее только из больших английских

букв.

ПАЛИНДРОМ – это слово, в котором символы при просмотре слева направо и справа налево совпадают.

ЧИСЛО – цепочка, состоящая только из символов цифр.

Уровень A

Варианты заданий

A1. Напечатать все слова из текстового файла, начинающиеся на большую и заканчивающиеся на меленькую букву.

A2. Напечатать все слова из текстового файла, содержащие хотя бы одну цифру.

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

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

47

Ульяновский государственный университет

Форма

«Информатика»

A5. Напечатать все слова из текстового файла, состоящие только из маленьких латинских букв.

A6. Напечатать все слова из текстового файла, состоящие только из больших латинских букв.

A7. Напечатать все слова из текстового файла, состоящие только из цифр.

A8. Напечатать все слова из текстового файла, состоящие не менее чем из четырех букв.

A9. Напечатать все пятибуквенные слова из текстового файла.

A10. Напечатать все слова из текстового файла, содержащие буквы и цифры. A11. Напечатать все слова из текстового файла, не содержащие ни одной цифры.

A12. Напечатать все слова из текстового файла, не содержащие ни одной большой латинской буквы.

A13. Напечатать все слова из текстового файла, содержащие ровно две цифры.

A14. Напечатать все слова из текстового файла, содержащие две рядом стоящие одинаковые буквы.

A15. Напечатать все слова из текстового файла, содержащие две рядом стоящие цифры.

A16. Напечатать все слова из текстового файла, состоящие не более чем из пяти букв.

A17. Напечатать все слова из текстового файла, состоящие только из латинских букв.

Уровень B

Варианты заданий

B1. Два текстовых файла преобразовать в третий по следующему правилу: каждая строка третьего файла представляет собой объединение двух строк первого и второго файлов, из которых удалены все совпадающие (одинаковые) слова.

B2. Скопировать исходный файл в другой, удалив ПАЛИНДРОМЫ. На экран вывести количество скопированных и удаленных слов.

B3. Даны два текстовых файла. Напечатать количество символов каждого вида (БУКВ, ЦИФР, ЗНАКОВ) в первом и втором файлах. В третий файл вывести все РЕГУЛЯРНЫЕ СЛОВА, встречающиеся и в первом, и во втором файлах.

48

Ульяновский государственный университет

Форма

«Информатика»

B4. Соединить два файла в третий, добавив после содержимого первого файла только те строки второго файла, в которых имеются числа-палиндромы.

B5. Скопировать из файла за один просмотр все РЕГУЛЯРНЫЕ СЛОВА во второй файл, а все ЧИСЛА – в третий. Вывести на экран количество ПАЛИНДРОМОВ исходного файла, количество слов и СЛОВ-ЧИСЕЛ в полученных файлах.

B6. Соединить два файла в третий, добавив после содержимого первого файла только те строки второго файла, в которых имеются слова, отсутствующие в первом файле.

B7. Каждое слово исходного файла, не имеющего в своем составе одновременно цифры и знаки, вывести в выходной файл в отдельную строку.

B8. Скопировать из одного файла в другой последовательность строк, заданных начальным и конечным порядковыми номерами от начала файла. На экран вывести количество скопированных символов букв и число скопированных слов, являющихся ПАЛИНДРОМАМИ.

B9. Имеется файл, содержащий РЕГУЛЯРНЫЕ СЛОВА и файл, содержащий в символьном виде ЧИСЛА и нерегулярные слова. Вывести в третий файл только регулярные слова из первого файла, для которых во втором файле имеется число, равное их длине.

B10. Из исходного файла скопировать во второй файл все РЕГУЛЯРНЫЕ СЛОВА, не содержащие гласных букв, разделив их пробелами, а в третий – все ЧИСЛА, подсчитав их общую сумму.

B11. Из исходного файла во второй файл скопировать слова, не содержащие цифр, причем после каждого слова напечатать в угловых скобках его длину. Например: ABCDEF<5>, XYZ<3> и т. д. В третий файл скопировать все РЕГУЛЯРНЫЕ СЛОВА, в которых находится более двух одинаковых символов.

B12. Переписать содержимое двух файлов в третий, подсчитав количество всех символов (кроме пробелов), количество ПАЛИНДРОМОВ и удаляя (отбрасывая) встречающиеся СЛОВА-ЧИСЛА.

B13. Вставить после указанной строки (по номеру от начала) одного файла все строки другого файла, не содержащие СЛОВ-ЧИСЕЛ. Результат поместить в третий файл с выводом на экран количества строк в этом файле.

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

49

Ульяновский государственный университет

Форма

«Информатика»

B15. Вывести на экран дисплея количество ЧИСЕЛ, обнаруженных в исходном файле, их общую сумму.

Уровень C

Выделить в текстовом файле все слова, разделенные символами разделителями “_.,;:\n\t!?”. Найти количество всех слов, которые обладают свойством Q. Все слова из исходного файла записать во второй файл построчно в алфавитном порядке в следующем виде: <слово> - <количество повторений в исходном файле>.

Варианты заданий.

C1. Q: в слове нет повторяющихся символов.

C2. Q: в слове все символы встречаются более одного раза.

C3. Q: в слове хотя бы один символ встречается более одного раза. C4. Q: в слове только один символ встречается более одного раза.

C5. Q: в слове латинские буквы чередуются с символами (например, “a2b5s”). C6. Q: в слове гласные латинские буквы чередуются с согласными.

C7. Q: в слове строчные латинские буквы чередуются с прописными. C8. Q: в слове буквы располагаются по возрастанию и не повторяются. C9. Q: в слове гласные латинские буквы чередуются с цифрами.

C10. Q: в слове согласные латинские буквы чередуются с нечетными цифрами.

50