|
|||
Общее для всех заданий. //Удобнее оценки объявлять как массив o:array[1..3] of 2..5;Общее для всех заданий 1. Подпункты меню Файл: Файл. Открыть, Файл. Сохранить как, Файл\Выход и соответствующие им диалоги, а также пункт мню Работа, но с двумя индивидуальными для каждого задания подпунктами. 2. Исходный (создаваемый с использованием меню Файл ) файл должен иметь тип tfz=file of tz, где tz=record No: byte; Gr: string[8]; Fm: string[12]; o1, o2, o3: 2.. 5 end, No – порядковый номер, Gr – название группы, Fm – фамилия студента, o1, o2, o3 – оценки по предметам, а основная таблица, в которой эти данные хранятся и редактируются, должна иметь вид //Удобнее оценки объявлять как массив o: array[1.. 3] of 2.. 5; 3. Исходный файл должен храниться в каталоге проекта программы и иметь данные по трём группам, для каждой из которых должно быть число строк, достаточное для проверки работ по подпунктам меню Работа, но не менее 10 для каждой группы. 4. Если в задании какие-либо данные отсутствуют или сказано, что они должны быть введены/выбраны в диалогах, то предполагается использование OpenDialog, SaveDialog, MessageDlg или InputQuery. 5. Отображать результаты ваполнения задания по подмунктам меню Работа следует в таблице StringGrid1, изменяя, при необходимости, её структуру и заголовки. В некоторых заданиях будет предложено отбирать строки файлов по маске. Маской является строка, содержащая символы замещения: * (звёздочка) – представляет любую, в том числе и пустую, последовательность символов; ? (знак вопроса) – представляет любой один, и только один символ. Например, маске *т? удовлетворяет любая последовательность символов, предпоследним символом которой является буква « т », после которого должен стоять ровно один любой символ. Такой маске будут, в частности, соответствовать слова та, эта, приметы, но не такт, этак, приметный. Добавляемые подпункты меню Работа по вариантам 1. - Объединение групп – по данным из двух файлов текущего каталога, заданным пользователем в диалоге, создать третий типизированный файл с именем, являющимся склейкой через пробел имен файлов-источников. - Удалить запись – удалить из файла запись с заданной фамилией и группой, используя диалоги для ввода необходимых данных. 2. - Средние баллы по группам – для файла вычислить средний балл для каждой группы и отобразить в таблице редактора имена групп и соответствующие средние баллы. - Выбор по части фамилии – загрузить в таблицу редактора строки файла, представляющие студентов всех групп, имеющих фамилию, включающую строку, заданную пользователем в диалоге. 3. - Заменить оценки – в файле заменить заданное имя группы на другое. - Упорядочить по оценке – в файле упорядочить записи по возрастанию заданной оценки. 4. - Отличники – для выбранного файла отобразить в основной таблице сведения о студентах заданной в диалоге группы, имеющих все оценки 5. - Должники – отобразить данные записей файла, представляющие студентов всех групп, в фамилии которых содержится заданная в диалоге строка и имеющих оценки 2. Если заданная строка пустая (сделать так по умолчанию), то отобразить данные всех записей, в которых есть оценки 2. 5. - Средний балл группы – для выбранного файла отобразить для заданной в диалоге группы средний балл по всем экзаменам. - Хорошисты – отобразить данные записей файла, представляющие студентов всех групп, имеющих оценки, большие 3. 6. - Неуды по экзаменам – для выбранных в диалоге файла, группы и экзамена (1, 2 или 3) отобразить количество оценок 2. - Средние баллы – для выбранного файла отобразить средние баллы по каждому экзамену для студентов всех групп, изменив соответствующим образом структуру таблицы. 7. - Список групп – по данным файла, содержащим сведения по студентам разных групп, создать новый типизированный файл с именами групп и количествами студентов в группах и отобразить его содержимое. - Выбор по фамилии – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, заданную пользователем в диалоге. 8. - Разбить по группам – по данным файла, содержащим сведения по студентам разных групп, создать новые типиззированные файлы с именами '< имя группы>. rec', включающими все данные записей файла-источника с соответствующими именами групп. - Отстающие – отобразить данные записей файла, представляющие студентов всех групп, имеющих две и более оценки 2. 9. - Добавление строки – в файл, заданный пользователем в диалоге, добавить новую строку на заданное место в файле. - Выбор по началу фамилии – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, начинающуюся со строки, заданной пользователем в диалоге. 10. - Сортировка – упорядочить записи файла по фамилиям методом пузырька (массив и таблицу не использовать). - Выбор по маске – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем в диалоге. 11. - Средние баллы по группам – для файла вычислить средний балл для каждой группы и отобразить в таблице редактора имена групп и соответствующие средние баллы. - Удалить запись – удалить из файла запись с заданной фамилией и группой, используя диалоги для ввода необходимых данных. 12. - Сортировка – отсортировать записи файла, заданного пользователем в диалоге, в алфавитном порядке номеров групп (массив и таблицу не использовать). - Копирование с инверсией – записи одного файла скопировать в другой, расположив их в обратном порядке. 13. - Сортировка – отсортировать записи файла, заданного пользователем в диалоге, по возрастанию номера студента (массив и таблицу не использовать). - Выбор по маске – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем в диалоге. 14. - Обратить порядок – загрузить в таблицу редактора данные записей файла, очистить файл и затем выводить из редактора данные в файл в обратном порядке. - Выбор по маске – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с любым числом символов замещения? (вопросительный знак), заданной пользователем в диалоге. 15. - Число отличников по группам – для файла вычислить для каждой группы количество отличников и отобразить в строках таблицы редактора. - Добавить запись – добавить в конец файла запись с заданной фамилией, группой, оценками и номером, используя диалоги для ввода необходимых данных, но не таблицу редактора. 16. - Сортировка – данные записей файла, заданного в диалоге, по фамилиям в порядке, обратном алфавитному (массив и таблицу не использовать). - Выбор по маске – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, не соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем в диалоге. 17. - Удалить группу в новый файл – переместить из файла записи заданной группы в другой файл. - Добавить в файл – скопировать записи одного файла в конец другого файла. 18. - Сортировка – отсортировать записи файла, заданного в диалоге, по убыванию номера студента (массив и таблицу не использовать). - Выбор по маске – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с не более, чем одним символом замещения? (знак вопроса), заданной пользователем в диалоге. 19. - Упорядочить по оценке – отсортировать записи файла, заданного в диалоге, по заданной в диалоге оценке (1, 2 или 3) (массив и таблицу не использовать). - Изменить запись – изменить в файле запись с заданным номером, используя диалог InputQuery или InputBox для ввода необходимых данных и редактирования строки, но не таблицу редактора. 20. - Скопировать часть файла – создать в каталоге проекта новый файл и скопировать в него записи файла исходного файла с четными номерами. - Отобразить часть файла – отобразить в таблице редактора данные первых трёх записей нового файла (см. предыдущий пункт задания). Выдать сообщение, если трех записей нет. 21. - Сортировка – отсортировать записи файла, заданного в диалоге, по убыванию сумм баллов. (массив и таблицу не использовать). - Выбор по маске – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с более, чем одним символом замещения? (знак вопроса), заданной пользователем в диалоге. 22. - Сортировка по группам –отсортировать данные записей файла, заданного в диалоге, по убыванию групп (массив и таблицу не использовать). - Выбор по маске – загрузить в таблицу редактора данные записей файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с любым числом символов замещения? (знак вопроса), заданной пользователем в диалоге. 23. - Упорядочить по оценке – упорядочить в файле записи по убыванию заданной (1, 2 или 3) в диалоге оценки. (массив и таблицу не использовать). - Заменить запись – в диалоге ввести данные для записи и заменить ею запись файла с такой же фамилией и группой при загрузке в редактор строк из файла; результат сохранить в том же файле. 24. - Три последних записи – отобразить в таблице редактора данные трёх поседних записей файла, выбранного в диалоге. Если нет трех записей, то выдать сообщение. - Выбор N лучших –загрузить в таблицу редактора данные N записей файла, представляющих студентов всех групп, имеющих наибольшие суммы баллов. 25. - Добавить средние баллы – отобразить в таблице данные записей файла, добавив в конце каждой строки таблицы (в новой колонке) значения средних баллов. - Упорядочить по СредБаллу – упорядочить в таблице редактора строки по убыванию среднего балла и вывести данные (без средних баллов) в тот же файл, не меняя тип файловой переменной. 26. - Добавить СредБаллы групп – по данным файла-источника создать типизированный файл ‘SbGr. rec’, поместив в него записи, включающие имя группы и средний балл в группе по всем экзаменам. - Выбор трёх худших – загрузить в таблицу редактора данные трёх записей файла, представляющие студентов заданной пользователем в диалоге группы, имеющих наименьшие суммы баллов.
|
|||
|