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

15.8 Задания на обработку текстовых файлов Общее указание для всех вариантов

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

2. Исходный (создаваемый с использованием меню Файл) файл должен иметь следующую структуру строк (в скобках указаны длины полей и выравнивание): номер студента (4, правое), пробелы (2), номер группы (8, левое), пробелы (2), фамилия (12, левое), оценка 1 (3, правое), оценка 2 (3, правое), оценка 3 (3, правое), например,

3. Исходный файл должен храниться в каталоге проекта программы и иметь данные не менее чем по трём группам, для каждой из которых должно быть число строк, достаточное для проверки работ по подпунктам меню Работа. Ширина текстового редактора должна быть больше ширины строки с информацией о студенте и с вертикальной полосой прокрутки (в окне свойств свойству ScrollBars дать значение Vertical при создании макета формы).

4. Если в задании какие-либо данные отсутствуют или сказано, что они должны быть введены, то предполагается использование однострочного текстового редактора TextBox.

5. В некоторых заданиях предлагается отбирать строки файлов по маске. Маской является строка, содержащая символы замещения:

* (звёздочка) – представляет любую, в том числе и пустую, последовательность символов; ? (знак вопроса) – представляет любой один, и только один символ. Например, маске *т? удовлетворяет любая последовательность символов, предпоследним символом которой является буква «т», после которого должен стоять ровно один любой символ. Такой маске будут, в частности, соответствовать слова та, эта, приметы, но не такт, этак, приметный.

Д обавляемые подпункты меню Работа1 и Работа2 по вариантам

1. Отличники… – для выбранного файла отобразить список фамилий студентов задаваемой группы, имеющих все оценки 5.

Средние баллы – для выбранного файла отобразить средние баллы по каждому экзамену для студентов всех групп.

2. Средний балл группы… – для выбранного файла отобразить для задаваемой группы средний балл по всем экзаменам.

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

3. Неуды по экзаменам… – для выбранного в диалоге файла, задаваемых группы и номера экзамена (1, 2 или 3) отобразить количество оценок 2.

Хорошисты – отобразить строки файла, представляющие студентов всех групп, имеющих оценки, большие 3.

4. Разбить по группам – по данным файла, содержащим сведения по студентам разных групп, создать новые текстовые файлы с именами '<имя группы>.txt', включающими все строки файла-источника с соответствующими именами групп. Массивы не использовать.

Отстающие – отобразить строки файла, представляющие студентов всех групп, имеющих две и более оценки 2.

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

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

6. Объединение групп… – по данным из двух файлов текущего каталога, заданным пользователем в диалоге, создать третий текстовый файл с именем, являющимся склейкой через пробел имен файлов-источников.

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

7. Добавление строки… – в упорядоченный по фамилиям файл (исходный файл задать упорядоченным), заданный пользователем в диалоге, добавить новую строку, заданную в окне редактора текста, сохранив упорядоченность по фамилиям (использовать второй файл).

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

8. Сортировка… – упорядочить строки файла по фамилиям методом пузырька, переписав их сначала в массив, и сохранить в том же файле.

Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем.

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

Выбор N лучших… –загрузить в окно редактора N строк файла, представляющих студентов всех групп, имеющих наибольшие суммы баллов.

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

Поиск двоечников… – загрузить в окно редактора строки файла, представляющие студентов заданной пользователем группы, имеющих неудовлетворительные оценки.

11. Сортировка… –строки файла загрузить в массив, упорядочить по фамилиям методом поиска минимального элемента и сохранить в том же файле.

Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, не соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем.

12. Сортировка … – строки файла загрузить в массив, отсортировать по номерам студентов методом пузырька и сохранить в том же файле.

Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с не более, чем одним символом замещения ? (знак вопроса), заданной пользователем.

13. Сортировка … – загрузить в массив строки файла, отсортировать по возрастанию оценки (номер оценки, по которой производится сортировка, задается пользователем) и сохранить в том же файле.

Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с более, чем одним символом замещения ? (знак вопроса), заданной пользователем.

14. Обратить порядок… – загрузить в окно редактора текст файла, очистить файл и затем выводить из редактора строки в файл в обратном порядке.

Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с любым числом символов замещения * (звёздочка), заданной пользователем в диалоге.

15. Транспонировать текст… – загрузить в окно редактора текст файла, очистить файл и затем выводить из редактора данные в строки файла (по полям длиной 12 и выравниванием по левой стороне) так, чтобы в первой строке были порядковые номера, во второй – имена групп, в третьей - фамилии, в четвёртой – первые оценки, в пятой – вторые оценки, в шестой – третьи оценки.

Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с любым числом символов замещения ? (знак вопроса), заданной пользователем.

16. Средние баллы по группам… – для файла вычислить средний балл для заданной группы и отобразить в редакторе имя группы и соответствующий средний балл.

Удалить строку… – удалить из файла строку с заданной фамилией и группой, используя поля для ввода необходимых данных (использовать второй файл).

17. Число отличников в группе… – для файла вычислить для заданной группы количество отличников и отобразить в строке редактора имя группы и количество отличников.

Добавить строку… – добавить в конец файла строку с заданными номером, фамилией, группой и оценками, используя поля для ввода необходимых данных, но не окно редактора.

18. Упорядочить по оценке… – для файла упорядочить, используя массив, строки по убыванию заданной (1, 2 или 3) в поле ввода оценки.

Заменить строку… – в диалоге ввести строку и заменить ею строку файла с такой же фамилией и группой при загрузке в редактор строк из файла; результат сохранить в том же файле.

19. Упорядочить по фамилии… – загрузить в массив содержимое файла, упорядочить содержимое по фамилиям в порядке, обратном алфавитному, а затем сохранить упорядоченный таким образом текст в том же файле.

Изменить строку… – изменить в файле строку с заданным номером студента, используя поля для ввода необходимых данных и редактирования строки, но не окно редактора (использовать второй файл).

20. Перепись строк – переписать во второй файл информацию о студентах, фамилия которых начинается на букву, принадлежащую заданному диапазону букв (начальная и конечная буквы диапазона задаются в полях ввода)

Поиск должников – загрузить в редактор информацию о студентах, имеющих не менее заданного количества двоек (количество двоек задается в поле ввода).

21. Добавить средние баллы… – в конец каждой строки заданной группы в файле добавить значения соответствующих средних баллов с двумя цифрами в дробной части. Использовать дополнительный текстовый файл.

Упорядочить строки по СредБаллу … – сохранить в массиве строки файла со средними баллами и упорядочить их по убыванию среднего балла.

22. Поиск хорошистов - для заданной в поле ввода группы найти студентов, имеющих только хорошие оценки, и отобразить информацию по этим студентам в редакторе.

Отобразить в редакторе информацию о студентах, фамилия которых начинается и заканчивается заданными последовательностями символов (начальная и конечная последовательности задаются в полях ввода).

23. Добавить суммы баллов… – в конец каждой строки файла добавить значения соответствующих сумм баллов. Использовать дополнительный текстовый файл.

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

24. Исправить двойки… - для заданной в поле ввода группы заменить все неудовлетворительные оценки студентов этой группы на удовлетворительные, строки файла с учетом изменений сохранить в текстовом редакторе, содержимое которого сохранить затем в том же файле.

Отобразить в редакторе информацию о студентах, фамилия которых начинается и заканчивается на заданные в полях ввода буквы

25. Добавить суммы баллов… - в конец каждой строки файла добавить значения соответствующих сумм баллов и сохранить измененные строки в массиве. Отсортировать массив по убыванию суммы баллов и сохранить его содержимое во втором файле

Поиск двоечников – загрузить в редактор информацию о студентах, имеющих все неудовлетворительные оценки. Сохранить в новом файле фамилии этих студентов, если таких студентов нет, то записать в файл слово нет.