Разработка информационно-поисковой системы "Студенты факультета" - Курсовая работа

бесплатно 0
4.5 121
Создание приложения Windows, позволяющего автоматизировать процесс обработки информации студентов университета. Организация работы с физическими файлами в языках программирования. Изучение средств IDE Delphi для организации работы с текстовыми файлами.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Запись в таблице студентов должна содержать следующую информацию о товаре: ФИО, дата рождения, дата поступления, адрес, группа, признак получения стипендии. Работа с таблицей (т.е. с файлом) может происходить без полной загрузки ее в оперативную память. File, of - зарезервированные слова (файл, из); TEXTFILE - имя стандартного типа текстовых файлов; - любой тип Object Pascal, кроме файлов. end где RECORDTYPENAME - имя записи, record - ключевое слово обозначающее тип объявляемой структуры как запись, FIELDLIST1… FIELDLISTN - набор полей записи несущих некую смысловую нагрузку и содержащие данные об объекте описываемом записью. Для реализации данной функции при открытии нового файла или фильтрации будет происходить обращение к файлу и выборке из него записей удовлетворяющих критериям фильтрации, этом информация о файле будет храниться на протяжении всей работы приложения.Модуль загружается первым при начале работы с программой, предоставляет пользователю возможность просмотра данных файла и доступа к основным функционалам программы. Форма модуля представлена на рис. 1 STRINGGRID1 (таблица записей) Компонент используется для отображения набора записей находящихся в оп. памяти. Модуль предназначен для выбора файлов данных о студентах и группах, а также выбора параметров фильтрации при выборе данных из файла студентов. Доступ к форме модуля осуществляется при нажатии пункта меню: Файл-> Загрузить (Ctrl L) - в начале работы с программой, Пункт «Фильтрация» - при фильтрации загруженных данных.Алгоритм активизируется после выбора значения в любом из списков, отвечающих за порядок или поле сортировки. Перед началом сортировки производится загрузка всех записей из рабочего файла студентов в случае, если установлен переключатель «Грузить полный список». Сортировка производится внутри компонента STRINGGRID1 основной формы приложения методом вставки, блок-схема алгоритма представлена на рис. Текст процедуры сортировки представлен в листинге 1. begin if FMMAIN.CHECKBOX2.Checked then beginМодуль осуществляет поиск записи в оп. памяти, удовлетворяющей параметрам поиска. Доступ к модулю поиска осуществляется при помощи группы компонент главной формы (см. рис. После выбора ФИО и нажатия кнопки «Сначала» происходит загрузка всех записей из файла студентов в оп. память и происходит поиск по STRINGGRID1 основной формы приложения первой записи соответствующей параметру поиска и курсор устанавливается на нужную запись.Открывается диалог сохранения файла в котором пользователь может выбрать файл для сохранения данных, если выбран текущий рабочий файл программа запросит подтверждение сохранение данный с потерей данных хранящихся в файле до сохранения (рис.11) активируется при выборе пунктов всплывающего меню «Редактировать», «Добавить запись». При этом, если запись открывается на редактирование, то поля формы заполняются соответствующими данными текущей записи (записи на которую установлен курсор). После внесения изменений/записи данных во все поля формы необходимо нажать кнопку «Записать» для записи данных в файл, при этом будет проведена предварительная проверка на корректность даты рождения и поступления. В случае введения даты в неправильном формате, выдается сообщение об ошибке формата (рис. При выборе пункта всплывающего меню «Удалить запись» происходит поиск текущей записи в файле, записи на ее место последней записи в файле и обрезании файла по предпоследней записи.При открытии формы в список Memo1 будет загружен список групп из текущего файла групп. Для сохранения изменений необходимо нажать кнопку «Сохранить» - данные сохраняются в текущем файле категорий, либо выбрать новый файл, нажав кнопку «Сохранить как».15) активируется при выборе пункта меню: О программе. При невыбранных файлах студентов и групп в форме вывода/фильтрации (см. рис. При активной галке «Все записи» загружается все записи из файла (см. рис. 17а), при снятии галки «Все записи» и выборе в списке «ПО-11», будут загружены только записи, в которых поле группа будет равна «ПО-11» (см. рис 17б), при выборе пустого файла список записей будет пуст и доступен только пункт всплывающего меню «Добавить запись» (рис 17в) а) Выбрать сортировку по ФИО файла из рис.В ходе выполнения курсовой работы выполнено следующее: Изучены средства IDE Delphi, позволяющие организовать работу с текстовыми файлами, а также приемы создания простейших многооконных приложений. С помощью IDE Delphi разработано программное средство, позволяющее организовать ввод, просмотр и редактирование данных, хранящихся в текстовом файле. Также программа позволяет выполнять следующие действия: 1.

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

Цель курсовой работы: создать приложение Windows, позволяющее автоматизировать процесс обработки информации студентов университета.

ПОСТАНОВКА ЗАДАЧИ

Имеется две таблицы (студенты, группы), информация о каждом объекте имеет заданную структуру и представляет собой запись хранимой таблицы. Запись в таблице студентов должна содержать следующую информацию о товаре: ФИО, дата рождения, дата поступления, адрес, группа, признак получения стипендии. Таблица групп представляет собой неизменный справочник с данными о составе групп университета. Основная таблица может использовать справочные данные, которые выбирает из другой таблицы (неизменный справочник) и помещает в основную таблицу выбранное значение. Обе таблицы представляют собой текстовые файлы. Работа с таблицей (т.е. с файлом) может происходить без полной загрузки ее в оперативную память. Обязательные операции с файлом таблицы - ввод, вывод. Вывод по группе. Сортировка по фамилии. Поиск по фамилии.

ИСХОДНЫЕ ДАННЫЕ

1. Основная таблица содержит поля: а) Табельный номер; (вводится программой для контроля уникальности записи и оптимизации работы с набором данных) б) ФИО;

в) дата рождения;

г) дата поступления;

д) адрес;

е) группа;

ж) признак получения стипендии.

Представляет собой типизированный файл записей.

2. Дополнительная таблица: неизменяемый справочник групп.

Представляет собой текстовый файл, строки которого являются наименованиями групп студентов.

ДЕЙСТВИЯ

1. Вывод по выбранной(-ым) группе(-ам) студентов. Операция фильтрации может быть выполнена в любое время при работе с таблицей данных студентов.

2. Сортировка по ФИО, дате рождения и поступления, адресу, группе, признаку получения стипендии. При этом существует возможность предварительной загрузки всего содержимого файла студентов. Сортировка в прямом и обратном порядке.

3. При вводе дат прихода вести проверку на корректность ввода даты.

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

5. Ввод в текущую рабочую таблицу данных студентов или в новый файл.

6. Работа с таблицей данных студентов: добавление, редактирование и удаление записей.

7. Работа с неизменным справочником групп: добавление, редактирование и удаление записей из файла.

8. Вывод информации о программном продукте.

Теоретический материал

ФИЗИЧЕСКИЙ ФАЙЛ

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

ЛОГИЧЕСКИЙ ФАЙЛ

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

Файл ? это потенциально бесконечная последовательность компонент одного и того же типа. Количество компонент в файле заранее не оговаривается.

Файловый тип можно задать одним из трех способов: = File of ;

= TEXTFILE;

= File;

Здесь - имя файлового типа (правильный идентификатор);

File, of - зарезервированные слова (файл, из); TEXTFILE - имя стандартного типа текстовых файлов; - любой тип Object Pascal, кроме файлов. Например: type

Fl = File of Char;

F2 = TEXTFILE;

F3 = File;

В зависимости от способа объявления можно выделить три вида файлов: 1) типизированные файлы (задаются предложением File of ...);

2) текстовые файлы (определяются типом TEXTFILE);

3) нетипизированные файлы (определяются типом File).

В наших примерах F1 - типизированный файл, F2 - текстовый файл, F3 - нетипизированный файл. Вид файла, вообще говоря, определяет способ хранения в нем информации. Однако в Delphi нет средств контроля вида ранее созданных файлов. При объявлении уже существующих файлов программист должен сам следить за соответствием вида объявления характеру хранящихся в файле данных.

Типизированные файлы представляют собой набор данных одного типа. В разрабатываемой программе удобно использовать файл содержащий набор структур - «запись». Объявление структуры в Delphi: type RECORDTYPENAME = record FIELDLIST1: type1;

FIELDLISTN: typen;

end где RECORDTYPENAME - имя записи, record - ключевое слово обозначающее тип объявляемой структуры как запись, FIELDLIST1… FIELDLISTN - набор полей записи несущих некую смысловую нагрузку и содержащие данные об объекте описываемом записью.

Основные процедуры/функции работы с типизированными файлами: ASSIGNFILE - ассоциирует имя физического файла файловой переменной программы.

CLOSEFILE - закрывает файл.

Eof - возвращает истину если курсор находится в конеце файла.

Erase- удалить файл.

FILESIZE - возвращает текущий размер файла в байтах.

Read- считывает запись из файла в переменную программы.

Reset- открывает выбранный файл.

Seek- перемещает курсор в типизированном файле на указанную позицию.

Truncate - обрезает файл по текущей позиции курсора.

Write- запись переменной в файл.

В программе предусмотрена сортировка содержимого файла загруженного в оперативную память. Для сортировки используется метод вставками. Сортировка вставками - простой алгоритм сортировки. Хотя этот алгоритм сортировки уступает в эффективности более сложным (таким как быстрая сортировка), у него есть ряд преимуществ: * прост в реализации;

* эффективен на небольших наборах данных, на наборах данных до десятков элементов может оказаться лучшим;

* эффективен на наборах данных, которые уже частично отсортированы;

* это устойчивый алгоритм сортировки (не меняет порядок элементов, которые уже отсортированы);

* может сортировать список по мере его получения;

* не требует временной памяти, даже под стек.

На каждом шаге алгоритма мы выбираем один из элементов входных данных и вставляем его на нужную позицию в уже отсортированном списке, до тех пор пока набор входных данных не будет исчерпан. Метод выбора очередного элемента из исходного массива произволен; может использоваться практически любой алгоритм выбора. Обычно (и с целью получения устойчивого алгоритма сортировки), элементы вставляются по порядку их появления во входном массиве. На рис. 1 представлен фрагмент работы алгоритма.

Рис.1. Пример работы алгоритма сортировки вставками

На рис.1(а) мы вынимаем элемент 3. Затем элементы, расположенные выше, сдвигаем вниз - до тех пор, пока не найдем место, куда нужно вставить 3. Это процесс продолжается на рис.1(b) для числа 1. Наконец, на рис.1(с) мы завершаем сортировку, поместив 2 на нужное место.

Если длина нашего массива равна n, нам нужно пройтись по n - 1 элементам. Каждый раз нам может понадобиться сдвинуть n - 1 других элементов, получая алгоритм с временем работы O(n2).

Структурное описание проекта

В проекте используются файлы формата ‘.txt’, файл студентов содержит набор типизированных записей, файл групп содержит наименование групп университета каждая строка которого - наименование группы.

Согласно заданию программное средство должно выполнять ряд функций, способ организации каждой из них следующий: 1. МОДУЛЬ ВЫВОДА/ФИЛЬТРАЦИИ - вывод по выбранной(-ым) группе(-ам). Операция фильтрации может быть выполнена в любое время при работе с таблицей данных студентов.

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

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

Промежуточные данные: текущая считанная запись из файла.

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

2. МОДУЛЬ СОРТИРОВКИ - Сортировка по ФИО, дате рождения и поступления, адресу, группе, признаку получения стипендии. При этом перед процедурой сортировки происходит предварительная загрузки всего содержимого файла студентов. Сортировка в прямом и обратном порядке.

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

Вх. данные: набор записей в оп. памяти, поле сортировки, порядок сортировки (прямой/обратный).

Промежуточные данные: отсутствуют.

Вых. данные: набор записей, отсортированный согласно выбранным параметрам.

3. МОДУЛЬ ПОИСКА - Поиск по ФИО. При этом осуществляется автоматическая загрузка всего содержимого файла склада. Поиск осуществляется как с начала загруженного в оперативную память набора данных, так и в продолжение с текущей позицией курсора в наборе данных студентов.

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

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

Вх. данные: набор записей в оп. памяти, ФИО поиска.

Промежуточные данные: отсутствуют

Вых. данные: позиция найденной записи в наборе или сообщение об окончании поиска без нахождения совпадений.

4. МОДУЛЬ СОХРАНЕНИЯ - Ввод в текущую рабочую таблицу данных студентов или в новый файл.

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

Вх. данные: набор записей в оп. памяти, файл для сохранения.

Вых. данные: файл с записями.

5. МОДУЛЬ РЕДАКТИРОВАНИЯ - Работа с таблицей данных студентов: добавление, редактирование и удаление записей.

- Редактирование: пользователь имеет возможность редактирования данных о любом студенте университета, при этом возможна отмена всех внесенных пользователем изменений до нажатия им кнопки подтверждения сохранения изменений.

- Добавление: пользователю предоставляется возможность добавления новой записи о студенте, при этом, после подтверждения сохранения данных, запись записывается в файл и помещается в оп. память.

- Удаление: пользователь имеет возможность удалить запись о студенте, после подтверждения запроса на удаление, запись будет безвозвратно удалена из файла

Вх. данные: текущая запись в оп. памяти, файл записей.

Вых. данные: обновленная/новая запись о студентах.

6. МОДУЛЬ РАБОТЫ С ГРУППАМИ - работа с неизменным справочником групп: добавление, редактирование и удаление записей из файла.

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

Вх. данные: файл групп университета.

Промежуточные данные: группы.

Вых. данные: обновленный файл групп университета.

7. МОДУЛЬ ИНФОРМАЦИИ - Вывод информации о программном продукте.

Выводится информативное окно в модальном режиме о назначении программного продукта.

8. МОДУЛЬ ВИЗУАЛИЗАЦИИ - Вывод информации о текущем наборе записей о студентах в оп. памяти.

В данном модуле происходит отображение записей с которыми в данный момент работает пользователь. Через данный модуль осуществляется доступ ко всем возможным операциям с набором записей (к остальным модулям программы). После нажатия пользователям пункта меню «выход» работа с программой заканчивается и приложение закрывается, при этом все несохраненные данные будут потеряны.

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

В запись о студенте внесено дополнительное поле «Табельный номер» для контроля уникальности записей о студенте. Для пользователя доступ к данному полю закрыт и на всех этапах работы значение поля контролируется программой. При операциях с записью (редактировании, удалении) происходит поиск записи по табельному номеру в файле с последующей заменой старых данных на новые или удаление данных. При удалении записи происходит поиск удаляемой записи в файле по табельному номеру, записи на ее место последней записи файла и обрезанием файла по предпоследней записи.

Функциональное описание

При написании программы использовалось следующее представление записи о студенте: TZSTUDENT = record //пользовательский тип запись для хранения

TABNUM:word; //сведений об одном студенте

Name:string[150];

databorn:TDATETIME;

dataprih:TDATETIME;

adress:string[150];

Grupp:string[30];

Step:byte;

end;

Данное представление записи содержит все необходимые данные о студенте по заданию.

Файл с записями о студентах представляет собой типизированный файл записей TZSTUDENT: fl:file of TZSTUDENT;

Для обеспечения корректной и согласованной работы всех модулей вводятся следующие глобальные переменные: FLSTUD, FLGRUPP: String; - строковые переменные хранящие пути к файлам студентов и групп, с которыми проводится работа пользователем. Переменные существуют на протяжении всего периода работы приложение, инициализируются при выборе пользователем файлов в модуле загрузки. Данные переменные используются при всех последующих обращениях к файлам. MAXTABNUM:word; - переменная хранящая максимальный номер студента в файле, необходима при добавлении новых записей в файл для контроля уникальности записей в файле. LASTPOISK:string; - переменная хранящая информацию о ФИО выбранных при последнем поиске через модуль поиска, для поиска совпадений далее по набору записей. FLWHATTODO:byte; - переменная хранящая код операции при работе модуля редактирования: 1 - добавление записи, 2 - редактирование.

Вывод
В ходе выполнения курсовой работы выполнено следующее: Изучены средства IDE Delphi, позволяющие организовать работу с текстовыми файлами, а также приемы создания простейших многооконных приложений.

С помощью IDE Delphi разработано программное средство, позволяющее организовать ввод, просмотр и редактирование данных, хранящихся в текстовом файле. Предметная область: список студентов университета. Структура записи: ФИО, дата рождения, дата поступления, адрес, группа, признак получения стипендии.

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

2. Загрузить ранее сохраненный список из файла;

3. Поиск информации - последовательно находить несколько записей, удовлетворяющих заданному значению поля «ФИО»;

4. Фильтрацию данных - формирование списка студентов, которые имеют заданное значение в поле «Группа»;

5. Сортировку списка студентов по выбранному полю в алфавитном (прямом) или обратном порядке.

6. Проверку на корректность введенной даты.

7. Выводится информация о программе.

Размещено на

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?