Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


База данных Личная библиотека на языке программирования Turbo Pascal

Тип Реферат
Предмет Информатика
Просмотров
1103
Размер файла
35 б
Поделиться

Ознакомительный фрагмент работы:

База данных Личная библиотека на языке программирования Turbo Pascal

Министерство культуры Российской Федерации

Восточно-Сибирская государственная академия культуры и искусств

Институт информационных технологий, экономики и управления

Кафедра информационно-коммуникационных технологий

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

Тема: База данных «Личная библиотека»

на языке программирования Turbo Pascal

Научный руководитель: А.В. Урбаханов

Выполнила: студентка 1 курса гр. 413

Н.А. Федорова

Улан-Удэ

2008

Содержание

Заданиенавыполнениекурсовойработы

Введение

Теоретические основы. Записи. Файлы

Основное меню программы

Описание процедур

Листинг программы

Заключение

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


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

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

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

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

При создании этой программы стояли следующие цели:

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

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

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

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

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


Введение

Современная вычислительная техника позволяет решать большое количество различных задач. Пожалуй, наиболее важным применением ЭВМ стало хранение информации. Удобные и разнообразные средства для этой цели предоставляют технологии баз данных. Целью данной курсовой работы является приобретение опыта алгоритмизации, конструирования, практической реализации программ и широкого применения ЭВМ, на примере программирования базы данных «Личная библиотека». В качестве языка программирования выбран язык TURBOPASCAL, изучаемый на занятиях по дисциплине “Информатика и программирование”. Этот язык позволяет наилучшим образом реализовать алгоритм работы программы, а также поможет создать удобный интерфейс программы, что играет важную роль в данной курсовой работе.

Теоретические основы

Записи

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

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 – запись в указанный файл строки с переходом на следующую строку.

Основное меню программы

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

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

После ввода данных в любой из команд нажать <Enter>.

В меню данной программы присутствует восемь пунктов:

1 - Создание нового файла – создается новый файл с именем задаваемым пользователем программы.

2 - Добавление записи – создание новой записи в файле, добавляя его в конец файла.

3 - Редактирование записи в файле – производится корректировка ранее введенной записи.

4 - Просмотр содержимого файла – на экран поочередно выдаются ранее созданные записи в виде:

инвентарный номер;

автор книги;

наименование книги;

год издания;

наименование издательства;

место издания;

5 - Удаление записи из файла – Производится удаление записи из файла по инвентарному номеру книги.

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

7 - Поиск по имени автора - Позволяет находить данные о книге по имени автора.

8 - Выход из программы.

Рис. 1 Основное окно меню

Для того чтобы создать базу данных, пользователю необходимо нажать пункт «Создание файла» в главном меню с помощью «Еnter», после этого появится следующая строка: «Задайте имя файла, который будет создаваться».

Далее через «Еnter» вводятся данные.

Описание процедур.

В данной программе для создания меню были использованы следующие процедуры:

Creatfile– создание нового файла в библиотеке. Вводится количество книг и их данные.

Addrecord– добавление записи в файл. Создание новой записи в файле, добавляя ее в конецфайла.

Inputfile– ввод данных в файл.

Redzap– редактирование записи в файле. Корректировка введенных данных.

Openfile, Outputfile- Просмотр содержимого файла.

Clearfile– удаление записи из файла.

P_Nom– поиск по инвентарному номеру.

P_Name– поиск по имени автора.

Exit– выход из программы.


Листинг программы

Program Biblioteka;

UsesCrt, 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;

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

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

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;

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

ProcedureClearfile; {удаление записи из файла}

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;

{Основная часть программы}

ProcedureP_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;

ProcedureP_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.


Заключение

При написании данной курсовой работы были выполнены поставленные цели по написанию базы данных «Личная библиотека»:

· Поиск информации для написания курсовой в различных источниках;

· Изучить материал по поставленной задаче;

· Изучение языка программирования TurboPascal;

· Написание программы;

· Тестирование программы.

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

Каковы её плюсы: простота и понятность интерфейса программы, что не требует дополнительного обучения или прохождения специальных курсов; нетребовательность к системным ресурсам машины; легкость ввода и отслеживания, что немаловажно для такой программы. При написании и разработке курсового проекта были закреплены знания по работе с Borland Pascal и получены навыки использования справки и других функций языка Pascal.

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


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

1. Абрамов В.Г., Н.П.Трифонов, Г.Н.Трифонова, Введение в язык Паскаль, М., "Наука",1988.

2. Белецкий Ян, «Турбо Паскаль для IBM» , М., Машиностроение, 1991;

3. Епанешников А.М., Епанешников В.А. Программирование в среде TURBOPASCAL 7.0 Москва Диалог-МИФИ, 1996г.

4. Красильников Ю.П., Курилов И.Д., Никонов М.А. Программирование на ТУРБО ПАСКАЛЬ 5.5 Москва Диалог-МИФИ, 1993г.

5. Липаев В.В. «Проектирование программных средств»: Учеб. пособие. М. «Высшая школа» 1990г.

6. Луговая И.З., Л.Н. Чернышов, С.М.Юдин. Динамические структуры данных языка Паскаль, М., Издательство МАИ

7. Машбиц Е.И., И.А. Белоголов и др.; Под общ. ред. А.А. Стогния «Обработка данных с помощью компьютера»: Учеб. пособие. - К.: Высшая школа, 1991.

8. Немнюгин С.А., «Турбо Паскаль», СПб., Питер, 2000.

9. Перминов О.Н., «Программирование на языке ПАСКАЛЬ», М., Радио и Связь, 1988;

10. Фаронов В.В., «Турбо Паскаль. Начальный курс». Учебное пособие, М., Нолидж, 1997;


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

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

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

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

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно