Телефонный справочник


Тип работы: Реферат
Бесплатно: Антиплагиат
Объем: 12 страниц
В избранное:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
КАЗАХСКИЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
ИМЕНИ ТУРАРА РЫСКУЛОВА
Кафедра: Прикладная информатика
КУРСОВАЯ РАБОТА
НА ТЕМУ: «Телефонный справочник»
Проверил: декан ИЭФ
Выполнил: ст. гр. ВТ-109
Алматы, 2006
СОДЕРЖАНИЕ:
Введение
- Постановка задачи. . 4
- Алгоритм решения задачи. . 5-8
- Программа . . . 9-11
- Инструкция пользователя11-12
- Анализ полученных результатов12-14
Список использованной литературы
Введение
Алгоритмический язык Паскаль разработан профессором Цюрихского технологического института Никлаусом Виртом в 1969-71 годах для обучения студентов структурному программированию. Идеи, заложенные в основу создания языка, позволили фирме Borland International значительно расширить алгоритмические средства языка, а удобный интерфейс (меню команд) и высокая скорость компиляции (процесса перевода текста программы в машинные коды) сделали язык Турбо-Паскаль (Turbo-Pascal) одним из самых распространенных среди начинающих и профессиональных программистов.
Процесс программирования начинается, как правило, с составления алгоритма - последовательности операций, описывающих процесс решения задачи. Графическая запись алгоритма представляется в виде блок-схемы. Составление алгоритма заключается в логическом описании процесса решения задачи и требует знания элементов математической логики. Следует отметить, что программированию предшествует важнейший этап - постановка задачи. Постановка задачи может включать широкий спектр вопросов (разработка математических и физических моделей, вывод расчетных формул и т. п. ) . Программист должен четко представлять явление или формулу, которые он алгоритмизирует.
Программирование заключается в записи алгоритма на языке программирования и отладке программы. Текст программы записывается в текстовом редакторе, затем программа компилируется - переводится транслятором (переводчиком) в машинные коды и запускается на выполнение. Процесс отладки программы начинается с выявления:
- синтаксических ошибок в тексте (неверно записанных операторов),
- ошибок при выполнении программы (недопустимые математические действия, операции с числами, превосходящими предельные значения),
- алгоритмических ошибок (неверно составлен или запрограммирован алгоритм),
и заканчивается, как правило, написанием новой программы, поскольку каждый программист знает, что программу можно усовершенствовать до бесконечности, а отлаженную программу лучше не изменять.
Массив - упорядоченные данные одного типа. Возможно создание массива, включающего массив другого типа. Массивом часто обозначают характеристики объектов одного типа, имеющих одинаковые единицы измерения. Массив состоит из элементов, имеющих порядковые номера, т. е. элементы массива упорядоченные. Таким образом, если объекты одного типа обозначить именем, например "A", то элементы объекта будут A[1], A[2] и т. д. В квадратных скобках указан номер элемента. Порядковый номер элемента массива, обычно не несет никакой информации о значении элемента, а показывает расположение элемента среди других. К элементам массива можно обращаться только по их номеру (индексу) . Значения элементам массива присваиваются также как и другим переменным с учетом типа массива. Если элементы массива имеют один индекс, то массив называется одномерным или линейным, либо массив - вектор. Значения элементов одномерного массива обычно выводят на экран или бумагу в виде столбца или строки. В некоторых случаях удобно элементы массива пронумеровывать двумя независимыми индексами, такие массивы называются двумерными или матрицами. Значения элементов двумерного массива обычно выводят на экран в виде таблицы. Если элементы массива имеют три независимых индекса, то массив называется трехмерным. Значения элементов трехмерного массива обычно выводят на экран в виде набора таблиц.
Процедура. Практически во всех алгоритмических языках имеется возможность программирования функций и процедур - блоков операторов, оформленных в виде подпрограмм. Разработка функций и процедур необходима при многократном использовании в разных местах программы или в нескольких программах блока операторов, выполняющих однотипные действия, например, расчет значений сложной функции при различных значениях аргумента. В Турбо - Паскале имеется также возможность создавать библиотеки (модули), состоящие из специальных процедур и функций, отличных от поставляемых в пакете (модули System, Crt, Graph) .
Процедуры (подпрограммы) и функции, определяемые программистом, приводятся в разделе описания основной программы. Процедуры и функции имеют заголовок, раздел описания и раздел операторов.
Заголовок процедуры состоит из служебного слова Procedure , имени процедуры и списка параметров, например:
Procedure Name_P(p1, p2, . . . : "тип"; Var p3, p4, . . . : "тип"; . . . ) ;
Файл. В прикладных программах, как правило, имеется большое число входных и выходных данных, причем часто возникает необходимость передачи данных из одной программы в другую. Поэтому данные хранятся в файлах и при необходимости считываются, а также записываются в файлы операторами программы. Напомним, что файлом называется именованная область внешней памяти ЭВМ , содержащая различные данные. Доступ к данным в файле может быть прямым или последовательным в зависимости от типа файла. Рассмотрим работу с данными текстовых файлов.
Текстовые файлы представляют совокупность строк переменной длины с последовательным доступом к данным, т. е. данные записываются на диск и считываются только последовательно. Информация в текстовых файлах хранится в символьном (текстовом) виде. При записи числовых или логических значений происходит автоматическое преобразование данных в символьный тип, а при считывании данные автоматически преобразуются в машинные коды. Строки текстового файла заканчиваются символом #13- Enter и #10 - возврат каретки. В конце файла устанавливается код #26. При записи, в файл данные записываются подряд, а управляющие символы устанавливаются автоматически оператором Writeln. Управляющие символы работают при просмотре/редактировании файла на экране или при печати, но при этом, как правило, не показываются.
1. Постановка задачи
Условие задачи: написать программу, создающую телефонный справочник с реквизитами: Фамилия, имя, отчество; номер телефона . Обеспечить просмотр записей справочника, редактирование номера телефона абонента, поиск.
Для формирования массива записей справочника разработана процедура Creat_Book_Phone. Для просмотра записей справочника - процедура Output_All_Record, для редактирования номеров телефонов - Update_Record, для поиска абонента по фамилии - процедура Find_Fio.
При выполнении программа выводит на экран меню, состоящее из 5 пунктов: 1-формирование справочника, 2 - просмотр справочника, 3 - редактирование номеров телефонов, 4 - поиск номера телефона абонента по фамилии, 0 - завершение работы с программой.
В программе используются следующие данные:
- Baza- массив записей телефонного справочника. Каждая запись массива состоит из двух полей: Fio - фамилия, имя, отчество абонента, длина поля состоит из 20 символов, Phone - номер абонента, длина поля - 10 символов.
- N -максимальное количество записей в справочнике, целочисленная константа равна 50.
- Phonebook -файл, в который записываются данные из массива. Из файла данные считываются, и выполняются пункты меню: «2», «3», «4».
- Count -текущее количество записей в справочнике, целочисленная переменная, значение которой не должно превышать значение N.
- Name -строка длинной в 20 символов для доступа к полю Fio записи справочника.
- Vid -целочисленная переменная для выбора вида работы, принимает значения 0, 1, 2, 3, 4.
- End_Menu -логическая переменная, значение True которой является условием завершения работы программы.
2. Алгоритм решения задач
Блок-схема алгоритма программы
Блок-схема процедуры формирования справочника
Блок-схема процедуры просмотра справочника
Блок-схема процедуры редактирования записей
Блок-схема поиска номера абонента по фамилии
3. Программа
program phonеbook;
uses crt;
const n=50;
type
stfio=string[20] ;
stphone=string[10] ;
recbook=record
end;
recbaza=record
fio:stfio;
phone:stphone;
end;
var
baza:array [1. . n] of recbaza;
i, vid:byte;
end_menu:boolean;
name:stfio;
count, x, y:integer;
f:file of recbaza;
AB:recbaza;
procedure Create_Book_Phone;
begin
writeln ('Creating records in the phonebook: ') ;
write ('Enter number of records: ') ;
readln (count) ;
assign (f, 'c:\Phonebook. dat') ;
rewrite (f) ;
for i:=1 to count do
with AB do
begin
write ('Enter surname: ') ;
readln (fio) ;
write ('Enter telephone number: ') ;
readln (phone) ;
write (f, AB) ;
end;
close(f) ;
writeln ('Creating of records massive is complete') ;
writeln ('There are ', count, ' records in the phonebook') ;
end;
procedure output_all_record;
begin
writeln ('Output of the phonebook') ;
writeln (' F. I. O. phonenumber') ;
assign (f, 'c:\Phonebook. dat') ;
reset (f) ;
count:=0;
while not eof(f) do begin
with AB do
begin
read (f, AB) ;
writeln ( fio:8, phone:14) ;
end;
end;
close (f) ;
end;
procedure update_record;
var f:text;
begin
assign (f, 'c:\Phonebook. dat') ;
reset (f) ;
read (f) ;
append (f) ;
begin
write ('enter F. I. O. ') ;
readln (name) ;
write (f, ' ', name, ' ') ;
end;
for i:=1 to count do
if name=baza[i] . fio then
write ('enter phonenumber') ;
readln(baza[i] . phone) ;
write (f, ' ', baza[i] . phone, ' ') ;
close (f) ;
end;
procedure find_fio;
begin
assign (f, 'c:\Phonebook. dat') ;
reset (f) ;
count:=0;
with AB do
write ('enter F. I. O: ') ;
readln (name) ;
for i:=1 to count do
if name=baza[i] . fio then
reset (f) ;
read (f, AB) ;
writeln (baza[i] . fio:8, ’Phone: ‘, baza[i] . phone:14) ;
close (f) ;
end;
begin
clrscr;
end_menu:=false;
repeat
x:=20; y:=5;
textbackground(7) ;
textcolor (1) ;
y:=y+1; gotoxy(x, y) ; write(' ***Phone book*** ') ;
y:=y+1; gotoxy(x, y) ; write('') ;
y:=y+1; gotoxy(x, y) ; write('º Choose needed action º') ;
y:=y+1; gotoxy(x, y) ; write('º 1. creating of the records massive º') ;
y:=y+1; gotoxy(x, y) ; write('º 2. review of the records list º') ;
y:=y+1; gotoxy(x, y) ; write('º 3. edit records º') ;
y:=y+1; gotoxy(x, y) ; write('º 4. finding abonent º') ;
y:=y+1; gotoxy(x, y) ; write('º 0. end º') ;
y:=y+1; gotoxy(x, y) ; write('') ;
writeln;
write(' Yuor choices: ') ; ;
textbackground(7) ;
readln (vid) ;
case vid of
1: create_book_phone;
2: output_all_record;
3: update_record;
4: find_fio;
0: end_menu:=true
end;
writeln ('press ENTER to continue') ;
readln;
clrscr;
until end_menu;
end.
4. Инструкция пользователя
1) Запустить программу Turbo Pascal 7. 0
2) Открыть файл «Телефонный справочник» с расширением pas
3) Нажать Ctrl+F9 для запуска телефонного справочника
4) В появившемся меню, выбрать необходимый пункт:
- creating of the records massive
- review of the records list
- edit records
- finding abonent
- end
Сreating of the records massive - функция для формирования справочника, внесение в телефонную книгу фамилии, имени, отчества и номера абонента.
review of the records list - функция для просмотра всего справочника, с выводом всех данных, находящихся в справочнике.
edit records - функция для редактирования телефонного справочника, которая позволяет редактировать номер телефона любого абонента, находящегося в справочнике и добавлять новых абонентов.
finding abonent - функция для поиска номера телефона абонента, находящегося в телефонном справочнике.
End - функция для завершения работы с телефонным справочником.
5) Для выхода из Turbo Pascal 7. 0 необходимо выбрать в меню функцию File, затем в появившемся подменю выберите Exit, ваша работа с Turbo Pascal 7. 0 завершена.
... продолжение5. Анализ полученных данных
***Phone book***
- Информатика
- Банковское дело
- Оценка бизнеса
- Бухгалтерское дело
- Валеология
- География
- Геология, Геофизика, Геодезия
- Религия
- Общая история
- Журналистика
- Таможенное дело
- История Казахстана
- Финансы
- Законодательство и Право, Криминалистика
- Маркетинг
- Культурология
- Медицина
- Менеджмент
- Нефть, Газ
- Искуство, музыка
- Педагогика
- Психология
- Страхование
- Налоги
- Политология
- Сертификация, стандартизация
- Социология, Демография
- Статистика
- Туризм
- Физика
- Философия
- Химия
- Делопроизводсто
- Экология, Охрана природы, Природопользование
- Экономика
- Литература
- Биология
- Мясо, молочно, вино-водочные продукты
- Земельный кадастр, Недвижимость
- Математика, Геометрия
- Государственное управление
- Архивное дело
- Полиграфия
- Горное дело
- Языковедение, Филология
- Исторические личности
- Автоматизация, Техника
- Экономическая география
- Международные отношения
- ОБЖ (Основы безопасности жизнедеятельности), Защита труда