Учебная работа. Реферат: Информационно-справочная система, обеспечивающая работу с базой данных Bit
разработка информационно-справочной системы.
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 из избранного
файла