2. Практична частина
2.1 Архітектура програмиПоставлена задача реалізується програмою KURS.
Програма складається з головного блоку та чотирьох процедур:
- VVID;
- VYVID;
- SORT;
- ZVEDENNYA.
Запуск програми здійснюється двома способами:
n з головного меню інтегрованого середовища Turbo Pascal шляхом вибору опції Run (попередньо програма повинна бути завантажена в ОП - F10, File, Open, KURS.PAS);
n із середовища операційної оболонки Norton Commander шляхом запуску KURS.EXE (попередньо програма повинна буди відкомпільована з опцією Destination To Memory).
Програма виводить на дисплей головного меню, котре пропонує користувачеві вибір однієї з опцій:
Ø запис даних на диск;
Ø вивід файлу на дисплей;
Ø сортування записів вхідного файлу;
Ø вивід зведення на дисплей;
Ø завершення роботи.
При виборі певної опції викликається відповідна процедура програми. Завершення роботи програми й повернення в середовище системи програмування Turbo Pascal здійснюється при натисканні клавіші Esc, або при виборі опції "Завершення роботи". Програма формує на жорсткому диску файл послідовного доступу ZARPLATA.DAT, сортує записи цього файлу з без утворення нового дискового файлу і на основі даних файлу ZARPLATA.DAT формує та виводить на екран дисплею відомість утримань і внесків з оплати праці.
Наведемо опис процедур програми KURS.PAS.
Процедура VVID. Призначення - ввід даних з первинних документів і запис їх на диск у файл ZARPLATA.DAT. Процедура викликається з головного меню програми при виборі пункту "Запис даних на диск" (функціональна клавіша F2). Процедура виводить на дисплей екранну форму для вводу даних з первинних документів. Ввід даних здійснюється в такій послідовності:
- місяць;
- код сільськогосподарського підприємства;
- шифр виробничих затрат;
- вид утримань;
- сума утримань.
Після вводу запису користувачеві пропонується продовжити ввід даних, натиснувши клавішу Enter, або завершити ввід, натиснувши клавішу Esc. В останньому випадку процедура припиняє роботу і повертає керування в програму.
Процедура VYVID. Призначення - читання вхідних даних з дискового файлу ZARPLATA.DAT та вивід їх на дисплей. Процедура викликається з головного меню програми при виборі пункту "Вивід файлу на дисплей" (функціональна клавіша F3). При ініціалізації процедури на екран виводиться екранна форма і відкривається вхідний файл ZARPLATA.DAT для читання. Записи файлу зчитуються з диска один за одним і виводяться на дисплей (див. додаток 5). Процедура завершує роботу при досягненні кінця файлу ZARPLATA.DAT і передає керування в програму.
Процедура SORT. Призначення - сортування записів вхідного файлу ZARPLATA.DAT. Процедура викликається з головного меню програми при виборі пункту "Сортування файлу" (функціональна клавіша F4). Сортування записів файлу здійснюється в пам’яті ПК методом прямого обміну. При запуску процедури записи вхідного файлу зчитуються в масив змінних, а по завершенні впорядкування переписуються у файл ZARPLATA.DAT. Після запису впорядкованого масиву на диск процедура передає керування головному блокові програми.
Процедура ZVEDENNYA. Призначення - вивід стрічки вихідного зведення на екран дисплею. Вхідна інформація для даної процедури знаходиться у файлі ZARPLATA.DAT. Виклик процедури здійснюється з головного меню програми при натисканні функціональної клавіші F7, тобто при виборі пункту "Вивід зведення на дисплей".
Дана процедура здійснює зчитування записів вхідного файлу та форматований вивід їх на друк з одночасним підрахунком підсумків по коду утримання та по коду с/г підприємства. При досягненні кінця файлу ZARPLATA.DAT процедура завершує свою роботу і передає керування в програму.
Блок-схема процедури представлена в додатку 3.
2.2 Опис програмиПрограма складена і відладжена в середовищі Turbo Pascal 7.0. Опишемо призначення кожного оператора програми.
На початку програми згідно з вимогами технології програмування щодо документування програм розміщено вступний коментар до програми, а решта операторів програми мають таке призначення:
001 | заголовок програми |
002 | підключення зовнішнього модуля управління дисплеєм (Crt) |
003-008 | опис структури запису вхідного файлу |
009 | опис типованої змінної для дискових файлів |
010 | опис дискового файлу zarplata |
011-015 | опис робочих змінних програми |
016 | заголовок процедури VVID |
017-019 | початок процедури, опис мітки та очистка екрану |
020 | відкриття дискового файлу ZARPLATA в режимі запису та дозапису |
021-022 | присвоєння змінним і та s початкових значень |
023-029 | вивід екранної форми для вводу даних з первинних документів та запрошення для продовження роботи або виходу з процедури вводу |
030 | заголовок оператора приєднання |
031 | присвоєння системній змінній CheckEof істинного значення (для організації виходу з процедури при натисканні комбінації клавіш Ctrl+Z |
032 | Заголовок циклу вводу |
033-036 | ввід значень змінних data (дата), sh_firma (код с/г підприємства), kod_utr (код утримань), suma (сума утримань) |
037 | запис уведених даних у дисковий файл ZARPLATA |
038 | збільшення номера стрічки (s) на одиницю |
039-044 | організація вводу по сторінках: при досягненні 23 стрічки здійснюється очистка екрану (вікна вводу) |
045 | кінець циклу вводу даних |
046 | кінець дії оператора приєднання |
047 | закриття оперативного файлу ZARPLATA (мітка zakr) |
048 | кінець тіла процедури вводу вхідних даних |
049 | заголовок процедури VYVID |
051 | початок процедури |
052 | відкриття дискового файлу ZARPLATA для читання записів |
053-060 | вивід екранної форми для відображення вхідних даних |
061 | присвоєння змінній s (номер стрічки екранної форми) початкового значення 7 |
063 | початок циклу вводу записів файлу ZARPLATA (поки не eof) |
064 | зчитування запису файлу ZARPLATA у змінну w1 |
065-068 | форматований вивід полів прочитаного запису на екран |
069 | збільшення змінної позиціонування курсору на одиницю |
070 | кінець циклу вводу |
071 | кінець дії оператора приєднання |
073 | закриття дискового файлу |
074 | пауза в роботі процедури |
075 | кінець процедури VYVID |
076 | заголовок процедури SORT |
077-080 | опис локальних змінних процедури |
081 | початок процедури |
082 | відкриття файлу F1 для читання |
083 | присвоєння змінній n значення‚ рівного кількості записів у вхідному файлі F1 |
084 | зчитування записів вхідного файлу в масив змінних а |
085 | закриття вхідного файлу F1 |
086-093 | впорядкування елементів масиву а методом простого обміну |
094 | відкриття файлу F2 для запису |
095 | запис елементів масиву а в файл F2 |
096 | закриття вхідного файлу F2 |
097 | кінець процедури сортування |
101 | заголовок процедури zvedennya |
103 | початок процедури |
104 | відкриття дискового файлу zarplata для читання |
105-112 | вивід заголовку та шапки вихідного зведення |
113 | читання запису файлу ZARPLATA в змінну w1 |
114 | заголовок оператора приєднання |
115 | заголовок циклу по кінцю файлу ZARPLATA (доки не eof) |
116 | запам’ятовування коду с/г підприємства поочного запису (sh_firma) в змінній c |
117 | присвоєння початкових значень змінній s1, яка призначена для підрахунку підсумків по коду с/г підприємства |
118 | заголовок циклу по коду с/г підприємства (до тих пір c = sh_firma) |
119 | присвоєння початкових значень змінній s2, яка призначена для підрахунку підсумків по коду утримання |
120 | запам’ятовування коду утримання поточного запису (kod_utr) в змінній kod |
121 | заголовок циклу по коду утримання (до тих пір поки kod = kod_utr |
122 | накописення підсумків по коду утримань |
123 | читання наступного запису дискового файлу ZARPLATA в змінну work |
124 | умовний оператор, котрий перевіряє, чи досягнуто кінець файлу ZARPLATA і в разі виконання цієї умови передає керування на мітку vtn (оператор 126) |
125 | кінець циклу по коду утримання |
126 | вивід підсумків по коду утримання |
127 | підрахунок підсумків по коду с/г підприємства |
128 | кінець циклу по підприємству (по кінцю файлу) |
129-134 | вивід підсумків по підприємству |
133 | закриття файлу ZARPLATA |
134 | організація паузи у виконанні програми |
135 | кінець процедури VYVID |
137 | початок головного блоку програми |
138 | присвоєння дисковому файлу з логічним іменем ZARPLATA фізичного імені zarplata.dat |
139 | заголовок циклу виводу меню програми |
140 | початок циклу |
141-144 | Встановлення основного та фонового кольорів, опис вікна виводу головного меню програми |
145-155 | вивід головного меню програми |
156 | очікування натискання клавіші на клавіатурі та присвоєння коду натиснутої клавіші змінній choise |
159 | заголовок оператора вибору, котрий аналізує код натиснутої клавіші |
160 | виклик процедури VVID, якщо натиснуто клавішу F2 (код клавіші 6016) |
161 | виклик процедури VYVID, якщо натиснуто клавішу F3 (код клавіші 6116) |
162 | виклик процедури SORT, якщо натиснуто клавішу F4 (код клавіші 6216) |
163 | виклик процедури ZVEDENNYA, якщо натиснуто клавішу F7 (код клавіші 6516) |
164 | оператор виходу, завершення роботи програми при натисканні клавіші Esc (код 2716) |
165 | кінець оператора вибору |
166 | кінець циклу виводу меню |
167 | кінець програми |
Блок-схема програми представлена в додатку 2, текст програми представлена в додатку 4.
2.3 Контрольний приклад та результат машинного експериментуВипробування будь-якої системи є найбільш відповідальним і пов’язаний з найбільшими труднощами і найбільшими втратами часу. Відпадка й тестування - найважливіші життєвого циклу програм. Не можна робити висновок про правильність програми лише на тій підставі, що програма повністю відкомпільована і при виконанні видає числові результати. Все, чого досягнуто в даному випадку - це отримання деякої вихідної інформації, необов’язково правильної. У програмі все ще можуть міститись логічні помилки. Тому необхідно здійснювати "ручну" перевірку машинних результатів.
Існує кілька способів перевірки правильності машинних результатів:
1) обчислення результатів вручну;
2) отримання результатів з довідкової літератури, документації або сукупності таблиць;
3) отримання результату з допомогою іншої програми.
Для перевірки правильності створеної програми розроблено тестові дані, представлені таблиці 3.
Таблиця 3. Тестові дані для перевірки правильності програми.
Дата | С/г підприємство | Вид утримань | Сума утримань | |
15.11 | 01 | 81 | 1520.00 |
|
15.11 | 01 | 81 | 478.00 |
|
15.11 | 01 | 82 | 1457.00 |
|
18.11 | 01 | 82 | 204.00 |
|
18.11 | 01 | 90 | 252.00 |
|
17.11 | 01 | 93 | 300.00 |
|
16.11 | 02 | 81 | 1864.00 |
|
16.11 | 02 | 81 | 234.00 |
|
17.11 | 02 | 83 | 450.00 |
|
19.11 | 02 | 89 | 258.00 |
|
17.11 | 02 | 89 | 1230.00 |
|
17.11 | 02 | 90 | 560.00 |
|
Дані, представлені в таблиці 3 співпадають з результатами роботи програми, представленими на екранній копіях (додаток 1), що свідчить про те, що процедури запису даних на диск та виводу даних на дисплей працюють вірно.
Контрольний приклад для вихідної відомості розроблено з допомогою табличного процесора Excel і представлено в таблиці 4.
Таблиця 4. Контрольний приклад для співставлення з даними машинного експерименту
Дата | С/г підприємство | Вид утримань | Сума утримань | |
15.11 | 01 | 81 | 1998.00 |
|
15.11 | 01 | 82 | 1661.00 |
|
15.11 | 01 | 90 | 252.00 |
|
18.11 | 01 | 93 | 300.00 |
|
Всього по підприємству | 4211.00 |
| ||
18.11 | 02 | 81 | 2098.00 |
|
17.11 | 02 | 83 | 450.00 |
|
16.11 | 02 | 89 | 1488.00 |
|
16.11 | 02 | 90 | 560.00 |
|
Всього по підприємству | 4596.00 |
|
Порівняння результатів роботи програми (див. додаток 6) та даних таблиці 4 свідчить про їх повне співпадання. Таким чином, можна стверджувати, що програма дає правильні результати для розроблених тестових даних. Однак висновок про правильність програми можна зробити тільки після тривалої експлуатації.
Висновки
Розв’язування економічних задач з використанням персональних комп’ютерів в умовах ринкової економіки набуває великого практичного значення, оскільки дає можливість отримати оперативну та достовірну інформацію. Використання з цією метою готових пакетів прикладних програм має певні вади, найважливішими серед яких є висока вартість фірмових пакетів та складність їх прив’язки для розв’язку конкретних, особливо нескладних задач. Тому надзвичайно важливо вміти самостійно складати прості програми для розв’язування задач економічного характеру.
В даному курсовому проекті розроблено і описано програму для отримання відомості відвантаження готової продукції. Для розробки програми вибрано мову Паскаль (середовище Turbo Pascal 6.0). Програма розроблена із застосуванням методики процедурного програмування.
Програма відкомпільована з отриманням незалежного ехе-файла та відладжена з використанням набору тестових даних. Контрольний приклад для перевірки правильності роботи програми розроблено з допомогою табличного процесора Excel97. Результат машинного експерименту та контрольний приклад повністю співпали, тому можна зробити висновок про можливість використання розробленої програми на практиці. Дана програма може бути використана також при розробці пакету програм для автоматизованої системи обробки інформації по обліку праці і зарплати для конкретного замовника. Вибір алгоритмічної мови Паскаль для реалізації поставленої задачі повністю виправдав себе. В процесі відладки програми зроблено висновок про можливість її вдосконалення - реалізацію деяких підзадач можна було б оформити у вигляді незалежних програмних модулів, які б можна було надалі використати при розробці інших подібних задач економічного характеру.
1. В.М. Бондарев‚ В.И. Рублинецкий‚ Е.Г. Качко. Основы программирования. - Харків: Фоліо‚ 1997. - 364 с.
2. Е.А. Зуев. Язык программирования Turbo Pascal 6.0. Москва:Унитех‚
3. 1992. - 298 с.
4. А.И.Марченко‚ Л.А.Марченко. Программирование в среде Borland Pascal 7.0. К: Юниор‚ 1998. - 478 с.
5. Ю.С.Бородич‚ А.Н.Вальвачев‚ А.И. Кузьмич. Паскаль для персональных компьютеров. Минск: Вышейшая школа‚ 1991. - 476 с.
6. Г.Е.Федорова‚ З.С.Чубасова‚ Б.Ф.Пономаренко. Проектирование и организация машинной обработки экономической информации. Москва: Финансы и статистика‚ 1986. - 399 с.
ДОДАТКИ
... незалежно від її чисельності. Ця форма організації й оплати праці застосовується на роботах з технічного обслуговування устаткування, машин і механізмів на збиранні врожаю. 2 Сучасний стан обліку праці та її оплати в господарстві 2.1 Організаційно - економічна характеристика ТОВ “Агрофірма Мар’янівська” Ширяївського району Одеської області Об`єктом дослідження дипломної роботи є Товариство ...
... ) органів держави, тоді як нова система направлена на забезпечення складання звітності для прийняття економічно обгрунтованих управлінських рішень,щодо підвищення ефективності діяльності підприємства. Щодо спеціальної літератури, то нині питанням обліку, аналізу та контролю витрат приділяється особлива увага з боку вітчизняних авторів. Про це свідчать статті спеціалізованих періодичних видань, пі ...
... » — на вартість продукції, оприбуткованої як корми. В кінці року за встановленою методикою визначають фактичну собівартість виробленої промислової продукції і планову собівартість коригують до фактичного рівня. Облік витрат і виходу продукції промислових виробництв відображуються на аналітичних рахунках в розрізі вищеназваних статей витрат на підставі типових і специфічних для цієї підгалузі ...
... обліку касових видатків (ф. № 3-ф), який також ведеться: - в особовій картці при оплаті рахунків; - картці обліку асигнувань і касових видатків при перерахуванні коштів через територіальні органи Держказначейства; та на підставі перевірених звітів підприємств, установ і організацій (розпорядників коштів) за формою № 2-мдб. Квартальні звіти про виконання Державного бюджету складаються територі ...
0 комментариев