Разработка информационно-поисковой системы «Зачисление абитуриентов» на языке программирования Паскаль

Автор: Пользователь скрыл имя, 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

Работа содержит 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.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. Разработка приложения (листинг программы).

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

Информация о работе Разработка информационно-поисковой системы «Зачисление абитуриентов» на языке программирования Паскаль