Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi_Ч2.doc
Скачиваний:
15
Добавлен:
02.11.2018
Размер:
1.7 Mб
Скачать

Создание проекта «Результаты аттестации»

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

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

  • Комплексная сортировка по группе + по фамилии студента.

  • Комплексная сортировка по количеству неудовлетворительных оценок ↓ + по среднему баллу ↑.

  • Выборка студентов какой-нибудь группы, имеющих средний балл выше 4.

  • Подсчет общего числа студентов, имеющих более 2-х неудовлетворительных оценок.

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

      1. Интерфейс пользователя для проекта

Интерфейс разрабатываемого проекта представлен на рисунке 10.2. Интерфейс проекта предполагает, что исходная информация будет храниться в ячейках компонента StringGrid1. Результаты обработки исходных данных будут записываться в компонент StringGrid2.

Добавить строку к исходным данным можно с помощью кнопки «Добавить пустую строку к таблице», а удалить текущую строку можно с помощью кнопки «Удалить текущую запись». Кнопка «Упорядочить по группе и фамилии» обеспечивает сортировку данных по группам, а в пределах групп по фамилиям.

Кнопка «Упорядочить по неуд. и ср.баллу» обеспечивает сортировку данных по количеству неудовлетворительных оценок, а при их равенстве, по среднему баллу.

При нажатии на кнопку «Выбрать ударников какой-то группы» должен появиться компонент InputBox, с помощью которого вводится нужная группа, после чего во втором окне появится список соответствующих студентов отсортированный по фамилиям..

При нажатии на кнопку «Подсчитать количество имеющих более 2-х хвостов» во втором окне появится список соответствующих студентов отсортированный по результатам успеваемости,а их количество будет выведено в окне MessageBox

Рисунок 10.2 – Интерфейс проекта

      1. Определение типов данных

Для реализации проекта нужно определить тип записи, тип массива для хранения исходных данных и другие типы. Эти описания должны быть доступны всем процедурам проекта, поэтому их следует сделать вне этих процедур, в начале раздела Implementation.

Тексты этих описаний для создаваемого проекта приведены ниже.

type

TFio = String[20]; // тип для фамилии студента

TGroup = String[5]; // тип для группы

TAttRec = record //тип для записи

fio : TFio ;

group : TGroup;

neud: integer;

srBall : real;

end;

//Тип для массива записей

TAttArray = Array[1..30] of TAttRec;