Информационно-справочная система 'Киноиндустрия'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    355,91 Кб
  • Опубликовано:
    2012-07-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Информационно-справочная система 'Киноиндустрия'

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное

учреждение высшего профессионального образования

«Ижевский государственный технический университет имени М.Т. Калашникова»

Кафедра «Программное обеспечение»




Пояснительная записка

к курсовой работе

по дисциплине «Системы и алгоритмы обработки данных»

на тему: Информационно-справочная система "Киноиндустрия"

Выполнила:

студентка гр. 4-78-11 Федотова Е.К.

Проверил: Сенилов М.А.

д.т.н., профессор








Ижевск 2012

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

Разработать информационно справочную систему «Киноиндустрия».

Система должна содержать информацию о СТУДИЯХ, СТРАНАХ, СПОНСОРАХ, ФИЛЬМАХ, АКТЕРАХ.

В системе должны обрабатываться следующие запросы:

. Выдать список ФИЛЬМОВ, вышедших на данной СТУДИИ в данной СТРАНЕ.

. Для данного (или указанного) ФИЛЬМА и данной СТУДИИ привести список АКТЕРОВ.

. Выдать сведения об АКТЕРАХ данной СТРАНЫ, снимавшихся в данном ФИЛЬМЕ данной СТУДИИ.

. Указать список всех СПОНСОРОВ, вложивших деньги в данный ФИЛЬМ данной СТУДИИ.

. Для каждой или указанной СТРАНЫ привести список СТУДИЙ и АКТЕРОВ.

. Выдать ФИЛЬМ, где участвовал данный АКТЕР.

. Для указанного ФИЛЬМА выдать СТРАНУ и СТУДИЮ, где он снимался.

. Для данного АКТЕРА указать СТУДИЮ, где он снимался.

СОДЕРЖАНИЕ

 

Введение

1.  Содержательная постановка задачи

1.1 Характеристика задачи

.2 Входные данные

.3 Выходные данные

2.  Формализованная постановка задачи

2.1 Разработка модели предметной области (МПО)

.1.1 Составление перечня атрибутов и задание их характеристик

.1.1 Агрегация атрибутов, выделение объектов и задание их характеристик

.1.3 Анализ запросов к информационной базе

.1.4 Установление функциональных связей и задание их характеристик

.1.5 Установление структурных связей и задание их характеристик

.2 Оптимизация и проверка корректности схемы МПО

. Абстрактный анализ и синтез МПО

.1 Представление МПО с помощью абстрактных структур данных (АСД)

.2 Предварительное преобразование структуры данных

.3 Декомпозиция структуры данных на более простые АСД

. Разработка внешних спецификаций программы

.1 Разработка представления данных при помощи логических структур данных (ЛСД)

.2 Интерфейс программы. Разработка макетов ввода-вывода

.3 Разработка функций программы

.4 Разработка функций программы по обработке ошибок

. Разработка внутренних спецификаций программы

.1 Разработка структуры программы

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

5.3 Разработка алгоритмов модулей

. Описание программы kurs

.1 Вводная часть

.2 Функциональное назначение

.3 Описание информации

.4 Описание логики программы

.5 Используемые подпрограммы

7. Описание подпрограммы zapros1

.1 Вводная часть

7.2 Функциональное назначение

.3 Описание информации

7.4 Описание логики

8. Описание подпрограммы zapros2

.1 Вводная часть

8.2 Функциональное назначение

.3 Описание информации

8.4 Описание логики

9. Описание подпрограммы zapros3

.1 Вводная часть

9.2 Функциональное назначение

.3 Описание информации

9.4 Описание логик

10. Описание подпрограммы zapros4

.1 Вводная часть

10.2 Функциональное назначение

.3 Описание информации

10.4 Описание логики

11. Описание подпрограммы zapros5

.1 Вводная часть

11.2 Функциональное назначение

.3 Описание информации

11.4 Описание логики

. Описание подпрограммы zapros6

12.1 Вводная часть

12.2 Функциональное назначение

.3 Описание информации

12.4 Описание логики

13. Описание подпрограммы zapros7

.1 Вводная часть

13.2 Функциональное назначение

.3 Описание информации

13.4 Описание логики

14. Описание подпрограммы zapros8

.1 Вводная часть

14.2 Функциональное назначение

.3 Описание информации

14.4 Описание логики

15. Описание подпрограммы Openf

.1 Вводная часть

15.2 Функциональное назначение

.3 Описание информации

15.4 Описание логики

. Тестирование программы

.1 Разработка плана тестирования и набора тестов

16.2 Результаты тестирования

Заключение

Список литературы

Приложение 1. Текст программы

Приложение 2. Тексты входных файлов

Приложение 3. Руководство программиста

Приложение 4. Руководство пользователя

ВВЕДЕНИЕ

Целью данной курсовой работы является разработка модели предметной области (МПО), ее анализ, синтез и программная реализация на языке программирования Pascal. Информационно-справочная система, для которой будет реализована МПО, - Киноиндустрия». Данная система служит для облегчения работы со статистическими данными при обработке результатов. Используя данную информационную систему можно существенно упростить поиск и просмотр основных данных в этой области. Так же существует возможность хранения информационной базы на жестких дисках и внешних носителях.

В данной работе используется методика пошаговой разработки программ, устанавливающая соответствие между этапами проектирования программ и уровнями представления данных на каждом этапе.

Методология проектирования опирается на курс "Структуры и алгоритмы обработки данных в ЭВМ".

Создаваемая информационная система способна служить для целей автоматизации человеческого труда при обработке данных по любой станции технического обслуживания. Это позволит сэкономить время и получать точные и достоверные сведения.

В совокупности с другими программными средствами создаваемая система позволит полностью отказаться от "бумажного труда", потери времени и перейти к современным методам работы с данными.

1. СОДЕРЖАТЕЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ

.1 Характеристика задачи

Название информационно-справочной системы "Киноиндустрия". Данная система рассматривает реализацию следующих запросов:

. Выдать список ФИЛЬМОВ, вышедших на данной СТУДИИ в данной СТРАНЕ.

. Для данного (или указанного) ФИЛЬМА и данной СТУДИИ привести список АКТЕРОВ.

. Выдать сведения об АКТЕРАХ данной СТРАНЫ, снимавшихся в данном ФИЛЬМЕ данной СТУДИИ.

. Указать список всех СПОНСОРОВ, вложивших деньги в данный ФИЛЬМ данной СТУДИИ.

. Для каждой или указанной СТРАНЫ привести список СТУДИЙ и АКТЕРОВ.

. Выдать ФИЛЬМ, где участвовал данный АКТЕР.

. Для указанного ФИЛЬМА выдать СТРАНУ и СТУДИЮ, где он снимался.

. Для данного АКТЕРА указать СТУДИЮ, где он снимался.

Реализация каждого запроса будет осуществляться посредством подпрограмм.

Данную задачу удобно решать на ЭВМ т.к. это обеспечивает:

высокую скорость обработки информации;

удобные средства для ввода, поиска и вывода информации;

хранение большого количества информации при малых материальных и технических затратах.

Для разработки задачи использована методология, изложенная в курсе "Структуры и алгоритмы обработки данных".

1.2 Входные данные

Поскольку объектами данной информационно - справочной системы являются СТУДИЯ, СТРАНА, СПОНСОР, ФИЛЬМ, АКТЕР, то входные данные согласно этим объектам разделены на два входных файла «strstd.dat» и «actors.dat».

Файл «actors.dat» содержит информацию о ФИЛЬМАХ, СПОНСОРАХ И АКТЕРАХ и имеет следующую структуру:

Название фильма

Жанр фильма

Бюджет

Время выхода в прокат

Название спонсора

Количество вложенных средств

Прибыль

ФИО актера

Гонорар

Файл «strstd.dat» содержит информацию о СТРАНАХ И СТУДИЯХ и имеет следующую структуру:

Название страны

Столица

Название студии

Место съемок

1.3 Выходные данные

В качестве выходных данных используются (выдаются на экран):

в 1 запросе - список фильмов

во 2 запросе - список актеров

в 3 запросе - сведения об актерах

в 4 запросе - список спонсоров

в 5 запросе - список студий, актеров

в 6 запросе - фильм

в 7 запросе - страна, студия

в 8 запросе - студия

А так же выводятся следующие сообщения об ошибках:

страна не найдена

студия не найдена

фильм не найден

актер не найден

2. ФОРМАЛИЗОВАННАЯ ПОСТАНОВКА ЗАДАЧИ

.1 Разработка модели предметной области (МПО)

2.1.1 Составление перечня атрибутов и задание их характеристик

Анализ информационного пространства данной темы позволяет составить перечень атрибутов. Для описания атрибутов используются характеристики, описанные в табл. 2.1.

Таблица 2.1

Код характеристики

Название характеристики

А1

Шаблон значений атрибута

А2

Процент наличия значений атрибута в экземплярах объекта

А3

Ограничения на доступ к значениям атрибута

А4

Частота использования атрибута

А5

Область допустимых значений

А6

Признак выводимости значений

А7

Признак дублирования значений


Таблица 2.2. Описание объекта СТУДИЯ

Имя атрибута

А1

А2

А3

А4

А5

А6

А7

Роль атрибута

НАЗВ

X(25)

-

-

-

-

-

-

Название студии

МЕСТО СЪЕМОК

Х(30)

-

-

-

-

-

-

Место проведения съемок


Таблица 2.3. Описание объекта СТРАНА

Имя атрибута

А1

А2

А3

А4

А5

А6

А7

Роль атрибута

НАЗВ

Х(20)

-

-

-

-

-

-

Название страны

СТОЛИЦА

Х(20)

-

-

-

-

-

-

Столица


Таблица 2.4. Описание объекта СПОНСОР

Имя атрибута

А1

А2

А3

А4

А5

А6

А7

Роль атрибута

НАЗВ

Х(40)

-

-

-

-

-

-

Название фирмы

КОЛ СРЕДСТВ

9(8)

-

-

-

-

-

-

Вложение

ПРИБЫЛЬ

9(8)

-

-

-

-

-

-

Прибыль с проката


Таблица 2.5. Описание объекта ФИЛЬМ

Имя атрибута

А1

А2

А3

А4

А5

А6

А7

Роль атрибута

НАЗВ

Х(30)

-

-

-

-

-

ДА

Название фильма

ЖАНР

Х(15)

-

-

-

-

-

ДА

Жанр фильма

БЮДЖЕТ

9(8)

-

-

-

-

-

-

Бюджет фильма

ВРЕМЯ ВЫХ

9(6)

-

-

-

-

-

ДА

Время выхода в прокат


Таблица 2.6. Описание объекта АКТЕР

Имя атрибута

А1

А2

А3

А4

А5

А6

А7

Роль атрибута

ФИО

Х(30)

-

-

-

-

ДА

-

ФИО актера

ГОНОРАР

9(8)

-

-

-

-

-

Гонорар за фильм


2.1.2 Агрегация атрибутов, выделение объектов и задание их характеристик

Зададим для объектов характеристики, которые приведены в таблице 2.7, и составим перечень характеристик выделенных объектов, представленный в таблице 2.8.

Таблица 2.7. Характеристики объекта

Код характеристики

Название характеристики

В1

Способ обращения к экземплярам объекта

В2

Структурная активность объекта

В3

Ограничения на доступ к экземплярам объекта

В4

Частота использования

В5

Количество экземпляров объекта

В6

Изменчивость состава экземпляров объекта


Таблица 2.8. Перечень характеристик выделенных объектов

Имя объекта

В1

В2

В3

В4

В5

Примечание

СТУДИЯ

К(НАЗВ) М

-

-

-

-


СТРАНА

К(НАЗВ)

-

-

-

-


СПОНСОР

К(НАЗВ) М

-

Руководство студии(фильма)

-

-


ФИЛЬМ

К(НАЗВ) М

-

-

-

-


АКТЕР

К(ФИО) М

-

-

-

-



2.1.3 Анализ запросов к информационной базе

1. Выдать список ФИЛЬМОВ, вышедших на данной СТУДИИ в данной СТРАНЕ.

. Для данного (или указанного) ФИЛЬМА и данной СТУДИИ выдать список АКТЕРОВ.

. Выдать сведения об АКТЕРАХ данной СТРАНЫ, снимавшихся в данном ФИЛЬМЕ данной СТУДИИ.

. Выдать список всех СПОНСОРОВ, вложивших деньги в данный ФИЛЬМ данной СТУДИИ.

. Для каждой или указанной СТРАНЫ выдать список СТУДИЙ и АКТЕРОВ.

. Выдать ФИЛЬМ, где участвовал данный АКТЕР.

. Для указанного ФИЛЬМА выдать СТРАНУ и СТУДИЮ, где он снимался.

. Для данного АКТЕРА выдать СТУДИЮ, где он снимался.

2.1.4 Установление функциональных связей и задание их характеристик

Выделим функциональные связи (ФС) по каждому из запросов (см. п. 2.1.3.):

1. Запрос можно представить следующей многомерной функциональной связью:


T (СТРАНА, СТУДИЯ) = 1:М, т.к.: в каждой стране может быть несколько студий, а определенная студия находится только в одной стране.

Применим преобразование 1.


. Запрос можно представить следующей многомерной функциональной связью:


T (СТУДИЯ, ФИЛЬМ) = 1:М, т.к.: в каждой студии может сниматься несколько фильмов, а определенный фильм снят только в одной студии.

Применим преобразование 1.


. Запрос можно представить следующей многомерной функциональной связью:


T (СТРАНА, СТУДИЯ) = 1:М, т.к.: в каждой стране может быть несколько студий, а определенная студия находится только в одной стране.

Применим преобразование 1.


T (СТУДИЯ, ФИЛЬМ) = 1:М, т.к.: в каждой студии может быть снято несколько фильмов, а определенный фильм снят только в одной студии.

Применим преобразование 1.


. Запрос можно представить следующей многомерной функциональной связью:


T (СТУДИЯ, ФИЛЬМ) = 1:М, т.к.: в каждой студии может быть снято несколько фильмов, а определенный фильм снят только в одной студии.

Применим преобразование 1.


. Запрос можно представить следующими одномерными функциональными связями:


. Запрос можно представить следующей одномерной функциональной связью:


7. Запрос можно представить следующими одномерными функциональными связями:

8. Запрос можно представить следующей одномерной функциональной связью:


Присвоим номера функциональным связям.

запрос:

1.1  Т (СТРАНА, СТУДИЯ) = 1 : М

.2  Т (СТУДИЯ, ФИЛЬМ) = 1 : М

запрос:

.1  Т (СТУДИЯ, ФИЛЬМ) = 1 : М

.2  Т (ФИЛЬМ, АКТЕР) = 1 : М

запрос:

.1  Т (СТРАНА, СТУДИЯ) = 1 : М

.2  Т (СТУДИЯ, ФИЛЬМ) = 1 : М

.3  Т (ФИЛЬМ, АКТЕР) = 1 : М

запрос

.1  Т (СТУДИЯ, ФИЛЬМ) = 1 : М

.2  Т (ФИЛЬМ, СПОНСОР) = М : М

запрос

.1  Т (СТРАНА, СТУДИЯ) = 1 : М

.2.  Т (СТРАНА, АКТЕР) = 1 : М

запрос

.1.  Т (АКТЕР, ФИЛЬМ) = М : 1

запрос

.1  Т (ФИЛЬМ, СТРАНА) = М : М

.2  Т (ФИЛЬМ, СТУДИЯ) = М : 1

запрос

.1  Т (АКТЕР, СТУДИЯ) = М : 1

Таблица 2.9. Перечень функциональных связей

№ ФС

Исходные данные

Конечные объекты

Тип соответствия

Параметры выборки

Частота

Ограничение на время

Ограниче-ние на право

1.1

СТРАНА

СТУДИЯ

1 : М

Исх.:К(НАЗВ)

-

-

-

1.2

СТУДИЯ

ФИЛЬМ

1 : М

Исх.:К(НАЗВ) Кон: М

-

-

-

2.1

СТУДИЯ

ФИЛЬМ

1 : М

Исх.:К(НАЗВ)

-

-

-

2.2

ФИЛЬМ

АКТЕР

1 : М

Исх.:К(НАЗВ) Кон: М

-

-

-

3.1

СТРАНА

СТУДИЯ

1 : М

Исх.:К(НАЗВ)

-

-

-

3.2

СТУДИЯ

ФИЛЬМ

1 : М

Исх.:К(НАЗВ)

-

-

-

3.3

ФИЛЬМ

АКТЕР

1 : М

Исх.:К(НАЗВ) Кон: М




4.1

СТУДИЯ

ФИЛЬМ

1 : М

Исх.:К(НАЗВ)

-

-

-

4.2

ФИЛЬМ

СПОНСОР

М : М

Исх.:К(НАЗВ) Кон: М

-

-

-

5.1

СТРАНА

СТУДИЯ

1 : М

Исх.:К(НАЗВ) Кон: М

-

-

-

5.2

СТРАНА

АКТЕР

1 : М

Исх.:К(НАЗВ) Кон: М

-

-

-

6.1

АКТЕР

ФИЛЬМ

М : 1

 Исх.:К(ФИО)

-

-

-

7.1

ФИЛЬМ

СТРАНА

М : М

Исх: К(НАЗВ)

-

-

-

7.2

ФИЛЬМ

СТУДИЯ

М : 1

Исх: К(НАЗВ)

-

-

-

8.1

АКТЕР

СТУДИЯ

М : 1

Исх: К(ФИО)

-

-

-


2.1.5 Установление структурных связей и задание их характеристик

Проанализировать функциональные связи и отобразим их в структурные связи (СС). Для данной процедуры используются следующие правила:

Правило 1. Положим, определена одномерная ФС F Y X1. где T(X1,Y)=1:M, тогда:

исходный объект Х1 объявляется владельцем СС;

конечный объект Y объявляется подчинённым;

значение характеристики С1 назначается ВП.

Правило 2. Положим, определена одномерная ФС F Y X2. где T(X2,Y)=M:1, тогда:

конечный объект ФС Y объявляется владельцем СС;

исходный объект Х2 объявляется подчинённым;

значение характеристики С1 назначается ПВ.

Правило 3. Положим, определена одномерная ФС F Y X3. где T(X3,Y)=М:M, тогда:

исходный объект Х3 и конечный объект Y объявляются владельцами двух СС;

подчинённым в обеих СС объявляется новый объект, который назовём объектом-связкой;

в СС, где владелец - исходный объект ФС Х3, направление движения объявляется С1=ВП;

в СС, где владелец - конечный объект ФС Y, направление движения объявляется С1=ПВ;

для объекта-связки в обеих СС выбирается класс членства С6=ОБ (обязательный).

Правило 4. Пусть дана многомерная ФС канонического вида F Y X4Х5, тогда:

все исходные и конечный объекты объявляются владельцами нескольких СС;

подчинённым во всех СС объявляется новый объект-связка;

объект-связка объявляется обязательным участником всех СС, то есть для него во всех СС выбирается класс членства С6=ОБ;

для одной из СС, где владелец - исходный объект ФС, направление движения назначается С1=ВП, а во всех остальных - С1=ПВ.

Проанализируем характеристики ФС.

.1. Т (СТРАНА, СТУДИЯ) = 1 : М, => по правилу 1 устанавливается связь S1, в которой объект СТРАНА является владельцем СС, СТУДИЯ - подчиненным объектом, значение характеристики С1 назначается ВП.

.2. Т (СТУДИЯ, ФИЛЬМ) = 1 : М, => по правилу 1 устанавливается связь S2, в которой объект СТУДИЯ является владельцем СС, ФИЛЬМ - подчиненным объектом, значение характеристики С1 назначается ВП.

.1. Т (СТУДИЯ, ФИЛЬМ) = 1 : М, => данная связь S2 уже установлена.

.2. Т (ФИЛЬМ, АКТЕР) = 1 : М, => по правилу 1 устанавливается связь S3, в которой объект ФИЛЬМ является владельцем СС, АКТЕР - подчиненным объектом, значение характеристики С1 назначается ВП.

.1. Т (СТРАНА, СТУДИЯ) = 1 : М, => данная связь S1 уже установлена.

.2. Т (СТУДИЯ, ФИЛЬМ) = 1 : М, => данная связь S2 уже установлена.

.3. Т (ФИЛЬМ, АКТЕР) = 1 : М, => данная связь S3 уже установлена.

.1. Т (СТУДИЯ, ФИЛЬМ) = 1 : М, => данная связь S2 уже установлена.

.2. Т (ФИЛЬМ, СПОНСОР) = М : М, => к этой связи применимо правило 3. Устанавливается связь S4, в которой объект ФИЛЬМ является владельцем СС, объект-связка - подчиненным объектом, значение характеристики С1 назначается ВП; Устанавливается связь S5, в которой объект СПОНСОР является владельцем СС, объект-связка - подчиненным объектом, значение характеристики С1 назначается ПВ.

.1. Т (СТРАНА, СТУДИЯ) = 1 : М, => данная связь S1 уже установлена.

.2. Т (СТРАНА, АКТЕР) = 1 : М, => по правилу 1 устанавливается связь S6, в которой объект СТРАНА является владельцем СС, АКТЕР - подчиненным объектом, значение характеристики С1 назначается ВП.

.1. Т (АКТЕР, ФИЛЬМ) = М : 1, к этой связи применимо правило 2. Отображение этой ФС корректирует значение С1 для ранее установленной СС S3. Теперь для S3 С1=ВПВ.

.1. Т (ФИЛЬМ, СТРАНА) = М : М, => к этой связи применимо правило 3. Устанавливается связь S7, в которой объект ФИЛЬМ является владельцем СС, объект-связка - подчиненным объектом, значение характеристики С1 назначается ВП; Устанавливается связь S8, в которой объект СТРАНА является владельцем СС, объект-связка - подчиненным объектом, значение характеристики С1 назначается ПВ.

.2. Т (ФИЛЬМ, СТУДИЯ) = М : 1, к этой связи применимо правило 2. Отображение этой ФС корректирует значение С1 для ранее установленной СС S2. Теперь для S2 С1=ВПВ.

.1. Т (АКТЕР, СТУДИЯ) = М : 1, => к этой связи применимо правило 2, устанавливается связь S9, в которой объект СТУДИЯ является владельцем СС, АКТЕР - подчиненным объектом, значение характеристики С1 назначается ПВ.

Совокупность структурных связей представляют инфологическую схему МПО, представленную на рис. 2.1.

Рис. 2.1. Инфологическая схема

Каждой структурной связи (СС) присваиваем уникальное имя и определим её характеристики. Значение этих характеристик определяется на основе характеристик ФС. Перечень характеристик СС приведён в таблице 2.9.

Таблица 2.10. Характеристики структурных связей

Код

Название характеристики

С1 С2 С3 С4 С5 С6 С7 С8

Направление движения по СС Способ упорядочения экземпляров подчинённого объекта Ограничения на право движения по СС Частота использования Количество экземпляров подчинённого объекта в СС Класс членства подчинённого объекта Перемещаемость экземпляров подчинённого объекта СС Ограничения на время движения по СС


Таблица 2.11. Перечень структурных связей

Имя СС

С1

С2

С3

С4

С5

С6

С7

С8

S1

ВП

­НАЗВ

-

-

ПЕР


-

-

S2

ВПВ

­НАЗВ

-

-

ПЕР


-

-

S3

ВПВ

­ФИО

-

-

ПЕР


-

-

S4

ВП

­

-

-

ПЕР

ОБ

-

-

S5

ПВ

­

-

-

ПЕР

ОБ

-

-

S6

ВП

­ФИО

-

ПЕР


-

-

S7

ВП

­

-

-

ПЕР

ОБ

-

-

S8

ПВ

­

-

-

ПЕР

ОБ

-

-

S9

ПВ

­ФИО

-

-

ПЕР


-

-


2.2 Оптимизация и проверка корректности схемы МПО

Полученный первоначально вариант схемы МПО далее подлежит всестороннему анализу с целью проверки возможности оптимизации (упрощения), а также проверке на полноту и корректность.

Оптимизация заключается в преобразованиях схемы МПО с целью её упрощения. Основное правило допустимых преобразований: из схемы МПО можно исключить СС, если оставшиеся СС дают возможность обеспечить корректное выполнение всех ФС перечня. В процессе преобразований могут быть также исключены некоторые объекты-связки. Наиболее типичные преобразования структуры - это

) исключение избыточной CC

) исключение избыточного объекта-связки.

Попытаемся отыскать избыточную связь в инфологической схеме (см. рис.2.1) и провести преобразование 1. Замечаем, что связи S7 и S8 осуществляются также с помощью 2-х связей S1 (преобразуем в ВПВ) и S2. Также связь S2 осуществляется за счет S9(преобразуем в ВПВ) и S3. Связь S6 осуществляется за счет S1 и S9.Таким образом, связи являются избыточными и их можно удалить. Больше избыточных связей нет. Полученная оптимизированная инфологическая схема МПО представлена на рис. 2.2.

Рис. 2.2. Оптимизированная инфологическая схема

В качестве ОС1 выберем Договор.

Таблица 2.12. Перечень структурных связей

Имя ССС1С2С3С4С5С6С7С8









S1

ВПВ

­НАЗВ

-

-

ПЕР


-

-

S3

ВПВ

­ФИО

-

-

ПЕР


-

-

S4

ВП

­

-

-

ПЕР

ОБ

-

-

S5

ПВ

­

-

-

ПЕР

ОБ

-

-

S9

ВПВ

­ФИО

-

-

ПЕР


-

-


3. АБСТРАКТНЫЙ АНАЛИЗ И СИНТЕЗ МПО

.1 Представление МПО с помощью абстрактных структур данных (АСД)

На основе схемы структурных связей приведем экземпляр МПО, достаточно полно отображающий режимы работы информационной системы (см. рис. 3.1)

Рис. 3.1. Граф экземпляра модели предметной области

3.2 Предварительное преобразование структуры данных

Просмотрим перечень ФС (табл. 2.9). В графе "Параметры выборки" у всех объектов установлены признаки, поэтому экземпляры каждого из этих объектов связываем в прямую разомкнутую цепь.

Просмотрим перечень СС (табл. 2.12).

) Характеристику C1=ВП имеют СС S4. В каждом экземпляре СС S4 каждый экземпляр объекта-владельца и соответствующие ему экземпляры подчиненного объекта связываются в прямую разомкнутую цепь.

) Характеристику С1=ВПВ имеет СС S1, S3, S9. В каждом экземпляре этой СС каждый экземпляр объекта-владельца и соответствующие ему экземпляры подчиненного объекта связываются в двунаправленную разомкнутую цепь. (рис.3.2).

Рис. 3.2.

3.3 Декомпозиция структуры данных на более простые АСД

Представим АСД 1. АСД 1 является размеченным графом (см. рис. 3.3).

Рис. 3.3. Схема АСД 1

Представим АСД2. АСД 2 является размеченным графом (см. рис. 3.4).

Рис. 3.4. Схема АСД 2

Представим АСД3. АСД 3 является размеченным графом (см. рис. 3.5). Объединим Объекты ДОГОВОР и СПОНСОР в кортеж.

Рис. 3.5 Схема АСД 3

4. РАЗРАБОТКА ВНЕШНИХ СПЕЦИФИКАЦИЙ ПРОГРАММЫ

4.1 Разработка представления данных при помощи логических структур данных (ЛСД)

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

АЛГОРИТМ анонс фильмов

ВХОДНЫЕ ДАННЫЕ название страны, студии

ВЫХОДНЫЕ ДАННЫЕ фильмы

1. задать страну;

2.      найти страну;

.        задать студию;

.        найти студию;

.        вывести список фильмов, снятых на данной студии;

КОНЕЦ анонс фильмов

АЛГОРИТМ актерский состав

ВХОДНЫЕ ДАННЫЕ название студии, фильма

ВЫХОДНЫЕ ДАННЫЕ список актеров

1. задать студию;

2.      найти студию;

.        задать фильм;

.        найти фильм;

.        вывести список актеров, снятых в данном фильме;

КОНЕЦ актерский состав

АЛГОРИТМ актеры

ВХОДНЫЕ ДАННЫЕ название студии, фильма

ВЫХОДНЫЕ ДАННЫЕ список актеров

1. задать страну;

2.      найти страну

.        задать студию;

.        найти студию;

.        задать фильм;

.        найти фильм;

.        вывести список актеров, снятых в данном фильме;

КОНЕЦ актеры

АЛГОРИТМ спонсоры

ВХОДНЫЕ ДАННЫЕ название студии, фильма

ВЫХОДНЫЕ ДАННЫЕ список спонсоров

1. задать студию;

2.      найти студию;

.        задать фильм;

.        найти фильм;

.        вывести список спонсоров, вложивших деньги в данный фильм;

КОНЕЦ спонсоры

АЛГОРИТМ резервы страны

ВХОДНЫЕ ДАННЫЕ название страны

ВЫХОДНЫЕ ДАННЫЕ список студия, актеров

1. задать страну;

2.      найти страну;

.        вывести список студий, находящихся в данной стране;

.        найти фильмы, снятые на данной студии;

.        вывести список актеров;

КОНЕЦ резервы страны

АЛГОРИТМ фильм

ВХОДНЫЕ ДАННЫЕ ФИО актера

ВЫХОДНЫЕ ДАННЫЕ фильм

1. задать ФИО актера;

2.      найти актера;

.        вывести фильм, в котором он снялся;

КОНЕЦ фильм

АЛГОРИТМ фильм2

ВХОДНЫЕ ДАННЫЕ фильм

ВЫХОДНЫЕ ДАННЫЕ страна,студия

1. задать фильм;

2.      найти фильм;

.        вывести студию, на которой он снимался;

.        вывести страну, в которой снимался фильм;

КОНЕЦ фильм2

АЛГОРИТМ студия

ВХОДНЫЕ ДАННЫЕ ФИО актера

ВЫХОДНЫЕ ДАННЫЕ студия

1. задать ФИО актера;

2.      найти актера;

.        найти фильм, в котором он снимался;

.        вывести студию;

КОНЕЦ студия

4.2 Интерфейс программы. Разработка макетов ввода-вывода

В начале работы программы пользователю представляется меню, представленное на рис. 4.1.

 =МЕНЮ= 1. Выдать список ФИЛЬМОВ, вышедших на данной СТУДИИ в данной стране 2. Для данного ФИЛЬМА и данной СТУДИИ привести список АКТЕРОВ 3. Выдать сведения об АКТЕРАХ данной СТРАНЫ, снимавшихся в данном ФИЛЬМЕ данной СТУДИИ 4. Указать список всех СПОНСОРОВ, вложивших деньги в данный ФИЛЬМ данной СТУДИИ 5. Для указанной СТРАНЫ привести список СТУДИЙ и АКТЕРОВ 6. Выдать ФИЛЬМ, где участвовал данный АКТЕР 7. Для указанного ФИЛЬМА выдать СТРАНУ и СТУДИЮ, где он снимался 8. Для данного АКТЕРА указать СТУДИЮ, где он снимался Esc. Выход

Рис. 4.1. Главное меню программы

Рассмотрим пункты меню:

Пункт 1 - реализует запрос №1.Для активизации этого пункта меню пользователь должен нажать «1». Выводится сообщение, представленное на рис. 4.2.

введите название страны введите название студии

Рис. 4.2. Сообщения «Запрос 1»

Пункт 2 - реализует запрос №2.Для активизации этого пункта меню пользователь должен нажать «2». Выводится сообщение, представленное на рис. 4.3.

введите название студии введите название фильма

Рис. 4.3. Сообщения «Запрос 2»

Пункт 3 - реализует запрос №3.Для активизации этого пункта меню пользователь должен нажать «3». Выводится сообщение, представленное на рис. 4.4.

введите название страны введите название студии введите название фильма

Рис. 4.4. Сообщения «Запрос 3»

Пункт 4 - реализует запрос №4.Для активизации этого пункта меню пользователь должен нажать «4». Выводится сообщение, представленное на рис. 4.3.

Пункт 5 - реализует запрос №5.Для активизации этого пункта меню пользователь должен нажать «5». Выводится сообщение, представленное на рис. 4.5.

введите название страны

Рис. 4.5. Сообщения «Запрос 5»

Пункт 6 - реализует запрос №6.Для активизации этого пункта меню пользователь должен нажать «6». Выводится сообщение, представленное на рис. 4.6.

введите ФИО актера

Рис. 4.6. Сообщения «Запрос 6»

Пункт 7 - реализует запрос №7.Для активизации этого пункта меню пользователь должен нажать «7». Выводится сообщение, представленное на рис. 4.7.

 введите название фильма

Рис. 4.7. Сообщения «Запрос 7»

Пункт 8 - реализует запрос №8.Для активизации этого пункта меню пользователь должен нажать «8». Выводится сообщение, представленное на рис. 4.6.

Пункт «Выход»- реализует выход из меню программы. Для активизации этого пункта меню пользователь должен нажать «Esc.».

4.3 Разработка функций программы

Программа состоит из функций реализации запросов (далее ЗАПРОС 1-8). Ниже приводится описание этих функций:

zapros1 - обрабатывает информационную базу согласно запросу 1.

zapros2 - обрабатывает информационную базу согласно запросу 2.

zapros3 - обрабатывает информационную базу согласно запросу 3.

zapros4 - обрабатывает информационную базу согласно запросу 4.

zapros5 - обрабатывает информационную базу согласно запросу 5.

zapros6 - обрабатывает информационную базу согласно запросу 6.

zapros7 - обрабатывает информационную базу согласно запросу 7.

zapros8 - обрабатывает информационную базу согласно запросу 8.

4.4 Разработка функций программы по обработке ошибок

В случае возникновения ошибочной ситуации программа выводит на экран сообщения о соответствующей ошибке

5. РАЗРАБОТКА ВНУТРЕННИХ СПЕЦИФИКАЦИЙ ПРОГРАММЫ

.1 Разработка структуры программы

Структура программы представлена на рис. 5.1 в виде иерархической схемы.

Рис. 5.1 Структура программы

где:- процедура реализации запроса 1;- процедура реализации запроса 2;- процедура реализации запроса 3;- процедура реализации запроса 4;- процедура реализации запроса 5;- процедура реализации запроса 6;- процедура реализации запроса 7;- процедура реализации запроса 8.

5.2 Разработка представления данных на уровне модели памяти

Представление данных на уровне модели памяти имеет вид, представленный на рис.5.2,рис.5.3, рис.5.4.

Рис.5.2 Схема представления ЛСД 1

Рис.5.3. Схема представления ЛСД 2

Рис.5.4. Схема представления ЛСД 3

5.3 Разработка алгоритмов модулей

Программа состоит из единственного модуля kurs.pas, который содержит в себе процедуры обработки запросов и основную программу.

6. ОПИСАНИЕ ПРОГРАММЫ Kurs

.1 Вводная часть

Программа Kurs реализует запросы к информационной базе, содержащей сведения о «Киноиндустрии», которые хранятся на момент выполнения в памяти ЭВМ. Сведения в память ЭВМ заносятся из входных файлов strstd.dat,actors.dat.

Программа применяется для организации данных в области «Киноиндустрия».

6.2 Функциональное назначение

Программа Kurs предназначена для реализации запросов к информационной базе. Она не предусматривает редактирования существующих и ввод новых данных. Ввод новых данных производится путем изменения входных файлов в любом текстовом редакторе. Для работы программы требуются следующие устройства:

·   накопитель на гибких или жестких магнитных дисках;

·   свободная оперативная память не менее 200 Кб;

·   дисплей;

·   клавиатура.

При очень большом файле данных, необходимо большее количество оперативной памяти. При сбое в работе устройств, программа прекращает свою работу.

6.3 Описание информации

Входные данные поступают из входных файлов «strstd.dat» и «actors.dat».

Файл «actors.dat» имеет следующую структуру:

Название фильма

Жанр фильма

Бюджет

Время выхода в прокат

Название спонсора

Количество вложенных средств

Прибыль

ФИО актера

Гонорар

Файл «strstd.dat» состоит из нескольких следующих структур:

Название страны

Столица

Название студии

Место съемок

При работе программы выводится меню, описанное в п.4.2.

Перечень сообщений используемых в работе программы при запросах представлен на рис. 4.2-4.7 в пункте 4.2.

Перечень сообщений используемых в работе программы представлен в таблице 6.1.

Таблица 6.1. Сообщения

Текст сообщения

Содержание сообщения

Действие

Введите название страны

Требуется ввести название страны для выполнения запроса

Введите название страны для выполнения запроса

Введите название студии

Требуется название студии для выполнения запроса

Введите название студии для выполнения запроса

Введите ФИО актера

Требуется ввести ФИО актера для выполнения запроса

Введите ФИО актера для выполнения запроса

Введите название фильма

Требуется ввести название фильма для выполнения запроса

Введите название фильма для выполнения запроса

Страна не найдена

Необходимой по запросу страны не найдено

Никаких действий предпринимать не нужно, можно снова зайти в нужный запрос и изменить входные данные

Студия не найдена

Необходимой по запросу студии не найдено

Никаких действий предпринимать не нужно, можно снова зайти в нужный запрос и изменить входные данные

Фильм не найден

Необходимого по запросу фильма не найдено

Никаких действий предпринимать не нужно, можно снова зайти в нужный запрос и изменить входные данные

Актер не найден

Необходимого по запросу актера не найдено

Никаких действий предпринимать не нужно, можно снова зайти в нужный запрос и изменить входные данные


6.4 Описание логики программы

Алгоритм основной программы приведен рис.6.1.

Рис.6.1. Схема основной программы

6.5 Используемые подпрограммы

Программа Kurs использует следующие подпрограммы:

procedure Openf осуществляет чтение данных из файла и заносит данные в оперативную память.

procedure zapros1 осуществляет выполнение 1-ого запроса.

procedure zapros2 осуществляет выполнение 2-ого запроса.

procedure zapros3 осуществляет выполнение 3-его запроса.

procedure zapros4 осуществляет выполнение 4-ого запроса.

procedure zapros5 осуществляет выполнение 5-ого запроса.

procedure zapros6 осуществляет выполнение 6-ого запроса.

procedure zapros7 осуществляет выполнение 7-ого запроса.

procedure zapros8 осуществляет выполнение 8-ого запроса.

7. ОПИСАНИЕ ПОДПРОГРАММЫ zapros1

7.1 Вводная часть

Для реализации запроса 1 удобно создать отдельную подпрограмму, которая будет производить выборку.

7.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 1.

7.3 Описание информации

Входные данные:

Название страны, студии

Выходные данные:

Список фильмов

7.4 Описание логики

Логика подпрограммы zapros1 представлена на рис.7.1.

Рис.7.1. Логика подпрограммы zapros1

8. ОПИСАНИЕ ПОДПРОГРАММЫ zapros2

.1 Вводная часть

Для реализации запроса 2 удобно создать отдельную подпрограмму, которая будет производить выборку.

8.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 2.

8.3 Описание информации

Входные данные:

Название студии, фильма.

Выходные данные:

Список актеров

8.4 Описание логики

Логика подпрограммы zapros2 представлена на рис.8.1.

Рис.8.1. Логика подпрограммы zapros2

9. ОПИСАНИЕ ПОДПРОГРАММЫ zapros3

.1 Вводная часть

Для реализации запроса 3 удобно создать отдельную подпрограмму, которая будет производить выборку.

9.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 3.

9.3 Описание информации

Входные данные:

Название страны,студии, фильма.

Выходные данные:

Список актеров

9.4 Описание логики

Логика подпрограммы zapros3 представлена на рис.9.1.

Рис.9.1. Логика подпрограммы zapros3

10. ОПИСАНИЕ ПОДПРОГРАММЫ zapros4

.1 Вводная часть


10.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 4.

10.3 Описание информации

Входные данные:

Название студии, фильма.

Выходные данные:

Список спонсоров

10.4 Описание логики

Логика подпрограммы Z4 представлена на рис.10.1.

Рис.10.1. Cхема подпрограммы zapros4

11. ОПИСАНИЕ ПОДПРОГРАММЫ zapros5

.1 Вводная часть

Для реализации запроса 5 удобно создать отдельную подпрограмму, которая будет производить выборку.

11.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 5.

11.3 Описание информации

Входные данные:

Название страны

Выходные данные:

Список актеров, студий

11.4 Описание логики

Логика подпрограммы zapros5 представлена на рис 11.1.

Рис.11.1. Схема подпрограммы zapros5

12. ОПИСАНИЕ ПОДПРОГРАММЫ zapros6

.1 Вводная часть

Для реализации запроса 6 удобно создать отдельную подпрограмму, которая будет производить выборку.

12.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 6.

12.3 Описание информации

Входные данные:

ФИО актера

Выходные данные:

Фильм, в котором он снимался.

12.4 Описание логики

Логика подпрограммы zapros6 представлена на рис 12.1.

Рис.12.1. Схема подпрограммы zapros6

13. ОПИСАНИЕ ПОДПРОГРАММЫ zapros7

.1 Вводная часть

Для реализации запроса 7 удобно создать отдельную подпрограмму, которая будет производить выборку.

13.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 7.

13.3 Описание информации

Входные данные:

Название фильма

Выходные данные:

Студия и страна, где он снимался

13.4 Описание логики

Логика подпрограммы zapros7 представлена на рис 13.1.

Рис.13.1. Схема подпрограммы zapros7

14. ОПИСАНИЕ ПОДПРОГРАММЫ zapros8

.1 Вводная часть

Для реализации запроса 8 удобно создать отдельную подпрограмму, которая будет производить выборку.

14.2 Функциональное назначение

Подпрограмма предназначена для реализации запроса 8.

14.3 Описание информации

Входные данные:

ФИО актера

Выходные данные:

Студия, где он снимался

14.4 Описание логики

Логика подпрограммы zapros8 представлена на рис 14.1.

Рис.14.1. Логика подпрограммы zapros8

15. ОПИСАНИЕ ПОДПРОГРАММЫ Openf

.1 Вводная часть

Для загрузки базы данных из файлов удобно создать отдельную подпрограмму.

15.2 Функциональное назначение

Подпрограмма предназначена для загрузки базы.

15.3 Описание информации

Входные данные:

Файлы, содержащие информацию о студиях и странах(strstd.dat), а также о фильмах, актерах и спонсорах (actors.dat).

Выходные данные:

Нет

15.4 Описание логики

Логика подпрограммы Openf представлена на рис 15.1.

Рис.15.1.

16. ТЕСТИРОВАНИЕ ПРОГРАММЫ

.1 Разработка плана тестирования и набора тестов

Для проверки работоспособности программы необходимо разработать такой тест, чтобы он проверил все возможные случаи, которые могут возникнуть при пользовании этой программой. Для этого составим набор тестов:

Запрос 1.

Введено:

Австралияne pictures

Ожидается:

Аферисты

Комедия

Семь

Триллер


Запрос 2.

Введено: Brothers

Восставшие из ада

Ожидается:

Джессика Симпсон

Уорни Гамбл

Запрос 3.

Введено:

СШАpictures

Терминатор

Ожидается :

Арнольд Шварцнеггер

Запрос 4.

Введено: Brothers

Восставшие из ада

Ожидается:

Greit


Запрос 5.

Введено:

США

Ожидается:

Columbia pictures

Арнольд Шварценеггер

2300

Стивен Стрейт

Запрос 6.

Введено:

Сэмюэл Л.Джексон

Ожидается :

Семь

Триллер


Запрос 7.

Введено:

Аферисты

Ожидается:

Touchstone pictures

Ronnu

Австралия

Канберра

Запрос 8.

Введено:

Сэмюэл Л.Джексон

Ожидается:

Touchstone pictures

Ronnu

16.2 Результаты тестирования

Распечатаем полные результаты, полученные по каждому из запросов.

Запрос 1.

введите название страны

Австралия

введите название студииne pictures

Список фильмов

Аферисты

Комедия

Семь

Триллер


Запрос 2.

введите название студииBrothers

введите название фильма

Восставшие из ада

Список актеров

Джессика Симпсон

Уорни Гамбл

Запрос 3.

введите название страны

США

введите название студии

Columbia pictures

введите название фильма

Терминатор

Список актеров

Арнольд Шварценеггер

Запрос 4.

введите название студииBrothers

введите название фильма

Восставшие из ада



Запрос 5.

введите название страны

США

Список студий

Columbia pictures

Список актеров

Арнольд Шварценеггер

Стивен Стрейт

Запрос 6.

введите ФИО актера

Сэмюэл Л.Джексон

актер снимался в данном фильме

Семь

Триллер


Запрос 7.

введите фильм

Аферисты

фильм снимался на данной студии

Touchstone pictures

Ronnu

фильм снимался в данной стране

Австралия

Канберра

Запрос 8.

введите ФИО актера

Сэмюэл Л.Джексон

актер снимался на данной студии

Touchstone pictures

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсовой работы я выработала умение выбирать рациональные структуры данных и языковых конструкций, обеспечивающих построение эффективных алгоритмов программ обработки данных применительно к задачам со сложной организацией данных, т.е. задач невычислительного характера, где сложность данных превышает сложность алгоритмов их обработки. Я использовала методику пошаговой разработки программ, устанавливающую соответствие между этапами проектирования программ и уровнями представления данных на каждом этапе.

Методология проектирования опиралась на курс "Структуры и алгоритмы обработки данных в ЭВМ".

Созданная информационная система служит для целей автоматизации человеческого труда. Это позволяет сэкономить большое количество времени и получать точные и абсолютно достоверные сведения.

В совокупности с другими программными средствами, созданная система позволяет полностью отказаться от "бумажного труда", волокиты, потери времени.

СПИСОК ЛИТЕРАТУРЫ

программа спецификация руководство пользователь

1. Методические указания для самостоятельной работы студентов по дисциплине “Структуры и алгоритмы обработки данных в ЭВМ” Ч. 1 / Ижевск. гос. техн. университет. Сост. М.А. Сенилов, Ижевск, 1998. 23 с.

2.      Лекции по дисциплине «Структуры и алгоритмы обработки данных».

ПРИЛОЖЕНИЕ 1

Текст программы

program kurs;

uses crt;tsponsor=^SPONSOR;=record:string; :integer;:integer; :tsponsor; ;=^ACTOR;=record:string; :integer;:tactor; ;=^FILM;=record:string;:string; :integer;:integer; :tfilm; _sp:tsponsor; _ac:tactor; ;=^STUDIA;=record:string;:string;:tstudia;_f:tfilm;;=^STRANA;=record:string;:string;:tstrana;_st:tstudia;;

f,f2:text;:char;,str:tstrana;,std:tstudia;,sp:tsponsor;,fil:tfilm;,ac:tactor;Openf;(f,'D:\strstd.dat');(f);(f2,'D:\actors.dat'); (f2);:=nil;:=nil;(not eof(f)) then(fs);(fst);:=fs;:=fst;(f,fs^.NAZV);(f,fs^.STOLICA);(f,fst^.NAZV);(f,fst^.MESTOS);^.ukaz_st:=fst;not eof(f) do(fs^.next);:=fs^.next;(f,fs^.NAZV);(f,fs^.STOLICA);(fst^.next);:=fst^.next;(f,fst^.NAZV);(f,fst^.MESTOS);;^.ukaz_st:=fst;^.next:=nil;^.next:=nil;; :=nil;:=nil;:=nil;(not eof(f2)) then(fsp);(ff);(fa);:=fsp;:=ff;:=fa;(f2,ff^.NAZV);(f2,ff^.ZHANR);(f2,ff^.BUDGET);(f2,ff^. TIMEV);(f2,fsp^.NAZV);(f2,fsp^.KOLSR);(f2,fsp^.PRIBUL);(f2,fa^.FIO);(f2,fa^.GONORAR);^.ukaz_sp:=fsp;^.ukaz_ac:=fa;^.ukaz_f:=ff;not eof(f2) do(ff^.next);:=ff^.next;(f2,ff^.NAZV);(f2,ff^.ZHANR);(f2,ff^.BUDGET);(f2,ff^. TIMEV);(fsp^.next);:=fsp^.next;(f2,fsp^.NAZV);(f2,fsp^.KOLSR);(f2,fsp^.PRIBUL);(fa^.next);:=fa^.next;(f2,fa^.FIO);(f2,fa^.GONORAR);;^.ukaz_sp:=fsp;^.ukaz_ac:=fa;^.ukaz_f:=ff;^.next:=nil;^.next:=nil;^.next:=nil;; (f);(f2); ;{Openf}menu;;('=МЕНЮ=',#10#13,

'1. Выдать список ФИЛЬМОВ, вышедших на данной СТУДИИ в данной стране',#10#13,

'2. Для данного ФИЛЬМА и данной СТУДИИ привести список АКТЕРОВ',#10#13,

'3. Выдать сведения об АКТЕРАХ данной СТРАНЫ, снимавшихся в данном ФИЛЬМЕ данной СТУДИИ',#10#13,

'4. Указать список всех СПОНСОРОВ, вложивших деньги в данный ФИЛЬМ данной СТУДИИ ',#10#13,

'5. Для указанной СТРАНЫ привести список СТУДИЙ и АКТЕРОВ',#10#13,

'6. Выдать ФИЛЬМ, где участвовал данный АКТЕР',#10#13,

'7. Для указанного ФИЛЬМА выдать СТРАНУ и СТУДИЮ, где он снимался',#10#13,

'8. Для данного АКТЕРА указать СТУДИЮ, где он снимался',#10#13,

'Esc. Выход');;{menu}zapros1;nstr,nst:string;('введите название страны');(nstr);str^.NAZV<>nstr do:=str^.next;str=nil then

begin('страна не найдена');;;;('Введите название студии ');

readln(nst); std^.NAZV<>nst do:=std^.next;std=nil then

begin('Студия не найдена');

break;;;std^.next^.ukaz_f<>std^.ukaz_f do('список фильмов:'); (fil^.NAZV,fil^.ZHANR,fil^.BUDGET,fil^.TIMEV);^.ukaz_f:=std^.ukaz_f^.next;;;{zapros1}zapros2;nst,nf:string;('введите название студии');(nst);std^.NAZV<>nst do:=std^.next;std=nil then

begin('студия не найдена');;;;('Введите название фильма ');

readln(nf); fil^.NAZV<>nf do:=fil^.next;fil=nil then

begin('фильм не найден');

break;;;fil^.next^.ukaz_ac<>fil^.ukaz_ac do('список актеров'); (ac^.FIO,ac^.GONORAR);^.ukaz_ac:=fil^.ukaz_ac^.next;;;{zapros2}zapros3;nstr,nst,nf:string;

begin('Введите название страны ');

readln(nstr);str^.NAZV<>nstr do:=str^.next;str=nil then

begin('страна не найдена');;;;('Введите название студии ');

readln(nst);std^.NAZV<>nst do:=std^.next;std=nil then

begin('Студия не найдена');

break;;;('Введите фильм ');(nf);fil<>nil dofil^.NAZV=nf then('список актеров');(ac^.FIO,ac^.GONORAR);^.ukaz_ac:=fil^.ukaz_ac^.next;fil^.next^.ukaz_ac=fil^.ukaz_ac;:=fil^.next;;;{zapros3}zapros4;nst,nf:string;('введите название студии');(nst);std^.NAZV<>nst do:=std^.next;std=nil then

begin('студия не найдена');;;;('Введите название фильма ');

readln(nf); fil^.NAZV<>nf do:=fil^.next;fil=nil then

begin('Студия не найдена');

break;;;fil^.next^.ukaz_sp<>fil^.ukaz_sp do(sp^.NAZV,sp^.KOLSR,sp^.PRIBUL);^.ukaz_sp:=fil^.ukaz_sp^.next;;;{zapros4}zapros5;nstr:string;:tstudia;

s2:tfilm;('введите название страны');

readln(nstr);str^.NAZV<>nstr do:=str^.next;str=nil then

begin('страна не найдена');

break;;;str^.next^.ukaz_st<>str^.ukaz_st do('список студий:'); (std^.NAZV,std^.MESTOS);^.ukaz_st:=str^.ukaz_st^.next;;:=str^.ukaz_st;:=s^.ukaz_f;(str^.next^.ukaz_st<>s) and(s^.next^.ukaz_f<>s2) dos2^.next^.ukaz_ac<> s2^.ukaz_ac do

begin

writeln('список актеров:');

writeln(ac^.FIO,ac^.GONORAR);^.ukaz_ac:=s2^.ukaz_ac^.next;;;;{zapros5}zapros6;na:string;('Введите ФИО актера ');(na); fil^.ukaz_ac^.FIO<>na do^.ukaz_ac:=fil^.ukaz_ac^.next;fil^.ukaz_ac=nil then

begin('актер не найден');;;;('актер снимался в данном фильме: ');

writeln(fil^.NAZV,fil^.ZHANR,fil^.BUDGET,fil^.TIMEV); ;{zapros6}zapros7;nf:string;('Введите фильм ');(nf); fil^.NAZV<>nf do:=fil^.next;fil=nil then

begin('фильм не найден');

break;;;std^.next^.ukaz_f<>std^.ukaz_f do

begin ('фильм снимался на данной студии: ');

writeln(std^.NAZV,std^.MESTOS);^.ukaz_f:=std^.ukaz_f^.next;;str^.next^.ukaz_st<>str^.ukaz_st do

begin ('фильм снимался в данной стране: ');

writeln(str^.NAZV,str^.STOLICA);^.ukaz_st:=str^.ukaz_st^.next;;;{zapros7}zapros8;na:string;('введите ФИО актера');(na);ac^.FIO<>na do:=ac^.next;ac=nil then

begin('актер не найден');

break;;;fil^.next^.ukaz_ac<>fil^.ukaz_ac do^.ukaz_ac:=fil^.ukaz_ac^.next;std^.next^.ukaz_f<>std^.ukaz_f do

begin('актер снимался на данной студии: ');

writeln(std^.NAZV,std^.MESTOS);^.ukaz_f:=std^.ukaz_f^.next;;;{zapros8};;:=readkey;key of

#49:begin clrscr; zapros1; readkey; end;

#50:begin clrscr; zapros2; readkey; end;

#51:begin clrscr; zapros3; readkey; end;

#52:begin clrscr; zapros4; readkey; end;

#53:begin clrscr; zapros5; readkey; end;

#54:begin clrscr; zapros6; readkey; end;

#55:begin clrscr; zapros7; readkey; end;

#56:begin clrscr; zapros8; readkey; end;;key=#27;.

ПРИЛОЖЕНИЕ 2

Тексты входных файлов

Файл strstd.dat

Австралия

Канберраpictures

Канада

ОттаваBrothers

США

Вашингтонpictures

США

Вашингтон

Файл actors.dat

Аферисты

Комедия

200

Nike

Мастер Пи

Аферисты

Комедия

Dresscod

Крис Рок

Аферисты

Комедия

Coca-Cola

Мартин Лоуренс

Семь

Триллер

Heineken

Сэмюэл Л.Джексон

Семь

Триллер

Heineken

Бред Питт

Восставшие из ада

Ужасы

Greit

Джессика Симпсон

Восставшие из ада

Ужасы



Уорни Гамбл

Терминатор

Фантастика



Арнольд Шварценеггер

000 лет до нашей эры

Фантастика



Стивен Стрейт

ПРИЛОЖЕНИЕ 3

РУКОВОДСТВО ПРОГРАММИСТА

. Назначение программы

Данная программа написана на языке программирования Turbo Pascal 7.0, она состоит из одного модуля: Kurs.pas.

. Условия применения программы

Для работы с программой необходимо:

·   накопитель на жестких или гибких магнитных дисках

·   компьютер, совместимый с IBM PC

·   монитор не ниже MGA

·   свободная оперативная память не менее 200 Кб

·   MS-DOS 3.0 или выше.

3. Обращение к программе

Для запуска программы необходимо откомпилировать программу kurs.pas, набрать в командной строке kurs.exe и нажать клавишу ENTER.

4. Входные и выходные данные

Входные данные поступают из входных файлов «strstd.dat» и «actors.dat».

Файл «actors.dat» имеет следующую структуру:

Название фильма

Жанр фильма

Бюджет

Время выхода в прокат

Название спонсора

Количество вложенных средств

Прибыль

ФИО актера

Гонорар

Файл «strstd.dat» состоит из нескольких следующих структур:

Название страны

Столица

Название студии

Место съемок

5. Сообщения

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

Введите название студии:

Введите название фильма:

Введите название страны:

Введите ФИО актера:

На эти сообщения нужно вводить данные, соответствующие запросам.

Если по какому-либо из запросов не будет ничего не найдено, то выведется сообщение об ошибке:

Страна не найдена

Студия не найдена

Актер не найден.

6. Настройка программы

Данная программа не требует никаких действий для настройки ее на состав технических средств.

ПРИЛОЖЕНИЕ 4

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

1. Назначение программы

Данная программа предназначена для обращения к базе данных. С помощью этой программы и встроенных в нее запросов можно узнать интересующую информацию. В программе могут быть выполнены следующие запросы:

1. Выдать список ФИЛЬМОВ, вышедших на данной СТУДИИ в данной СТРАНЕ.

2. Для данного (или указанного) ФИЛЬМА и данной СТУДИИ привести список АКТЕРОВ.

3. Выдать сведения об АКТЕРАХ данной СТРАНЫ, снимавшихся в данном ФИЛЬМЕ данной СТУДИИ.

4. Указать список всех СПОНСОРОВ, вложивших деньги в данный ФИЛЬМ данной СТУДИИ.

5. Для каждой или указанной СТРАНЫ привести список СТУДИЙ и АКТЕРОВ.

6. Выдать ФИЛЬМ, где участвовал данный АКТЕР.

7. Для указанного ФИЛЬМА выдать СТРАНУ и СТУДИЮ, где он снимался.

8. Для данного АКТЕРА указать СТУДИЮ, где он снимался.

2. Условия применения программы

Для работы с программой необходимо:

·   накопитель на жестких или гибких магнитных дисках

·   компьютер, совместимый с IBM PC

·   монитор не ниже MGA

·   свободная оперативная память не менее 200 Кб

·   MS-DOS 3.0 или выше.

3. Пуск программы

Для запуска программы необходимо набрать в командной строке kurs и нажать клавишу <ENTER>.

. Сообщения оператору

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

Введите название студии:

Введите название фильма:

Введите название страны:

Введите ФИО актера:

На эти сообщения нужно вводить данные, соответствующие запросам.

Если по какому-либо из запросов не будет ничего не найдено, то выведется сообщение об ошибке:

Страна не найдена

Студия не найдена

Фильм не найден

Актер не найден.

Похожие работы на - Информационно-справочная система 'Киноиндустрия'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!