Учебная работа. Реферат: Информационно-справочная система, обеспечивающая работу с базой данных Bit

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Информационно-справочная система, обеспечивающая работу с базой данных Bit

1. Тема:

разработка информационно-справочной системы.

2. Начальные данные:

Создать информационно-справочную систему, обеспечиваю-

щую работу с базой данных Bit включающей записи вида:

╔════════════════════════════════════════════════════════╗

║ СПИСОК АБИТУРЬЕНТОВ ║

╠═══╦════════════════════╦════╦═════╦════════════════════╣

║ ║ ФИО ║ ║ No ║ оценки за экзамены ║

║No ╠═══════╦═══╦════════╣Пол ║ экз.╠══════╦══════╦══════╣

║ ║Фамилия║имя║Отчество║ ║листа║ 1 экз║ 2 экз║ 3 экз║

╠═══╬═══════╬═══╬════════╬════╬═════╬══════╬══════╬══════╣

Из базы Bit сделать базу Вstud с записями вида:

╔════════════════════════════════════════════════════════╗

║ СПИСОК СТУДЕНТОВ ║

╠════╦═════════════════════════════════════╦═════╦═══════╣

║ ║ ФИО ║ No ║ сумма ║

║ No ╠════════════╦═══════════╦════════════╣ экз.║ балов ║

║ ║ Фамилия ║ имя ║ Отчество ║листа║ ║

╠════╬════════════╬═══════════╬════════════╬═════╬═══════╣

Меню системы обязано включать режимы корректировки, уничтоже-

ния просмотра, загрузки, сохранения.

язык программирования Пролог.

3. Список вопросцев, подлежащих разработке:

3.1 Разработка меню, обеспечивающее взаимодействие пользо-

вателя с системой, в согласовании с заданием, предус-

мотрев режимы:

— корректировки данных,

— ликвидирования данных,

— просмотра базы,

— загрузки базы,

— сохранения базы,

— сотворения новейшей базы.

3.2 Разработка процедур:

— корректировки данных,

— ликвидирования данных,

— просмотра базы,

— загрузки базы,

— сохранения базы,

— сотворения новейшей базы.

4. Список графических материалов:

4.1 структурная схема меню

4.2 структурная схема программки.

5. Календарный план-график работы над курсовой работой:

1. Получение задания

4.10.96

2. анализ задания, постановка задачки, подбор и исследование

литературы

18.10.96

3. Разработка меню и структуры программки

25.10.96

4. Разработка процедур информационно-справочной системы

15.11.96

5. Отладка программки

29.11.96

6. Оформление объяснительной записки и сдача работы на про-

верку

24.12.96

7. Защита курсовой работы

25.12.96

Управляющий /Холкин И.И./

Студент /Данченков А.В., ИИ-1-95/

Введение ……………………………… 4

1. понятие о информационных системах и их

программной реализации ………………. 4

2. база данных и методы ее представления … 4

3. Разработка системного меню …………… 5

4. Разработка структуры программки ……….. 7

5. Разработка процедур:

5.1 Главный процедуры Begin …………. 8

5.2 Вывода головного меню Main_menu ……. 8

5.3 Автоматической загрузки БД Autoload .. 9

5.4 Вывода инфы о системе

Working(0) ……………………… 9

5.5 Вывода меню корректировки Working(1) . 9

5.6 Удаления записей Working(2) ………. 9

5.7 Вывода меню просмотра Working(3) ….. 9

5.8 Вывода меню загрузки Working(4) ….. 10

5.9 Вывода меню сохранения Working(5) … 10

5.10 Сотворения новейшей БД Working(6) ……. 10

5.11 Выхода из программки Working(7) ….. 10

5.12 Обработки ошибки юзера

Working(_) ……………………. 10

5.13 Корректировки данных Correct(1) …. 10

5.14 Прибавления новейших записей Correct(2). 11

5.15 Просмотра БД View ……………… 11

5.16 Вспомагательной Accept …………. 11

5.17 Вспомагательных Skip и Skip1 ……. 11

5.18 Загрузки БД с диска Bd_load …….. 12

5.19 Сохранения БД на диске Bd_save ….. 12

5.20 Вспомагательной Ask ……………. 12

5.21 Mesage ……………………….. 12

5.22 Error и Io_error ………………. 12

5.23 Ok …………………………… 12

6. Листинг программки ………………….. 13

7. Отладка программки ………………….. 24

8. инструкция юзера и решение

контрольных примеров: ………………. 25

Заключение …………………………… 28

Перечень литературы …………………….. 29

Данная курсовая написана на языке Пролог в среде Turbo Prolog

v 2.0 (русифицированная версия). В структуре языка заложены воз-

можности обычный и черезвычайно действенной работы с базами дан-

ных, что дозволяет на его базе создавать различного рода инфор-

мационно — справочные системы. Структура языка Пролог соответ-

ствует структуре реляционных баз данных. Так отношению в РБД

соответствует предикат в Прологе, элементу — факт, атрибуту отно-

шения — аргумент предиката и т.д. Интегрированные в Пролог предикаты

работы с окнами разрешают сделать дружеский интерфейс для ра-

боты юзера с информационно — справочной системой.

Информационно-справочные системы — это программы-оболочки,

служащие для управления массивами и базами данных. В наш век

всеобщей компьютеризации информационно-справочные системы значи-

тельно упрощают труд человека во всех отраслях народного хозяй-

ства. Существенно упростилась работа столичной милиции по обна-

ружению угнаного транспорта опосля сотворения в Москве компьютерных

баз данных по угнаным карам. Бухгалтерам компаний и компаний

сейчас не необходимо перебирать горы бумаг, чтоб получить все данные

о сотруднике: довольно загрузить информационно-справочную сис-

тему и она в комфортной форме выдаст всю нужную информацию.

Области внедрения информационно-справочных систем поистине

беспредельны: это ведение статистики удоя скота на ферме, состав-

ление каталогов книжек в библиотеках и произведений искусства в му-

зеях, сбор данных о наличии рабочих вакансий в данном регеоне и

почти все остальные.

Одним из методов програмной реализации информационно-спра-

вочной системы является внедрение для ее сотворения языка логи-

ческого программирования Пролог. В данной реализации языка содер-

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

написание таковых систем.

база данных в простом случае — упорядоченная структура

данных в виде таблицы, любая запись которой может соединять воединыжды

разнотипные данные, при этом все записи одной базы имеют одинако-

вую структуру. Есть три модели представления баз данных:

иерархическая, сетевая и реляционная. В силу особенностей языка

Пролог, с его помощью реализуется реляционная модель. Любая

строчка в базе данных именуется элементом дела, любая ко-

лонка — атрибутом дела, колличество колонок — арностью, а

колличество строк — мощностью. В языке программирования Пролог

атрибуту дела соответствует аргумент предиката, арности —

колличество аргументов в предикате, отношению — предикат, элемен-

ту — факт, и мощности — число фактов. Исходя из вышеперечислен-

ных соответствий Пролог является красивым средством для реали-

зации реляционных баз данных.

Все режимы программки активируются при помощи меню, которое

реализовано при помощи процедуры main_menu. Для активизации како-

го или режима юзеру следует надавить цифровую кнопку,

подобающую избранному пт меню.

Меню данной программки состоит из 7 пт:

0 — О системе… — вывод данных о системе

1 — Корректировка данных — режим корректировки данных

2 — Ликвидирование данных — режим удаления данных

3 — Просмотр базы — режим просмотра базы

4 — загрузка базы — режим загрузки базы

5 — Сохранение базы — режим сохранения базы

6 — Создание новейшей базы — режим сотворения новейшей базы

7 — Выход из программки — выход из программки

На последующей страничке представлена графическая структура меню.

╔═══════════════════╗

║ begin ║

║───────────────────║

║основная процедура║

╚═════════╦═════════╝

╔════════════════╩═══════════════╗

╔═══════╩═════════╗ ╔══════╩═══════╗

║ autoload ║ ║ main_manu ║

║─────────────────║ ║──────────────║

║ автозагрузка БД ║ ║ основное меню ║

╚═════════════════╝ ╚══════╦═══════╝

╔════════╦════════╦════════╦═══════╦══════╬═══════╗

║ ║ ║ ║ ║ ║ ║

╔═══╩══════╗ ║ ╔══════╩══════╗ ║ ╔═════╩════╗ ║ ╔═════╩════╗

║working(0)║ ║ ║ working(1) ║ ║ ║working(2)║ ║ ║working(3)║

║──────────║ ║ ║─────────────║ ║ ║──────────║ ║ ║──────────║

информация║ ║ ║Корректировка║ ║ ║ Удаление ║ ║ ║ Просмотр ║

║о системе║ ║ ║ данных ║ ║ ║ данных ║ ║ ║ базы ║

╚══════════╝ ║ ╚══════╦══════╝ ║ ╚═════╦════╝ ║ ╚═════╦════╝

╔═════════════╣ ╔╝ ║ ╚╗ ║ ╚═════╗

║ ║ ║ ║ ║ ╚═╗ ║

║ ╔═════╩═════╗ ║ ╔══════╩══════╗ ║ ╔═════╩════╗ ║

║ ║ working(4)║ ║ ║ working(5) ║ ║ ║working(6)║ ║

║ ║───────────║ ║ ║─────────────║ ║ ║──────────║ ║

║ ║ Процедура ║ ║ ║ Процедура ║ ║ ║ Создание ║ ║

║ ║загрузки БД║ ║ ║сохранения БД║ ║ ║ новейшей БД ║ ║

║ ╚═════╦═════╝ ║ ╚══════╦══════╝ ║ ╚══════════╝ ║

║ ║ ║ ╚══════╗ ║ ║

║ ╚╗ ╠═══════╦══════╗ ║ ╚═══════════╗ ║

║ ╔══════════╗ ║ ║ ║ ║ ╚═════╗ ║ ║

║ ║working(7)║ ║ ╔════╩═════╗ ║ ╔════╩═════╗ ║ ╔═════╩═════╗ ║

╠═╣──────────║ ║ ║correct(1)║ ║ ║correct(2)║ ║ ║ accept(N) ║ ║

║ ║ Выход ║ ║ ║──────────║ ║ ║──────────║ ║ ║───────────║ ║

║ ╚══════════╝ ║ ║Изменение ║ ║ ║Ввод новейших║ ║ ║Определение║ ║

║ ╔══════════╗ ║ ║ данных ║ ║ ║ данных ║ ║ ║ удаляемой ║ ║

║ ║working(_)║ ║ ╚══════════╝ ║ ╚══════════╝ ║ ║ записи ║ ║

╚═╣──────────║ ║ ╔═══════╩════════╗ ║ ╚═══════════╝ ║

║ Обработка║ ║ ║ correct(_) ║ ║ ║

║ ошибки ║ ║ ║────────────────║ ║ ║

╚══════════╝ ║ ║ выход в основное║ ║ ╔═══╝

║ ║ меню ║ ║ ║

║ ╚════════════════╝ ║ ║

║ ║ ║

║ ║ ║

(1) (2) (3)

(1) (2) (3)

║ ║ ║

║ ║ ╚══╗

║ ╚═══════════╗ ║

╔═══════╩═══════╦════════════╦══════════════╗ ║ ║

╔═════╩══════╗ ╔══════╩════╗ ╔═════╩══════╗ ╔═════╩════╗ ║ ║

║ load_bd(1) ║ ║ load_bd(2)║ ║ load_bd(3) ║ ║load_bd(4)║ ║ ║

║────────────║ ║───────────║ ║────────────║ ║──────────║ ║ ║

загрузка ║ ║ Загрузка ║ ║ Загрузка ║ ║ загрузка ║ ║ ║

║главный БД ║ ║главный БД║ ║ новейшей БД ║ ║ новейшей БД ║ ║ ║

║ из файла ║ ║ из файла ║ ║ из файла ║ ║ из файла ║ ║ ║

║юзера║ ║ bit.dat ║ ║юзера║ ║ bstud.dat║ ║ ║

╚════════════╝ ╚═══════════╝ ╚════════════╝ ╚══════════╝ ║ ║

║ ║

╔═══════════════╦════════════╦══════════════╦══════╝ ║

╔═════╩══════╗ ╔══════╩════╗ ╔═════╩══════╗ ╔═════╩════╗ ║

║ save_bd(1) ║ ║ save_bd(2)║ ║ save_bd(3) ║ ║save_bd(4)║ ║

║────────────║ ║───────────║ ║────────────║ ║──────────║ ║

║ Сохранение ║ ║ Сохранение║ ║ Сохранение ║ ║Сохранение║ ║

║главный БД ║ ║главный БД║ ║ новейшей БД ║ ║ новейшей БД ║ ║

║ в файле ║ ║ в файле ║ ║ в файле ║ ║ в файле ║ ║

║юзера║ ║ bit.dat ║ ║юзера║ ║ bstud.dat║ ║

╚════════════╝ ╚═══════════╝ ╚════════════╝ ╚══════════╝ ║

╔═══════════════════╦═══════════════════╦═════════╝

╔══════╩══════╗ ╔══════╩══════╗ ╔══════╩══════╗

║ view(1) ║ ║ view(2) ║ ║ view(_) ║

║─────────────║ ║─────────────║ ║─────────────║

║ Просмотр ║ ║ Просмотр ║ ║ Выход ║

║ главный БД ║ ║ новейшей БД ║ ║ в меню ║

╚═════════════╝ ╚═════════════╝ ╚═════════════╝

Процедуры создавались на базе требований, изложенных в за-

дании к курсовой работе.

При помощи процедуры Begin в разделе GOAL инициируется нача-

ло выполнения программки. Эта процедура запускает функцию на-

чальной загрузки базы данных Autoload, опосля что передает управ-

ление процедуре вывода головного меню Main_menu.

Эта процедура выводит перечень пт головного меню и ожи-

дает от юзера ввода числа, которое будет занесено в пере-

менную C. Опосля этого вызывается процедура обработки главных ре-

жимов Working, в которую переменная C передается в качестве аргу-

мента. В процедуре применен предикат Repeat, в связи с сиим

опосля возврата из процедуры Working в случае, если C не равно 7

происходит повторный вывод пт меню и ожидание ввода числа.

Процедура Autoload создана для автоматической загруз-

ки главный базы данных при запуске программки. Это существенно

упрощает работу с системой, потому что не требуется при запуске

программки подгружать основную БД из режима «загрузка«. Процедура

Autoload инспектирует существование на диске файла bit.dat с по-

мощью встроенного предиката existfile и подгружает БД в память с

помощью предиката consult. В случае отсутствия файла выдается

сообщение о ошибке.

Данная процедура выводит информацию о языке, на котором на-

писана система и данные о создателе.

Процедура Working(1) служит для вывода меню режима коррек-

ции данных, находящихся в БД, и внесения новейших записей. Опосля ак-

тивизации процедура выводит меню в каком имеются режимы: «Изме-

нение данных», «Добавление данных» и «Выход в меню». Активизация

режимов происходит аналогично основному меню при помощи нажатия

соответственной цифровой клавиши. Считанное с клавиатуры число

заносится в переменную X, опосля что вызывается процедура

Correct, аргументом которой служит X. При помощи процедур

Correct(1) и Correct(2), обрисованных ниже, фактически и реализует-

ся режимы корректировки и прибавления. В процедуре Working(1) также

использован предикат Repeat, при помощи которого реализован повтор-

ный вывод меню в случае ошибки ввода.

Данная процедура создана для удаления записей из базы

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

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

данной записи. Эта возможность реализуется процедурой Accept,

описанной ниже. Процедура Accept возвращает номер избранной запи-

си и при помощи встроенного предиката retract запись удаляется из

базы данных. В случае ошибки (отсутствия записи, избранной

юзером для удаления) выводится соответственное сообщение

(процедура Error).

Процедура Working(3) выводит меню, содержащее пункты: «Прос-

мотр главный базы», «Просмотр базы BSTUD» и «Выход в основное ме-

ню». Фактически просмотр содержимого БД производят процедуры

View(1) и View(2), рассмотренные ниже. Процедура Working(3) реа-

лизована в стиле процедур Main_menu и Working(1) с применением

процедуры Repeat.

Данная процедура выводит меню, содержащее последующие пункты:

«Загрузить основную базу из избранного файла», » Загрузить основ-

ную базу из файла bit.dat», » Загрузить базу BSTUD из избранного

файла