Курсовая работа: Програма для отримання відомості трудомісткості і розцінок на виріб в розрізі дільниць та кодів деталей

Зміст

 

Вступ

1. Теоретична частина

1.1 Постановка задачі

1.2 Вхідна інформація

1.3 Вихідна інформація

2. Практична частина

2.1 Архітектура програми

2.2 Опис програми

2.3 Контрольний приклад та результат машинного експерименту

Висновки

Список використаної літератури

Додатки

 


Вступ

Персональні комп’ютери за призначенням фактично не мають обмежень, а їх можливості визначаються програмами, які обробляють інформацію. Щоб отримати за допомогою комп’ютера бажаний результат, треба мати відповідну програму.

Сьогодні є дуже багато готових пакетів. Однак будь-який пакет чи програма з моменту своєї появи морально старіє, тобто з’являються нові пропозиції щодо поліпшення їхніх можливостей, а самі задачі трансформуються у нові, наперед не передбачені. Відповідно до цих змін програми модифікуються - з’являються їхні нові версії. Крім того, сучасні пакети прикладних програм тяжіють до універсалізму, їхні розробники намагаються забезпечити підтримку якомога ширшого кола задач. Само по собі це намагання є позитивним, однак коли потрібно сьогодні розв’язати одну задачу, завтра - іншу, а післязавтра - ще іншу, і всі вони неоднорідні, то виникає потреба використовувати кілька різних програм чи пакетів. Це може виявитись досить складним.

Радикальним виходом з цієї ситуації є самостійна розробка програм для розв’язування конкретних задач. Важливим у цьому випадку є навики та досвід програміста, його вміння складати надійні та ефективні програми. Не мале значення має і вибір мови програмування. Часто вибір мови програмування зумовлюється даною обчислювальною системою або підготовкою програміста. Слід протистояти бажанню писати програму на даній мові просто тому, що вона більше знайома. Якщо мова програмування не підходить для даного класу задач, то можуть виникнути значні труднощі при програмуванні та відладці програми. Якщо програмістові надається можливість вибору, то слід вибирати ту мову високого рівня, яка найбільш придатна для розв’язування задач даного типу.

Завдання на курсовий проект передбачає розробку програмного забезпечення для розв’язування задачі економічного характеру, тому для створення програми було вибрано середовище Turbo Pascal 6.0.

Розробник системи програмування Turbo Pascal - фірма Borland International виникла в 1984 році і за порівняно короткий час неодноразово дивувала користувачів персональних ЕОМ своїми Turbo системами. Було випущено на ринок програмних продуктів декілька версій Turbo Pascal: 3.0, 4.0, 5.0, 5.5, 6.0, 7.0, Pascal for Windows, Borland Pascal.

Головні особливості мови Turbo Pascal:

-  широкий спектр даних;

-  можливість обробки стрічкових та структурних даних;

-  достатній набір операторів керування розгалуженнями та циклами;

-  відносно слабкі можливості вводу-виводу даних порівняно з іншими мовами високого рівня (Turbo C та PL/1);

-  добре розвинутий апарат підпрограм;

-  зручні конструкції роботи з файлами;

-  великі можливості керування всіма ресурсами комп’ютера;

-  різноманітні варіанти стикування з мовою Асемблера;

-  використання інтегрованого середовища, яке значно підвищує продуктивність праці програміста;

-  підтримка ідей об’єктно-орієнтованого програмування (ООП).

Курсовий проект складається зі вступу, двох розділів, висновків, списку використаної літератури, графічної частини та додатків. Текст пояснювальної записки набрано та роздруковано з використанням текстового редактора Word. Графічна частина виконана з допомогою графічного редактора Visio.


1. Теоретична частина

 

1.1 Постановка задачі

Розрахунок витрат на виробництво і калькуляційної собівартості готової продукції є найбільш трудомісткою і важливою ділянкою обліку, особливо на підприємствах, які випускають велику номенклатуру різних виробів. Облік затрат на виробництво концентрує інформацію, як авідноситься до всіх частин бухгалтерського обліку. При цьому кожне підприємство має свої характерні особливості обліку затрат на виробництво.

Облік витрат на виробництво повинен забезпечити:

-  розрахунок виконання виробничого плану;

-  визначення фактичної собівартості і виявлення понаднормативних витрат;

-  контроль за виконанням планових показників;

-  зниження самоцінності продукції за всіма статтями затрат;

-  контроль за дисципліною і своєчасним виявленням нераціональних витрат матеріальних та фінансових ресурсів.

Витрати, які впливають на собівартість продукції, групуються відповідно до їх економічного змісту за такими елементами:

1.  матеріальні витрати

2.  витрати на оплату праці

3.  відрахування на соціальне страхування

4.  амортизація основних фондів та нематеріальних активів

5.  інші витрати.

На побудову обліку витрат на виробництво впливає організація виробничиго процесу, під якою розуміють розміщення устаткування і робітників, рух матеріалів і напівфабрикатів, взаємовідносини окремих структурних підрозділів підприємства.

Завданням передбачено розробку програмного забезпечення для отримання одного з головних звітів по обліку витрат на виробництво, а саме «Відомості зведеної трудомісткості і розцінок на виріб в розрізі номерів цехів і кодів дільниць».

Програма повинна забезпечувати виконання таких операцій:

ввід даних з первинного документа та їх запис на магнітний диск у файл послідовного доступу;

читання записів з дискового файлу і вивід їх на дисплей з метою візуального контролю введених даних;

сортування записів файлу по кодах дільниць і номерах цехів та вивід просортованих записів на диск;

формування та вивід вихідного зведення на дисплей.

Для реалізації поставленого завдання в середовищі Turbo Pascal 6.0 розроблено програму ZATRATY.PAS. Перелічені вище операції реалізуються в програмі за посередництвом процедур. Вхідні дані отримання вхідного зведення зберігаються на ТМД у файлі послідовного доступу з фізичеим іменем MVPR.DAT. Сортування записів вхідного файлу MVPR.DAT здійснюється в оперативній пам’яті з використанням методу обмінного сортування [1]. Для збереження просортованих записів створення окремого файлу не передбачено.

1.2 Вхідна інформація

Вхідною для даної задачі є інформація первинних документів. Дані з первинних документів вводяться з клавіатури ПК і записуються на ТМД в файли MVPR.DAT (оперативний) та MPD.DAT (довідковий). Структура запису вхідного оперативного файлу представлена в таблиці 1.


Таблиця 1

Структура запису файла MVPR.DAT

Назва реквізиту Ідентифікатор Значність Тип даних
Код цеху CEH 2 Цілий
Код дільниці DIL 2 Цілий
Код деталі DET 7 Символьний
Об'єм виробничої партії OPP 4 Дійсний
Час підготовчо-заключний TPZ 4(1) Дійсний
Час штучний TST 4(1) Дійсний
Розцінка підготовчо-заключного часу RPZ 5(2) Дійсний
Розцінка штучного часу RST 5(2) Дійсний

Файл має логічне ім’я dov, фізичне ім’я файлу - mpd.dat, повне ім’я файлу d:\pascal\kurs\data\mpd.dat.

Організація файлу - послідовна.

Ввід даних і запис їх у файл здійснює процедура IN_DOV.

Вивід записів файлу на дисплей здійснюється процедурою OUT_DOV.

Структура запису вхідного довідкового файлу представлена в таблиці 2.

Таблиця 2

Структура запису файла MPD.DAT

Назва реквізиту Ідентифікатор Значність Тип даних
Код виробу VYRIB 2 Довгий цілий
Код деталі DET 7 Символьний
Кількість деталей у виробі KILDET 4 Цілий

Файл має логічне ім’я oper, фізичне ім’я файлу - mvpr.dat, повне ім’я файлу d:\pascal\kurs\data\mvpr.dat.

Організація файлу - послідовна.

Ввід даних і запис їх у файл здійснює процедура IN_OPER.

Вивід записів файлу на дисплей здійснюється процедурою OUT_OPER.


1.3 Вихідна інформація

Вихідною інформацією при розв’язуванні даної задачі є вихідне зведення, форма якого представлена в таблиці 2.

Таблиця 2. Відомість зведеної трудомісткості і розцінок на виріб в розрізі номерів дільниць і кодів виробів

Номер дільниці Код деталі Кількість деталей Норма часу Розцінка часу
на деталь на виріб на деталь на виріб
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. Практична частина

Поставлена задача реалізується програмою 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    Кінець тіла процедури

030    Кінець процедури In_Dov

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

147    Закриття файлу Dov

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 540003 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 с.