Бондарчук Роман Анатольевич Группа: повт-41 Тема работы: Телефонный справочник
Вид материала | Справочник |
- Телефонный справочник составлен и подготовлен, 1866.24kb.
- Лекція 6 Тема : Основи психології спілкування, 252.65kb.
- «Тверской государственный технический университет» Телефонный справочник, 519.98kb.
- Справочная литература детский Петербург. Телефонный справочник для пап и мам. Спб,, 6.53kb.
- Вадим Александрович Чернобров, Александр Борисович Петухов, Иван Анатольевич Соболев, 3270.03kb.
- Вадим Александрович Чернобров, Александр Борисович Петухов, Иван Анатольевич Соболев:, 3271.24kb.
- Психологія пізнання І навчання, 221.1kb.
- Телефонный справочник лесничеств – филиалов огку «томсклес» томск, 822.82kb.
- Телефонный справочник муниципальные и государственные органы, предприятия, учреждения, 2018.38kb.
- Телефонный справочник муниципальные и государственные органы, предприятия, учреждения, 1957.67kb.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ И.И. ПОЛЗУНОВА
Кафедра прикладной математики
Курсовая работа защищена с оценкой
__________________
Руководитель работы
__________________
доцент Е.В. Егорова
УДК 681.3.
ТЕЛЕФОННЫЙ СПРАВОЧНИК
пояснительная записка к курсовой работе по дисциплине
«Программирование на языке высокого уровня»
КР 220400.04.000ПЗ
Работу выполнил студент группы ПОВТ-41 __________ Р. А. Бондарчук
Нормоконтролер __________ доцент Е.В. Егорова
2005
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ
ФИО студента: Бондарчук Роман Анатольевич
Группа: ПОВТ-41
Тема работы: Телефонный справочник
Разделы работы и сроки выполнения: – постановка задачи (февраль – март 2005)
– решение задачи (апрель – май 2005)
– оформление отчета (май 2005)
Срок представления работы к защите: 27 мая 2005
ФИО руководителя: Егорова Елена Викентьевна
Должность: доцент
Подпись: ________________
Дата выдачи задания: 5 февраля 2005
СОДЕРЖАНИЕ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ 1
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ 1
Кафедра прикладной математики 1
Работу выполнил студент группы ПОВТ-41 __________ Р. А. Бондарчук 1
Нормоконтролер __________ доцент Е.В. Егорова 1
ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ 2
ФИО студента: Бондарчук Роман Анатольевич 2
Тема работы: Телефонный справочник 2
СОДЕРЖАНИЕ 3
1.ПОСТАНОВКА ЗАДАЧИ 5
1.1. СЛОВЕСНАЯ ПОСТАНОВКА 5
1.2. СПОСОБЫ РЕШЕНИЯ 5
2. РЕШЕНИЕ ЗАДАЧИ 6
2.1. АЛГОРИТМ 6
3. ОПИСАНИЕ ПО 7
3.1. ОБЩИЙ ПОДХОД К ПРОГРАММНОЙ РЕАЛИЗАЦИИ 7
3.2. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ 7
3.3. АЛГОРИТМ 7
3.4. МОДУЛЬНАЯ СТРУКТУРА ПО 7
3.5. СОСТАВ ПО 8
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 10
ПРИЛОЖЕНИЕ А 11
ТЕКСТ ПРОГРАММЫ 11
ПРИЛОЖЕНИЕ Б 19
ТЕСТИРОВАНИЕ ПРОГРАММЫ 19
ПРИЛОЖЕНИЕ В 22
РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА 22
ПРИЛОЖЕНИЕ Г 23
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 23
ВВЕДЕНИЕ
Разрабатываемый программный продукт – телефонный справочник. Цель работы – создание программного продукта, который позволит без особой траты времени найти информацию о любом человеке, имеющим городской телефонный номер. Программа будет иметь не только поисковые функции, но и позволит редактировать, добавлять, удалять записи при возникновении таковой необходимости, что сделает её универсальной и актуальной для любого человека, имеющего компьютер, независимо от возраста, социального положения и т.д. Интерфейс программного продукта должен быть понятен для любого пользователя.
-
ПОСТАНОВКА ЗАДАЧИ
1.1. СЛОВЕСНАЯ ПОСТАНОВКА
При запуске программы на экране появляется главное меню:
Выберите свой вариант
1 – view(просмотр)
2 – add(добавить)
3 – remove(удалить)
4 – edit(редактировать)
5 – find(найти)
6 – quit(выход)
В зависимости от выбранного пункта, пользователь входит в нужный ему режим: получает нужную информацию или производит необходимые действия, либо выходит из программы.
1.2. СПОСОБЫ РЕШЕНИЯ
Способ решения: программа, написанная с использованием пакета программирования Borland Pascal 7.0
2. РЕШЕНИЕ ЗАДАЧИ
2.1. АЛГОРИТМ
2.2. СТРУКТУРА ДАННЫХ
Все данные расположены в файлe c именем sprav.dat.
3. ОПИСАНИЕ ПО
3.1. ОБЩИЙ ПОДХОД К ПРОГРАММНОЙ РЕАЛИЗАЦИИ
Данный программный продукт имеет модульную структуру, каждая подпрограмма выполняет строго ограниченное количество логически связанных действий. Почти все подпрограммы являются процедурами и не требуют передачи параметров, так как читают данные из файлов. Основные подпрограммы: View, Add, Remove, Edit, Find, Quit. Программа написана на языке Pascal. Программа работает с большинством DOS-совместимых систем. Программа занимает 16 Кб в исходных кодах, готовый программный продукт занимает 80 Кб.
3.2. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ
Все вводимые и выводимые данные сохраняются в соответствующем файле.
3.3. АЛГОРИТМ
Пользователь выбирает в главном меню режим работы, далее выполняет действия соответствующие режиму, а за тем выходит в главное меню, а оттуда можно выйти из программы.
3.4. МОДУЛЬНАЯ СТРУКТУРА ПО
Иерархия модулей:
3.5. СОСТАВ ПО
1. Название подпрограммы: add.
Назначение: пп для добавления записи в файл.
Указания по вызову: вызывается при необходимости добавления нового телефонного номера.
Параметры: нет
2. Название подпрограммы: edit.
Назначение: пп для редактирования записи.
Указания по вызову: вызывается при необходимости изменения каких либо пунктов в записи.
Параметры: i,j.
3. Название подпрограммы: find.
Назначение: пп для поиска нужной записи.
Указания по вызову: вызывается при необходимости найти ту или иную информацию о человеке.
Параметры: i,j.
4. Название подпрограммы: view.
Назначение: пп для просмотра файла.
Указания по вызову: вызывается при желании полностью просмотреть содержимое файла.
Параметры: i.
5. Название подпрограммы: remove.
Назначение: пп для удаления записи из файла.
Указания по вызову: вызывается при желании удаления из файла телефонного номера..
Параметры: i,j
ЗАКЛЮЧЕНИЕ
В процессе обработки были изучены средства разработки программного обеспечения Borland Pascal 7.0, методы разбиения монолитной программы на отдельные модули, независимые друг от друга.
Полученный программный продукт отвечает всем заявленным требованиям: достаточно понятен интерфейс, организованы разные варианты работы. В режимах редактирования и поиска выбирается один из параметров, таких как номер, фамилия, адрес. Недостатком программного продукта является слишком простой интерфейс.
Преимуществом данной тестовой системы перед другими существующими на данный момент – это универсальность, позволяющая выполнять различные функции, простым и доступным способом. Продукт может использоваться абсолютно всеми людьми. В качестве усовершенствований рекомендовалось бы организовать более наглядный интерфейс, и ввести возможность выхода из программы в любом режиме, не выходя в главное меню.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
- Ускова О. Ф. Программирование на языке Паскаль. – М.: Питер,2002. – 333 с.
- Егорова Е.В. Программирование на языке высокого уровня. Часть I: Учебное пособие / Алтайский государственный технический университет имени И.И.Ползунова. – Барнаул: 1998. – 209 с.
- Рапаков Г. Г. Turbo Pascal для студентов и школьников. – СПб.: БХВ-Петербург, 2002. – 349 с.
- Turbo Pascal Help.
ПРИЛОЖЕНИЕ А
ТЕКСТ ПРОГРАММЫ
/*Телефонный справочник*/
uses
crt;
const
maxN = 100;
type
tBook = record
n : longint;
fam, adress : string;
end;
var
i, cnt : longint;
book : array [1..maxN] of tBook;
ch : char;
/*ПП добавления записи*/
procedure add;
begin
clrscr;
writeln('Adding:');
inc(cnt);
writeln('Enter number:');
readln(book[cnt].n);
writeln('Enter name:');
readln(book[cnt].fam);
writeln('Enter adress:');
readln(book[cnt].adress);
writeln('Press any key to continue!');
readkey;
end;
/*ПП удаления записи*/
procedure remove;
var i, j : longint;
bFlag : boolean;
begin
clrscr;
writeln('Removing:');
writeln('Enter number:');
readln(j);
bFlag := false;
for i := 1 to cnt do
if book[i].n = j then
begin
for j := i to cnt - 1 do
book[j] := book[j + 1];
dec(cnt);
bFlag := true;
break;
end;
if not bFlag then
writeln('Such record not found!')
else
writeln('Record succesfully removed!');
writeln('Press any key to continue!');
readkey;
end;
/*ПП редактирования записей*/
procedure edit;
var i, j : longint;
bFlag : boolean;
st : string;
begin
clrscr;
writeln('Editing:');
writeln('Choose type:');
writeln('1 - by number');
writeln('2 - by family');
writeln('3 - by adress');
ch := readkey;
bFlag := false;
case ch of
'1':
begin
writeln('Enter number:');
readln(j);
for i := 1 to cnt do
if book[i].n = j then
begin
writeln('Enter new family:');
readln(book[i].fam);
writeln('Enter new adress:');
readln(book[i].adress);
bFlag := true;
break;
end;
end;
'2':
begin
writeln('Enter family:');
readln(st);
for i := 1 to cnt do
if book[i].fam = st then
begin
writeln('Enter new number:');
readln(book[i].n);
writeln('Enter new adress:');
readln(book[i].adress);
bFlag := true;
break;
end;
end;
'3':
begin
writeln('Enter adress:');
readln(st);
for i := 1 to cnt do
if book[i].adress = st then
begin
writeln('Enter new family:');
readln(book[i].fam);
writeln('Enter new number:');
readln(book[i].n);
bFlag := true;
break;
end;
end;
end;
if not bFlag then
writeln('Record succesfully edited!')
else
writeln('Such record not found!');
writeln('Press any key to continue!');
readkey;
end;
/*ПП поиска записей*/
procedure find;
var i, j : longint;
bFlag : boolean;
st : string;
begin
clrscr;
writeln('Searching:');
writeln('Choose type:');
writeln('1 - by number');
writeln('2 - by family');
writeln('3 - by adress');
ch := readkey;
bFlag := false;
case ch of
'1':
begin
writeln('Enter number:');
readln(j);
for i := 1 to cnt do
if book[i].n = j then
begin
writeln('Family:');
writeln(book[i].fam);
writeln('Adress:');
writeln(book[i].adress);
bFlag := true;
break;
end;
end;
'2':
begin
writeln('Enter family:');
readln(st);
for i := 1 to cnt do
if book[i].fam = st then
begin
writeln('Number:');
writeln(book[i].n);
writeln('Adress:');
writeln(book[i].adress);
bFlag := true;
break;
end;
end;
'3':
begin
writeln('Enter adress:');
readln(st);
for i := 1 to cnt do
if book[i].adress = st then
begin
writeln('Family:');
writeln(book[i].fam);
writeln('Number:');
writeln(book[i].n);
bFlag := true;
break;
end;
end;
end;
if bFlag then
writeln('Record succesfully edited!')
else
writeln('Such record not found!');
writeln('Press any key to continue!');
readkey;
end;
/*ПП просмотра файла*/
procedure view;
var i : longint;
begin
clrscr;
writeln('Showing:');
for i := 1 to cnt do
begin
write('Number - ', book[i].n, ' Family - ', book[i].fam,' ');
writeln('Adress - ', book[i].adress);
end;
writeln('Press any key to continue!');
readkey;
end;
/*Основная программа*/
var
quit : boolean;
f : text;
begin
assign(f, 'DAT\sprav.dat');
reset(f);
readln(f, cnt);
for i := 1 to cnt do
begin
readln(f, book[i].n);
readln(f, book[i].fam);
readln(f, book[i].adress);
end;
close(f);
quit := false;
repeat
clrscr;
writeln('Choose your variant:');
writeln('1 - view');
writeln('2 - add');
writeln('3 - remove');
writeln('4 - edit');
writeln('5 - find');
writeln('6 - quit');
ch := readkey;
case ch of
'1': view;
'2': add;
'3': remove;
'4': edit;
'5': find;
'6': quit := true;
end;
until quit = true;
assign(f, 'DAT\sprav.dat');
rewrite(f);
writeln(f, cnt);
for i := 1 to cnt do
begin
writeln(f, book[i].n);
writeln(f, book[i].fam);
writeln(f, book[i].adress);
end;
close(f);
end.
ПРИЛОЖЕНИЕ Б
ТЕСТИРОВАНИЕ ПРОГРАММЫ
Главное меню
Просмотр файла
Добавление записи
Редактирование записи по номеру
Поиск записи по адресу
Просмотр преобразованного файла
ПРИЛОЖЕНИЕ В
РУКОВОДСТВО СИСТЕМНОГО ПРОГРАММИСТА
Исполняемый файл – CURS2.exe. Этот файл имеет объем 11 Кб и работает в среде DOS. Программа совместима оперативная система Windows 9X (3.11, 95, 98, ME) и Windows NT (2000, XP). Необходимо, чтобы на компьютере был установлен Pascal.
Минимальные системные требования:
Процессор: Intel 286 SX
Оперативная память: не менее 2 Мб
Видеопамять: 512 Кб
Свободное место: не менее 80 Кб
Оперативная система DOS
Клавиатура
ПРИЛОЖЕНИЕ Г
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
В главном меню выбирается необходимый пункт и вводится соответствующая цифра. Выйти из программы можно только из главного меню.