Техническое задание

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

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

В программе использовать объекты и модули.

ВВЕДЕНИЕ

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

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

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

База данных[1]- это один или несколько файлов данных, предназначенных для хранения, изменения и обработки больших объемов взаимосвязанной информации.

Реляционной БД[2] называется такая БД, которая основана на реляционной модели данных.

Система управления базами данных (СУБД)[3] — это система программного обеспечения, позволяющая обрабатывать обращения к базе данных, поступающие от прикладных программ конечных пользователей.

Системы управления базами данных позволяют объединять большие объемы информации и обрабатывать их, сортировать, делать выборки по определённым критериям и т.п.

Простота использования СУБД позволяет создавать новые базы данных, не прибегая к программированию, а пользуясь только встроенными функциями.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

СУБД обеспечивают правильность, полноту и непротиворечивость данных, а также удобный доступ к ним.

В данном проекте создается простейшая база данных, состоящая из одной таблицы. Классификация баз данных.

1.      По типу хранимой информации БД делятся на

·        Документальные. К ним относятся: библиографические, реферативные и полнотекстовые. В документальных БД единицей хранения является какой-либо документ (например, текст закона или статьи), и пользователю в ответ на его запрос выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию. В системах документального типа целью поиска может быть не только какая-то информация, хранящаяся в документах, но и сами документы. Так, возможны запросы типа «сколько документов было создано за определенный период времени» и т. п. Часто в критерий поиска в качестве признаков включаются «дата принятия документа», «кем принят» и другие «выходные данные» документов.

·        Фактографические. БД хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и т.п.); в ответ на запрос пользователя выдается требуемая информация об интересующем его объекте (объектах) или сообщение о том, что искомая информация отсутствует в БД.

·        Лексикографические. К ним относятся различные словари (классификаторы, многоязычные словари, словари основ слов и т. п.).

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

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

.        По характеру организации хранения данных и обращения к ним различают:

·        Локальные (персональные). Персональная база данных — это база данных, предназначенная для локального использования одним пользователем. Локальные БД могут создаваться каждым пользователем самостоятельно, а могут извлекаться из общей БД.

·        Общие (интегрированные, централизованные).

·        Распределенные базы данных. Интегрированные и распределенные БД предполагают возможность одновременного обращения нескольких пользователей к одной и той же информации (многопользовательский, параллельный режим доступа). Это привносит специфические проблемы при их проектировании и в процессе эксплуатации БнД. Распределенные БД, кроме того, имеют характерные особенности, связанные с тем, что физически разные части БД могут быть расположены на разных ЭВМ, а логически, с точки зрения пользователя, они должны представлять собой единое целое.

.        По характеру организации данных:

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Этот классификационный признак относится к информации, представленной в символьном виде.

·        Неструктурированные. К ним относятся базы данных, организованные в виду семантических сетей (Семантическая сеть -информационная модель предметной области, имеющая вид ориентированного графа, вершины которого соответствуют объектам предметной области, а дуги (рёбра) задают отношения между ними.).

·        Частично структурированные — базы данных в виде обычного текста или гипертекстовые системы.

·        Структурированные. Структурированные БД требуют предварительного проектирования и описания структуры БД. Только после этого базы данных такого типа могут быть заполнены данными.

ГЛАВА 1 Типы данных, используемые в данной работе

база данные ввод отчет

1.      Запись, содержащая Ф.И.О. сотрудника предприятия, номер трудовой книжки, дату поступления на работу, поощрения, наказания, дату и причину увольнения.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

type //тип данных, сохраняемых в узле списка

zp=record //запись

fam,name,otch:string[20]; //фамилия, имя, отчество

nomer:integer; //номер трудовой книжки

data1,data2:string[20]; //дата поступления на работу, дата увольнения

poosh,nakaz,reason:string[40]; //поощрения, наказания, причина увольнения

end;

.        Описание типа указатель

puzel = ^tuzel;

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

.        Тип узла двусвязного списка

tuzel = record

x:zp; // поле, хранящее данные узла

next:puzel; // указатель на следующий узел списка

pred:puzel; // указатель на предыдущий узел списка

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

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

fzap1 = file of zp; Операции над списковой структурой, используемой в данной работе (описание процедур).

.        Вставка узла в голову списка

procedure AddFirst(var f:puzel; a:puzel);

2.      Вставка a в список после элемента, на который ссылается указатель old

AddAfter(var old:puzel; a:puzel);

3.      Создание нового узла с нуля

procedure BuildSpisok(var f:puzel);

4.      Удаляет первый элемент списка, возвращает ссылку на удаленный элемент

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

procedure DelFirstElement(var f,a:puzel);

5.      Удаление элемента из списка после элемента, на который ссылается указатель old

procedure DelElement(var old, a:puzel);

6.      Удаление всего списка

DelSpisok(var f:puzel);

SaveToTipFile(var f:puzel);

8.      Восстановление списка из типизированного файла

procedure SpisocFromFile(var f:puzel);
Реализация некоторых процедур.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

.        Вставка a в список после элемента, на который ссылается указатель old.

procedure AddAfter(var old:puzel; a:puzel);

begin^.next:=old^.next; //связываем новый узел с элементом следующим за old^.next:=a; //связываем элемент old с элементом а

if a^.next <> nil then a^.next^.pred:=a; //связывается элемент следующий за old с элементом а(вставляем. эл.)

a^.pred:=old; //связывается с old

end;

.        Сохранение списка в типизированный файл

procedure SaveToTipFile(var f:PUzel);

//файл должен быть открыт и связан с файловой переменной

var fz: Fzap1; //файловая переменная

fp:puzel; //текущий указатель, используется для прохождения списка

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

FileName:string[40];:=InputBox(‘Введите имя файла(*.dat)’,’ ‘,’ ‘);(fz,filename);(fz); //открываем файл:=f; //указатель на голову списка

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

while fp<>nil do

begin

write(fz,fp^.x); //ссылка на типизированный файл

//разименовываем p и вводим x

fp:=fp^.next; //переводим p на следующий элемент списка

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

end;(fz); //закрываем файл;

3.      Удаляет первый элемент списка, возвращает ссылку на удаленный элемент

procedure DelFirstElement(var f,a:puzel);

begin:=f; //узел а ссылается на f:=f^.next; //f ссылается на следующий элемент

if f <> nil then f^.pred:=nil;

end;
ГЛАВА 2. Интерфейсная часть проекта

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

В данной курсовой работе используется следующий интерфейс:

В данной работе применяется компонент MainMenu без использования иконок для операций. Для вывода данных используется Memo поле.

1.      Компонент MainMenu[4]

Компонент Delphi MainMenu предназначен для добавления к программе главного меню, элемента, без которого не обходится ни одно из приложений для Windows.

Чтобы добавить к программе Delphi главное меню, нужно расместить на Форме в произвольном месте компонент MainMenu.

Компонент MainMenu невизуальный, то есть, хотя и отображается на прототипе Формы как небольшой квадрат, в работающей программе не будет виден. Опции главного меню создаются с помощью специального редактора. Редактор меню вызывается с помощью двойного щелчка по компоненту MainMenu. Первоначально меню пустое, но имеет один выделенный элемент:

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

Для создания первой опции (как правило, опция главного меню программы Файл) нужно перейти в Инспектор объектов и свойству Caption присвоить нужное название.

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

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

Выделим нижний элемент меню, в Инспекторе объектов изменим свойство Caption на Выход. Затем перейдём на вкладку Инспектора объектов Events и щелкнем дважды мышкой по обработчику OnClick. В созданной процедуре напишем просто — Close.

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

2.      Компонент Memo[5]

Компонент Memo находиться на вкладке «Standard» палитры компонентов

Его основное предназначение — работа с большим количеством строк (ввод, отображение и редактирование текстового материала). Эти строки содержатся в свойстве Lines компoнента Memo.

Как и во многих других текстовых редакторах у компонента Memo есть возможность использовать общепринятые горячие клавиши, такие как: Ctrl-X выделенный текст вырезается и помещается в буфер обмена, Ctrl-C — копируем выделенный текст в буфер обмена, Ctrl-V — вставляем текстовое содержимое из буфера обмена в место нахождения курсора, для отмены последней команды используем Ctrl-Z.

Для сохранения содержимого текстового поля Memo в файл используется функция SaveToFile (‘text.txt’), а для извлечения — LoadFromFile (‘text.txt’), где text.txt — текстовый файл расположенный в каталоге программы. Данные функции используются в соответствующих процедурах программы: сохранение в текстовый файл и восстановление из текстового файла.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

3.      Функция InputBox[6]

Функция InputBox отображает простое диалоговое окно с заданным Заголовком (Caption) и Подсказкой (Prompt). Оно просит, чтобы пользователь ввел данные в текстовое поле на диалоговом окне. Значение по умолчанию отображено в текстовом поле.

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

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

Пример кода:

TForm1.mniLoadFromTxt1Click(Sender: TObject);OtchetName:string[40];:=InputBox(‘Введите имя отчета(*.txt)’,’ ‘,’ ‘);.Lines.LoadFromFile(OtchetName);;

4.      Процедура ShowMessage[7]

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Процедура ShowMessage выводит простое диалоговое окно на экране с кнопкой ОК, содержащее строку Text.

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

Пример кода:

TForm1.mniLoadFromTxt1Click(Sender: TObject);OtchetName:string[40];:=InputBox(‘Введите имя отчета(*.txt)’,’ ‘,’ ‘);(not FileExists(OtchetName)) then(‘‘Файла с таким именем нет’).Lines.LoadFromFile(OtchetName);

end;

5.      Функция StrToInt[8]

Функция StrToInt конвертирует строку с целым значением — IntegerString, такую как ‘123’, в целое Integer.

Она поддерживает положительные и отрицательные значения, шестнадцатеричные числа с префиксов $ или 0x.

6.      Компонент Image[9]

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

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

Загрузить изображение можно с помощью Object Inspector. Для этого находим свойство Picture и слева от него нажимаем на три точки. Открывается окно Picture Editor и в нем выбираем загрузить(Load), в раскрывшемся окне выбираем файл изображения.

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

Чтобы назначить изображению действие необходимо перейти на вкладку Инспектора объектов Events и выбрать одну из процедур в меню OnClick.

7.      Компонент Label[10]

Компонент Label предназначен для отображения статического текста, то есть надписей и меток на Форме, которые не меняются в течение всего времени работы программы. Конечно, текст надписи, отображаемый компонентом Label можно изменить, но не непосредственно, а только программно.

Свойством компонента Label, которое используется для задания отображаемого текста, является Caption (Заголовок англ.).

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

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


Обработчики событий.

Подробное описание связки обработчика событий с компонентами MainMenu.

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

.        Удаление списка:

procedure TForm1.DelSpis1Click(Sender: TObject);(fz);.Clear;

end;

.        Восстановление из типизированного файла (.dat):

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

TForm1.SpisocFromFile1Click(Sender: TObject);: puzel;(fz);

SpisocFromFile(fz);;

.        Сохранение в текстовый файл (.txt):

TForm1.SaveToTxt1Click(Sender: TObject);OtchetName:string[40];:=InputBox(‘¬ведите им¤ отчета(*.txt)’,’ ‘,’ ‘);.Lines.SaveToFile(OtchetName);;

4.      Выход из программы:

TForm1.Exit1Click(Sender: TObject);

begin;;
Руководство пользователя

Для начала работы с базой данных её необходимо создать или открыть существующую. Для создания базы данных необходимо зайти в меню Список и выбрать пункт Новый список.

В появившемся диалоговом окне введите данные.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

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

Список и выбрать пункт Посмотреть список.

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

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

В появившемся диалоговом окне введите имя файла с расширением .dat.

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

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

В появившемся диалоговом окне нужно ввести имя отчета с расширением .txt.

Для упрощения «диалога» с пользователем все пункты меню дублируются кнопками рядом с Memo полем.

ЗАКЛЮЧЕНИЕ

Была создана элементарная базы данных, которая позволяет выполнить следующие действия:

.        Создание списка

.        Удаление списка

.        Просмотр списка

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

.        Сохранение списка в типизированном файле

.        Восстановление списка из типизированного файла

.        Сохранение содержимого поля в текстовый файл

. Восстановление из текстового файла

Программа тестировалась в течение нескольких часов. Сбоев и ошибок при работе программы обнаружено не было.

В связи с нехваткой времени не были осуществлены следующие функции:

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

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

.        Поиск по критериям

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

ПРИЛОЖЕНИЕ 1

.Initialize запускает инициализацию приложения. Убирать не рекомендуется.

Application.CreateForm (TForm1, Form1). Метод CreateForm инициализирует форму. У него два параметра — имя объекта и имя переменной, которая впо-следствии будет указывать на созданный объект. В нашем случае это имя формы TForm1 и имя переменной Form1. Переменная Form1 автоматически описывается в модуле объекта TForm1 в разделе var:Forml: TFormi;.Run. После инициализации всех форм можно запускать выполнение программы с помощью метода Run объекта Application.

Здесь везде используется объект Application. Этот объект всегда существует в ваших программах в единственном экземпляре и создается с помощью строки Application.Initialize. Он происходит от класса TApplication и реализует основные функции управления приложением.

ПРИЛОЖЕНИЕ 2

usp;SysUtils,Dialogs; //тип данных, сохраняемых в узле списка

zp=record //запись

fam,name,otch:string[20]; //фамилия, имя, отчество

nomer:integer; //номер трудовой книжки

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

data1,data2:string[20]; //дата поступления на работу, дата увольнения

poosh,nakaz,reason:string[40]; //поощрения, наказания, причина увольнения

end;

puzel=^tuzel; //описание типа указатель

tuzel=record //тип узла двусвязного списка

x:zp; //поле, хранящее данные узла

next:puzel; //указатель на следующий узел списка

pred:puzel; //указатель на предыдущий узел списка

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

end;

fzap1 = file of zp; //тип типизированного файла, в котором

//будут храниться данные списка

procedure AddFirst(var f:puzel; a:puzel);