Составление базы данных "Библиотека" на языке программирования Turbo Pascal
Создание программы для обработки, сортировки и изменения информации о книгах. Составление базы данных "Библиотека" на языке программирования Turbo Pascal. Поиск информации по инвентарному номеру книги и имени автора. Описание процедур и листинг программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.01.2012 |
Размер файла | 24,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Задание на выполнение курсовой работы
Введение
1. Теоретические основы. Записи. Файлы
2. Основное меню программы
3. Описание процедур
4. Листинг программы
Заключение
Список использованной литературы
задание на выполнение курсовой работы
Необходимо составить базу данных "Библиотека" на языке программирования TURBO PASCAL.
Картотека домашней библиотеки: выходные данные книги (инвентарный номер, автор, издательство, год издания), разделы библиотеки: учебная и справочная литература, художественная литература, домашнее хозяйство, непознанное.
В базе должно быть создано меню. Должен производиться поиск информации: по инвентарному номеру книги, по имени автора. Удаление должно производиться по инвентарному номеру.
При создании этой программы стояли следующие цели:
Написать программу, которая позволила бы обрабатывать, сортировать и изменять информацию о книгах. Так же при создании этой программы стояли следующие задачи:
- Данная программа должна иметь простой и удобный пользовательский интерфейс.
- Программа должна иметь малую ресурсоёмкость.
- Приобретение и закрепление навыков в организации вычислительных процессов и программирования на алгоритмическом языке ПАСКАЛЬ.
Основной акцент в работе уделяется работе с файлами, подробно рассматриваются функции открытия и закрытия файла. Полученные знания помогут в будущем более эффективно подходить к процессу разработки программного обеспечения.
Введение
Современная вычислительная техника позволяет решать большое количество различных задач. Пожалуй, наиболее важным применением ЭВМ стало хранение информации. Удобные и разнообразные средства для этой цели предоставляют технологии баз данных. Целью данной курсовой работы является приобретение опыта алгоритмизации, конструирования, практической реализации программ и широкого применения ЭВМ, на примере программирования базы данных "Библиотека". В качестве языка программирования выбран язык TURBO PASCAL, изучаемый на занятиях по дисциплине "Информатика и программирование". Этот язык позволяет наилучшим образом реализовать алгоритм работы программы, а также поможет создать удобный интерфейс программы, что играет важную роль в данной курсовой работе.
1. Теоретические основы
Записи
Запись - это структура данных, состоящая из фиксированного числа элементов одного или нескольких типов. Как правило, запись состоит из нескольких полей. В одном поле данные имеют один и тот же тип, а в разных полях могут иметь разные типы.
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;
Файлы
Слово "файл" в языке Pascal употребляется для объектов, состоящих из компонент одного и того же типа. В любой момент времени непосредственно доступна (для чтения и записи) только одна компонента, другие становятся доступными по мере продвижения по файлу. Таким образом, чтобы прочитать элемент файла, необходимо просмотреть все элементы, стоящие до него. Такие файлы называются файлами последовательного доступа или последовательными файлами. Длина файла не фиксируется и может меняться в процессе выполнения программы.
Файловый тип в Pascal - это единственный тип значений, посредством которого данные, обрабатываемые программой, могут быть получены извне, а результаты переданы во внешний мир. В Pascal файловый тип задается следующим образом:
type T = TValue;{тип компоненты файла}
< имя файлового типа > = file of T; или packed file of T;
Для доступа к отдельным элементам файла в Pascal введены специальные процедуры.
Для работы с файлами мною были использованы следующие функции:
Ш Assign - функция, ассоциирующая имя файла с некоторой переменной, с которой идет последующая работа.
Ш Reset - функция, открывающая уже существующий файл для чтения из него.
Ш Rewrite - функция, создающая новый файл или перезаписывающая старый.
Ш Read - чтение из указанного файла строки с переходом на следующую строку.
Ш Write - запись в указанный файл строки с переходом на следующую строку.
2. Основное меню программы
Для упрощения работы с меню базы данных была создана процедура меню, которая упрощает выбор пунктов с помощью клавиш перемещения курсора.
Системное меню или основное меню должно обеспечивать удобное взаимодействие пользователя с программой. В меню должны войти пункты сохранения, просмотра, редактирования, ввода новых данных и.т.д. Пользователю нужно всего лишь выбрать соответствующий пункт меню и нажать кнопку "Enter".
После ввода данных в любой из команд нажать <Enter>.
В меню данной программы присутствует восемь пунктов:
1 - Создание нового файла - создается новый файл с именем задаваемым пользователем программы.
2 - Добавление записи - создание новой записи в файле, добавляя его в конец файла.
3 - Редактирование записи в файле - производится корректировка ранее введенной записи.
4 - Просмотр содержимого файла - на экран поочередно выдаются ранее созданные записи в виде:
инвентарный номер;
автор книги;
наименование книги;
год издания;
наименование издательства;
место издания;
5 - Удаление записи из файла - Производится удаление записи из файла по инвентарному номеру книги.
6 - Поиск по инвентарному номеру книги - Позволяет находить данные о книге по инвентарному номеру.
7 - Поиск по имени автора - Позволяет находить данные о книге по имени автора.
8 - Выход из программы.
Для того чтобы создать базу данных, пользователю необходимо нажать пункт "Создание файла" в главном меню с помощью "Еnter", после этого появится следующая строка: "Задайте имя файла, который будет создаваться". Далее через "Еnter" вводятся данные.
3. Описание процедур
В данной программе для создания меню были использованы следующие процедуры:
Creatfile - создание нового файла в библиотеке. Вводится количество книг и их данные.
Addrecord - добавление записи в файл. Создание новой записи в файле, добавляя ее в конец файла.
Inputfile - ввод данных в файл.
Redzap - редактирование записи в файле. Корректировка введенных данных.
Openfile, Outputfile - Просмотр содержимого файла.
Clearfile - удаление записи из файла.
P_Nom - поиск по инвентарному номеру.
P_Name - поиск по имени автора.
Exit - выход из программы.
программа библиотека pascal листинг
4. Листинг программы
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('Задайте имя файла');
Readln(filename);
Assign(f,filename);
Reset(f);
With st do
begin
ClrScr;
Write('Введите инвентарный номер книги:');
Readln(st2);
x:=0;
While not eof(f) do
begin
Read(f,st);
if st.Inv_nomer=st2 then
begin
ClrScr;
textcolor(yellow);
Writeln('Введите новые данные о книге:');
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);
Inv_nomer2:=Inv_nomer;
Name_author2:=Name_author;
Naim_knigi2:=Naim_knigi;
God_izd2:=God_izd;
Naim_izd2:=Naim_izd;
Mesto_izd2:=Mesto_izd;
seek(f,filepos(f)-1);
Write(f,st); x:=1;
end;
end;
Close(f);
end;
if x=0 then
Begin
ClrScr;
Writeln('Записи с таким номером нет!');
Readln
end;
end;
{-----------------------------------------}
Procedure Openfile; {процедура открытия файла}
Var
rez:integer; kn:char;
Begin
While rez<>0 do
begin
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(22,10,57,11);
textbackground(5);
clrscr;
textcolor(yellow);
Write('Задайте имя файла:');
Readln(filename);
Assign(f,filename);
Reset(f);
rez:=IOResult;
end;
end;
{-------------------------------------}
Procedure Outputfile; {вывод данных из файла}
Var st:Bibl;
Begin
While not eof(f) do
Begin
Read(f,st);
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(22,5,57,17);
textbackground(5);
clrscr;
textcolor(yellow);
Writeln('Инвентарный номер книги:',st.Inv_nomer);
Writeln('Имя автора:',st.Name_author);
Writeln('Наименование книги:',st.Naim_knigi);
Writeln('Год издания:',st.God_izd);
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.Mesto_izd);
Writeln('Для продолжения нажмите (Enter)');
Readln;
end;
Close(f);
end;
{--------------------------------------}
Procedure Clearfile; {удаление записи из файла}
Var st:Bibl;
I_N:integer;
fo:file of Bibl;
begin
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(16,10,65,12);
textbackground(5);
clrscr;
textcolor(yellow);
Writeln('Задайте имя файла, из которого удаляются элементы');
Readln(filename);
Assign(f,filename);
Reset(f);
Assign(fo,'newfile.dat');
Rewrite(fo);
ClrScr;
window(16,10,71,13);
Writeln('Введите номер книги, запись о которой удаляется');
Readln(I_N);
While not eof(f) do
begin
read(f,st);
if st.Inv_nomer<>I_N then
Write(fo,st);
end;
Close(f);
Close(fo);
Erase(f);
Rename(fo,filename);
end;
{Основная часть программы}
Procedure P_Nom; {поиск по номеру}
var PNo:integer; st:Bibl;
begin
clrscr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(19,5,61,17);
textbackground(5);
clrscr;
textcolor(yellow);
write ('Введите инвентарный номер книги: ');
readln(PNo);
clrscr;
while not eof(f) do begin
read(f,st);
if PNo=st.Inv_nomer then begin
Writeln('Инвентарный номер книги:',st.Inv_nomer);
Writeln('Имя автора:',st.Name_author);
Writeln('Наименование книги:',st.Naim_knigi);
Writeln('Год издания:',st.God_izd);
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.Mesto_izd);end;
if PNo<> st.Inv_nomer then
Writeln('Книг с таким номером нет!');
Writeln('Нажмите <Enter> для выхода ');
readln; end;
close(f);
end;
Procedure P_Name; {поиск по имени автора}
var PN:string[15]; st:Bibl;
begin
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(19,5,61,17);
textbackground(5);
clrscr;
textcolor(yellow);
writeln('Введите полное имя автора: ');
readln(PN);
clrscr;
while not eof(f) do
read(f,st);
if PN=st.Name_author then begin
Writeln('Инвентарный номер:',st.Inv_nomer);
Writeln('Имя автора:',st.Name_author);
Writeln('Наименование книги:',st.Naim_knigi);
Writeln('Год издания:',st.God_izd);
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.Mesto_izd);
end;
if PN<> st.Name_author then
writeln('Авторов с таким именем нет!');
writeln('Нажмите <Enter> для выхода ');
readln;
close(f);
end;
Begin
ClrScr; {создание меню}
window(6,3,80,50);
textbackground(9);
clrscr;
window(20,7,58,19);
textbackground(5);
clrscr;
textcolor(green);
Writeln( ' Меню:');
textcolor(yellow);
Writeln('1:Создание файла');
Writeln('2:Добавление записи в файл');
Writeln('3:Редактирование записи в файле');
Writeln('4:Просмотр файла ');
Writeln('5:Удаление записи из файла');
Writeln('6:Поиск по инвентарному номеру книги');
Writeln('7:Поиск по имени автора');
Writeln('8:Выход из программы');
Readln(k);
Case k of
1: begin Creatfile; Inputfile end;
2:begin Addrecord; Inputfile end;
3: redzap;
4:begin Openfile; Outputfile end;
5:Clearfile;
6:begin Openfile; P_Nom end;
7:begin Openfile; P_Name end;
8:Exit
end;
End.
Заключение
При написании данной курсовой работы были выполнены поставленные цели по написанию базы данных "Личная библиотека":
· Поиск информации для написания курсовой в различных источниках;
· Изучить материал по поставленной задаче;
· Изучение языка программирования Turbo Pascal;
· Написание программы;
· Тестирование программы.
В данной курсовой работе были рассмотрены все поставленные задачи и обсуждены общие принципы создания баз данных и их реализации на языке программирования Паскаль.
Каковы её плюсы: простота и понятность интерфейса программы, что не требует дополнительного обучения или прохождения специальных курсов; нетребовательность к системным ресурсам машины; легкость ввода и отслеживания, что немаловажно для такой программы. При написании и разработке курсового проекта были закреплены знания по работе с Borland Pascal и получены навыки использования справки и других функций языка Pascal.
Проделанная работа позволяет любому пользователю с легкостью создавать большие объемы информации, обрабатывать их, редактировать, делать выборки по определенным критериям и т.д. Использование такой программы значительно облегчает деятельность человека.
Список использованной литературы
1. Абрамов В.Г., Н.П.Трифонов, Г.Н.Трифонова, Введение в язык Паскаль, М., "Наука",1988.
2. Белецкий Ян, "Турбо Паскаль для IBM" , М., Машиностроение, 1991;
3. Епанешников А.М., Епанешников В.А. Программирование в среде TURBO PASCAL 7.0 Москва Диалог-МИФИ, 1996г.
4. Красильников Ю.П., Курилов И.Д., Никонов М.А. Программирование на ТУРБО ПАСКАЛЬ 5.5 Москва Диалог-МИФИ, 1993г.
5. Липаев В.В. "Проектирование программных средств": Учеб. пособие. М. "Высшая школа" 1990г.
6. Луговая И.З., Л.Н. Чернышов, С.М.Юдин. Динамические структуры данных языка Паскаль, М., Издательство МАИ
7. Машбиц Е.И., И.А. Белоголов и др.; Под общ. ред. А.А. Стогния "Обработка данных с помощью компьютера": Учеб. пособие. - К.: Высшая школа, 1991.
8. Немнюгин С.А., "Турбо Паскаль", СПб., Питер, 2000.
9. Перминов О.Н., "Программирование на языке ПАСКАЛЬ", М., Радио и Связь, 1988;
10. Фаронов В.В., "Турбо Паскаль. Начальный курс". Учебное пособие, М., Нолидж, 1997;
Размещено на Allbest.ru
Подобные документы
Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.
курсовая работа [359,0 K], добавлен 23.05.2012История создания и развитие Pascal. Особенности пакета программирования Turbo. его возможности редактора текстов, компилятора и отладчика. Построения программы на языке Turbo Pascal, ее структура, типы алгоритмов, одномерные и многомерные массивы.
курсовая работа [519,3 K], добавлен 25.06.2011Разработка программы, создающей и управляющей базой данных, ее реализация на языке Turbo Pascal. Организация алгоритма программы. Вывод информации и возможность добавления информации в базу данных. Поиск информации в базе данных по заданному значению.
курсовая работа [26,7 K], добавлен 19.06.2010Создание программы для обработки структуры данных. Возможность ввода и записи данных на персональном компьютере. Прикладное программирование на языке Turbo Pascal. Свободное редактирование записанных данных с помощью программы, написанной на Turbo Pascal.
лабораторная работа [11,4 K], добавлен 13.05.2011Разработка алгоритма поставленной задачи по обработке числовой информации в среде Turbo Pascal 7.0 с базовым языком программирования Pascal, отладка программы, реализующей разработанный алгоритм. Описание структуры программы, ее вспомогательных процедур.
курсовая работа [668,0 K], добавлен 25.02.2010При помощи Turbo Pascal достаточно не просто создать программу, которая бы демонстрировала работу с базами данных. Для этого существует огромное количество специализированных программ. Основа и сущность формирования базы данных при помощи Turbo Pascal.
курсовая работа [479,7 K], добавлен 04.07.2008История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.
курсовая работа [102,7 K], добавлен 23.12.2011Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.
курсовая работа [198,1 K], добавлен 03.02.2010Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя.
курсовая работа [1,5 M], добавлен 17.03.2014Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.
курсовая работа [275,8 K], добавлен 28.06.2008