Программирование на языке высокого уровня 3 - курсовая работа
Основные данные о работе
Версия шаблона
2.1
Филиал
Современная Гуманитарная Академия филиал в г. Сызрань
Вид работы
Курсовая работа
Название дисциплины
Программирование на языке высокого уровня
Тема
создайте программу ведения базы данных личной видеотеки
Фамилия студента
Вайс
Имя студента
Алексей
Отчество студента
Валентинович
№ контракта
03905100601001
Содержание
Введение.... …………………………………………………………………………..3
Основная часть..…. .……………………….…………………………………....…4
Описание процедур.…………………………………………………………..8
Граф переходов между элементами интерфейса………..…………….…...18
Заключение….………………………………………………………………….……19
Глоссарий…………………………………………………………………………….20
Список используемых источников…………………………………………………22
Приложения ..….………………………………………………………….…………23
Введение
Курсовой проект по теме: «Создать программу ведения базы данных личной видеотеки».
База данных личной видеотеки очень проста в использовании она использует мало ресурсов, работает практически на любой операционной системе и также на любом компьютере. Программа многофункциональна, внесенную информацию о видео фильмах можно как изменять, так удалять и редактировать. Все данные о дисках записывается в базу данных по пяти полям: название диска, год выпуска, кинокомпания, фамилия режиссера и цена. В этой программе диски можно сортировать по этим же полям, она написана на русском языке, что очень удобно в обращение .
Программа разрабатывалась в среде программирования Delphi.Среда Delphi представляет собой интегрированную оболочку разработчика, в которую входит набор специализированных программ, ответственных за разные этапы создания готового приложения. Она содержит большой набор различных типов данных и компонентов, облегчающих создание программного продукта под Windows. Краткость языка, легкость программирования на нем, мобильность написанных программ, возможность эффективной реализации и пригодность с точки зрения формальных методов отладки программ обеспечили языку ObjectPascal и конкретно среде Delphi успех в тех делах, для которых он предназначался. Сегодня программирование превратилось из искусства в ремесло, вряд ли можно стать профессиональным разработчиком, не изучив внутреннее устройство Windows или структуру компонентов VCL и принципы оптимизации программ, однако такие знания сегодня отходят на второй или третий план. Работодателей интересует прежде всего скорость и качество создания программ в коллективе, а эти характеристики может обеспечить только среда визуального проектирования, способная взять на себя значительные объемы рутинной работы по подготовке приложений, а также согласовывать деятельность группы постановщиков, кодировщиков, тестеров и технических писателей. Возможности Delphi полностью отвечают подобным требованиям и подходят для создания систем любой сложности. Система Delphi позволяет писать как крохотные программы и утилиты для персонального использования, так и корпоративные системы, работающие с базами данных на разных платформах, интернет - решения и коммерческие игры, распределенные ССЖ/СОЙВД/ЗОЛР - приложения и всевозможные Web-службы. При этом обеспечивается совместимость приложений при выходе новых версий Delphi — как друг с другом на уровне исходных текстов, так и с модифицированными версиями стандартных протоколов и технологий благодаря библиотеке независимых и легко настраиваемых компонентов.
Вся информация, находящаяся в файле и выводится в данную таблицу.
Кнопка поиска информации.
При нажатии кнопки поиск отображается окно поиска. Поиск происходит по пяти параметрам. Выбираем один из параметров, вводим данные и начинается поиск, найденные данные выводятся в этом же окне в таблице.
Кнопка удаления.
Удаление происходит следующим образам: выбираем курсором, какой DVD – фильм вы хотите удалить и следовательно нажимаем кнопку удаление.
Область редактирования.
Для редактирования одного из полей, необходимо ввести в первое поле его название из списка, выбрать из выпадающего списка параметр для изменения и во второе поле ввести новую информацию. Обновленная информация появляется мгновенно в таблице.
Кнопка добавления информации.
Отображается окно добавления информации. Информация также добавляется по пяти полям. Добавленная информация мгновенно выводится в главном окне.
Тип записи disk
является представлением информации: stoim
- стоимость DVD - фильма, name
название DVD – фильма, reg
– фамилия режиссера, cincom
– название кинокомпании, year
– год выхода фильма на DVD.
tdvd=array[1..300] ofdisk
Тип tdvd является одномерным массивом, содержащим 300 элементов типа disk, т.е. этот массив содержит информацию о 300ах
DVD - фильмах, полученную в результате заполнения файла с информацией.
recordfile=fileofdisk
Типизированный файл «recordfile
» содержит записи типа disk
, т.е. содержит исходную информацию о каждом DVD - фильме .
Описание файлов
При работе программа использует постоянный файл с информацией
Данная процедура осуществляет вывод данных записанных в файл.
Параметр dvdfile
– директория файла.
Алгоритм:
Привязываем к файловой переменной “f”
переменную dvdfile
и открываем на чтение. Если файл обнаружен, то в цикле, до тех пор, пока не достигнут конец файла, запускаем счётчик и выводим в ячейки таблицы данные из файла. Если счётчик равен нулю, следовательно, файл пустой, запускается процедура clearlist
.
В случае не обнаружения файла, он создаётся в необходимой директории.
Таблица 6. Локальные переменные.
Идентификатор
Тип
Назначение
s
disk
Запись
f1
recordfile
Файл с записями
count
integer
Номер по списку
procedure tform1.deletef (horizon:integer);
Данная процедура осуществляет удаление записи из фала.
Алгоритм:
В параметр d
передаётся введённая модель телефона.
Открываем на чтение основной файл “db_disk.db”
на чтение и создаём временный “new.db”
. Перезаписываем его.
До тех пор, пока не достигнут конец файла, читаем записи и если поле записи обозначающей имя не равно переменной “d”
, пишем во временный файл все наши записи. Удаляем основной файл и переприсваиваем его директорию временному файлу.
Таблица 7. Локальные переменные.
Идентификатор
Тип
Назначение
el
tdvd
Запись
f1
recordfile
Файл с записями
procedure tform1.sort_1(dvdfile: string);
procedure tform1.sort_2(dvdfile: string);
procedure tform1.sort_3(dvdfile: string);
procedure tform1.sort_4(dvdfile: string);
procedure tform1.sort_5(dvdfile: string);
Процедуры, перечисленные выше почти одинаковы различны только по полям сортировки Во всех процедурах используется алгоритм сортировки методом вставки. Параметр dvdfile
– директория файла.
Таблица 8. Локальные переменные.
Идентификатор
Тип
Назначение
f
file of disk
Типизированный файл с записями
q
file of disk
Типизированный файл с записями
c
integer
Счётчик записей
i
integer
Элемент массива
n
integer
Элемент массива
buf
disk
Запись
el
tdvd
Массив с записями
procedureTform1.editzap;
Данная процедура осуществляет редактирование данных записанных в файл.
Алгоритм
.
Открываем на чтение основной файл с информацией и в переменную nameзаносим название dvd, один из параметров которого нам необходимо заменить.
Пока нет конца файла, запускаем счётчик n
. Сравниваем введённое название, с имеющимися в dvd. При совпадении присваиваем переменной mзначение счётчика. Переменная m
будет отвечать за позицию записи в фале. Далее переменной newприсваиваем данные, которые надо записать в вместо исходных.
Переходим с помощью функции seek
на позицию m-1
, то есть над необходимой записью. Читаем из файла запись.
Затем в case comboBox3.ItemIndex
выбираем поле которое необходимо заменить и присваиваем ему значение переменной new
. Если параметр не символьный переводим переменную newв цифровой формат при помощи функции.
Перезаписываем запись в файле. Закрываем его и выводим на экран при помощи процедуры vivod
.
Таблица 9. Локальные переменные.
Идентификатор
Тип
Назначение
f1
recordfile
Временный файл с записями
q
disk
Запись
s
disk
Запись
new
string
Новые введённые данные
name
string
Введённое название dvd
procedure TForm1.FormCreate(Sender: TObject);
Данная процедура вызывается при создании окна и запускает процедуру nanol
. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
В данной процедуре осуществляется выбор и запуск необходимой процедуры сортировки, путём нажатия одного из пунктов выпадающего списка ComboBox
. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N8Click(Sender: TObject);
Данная процедура завершает работу программы из меню в случае положительного ответа на появляющееся сообщение. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N7Click(Sender: TObject)
;
Данная процедура выводит информацию из файла при помощи при помощи процедуры vivod
из меню. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N14Click(Sender: TObject);
procedure TForm1.N15Click(Sender: TObject);
procedure TForm1.N16Click(Sender: TObject);
procedure TForm1.N17Click(Sender: TObject);
procedure TForm1.N18Click(Sender: TObject);
Процедурыприведённыевышеотвечаютзазапускпроцедурсортировкиsort_1(derect+'db_disk.db'),sort_2(derect+'db_disk.db'), sort_3(derect+'db_disk.db')sort_4(derect+'db_disk.db'), sort_5(derect+'db_disk.db')
, изменю, соответственно. Процедуры содержат входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N5Click(Sender: TObject)
;
Данная процедура отвечает за запуск процедуры удаления deletef
и вывод обновлённой информации с помощью процедуры vivod
из меню. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N4Click(Sender: TObject)
;
Данная процедура отвечает за добавление информации в файл с помощью процедуры input
из меню. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N2Click(Sender: TObject)
;
Данная процедура запускает процедуру вывода vivod
, путём нажатия на необходимый пункт во всплывающем меню над областью таблицы. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N10Click(Sender: TObject);
procedure TForm1.N11Click(Sender: TObject);
procedure TForm1.N12Click(Sender: TObject);
procedure TForm1.freg1Click(Sender: TObject);
procedure TForm1.fcincom1Click(Sender: TObject);
Процедуры, приведенные выше, сходны по своему принципу. Каждая из них вызывает конкретную процедуру сортировки (sort_1,sort_2,sort_3,sort_4,sort_5
), путём нажатия на пункт, всплывающего меню над областью таблицы. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N9Click(Sender: TObject);
Данная процедура запускает процедуру очистки списка clearlist
, путём нажатия на необходимый пункт во всплывающем меню. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N23Click(Sender: TObject)
;
Данная процедура запускает процедуру очистки списка clearlist
, путём нажатия на необходимый пункт в меню. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N6Click(Sender: TObject);
Данная процедура запускает процедуру редактирования redactor
из меню. Процедура содержит входную переменную Sender
- тип tobject
, этот параметр определяет, какой объект программы вызывает данную процедуру.
procedure TForm1.N21Click(Sender: TObject);
Данная процедура отображает окно с информацией о программе.
procedure tform3.input(var f:recordfile; var dvdfile:string)
;
Данная процедура осуществляет запись данных в файл.
Привязываем к файловой переменной “g”
временный файл derect+'buffer.db'
и перезаписываем его. Привязываем к файловой переменной “f”
переменную dvdfile
и открываем на чтение.
Если в файле находится что-либо, копируем содержимое “f”
в “g”
и закрываем “f”
, если нет, перезаписываем и закрываем “f”
.
Присваиваем переменным записей введенные поля.
Проверяем наличие введённого dvd в файле, путем сравнения названия введённой диска с уже находящимися в файле в цикле достижения конца файла. Если поля равны, присваиваем переменной k
значение 1
, если нет, то оставляем по умолчанию равной нулю.
Далее проверяем значение переменой k
. Если k=1
, то выводится сообщение о том что данный диск существует и запись не осуществляется, если иначе, то происходит запись в файл.
В конце закрываем “g”
и удаляем “f”
. Переприсваиваем директорию dvdfile
переменной “g”
. И выводим обновлённый список с помощью процедуры vivod
.
Таблица 10. Локальные переменные.
Идентификатор
Тип
Назначение
s
disk
Запись
q
disk
Запись
procedure tform1.search_1(dvdfile:string; var g:recordfile);
procedure tform1.search_2(dvdfile :string; var g:recordfile);
procedure tform1.search_3(dvdfile:string; var g:recordfile);
procedure tform1.search_4(dvdfile:string; var g:recordfile);
procedure tform1.search_5(dvdfile:string; var g:recordfile);
Процедуры, приведены выше, почти одинаковы и различается лишь поле, по которому происходит поиск. Во всех процедурах, кроме второй, на экран выводится только те записи, поля которых полностью совпадают, с введёнными нами данными. В третьей, четвёртой и пятой процедурах список выводится отсортированным по названию модели. Параметр “g”
– типизированный файл типа recordfile
. Параметр dvdfile
– директория файла.
procedure TForm1.Button4Click(Sender: TObject)
;
Данная процедура отвечает за функцию изменения информации. При нажатии на кнопку курсором вызывается процедура editzap
.
procedureTForm1.Button7Click(Sender: TObject);
Данная процедура закрывает полностью программу. При нажатии на кнопку отображается окно подтверждения.
Расчёт объёма оперативной памяти
Для определения потребляемой памяти, я использовал стандартный диспетчер задач Windows. Исходя из данных показанных в нём, в процессе работы программа максимально потребляет 5000 кб.
Интерфейс программы
При запуске программы появляется окно, с дружественным интерфейсом рис. 1. Все операции выполняются в данном окне. При вызове информации о программе в пункте меню появляется окно, содержащее необходимую информацию рис. 2. Функция добавления изображена на рис. 3. Функция поиска изображена на рис. 4.
Рисунок 1. Главное окно
Рисунок 2.. Информация о программе.
Рисунок 3. Окно добавления новой информации.
Рисунок 4. Окно поиска информации
Граф перехода между элементами интерфейса.
Вход
Главное окно
Редактирование
Вывод Удаление
списка
О программе Добавление Поиск
Рисунок 5. Граф перехода между элементами интерфейса.
Минимальные системные требования
1.Процессор: 170 MHz;
2. Оперативная память: 5000kb;
3. Физическая память на жестком диске: 1400MB свободного места;
4. Видеокарта с поддержкой VGA;
5. Устройства ввода/вывода данных: клавиатура, монитор, мышь.
Программа «личная видеотека» очень проста в использовании и использует очень мало ресурсов. Работает почти на любой операционной системе и на любом компьютере. Программа многофункциональна. Занесенную информацию о DVD– фильмах можно изменять, удалять и редактировать. Информация о дисках записывается в базу данных по пяти полям: название диска, цена, год выпуска, фамилия режиссера, кинокомпания, которая создавала фильм. Также можно сортировать диски по этим же полям, она написана на русском языке. Процесс создания этого приложения в Delphiучит работать с процедурами, с записями и с циклами.
Очень простой интерфейс позволяет работать в программе даже ребенку, и старшему поколению, которому очень трудно обращаться с новыми технологиями, в том числе и компьютерами.
поименованная, целостная, единая система данных, организованная по определенным правилам, которые предусматривают общие принципы описания, хранения и обработки данных
2
Банк данных
база данных, объединенная с системой управления базой данных
3
Данные
последовательность элементарных символов, цифр или букв, являющихся значением некоторого атрибута
4
Логическое проектирование баз данных
процесс конструирования общей информационной модели предприятия на основе отдельных моделей данных пользователей, которая является независимой от особенностей реально используемой СУБД и других физических условий
5
Сетевая схема
логическая организация всей базы данных в целом (с точки зрения администратора базы данных), которая включает определение имени базы данных, типа каждой записи и компонентов записей каждого типа
6
Система управления базами данных
специальный комплекс программ, осуществляющий централизованное управление базой данных
7
Подсхема
часть базы данных, как она видится пользователям или приложениям
8
Информация
любые сведения о каком-либо событии, процессе и т.п., являющиеся объектом некоторых операций: восприятия, передачи, преобразования, хранения и использования
9
Централизованная база данных
база данных, хранящаяся в памяти одной вычислительной системы
10
Распределенная база данных
состоит из нескольких, возможно, пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети
11
Хранимая процедура
это программа, которая обрабатывает участок базы данных и хранится в базе данных.