GeoSELECT.ru



Компьютеры / Реферат: Учет очереди на получение квартир по организациям (база данных) (Компьютеры)

Космонавтика
Уфология
Авиация
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Аудит
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника
Бухгалтерский учет
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Инвестиции
Иностранные языки
Информатика
Искусство и культура
Исторические личности
История
Кибернетика
Коммуникации и связь
Компьютеры
Косметология
Криминалистика
Криминология
Криптология
Кулинария
Культурология
Литература
Литература : зарубежная
Литература : русская
Логика
Логистика
Маркетинг
Масс-медиа и реклама
Математика
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Мифология
Москвоведение
Музыка
Муниципальное право
Налоги
Начертательная геометрия
Оккультизм
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование
Психология
Радиоэлектроника
Религия
Риторика
Сельское хозяйство
Социология
Спорт
Статистика
Страхование
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Физика
Физкультура
Философия
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
   

Реферат: Учет очереди на получение квартир по организациям (база данных) (Компьютеры)


Министерство общего и профессионального образования РФ

Уральский государственный экономический университет


Кафедра информационных систем в экономике



Курсовая работа

по основам алгоритмизации и языкам программирования

Тема: Базы данных,
Учёт очереди на получение квартир
по организациям



Исполнитель:
студент гр. ИСЭ-99-1


Костюченко А.В.

Руководитель:
доцент Плещёв В. В.



Екатеринбург


2001


Организационно-экономическая сущность: Необходимо разработать комплекс по
учёту очереди на получение квартир по организациям. А именно создать файл
куда войдут:
Фамилия, номер очереди, номер приказа, код организации, код основания, дата
, номер паспорта, численность семьи, адрес.
Также необходимо создать два справочника:
Справочник по организациям (код, наименование организации, адрес, директор,
телефон);
справочник по основаниям (код, основание).
(вышеперечисленные таблицы создаются в Database Desktop)
Также необходимо создать отчёт с итогами по каждой организации и базовый
отчет.
Базовый отчет:
[pic]

Отчет по организациям:
[pic]

Программа предназначена для учёта очереди по организациям, а также для
предоставления оперативной информации о очереди.
К входящей информации относятся: номер очереди, фамилия, организация,
основание, номер приказа, дата, численность семьи, адрес , паспорт. Т. е
файл:
[pic]
Также Справочник 1 и 2:

[pic]
[pic]

К выходящей информации в отчёте относится запросы, включая базовый:
[pic]
[pic]
[pic]

А так же к выходящей информации относятся отчёты (примеры отчётов
приведены выше).
Создание программы.
Перед тем как непосредственно начать работу в C++Builder необходимо
создать три таблицы. Зайдём в Database Desktope, нужно создать свой Alias
.Для этого необходимо выбрать Tools -> Alias Manager, нажимаем New,
указываем имя алиаса в строке Database alias, потом выбирается путь к
таблицам,нажимаем Browse (это есть тот путь, где мы сохраняли таблицы).
Потом нажимается OK, и подтверждается создание нового аляса. Alias .После
того как Alias установлен нужно зайти в Working Direсtory и выбрать свой
Alias.Д алее выберем File ->New -> Table; После этого появится окно Table
Type, здесь необходимо выбрать Paradox7. После выбора появляется следующее
окно Create Paradox7 Table. В этом окне необходимо указать название
переменных (Field Name) , тип переменной (Type), размер строки, если это
переменная строковая (Size), и далее, если это поле является ключевым,
указывается * (поле Key). Примечание: Ключевые поля должны следовать друг
за другом. Ключевые переменные являются общими для таблиц. В квадратик
(Required Field) помещается галка, если это поле обязательное. Потом это
окно сохраняется, при этом указывается путь, этот же путь в последующем
прописывается в Alais Manager. После создания трёх таблиц, заходим в
главную таблицу (ту в которой содержаться общие для других таблиц
переменные), и связываем таблицы. Делается это так: В Table Checks
выбирается Referential. Далее нажимается Define. Появляется окно, в котором
связываются переменные этой главной таблицы с другими переменными,
содержащимися в файлах.
Теперь начинаем непосредственно работать с C++Builder. Для начала
создадим модуль: Для этого откроем New, и выберем DataModule. Начнём
работу с создания базовых запросов, соответственно приведу пример, как
создавать только один базовый запрос, все остальные делаются по аналогии.
В созданый модуль помещаем с панели инструментов DataAccess инструмент
Query. Рядом на этом же модуле помещаем DataSource. Выделяем Query, и в
Properties (свойствах) в DatabaseName выбирается аляс (именно тот который
мы создали). Далее выделяем DataSource, и в свойствах в DataSet указывается
название иконки базового запроса. Потом опять выделяем Query и нажимаем
правую кнопку мыши и выбираем SQLBuilder. Итак мы находимся в SQLBuilder.
Сверху в панели инструментов в окне Database указывается созданный нами
алиас. Чуть левее находится окошечко Table. Постепенно выводим на экран в
той последовательности, в которой даны таблицы. Появляются окошечки. В
левом верхнем углу каждого окошечка ставим галку. Потом выбираем из таблиц
общие переменные. Нажимая на общую переменную, не отпуская мыши,
перетаскиваем её на таблицу, где есть такая же переменная. Если процедура
прошла удачно, то появится(ятся) связь(и), и общие переменные выделятся.
Потом начинаем группировать запрос. Выделяем только те переменные, которые
требуются в запросе. Все остальные галки убираются. Далее сортируем, это
делается в вкладке Sorting. Для того, чтобы убедится, что базовый запрос
работает, запустим его, это делается при помощи кнопки Execute Query. Если
всё работает, то просто закрываем SQLBuilder, при этом выдаётся сообщение о
том, необходимо ли сохранить, сохраняем. В свойствах Query Active делаем
True. Далее создаём новую форму (форма первая необходима для размещения на
ней меню, т. е. Она является связующей). На форме размещается элемент
DBGrid, который берется с панели Data Controls. Под окном DBGrid
размещается панель клавиш DBNavigator. Сделаем активным окно DBGrid. В
меню выбираем File -> Include Unit Hdr. Выбираются все Unit, и нажимается
OK. В свойстве DataSource выбирается тот Souse, который подсоединён к
данному Query. У DBNavigator в свойстве DataSource так же выбирается
нужный Source. После этого в окне DBGrid должна появится таблица. Теперь
необходимо расшифровать переменные. Для этого сделаем активной иконку
Query, далее нажмём правую кнопку мыши и выберем Fields Editor. Далее
появится окно, необходимо указатель мыши поставить в это пустое окно, и
нажмём правую кнопку мыши. Появятся переменные, которые содержит запрос,
выберем (выделим) все переменные и нажмём OK. Сделаем текущей одну из
появившихся переменных, и в поле DisplayWidth поменяем название на то,
которое соответствует этой переменной. Проделаем эту процедуру со всеми
остальными переменными, после этого просто закроем окно с переменными, в
самой таблице все переменные поменялись на соответствующие им набранные
тексты. На этом создание запроса заканчивается.
Создание форм происходит практически аналогично. В модуль помещается
пара Table – DataSource. Сделаем активным Table. В свойстве DatabaseName
укажем алиас, а также в TableName укажем имя таблицы, которую мы хотим
вывести на форму. В DataSource в свойстве DataSet укажем соответствующий
Table. Далее сделаем активным опять Table и укажем в свойстве Active
True. Потом создадим форму, на неё поместим DBGrid а также DBNavigator.
Зайдём в File -> IncludeUnit и выберем все Unit которые там есть (при этом
активным должно быть окно DBGrid). Далее в свойстве DataSource укажем
нужную связь модуля и соответствующего DataSource. По идеи на форме должна
появится таблица.
Теперь создадим отчёт. Для этого создадим новую форму. На ней
разместим окно QuickRep. Найти этот инструмент можно в панели QReport. Два
раза щёлкнем по свойству Bands, и поставим false в HasPageFoote и HasTitle.
Далее в меню File выберем IncludeUnite, и выберем все Unit. Далее в
свойстве DataSet укажем связь с соответствующим DataSouse. В поле Page
Heater указывается то, что находится в шапке таблицы. Надпись можно создать
при помощи инструмента QRLabel. В свойстве Caption этого инструмента вводим
текст. Значения из таблицы могут быть отображены в отчёте следующим
образом: Выбирается инструмент QRDBText. При помощи свойства DataSet
связываем этот инструмент с таблицей. Далее указываем DataField, здесь
выбираем нежную нам переменную, которая будет меняться. Свойство ParentFont
делаем true. В шапке так же можно разместить номер листа или дату и
время. Это делается при помощи инструмента QRSysData. В свойстве Data этого
инструмента выбирается нужный формат. Далее под шапкой следует Column
Header. Это тоже составная шапки. Далее идёт Group Header. В свойстве
Expression указывается фильтрация таблицы, Свойство ForceNewPage
указывается true что означает что фильтрация будет связана с появлением
данных на новом листе. В поле Detail распологаются QRDBText, которые
берутся из привязанной к отчёту таблицы или запроса. В поле Group Footer
распологаются промежуточные результаты. Промежуточным результатом может
быть сумма и т. д. Нахождение её возможно благодаря инструменту QRExpr. В
свойстве Expression задаётся формула. В поле Summary располагается конечный
результат, который высчитывается по формуле. И эту формулу можно получить
при помощи свойства Expression (сначала необходимо поместить в это поле
инструмент QRExpr). Предварительный запуск этого отчёта осуществляется
следующим образом: Необходимо правой кнопкой мыши нажать в область
QuickRep, затем выбрать Preview.
Теперь необходимо все эти формы связать. Для это мы оставили самую
первую форму. На ней размещаем инструмент MainMenu. Двойное нажатие на
иконку позволяет открыть окно. В нём начинаем создавать меню. В Caption
указываем названия пунктов меню. Связать названия можно при помощи двойного
нажатия на заполненный текстом пункт меню, здесь пишется (если это просто
таблица или запрос) Form1->Show(); причём номера форм разные. Если это
базовый запрос, то необходимо при двойном нажатии на пункт меню написать
Form1->QuickRep1->Preview(); Формы соответственно тоже разные. После всего
этого необходимо сделать активной иконку MainMenu и опять подсоединить
Unitы, File->Unit Includ. После этого форма 1 должна заработать.
Обращение к программе происходит посредством запуска программы.
Запускается программа при помощи иконки в форме треугольника.
Появляется окно:
[pic]
После этого можно работать с этим окном и вызывать необходимые формы или
запросы.





Реферат на тему: Учет студентов, направляемых для прохождения



Содержание

стр.
Введение.
................................................................……… 3

1. Постановка задачи
...................................................……..4

2. Информационное обеспечение ...............................……...5

3. Разработка алгоритма
.....................................……...7

4. Проектирование прикладного программного обеспечения
……………………………………………………………….13

5. Отладка и тестирование
........................................……..13
5.
Заключение
.............................................................……..15

Литература
..............................................................……..16

Приложение 1. Листинг программы ......................……..17



Введение

Целью данного курсового проекта является решение прикладной задачи по
учету распределения студентов по базам практики и разработка программного
обеспечения для ведения и хранения этой информации и выдачи необходимых
выходных форм.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Выполнить постановку задачи, включая спецификации входных и выходных
данных;
1. Спроектировать структуры данных для ведения и хранения информации;
1. Разработать алгоритм решения задачи;
1. Спроектировать структуру программы, определить состав и назначение
процедур и функций программы;
1. Написать программу на алгоритмическом языке Паскаль;
1. Отладить программу, подготовить данные и выполнить контрольный расчет.



1. Постановка задачи


Задача учета распределения студентов по базам практики должна
включать в себя выполнение следующих функций:
- Ввод и просмотр НСИ
- Ввод исходной информации
- Формирование требуемого выходного документа на основе НСИ и
информации из входного документа
- Организация элементарного оконного интерфейса , контроль вводимой
информации.
Имеются следующие исходные данные:
1. Нормативно-справочная информация, включающая в себя два показателя:
- Шифр завода
- Наименование завода
2. Входной документ, включающий в себя следующие пока-затели:
- Шифр завода
- Общее количество студентов
- Количество иногородних студентов
- - Ф.И.О. и должность руководителя практики по данному
- предприятию.
3. Выходной документ, включающий в себя следующие пока-затeли:
- - Наименование завода
- Общее количество студентов
- Количество иногородних студентов
- - Ф.И.О. и должность руководителя практики по данному
- предприятию
Кроме того, выходной документ должен содержать подсчет итогов по общему
количеству студентов и количеству иного-родних студентов.

В работе предусмотреть возможность ввода и просмотра НСИ, ввод исходной
информации и выдачу выходного документа с использованием входных данных и
НСИ.
НСИ необходимо хранить в дисковом файле. Программа должна иметь
«дружественный » интерфейс, включающий в себя меню, контекстно-зависимую
подсказку и контроль вводимой информации.



2.Информационное обеспечение.


Информационное обеспечение включает в себя следующие виды
информации:
- Нормативно-справочная информация (НСИ)
- Входная информация
- Выходная информация
- Диалоговая информация



Нормативно справочная информация (НСИ) представляет собой редко
изменяющуюся информацию, необходимую для решения задачи. В нашем случае НСИ
представляет собой типизированный файл, содержащий наименования и шифры
предприятий, принимающих студентов на практику. Состав и структура НСИ
приведены в таблице 2.1.



Табл. 2.1.
|Шифр завода |Наименование завода |
| | |



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



Табл. 2.2.
|Шифр |Общее |Количество |Ф.И.О. |Должность |
|завода |количество |иногородних |руководителя|руководителя|
| |Студентов |студентов | | |
| | | | | |



Выходная информация представляет собой ведомость распределения
студентов по базам практики, формируется с использованием входной
информации и информации, хранящейся в НСИ, и приведена на рис.2.1.



Ведомость распределения

студентов по базам практики.

|Шифр |Общее |Количество |Ф.И.О. |Должность |
|завода |количество |иногородних |руководителя|руководителя|
| |Студентов |студентов | | |
| | | | | |

ИТОГО: [pic] [pic]


Рис. 2.1. Выходной документ



Для эффективной организации взаимодействия пользователя с программой
предназначена диалоговая информация, организованная в виде «дружественного»
интерфейса. Она представлена основным меню, позволяющими выбрать
необходимый режим работы программы, и контекстно-зависимой подсказкой,
облегчающей процесс общения пользователя с программным продуктом. В
программе организован простейший оконный интерфейс, реализованный
средствами модуля CRT. Структура экрана пользователя приведена на рис.
2.2.



1- Ввод НСИ 2- Просмотр НСИ 3-Ввод информации 4-Документ 5-Выход



Выберите пункт меню



Рис. 2.2. Структура экрана
пользователя



Приведенный выше экран пользователя состоит из трех основных частей.

- Окно вывода меню (верхнее)- информация в этом окне находится на
экране постоянно, не обновляясь в ходе работы программы.
- Окно контекстно-зависимой подсказки (нижнее) – информация в этом
окне периодически обновляется в соответствии с ходом исполнения
программы.
- Окно ввода данных и вывода результатов (среднее) – окно с
изменяемой информацией.



3. Разработка алгоритма.

Разработка алгоритма велась методом нисходящего проектирования сверху
вниз с последующей детализацией отдельных блоков.
Поскольку языком программирования выбран процедурно -
ориентированный алгоритмический язык высокого уровня Pascal, основной
задачей, подлежащей решению на этапе разработки алгоритма, является
декомпозиция основной задачи с целью выделения отдельных подзадач, которые
могут быть оформлены в виде подпрограмм. Общая блок-схема программы
представлена на рисунке 3.1. Она включает в себя блок-схему головной
программы, увязывающую всю задачу целиком, и блок-схемы отдельных подзадач,
оформленные в виде подпрограмм. Блок - схемы подпрограмм представлены на
рисунках 3.2. - 3.5.



Блок-схема алгоритма головной программы.



=1



=2



=3



=4


нет



да


Рис 3.1.



Блок-схема подпрограммы ввода НСИ (V_NSI)



да


нет



Рис 3.2.



Блок-схема подпрограммы просмотра НСИ (Prosmotr_NSI)



Рис 3.3.



Блок-схема подпрограммы ввода входных данных(Input)



да


нет



Рис 3.4.



Блок-схема подпрограммы расчета и вывода выходной
формы(Print_Doc)



да


нет



Да



Рис 3.5.



4.Проектирование прикладного программного обеспечения

Программа спроектирована методом нисходящего проектирования
сверху вниз, т.е. вначале была разработана головная программа, которая
формирует экран пользователя (внешний вид экрана пользователя см,
рис.2.2.), осуществляет программную поддержку при выборе пункта меню и
обращается к соответствующей подпрограмме, реализующей определенную функцию
программного продукта.
На следующем этапе были разработаны, отлажены и поочередно
подключены подпрограммы, реализующие основные функции данной задачи.
Программа реализована на языке высокого уровня Pascal .
Прикладное программное обеспечение данного проекта состоит из трех файлов:
- программный файл
- файл НСИ
- файл базы данных.
В приведенной ниже таблице 4.1. приведены наименования, назначения и
обращения к подпрограммам, включенным в состав прикладного программного
обеспечения .

Таблица 4.1.
|№ |Назначение |Наименование |
| |подпрограммы |подпрограммы |
|1 |Процедура для ввода |Procedure V_NSI; |
| |НСИ | |
|2 |Процедура просмотра |Procedure Prosmotr; |
| |НСИ | |
|3 |Ввод данных |Procedure Input; |
|4 |Функция поиска |Function |
| |наименования завода |Poisk(Shifr:string):str|
| |по его шифру в файле |ing; |
| |НСИ | |
|5 |Процедура |Procedure Print_Doc; |
| |формиро-вания | |
| |выходного документа и| |
| |выдачи его на экран | |



Листинг программы представлен в Приложении 1.


5. 5. Отладка и тестирование программы

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



Таблица 5.1.
|№ | Входные данные |Выходн|
| | |ой |
| | |докуме|
| | |нт |
| | НСИ |Входной документ | |
| |Шифр |Наимен|Шифр |Количе|Количе|Ф.И.О.|Должно| |
| |завода|завода|завода|ство |ство |руково|сть | |
| | | | |студен|иногор|дителя| | |
| | | | |тов |одних |практи| | |
| | | | |всего |студен|ки | | |
| | | | | |тов | | | |
|1 |1111 |З-д |1111 |10 |5 |Иванов|Инжене|Рис |
| | |К.Либк| | | | |р |5.1 |
| | |нехта | | | | | | |
| | | | | | | | | |
| | | | | | | | |Рис |
| | | | | | | | |5.2 |
|2 |2222 |Шинный|5555 |23 |12 |Петров|Эконом| |
| | | | | | | |ист | |
|3 |3333 |Южнотр|2222 |45 |2 |Сурко |Ст.инж| |
| | |убный | | | | |енер | |
|4 |55555 |Южмаш | | | | | | |


Выходной документ №1



НСИ



|Наименование завода |Шифр завода |
|З- д К. Либкнехта |1111 |
|Шинный з-д |2222 |
|Южнотрубный |3333 |
|Южмаш |5555 |


Рис 5.1.


Выходной документ №2



Ведомость распределения студентов по базам практики



|Наименовани|Количество |Количество |Ф.И.О. |Должность |
|е завода |студентов |иногородних|руководител| |
| | |студентов |я | |
|З- д К. |10 | 5 |Иванов |Инженер |
|Либкнехта | | | | |
|Южмаш |23 |12 |Петров |Экономист |
|Шинный з-д |45 | 2 |Сурко |Ст. инженер|


ИТОГО: 78 19



Рис 5.2.



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



Список использованной литературы


1. Е.И. Машбиц, И.А. Белоголов и др. ; Под общ. ред. А.А. Стогния
«Обработка данных с помощью компьютера» : Учеб. пособие.
- К.: Высшая школа, 1991.
2. В.В. Липаев «Проектирование программных средств»: Учеб. пособие. М.
«Высшая школа» 1990г.
3. Методические указания и пакет заданий к выполнению лабораторного
практикума и контролируемой самостоятельной работе по дисциплине
«Основы алгоритмизации и алгоритмические языки» для студентов
специальности 07. 15. - Днепропетровск : ДМетИ, 1990.
1. Фаронов В.В. «Турбо Паскаль 7.0. Начальный курс.» Учебное пособие. -
М.: «Нолидж», 1997г.



-----------------------
Начало



Ввод НСИ

Анализ ном. Пункта меню

Просмотр НСИ

Ввод входного докум.

Опр шифра из НСИ

Формирование оконного интерфейса

Выдача меню

Опрос ном пункта меню



Формир и вывод вых док.

=5?

Конец


Вход

Yfxfkj

Присоединение и открытие файла Nsi.dat

Ввод шифра завода

Это пробел?

Наименование завода

Выход

Вход

Присоединение и откр файла NNCNsi.dat



Печать НСИ

Выход

Вход

Присоед и откр файла Datt.dat

Ввод шифра завода

Это пробел?

Колич студентов

Кол иногор студ. студентов

ФИО и должн преп

Закрытие файла файла Datt.dat


Вход

Выход

Вход

Печать шапки

Присоед и откр файла

Это конец файла?

Чтение очер записи

Шифр пробел?

Кол студ Кол иног Фио преп

Подсчет итогов

В НСИ шифр не найден

Закрытьфайл

Выход






Новинки рефератов ::

Реферат: Тактический план (Предпринимательство)


Реферат: ЦИВІЛЬНОЕ ПРАВО (Гражданское право и процесс)


Реферат: Петербургская Академия Наук в 18-19 веках (История)


Реферат: Развитие авиации ( Космонавтика)


Реферат: Технология производства продукции животноводства растениеводства (Сельское хозяйство)


Реферат: Рептилии и амфибии (Биология)


Реферат: Принципы воспитания, как основные теоретические положения процесса воспитания и их характеристика (Педагогика)


Реферат: Экзаменационные вопросы и билеты по безопасности жизнедеятельности за первый семестр 2001 года (Безопасность жизнедеятельности)


Реферат: Рекомбинантные вакцины (Генная инженерия) (Биология)


Реферат: Чацкий, Онегин, Печерин (Литература)


Реферат: Педагогика в Древнем Риме (Педагогика)


Реферат: Расследование поджогов, взрывов и других катастроф (Криминалистика)


Реферат: Битва под Курском (История)


Реферат: Акселерация развития и готовность к обучению в школе (Педагогика)


Реферат: А.П. Чехов (Литература : русская)


Реферат: П. А. Столыпин. Другие реформы (История)


Реферат: Финансовый менеджмент и ПК (Финансы)


Реферат: Теория и практика применения метода интервью в социологии (Социология)


Реферат: Национализм в России (РНЕ, Черная Сотня ...) (Политология)


Реферат: Религиозное воспитание (Педагогика)



Copyright © GeoRUS, Геологические сайты альтруист