Программа учёта работы склада

Автор: Пользователь скрыл имя, 19 Октября 2011 в 22:38, курсовая работа

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

Язык программирования TurboPascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском институте информатики (Швейцария). Первоначальная цель разработки языка диктовалась необходимостью инструмента «для обучения программированию как системной дисциплине». Однако очень скоро обнаружилась чрезвычайная эффективность языка TurboPascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем-компиляторов, баз данных, операционных систем и т.п.

Файлы: 1 файл

8.DOC

— 465.50 Кб (Скачать)
 

 
Введение

    Язык  программирования TurboPascal был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском  институте информатики (Швейцария). Первоначальная цель разработки языка  диктовалась необходимостью инструмента  «для обучения программированию как системной дисциплине». Однако очень скоро обнаружилась чрезвычайная эффективность языка TurboPascal в самых разнообразных приложениях, от решения небольших задач численного характера до разработки сложных программных систем-компиляторов, баз данных, операционных систем и т.п. К настоящему времени TurboPascal принадлежит к группе наиболее распространенных и популярных в мире языков программирования. Существуют многочисленные реализации языка практически для всех машинных архитектур; разработаны десятки диалектов и проблемно-ориентированных расширений языка TurboPascal; обучение программированию и научно технические публикации в значительной степени базируются на этом языке.

    Существует  ряд объективных причин, обусловивших выбор языка TurboPascal для реализации данной программы. Среди них в первую очередь необходимо указать следующие:

  1. Язык в современной и элегантной форме отразил важнейшие современные концепции технологии разработки программ: развитая система типов, ориентация на принципы структурного программирования, поддержка процесса пошаговой разработки.
  2. Несмотря на относительную простоту языка, он оказался пригоден для  весьма широкого спектра приложений, в том числе для разработки очень больших и сложных программ, например, операционных систем.
  3. Язык TurboPascal содержит удобные   средства для представления данных. Развитая система типов позволяет адекватно описывать данные, подлежащие обработке, и конструировать структуры данных произвольной сложности. TurboPascal является типизированным языком, что означает фиксацию типов переменных при  их описании, а также строгий контроль преобразований типов и контроль доступа к данным в соответствии с их типом.
  4. Набор операторов TurboPascal отражает принципы структурного программирования и позволяет записывать достаточно сложные алгоритмы в компактной и элегантной форме. TurboPascal является процедурным языком с традиционной блочной структурой и статически определенными областями действия имен. Процедурный механизм сочетает в себе простоту реализации и использования, гибкие средства параметризации.
  5. Синтаксис языка достаточно не сложен. Программы записываются в свободном формате, что позволяет сделать их наглядными и удобными для изучения.

 

Постановка  задачи на разработку программы

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

       - ввод  данных;

       - запись данных в файл;

       - чтение  данных из файла;

       - вывод  данных на экран;

       - дополнение  данных;

       - удаление  данных;

       - поиск  информации по заданному атрибуту;

       - сортировка данных методом «обменом»;

       - построение  диаграммы по данным и вывод  ее на экран

    Учёт  работы склада должен быть представлен в таблице. Каждому препарату соответствовать отдельная строка таблицы.

 

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

 

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

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

    Выходными данными программы является список товаров со следующими атрибутами: наименование, инвентарный номер, дата поставки цена и  отпускная цена.

    В начале программы объявляется новый тип 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 -

 

Методы  решения задачи

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

    1. Число записей для ввода
    2. Наименование товара
    3. Инвентарный номер
    4. Дата поставки
    5. Цена
    6. Отпускная цена вычисляется по формуле: Цена*1,1.

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

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

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

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

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

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

    Сортировка  данных. При выборе пункта меню "Сортировка", выполняется сортировка массива "Обменом". Следует отметить, что записи сортируются по полю «цена со скидкой».

Построение  диаграммы производится по полю "Отпускная цена".

    Выход  При выборе пункта меню "Выход" программа завершает работу.

 

Описание  программы

 

Процедуры программы:

  • Procedure Menu – выводит главное меню программы;
  • Procedure Bhead – выводит шапку таблицы данных
  • Procedure testr(txt:string; var wt:real) - процедура ввода и контроля вещественных числовых значений;
  • Procedure vvod – процедура ввода данных в основной массив программы;
  • Procedure addarray – процедура добавления новой записи в массив;
  • Procedure find – процедура поиска записи в массиве;
  • Procedure del  - процедура удаления записи из массива;
  • Procedure out – процедура вывода данных на экран;
  • Function WideFileTest:boolean – функция проверки правильности ввода/вывода данных в файл;
  • Procedure save – процедура записи данных в файл;
  • Procedure load – процедура чтения данных из файла;
  • Procedure sort – процедура сортировки данных;
  • Procedure diag- процедура построения диаграммы;

 

Методика  отладки программы

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

  1. синтаксические, которые возникают при нарушении правил написания предложений языка;
  2. семантические, связанные с недопустимыми значениями параметров, недопустимыми действиями над параметрами и т. д.;  выявляются эти ошибки во время работы программы (обычно на этапе отладки);
  3. логические ошибки, связанные с неправильным использованием тех или иных алгоритмических конструкций; эти ошибки приводят к неправильным результатам при работе программы (часто не во всех случаях, а только при определенном сочетании параметров), но нарушение работы программы не вызывают.

      Семантические и логические ошибки  можно выявить тестированием  программы, с использованием встроенного отладчика.

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

  • выявление факта наличия ошибки в программе;
  • определение места нахождения ошибки (локализация);
  • устранение ошибки.

Информация о работе Программа учёта работы склада