Упр 3 Сем 2 1

advertisement
Упр 3 Сем 2 Задания на обработку TextFile
1
Задания на обработку TextFile
Общее для всех заданий
1. Подпункты меню Файл: Файл.Открыть…, Файл.Сохранить как…, Файл\Выход… и соответствующие им диалоги, а
также пункт мню Работа, но с двумя индивидуальными для каждого задания подпунктами.
2. Исходный (создаваемый с использованием меню Файл) файл должен иметь следующую структуру строк (в скобках указаны длины полей и выпранивание): Номер строки (4, правое), пробелы (2), Группа (8, левое), пробелы (2), Фамилия (12,
левое), Оценка 1 (3, правое), Оценка 2 (3, правое), Оценка 3 (3, правое),
например,
3. Исходный файл должен храниться в каталоге проекта программы и иметь данные по трём группам, для каждой из которых должно быть число строк, достаточное для проверки работ по подпунктам меню Работа, но не менее 10 для каждой
группы. Сделать Memo1 шириной >= длине строки файла и с вертикальной полосой прокрутки (в Инспекторе объектов
свойствву ScrollBars дать значение ssVertical при создании макета формы).
4. Если в задании какие-либо данные отсутствуют или сказано, что они должны быть введены/выбраны в диалогах, то
предполагается использование OpenDialog, SaveDialog, MessageDlg или InputQuery
В некоторых заданиях будет предложено отбирать строки файлов по маске. Маской является строка, содержащая
символы замещения: * (звёздочка) – представляет любую, в том числе и пустую, последовательность символов; ? (знак вопроса) – представляет любой один, и только один символ. Например, маске *т? удовлетворяет любая последовательность
символов, предпоследним символом которой является буква «т», после которого должен стоять ровно один любой символ.
Такой маске будут, в частности, соответствовать слова та, эта, приметы, но не такт, этак, приметный.
Добавляемые подпункты меню Работа по вариантам
1. - Отличники… – для выбранного файла отобразить список фамилий студентов заданной в диалоге группы, имеющих
все оценки 5.
- Средние баллы – для выбранного файла отобразить средние баллы по каждому экзамену для студентов всех групп.
2. - Средний балл группы… – для выбранного файла отобразить для заданной в диалоге группы средний балл по всем
экзаменам.
- Должники – отобразить строки файла, представляющие студентов всех групп, в фамилии которых содержится заданная в диалоге строка и имеющих оценки 2. Если заданная строка пустая (сделать так по умолчанию), то отобразить все строки, в которых есть оценки 2.
3. - Неуды по экзаменам… – для выбранных в диалоге файла, группы и экзамена (1, 2 или 3) отобразить количество оценок 2.
- Хорошисты – отобразить строки файла, представляющие студентов всех групп, имеющих оценки, большие 3.
4. - Разбить по группам – по данным файла, содержащим сведения по студентам разных групп, создать новые текстовые
файлы с именами '<имя группы>.txt', включающими все строки файла-источника с соответствующими именами групп. Массивы не использовать.
- Отстающие – отобразить строки файла, представляющие студентов всех групп, имеющих две и более оценки 2.
5. - Список групп… – по данным файла, содержащим сведения по студентам разных групп, создать новый текстовые
файл с именами групп и отобразить его содержимое в окне редактора текста.
- Выбор по фамилии… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих
фамилию, заданную пользователем в диалоге.
6. - Объединение групп… – по данным из двух файлов текущего каталога, заданным пользователем в диалоге, создать
третий текстовый файл с именем, являющимся склейкой через пробел имен файлов-источников.
- Выбор по части фамилии… – загрузить в око редактора строки файла, представляющие студентов всех групп, имеющих фамилию, включающую строку, заданную пользователем в диалоге.
7. - Добавление строки… – в упорядоченный по фамилиям файл, заданный пользователем в диалоге, добавить новую
строку, заданную в окне редактора текста, сохранив упорядоченность по фамилиям.
- Выбор по началу фамилии… – загрузить в око редактора строки файла, представляющие студентов всех групп,
имеющих фамилию, начинающуюся со строки, заданной пользователем в диалоге.
8. - Сортировка… – упорядочить строки файла в редакторе текста по фамилиям методом пузырька и сохранить в том же
файле.
- Выбор по маске… – загрузить в око редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем в диалоге.
9. - Сортировка при чтении… – при чтении строк файла, заданный пользователем в диалоге, добавлять их в окно редактора текста так, чтобы сохранялась упорядоченночть строк по фамилиям, а затем сохранить упорядоченный таким образом
текст в том же файле.
- Выбор N лучших… –загрузить в око редактора N строк файла, представляющие студентов всех групп, имеющих
наибольшие суммы баллов.
10. - Сортировка при чтении… – при чтении строк файла добавлять их в окно редактора текста так, чтобы сохранялась
упорядоченночть строк по убыванию среднего балла, а затем сохранить упорядоченный таким образом текст в том же файле.
- Выбор трёх худших… – загрузить в око редактора три строки файла, представляющие студентов заданной пользователем в диалоге группы, имеющих наименьшие суммы баллов.
11. - Сортировка… –строки файла загрузить на редактирование, упорядочить по фамилиям методом поиска минимального
элемента и сохранить в том же файле.
- Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, не соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем в диалоге.
Упр 3 Сем 2 Задания на обработку TextFile
2
12. - Сортировка при выводе… – загрузить в окно редактора текст файла, очистить файл и затем выводить из редактора
строки в файл так, чтобы сохранялась упорядоченночть строк по фамилиям.
- Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с не более, чем одним символом замещения ? (знак вопроса), заданной пользователем в
диалоге.
13. - Сортировка при выводе… – загрузить в окно редактора текст файла, очистить файл и затем выводить из редактора
строки в файл так, чтобы сохранялась упорядоченночть строк по убыванию сумм баллов.
- Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с более, чем одним символом замещения ? (знак вопроса), заданной пользователем в диалоге.
14. - Обратить порядок… – загрузить в окно редактора текст файла, очистить файл и затем выводить из редактора строки
в файл в обратном порядке.
- Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с любым числом символов замещения * (звёздочка), заданной пользователем в диалоге.
15. - Транспонировать текст… – загрузить в окно редактора текст файла, очистить файл и затем выводить из редактора
данные в строки файла (по полям длиной 12 и выравниванием по левой стороне) так, чтобы в первой строке были порядковые номера, во второй – имена групп, в третьей - фамилии, в четвёртой – первые оценки, в пятой – вторые оценки, в шестой
– третьи оценки.
- Выбор по маске… – загрузить в окно редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с любым числом символов замещения ? (знак вопроса), заданной пользователем в диалоге.
16. - Средние баллы по группам… – для файла вычислить средний балл для каждой группы и отобразить в строках редактора имена групп и соответствующие средние баллы.
- Удалить строку… – удалить из файла строку с заданной фамилией и группой, используя диалоги для ввода необходимых данных.
17. - Число отличников по группам… – для файла вычислить для каждой группы количество отличников и отобразить в
строках редактора.
- Добавить строку… – добавить в конец файла строку с заданной фамилией, группой и оценками, используя диалоги
для ввода необходимых данных, но не окно редактора.
18. - Упорядочить по оценке… – для файла упорядочить, используя окно редактора текста, строки по убыванию заданной
(1, 2 или 3) в диалоге оценки.
- Заменить строку… – в диалоге ввести строку и заменить ею строку файла с такой же фамилией и группой при загрузке в редактор строк из файла; результат сохранить в том же файле.
19. - Упорядочить по оценке… – при чтении строк файла добавлять их в окно редактора текста так, чтобы сохранялась
упорядоченночть строк по возрастанию заданной (1, 2 или 3) в диалоге оценки, а затем сохранить упорядоченный таким образом текст в том же файле.
- Изменить строку… – изменить в файле строку с заданным номером, используя диалог InputQuery или InputBox для
ввода необходимых данных и редактирования строки, но не окно редактора.
20. - Создать подкаталог – отобразить в окне редактора текста срецификацию запущенной программы, используя стандартную функцию ParamStr, и образовать в её каталоге подкаталог с её именем. Если такой подкаталог уже существует, то
вывести сообщение.
- Копировать часть файла – скопировать в созданный каталог строки файла с данными по одной из групп, заданной в
диалоге.
21. - Переместить файл в подкаталог… – создать в каталоге проекта подкаталог и переместить в него файл стандартной
функцией Rename.
- Отобразить часть файла – отобразить в окне редактора первые три строки перемещенного файла (см. предыдущий
пункт задания).
22. - Данные каталога – отобразить в окне редактора текста имена с расширениями объектов текущего каталога.
GetDir(0,CurrentDir)+ FindFirst(Maska,Attri,sr)+ FindNext(sr)+ FindClose(sr)
- Строки файла – отобразить в окне редактора текста пять первых строк текстового файла, представленного выделенной пользователем строкой редактора текста (см. предыдущий пункт задания). Memo1.SelText
23. - Добавить средние баллы… – в конец каждой строки заданной группы в файле добавить значения соответствующих
средних баллов с двумя цифрами в дробной части. Использовать дополнительный текстовый файл.
- Упорядочить строки по СредБаллу… – отобразить в окне редактора строки файла со средними баллами и упорядочить их по убыванию среднего балла.
24. - Добавить СредБаллы групп … – в конец списка каждой группы в файле добавить значения соответствующих средних баллов с двумя цифрами в дробной части. Использовать дополнительный текстовый файл. Отобразить измененный файл
в окне редактора.
- Упорядочить группы по СредБаллу… –в окне редактора упорядочить строки групп по убыванию среднего балла.
25. - Добавить в файл … – в конец файла на дискете добавьте содержимое файла текущего каталога. Предусмотрите обработку ошибок, номера которых возвращает стандартная функция Ioresult: 2 – файл не найден; 3 – путь не найден; 1235 –
дисковод не готов.
- Данные дискеты – отобразить в окне редактора текста имена с расширениями объектов корневого каталога.
GetDir(0,CurrentDir)+ FindFirst(Maska,Attri,sr)+ FindNext(sr)+ FindClose(sr)
Download