Разработка алгоритмов и их реализация
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Содержание
Введение
. Назначение и область применения
. Постановка задачи
. Используемые методы
. Алгоритм программы
Заключение
Список литературы
Приложение
Введение
Целью курсовой работы является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполняется в среде Турбо Паскаль и предполагает работу с текстами, файловыми структурами, обработку записей.
файловый алгоритмизация паскаль программирование
1. Назначение и область применения
Программа представляет собой мини комплекс по учету выданных мобильных карт, областью применения могут быть Автомобильные Заправочные Станции.
. Постановка задачи
Написать программу, которая будет работать с базой выданных мобильных карт. При этом программа должна уметь добавлять, изменять, удалять, искать записи и создавать БД (База Данных) в случае если таковая отсутствует. Для упрощения работы с программой разработать интуитивно понятный интерфейс.
. Используемые методы
БД создается под именем CardsMK.dat в той же директории, где находится сама программа. Доступ к данным происходит напрямую из процедур или функции. При поиске или изменении записи создается временный файл с именем FTmp.dat, в него записываются результат поиска из файла CardsMK.dat, используемые в дальнейшем для определенных целей: вывод на экран, визуального контроля редактируемой или удаляемой записи. Для удаления так же создается временный файл temp.dat, для хранения отредактированной БД, затем файл CardsMK.dat удаляется, а файл temp.dat переименовывается в CardsMK.dat.
В программе использован метод объектно-ориентированного программирования. Программа разбита на процедуры и функции, выполняющие определенные действия.
4. Алгоритм программы
Создадим новый тип записи TCards. Именно он будет определять формат нашей БД, в нашем случае состоящей из одной таблицы с полями:
Client - поле строкового типа длинной не более 34 символов, предназначено для хранения Ф.И.О. владельца;
CardNo - поле строкового тип длинной 6 символов, может хранить в себе номера карт начинающиеся с № 100000 и до №999999;
GoodType - поле строкового типа длинной 7 символов. Содержит в себе тип топлива используемого картой. Может принимать только 4 значения: "АИ-80", "АИ-92", "АИ-95" и "Дт";
ClientType - поле строкового типа длинной 10 символов. Содержит в себе тип клиента используемого картой. Может принимать только 2 значения: "Юр.лицо" и "Физ.лицо";
Passwd - поле строкового типа длинной 4 символа. Содержит в себе пароль из 4-х цифр, принимает значения от 0000 до 9999.
Создадим две константы строкового типа хранящие в себе названия выходных файлов:
FileName = CardsMK.dat (файл БД);
FileFTmp = FTmp.dat (временный файл);
Процедура PMenu - представляет собой окно Главного меню. Используя цикл Repeat и оператора выбора Case (в основе всех меню пользователя используются похожая связка цикла и оператора) программа запрашивает у пользователя следующие варианты для действия по нажатию клавиш
Список карт. - вызывает процедуру ShowFile (FileName);
Выход из программы..
Для определения кода нажатой кнопки используем оператор ord(a : переменная типа char), возвращающий код нажатой клавиши типа integer.
{Процедура - Окно главного меню}
procedure PMenu; {объявление процедуры}
var{объявление переменных}
a: char; {необходимо для оператора Ord(а)}
b: integer; {для оператора Case}
begin {Начало процедуры}
repeat {оператор цикла}
begin {начало оператора цикла}; {очистка экрана, встроенная процедура}(' "Справочник выданных Мобильных карт" - Главное меню ');; {оператор вывода текста на экран с переводом курсора на следующую строку}(' Выйти из программы.');
a:=ReadKey; {присваиваем значение ReadKey - встроенная функция считывания кода нажатой клавиши типа Char}
b:=ord(a); {присваиваем переменной значение, возвращенное оператором ord-преобразует переменную типа Char в целочисленную - Integer}
case b of {начало оператора выборки по значению переменной b}
: ShowFile(FileName); {если b=49 (клавиша "1"), то запускаем ShowFile(FileName)}
end; {конец оператора выборки}
end; {конец оператора цикла}
until b=27; {условие повторного запуска цикла: пока переменная не будет равна 27 (клавиша "Esc")}
end; {конец процедуры}
Процедура ShowFile (AFileName:string{переменная строкового типа должна содержать имя файла БД}) - Проверяет существование файла БД посредством вызова функции FileExists(AFileName:string). Если таковой отсутствует, то процедура создает его. Далее вызывается функция вывода на экран файла БД - FshowFile(AFileName:string). Ниже прорисованной таблицы БД появляется меню пользователя:
-"ПоисктАж" вызывает процедуру меню поиска: MPoisk;
-"Выдать картутАж" вызывает функцию : FAddCards (AFileName:string);
-"Удалить картутАж" вызывает функцию : FDelCardsNo (AFileName:string; AFTmp:string);
-"Редактировать картутАж" вызывает функцию: FEdit (AFileName:string; AFTmp:string);
-"Сортировать списоктАж" вызывает процедуру MSort;
-"ВЫХОД - Главное меню" конец работы текущей процедуры;
Процедура MPoisk - процедура представляющая собой не что иное, как меню пользователя где предлагается для выбора три условия поиска нужной (ых) записи: по клиенту, по номеру карты и по типу топлива (соответственно по клавишам ). Процедуры SelectCardsClient, SelectCardsNo, SelectCardsGo