- •Специальность: автоматизированные систмы обработки информации и управления
- •Курсовой проект
- •По дисциплине
- •«Основы алгоритмизации и программирования»
- •На тему: Разработка базы данных «Рынок недвижимости»
- •Введение
- •Общая часть
- •Цели разработки и анализ использование разработки.
- •Теоретические основы курсовой работы
- •Используемая система программирования. Turbo Pascal
- •Технология построения меню
- •Циклы. Виды циклов
- •Поиск информации в базе
- •Файлы типа «Запись»
- •Дозапись элементов в типизированные файлы
- •Специальная часть
- •Постановка задачи
- •Проектирование задачи
- •Проектирование файла
- •Алгоритм работы с файлом
- •Алгоритм работы программы
- •Входные данные.
- •Выходные данные.
- •Руководство на эксплуатацию
- •Руководство системного программиста
- •Заключение
- •Приложение с Текст разработанной программы
-
Руководство системного программиста
При первом запуске программы необходимо выбрать пункт меню «Создать базу данных». Выбор этого пункта позволит создать файл базы на жестком диске. Последующий выбор этого пункта меню повлечет удаление всех ранее сохраненных записей базы данных. Все функции программы начнут работать только после того, когда файл базы данных будет создан.
Минимальные системные требования:
Процессор - Pentium - E5800
Оперативная память 128 Мб
Жесткий диск – 40 Гб
Видеокарта – 64 Мб
Свободное место на диске – 40Мб
Клавиатура
Рекомендуемые системные требования:
Процессор – intel Celeron D 2800 MHz;
Оперативная память – 512 Мб
Жесткий диск – 80 Гб
Видеокарта – 128 Мб
Свободное место на диске – не менее 100 Мб
Клавиатура, мышь
Заключение
Разработанная база данных может использоваться в узком кругу компаний, риэлтерских компаниях и предприятиях, где необходим учет жилых помещений. Программа проста в освоении, за счет удобного интерфейса, работы в диалоговом режиме и справки, которая находится в аннотации к программе ( выводится на экран сразу после запуска программы).
Можно выделить несколько недостатков разработанной программы. Этими недостатками являются:
-
Отсутствие возможности редактирования записей
-
Отсутствие удаления отдельных записей
За время выполнения курсового проекта были изучены самостоятельно такие темы как:
-
Типизированные файлы (файлы типа «запись»)
-
Технология построения меню
-
Дозапись информации в конец файла типа «запись»
-
Поиск информации в файле типа «запись»
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
-
Н.Б. Культин «Программирование в Turbo Pascal 7.0»
-
В.Б. Попов «Turbo Pascal для школьников»
-
Ю.А. Аляев «Практикум по алгоритмизации и программированию на языке Паскаль»
-
www.wikipedia.org
-
www.pascal7.ru
-
www.tnu.in.ua
Приложение А
Макро-блок схема программы
Начало
Вывод
Меню
Выбор пункта
Вывод
аннотация
Поиск
Создание
базы
Просмотр
Дозапись
базы
Выход
Конец
Приложение В
Элементы интерфейса программы
Рис. 1 Руководство пользователя
Рис. 2 Системные требования к программе
Рис.3 Главное меню программы
Рис. 4 Запросы по созданию Базы данных
Рис. 5 Запросы при дозаписи базы данных
Рис. 6 Просмотр базы данных
Рис. 7 Результаты поиска в базе данных
Рис. 8 Выход из программы
Приложение с Текст разработанной программы
program menu;
uses crt;
type
zp=record
tovar:string[25];
adress:string;
rin_cena:real;
polez_plosch:integer;
poln_plosch:integer;
ocen_cena:real;
comnati:integer;
etaj:integer;
end;
var
a:file of zp;
zap:zp;
otvet:char;
poisk:string;
p,x,y,k,povtor,j:integer;
pov:integer;
begin clrscr;
assign(a,'F:\FILEZAP.TXT');
textcolor(0);
textbackground(15);
{Титульник}
Gotoxy(27,9);
writeln('К У Р С О В А Я Р А Б О Т А ');
gotoxy(13,11);
write('По дисциплине: ');
textcolor(1);
write('Основы алгоритмизации и программирования');
textcolor(0);
gotoxy(15,13);
write('На тему: ');
textcolor(1);
write('Разработка базы данных «Рынок недвижимости»');
textcolor(0);
gotoxy(16,15);
write('Студента III-го курса, гр. 11ИТ-202, спец 230103');
gotoxy(27,17);
write('Пальшина Дениса Владимировича ');
gotoxy(37,25);
write('Бийск 2011');
readkey;
clrscr;
{Аннотация}
Gotoxy(32,2);
write('А Н Н О Т А Ц И Я');
gotoxy(29,7);
write('Возможности базы данных');
gotoxy(25,9);
write('* * * * * * * * * * * * * * * * *');
gotoxy(25,10);
write('* Создание новой базы данных *');
gotoxy(25,11);
write('* Дозапись к существующей базе *');
gotoxy(25,12);
write('* Просмотр всех записей *');
gotoxy(25,13);
write('* Быстрый поиск записей *');
gotoxy(25,14);
write('* * * * * * * * * * * * * * * * *');
gotoxy(29,25);
write(' Нажмите любую клавишу');
readkey;
clrscr;
gotoxy(32,2);
write('А Н Н О Т А Ц И Я');
gotoxy(23,7);
write('Руководство по управлению базой данных');
gotoxy(5,9);
writeln('Уважаемый пользователь, причтите внимательно следующее руково
дство. Оно по-');
write('может вам легко разобраться с управлением базой данных и технологиями
ее работы');
gotoxy(1,12);
writeln('* Программа работает в диалоговом режиме. После некоторых действий,
программа ');
writeln(' будет задавать вам вопросы и будет ждать ответа на них');
writeln('* Вам необходимо отвечать на эти вопросы');
writeln('* Для выбора пункта меню необходимо ввести № пункта в поле ввода
«Ваш выбор: »‘);
writeln('* Во время создания, заполнения базы, программа будет задавать во
прос:');
writeln;
writeln(' «Вы хотите добавить новую запись(Y\N)?»');
writeln;
writeln('* Ответив Y – вы согласитесь добавить еще одну запись.');
writeln('* Ответив N – вы откажетесь добавить еще одну запись.');
gotoxy(29,25);
write('Нажмите любую клавишу');
readkey;
clrscr;
gotoxy(32,2);
write('А Н Н О Т А Ц И Я');
gotoxy(29,7);
write(' Системные требования');
gotoxy(1,10);
writeln(' процессор - Intel Celeron D 2800 MHz');
writeln(' Оперативная память - 512 Мб');
writeln(' Объем жесткого диска - 80 Gb');
writeln(' Видеокарта - Intel 128 Мб');
writeln(' Операционная система - Windows 95,98,ME,2000,XP,Vista');
writeln(' Свободное место на диске - 100 Mb');
gotoxy(31,24);
textcolor(blue);
write(' Удачной работы');
gotoxy(29,25);
textcolor(black);
write('Нажмите любую клавишу');
readkey;
povtor:=1;
while povtor=1 do
begin
clrscr;
gotoxy(23,4);
writeln('Выберите нужный вам номер пункта меню');
gotoxy(33,6);
writeln('1. Создание базы');
gotoxy(33,7);
writeln('2. Дозапись базы');
gotoxy(33,8);
writeln('3. Просмотр');
gotoxy(33,9);
writeln('4. Поиск');
gotoxy(33,10);
writeln('5. Выход');
gotoxy(35,12);
write('Ваш выбор: ');
readln(pov);
case pov of
1:begin {Создание}
clrscr; pov:=0;
gotoxy(20,2);
writeln('‘ С О З Д А Н И Е Б А З Ы Д А Н Н Ы Х');
writeln('******************************************************************
**************');
rewrite(a);
repeat
write('Введите тип недвижимости: ');
readln(zap.tovar);
write('Введите адрес: ');
readln(zap.adress);
write('Введите общую площадь помещения:');
readln(zap.poln_plosch);
write('Введите полезную площадь помещения: ');
readln(zap.polez_plosch);
write('Введите число комнат: ');
readln(zap.comnati);
write('Введите этаж¦: ');
readln(zap.etaj);
write('Введите рыночную стоимость помещения: ');
readln(zap.rin_cena);
write('Введите оценочную стоимость помещения: ');
readln(zap.ocen_cena);
write(a,zap);
writeln;
write('Хотите добавить новую запись?(Y\N): ');
readln(otvet);
if otvet='Y' then begin
clrscr;
gotoxy(20,2);
writeln(' С О З Д А Н И Е Б А З Ы Д А Н Н Ы Х');
Writeln('*****************************************************************
***************');
end;
until otvet='N';
close(a); clrscr;
gotoxy(26,11);
writeln('Запись добавлена в базу данных');
gotoxy(26,13);
writeln(' Нажмите любую клавишу');
end;
2:begin {Дозапись}
clrscr;
gotoxy(22,2);
writeln('Д О З А П И С Ь Б А З Ы Д А Н Н Ы Х');
writeln('******************************************************************
**************');
reset(a);
seek(a,filesize(a));
repeat
write('Введите тип недвижимости: ');
readln(zap.tovar);
write('Введите адрес: ');
readln(zap.adress);
write('Введите общую площадь помещения:');
readln(zap.poln_plosch);
write('Введите полезную площадь помещения: ');
readln(zap.polez_plosch);
write('Введите число комнат: ');
readln(zap.comnati);
write('Введите этаж: ');
readln(zap.etaj);
write('Введите рыночную стоимость помещения: ');
readln(zap.rin_cena);
write('Введите оценочную стоимость помещения: ');
readln(zap.ocen_cena);
write(a,zap);
writeln;
write('Хотите добавить еще одну запись?(Y\N): ');
readln(otvet);
if otvet='Y' then clrscr;
clrscr;
until otvet='N';
close(a);
gotoxy(26,11);
writeln('Запись добавлена в базу данных');
gotoxy(26,13);
writeln(' Нажмите на любую клавишу');
end;
3:begin {Просмотр}
clrscr;
gotoxy(20,2);
writeln(' П Р О С М О Т Р Б А З Ы Д А Н Н Ы Х');
writeln('******************************************************************
**************');
reset(a);
j:=0;
while not eof(a) do
begin
read(a,zap);
with zap do
begin
writeln('********************************************
*****');
write('|| Тип || ');
writeln(tovar:20,' ||');
write('|| Общая площадь || ');
writeln(poln_plosch:20,' ||');
write('|| Полезная площадь || ');
writeln(polez_plosch:20,' ||');
write('|| Количество комнат || ');
writeln(comnati:20,' ||');
write('|| Этаж || ');
writeln(etaj:20,' ||');
write('||Рыночная стоимость || ');
writeln(rin_cena:15:2,' агЎ.',' ||');
write('|| Оценочная стоимость || ');
writeln(ocen_cena:15:2,' агЎ.',' ||');
write('|| Адрес || ');
writeln(adress:20,' ||');
writeln('***************************************
**********');
j:=j+1;
if j>=2 then
begin
j:=0;
writeln('Нажмите любую клавишу для вывода следующих
записей');
readkey;
clrscr;
end;
end;
end;
close(a);
writeln('Нажмите любую клавишу для выхода в меню');
end;
4:begin {Поиск}
clrscr;
gotoxy(35,2);
writeln('П О И С К’);
writeln('*********************************************************
***********************');
write('Поиск: ');
readln(poisk);
k:=0;
j:=0;
reset(a);
while not eof(a) do
begin
read(a,zap);
if poisk=zap.tovar then
begin
writeln('*****************************************
********');
write('|| Тип || ');
writeln(zap.tovar:20,' ||');
write('|| Общая площадь || ');
writeln(zap.poln_plosch:20,' ||');
write('|| Полезная площадь || ');
writeln(zap.polez_plosch:20,' ||');
write('|| Кол-во комнат || ');
writeln(zap.comnati:20,' ||');
write('|| Этаж || ');
writeln(zap.etaj:20,' ||');
write('|| Рыночная стоимость || ');
writeln(zap.rin_cena:15:2,' руб.',' ||');
write('|| Оценочная стоимость || ');
writeln(zap.ocen_cena:15:2,' руб.',' ||');
write('|| Адрес || ');
writeln(zap.adress:20,' ||');
writeln('***************************************
**********');
k:=1;
j:=j+1;
if j>=2 then begin
j:=0;
writeln('Нажмите любую клавишу для вывода
следующих записей');
readkey;
clrscr;
end;
end;
end;
if k<>1 then writeln('Записи не найдены');
close(a);
writeln('Нажмите любую клавишу');
end;
5:begin {Выход}
gotoxy(27,16);
writeln('Работа с базой данных завершена ');
povtor:=0;
gotoxy(27,17);
writeln(' Нажмите любую клавишу');
end;
else
begin
gotoxy(27,16);
writeln('Неправильно выбран пункт меню');
gotoxy(27,17);
writeln(' Нажмите любую клавишу');
end;
end;
readkey;
end;
end.