Н о м е р
|
Норма часу штучно-калькуляційного
|
Норма часу штучно-калькуляційного
|
цеху
|
дільниці
|
операції
|
на виріб
|
на виріб
|
CEH
|
DIL
|
NOP
|
TST
|
RST
|
Всього по дільниці
|
TSTdil
|
RSTdil
|
Всього по цеху
|
TSTceh
|
RSTceh
|
Разом по відомості
|
TSTvid
|
RSTvid
|
Показники
CEH, DIL, NOP, TST, RST
вибираються з вхідного файла MVPR.DAT.
Підсумкові
показники TSTdil,
RSTdil,
TSTceh,
RSTceh,
TSTvid,
RSTvid
розраховуються за формулами:
, (1)
і
- кількість записів просортованого файлу MVPR.DAT,
які
мають ідентичне значення показника «код дільниці».
, (2)
j - кількість записів,
що мають ідентичне значення показника «код цеху».
, (3)
m - загальна кількість
записів файлу.
Відомість
зведеної трудомісткості і розцінок на виріб в розрізі номерів цехів і кодів
дільниць використовується для списання сум з синтетичного рахунку №40 «Готова
продукція» на синтетичний рахунок № 45 «Товари відвантажені, виконані роботи та
послуги». Відомість також використовується відділом збуту підприємства для
контролю за виконанням угод на постачання готової продукції.
Вихідне
зведення «Відомість зведеної трудомісткості і розцінок на виріб в розрізі
номерів цехів і кодів дільниць» формується на основі даних вхідного файлу MVPR.DAT,
попередньо просортованого по номенклатурному номеру, коду отримувача та номеру
складу.
Формування
та вивід зведення на дисплей здійснюється процедурами DRUK_VIDOMOSTI,
DRSUM1 та DRSUM2.
2. Практична
частина
2.1 Архітектура програми
Поставлена
задача реалізується програмою KURS414.PAS.
Програма
складається з головного блоку (блок-схему див. додаток 1) та п’яти процедур:
- ZAPYS_NA_DYSK;
- VYVID_Z_DYSKA;
- DRUK_VIDOMOSTI;
- DRSUM1;
- DRSUM2.
Програму
можна запустити на виконання способами:
n з
головного меню інтегрованого середовища Turbo
Pascal шляхом вибору опції Run
(попередньо програма повинна бути завантажена в ОП - F10,
File, Open,
KURS414.PAS);
n з
середовища операційної оболонки Norton
Commander шляхом запуску KURS414.EXE
(попередньо програма повинна буди відкомпільована з опцією Destination
To Memory).
Програма
виводить на дисплей головного меню, котре пропонує користувачеві вибір однієї з
опцій:
-
запис даних на диск;
-
вивiд файлу на дисплей;
-
вивiд вихідного зведення на дисплей;
-
завершення роботи.
При
виборі деякого пункту меню викликається
відповідна процедура. Завершення роботи програми і повернення в середовище системи
програмування Turbo
Pascal здійснюється при
натисканні клавіші Esc,
що відповідає вибору опції «Завершення роботи». Програма формує на ТМД файл
послідовного доступу OPER.DAT
і формує на основі цього файлу відомість зведеної трудомісткості і розцінок на
виріб в розрізі номерів цехів і кодів дільниць.
Процедура ZAPYS_NA_DYSK.
Призначення - ввід даних з первинних документів і
запис їх на диск у файл OPER.DAT.
Процедура викликається з головного меню програми при виборі пункту «Запис даних
на диск» (функціональна клавіша F4).
Процедура виводить на дисплей екранну форму для
вводу даних з первинних документів. Ввід даних здійснюється в такій
послідовності:
-
код цеху;
-
код дільниці;
-
код операції;
-
норма часу штучно-калькуляційного;
-
розцінка часу штучно-калькуляційного.
Після
вводу запису користувачеві пропонується продовжити ввід даних, натиснувши
клавішу Enter, або завершити ввід, натиснувши комбінацію
клавіш CTRL+Z.
В останньому випадку процедура припиняє роботу і повертає керування в програму.
Процедура VYVID_Z_DYSKA.
Призначення - читання вхідних даних з дискового файлу OPER.DAT
та
вивід їх на дисплей. Процедура
викликається з головного меню програми при виборі пункту «Вивід файлу на
дисплей» (функціональна клавіша F5).
При ініціалізації процедури на екран виводиться екранна форма и відкривається
вхідний файл OPER.DAT
для читання. Записи файлу зчитуються з диска один за одним і виводяться на
дисплей (див. додаток 4). Процедура
завершує роботу при досягненні кінця файлу OPER.DAT
і передає керування у викликаючу її програму.
Процедура DRUK_VIDOMOSTI.
Призначення - вивід вихідного зведення на друкуючий пристрій ПК. Вхідна
інформація для жаної процедури зберігається у файлі OPER.DAT.
Виклик процедури здійснюється з головного меню програми при натисканні
функціональної клавіші F6, тобто при виборі пункту
«Вивід таблиці на дисплей». Процедура в свою чергу викликає процедури DRSUM1,
DRSUM2.
Дана
процедура здійснює ввід записів вхідного файлу OPER.DAT
та
форматований вивід їх на друк з одночасним підрахунком підсумків по
коду дільниці, коду складу та загальних підсумків по відомості. При досягненні
кінця файлу OPER.DAT
процедура завершує свою роботу і передає керування в програму.
Блок-схема
процедури представлена в додатку 3.
Процедура DRSUM1.
Призначення
- вивід підсумків по коду дільниці та підрахунок підсумків по коду складу.
Викликається з процедури DRUK_VIDOMOSTI.
Повертає керування у викликаючу процедуру автоматично після підрахунку
підсумків.
Процедура DRSUM2.
Призначення - вивід підсумків по коду отримувача та
підрахунок загальних підсумків по відомості. Викликається з процедури DRUK_VIODMOSTI.
Повертає керування у викликаючу процедуру автоматично після підрахунку
підсумків.
2.2
Опис програми
Програма
складена і відладжена в середовищі Turbo
Pascal 6.0.
На початку програми згідно вимог технології програмування розміщується вступний
коментар, а решта операторів програми мають таке призначення:
001 заголовок
програми
002 підключення
зовнішніх модулів управління дисплеєм (Crt) та друкуючим пристроєм (Printer)
003 опис
типу даних vypusk для опису структури запису вхідного файлу
004
опис дискового файлу OPER
005-009 опис
робочих змінних програми
010 заголовок
процедури ZAPYS_NA_DYSK
011 початок
процедури
012 очистка
екрану
013 присвоєння
системній змінній ChekEof істиного значення, що забезпечує переривання вводу
даних з клавіатури з допомогою комбінації клавіш CTRL+Z
014 відкриття
дискового файлу OPER для запису даних з первинних документів
015-023 вивід
екранної форми для вводу даних з первинних документів
024 присвоєння
змінній позиціонування курсора початкового значення 7
025 заголовок
оператора присвоєння
026 початок
циклу, котрий буде виконуватись поки змінна eof не набуде значення true ( цикл
вводу даних з клавіатури)
027-031 ввід
значень змінних ceh (код цеху), dil (код дільниці), nop (код операції), tst
(норма часу штучно-калькуляційного), rst (розцінка часу штучно-калькуляційного)
032 запис
даних у вхідний дисковий файл OPER.DAT
033 збільшення
змінної позиціонування курсора на одиницю
034 кінець
дії оператора приєднання
035 кінець
циклу вводу даних
036 кінець
тіла процедури
037 закриття
дискового файлу OPER
038 кінець
процедури ZAPYS_NA_DYSK
039 заголовок
процедури VYVID_Z_DYSKA
040 початок
процедури
041
відкриття дискового файлу OPER для читання записів
042 очистка
екрану
043-048 вивід
екранної форми для відображення вхідних даних
049 присвоєння
змінній позиціонування курсора початкового значення 7
050 початок
дії оператора приєднання
051 початок
циклу вводу записів файлу OPER (поки не eof)
053 зчитування
запису файлу OPER у змінну vps
054 форматований
вивід полів ceh, dil, nop, tst, rst введеного запису на дисплей
055 збільшення
змінної позиціонування курсора на одиницю
056 кінець
циклу вводу записів файлу MVPR
057 кінець
дії оператора приєднання
058 вивід
останньої стрічки екранної форми
059 організація
зупинки у виконанні програми (очікування вводу довільного символа з клавіатури)
060 закриття
дискового файлу OPER
061 кінець
процедури VYVID_Z_DYSKA
062 заголовок
процедури DRSUM1
063 початок
процедури
064-065 вивід
на дисплей підсумків по дільниці - pd1,pd2
066-067 підрахунок
пiдсумків по коду складу (pc1, pc2)
068 кінець
процедури DRSUM1
069 заголовок
процедури DRSUM2
070 початок
процедури
071-072 вивід
на дисплей підсумків по цеху - pc1,pc2
073-074 підрахунок
загальних підсумків по відомості (pv1, pv2)
075 кінець
процедури DRSUM2
076 заголовок
процедури DRUK_VIDOMOSTI
077 опис
локальної мітки pdsm
078 початок
процедури
080 відкриття
дискового файлу OPER для читання
081-088 вивід
заголовку та шапки вихідного зведення на друк
089 читання
запису файлу OPER в змінну vps
091 заголовок
оператора приєднання
092 присвоєння
початкових значень змінним pv1,pv2, призначених для підрахунку підсумків по
відомості
093 запам’ятовування
коду складу (ceh) введеного запису в змінній kod_ceh
094 присвоєння
початкових значень змінним pc1, pc2, які призначені для підрахунку підсумків по
коду цеху
095 заголовок
циклу по цеху до тих пір поки kod_ceh = ceh
096 запам’ятовування
коду дільниці (dil) в змінній kod_dil
097 присвоєння
початкових значень змінним pd1, pd2, які призначені для підрахунку підсумків по
коду дільниці
098 заголовок
циклу по коду дільниціача (до тих пір поки kod_dil=dil
099 вивід
показників введеного запису (ceh, dil, nop, tst, rst) на дисплей
100-101 підрахунок
підсумків по дільниці за показниками норма часу (tst), та розцінка (rsr)
102 умовний
оператор, котрий перевіряє, чи досягнуто кінець файлу OPER і в разі виконання
цієї умови передає керування на мітку pdsm (оператор 109)
103 читання
наступного запису дискового файлу OPER в змінну vps
104 кінець
циклу по коду дільниці
105 виклик
процедури DRSUM1
106 кінець
циклу по коду цеху
107 виклик
процедури DRSUM2
108 кінець
циклу вводу з файлу MVPR
109-110 реалізація
переходу по кінцю вхідного файлу - послідовний виклик процедур DRSUM1, DRSUM2
111-112 вивід
загального підсумку по відомості (pv1,pv2)
113 закриття
файлу OPER
114 організація
паузи
115 кінець
діє оператора присвоєння
116 кінець
процедури DRUK_VIDOMOSTI
119 початок
головного блоку програми
120 присвоєння
дисковому файлу з логічним іменем OPER фізичного імені mvpr.dat
121 заговок
циклу виводу меню програми
123 очистка
екрану
124-125 встановлення
основного та фонового кольорів
126-138 вивід
головного меню програми та повідомлення «Виберіть режим роботи»
139 очікування
натискання клавіші на клавіатурі та присвоєння коду натиснутої клавіші змінній
vybir
140 заголовок
оператора вибору, котрий аналізує код натиснутої клавіші
141 виклик
процедури ZAPYS_NA_DYSK, якщо натиснуто клавішу F4 (код клавіші 6216)
142 виклик
процедури VYVID_Z_DYSKA, якщо натиснуто клавішу F5 (код клавіші 6316)
143 виклик
процедури DRUK_VIDOMOSTI, якщо натиснуто клавішу F6 (код клавіші 6416)
144 оператор
виходу, завершення роботи програми при натисканні клавіші Esc (код 2716)
145 кінець
оператора вибору
146 кінець
циклу виводу меню
147 кінець
програми
Блок-схема
програми представлена в додатку 2, текст програми представлено в додатку 4.
2.3
Контрольний приклад та результат
машинного експерименту
Випробування
будь-якої системи є набільш відповідальним і пов’язаний з найбільшими
труднощами і найбільшими втратами часу. Відладка і тестування - найважливіші
життєвого циклу програм. Не можна робити висновок про правильність програми
лише на тій підставі, що програма повністю протрансльована (відкомпільована) і
видала числові результати. Все, чого досягнуто в даному випалку - це отримання
деякої вихідної інформації, необов’язково правильної. В програмі все ще можуть
міститись логічні помилки. Тому необхідно здійснювати «ручну» перевірку
мащинних результатів.
Існує
кілька способів перевірки правильності машинних результатів:
1) обчислення результатів
вручну;
2) отримання результатів з
довідкової літератури, документації або сукупності таблиць;
3) отримання результату з
допомогою іншої програми.
Для
перевірки правильності створеної програми розроблено тестові дані, представлені
таблиці 3.
Таблиця
3.
Тестові
дані для перевірки правильності програми.
Номер
|
Норма часу
штучно-калькуляційного
|
Розцінка часу
штучно-калькуляційного
|
цеху
|
дільниці
|
операції
|
на виріб
|
на виріб
|
11
|
1
|
13
|
12,50
|
0,85
|
11
|
1
|
13
|
5,60
|
0,74
|
11
|
1
|
10,20
|
1,24
|
11
|
1
|
13
|
8,20
|
0,65
|
11
|
1
|
13
|
8,00
|
0,72
|
11
|
1
|
13
|
5,50
|
0,72
|
11
|
2
|
15
|
3,60
|
0,75
|
11
|
2
|
16
|
8,10
|
0,46
|
11
|
2
|
17
|
3,50
|
0,79
|
12
|
1
|
13
|
3,50
|
1,20
|
12
|
1
|
14
|
8,00
|
0,28
|
12
|
1
|
15
|
3,90
|
0,78
|
12
|
2
|
07
|
3,80
|
0,76
|
12
|
2
|
08
|
8,70
|
1,54
|
12
|
2
|
09
|
3,70
|
0,37
|
12
|
2
|
11
|
5,80
|
0,97
|
Після
обробки процедурою ZAPYS_NA_DYSK
вхідні
дані записуються на диск і виводитись на дисплей процедурою VYVID_Z_DYSKA.
Екранна
копія роботи процедури представлена в додатку 5.
Для
розробки контрольного прикладу використано табличний процесор Excel
інтегрованого
пакету Microsoft
Office 97.
Контрольний приклад представлено в таблиці 4.
Таблиця
4.
Дані,
представлені в таблицях 3 і 4 співпадають з результатами роботи програми,
представленими на екранних копіях (додатоки 5, 6), що свідчить про те, що
процедури вводу даних та формування і друку відомості працюють вірно.
Таким
чином, можна стверджувати, що програма дає правильні результати для розроблених
тестових даних. Однак висновок про правильність програми можна зробити тільки
після тривалої експлуатації.
Висновки
Розв’язування
економічних задач з використанням персональних комп’ютерів в умовах ринкової
економіки набуває великого практичного значення, оскільки дає можливість
отримати оперативну та достовірну інформацію. Використання з цією метою готових
пакетів прикладних програм має певні вади, найважливішими серед яких є висока
вартість фірмових пакетів та складність їх прив’язки для розв’язку конкретних,
особливо нескладних задач. Тому надзвичайно важливо вміти самостійно складати
прості програми для розв’язування задач економічного характеру.
В
даному курсовому проекті розроблено і описано програму для отримання відомості
відвантаження готової продукції. Для розробки програми вибрано мову Паскаль
(середовище Turbo
Pascal 6.0).
Програма розроблена із застосуванням методики процедурного програмування.
Програма
відкомпільована з отриманням незалежного ехе-файла та відладжена з
використанням набору тестових даних. Контрольний приклад для перевірки
роботоздатності програми розроблено з використанням табличного процесора Excel
з інтегрованого пакету Microsoft
Office97. Результат
машинного експерименту та контрольний приклад повністю співпали, тому можна
зробити висновок про можливість використання розробленої програми на практиці.
Дана програма може бути використана також при розробці пакету програм для
автоматизованої системи обробки інформації по обліку випуску та реалізації
готової продукції для конкретного замовника.
Вибір
алгоритмічної мови Паскаль для реалізації поставленої задачі повністю виправдав
себе. В процесі відладки програми зроблено висновок про можливість її
вдосконалення - реалізацію деяких підзадач (вивід меню, сортування вхідного
масиву) можна було б оформити у вигляді незалежних програмних модулів, які б
можна було надалі використати при розробці інших подібних задач економічного
характеру.
Список використаної літератури.
1. В.Я.Сердюченко.
Розробка алгоритмів та програмування мовою
Turbo Pascal.
- Х.: «Паритет», 1995. - 349 с.
2. М.С.Пушкар,
Г.П.Журавель, Ю.Я.Литвин, В.Г.Мельник. «Теоретичні основи бухгалтерського
обліку», видання друге, перероблене і доповнене. Тернопіль, 1998.
3. Н.М.Ткачнко.
«Бухгалтерський облік на птдприємствах України з різними формами власності».
Навчальний посібник. Видання 4-е, доповнене. К.: «А.С.К.», 1998.
4. Д.Ван Тассел. Стиль,
разработка, эффективность, отладка и испытание программ. М.: «Мир», 1985. - 332
с.