Книжный магазин

Автор работы: Пользователь скрыл имя, 03 Декабря 2013 в 00:36, курсовая работа

Краткое описание

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

Вложенные файлы: 1 файл

готовый.doc

— 949.50 Кб (Скачать файл)

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

В данной курсовой работе необходимо разработать программу  по созданию и обработке записей.

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

Типовыми операциями с записями являются:

    • создание и заполнение списка;
    • вывод данных;
    • удаление заданного элемента списка;
    • добавление нового элемента в список.

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

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

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

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

  • создавать список, содержащий сведения о книгах (фамилия, имя, отчество автора, издание, цена и скидка на книгу), а также вычисляемое поле – цена на распродаже;
    • производить удаление элемента списка;
    • дополнять список новыми данными
    • выводить список на экран;
    • выходить из программы.

 

2 Метод решения задачи и её формализация

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

Метод решения данной задачи можно представить в виде следующей схемы:

 

 

Для решения данной задачи применяется процедурный принцип построения программы:

  • Процедура Procedure write_data(l:integer) предназначена для создания и добавления новой записи список;
  • Процедура Procedure output(sel:integer) предназначена для вывода данных о книгах на экран;
  • Процедура Procedure DELETE(DS:PFish) предназначена для удаления элемента динамического списка по заданному ключу (наименование);
  • Процедура Procedure menu выполняет прорисовку вертикального меню на экране;

В программе данного  курсового проекта был использован  интерфейс типа «меню».

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

На каждом шаге диалога  пользователю предъявляются все  возможные в данный момент команды  в виде набора пунктов меню, из которого пользователь может выбрать нужный.

Для отображения меню на экране используется вывод в заданное место на экране текстового сообщения, которое состоит из нескольких групп слов (группа слов или одно слово – пункт меню). Вывод текста может быть реализован с помощью следующих операторов:

  • установка кодов цвета фона и символов с помощью процедур TextBackGround и TextColor или с помощью присвоения кода параметру TextAttr; значение TextAttr определяется как (Код цвета символа)х16 + (Код цвета символа)
  • перемещение курсора в позицию экрана (X,Y) для вывода очередного пункта меню с помощью процедуры GoToXY (X,Y);
  • вывод на экран текста очередного пункта меню с помощью процедуры Write (Name_P[i]) при использовании горизонтального меню или Writeln (Name_P[i]) при использовании вертикального меню. Эти пункты повторяются для каждого пункта меню, например, с помощью оператора for i:=1 to 5 do…

В программе данного курсового проекта использовался интерфейс пользователя типа «вертикальное меню с выбором по функциональной клавише».

 

 

3 Разработка состава и структуры исходных данных и результатов

Исходные данные и  результат представляют собой список. Элементом списка является переменная типа «запись», состоящая из полей данных.

В данном курсовом проекте  в информационной части содержится информация о книгах: фамилия, имя, отчество автора, издание, цена и скидка на книгу, и расчетное поле - цена на распродаже. Наиболее удобно для описания такой информации использовать тип Record (запись). Тип Record представляет собой совокупность логически связанных между собой элементов различного типа, которые называются полями. Входными и выходными данными является список, содержащий информацию о книгах. Результаты разработки структуры данных можно представить в форме таблицы:

Таблица 1 – Результаты разработки структуры данных

Назначение переменной

Идентификатор

Тип данных

Диапазон

Фамилия

fam

string[10]

0..25 символов

Имя

name

string[10]

0..25 символов

Отчество

otch

string[10]

0..32767

Издание

izd

string[10]

- 3,40E + 38 — -1,18E - 38, 0

 и 1,18E - 38 — 3,40E + 38

Цена

cena

real

- 3,40E + 38 — -1,18E - 38, 0

 и 1,18E - 38 — 3,40E + 38

Скидка

skidk

real

- 3,40E + 38 — -1,18E - 38, 0

 и 1,18E - 38 — 3,40E + 38

Цена на распродаже

raspr

real

- 3,40E + 38 — -1,18E - 38, 0

 и 1,18E - 38 — 3,40E + 38


 

Результат работы программы представляется в виде списка (таблицы) сведений о  книгах с указанием ее автора, издания, цены, скидки и итоговой стоимости

Результаты работы программы  представлены в Приложении В.

 

4 Разработка алгоритма решения задачи

В основной программе  производится загрузка графического режима, а затем в цикле производится обращение к процедуре вывода заголовка программы и функции создания и перемещения по меню. Далее идет обращение к нужной процедуре. Выход из цикла (и из программы) происходит если переменная stop примет значение Esc (то есть был выбран пункт меню “Выход из программы”). Перед выходом происходит закрытие графического режима.

В программе содержатся следующие процедуры обработки записей:

  1. Процедура write_data создает динамический список. Выделяет память для первой записи, после чего заполняют поля переменной, а в поле ссылки помещается вводимое значение. Далее в цикле создается последующий элемент списка и устанавливается указатель из предыдущего элемента на вновь созданный. Создание элементов происходит до тех пор пока пользователь положительно отвечает на запрос о продолжении ввода.
  2. Процедура Output выводит список на экран. Выполняется с помощью изменения текущего указателя от начального значения до тех пор, пока не будет конец файла.
  3. Процедура Delete удаляет элементы списка. В цикле производится поиск книги с заданным названием. После выполнения цикла, если удовлетворяющий условию элемент найден, то в зависимости от того, какая переменная удаляется (первая, из середины списка, последняя переменная списка) изменяются ссылки и производится удаление записи (освобождение оперативной памяти от динамической переменной).

Результаты разработки алгоритма решения задачи представлены в Приложении А

Текст программы представлен  в приложении Б.

 

5 Выбор языка программирования

Для разработки программы  данного курсового проекта был  использован язык Turbo Pascal 7.1.

Язык Паскаль разработан профессором Швейцарского федерального технологического института Никлаусом Виртом в 1968 - 1971гг. и назван в честь великого французского математика и механика Блеза Паскаля.

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

В 1992 году фирма Borland International выпустила пакет программирования, основанный на изучении языка Паскаль. Пакет Borland Pascal 7.0. учитывает многие новейшие достижения в программировании и практике создания программ и включает в себя три режима работы: в обычном режиме ОС и MS-DOS, в защищенном режиме MS-DOS и в среде Windows. Обладая расширенными возможностями, пакет Borland Pascal требует память примерно 30 Мбайт на жестком диске и не менее 2 Мбайт ОП.

Язык Паскаль разработан с учетом принципов структурного программирования, которое на современном этапе признано одним из методов рационализации труда программистов, для таких программ характерна простота отладки, корректировки, сопровождения и модификации программ. Паскаль обладает полным набором типов данных: простые переменные, массивы, файлы, множества, записи, ссылочные переменные; он позволяет использовать внешние программные модули. Особо отмечается надежность Паскаль программ, которая достигается за счет простоты и естественности конструкций языка, за счет  избыточности (например, обязательного описания переменных)

Язык Turbo Pascal является объектно-ориентированным и структурированным языком. Поэтому он удобен для написания больших программ. Программу можно разбить на части – подпрограммы, которые реализуются с помощью процедур и функций и в ходе выполнения основной программы можно обращаться к процедурам и функциям, что необходимо для решения программы данного курсового проекта. Это значительно облегчает выполнение программ и сокращение объема. Различные конструкции языка - разветвляющиеся, циклические позволяют изменять направление выполнения программ и производить многократные вычисления.

К возможностям Turbo Pascal относятся также использование дополнительных библиотек и стандартных модулей, что расширяет направления и возможности программирования. В программе данного курсового проекта использовался стандартный модуль Сrt, который имеет ряд возможностей, таких как управление клавиатурой, управление текстовым экраном, формирование окна, управление положением курсора, определение цвета фона и символов, управления принтером и звуковым сигналом и так далее. Важным для построения больших программных систем свойством этого языка является модульность. Кроме стандартных модулей Паскаль обладает возможностью создавать собственные модули пользователя. Они необходимы тогда, когда программа имеет объем более 64 Кбайт и поэтому программа разбивается на модули.

Язык программирования Turbo Pascal 7.0 предоставляет программисту возможность образовать и уничтожать переменные в любой момент работы программы, в соответствии с потребностями решаемой задачи, то есть возможность использования динамических переменных.

Есть и недостатки языка Паскаль: в нем нет операции возведения в степень, из-за богатства возможностей язык не прост для освоения в полном объеме в первоначальном изучении.

Среда программирования Turbo Pascal позволяет создавать тексты программ, компилировать их, находить ошибки и оперативно их исправлять, компоновать программы из отдельных частей, включая стандартные модули, отлаживать и выполнять отлаженную программу. Паскаль предоставляет пользователю большой объем справочной информации.

Возможности языка программирования Паскаль совершенствуются.

На основании описанных  возможностей и особенностей языка Turbo Pascal, он и выбран для написания программы данного курсового проекта.

 

 

6 Разработка программы

В программе данного  курсового проекта применялись  следующие операторы:

  • Условный оператор - if <условие> then <операторы 1>. Если условие истинно, то выполняется оператор 1, в противном случае управление передается на оператор, идущий за оператором if; или if <условие> then <операторы 1> else <операторы 2>. Если условие истинно, то выполняется оператор 1, в противном случае оператор 2;

Информация о работе Книжный магазин