Автор работы: Пользователь скрыл имя, 06 Июня 2013 в 16:27, курсовая работа
Цель курсовой работы – разработать программу в среде Паскаль, которая может осуществлять ввод и поиск данных, то есть создать элементарную базу данных.
Курсовая работа состоит из трех глав.
В первой главе рассматривается: история возникновения баз данных, основные понятия базы данных, классификация баз данных, организация баз данных.
Во второй главе описывается история развития языка программирования Паскаль, а также описываются операторы и типы данных, использующиеся при создании программы для работы с базами данных.
ВВЕДЕНИЕ 3
1. ВВЕДЕНИЕ В БАЗЫ ДАННЫХ 4
1.1 История возникновения и развития технологий создания баз данных 4
1.2 Понятие базы данных 5
1.3 Классификация баз данных 5
1.4 Организация базы данных 6
2. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ 8
2.1 История развития языка Паскаль 8
2.2 Операторы, используемые для создания базы данных 10
3. РАЗРАБОТКА БАЗЫ ДАННЫХ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ 21
3.1 Подготовка исходных данных 21
3.2 Написание программы 22
3.3 Тестирование программы 25
ЗАКЛЮЧЕНИЕ 29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 30
ПРИЛОЖЕНИЕ А 31
ПРИЛОЖЕНИЕ B 32
Для написания курсовой работы был выбран язык программирования Паскаль, точнее его более новая версия Паскаль АВС.
Для удобства использования базы данных «Телефонный справочник» было написано 2 программы: вспомогательная и основная. Вспомогательная программа написана для занесения данных об абонентах в БД «Телефонный справочник». Основная программа написана непосредственно для поиска по «справочнику».
Первоначально рекомендуется создать запись z, а в этой записи семь полей с именами. Данные, вводимые пользователем, будут присвоены следующим переменным:
Fam – данное поле будет содержать фамилию;
I – данное поле будет содержать имя;
O – данное поле будет содержать отчество;
yl – данное поле будет содержать название улицы;
d - данное поле будет содержать номер дома;
kv – данное поле будет содержать номер квартиры;
telnomer - данное поле будет содержать телефонный номер.
Далее следует создать переменные:
F:file of z; – файлового типа, для работы с файлами данных;
tel:array[1..100] of z; – массив от 1 до 100 типа z, данный массив будет необходим для организации сортировки записей;
i:integer; – счетчик, используется для циклов.
Для того, чтобы выполнение программы открылось в отдельном окне, в Паскале АВС имеется команда:
clrscr; - работает совместно с модулем CRT.
Для того чтобы связать файловую переменную с конкретным файлом на диске выполняется следующая команда:
Assign (F,'f:\telef.txt');
Запись данных в файл производится следующей процедурой:
Rewrite (F);
for i:=1 to 100 do begin
Для того чтобы ввести фамилию абонента необходимо выполнить следующие операторы:
Write ('Фамилия:');
Read (tel[i].Fam);
Ввод имени, отчества, адреса (название улицы, номер дома и квартиры) и телефонного номера происходит аналогичным образом.
Вывод данных в текстовый файл осуществляется с помощью:
Write (F,tel[i]);
Для того чтобы программа считалась оконченной, необходимо закрыть файл:
close(F);
end.
Все данные сохраняются в текстовый файл telef.txt автоматически. Полный листинг вспомогательной программы расположен в приложении А.
Программу следует начать с создания переменной типа запись z, а в этой записи будут содержаться семь полей с именами:
Fam:string[15]; – строкового типа длинной 15 символов, данное поле содержит фамилию;
I:string[15]; – строкового типа длинной 15 символов, данное поле содержит имя;
O:string[25]; – строкового типа длинной 25 символов, данное поле содержит отчество;
yl:string[25]; – строкового типа длинной 25 символов, данное поле содержит название улицы;
d:string[5]; - строкового типа длинной 5 символов, данное поле содержит номер дома;
kv:string[3]; – строкового типа длинной 3 символов, данное поле содержит номер квартиры;
telnomer:string[10]; – строкового типа длинной 10 символов, данное поле содержит телефонный номер.
Затем следует создать переменные:
F:file of z; – файлового типа, для работы с файлами данных;
tel:array[1..100] of z; – массив от 1 до 100 типа z, данный массив необходим для организации сортировки записей;
i:integer; – счетчик, используется для циклов;
famil,imya,y,k,dom:string[20]
t:string; - используется для перехода в начало программы, либо завершает программу;
a:integer; - используется для перехода между критериями поиска;
label 10; - раздел описания меток, переходит к метке 10.
Для того, чтобы выполнение
программы открылось в
clrscr; - работает совместно с модулем CRT;
SetWindowCaption('Телефонный справочник'); - открывается отдельное окно, которое имеет название «Телефонный справочник»;
SetWindowSize(900,520); – задает размер, открывшемуся окну 900*520;
CenterWindow; - ставит окно в центре экрана;
SetFontSize(10); - определяет размер шрифта в программе;
Text Color(0); - устанавливает цвет текста, на каждый критерий поиска имеется свой цвет;
Операторы, которые запрашивают и считывают по какому критерию вести поиск абонента:
writeln('Для поиска телефонного номера по фамилии введите - 1');
writeln('Для поиска телефонного номера по имени - 2');
writeln(' Для поиска телефонного номера по адресу (улица, № дома, № квартиры) - 3');
writeln(Для поиска телефонного номера по адресу (улица, № дома) - 4');
writeln(Для поиска телефонного номера по адресу (улица)- 5');
read(a);
Если пользователь введена цифра 1, то программа переходит к поиску по фамилии:
if a=1 then
begin
TextColor(19);
writeln('Фамилия абонента:');
read(famil);
assign (F,'f:\telef.txt');
reset(F);
i:=0;
while not EOF(F) do
begin
i:=i+1;
read(F,tel[i]);
if tel[i].fam=famil then begin
Прочитав и сравнив фамилии, программа выводит все данные об абоненте:
TextColor(18);
writeln(' ');
writeln('Фамилия :',tel[i].Fam);
writeln('Имя :',tel[i].I);
writeln('Отчество :',tel[i].O);
writeln('Адрес:');
writeln(' улица :',tel[i].yl);
writeln(' дом № :',tel[i].d);
writeln(' квартира:',tel[i].kv);
Writeln('Телефон :',tel[i].telnomer);
end;
end;
writeln(' ');
close(F);
end;
Поиск по имени, адресу организован аналогичным способом.
После совершения всех операций пользователь видит следующее сообщение:
writeln('Хотите ли вы продолжить?');
read(t);
И в зависимости от выбранного условия, программа либо переходит в начало программы, либо переходит на завершение программы.
if t=('да') then goto 10 else Writeln('СПАСИБО
ЗА ПОЛЬЗОВАНИЕ НАШЕЙ
writeln ('Для выхода из программы закройте окно');
end.
После компиляции программы пользователь увидит на экране диалоговое окно, показанное на рисунке 5.
Рисунок 5. Параметры поиска
Если пользователем введена цифра 1, то программа переходит к поиску по фамилии:
Рисунок 6. Ввод фамилии для поиска
Вывод информации об абоненте в результате поиска по фамилии:
Рисунок 7. Вывод информации
По завершению поиска по фамилии и выдачи данных об абоненте, программа спрашивает «Хотите ли вы продолжить?». Если пользователь отвечает «да», то в окне выдается следующее:
Рисунок 8. Запрос о продолжении программы
Если пользователь отвечает «нет», то в окне выдается следующее:
Рисунок 9. Завершение программы
Таким образом, была написана программа «Телефонный справочник», с помощью которой можно хранить информацию, например, какой–либо организации, либо использовать её как личную телефонную книжку.
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы было создано приложение «Телефонный справочник». Программа была разработана с помощью среды программирования Паскаль АВС. Разработанная программа является приложением баз данных, предоставляющим пользователю средства по просмотру и поиску в базе.
Цель курсовой работы достигнута. Выполненный проект мог бы быть дополнен более мощной организацией поиска данных, но средствами языка программирования Паскаль АВС это сделать достаточно проблематично.
Выполнение курсовой работы позволило закрепить ранее изученный материал по дисциплине «Программирование».
Данная курсовая работа может использоваться в качестве методического пособия для студентов, начинающих работать с языком программирования Паскаль.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А
Листинг вспомогательной программы:
uses crt;
type z=record
Fam:string[15];
I:string[15];
O:string[25];
yl:string[25];
d:string[5];
kv:string[3];
telnomer:string[10];
end;
var F:file of z;
tel:array[1..5] of z;
i:integer;
begin
clrscr;
writeln('ВВЕДИТЕ СВЕДЕНИЯ ОБ АБОНЕНТАХ:');
assign (F,'f:\telef.txt');
rewrite (F);
for i:=1 to 5 do begin
Write ('Фамилия:');
read(tel[i].Fam);
Write ('Имя:');
read(tel[i].I);
Write ('Отчество:');
read(tel[i].O);
Write ('Улица:');
read(tel[i].yl);
Write ('Номер дома:');
read(tel[i].d);
Write ('Номер квартиры:');
read(tel[i].kv);
Write ('Телефонный номер:');
read(tel[i].telnomer);
write(F,tel[i]);
writeln('*********************
end;
close(F);
end.
ПРИЛОЖЕНИЕ B
Листинг основной программы:
uses GraphABC,crt;
type z=record
Fam:string[15];
I:string[15];
O:string[25];
yl:string[25];
d:string[5];
kv:string[3];
telnomer:string[10];
end;
var F:file of z;
tel:array[1..5] of z;
i:integer;
famil,imya,y,k,dom:string[15];
t:string;
a:integer;
label 10;
begin
clrscr;
SetWindowCaption('Телефонный справочник');
SetWindowSize(900,520);
CenterWindow;
SetFontSize(10);
10:
TextColor(0);
writeln('Для поиска телефонного номера по фамилии введите - 1');
TextColor(1);
writeln('Для поиска телефонного номера по имени введите - 2');
TextColor(5);
writeln('Для поиска
телефонного номера по адресу
(улица, №дома, №квартиры)
TextColor(3);
writeln('Для поиска телефонного номера по адресу (улица, №дома)введите - 4');
TextColor(4);
writeln('Для поиска телефонного номера по адресу (улица) введите - 5');