Автор: Пользователь скрыл имя, 19 Октября 2011 в 22:38, курсовая работа
Язык программирования TurboPascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском институте информатики (Швейцария). Первоначальная цель разработки языка диктовалась необходимостью инструмента «для обучения программированию как системной дисциплине». Однако очень скоро обнаружилась чрезвычайная эффективность языка TurboPascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем-компиляторов, баз данных, операционных систем и т.п.
Язык программирования TurboPascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском институте информатики (Швейцария). Первоначальная цель разработки языка диктовалась необходимостью инструмента «для обучения программированию как системной дисциплине». Однако очень скоро обнаружилась чрезвычайная эффективность языка TurboPascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем-компиляторов, баз данных, операционных систем и т.п. К настоящему времени TurboPascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования. Существуют многочисленные реализации языка практически для всех машинных архитектур; разработаны десятки диалектов и проблемно-ориентированных расширений языка TurboPascal; обучение программированию и научно технические публикации в значительной степени базируются на этом языке.
Существует ряд объективных причин, обусловивших выбор языка TurboPascal для реализации данной программы. Среди них в первую очередь необходимо указать следующие:
Требуется разработать программу учёта работы склада. Программа должна обеспечивать возможность ввода наименования товара, инвентарного номера, даты поставки, цены и автоматический расчёт отпускной цены. Программа должна обеспечивать
- ввод данных;
- запись данных в файл;
- чтение данных из файла;
- вывод данных на экран;
- дополнение данных;
- удаление данных;
- поиск
информации по заданному
- сортировка данных методом «обменом»;
- построение диаграммы по данным и вывод ее на экран
Учёт работы склада должен быть представлен в таблице. Каждому препарату соответствовать отдельная строка таблицы.
Взаимодействие
пользователя и программы происходит
в диалоговом режиме с выводом
подсказок и запросов пользователю.
В программе должно быть реализовано
меню (горизонтальное с выбором по функциональной
клавише), обеспечивающее быстрый доступ
ко всем функциям программы.
Входными данными для программы является информация о товаре со следующими атрибутами: наименование, инвентарный номер, дата поставки, цена.
Выходными данными программы является список товаров со следующими атрибутами: наименование, инвентарный номер, дата поставки цена и отпускная цена.
В начале программы объявляется новый тип NEWTYPE, представляющий собой запись, состоящую из следующих полей представленный в таблице 1.
Таблица 1 – Состав записи
Имя переменной | Назначение | Тип | Ограничения |
nam | Наименование товара | STRING | 20 символов |
nom | Инвентарный номер | STRING | 20 символов |
dat | Дата поставки | STRING | 20 символов |
cen | Цена | REAL | |
ocen | Отпускная цена | REAL |
В программе используются переменные представленные в таблице 2.
Таблица 2 – Описание переменных
Имя переменной | Назначение | Тип | Ограничения |
keykod | Хранение кода нажатой клавиши | CHAR | |
i,n | Хранят номера записей | WORD | |
tek,beg,tek1,newp,next | Ссылки на элементы | ptr |
Продолжение таблицы 2
Процедура isreal | |||
Ws | Строка, считываемая для проверки введенного значения в процедуре проверки данных | STRING | |
Wr | Преобразованное из строки число в процедуре проверки данных | real | |
Wl | Флаг перевода строки в число в процедуре проверки данных | INTEGER | |
Процедура Find | |||
m | Строка для ввода названия препарата процедуре поиска | STRING | |
Процедура save | |||
fl | Файловая переменная для записи в файл и чтения из файла | FILE OF NEWTYPE | |
mflnam | Переменная для хранения имени файла | STRING | |
temp | Переменная для записи в файл | NEWTYPE |
Продолжение таблицы 2
Процедура load | |||
fl | Файловая переменная для записи в файл и чтения из файла | FILE OF NEWTYPE | |
m | Переменная для хранения имени файла | STRING | |
Функция WideFileTest | |||
fileError | Код ошибки обработки файлов | INTEGER | |
Процедура sort | |||
Y | Буфер обмена | Newtype | |
b,p | Указатели для смены мест элементов | Ptr | |
nam_b,nom_b,dat_b | Переменные для смены мест | String | |
ocen_b,cen | Переменные для смены мест | Real | |
Fl | Флаг сортировки | Boolean | |
Процедура diag | |||
X | Ширина выводимой области | INTEGER | - |
Y | Высота выводимой области | INTEGER | - |
cen | Переменная для вывода графика | Real | - |
V | Начальный отступ | INTEGER | - |
Ввод данных организован в форме диалога занесения данных, что обеспечивает простой, удобный и наглядный интерфейс. Ввод происходит в следующей последовательности.
При
вводе символов вместо числа
пользователю выводится
Чтение и Запись данных в файл. Данные сохраняются в файл, имя (и путь) которого вводится запросом к пользователю. Имеется возможность обрабатывать считанные из файла данные средствами программы.
Дополнение данных. Запись, содержащая дополняемые данные о товаре, заносится в таблицу после указанного в запросе номера записи. При успешном выполнении операции на экран выводится соответствующая информация.
Удаление данных. Определение данных, подлежащих удалению, осуществляется по номеру записи. Номер конкретной записи вводится пользователем после соответствующего запроса. Информация об успешном завершении операции удаления выводится на экран.
Поиск данных реализован в форме диалога, в котором ведется поиск данных по названию препарата, введенному с клавиатуры. Найденные данные выводится на экран. Если ничего не найдено, выводится сообщение об этом.
Вывод
данных на экран осуществляется
в форме таблицы, где каждому препарату
соответствует отдельная строка.
Сортировка данных. При выборе пункта меню "Сортировка", выполняется сортировка массива "Обменом". Следует отметить, что записи сортируются по полю «цена со скидкой».
Построение диаграммы производится по полю "Отпускная цена".
Выход При выборе пункта меню "Выход" программа завершает работу.
Процедуры программы:
Отладка программы является непременным этапом при создании практически любой программы, т. к. при написании программы обычно допускаются различные ошибки, и их необходимо выявить либо удостовериться, что в программе ошибок нет. Ошибки в программе могут быть трех типов:
Семантические и логические
Отладка предполагает выполнение следующих моментов: