Автор: Пользователь скрыл имя, 20 Января 2012 в 20:42, курсовая работа
Модули представляют собой инструмент для разработки библиотек прикладных программ и мощное средство модельного программирования.
Задача курсового проекта: разработать программу, представляющую собой информационно-справочную систему на языке программирования 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
МИНИСТЕРСТВО
СЕЛЬСКОГО ХОЗЯЙСТВА И
РЕСПУБЛИКИ БЕЛАРУСЬ
ГЛАВНОЕ УПРАВЛЕНИЕ ОБРАЗОВАНИЯ, НАУКИ И КАДРОВ
УО «ГОМЕЛЬСКИЙ
ГОСУДАРСТВЕННЫЙ АГРАРНО-
Курсовой проект
по дисциплине
«Основы алгоритмизации и программирования»
на тему:
«Разработка информационно-
«Зачисление абитуриентов» на языке
Исполнитель:
учащийся группы ПО-22 II курса отделения «Программное обеспечение информационных технологий»
Романюк Максим Николаевич
Руководитель:
Сакович Ирина Сергеевна
Дата
представления_________________
Дата
защиты________________________
Оценка
______________________________
Подпись
руководителя__________________
Гомель
2011
СОДЕРЖАНИЕ
Введение
Современный этап развития цивилизации характеризуется переходом наиболее развитой части человечества от индустриального общества к информационному. Одним из наиболее ярких явлений этого процесса является возникновение и развития глобальной информационной компьютерной сети.
Система программирования Turbo Pascal является одной из самых популярных систем программирования, с помощью, которой можно решать любые задачи.
Среда программирования Turbo Pascal 7.1 представляет собой язык программирования высокого уровня. Транслятор языка Turbo Pascal 7.1 работает по компиляционному принципу.
Версия языка TURBO PASCAL V 7.1 включает в себя возможности:
-
использование отдельно
- интегрированный отладчик;
-
интегрированная среда
-
объектно-ориентированную
Турбо Паскаль 7.1 оперирует объектами, которые используются в типичной ЭВМ: символами, целыми числами и числами с плавающей запятой. Программисту разрешено управлять размещением объектов и использовать в программах знания размера объектов и способов их взаимного расположения.
Модули представляют собой инструмент для разработки библиотек прикладных программ и мощное средство модельного программирования.
Задача курсового проекта: разработать программу, представляющую собой информационно-справочную систему на языке программирования Turbo Pascal.
Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию.
Линейный список неудобен тем, что при попытке вставить некоторый элемент перед текущим элементом, требуется обойти почти весь список, начиная с заголовка, чтобы изменить значение указателя в предыдущем элементе списка. Чтобы устранить данный недостаток вводится второй указатель в каждом элементе списка. Первый указатель связывает данный элемент со следующим, а второй с предыдущим. Такая организация динамической структуры данных получила название линейного двунаправленного списка (двусвязного списка). На рис. 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) по списку можно двигаться в любом направлении;
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 Разработка
информационно-поисковой системы «Зачисление
Абитуриентов» на языке программирования
Паскаль
Цель
курсовой работы: «Разработка информационно-
Информационно-поисковая система – это совокупность организационных, технических, программных и информационных средств, объединенных в единую систему с целью сбора, хранения, обработки и выдачи информации.
Разработка информационной системы состоит из следующих этапов:
1. Определение содержания файла информации.
2. Определение функций информационно-поисковой системы.
3. Разработка блок-схемы приложения.
4. Разработка приложения (листинг программы).
Файл информации и приложение образуют информационно-поисковую систему.