Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Зміст
Вступ
1. Теоретична частина
.1 Постановка задачі
.2 Вхідна інформація
.3 Вихідна інформація
. Практична частина
.1 Архітектура програми
.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:
Курсовий проект складається зі вступу, двох розділів, висновків, списку використаної літератури, графічної частини та додатків. Текст пояснювальної записки набрано та роздруковано з використанням текстового редактора Word. Графічна частина виконана з допомогою графічного редактора Visio.
1. Теоретична частина
1.1 Постановка задачі
Розрахунок витрат на виробництво і калькуляційної собівартості готової продукції є найбільш трудомісткою і важливою ділянкою обліку, особливо на підприємствах, які випускають велику номенклатуру різних виробів. Облік затрат на виробництво концентрує інформацію, як авідноситься до всіх частин бухгалтерського обліку. При цьому кожне підприємство має свої характерні особливості обліку затрат на виробництво.
Облік витрат на виробництво повинен забезпечити:
Витрати, які впливають на собівартість продукції, групуються відповідно до їх економічного змісту за такими елементами:
На побудову обліку витрат на виробництво впливає організація виробничиго процесу, під якою розуміють розміщення устаткування і робітників, рух матеріалів і напівфабрикатів, взаємовідносини окремих структурних підрозділів підприємства.
Завданням передбачено розробку програмного забезпечення для отримання одного з головних звітів по обліку витрат на виробництво, а саме «Відомості зведеної трудомісткості і розцінок на виріб в розрізі номерів цехів і кодів дільниць».
Програма повинна забезпечувати виконання таких операцій:
ввід даних з первинного документа та їх запис на магнітний диск у файл послідовного доступу;
читання записів з дискового файлу і вивід їх на дисплей з метою візуального контролю введених даних;
сортування записів файлу по кодах дільниць і номерах цехів та вивід просортованих записів на диск;
формування та вивід вихідного зведення на дисплей.
Для реалізації поставленого завдання в середовищі Turbo Pascal 6.0 розроблено програму KURS414.PAS. Перелічені вище операції реалізуються в програмі за посередництвом процедур. Вхідні дані отримання вхідного зведення зберігаються на ТМД у файлі послідовного доступу з фізичеим іменем MVPR.DAT. Сортування записів вхідного файлу MVPR.DAT здійснюється в оперативній памяті з використанням методу обмінного сортування [1]. Для збереження просортованих записів створення окремого файлу не передбачено.
1.2 Вхідна інформація
Вхідною для даної задачі є інформація первинних документів. Дані з первинних документів вводяться з клавіатури ПК і записуються на ТМД в файл MVPR.DAT. Структура запису вхідного файлу представлена в таблиці 1.
Таблиця 1
Структура запису файла MVPR.DAT
Назва реквізиту |
Ідентифікатор |
Значність |
Тип даних |
Дата |
CEH |
2 |
символьний |
Склад |
DIL |
2 |
символьний |
Код отримувача |
NOP |
4 |
символьний |
Номер документу |
TST |
4 |
символьний |
Номенклатурний номер виробу |
RST |
6 |
символьний |
Файл має логічне імя oper, фізичне імя файлу - mvpr.dat, повне імя файлу d:\pascal\kurs\data\mvpr.dat.
Організація файлу - послідовна.
Ввід даних і запис їх у файл здійснює процедура ZAPYS_NA_DYSK.
Вивід записів файлу на дисплей здійснюється процедурою VYVID_Z_DYSKA.
1.3 Вихідна інформація
Вихідною інформацією при розвязуванні даної задачі є вихідне зведення, форма якого представлена в таблиці 2.
Таблиця 2.
Відомість зведеної трудомісткості і розцінок на виріб в розрізі номерів цехів і кодів дільниць
Н о м е р |
Норма часу штучно-калькуляційного |
Норма часу штучно-калькуляційного |
||
цеху |
дільниці |
операції |
на виріб |
на виріб |
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) та пяти процедур:
Програму можна запустити на виконання способами:
Програма виводить на дисплей головного меню, котре пропонує користувачеві вибір однієї з опцій:
- запис даних на диск;
- вивiд файлу на дисплей;
- вивiд вихідного зведення на дисплей;
- завершення роботи.
При виборі деякого пункту меню викликається відповідна процедура. Завершення роботи програми і повернення в середовище системи програмування Turbo Pascal здійснюється при натисканні клавіші Esc, що відповідає вибору опції «Завершення роботи». Програма формує на ТМД файл послідовного доступу OPER.DAT і формує на основі цього файлу відомість зведеної трудомісткості і розцінок на виріб в розрізі номерів цехів і кодів дільниць.
Процедур програми KURS414.PAS має таке призначення.
Процедура 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. Повертає керування у викликаючу процедуру автоматично після підрахунку підсумків.
Програма складена і відладжена в середовищі Turbo Pascal 6.0. На початку програми згідно вимог технології програмування розміщується вступний коментар, а решта операторів програми мають таке призначення:
001 заголовок програми
підключення зовнішніх модулів управління дисплеєм (Crt) та друкуючим пристроєм (Printer)
опис типу даних vypusk для опису структури запису вхідного файлу
опис дискового файлу OPER
-009 опис робочих змінних програми
заголовок процедури ZAPYS_NA_DYSK
початок процедури
очистка екрану
присвоєння системній змінній ChekEof істиного значення, що забезпечує переривання вводу даних з клавіатури з допомогою комбінації клавіш CTRL+Z
відкриття дискового файлу OPER для запису даних з первинних документів
-023 вивід екранної форми для вводу даних з первинних документів
присвоєння змінній позиціонування курсора початкового значення 7
заголовок оператора присвоєння
початок циклу, котрий буде виконуватись поки змінна eof не набуде значення true ( цикл вводу даних з клавіатури)
-031 ввід значень змінних ceh (код цеху), dil (код дільниці), nop (код операції), tst (норма часу штучно-калькуляційного), rst (розцінка часу штучно-калькуляційного)
запис даних у вхідний дисковий файл OPER.DAT
збільшення змінної позиціонування курсора на одиницю
кінець дії оператора приєднання
кінець циклу вводу даних
кінець тіла процедури
закриття дискового файлу OPER
кінець процедури ZAPYS_NA_DYSK
заголовок процедури VYVID_Z_DYSKA
початок процедури
відкриття дискового файлу OPER для читання записів
очистка екрану
-048 вивід екранної форми для відображення вхідних даних
присвоєння змінній позиціонування курсора початкового значення 7
початок дії оператора приєднання
початок циклу вводу записів файлу OPER (поки не eof)
зчитування запису файлу OPER у змінну vps
форматований вивід полів ceh, dil, nop, tst, rst введеного запису на дисплей
збільшення змінної позиціонування курсора на одиницю
кінець циклу вводу записів файлу MVPR
кінець дії оператора приєднання
вивід останньої стрічки екранної форми
організація зупинки у виконанні програми (очікування вводу довільного символа з клавіатури)
закриття дискового файлу OPER
кінець процедури VYVID_Z_DYSKA
заголовок процедури DRSUM1
початок процедури
-065 вивід на дисплей підсумків по дільниці - pd1,pd2
-067 підрахунок пiдсумків по коду складу (pc1, pc2)
кінець процедури DRSUM1
заголовок процедури DRSUM2
початок процедури
-072 вивід на дисплей підсумків по цеху - pc1,pc2
-074 підрахунок загальних підсумків по відомості (pv1, pv2)
кінець процедури DRSUM2
заголовок процедури DRUK_VIDOMOSTI
опис локальної мітки pdsm
початок процедури
відкриття дискового файлу OPER для читання
-088 вивід заголовку та шапки вихідного зведення на друк
читання запису файлу OPER в змінну vps
заголовок циклу по кінцю файла OPER
заголовок оператора приєднання
присвоєння початкових значень змінним pv1,pv2, призначених для підрахунку підсумків по відомості
запамятовування коду складу (ceh) введеного запису в змінній kod_ceh
присвоєння початкових значень змінним pc1, pc2, які призначені для підрахунку підсумків по коду цеху
заголовок циклу по цеху до тих пір поки kod_ceh = ceh
запамятовування коду дільниці (dil) в змінній kod_dil
присвоєння початкових значень змінним pd1, pd2, які призначені для підрахунку підсумків по коду дільниці
заголовок циклу по коду дільниціача (до тих пір поки kod_dil=dil
вивід показників введеного запису (ceh, dil, nop, tst, rst) на дисплей
-101 підрахунок підсумків по дільниці за показниками норма часу (tst), та розцінка (rsr)
умовний оператор, котрий перевіряє, чи досягнуто кінець файлу OPER і в разі виконання цієї умови передає керування на мітку pdsm (оператор 109)
читання наступного запису дискового файлу OPER в змінну vps
кінець циклу по коду дільниці
виклик процедури DRSUM1
кінець циклу по коду цеху
виклик процедури DRSUM2
кінець циклу вводу з файлу MVPR
-110 реалізація переходу по кінцю вхідного файлу - послідовний виклик процедур DRSUM1, DRSUM2
-112 вивід загального підсумку по відомості (pv1,pv2)
закриття файлу OPER
організація паузи
кінець діє оператора присвоєння
кінець процедури DRUK_VIDOMOSTI
початок головного блоку програми
присвоєння дисковому файлу з логічним іменем OPER фізичного імені mvpr.dat
заговок циклу виводу меню програми
очистка екрану
-125 встановлення основного та фонового кольорів
-138 вивід головного меню програми та повідомлення «Виберіть режим роботи»
очікування натискання клавіші на клавіатурі та присвоєння коду натиснутої клавіші змінній vybir
заголовок оператора вибору, котрий аналізує код натиснутої клавіші
виклик процедури ZAPYS_NA_DYSK, якщо натиснуто клавішу F4 (код клавіші 6216)
виклик процедури VYVID_Z_DYSKA, якщо натиснуто клавішу F5 (код клавіші 6316)
виклик процедури DRUK_VIDOMOSTI, якщо натиснуто клавішу F6 (код клавіші 6416)
оператор виходу, завершення роботи програми при натисканні клавіші Esc (код 2716)
кінець оператора вибору
кінець циклу виводу меню
кінець програми
Блок-схема програми представлена в додатку 2, текст програми представлено в додатку 4.
Випробування будь-якої системи є набільш відповідальним і повязаний з найбільшими труднощами і найбільшими втратами часу. Відладка і тестування - найважливіші життєвого циклу програм. Не можна робити висновок про правильність програми лише на тій підставі, що програма повністю протрансльована (відкомпільована) і видала числові результати. Все, чого досягнуто в даному випалку - це отримання деякої вихідної інформації, необовязково правильної. В програмі все ще можуть міститись логічні помилки. Тому необхідно здійснювати «ручну» перевірку мащинних результатів.
Існує кілька способів перевірки правильності машинних результатів:
Для перевірки правильності створеної програми розроблено тестові дані, представлені таблиці 3.
Таблиця 3.
Тестові дані для перевірки правильності програми.
Номер |
Норма часу штучно-калькуляційного |
Розцінка часу штучно-калькуляційного |
||
цеху |
дільниці |
операції |
на виріб |
на виріб |
11 |
,50 |
,85 |
||
11 |
,60 |
,74 |
||
11 |
,20 |
,24 |
||
11 |
,20 |
,65 |
||
11 |
,00 |
,72 |
||
11 |
,50 |
,72 |
||
11 |
,60 |
,75 |
||
11 |
,10 |
,46 |
||
11 |
,50 |
,79 |
||
12 |
,50 |
,20 |
||
12 |
,00 |
,28 |
||
12 |
,90 |
,78 |
||
12 |
,80 |
,76 |
||
12 |
,70 |
,54 |
||
12 |
,70 |
,37 |
||
12 |
,80 |
,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. Результат машинного експерименту та контрольний приклад повністю співпали, тому можна зробити висновок про можливість використання розробленої програми на практиці. Дана програма може бути використана також при розробці пакету програм для автоматизованої системи обробки інформації по обліку випуску та реалізації готової продукції для конкретного замовника.
Вибір алгоритмічної мови Паскаль для реалізації поставленої задачі повністю виправдав себе. В процесі відладки програми зроблено висновок про можливість її вдосконалення - реалізацію деяких підзадач (вивід меню, сортування вхідного масиву) можна було б оформити у вигляді незалежних програмних модулів, які б можна було надалі використати при розробці інших подібних задач економічного характеру.
Список використаної літератури.