Смекни!
smekni.com

Автоматизована система обліку праці та зарплати (стр. 2 из 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 свідчить про їх повне співпадання. Таким чином, можна стверджувати, що програма дає правильні результати для розроблених тестових даних. Однак висновок про правильність програми можна зробити тільки після тривалої експлуатації.


Висновки

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