Номер дільниці
|
Код деталі
|
Кількість деталей
|
Норма часу
|
Розцінка часу
|
на деталь
|
на виріб
|
на деталь
|
на виріб
|
DIL
|
DET
|
KILDET
|
NORMA1
|
V1
|
NORMA2
|
V2
|
Всього по коду деталі
|
|
PD1
|
|
PD2
|
|
PV1
|
|
PV2
|
Показники
DIL, DET, KILDET вибираються з вхідного оперативного файлу MVPR.DAT. Показники NORMA1,
NORMA2, V1,V2
розраховуються за формулами:
,
де
і - кількість деталей у j-му
виробі.
Підсумкові
показники PD1, PD2,
PV1, PV2
розраховуються за формулами:
‚
де
j - кількість виробів до складу яких
входить деталь з кодом DET;
‚
де
k- кількість
різних виробів‚ що випускаються на дільниці.
Відомість
зведеної трудомісткості і розцінок на виріб в розрізі номерів дільниць і кодів
деталей використовується для списання сум з синтетичного рахунку №40 «Готова
продукція» на синтетичний рахунок № 45 «Товари відвантажені, виконані роботи та
послуги». Відомість також використовується відділом збуту підприємства для
контролю за виконанням угод на постачання готової продукції.
Вихідне
зведення «Відомість зведеної трудомісткості і розцінок на виріб в розрізі
номерів дільниць і кодів деталей» формується на основі даних вхідного файлу MVPR.DAT,
попередньо просортованого по номеру дільниці та коду деталі.
Формування
та вивід зведення на дисплей здійснюється процедурою VIDOMІST.
2. Практична частина
2.1 Архітектура програми
Поставлена
задача реалізується програмою ZATRATY1.PAS.
Програма
складається з головного блоку (блок-схему див. додаток 1) та п’яти процедур:
- IN_DOV;
- OUT_DOV;
- IN_OPER;
- OUT_OPER;
- VIDOMIST.
Для
виконання програми необхідно виконати такі дії:
1)
увійти в середовище програмування Turbo
Pascal;
2)
завантажити
текст програми - F10, File, Open, ZATRATY1.PAS);
3)
відкомпілювати програму в довільному
режимі
(наприклад Compile, Compile);
4)
виконати програму (F10, Run).
Програма
також може бути завантажена і виконана з середовища операційної оболонки Norton
Commander шляхом запуску ZATRATY1.EXE
(попередньо програма повинна буди відкомпільована з опцією Destination
Memory).
Програма
виводить на дисплей головного меню, котре пропонує користувачеві вибір однієї з
опцій:
-
запис довідника на диск;
-
вивiд довідника на дисплей;
-
запис даних на диск;
-
вивiд файлу на дисплей;
-
вивiд вихідного зведення на дисплей;
-
завершення роботи.
При
виборі деякого пункту меню викликається
відповідна процедура. Завершення роботи програми і повернення в середовище
системи програмування Turbo
Pascal здійснюється при
натисканні клавіші Esc,
що відповідає вибору опції «Завершення роботи». Програма формує на ТМД файли
послідовного доступу MVPR.DAT
і MPD/DAT
та формує на основі даних цих файлів відомість зведеної трудомісткості і
розцінок на виріб в розрізі номерів дільниць кодів деталей.
Процедури
програми ZATRATY1.PAS
має таке призначення.
Процедура In_Oper.
Призначення - ввід даних з первинних документів і
запис їх на диск у файл MVPR.DAT.
Процедура викликається з головного меню програми при виборі пункту «Запис даних
на диск» (функціональна клавіша F4).
Процедура виводить на дисплей екранну форму для
вводу даних з первинних документів. Ввід даних здійснюється в такій
послідовності:
-
номер дільниці;
-
код деталі;
-
об'єм виробничої партії;
-
часу підготовчий;
-
час штучний;
-
розцінка підготовчого часу
-
розцінка штучного часу.
Після
вводу запису користувачеві пропонується продовжити ввід даних, натиснувши
клавішу Enter, або завершити ввід, натиснувши комбінацію
клавіш CTRL+Z.
В останньому випадку процедура припиняє роботу і повертає керування в програму.
Процедура Out_Oper.
Призначення - читання вхідних даних з дискового файлу MVPR.DAT
та
вивід їх на дисплей. Процедура
викликається з головного меню програми при виборі пункту «Вивід файлу на
дисплей» (функціональна клавіша F5).
При ініціалізації процедури на екран виводиться екранна форма и відкривається
вхідний файл MVPR.DAT
для читання. Записи файлу зчитуються з диска один за одним і виводяться на
дисплей (див. додаток 4). Процедура
завершує роботу при досягненні кінця файлу MVPR.DAT
і передає керування у викликаючу її програму.
Процедура Vidomist.
Призначення - вивід вихідного зведення на друкуючий пристрій ПК. Вхідна
інформація для жаної процедури зберігається у файлі
MVPR.DAT. Виклик процедури здійснюється з головного меню програми при
натисканні функціональної клавіші F6, тобто при виборі пункту «Вивід таблиці на
дисплей». Процедура в свою чергу викликає процедури DRSUM1,
DRSUM2.
Дана
процедура здійснює ввід записів вхідного файлу MVPR.DAT
та
форматований вивід їх на друк з одночасним підрахунком підсумків по
коду деталі та коду дільниці. При досягненні кінця файлу MVPR.DAT процедура
завершує свою роботу і передає керування в програму.
Блок-схема
процедури представлена в додатку 3.
2.2 Опис програми
Програма
складена і відладжена в середовищі Turbo
Pascal 6.0.
На початку програми згідно вимог технології програмування розміщується вступний
коментар, а решта операторів програми мають таке призначення:
001 Заголовок
програми
002 Підключення
зовнішніх модулів управління дисплеєм (Crt)
та друкуючим пристроєм (Printer)
003 опис
типу даних vypusk для опису
структури запису оперативного вхідного файлу
004 Опис
типу даних vyroby для опису
структури довідкового вхідного файлу
005 опис
дискових файлів OPER та DOV‚
робочих змінних програми
006 Заголовок
процедури IN_DOV
007 Початок
процедури
008 Очистка
екрану
009-015 Вивід
екранної форми для вводу даних
016 Присвоєння
системній змінній ChekEof
істиного значення, що забезпечує переривання вводу даних з клавіатури з
допомогою комбінації клавіш CTRL+Z
017 Відкриття
дискового файлу DOV для запису
даних з первинних документів
018 Заголовок
оператора присвоєння
020 Початок
циклу, котрий буде виконуватись поки змінна eof
не набуде значення true ( цикл вводу
даних з клавіатури)
021-023 Ввід
показників код виробу (VYRIB)‚
код деталі (DET)‚ кількість деталей (KILDET)
025 Запис
введених даних у вхідний дисковий файл DOV
024 Збільшення
змінної позиціонування курсора на одиницю
026 Кінець
дії оператора приєднання
027 Закриття
дискового файлу DOV
028 Кінець
циклу вводу даних
029 Кінець
тіла процедури
031 Заголовок
процедури Out_Dov
032 Початок
процедури
033-039 Вивід
екранної форми для відображення вхідних даних
040 Відкриття
дискового файлу DOV для читання
записів
041 Присвоєння
змінній позиціонування курсора початкового значення 8
042 Початок
циклу вводу записів файлу DOV
(поки не eof)
045 Зчитування
запису файлу Dov у змінну vrb
046 Форматований
вивід полів введеного запису на дисплей
047 Збільшення
змінної позиціонування курсора на одиницю
048 Кінець
циклу вводу записів файлу MVPR
049-050 Вивід
останньої стрічки екранної форми
051 Організація
зупинки у виконанні програми (очікування вводу довільного символа з клавіатури)
052 Закриття
дискового файлу DOV
053 Кінець
процедури Out_Dov
054 Заголовок
процедури In_Oper
055 Початок
процедури
056 Очистка
екрану
057 Присвоєння
системній змінній ChekEof
істиного значення, що забезпечує переривання вводу даних з клавіатури з
допомогою комбінації клавіш CTRL+Z
058 Відкриття
дискового файлу OPER для запису
даних з первинних документів
059 Заголовок
оператора присвоєння
062-072 Вивід
екранної форми для вводу даних
061 Початок
циклу, котрий буде виконуватись поки змінна eof
не набуде значення true ( цикл вводу
даних з клавіатури)
063-069 Ввід
показників номер дільниці (DIL)‚
код деталі (DET)‚ об'єм виробничої
партії (OPP)‚ час підготовчий (TPZ)
та штучний (TST)‚ розцінка
підготовчого (RPZ) та штучного часу (RST)
070 Запис
введених даних у вхідний дисковий файл OPER
073 Кінець
дії оператора приєднання
074 Кінець
циклу вводу даних
075 Закриття
дискового файлу OPER
076 Кінець
процедури In_Oper
077 Заголовок
процедури Out_Oper
078 Початок
процедури
079 Відкриття
дискового файлу Oper для читання
записів
080-086 Вивід
екранної форми для відображення вхідних даних
087 Присвоєння
змінній позиціонування курсора початкового значення 10
088 Початок
циклу вводу записів файлу Oper
(поки не eof)
090 Зчитування
запису файлу OPER у змінну vps
091-093 Форматований
вивід полів введеного запису на дисплей
094 Збільшення
змінної позиціонування курсора на одиницю
095 Кінець
циклу вводу записів файлу Oper
096-097 Вивід
останньої стрічки екранної форми
098 Організація
зупинки у виконанні програми (очікування вводу довільного символа з клавіатури)
099 Закриття
дискового файлу Oper
100 Кінець
процедури Out_Dov
101 Заголовок
процедури VIDOMIST
102 опис
локальної мітки pdd
103 Початок
процедури
105 Відкриття
дискового файлу OPER для читання
106-113 Вивід
заголовку та шапки вихідного зведення на друк
114 Читання
запису файлу OPER в змінну vps
115 Ініціалізація
змінних для підрахунку підсумків по коду дільниці
116 Заголовок
оператора приєднання
117 Заголовок
циклу по кінцю файла OPER
118 Запам’ятовування
коду деталі введеного запису в змінній koddet
119 Присвоєння
початкових значень змінним pd1,pd2,
призначених для підрахунку підсумків по коду деталі
121 Заголовок
циклу по коду деталі
122 Підготовка
файлу Dov до читання записыв
123 Вивід
коду дільниці та коду деталі
124 Заголовок
циклу по кінцю файла DOV
125 Ввід
запису файла DOV
126-129 Підрахунок
показників norma1, norma2,
v1, v2
130 Умовний
оператор, котрий перевіряє, чи змінився код деталі і випадку істинного значення
забороняє повторний вивід коду дільниці та коду деталі
131 Вивід показників norma1, norma2, v1, v2
132-133 Підрахунок
підсумків по коду деталі
135 Кінець
циклу обробки запису довідкового файлу
136 Ввід
наступного запису оперативного файлу
137 Перевірка
умови‚ чи досягнуто кінець файлу і у випадку істинного значення перехід на
мітку pdd (оператор 138)
139 Вивід
підсумків по коду деталі
140-141 Підрахунок
підсумків по коду дільниці
142 Завершення
циклу по кінцю файлу Oper
143-145 Вивід
підсумків по дільниці
146 Закриття
файлу Oper
148 Організація
паузи у виконанні програми
149 Кінець
дії оператора приєднання
150 Кінець
процедури VIDOMIST
151 Початок
головного блоку програми
152-153 Асигнування
файлів OPER (фізичне ім'я mvpr.dat)
та DOV (фізичне ім'я mpd.dat)
154 Заговок
циклу виводу меню програми
156 Очистка
екрану
157-158 Встановлення
основного та фонового кольорів
159-172 Вивід
головного меню програми та повідомлення «Виберіть режим роботи»
173 Очікування
натискання клавіщі на клавіатурі та присвоєння коду натиснутої клавіші змінній vybir
174 Заголовок
оператора вибору, котрий аналізує код натиснутої клавіші
175 Виклик
процедури IN_DOV,
якщо натиснуто клавішу F2
(код клавіші 6016)
176 Виклик
процедури OUT_DOV,
якщо натиснуто клавішу F3
(код клавіші 6116)
177 Виклик
процедури IN_OPER,
якщо натиснуто клавішу F4
(код клавіші 6216)
178 Виклик
процедури OUT_OPER,
якщо натиснуто клавішу F5
(код клавіші 6316)
179 Виклик
процедури VIDOMIST, якщо натиснуто
клавішу F6 (код клавіші 6416)
180 Оператор
виходу, завершення роботи програми при натисканні клавіші Esc
(код 2716)
181 Кінець
оператора вибору
182 Кінець
циклу виводу меню
183 Кінець програми
Блок-схема
програми представлена в додатку 1,
текст програми представлено в додатку 3.
2.3 Контрольний приклад та результат
машинного експерименту
Випробування
будь-якої системи є набільш відповідальним і пов’язаний з найбільшими
труднощами і найбільшими втратами часу. Відладка і тестування - найважливіші
життєвого циклу програм. Не можна робити висновок про правильність програми
лише на тій підставі, що програма повністю протрансльована (відкомпільована) і
видала числові результати. Все, чого досягнуто в даному випалку - це отримання
деякої вихідної інформації, необов’язково правильної. В програмі все ще можуть
міститись логічні помилки. Тому необхідно здійснювати «ручну» перевірку
мащинних результатів.
Існує
кілька способів перевірки правильності машинних результатів:
1) обчислення результатів
вручну;
2) отримання результатів з
довідкової літератури, документації або сукупності таблиць;
3) отримання результату з
допомогою іншої програми.
Для
перевірки правильності створеної програми розроблено тестові дані, представлені
таблиці 3.
Таблиця
3.
Тестові
дані для перевірки правильності програми.
Довідковий
файл Оперативний файл
Код виробу
|
Код деталі
|
Кількість деталей у виробі
|
|
Код дільниці
|
Код деталі
|
Норма часу на одну деталь
|
Розцінка за одну деталь
|
54
|
540001
|
12
|
|
17
|
540001
|
2,29
|
5,72
|
55
|
540001
|
10
|
|
17
|
540003
|
5,28
|
6,65
|
56
|
540001
|
8
|
|
17
|
540017
|
2,75
|
3,96
|
57
|
540001
|
15
|
|
|
|
|
|
58
|
540003
|
20
|
|
|
|
|
|
Продовження
таблиці 3.
59
|
540003
|
18
|
|
|
|
|
|
61
|
25
|
|
|
|
|
|
71
|
540017
|
10
|
|
|
|
|
|
72
|
540017
|
10
|
|
|
|
|
|
73
|
540017
|
12
|
|
|
|
|
|
74
|
541003
|
24
|
|
|
|
|
|
84
|
541003
|
23
|
|
|
|
|
|
87
|
571003
|
12
|
|
|
|
|
|
Після
обробки процедурою IN_OPER
вхідні
дані записуються на диск і виводитись на дисплей процедурою OUT_OPER.
Екранна
копія роботи процедури представлена в додатку 4.
Для
розробки контрольного прикладу використано табличний процесор Excel
інтегрованого
пакету Microsoft
Office 97.
Контрольний приклад представлено в таблиці 4.
Таблиця
4.
Дані,
представлені в таблицях 3 і 4 співпадають з результатами роботи програми,
представленими на екранних копіях (додатки 4, 5), що свідчить про те, що
процедури вводу даних та формування і друку відомості працюють вірно.
Таким
чином, можна стверджувати, що програма дає правильні результати для розроблених
тестових даних. Однак висновок про правильність програми можна зробити тільки
після тривалої експлуатації.
Розв’язування
економічних задач з використанням персональних комп’ютерів в умовах ринкової
економіки набуває великого практичного значення, оскільки дає можливість
отримати оперативну та достовірну інформацію. Використання з цією метою готових
пакетів прикладних програм має певні вади, найважливішими серед яких є висока
вартість фірмових пакетів та складність їх прив’язки для розв’язку конкретних,
особливо нескладних задач. Тому надзвичайно важливо вміти самостійно складати
прості програми для розв’язування задач економічного характеру.
В
даному курсовому проекті розроблено і описано програму для отримання відомості
трудомісткості і розцінок на виріб в розрізі дільниць та кодів деталей. Для
розробки програми вибрано мову Паскаль (середовище Turbo
Pascal 6.0).
Програма розроблена із застосуванням методики процедурного програмування.
Програма
відкомпільована з отриманням незалежного ехе-файла та відладжена з
використанням набору тестових даних. Контрольний приклад для перевірки
роботоздатності програми розроблено з використанням табличного процесора Excel
з інтегрованого пакету Microsoft
Office97. Результат
машинного експерименту та контрольний приклад повністю співпали, тому можна
зробити висновок про можливість використання розробленої програми на практиці.
Дана програма може бути використана також при розробці пакету програм для
автоматизованої системи обробки інформації по обліку нормування праці та затрат
на виробництво для конкретного замовника.
1. В.Я.
Сердюченко.
Розробка алгоритмів та прграмування мовою Turbo
Pascal. - Х.: «Паритет»,
1995. - 349 с.
2. М.С.
Пушкар, Г.П. Журавель, Ю.Я.
Литвин,
В.Г. Мельник. «Теоретичні
основи бухгалтерського обліку», видання друге, перероблене і доповнене.
Тернопіль, 1998.
3. Н.М.
Ткачнко.
«Бухгалтерський облік на птдприємствах України з різними формами власності».
Навчальний посібник. Видання 4-е, доповнене. К.: «А.С.К.», 1998.
4. Д.
Ван
Тассел. Стиль, разработка, эффективность, отладка и испытание программ. М.:
«Мир», 1985. - 332 с.