Среда разработки Турбо Паскаль 7.0. Базы данных

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
Белорусский государственный университет информатики ирадиоэлектроники
Кафедра программного обеспечения
информационных технологий
КУРСОВАЯ РАБОТА
По курсу: “Основы алгоритмизации и программирования”
На тему: “Среда разработки Турбо Паскаль 7.0.
Базы данных”
Исполнитель: студент
Проверил
МИНСК 2002
Аннотация
Данная курсовая работа посвященареализации базы данных на примере описания стационарного объекта “Вокзал”. Входе реализации программы организован удобный пользовательский интерфейс. Этомуспособствовали методы, используемые средой разработки Turbo Pascal 7.0.
В качестве расписания вокзала вработе используется файл записей. Записи имеют несколько полей, в которыхсодержится информация по определенному поезду на соответствующую дату. Благодаряиспользованию переменных типа записи мы получаем доступ сразу ко всейинформации, а также можем изменять ее соответствующим образом.

Содержание
Аннотация
Введение
1. Постановка задачи
2. Описание программы
3. Тестирование программы
Заключение
Список использованной литературы
Введение
Целью написания данной курсовойработы является разработка программы, создающей и управляющей базой данных.
Программа построения базы данныхреализована на языке Turbo Pascal.
Этот язык был разработан Н. Виртомпервоначально для целей обучения программированию вообще. С этой точки зренияПаскаль имеет некоторое преимущество перед однотипными языками — такими, как,например, язык Си.
По своей идеологии Паскальблизок к современной методике и технологии программирования. Этот язык весьмаполно отражает идеи структурного программирования, что отчетливо проявляется восновных управляющих структурах, предусмотренных в Паскале.
Паскаль хорошо приспособлен дляприменения общепризнанной в настоящее время технологии разработки программметодом нисходящего проектирования (пошаговой детализации). Это проявляется втом, что Паскаль может успешно использоваться для записи программы на разныхуровнях ее детализации, не прибегая к помощи блок-схем или специального языкапроектирования программ.
В задачи данной курсовой работывходит:
организация алгоритма программы;
организация вывода информации;
возможность добавленияинформации в базу данных;
поиск информации в базе данныхпо заданному значению;
информативность и удобство виспользовании.
1. Постановка задачи
Для реализации программыосновная задача — это создание надёжной системы хранения данных. Создание удобногодоступа к данным можно осуществить с использованием переменных типа — записи. Пользовательскийинтерфейс должен быть образован приемлемым образом, для того чтобы обеспечитьудобство использования и наилучшее восприятие пользователем выводимой информации.
МЕТОДЫ (АЛГОРИТМЫ) РЕШЕНИЯЗАДАЧИ.
Запись — это структура данных,состоящая из фиксированного числа компонентов, называемых полями записи. Вотличие от массива, компоненты (поля) записи могут быть различного типа. Чтобыможно было ссылаться на тот или иной компонент записи, поля именуются.
Структура объявления записитакова:
= RECORD END
здеcь
— правильныйидентификатор;
RECORD, END — зарезервированные слова;
— списокполей; представляет собой последовательность разделов записи, между которымиставится точка с запятой.
Каждый раздел записи состоит изодного или нескольких идентификаторов полей, отделяемых друг то друга запятыми.За
идентификатором (идентификаторами)ставится двоеточие и описание типа поля (полей), например:
type
birthday =record
day, month: Byte;
year: Word
end;
var
a,b: birthday;
…….
В этом примере тип BIRTHDAY (день рождения) есть запись с полями DAY, MONTH и YEAR(день, месяц и год рождения); переменные А и В содержат записи типа BIRTHDAY.
Как и в массиве, значенияпеременных типа записи можно присваивать другим переменным того же типа,например:
a: =b
К каждому из компонентов записиможно получить доступ, если использовать составное имя, т.е. указать имяпеременной, затем
точку и имя поля.
a. day: =27;
b. year: =1939;
Для вложенных полей приходитсяпродолжать уточнения:
 
if c. bd. year = 1939 then …
end.
Чтобы упростить доступ к полямзапис, используется оператор присоединения WITH
 
With do

Здесь with, do — ключевыеслова (с, делать);
— имяпеременной типа запись, за которым, возможно, следует список вложенных полей;
— любойоператор Турбо Паскаля.
Например:
With c. bd do mont: =9
это эквивалентно:
c. bd. month: =9;
Турбо Паскаль разрешает использоватьзаписи с так называемыми вариантными полями, например:
 
Type
Forma = record
Name: string;
Case Byte of
0: (BirthPlace:string [40]);
1: (Countri:string [30] ;
ExitDate:
1. .31)
End;
В этом примере тип FORMA определяет запись с одним фиксированным полем NAМЕ и вариантной часть, которая задается предложением Case…. of. Вариантнаячасть состоит из нескольких вариантов. Каждый из вариантов определяетсяконстантой выбора, за которой следует двоеточие и список полей, заключенный вкруглые скобки. В любой записи может быть только одна вариантная часть, и, еслиона есть, располагаться за всеми фиксированными частями.
Замечательной особенностьювариантной части является то обстоятельство, что все заданные в ней вариантынакладываются друг на друга, т.е. каждому из них выделяется одна и та жеобласть памяти. Это открывает дополнительны возможности преобразования типов. Ключвыбора фактически игнорируется компилятором: единственное требование,предъявляемое к вам Турбо Паскалем, состоит в том, чтобы ключ определялнекоторый стандартный или предварительно объявленный тип. Причем сам этот типникак не влияет ни на количество следующих за ним вариантных полей, ни даже нахарактер констант выбора. В стандартном Паскале в качестве ключа всегданеобходимо указывать в качестве ключа выбора некоторую переменную порядковоготипа, причем в исполняемой части программы можно присваивать некоторое значениеэтой переменной и тем самым влиять на выбор полей. В Турбо Паскале также можнов поле ключа выбора указывать переменную порядкового типа и даже присваивать ейв программе какое-то значение, что однако не влияет на выбор поля: значенияконстант выбора в Турбо Паскале могут быть произвольными, в том числеповторяющимися.
Имена полей должны быть уникальнымив пределах той записи, где они объявлены, однако, если записи содержатполя-записи, т.е. вложены одна в другую, имена могут повторяться на разныхуровнях вложенности, например: c. bd. f. bd. c
 2. Описание программы
Общие сведения.
Для хранения информации обо всейинформации в базе данных используется динамическое дерево. Для чего описываетсяновый тип данных — запись (raspis). В записи raspis описываются следующие поля:
numer — номер поезда в расписании;
datav- датаотправления;
kpunkt — конечный пункт следования;
vremyaot — время отправления;
kmest — количество свободных купейных мест;
pmest-количествосвободных плацкартных мест.
В программе так же используютсяпеременные:
work — перменная для обработки данных
BookFile — переменная, в которой хранится имя файла расписания
Все остальные переменныевспомогательные
В программе используютсяследующие процедуры:
NameFile — задает переменную BookkFile.
Dobawlenie1- запись в файл значения переменной work.
Bronir — бронирование билетов
Sozdanie — создание нового файла расписания.
Prosmotr — просмотр файларасписания.
Dobawlenie — добавлениеинформации в базу.
Poisk – поиск по конечному пункту
Udalenie – удаление файла расписания.
Функциональное назначение
Программу можно использовать дляорганизации базы данных. В программе можно производить поиск и добавлять новуюинформацию в конец базы данных. Программу также можно усовершенствовать,добавив обход базы данных рекурсивным способом.
В блоке инициализации происходитподготовка экрана и данных. После инициализации выполняется бесконечны циклпроверяющий состояние клавиатуры.
При нажатии на клавишипроисходят следующие события:
“1” — Просмотр расписания;
“2” — Добавление информации;
“3” — Удаление информации;
“4” — Поиск по конечному пункту;
“5” — Создание файла;
“6” — Бронирование мест;
“7” — Выход из программы.
Граф-схема программы
В программе используютсяследующие процедуры:
ramka — перерисовывает экран.
В ней используются функциибиблиотеки Crt, такие как:
textcolor(color: Byte) — задаёт цветсимволов;
clrscr — очищает весь экран;
gotoxy (X,Y) — переводит курсор в место скоординатами X,Y;
Insert_punkt — Осуществляет заполнения дерева.
Tree_rec — основная процедура (обходыдерева).
При старте процедурыинициализируются переменные и подготавливается экран процедурой Ramka. Эта процедура создаёт фон и выводит рамку меню всередине экрана.
Дальше следует бесконечный циклобработки сообщений от клавиатуры. Для этого используются функции keypressed и readrey. Состояниеклавиатуры определяется при помощи функции keypressed, есликлавиша нажата, то оператором выбора проверяем, какая именно функцией readkey. Если нажаты такие клавиши как “1″, “2”,“3”,”4”,”5”,”6”,”7” то в буфере клавиатуры будет храниться один символ.
Управление организовано прииспользовании семи клавиш:
“1” — Вывод бинарного дерева;
“2” — Создаёт бинарное дерево
“3” — Удаляет элемент из дерева;
“4” — Удаляет все дерево.
“5” — Запрос о поиске.
“6” — Выводит обходы бинарногодерева.
3.5 Технические средства
Для запуска и надёжной работыпрограммы подойдут любые используемые сейчас компьютеры с операционнымисистемами Windows или Dos. Программатребует немного ресурсов процессора и памяти.
Вызов и загрузка программы
При запуске программыпроизводится вывод меню, с которой можно сразу же начинать работать.3. Тестирование программы
Тестирование производилось насовременных компьютерах с процессорами Intel Celeron, Intel Pentium с оперативной памятью 64Mb. На всех компьютерах программа вела себя одинаково. Впроцессе работы было создано дерево, осуществлено добавление новых элементов ипроизведён поиск в созданном дереве.
Заключение
Итак, в ходе выполнения курсовойработы мне удалось убедиться, что язык Паскаль предоставляет весьма гибкиевозможности в отношении используемых структур данных. Как известно, простотаалгоритмов, а значит, трудоемкость их разработки и их надежность существеннозависят от того, насколько удачно будут выбраны структуры данных, используемыепри решении задачи.
Алгоритмический язык Паскальсоздавался для обучения. Поэтому он хорошо продуман с точки зренияэффективности (реализация самого языка) и с точки зрения получаемых врезультате трансляции машинных команд.
Большое внимание в Паскалеуделено также вопросу повышения надежности программ. Средства языка позволяютосуществлять достаточно полный контроль правильности использования данныхразличных типов и программных объектов, как на этапе трансляции программы, таки на этапе ее выполнения.
Благодаря этим своимособенностям Паскаль находит все более широкое применение не только в областиобучения, но и в практической работе. Из всего вышеперечисленного становитсяпонятным, почему Паскаль вызывает повышенный интерес и почему он все чащевыбирается в качестве базового языка при обучении программированию.
На языке Паскаль в работеразработан алгоритм построения генеалогического дерева. Был использован массивдинамических записей, которые заполнены информацией о каждом человеке,находящемся на каком-либо уровне генеалогического дерева.
В результате была реализованапрограмма построения бинарного дерева с применением динамических переменных иудобного пользовательского интерфейса.
Список использованной литературы
1.        Климова Л.М. PASCAL 7.0 Практическоепрограммирование. Решение типовых задач. — М.: КУДИЦ-ОБРАЗ, 2000.
2.        Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. -М.: Наука,1987.
3.        Аладьев В.З., Тупало В.Г. Turbo-Pascal для всех. — Киев: Технiка,1993.
4.        Белецкий, Ян. Турбо Паскаль с графикой для персональных компьютеров. — М.:Машиностроение, 1991.
5.        Джонс Ж., Харроу К. Решение задач с системой Турбо Паскаль. -М.: Финансыи статистика, 1991.
6.        Епанешников А.М. Программирование в среде Turbo Pascal 7.0. -М.: Диалог-МИФИ, 1996.
7.        Климов Ю.С. Программирование в среде Turbo-Pascal 6.0. — Мн.: выш. шк., 1992.
8.        Сергиевский М.В. Язык, среда программирования. — М.: Машиностроение,1994.
9.        Турбо Паскаль 7.0. -Киев: торгово-издательское бюро BHV,1995.
10.     Фаронов В.В. Турбо Паскаль 7.0. начальный курс. — М.: «Нолидж»,1997.
11.     Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. — М.: «Нолидж»,1997.