Разработка информационно-поисковой системы «Зачисление абитуриентов» на языке программирования Паскаль
Курсовая работа, 20 Января 2012, автор: пользователь скрыл имя
Описание работы
Модули представляют собой инструмент для разработки библиотек прикладных программ и мощное средство модельного программирования.
Задача курсового проекта: разработать программу, представляющую собой информационно-справочную систему на языке программирования Turbo Pascal.
Содержание
Введение 3
1 Двусвязные списки и основные операции над ними 4
1.1 Двунаправленные списки 4
1.2 Циклические списки 4
1.3 Свойства двунаправленных списков: 7
2 Разработка информационно-поисковой системы «Зачисление Абитуриентов» на языке программирования Паскаль 9
2.1 Постановка задачи 9
2.2 Описание алгоритма 11
2.3 Практическая часть выполнения задачи «Зачисление абитуриентов» на языке программирования 14
2.4 Результат работы программы 30
Заключение 34
Cписок используемых источников 35
Приложения 36
Работа содержит 1 файл
Теория по курсачу, Романюк М.Н., ПО-22.doc
— 244.50 Кб (Скачать)МИНИСТЕРСТВО
СЕЛЬСКОГО ХОЗЯЙСТВА И
РЕСПУБЛИКИ БЕЛАРУСЬ
ГЛАВНОЕ УПРАВЛЕНИЕ ОБРАЗОВАНИЯ, НАУКИ И КАДРОВ
УО «ГОМЕЛЬСКИЙ
ГОСУДАРСТВЕННЫЙ АГРАРНО-
Курсовой проект
по дисциплине
«Основы алгоритмизации и программирования»
на тему:
«Разработка информационно-
«Зачисление абитуриентов» на языке
Исполнитель:
учащийся группы ПО-22 II курса отделения «Программное обеспечение информационных технологий»
Романюк Максим Николаевич
Руководитель:
Сакович Ирина Сергеевна
Дата
представления_________________
Дата
защиты________________________
Оценка
______________________________
Подпись
руководителя__________________
Гомель
2011
СОДЕРЖАНИЕ
Введение
Современный этап развития цивилизации характеризуется переходом наиболее развитой части человечества от индустриального общества к информационному. Одним из наиболее ярких явлений этого процесса является возникновение и развития глобальной информационной компьютерной сети.
Система программирования Turbo Pascal является одной из самых популярных систем программирования, с помощью, которой можно решать любые задачи.
Среда программирования Turbo Pascal 7.1 представляет собой язык программирования высокого уровня. Транслятор языка Turbo Pascal 7.1 работает по компиляционному принципу.
Версия языка TURBO PASCAL V 7.1 включает в себя возможности:
-
использование отдельно
- интегрированный отладчик;
-
интегрированная среда
-
объектно-ориентированную
Турбо Паскаль 7.1 оперирует объектами, которые используются в типичной ЭВМ: символами, целыми числами и числами с плавающей запятой. Программисту разрешено управлять размещением объектов и использовать в программах знания размера объектов и способов их взаимного расположения.
Модули представляют собой инструмент для разработки библиотек прикладных программ и мощное средство модельного программирования.
Задача курсового проекта: разработать программу, представляющую собой информационно-справочную систему на языке программирования Turbo Pascal.
Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию.
1 Двусвязные списки и основные операции над ними
1.1 Двунаправленные списки
Линейный список неудобен тем, что при попытке вставить некоторый элемент перед текущим элементом, требуется обойти почти весь список, начиная с заголовка, чтобы изменить значение указателя в предыдущем элементе списка. Чтобы устранить данный недостаток вводится второй указатель в каждом элементе списка. Первый указатель связывает данный элемент со следующим, а второй с предыдущим. Такая организация динамической структуры данных получила название линейного двунаправленного списка (двусвязного списка). На рис. 1.2 приведена графическая интерпретация двунаправленного списка. Интересным свойством такого списка является то, что для доступа к его элементам вовсе не обязательно хранить указатель на первый элемент. Достаточно иметь указатель на любой элемент списка. Первый элемент всегда можно найти по цепочке указателей на предыдущие элементы, а последний - по цепочке указателей на следующие. Но наличие указателя на заголовок списка в ряде случаев ускоряет работу со списком
1.2 Циклические списки
Линейные списки характерны тем, что в них можно выделить первый и последний элементы, причем для однонаправленного линейного списка обязательно нужно иметь указатель на первый элемент. Циклические списки также как и линейные бывают однонаправленными и двунаправленными. Основное отличие циклического списка состоит в том, что в списке нет пустых указателей.
Последний элемент списка содержит указатель, связывающий его с первым элементом. Для полного обхода такого списка достаточно иметь указатель только на текущий элемент.
В
двунаправленном циклическом
Двунаправленный
циклический список позволяет достаточно
просто осуществлять вставки и удаления
элементов слева и справа от текущего
элемента. В отличие от линейного
списка, элементы являются равноправными
и для выделения первого
Рассмотрим двунаправленные списки.
В зависимости от количества связей между соседними элементами различают односвязные и двусвязные списки.
Каждый элемент в списке с двойной связью имеет указатель на следующий элемент списка и указатель на предыдущий элемент списка.
Двунаправленный список отличается двумя основными преимуществами
Во-первых, список может просматриваться в обоих направлениях. Это не только упрощает сортировку списка, но также позволяет пользователям базы данных просматривать данные в обоих направлениях.
Во-вторых, список при нарушении одной из связей может быть восстановлен по другой связи. Это свойство имеет смысл использовать при отказах оборудования, приводящих к нарушению списка.
Построим модель двунаправленного списка. Двунаправленный список строится подобно однонаправленному списку, причем в записи должно быть предусмотрено место для двух указателей. Итак, каждый элемент двунаправленного списка представим записью языка Pascal, которая состоит из трех полей:
1) информационного поля или поля данных;
2) ссылки на следующий элемент списка;
3) ссылки на предыдущий элемент списка.
Описание компоненты списка
Type
PtrRec = ^Rec;
Rec = record
Element : TypeElement; {поле данных}
pNext : PtrRec; {прямой указатель}
pPrev : PtrRec; {обратный указатель}
End;
Двунаправленный список, так же как и однонаправленный, может иметь заглавные звенья и не иметь их.
Изобразим схематично случай, когда заглавное звено одно на рисунке 1.1:
Рис.1.1 - Двунаправленный список с одним заглавным звеном
Изобразим пустой двунаправленный список с одним заглавным звеном на рисунке 1.2:
Рис.1.2 - Пустой двунаправленный список с одним заглавным звеном
Приведем
вариант структуры
Рис.1.3 - Двунаправленный список с двумя заглавными звеньями
Соответствующий пустой двунаправленный список с двумя заглавными звеньями выглядит так в соответствии с рисунком 1.4:
Рис.1.4 - Пустой двунаправленный список с двумя заглавными звеньями
1.3 Свойства двунаправленных списков:
1) по списку можно двигаться в любом направлении;
2) если List есть указатель на любой элемент двунаправленного списка, то выполняются следующие свойства
List = List^.pNext^.pPrev
и
List = List^.pPrev ^.pNext
Данные свойства легко можно проиллюстрировать с помощью схемы в соответствии с рисунком 1.5:
Рис.1.5 - Графическая иллюстрация свойств двунаправленного списка
3)
возможность легкого
Над двунаправленными списками выполняются следующие операции [1, с.89]:
начальное формирование списка (запись первой компоненты);
добавление компоненты в конец списка;
вставка компоненты в заданное место списка (обычно до компоненты с заданным ключом или после неё);
определение первого или последнего элементов в двунаправленном списке;
чтение компоненты с заданным ключом; с заданным свойством;
исключение компоненты с заданным ключом из списка;
упорядочивание
узлов линейного списка в определенном
порядке.
Для формирования списка и работы с ним необходимо описать четыре переменных типа указатель, например: pBegin определяет начало списка, pEnd определяет конец списка, pCKey, pAux - вспомогательные:
Var
pBegin, pEnd, pCKey, pAux : PtrRec;
При
описании процедур будем предполагать
наличие в программе
2 Разработка
информационно-поисковой системы «Зачисление
Абитуриентов» на языке программирования
Паскаль
2.1 Постановка задачи
Цель
курсовой работы: «Разработка информационно-
Информационно-поисковая система – это совокупность организационных, технических, программных и информационных средств, объединенных в единую систему с целью сбора, хранения, обработки и выдачи информации.
Разработка информационной системы состоит из следующих этапов:
1. Определение содержания файла информации.
2. Определение функций информационно-поисковой системы.
3. Разработка блок-схемы приложения.
4. Разработка приложения (листинг программы).
Файл информации и приложение образуют информационно-поисковую систему.