Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
293
Добавлен:
04.03.2014
Размер:
51.71 Кб
Скачать

Студентам задания 14 Текстовые файлы

Общее для всех заданий

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

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

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

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

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. - Упорядочить по оценке… – при чтении строк файла добавлять их в массив так, чтобы сохранялась упорядоченночть строк по возрастанию заданной (1, 2 или 3) в диалоге оценки, а затем сохранить упорядоченный таким образом текст в том же файле.

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

20. - Создать подкаталог – отобразить в окне редактора текста срецификацию запущенной программы, используя стандартную функцию ParamStr, и образовать в её каталоге подкаталог с её именем. Если такой подкаталог уже существует, то вывести сообщение.

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

21. - Переместить файл в подкаталог… – создать в каталоге проекта подкаталог и переместить в него файл стандартной подпрограммой Rename.

- Отобразить часть файла – отобразить первые три строки перемещенного файла (см. предыдущий пункт задания).

22. - Данные каталога – отобразить имена с расширениями объектов текущего каталога (использовать стандартные подпрограммы GetDir(0,CurrentDir)+ FindFirst(Maska,Attri,sr)+ FindNext(sr)+ FindClose(sr)).

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

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

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

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

- Упорядочить группы по СредБаллу… – отобразить строки групп, предварительно упорядочив по убыванию среднего балла групп.

25. - Добавить в файл … – в конец файла в корневом каталоге дискеты добавить содержимое файла текущего каталога. Предусмотрите обработку ошибок, номера которых возвращает стандартная функция Ioresult: 2 – файл не найден; 3 – путь не найден; 123 – дисковод не готов.

- Данные дискеты – отобразить имена с расширениями объектов корневого каталога (использовать стандартные подпрограммы GetDir, FindFirst, FindNext. FindClose).