База данных «Библиотека»

Автор работы: Пользователь скрыл имя, 25 Февраля 2015 в 21:56, курсовая работа

Описание работы

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

Содержание работы

Введение…………………………………………………………………….3
Задачи курсовой работы……………………………………………..……….5
1. Разработка программы…………………….…………….……………....6
1.1. Модель и метод решения задачи…………….….…………...6
1.2. Описание структуры данных……………..…….……….…...6
1.3. Алгоритмы решения задачи……………….…………..…….7
2. Руководство программиста………………………………...….………..8
3. Руководство пользователя………………………………..……………..9
4. Результаты тестирования программы……………………..………….10
Заключение………………………………………………………..………11
Список литературы………………………………………………..……...12

Файлы: 1 файл

KURSACh(1).doc

— 273.50 Кб (Скачать файл)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

 «АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ  УНИВЕРСИТЕТ»

Колледж Алтайского государственного университета

Отделение экономики и информационных технологий

 

КУРСОВАЯ  РАБОТА 
по дисциплине «Основы алгоритмизации и программирования»

ТЕМА: База данных «Библиотека»

 

Выполнил студент

2 курса 222-сп группы

Вяткин Е.Д.

_______________________

(подпись)

Научный руководитель:

Преподаватель

Гуляева К.Г.

_______________________

(подпись)

Работа защищена

«___»______________ 20__г.

Оценка _________________

________________________

(подпись)


 

Барнаул  2014

 

Содержание

Введение…………………………………………………………………….3

Задачи курсовой работы……………………………………………..……….5

1. Разработка программы…………………….…………….……………....6

              1.1. Модель и метод решения задачи…………….….…………...6

              1.2. Описание структуры данных……………..…….……….…...6

              1.3. Алгоритмы решения задачи……………….…………..…….7

2. Руководство программиста………………………………...….………..8

3. Руководство пользователя………………………………..……………..9

4. Результаты тестирования программы……………………..………….10

Заключение………………………………………………………..………11

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

Приложение А: Листинг программы …….………………………..……13

Приложение В: Экранные копии основных этапов выполнения

программы………………………………………………..……………….15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

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

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

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

В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются. Имя поля должно быть уникальным в пределах записи. Объём памяти, необходимый для хранения записи, складывается из длин полей.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задачи курсовой работы

Необходимо составить базу данных «Личная библиотека» на языке программирования TURBO PASCAL.

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

Так же при создании этой программы стояли следующие задачи:

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

-Программа должна иметь малую  ресурсоёмкость.

-Приобретение и закрепление навыков в организации вычислительных процессов и программирования на алгоритмическом языке ПАСКАЛЬ.

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

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

1.1. Модель и метод решения задачи

Первичной задачей является создание главного меню. В данной программе меню состоит из 8 следующих пунктов:

  1. Создание файла;
  2. Добавить запись в файл;
  3. Редактировать запись;
  4. Просмотр записи;
  5. Удаление записи;
  6. Поиск по номеру книги;
  7. Поиск по имени автора;
  8. Выход.

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

 

1.2. Описание структуры данных 

Тип данных / значение записи:

  1. Type Bibl=record - описание типа 
  2. Inv_nomer:integer  – Инвентаризационный номер книги
  3. Name_author:string[50] – Имя автора
  4. Naim_knigi:string[20] – Название книги
  5. God_izd:string[20] – Год издания
  6. Mesto_izd:string[20] – Место издания
  7. Naim_izd:string[20] – Наименование издания

1.2. Алгоритм решения задачи

Алгоритм программы, представленный в общем виде, выглядит так:

 

 

2. Руководство программиста

Исполняемый файл – «Biblio.EXE». Этот файл имеет объем 14KB и работает в среде DOS. Программа совместима с ОС Windows 9X (3.11, 95, 98, ME), а также с некоторыми ОС Windows NT (2000, XP, 7).

 

В программе используется восемь процедур, перечисленных ниже:

    1. Procedure menu(var z:integer) – выводит на экран главное меню, и возвращает значение Z , выбранный пользователем режим работы;
    2. Procedure menu2(var n:integer) - выводит на экран  дополнительное меню, и  возвращает  значение N , выбранный пользователем режим работы;
    3. Procedure poisk(var n:integer; var F:file_baz;s:string) –производит поиск записи по заданному критерию N.
    4. Procedure prosm_bd(var F:file_baz;s:string) – просмотр базы данных.
    5. Procedure append_bd(var F:file_baz;s:string) – добавление записи в базу.
    6. Procedure del_bd(var n:integer;var F:file_baz;s:string) – удаление из базы записи по заданному критерию N.
    7. Procedure red_baz(var n:integer;var F:file_baz;s:string) – редактирование  записей  по критерию N.

 

 

 

 

 

 

3. Руководство   пользователя

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

Перед вами появится окно программы. В окне которого вы увидите главное меню.

Рисунок 1. Главное меню

 

Для выборов пунктов меню используется клавиши клавиатуры:

    1. Создание файла – цифра 1;
    2. Добавления новой записи в файл – цифра 2;
    3. Редактирование  записи в файле – цифра 3;
    4. Просмотр файла – цифра 4;
    5. Удаление записи из файла – цифра 5;
    6. Поиск по инвентарному номеру киги – цифра 6;
    7. Поиск по имени автора – цифра 7;
    8. Выход из программы – цифра 8.

 

 

 

4. Результаты тестирования программы

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

  1. При отработке Основного (или нормального) теста, с помощью которого анализ программы осуществляется по данным из области их допустимых значений, в программе не обнаружено сбоев или ошибок.
  2. При отработке Вырожденного теста, затрагивающего работу основных функций программы и обеспечивающего получение очевидного упрощённого результата, не обнаружено сбоев или ошибок.

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

 

 

 

 

 

 

Заключение

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

  1. Фаронов В. Turbo Pascal 7.0. Начальный курс. «ОМД Групп», 2009;
  2. Фаронов В. Turbo Pascal в подлиннике. М., «Нолидж», 2007;
  3. Н. Вирт Алгоритмы и структуры данных. М., «МИР», 1989;
  4. Н.Вирт. Алгоритмы + структуры данных = программы. М., «МИР», 2000;
  5. Шпак Ю.А. Turbo Pascal 7.0 на примерах. Киев, «Юниор», 2003;
  6. Гусева А.И. Учимся программировать: Pascal 7.0. М.: «Диалог-Мифи», 1998;
  7. Епанешников A.M., Епанешников В.А. «Программирование в среде Turbo Pascal 7.0». Издание третье, стереотипное. М.: «Диалог-Мифи», 1996;
  8. Кнут Д. «Искусство программирования на ЭВМ». М.: «МИР», 2006
  9. Пильщиков В.Н. Сборник упражнений по языку Паскаль. М., «Наука», «Программирование в среде Турбо Паскаль» (версия 5.5). 1989.
  10.   Красильников Ю.П., Курилов И.Д., Никонов М.А. Программирование на ТУРБО ПАСКАЛЬ 5.5 Москва Диалог-МИФИ, 1993г.
  11. Липаев В.В. «Проектирование программных средств»: Учеб. пособие. М. «Высшая школа» 1990г.
  12. Луговая И.З., Л.Н. Чернышов, С.М.Юдин. Динамические структуры данных языка Паскаль, М., Издательство МАИ
  13. Машбиц Е.И., И.А. Белоголов и др.; Под общ. ред. А.А. Стогния «Обработка данных с помощью компьютера»: Учеб. пособие. - К.: Высшая школа, 2001.

 

 

Приложение A: Экранные копии основных этапов выполнения программы

 

Рисунок 2. Меню.

Рисунок 3.Создание файла.

Рисунок 4. Вывод данных о книге.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение Б: Код программы

{**************************************************************}

{  Курсовая работа по дисциплине: «Основы алгоритмизации и языки программирования    }

{    Выполнил: студент группы 222-сп, Вяткин Е.Д.   }

{     . Версия под DOS.}

{*************************************************************}

Program Biblioteka;

Uses Crt, Dos; {подключение модулей}

Type Bibl=record {описание типа }

Inv_nomer:integer;

Name_author:string[50];

Naim_knigi:string[20];

God_izd:string[20];

Mesto_izd:string[20];

Naim_izd:string[20];

end;

Var f:file of Bibl;

zn, filename:string;

t,k:integer;

s:string;

 

{--------------------------------------}

Procedure Creatfile; {создание файла}

begin

ClrScr;

window(6,3,80,50);

textbackground(9);

clrscr;

window(22,10,57,17);

textbackground(5);

clrscr;

textcolor(yellow);

Writeln('Задайте имя файла');

Readln(filename);

Assign(f,filename); {связь с внешним файлом}

Rewrite(f);{открытие  нового файла для записи}

end;

{--------------------------------------}

Procedure Addrecord; {добавление записи в файл}

Var

rez:integer; kn:char;

begin

while rez <> 0 do

begin

window(6,3,80,50);

textbackground(9);

clrscr;

window(16,10,60,12);

textbackground(5);

clrscr;

textcolor(yellow);

Writeln(' Задайте имя файла, куда добавить запись');

Readln(filename);

Assign(f,filename); {установка связи}

Reset(f);

rez:=IOResult;

If rez <> 1 then

begin

Writeln ('Проверьте  правильность имени файла! (Y/N)');

Readln(kn);

If (kn='n') or (kn='N') then halt(0);

end;

end;

seek(f,filesize(f));

end;

{----------------------------------------}

Procedure Inputfile; {ввод данных в файл}

Var

st:Bibl;

k:char;

begin

ClrScr;

window(6,3,80,50);

textbackground(9);

clrscr;

window(22,10,57,17);

textbackground(5);

clrscr;

textcolor(yellow);

Repeat

Writeln('Введите  данные о новой книге:');

ClrScr;

Write('Инвентарный  номер книги:');

Readln(st.Inv_nomer);

Write('Имя автора:');

Readln(st.Name_author);

Write('Наименование книги:');

Readln(st.naim_knigi);

Write('Год издания:');

Readln(st.god_izd);

Write('Наименование  издательства:');

Readln(st.Naim_izd);

Write('Место издания:');

Readln(st.Mesto_izd);

Write(f,st);

Write('Ввести данные о новой книге? (Y/N)');

Readln(k);

Writeln;

Until (k='n') or (k='N');

Close(f);

end;

{-----------------------------------------}

Procedure Redzap; {редактирование записи}

Var

st:Bibl;

filename:string[20];

st2:integer;

Inv_nomer2:integer;

Name_author2:string[20];

Naim_knigi2:string[20];

God_izd2:string[20];

Naim_izd2:string[20];

Mesto_izd2:string[30];

x:integer;

begin

ClrScr;

window(6,3,80,50);

textbackground(9);

clrscr;

window(22,10,57,17);

textbackground(5);

clrscr;

textcolor(yellow);

Writeln('Задайте имя файла');

Информация о работе База данных «Библиотека»