Скачиваний:
93
Добавлен:
23.06.2014
Размер:
125.44 Кб
Скачать

11

Министерство образования

Российской Федерации

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Пояснительная записка

к курсовому проекту

по дисциплине

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

вариант № 5

2007

Введение

Целью выполнения данного курсового проекта является приобритение навыков программирования в среде Турбо-Паскаль.

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

1. Постановка и анализ задачи

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

  • Создавать записи абонентов, каждый элемент записи должен содержать номер телефона, фамилию и адрес абонента;

  • Реализовать поиск абонента по адресу (улицы) проживания;

  • Вывод результата поиска на экран и в файл;

Средством реализации по заданию является язык программирования PASCAL. Для реализации выбрана среда программирования Borland Turbo Pascal Version 7.1

2. Описание реализации программы

Программа реализована в среде разработки Borland Turbo Pascal Version 7.1 В VisualC++6.0 c использованием стандартного модуля CRT.

Файловая структура программы представлена ниже

Файл программы – Adres5.pas;

Файл хранения записей - Adress.dat;

Файл хранения результатов поиска абонентов – Find.txt

Для описания записи с указанными в задании параметрами, в разделе описания используемых типов, создан тип записи TDlgData, который включает три поля типа string:

Number – поле хранения номера телефона абонента;

Name - поле хранения имени абонента;

Street – поле хранения адреса (улицы) проживания абонента.

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

procedure LData – процедура листинга, вывода на экран всех имеющихся записей;

procedure XData – процедура поиска и отображения найденных записей на экран и в файл;

procedure WData – процедура создания новой записи в файл.

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

Задача процедуры состоит в построчном выводе элементов записей из файла Dress.dat на экран.

Assign(AdrR,'Adress.dat'); связываем переменную для считывания с файлом записей

Reset(AdrR); открываем связанный файл

writeln(' List racords');

writeln('Number of phone Abonent Name Street'); выводим на экран шапку поиска записей

цикл считывания и вывода на экран записи

while not Eof(AdrR) do

begin

read(AdrR,t);{считали запись}

writeln(' '+t.Number + ' ' + t.Name + ' ' + t.Street);{вывели запись}

Описание процедуры XData. Задача процедуры состоит в построчном поиске необходимой записи и выводе элементов записей из файла Dress.dat на экран и в файл Find.txt.

Writeln('Enter Street');

readln(S);{запрос параметра поиска}

writeln(' Finding racords');

writeln('Number of phone Abonent Name Street'); вывод шапки результатов поиска

Assign(AdrR,'Adress.dat');{связываемся с файлом хранения всех записей}

Reset(AdrR);

Assign(AdrS,'Find.txt'); {связываемся с файлом хранения найденных записей}

Rewrite(AdrS);{очищаем файл найденных записей}

цикл поэлементного поиска записей

while not Eof(AdrR) do

begin

read(AdrR,t);

{поиск нужной записи}

if t.Street= S then

begin

writeln(' '+t.Number + ' ' + t.Name + ' ' + t.Street);

write(AdrS,t.Number + ' ' + t.Name + ' ' + t.Street);

end;

Описание процедуры WData. Задача процедуры состоит в добавлении новых записей.

{запрос параметров добавления записи}

Writeln('Enter number phone');

readln(N);

Writeln('Enter abonent Name');

readln(Na);

Writeln('Enter Street');

readln(S);

{сохранение параметров в запись}

RData.Number := N;

RData.Name := Na;

RData.Street := S;

Assign(f,'Adress.dat');{связываемся с файлом хранения найденных записей}

Reset(f);

Seek(f,FileSize(f));{переходим в конец файла}

write(f,RData); {создаем запись в файле}

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

Элементы меню:

Константа элементов меню:

menu : array[1..4] of string=('[ Create record ]',

'[ Find record ]',

'[ List record ]',

'[ Exit ]');

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

asm mov ah,01;mov cl,$20;int $10;end;

Вывод меню на экран реализован в цикле:

for temp:=1 to 4 do writeln(menu[temp]); { // выводим меню}

repeat

{ // цикл идет..}

gotoxy(1,curchoice); textcolor(20); { // рисуем полоску}

textbackground(7); write(menu[curchoice]); {// выбора}

if keypressed then

case readkey of { // проверяем кнопки}

#72: if curchoice>1 then begin { // вниз, если можно}

textcolor(7);textbackground(0); {// стираем пред.}

{ // надпись}

gotoxy(1,curchoice);write(menu[curchoice]);dec(curchoice);

end;

#80: if curchoice<4 then begin { // вверх, если можно}

textcolor(7);textbackground(0);

gotoxy(1,curchoice);write(menu[curchoice]);inc(curchoice);

end;

#27: status:=4; { // escape}

{если нажат enter то вызываем соответствующую процедуру}

#13: case curchoice of

1: begin

WData; вызов процедуры WData

curchoice:=1;status:=128;textcolor(7);textbackground(0);

for temp:=1 to 4 do writeln(menu[temp]);

end;

2:begin

XData; вызов процедуры XData

curchoice:=1;status:=128;textcolor(7);textbackground(0);

for temp:=1 to 4 do writeln(menu[temp]);

end;

3:begin

LData; вызов процедуры LData

curchoice:=1;status:=128;textcolor(7);textbackground(0);

for temp:=1 to 4 do writeln(menu[temp]);

end;

4:exit; { // enter}

end;

end;

until status=4; { // ..пока не выбран последний}

{ // пункт/не нажат escape}

asm mov ah,01; mov cx,$0E0D; int $10; end;

textcolor(7); textbackground(0); {// ставим нормальный цвет}

3. Описание программы для пользователя

Для начала работы программы нужно запустить файл adres5.exe. После запуска на экране появится меню программы (см. рис.1).

рис 1. Меню программы.

Меню содержит 4 пункта Create record – создание записи, Find record –поиск записи, List record – вывод записей на экран и Exit – завершение работы программы. Перемещать курсор по элементам меню можно при помощи кнопок «вверх»и «вниз»

При выборе пункта Create record запускается процедура WData и на экране выводятся указания для ввода параметров новых записей(см. рис.2).

рис 2. Функция создания записи.

При выборе пункта меню «Find record» запускается процедура XData – поиск записи и вывода результата поиска в файл и на экран. Для поиска записи необходимо ввести название улицы и нажать Enter(см. рис.3).

Рис 3. Поиск записи.

При выборе пункта меню «List record» запускается процедура LData – вывод всех имеющихся записей на экран (см. рис.4).

Рис 4. Вывод записей.

Заключение

В ходе курсового проекта была изучена система программирования Турбо-Паскаль. Рассмотрены основные методы программирования, типы данных, переменные и выражения.

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

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

  1. Епанешников А.М., Епанешников В.А. Программирование в среде Турбо-Паскаль 7.0. – М.: Диалог-МИФИ, 1995.

  2. Перминов О.Н. Программирование на языке Паскаль – М.: Радио и связь, 1988.

Соседние файлы в папке 5