Смекни!
smekni.com

Програма для отримання відомості трудомісткості і розцінок на виріб в розрізі дільниць та кодів (стр. 2 из 3)

Формування та вивід зведення на дисплей здійснюється процедурою VIDOMІST.

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

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

Поставлена задача реалізується програмою ZATRATY1.PAS.

Програма складається з головного блоку (блок-схему див. додаток 1) та п’яти процедур:

- IN_DOV;

- OUT_DOV;

- IN_OPER;

- OUT_OPER;

- VIDOMIST.

Для виконання програми необхідно виконати такі дії:

1) увійти в середовище програмування TurboPascal;

2) завантажити текст програми - F10, File, Open, ZATRATY1.PAS);

3) відкомпілювати програму в довільному режимі (наприклад Compile, Compile);

4) виконати програму (F10, Run).

Програма також може бути завантажена і виконана з середовища операційної оболонки NortonCommander шляхом запуску ZATRATY1.EXE (попередньо програма повинна буди відкомпільована з опцією Destination Memory).

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

- запис довідника на диск;

- вивiд довідника на дисплей;

- запис даних на диск;

- вивiд файлу на дисплей;

- вивiд вихідного зведення на дисплей;

- завершення роботи.

При виборі деякого пункту меню викликається відповідна процедура. Завершення роботи програми і повернення в середовище системи програмування TurboPascal здійснюється при натисканні клавіші 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 Опис програми

Програма складена і відладжена в середовищі TurboPascal 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)