Разработка алгоритмов и их реализация

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



Содержание

Введение

. Назначение и область применения

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

. Используемые методы

. Алгоритм программы

Заключение

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

Приложение

Введение

Целью курсовой работы является углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере. Курсовая работа выполняется в среде Турбо Паскаль и предполагает работу с текстами, файловыми структурами, обработку записей.

файловый алгоритмизация паскаль программирование

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