Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Форма14-16 и литер и содерж.DOC
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
289 Кб
Скачать
☆

6

16 Уваров в. Ф., Краснюк л. В.

012 NDN = 20: NS = 7

6015 FOR J = 1 TO KP: ND = 39 + NDN

6020 FOR I = 1 TO KVAR: LOCATE NS, ND: PRINT OPR$(J, I): ND = ND + 10: NEXT I

6025 NS = NS + 2: NEXT J

6026 SP$ = SPACE$(10)

6030 NDN = 20: J = 0

6035 J = J + 1: I = 0: ND = 29 + NDN: NS = (J - 1) * 2 + 8

IF J = 3 THEN IF KP = 4 AND KVAR = 2 THEN 6035

IF J = 2 THEN IF KP = 6 THEN 6035

6038 I = I + 1

6039 NS = (J - 1) * 2 + 8: ND = I * 10 + 49

LOCATE NS, ND: LINE INPUT OPR$

IF OPR$ = "/" THEN RUN "RASCHET"

IF OPR$ = "" THEN IF OPR$(J, I) = "НЕ ЗАДАНЫ" THEN PRINT CHR$(7): GOTO 6039 ELSE GOTO 6055

6040 IF OPR$ <> "*" THEN GOTO 6046

IF J = 1 AND I = 1 THEN PRINT CHR$(7); : LOCATE NS, ND: PRINT SP$; : GOTO 6039

IF KP = 4 AND KVAR = 2 THEN IF J = 4 AND I = 1 THEN J = J - 2: LOCATE NS, ND: PRINT SP$; : GOTO 6038

IF KP = 6 THEN IF J = 3 AND I = 1 THEN J = J - 2: LOCATE NS, ND: PRINT SP$; : GOTO 6038

6042 LOCATE NS, ND: PRINT SP$

6043 IF I > 1 THEN 6045 ELSE I = KVAR

6044 J = J - 1: GOTO 6039

6045 I = I - 1: GOTO 6039

6046 IF OPR$ <> "-" THEN 6047:

LOCATE NS, ND: PRINT SP$

IFLAG = 1: RETURN

6047 OPR$(J, I) = OPR$:

LOCATE NS, ND: PRINT SP$: LOCATE NS - 1, ND: PRINT SP$

6048 LOCATE NS - 1, ND: PRINT OPR$(J, I)

6055 IF I < KVAR THEN 6038

6060 IF J < KP THEN 6035

6065 LOCATE 20, 5

6070 PRINT "Нажмите клавишу ВВОД ": LINE INPUT U$

IF U$ = "/" THEN RUN "RASCHET"

6080 IF U$ = "" THEN RETURN

IF U$ = "-" THEN IFLAG = 1: RETURN

6090 J = KP: I = KVAR: NS = (J - 1) * 2 + 8: ND = I * 10 + 49: GOTO 6039

6105 RETURN

7590 REM Принятое кол. грузовиков с учетом зад. ур-ня производ.

7593 BB = KF(NO): S$ = " ": IF RZR = 1 THEN KM(3, NO) = NN1 ELSE KM(3, NO) = NN1 + 1

7598 PR(3, NO) = PR(2, NO) / KM(3, NO): PRN(3, NV) = PRN(2, NV) / NM(3, NV): MP(3, NO) = VO(NO) / (PR(3, NO)): TR(3, NO) = MP(3, NO): YY(3, NO) = MN(3, NV) * BB / MP(3, NO) * 100

7599 IF YY(3, NO) > UR(3) THEN KM(3, NO) = KM(3, NO) + 1: GOTO 7598

7600 RETURN

Форма 16

COLOR 15, 1

CLS

PRINT ""

PRINT " +----------------------------------------------------------+"

PRINT " ¦ ВЫПОЛНЕНИЕ ТЕХНОЛОГИЧЕСКИХ РАСЧЕТОВ

и расчет заработной платы ¦"

PRINT " +----------------------------------------------------------+"

COLOR 7

PRINT ""

PRINT " Эта программа позволяет выполнять калькуляционные и технологические"

PRINT " расчеты различных строительных работ. После завершения расчетов программа,"

PRINT " по желанию пользователя, может составить подробный отчет о выполенной"

PRINT " работе, сохранив его в текстовом файле с названием, указанным пользовате-"

PRINT " лем. Для избежания ошибок в работе с программой нужно внимательно следить"

PRINT " за комментариями в программе и вводить нужные цифры с цифровой клавиатуры."

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT

PRINT " Для продолжения нажмите любую клавишу..."

DIM OPR$(11), VSP$(10, 2), TC(10)

IN = 1

KEY 8, "/" + CHR$(13)

KEY 9, "*" + CHR$(13)

KEY 10, "-" + CHR$(13)

KEY OFF

30 CLS

COLOR 7

LOCATE 25, 1: PRINT " F8-Выход из программы"

LOCATE 1, 1

PRINT ""

PRINT " +----------------------------------------------------------+"

PRINT " ¦ ВЫПОЛНЕНИЕ ТЕХНОЛОГИЧЕСКИХ РАСЧЕТОВ

и расчет заработной платы ¦"

PRINT " +----------------------------------------------------------+"

PRINT ""

PRINT " Выполнить расчет:"

PRINT " 1) по продолжительности выполнения работ"

PRINT " 2) по числу машин (рабочих), выполняющих работу "

PRINT ""

PRINT " Введите номер пункта:"

LOCATE 23, 3

COLOR 0, 2

PRINT " Если известна продолжит. выполнен. работ - 1, если известно число машин - 2 ":

35 LOCATE 10, 46

COLOR 0, 2

INPUT KX$

IF KX$ = "1" OR KX$ = "2" OR KX$ = "/" THEN 1112 ELSE PRINT "Ошибка. Номер пункта введен неверно."; : LOCATE 10, 46: PRINT " "; : GOTO 35

1112 IF KX$ = "/" THEN 5000

COLOR 7, 1: CLS

LOCATE 25, 1: PRINT " F8-Выход из программы"

LOCATE 7, 1

PRINT " Введите наименование процесса, который будет рассчитываться ":

PRINT ""

PRINT " 1) механизированный"

PRINT " 2) ручной"

PRINT ""

PRINT " Введите наименование процесса"

1113 LOCATE 12, 40

INPUT IM$

IF IM$ = "1" OR IM$ = "2" OR IM$ = "/" THEN 1114 ELSE PRINT " Ошибка. Наименование процесса введено неверно"; TAB(31); : PRINT " ";

LOCATE 12, 40: PRINT " "; : GOTO 1113

PRINT ""

1114 IF IM$ = "/" THEN 5000

IF IM$ = "1" THEN 1115

R$ = "Ручной ": E$ = " 1 М3": GOTO 1116

1115 R$ = "Механизирован. ": E$ = " 1000 М2 "

1116 COLOR 7, 1

IF KX$ = "1" THEN 100

IF KX$ = "2" THEN 200

100 REM Расчет по продолжительности:

REM Подпрограмма 1

1110 CLS

KEY OFF

LOCATE 25, 1

COLOR 14, 1

PRINT "F8-Выход из программы F9-Возврат к предыдущему значению"

FOR I = 1 TO 4: OPR$(I) = "": NEXT I

NSTR = 1

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите продолжительность процесса в днях ";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Продолжительность процесса в днях ";

1111 I = 1: GOSUB 3500: IF IFLAG = 1 THEN PRINT CHR$(7): GOTO 1111

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите кол-во рабочих смен в сутки "

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Количество рабочих смен в сутки (n) ";

1122 I = 2: GOSUB 3500: IF IFLAG = 1 THEN 1111

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите продолжительность процесса в сменах ";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Продолжительность процесса в сменах ";

1123 I = 3: GOSUB 3500: IF IFLAG = 1 THEN 1122

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите численный состав звена по ЕНиР ":

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Численный состав звена по ЕНиР ";

1124 I = 4: GOSUB 3500: IF IFLAG = 1 THEN 1123

LOCATE 23, 3

PRINT " Нажмите клавишу ВВОД ": LOCATE 23, 35: LINE INPUT U$

IF U$ = "*" THEN NSTR = NSTR - 2: LOCATE 23, 3: PRINT " "; : GOTO 1124

IF U$ = "/" THEN 5000

TPD = VAL(OPR$(1)): NS = VAL(OPR$(2)): TAP = VAL(OPR$(3)): S = VAL(OPR$(4))

GOSUB 3600

FOR I = 1 TO S: S$(I) = VSP$(I, 1): TC(I) = VAL(VSP$(I, 2)): NEXT I

FOR I = 1 TO S: L = LEN(S$(I))

FOR J = 1 TO L: II = VAL(MID$(S$(I), J, 1)): IF II > 0 THEN 1194

NEXT J

1194 SR$(I) = MID$(S$(I), J)

NEXT I

CLS

LOCATE 25, 1

COLOR 14, 1

PRINT "F8-Выход из программы F9-Возврат к предыдущему значению"

FOR I = 1 TO 4: OPR$(I) = "": NEXT I

NSTR = 1

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите объем работы в ед.измерения по ЕНиРу "

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Объем работы в ед.измерения по ЕНиРу"

1125 I = 1: GOSUB 3500: IF IFLAG = 1 THEN PRINT CHR$(7): GOTO 1125

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите нормы времени для рабочих в человеко-часах ":

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Норма времени рабочих (Нвр.р.), чел.- ч. ";

1126 I = 2: GOSUB 3500: IF IFLAG = 1 THEN 1125

IF IM$ = "2" THEN 1120

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите нормы времени для машин в машино-часах ":

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Норма времени машины (Нвр.р.), маш.- ч. .....";

1127 I = 3: GOSUB 3500: IF IFLAG = 1 THEN 1126

1120 LOCATE 23, 3

COLOR 0, 2

LOCATE 23, 3

PRINT " Введите достигнутый уровень производительности труда":

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Достигнутый уровень производительности труда":

1131 I = 4: GOSUB 3500: IF IFLAG = 1 THEN IF IM$ = "1" THEN 1127 ELSE 1126

LOCATE 23, 3

PRINT " Нажмите клавишу ВВОД ": LOCATE 23, 35: LINE INPUT U$

IF U$ = "*" THEN NSTR = NSTR - 2: LOCATE 23, 3: PRINT " "; : GOTO 1131

IF U$ = "/" THEN 5000

V = VAL(OPR$(1)): VR = VAL(OPR$(2)): VM = VAL(OPR$(3)): RUP = VAL(OPR$(4))

PVR = 0: PVM = 0: M$ = " ": PR = 0: K = 1

E = 1

110 GOSUB 2010

GOSUB 2020

114 GOSUB 2040

GOSUB 3010

115 PRINT " Ознакомтесь с результатами и введите нужную цифру:"

PRINT " 1) Писать результаты в файл "

PRINT " 2) Вернуться на начало без записи результатов в файл":

PRINT " 3) Выйти из программы без записи результатов в файл":

116 LOCATE 20, 55

INPUT AK

IF AK = 1 THEN 131

IF AK = 2 THEN 30

IF AK = 3 THEN 5000

LOCATE 20, 43

COLOR 0, 4

PRINT " Ошибка!"

COLOR 7, 1

GOTO 116

131 GOSUB 4010

CLOSE #1

GOTO 300

200 REM Расчет по числу машин:

REM Подпрограмма 3

1030 CLS

LOCATE 25, 1

COLOR 14, 1

PRINT "F8-Выход из программы F9-Возврат к предыдущему значению "

IF IM$ = "2" THEN 1050

FOR I = 1 TO 3: OPR$(I) = "": NEXT I

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите количество машин в смену"

NSTR = 1

COLOR 14, 1

LOCATE NSTR, 1

PRINT " Количество машин в смену ";

1031 I = 1: GOSUB 3500: IF IFLAG = 1 THEN PRINT CHR$(7): GOTO 1031

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите количество рабочих смен в сутки";

COLOR 14, 1

LOCATE NSTR, 1

PRINT " Количество рабочих смен в сутки ";

1032 I = 2: GOSUB 3500: IF IFLAG = 1 THEN 1031

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите численный состав звена по ЕНиР ";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Численный состав звена по ЕНиР ";

1033 I = 3: GOSUB 3500: IF IFLAG = 1 THEN 1032

PRINT " Нажмите клавишу ВВОД ": LOCATE 23, 35: LINE INPUT U$

IF U$ = "*" THEN NSTR = NSTR - 2: LOCATE 23, 3: PRINT " "; : GOTO 1033

IF U$ = "/" THEN 5000

NP = VAL(OPR$(1)): NS = VAL(OPR$(2)): S = VAL(OPR$(3))

GOSUB 3600

FOR I = 1 TO S: S$(I) = VSP$(I, 1): TC(I) = VAL(VSP$(I, 2)): NEXT I

FOR I = 1 TO S: L = LEN(S$(I))

FOR J = 1 TO L: II = VAL(MID$(S$(I), J, 1)): IF II > 0 THEN 1094

NEXT J

1094 SR$(I) = MID$(S$(I), J)

NEXT I

CLS

FOR I = 1 TO 4: OPR$(I) = "": NEXT I

1038 NSTR = 1

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите объем работы в ед.измерения по ЕНиРу ";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Объем работы в ед.измерения по ЕНиРу ";

I = 1: GOSUB 3500: IF IFLAG = 1 THEN PRINT CHR$(7): GOTO 1038

1039 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите нормы времени для рабочих в чел.-ч. ";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Норма времени рабочих (Нвр.р.), чел.- ч. ";

I = 2: GOSUB 3500: IF IFLAG = 1 THEN 1038

1040 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите нормы времени для машин в маш.- ч. ";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Норма времени машины (Нвр.м.), маш.- ч. ";

I = 3: GOSUB 3500: IF IFLAG = 1 THEN 1039

1041 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите достигнутый уровень производительности труда";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Достигнутый уровень производительности труда";

I = 4: GOSUB 3500: IF IFLAG = 1 THEN 1040

LOCATE 23, 3

PRINT " Нажмите клавишу ВВОД ": LOCATE 23, 35: LINE INPUT U$

IF U$ = "*" THEN NSTR = NSTR - 2: LOCATE 23, 3: PRINT " "; : GOTO 1041

IF U$ = "/" THEN 5000

V = VAL(OPR$(1)): VR = VAL(OPR$(2)): VM = VAL(OPR$(3)): RUP = VAL(OPR$(4))

E = 1

GOTO 210

1050 CLS

LOCATE 25, 1

PRINT "F8-Выход из программы F9-Возврат к предыдущему значению "

LOCATE 23, 3

COLOR 0, 2

PRINT " Введите численный состав звена по ЕНиР ";

NSTR = 1

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Численный состав звена по ЕНиР";

OPR$(1) = ""

1051 I = 1: GOSUB 3500: IF IFLAG = 1 THEN PRINT CHR$(7): GOTO 1051

LOCATE 23, 3

PRINT " Нажмите клавишу ВВОД "

LOCATE 23, 35: LINE INPUT U$

IF U$ = "*" THEN NSTR = 1: LOCATE 23, 3: PRINT " "; : GOTO 1051

IF U$ = "/" THEN 5000

S = VAL(OPR$(1))

GOSUB 3600

FOR I = 1 TO S: S$(I) = VSP$(I, 1): TC(I) = VAL(VSP$(I, 2)): NEXT I

FOR I = 1 TO S: L = LEN(S$(I))

FOR J = 1 TO L: II = VAL(MID$(S$(I), J, 1)): IF II > 0 THEN 1053

NEXT J

1053 SR$(I) = MID$(S$(I), J)

NEXT I

CLS

FOR I = 1 TO 6: OPR$(I) = "": NEXT I

LOCATE 25, 1

COLOR 14, 1

PRINT "F8-Выход из программы F9-Возврат к предыдущему значению "

1052 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите численность бригады в смену ";

NSTR = 1

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Численность бригады в смену";

I = 1: GOSUB 3500: IF IFLAG = 1 THEN PRINT CHR$(7): GOTO 1052

1054 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите количество звеньев в смену ";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Количество звеньев в смену";

I = 2: GOSUB 3500: IF IFLAG = 1 THEN 1052

1055 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите количество рабочих смен в сутки";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Количество рабочих смен в сутки";

I = 3: GOSUB 3500: IF IFLAG = 1 THEN 1054

1056 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите объем работ в ед.измерения по ЕНиРу";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Объем работы в ед.измерения по ЕНиРу";

I = 4: GOSUB 3500: IF IFLAG = 1 THEN 1055

1057 LOCATE 23, 3

COLOR 0, 2

PRINT " Введите нормы времени для рабочих в чел.-ч.";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Норма времени рабочих (Нвр.р.), чел.- ч.";

I = 5: GOSUB 3500: IF IFLAG = 1 THEN 1056

1043 LOCATE 23, 3

COLOR 0, 2

LOCATE 23, 3

PRINT " Введите достигн. уровень производительн.труда";

LOCATE NSTR, 1

COLOR 14, 1

PRINT " Достигнутый уровень производительности труда";

I = 6: GOSUB 3500: IF IFLAG = 1 THEN 1057

LOCATE 23, 3

PRINT " Нажмите клавишу ВВОД ": LOCATE 23, 35: LINE INPUT U$

IF U$ = "/" THEN 5000

IF U$ = "*" THEN NSTR = NSTR - 2: LOCATE 23, 3: PRINT " "; : GOTO 1043

NP = VAL(OPR$(1)): NZ = VAL(OPR$(2)): NS = VAL(OPR$(3))

V = VAL(OPR$(4)): VR = VAL(OPR$(5)): RUP = VAL(OPR$(6))

E = 1

210 GOSUB 2010

GOSUB 2030

214 GOSUB 3010

215 PRINT " Введите нужную цифру:"

PRINT " 1) Писать результаты в файл "

PRINT " 2) Вернуться на начало без записи ":

PRINT " 3) Выход из программы без записи в файл":

216 LOCATE 5, 55

INPUT AK

218

IF AK = 1 THEN 231

IF AK = 2 THEN 30

IF AK = 3 THEN 5000

LOCATE 20, 43

COLOR 0, 4

PRINT " Ошибка!"

COLOR 7, 1

GOTO 216

231 GOSUB 4010

CLOSE #1

300 CLS

PRINT

PRINT " +----------------------------------------------------------+"

PRINT " ¦ ВЫПОЛНЕНИЕ ТЕХНОЛОГИЧЕСКИХ РАСЧЕТОВ

и определение заработной платы ¦"

PRINT " +----------------------------------------------------------+"

PRINT ""

PRINT " Результаты выполнения программы сохранены в файле "; F$

PRINT

PRINT " Вам предлагается:"

PRINT " 1) Закончить выполнение программы"

PRINT " 2) Начать решение сначала "

PRINT " Введите номер пункта:"

310 LOCATE 11, 60

INPUT KON

IF KON = 1 THEN 5000

IF KON = 2 THEN 30

LOCATE 23, 20

COLOR 0, 4

PRINT " Пожалуйста, будьте внимательны при вводе цифр!":

COLOR 7, 1

GOTO 310

5000 CLS

COLOR 15, 0: LOCATE 10, 15: PRINT " Конец работы программы"

RUN "RASCHET"

END

REM Подпрограмма 4

2010 REM BLOK 1

REM Oпределение нормативных характеристик

NVR = VR + PVR * K

NVM = VM + PVR * K

STC = 0: FOR I = 1 TO S: STC = STC + TC(I): NEXT I

R = STC / S * NVR ' откор. расценка

ZP = R * V ' зарплата

TN = (NVR * V) / (E * 8) ' нормативная трудоемкость

IF KX$ = "2" THEN 2017

IF IM$ = "1" THEN 2016

REM Нормативные хар-ки для ручн.процессов по принятой продолж. процесса

PN = V / TN'нормативная сменная производительность рабочего

PNZ = PN * S ' нормативная сменная производительность звена раб.

NNZ = TN / (TAP * S)'нормативное кол-во звеньев рабочих в смену

NNR = NNZ * S 'нормативное кол-во раб. в смену

RETURN

2016 REM Нормативные хар-ки для механ.процессов по принятой продолж. процесса

MN = (NVM * V) / (E * 8) ' нормативная машиноемкость

PN = V / MN'нормативная сменная производительность машины

NN = MN / TAP'нормативное кол-во маш. в смену

RETURN

2017 IF IM$ = "1" THEN 2018

REM Нормативные хар-ки для ручн.процессов по принятой численности раб.

PN = V / TN'нормативная сменная производительность рабочего

PNZ = PN * S'нормативная сменная производительность звена рабочих

RETURN

2018 REM Нормативные хар-ки для механ.процессов по принятому кол-ву маш.

MN = NVM * V / (E * 8)' нормативная машиноемкость

PN = V / MN'нормативная сменная производительность машины

2320 RETURN

REM Подпрограмма 5

2030 REM BLOK 2

IF IM$ = "2" THEN 2032

REM Вых. хар-ки для механ.процессов по принятому кол-ву маш.

MP1 = MN * 100 / RUP

TAP1 = MP1 / NP

IF TAP1 < 1 THEN TAP = 1 ELSE IF (TAP1 - INT(TAP1)) < .01 THEN TAP = INT(TAP1) ELSE TAP = INT(TAP1) + .5

NN = MN / TAP'нормативное кол. машин в смену

TAPD = TAP / NS

MP = TAPD * NS * NP

TP = MP * S

PP = V / TP

W = PP * NP

NN = MN / TAP

UPT = MN / MP * 100

TPD = TAPD

GOTO 2036

2032 REM Вых. хар-ки для ручн. процессов по принятой численности рабочих

TP1 = TN * 100 / RUP

TAP1 = TP1 / NP

IF TAP1 < 1 THEN TAP = 1: GOTO 2033

IF (TAP1 - INT(TAP1)) > .5 AND (TAP1 - INT(TAP1)) > .01 THEN TAP = INT(TAP1) + 1

IF (TAP1 - INT(TAP1)) > .5 AND (TAP1 - INT(TAP1)) < .01 THEN TAP = INT(TAP1) + .5

IF (TAP1 - INT(TAP1)) < .5 AND (TAP1 - INT(TAP1)) > .01 THEN TAP = INT(TAP1) + .5

IF (TAP1 - INT(TAP1)) < .5 AND (TAP1 - INT(TAP1)) < .01 THEN TAP = INT(TAP1)

2033 TAPD = TAP / NS

TP = TAPD * NS * NP

PP = V / TP

NN = TN / TAP'нормативное число рабочих в смену

NRD = NP * NS

PPZ = PP * S

W = PPZ * NZ

UPT = TN / TP * 100' принятый уровень производительности труда

NPP = NP: TPD = TAPD: RP = NP: NP = 0: MN = 0: MP = 0

2036

RETURN

REM Подпрограмма 6

2020 REM BLOK 3

IF IM$ = "1" THEN 2025

REM Выходные характеристики для ручных процессов по продолж. выполнения

TP1 = TN * 100 / RUP 'предварительноя принятая трудоемкость

NPZ1 = TP1 / (TAP * S)'предварительное принятое кол-во звеньев раб. в смену

IF NPZ1 < 1 THEN NP = 1 ELSE IF (NPZ1 - FIX(NPZ1)) < .001 THEN NP = INT(NPZ1) ELSE NP = INT(NPZ1) + 1

RP = S * NP 'принятое кол-во рабочих в смену

NRD = RP * NS 'принятое кол-во рабочих в день

TP = TAP * NP * S 'окончательная принятая трудоемкость

PP = V / TP 'принятая производительность рабочего

W = PP * NP * S'принятый поток работы в смену

UPT = TN / TP * 100 ' принятый уровень производительности труда

NPP = NP: NP = 0: NN = NNR: M$ = " ": MN = 0: MP = 0

RETURN

2025 MP1 = MN * 100 / RUP' предварительная принятая машиноемкость

NP1 = MP1 / TAP' предварительное принятое кол. маш. в смену

IF NP1 < 1 THEN NP = 1 ELSE IF (NP1 - FIX(NX)) < .001 THEN NP = INT(NP1) ELSE NP = INT(NP1) + 1

REM NP-окончат. принятое кол. маш. в смену

NPR = S * NP'принятое кол-во рабочих в смену

NPRD = NPR * NS'принятое кол-во рабочих в день

MP = TAP * NP'окончательная принятая машиноемкость

TP = MP * S'окончательная принятая трудоемкость

PP = V / MP' принятая производителтность машины

TAH = MN / NP

W = PP * NP ' принятый поток работы в смену

UPT = MN / MP * 100' принятый уровень производительности труда

2028 RETURN

REM Подпрограмма 7

2040 REM BLOK 4

IF IM$ = "2" THEN 2051

RP = NP * S 'число раб. в смену

TP = TAP * RP 'трудоемкость

MP = TAP * NP 'машиноемкость

PP = W / NP 'производительность

UPT = PP / PN * 100 'уровень производительности труда

ZP = R * V / E 'зарплата

T = TAP / NS

NRD = RP * NS'число раб. в день

2051 RETURN

3010 REM Вывод результатов на экран

CLS

PRINT " Форма N 7"

PRINT " "

PRINT " Т Е Х Н О Л О Г И Ч Е С К И Е Р А С Ч Е Т Ы"

PRINT " Начало табл."

PRINT "-------------------------------------------------------------------------------"

PRINT "NN :Наименование :Единица : Объем : Нормативные характеристики процесса"

PRINT "п/п: процесса :измерения:работы в :-----------------------------------------"

PRINT " : :по ЕНиРу :единицах :Трудоем-:Машиноем:Произво-: "

PRINT " : : :измерения:кость, :кость, :дитель- : "

PRINT " : : : ЕНиРа :чел-см. :маш.-см.:ность, :------:-------"

PRINT " : : : : : : : Марка: "

PRINT "--------------------------------------------------------------------------------"

PRINT " 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9"

PRINT "--------------------------------------------------------------------------------"

IF IM$ = "1" THEN MARAB$ = " Машины ": EDMSH$ = "ед/м.-см": COL$ = ": Марка:кол-во ": MSH$ = "маш.см": GOTO 3015

MARAB$ = " Рабочие ": EDMSH$ = "ед/ч.-см": COL$ = ":Разряд:Число ": MSH$ = "чел.см"

3015 LOCATE 8, 67: PRINT MARAB$

LOCATE 11, 58: PRINT EDMSH$; COL$

LOCATE 15, 1

P

17 Уваров В. Ф., Краснюк Л. В.

RINT USING "###"; IN; : PRINT R$; : PRINT E$; TAB(30); : PRINT USING "######### "; V; : PRINT USING "####.###"; TN; : PRINT USING "#####.###"; MN; : PRINT USING "#####.###"; PN; : PRINT TAB(67); : PRINT M$; TAB(74); : PRINT USING "####.##"; NN

IF IM$ = "1" THEN 3016

NPOS = 14: FOR I = 1 TO S: NPOS = NPOS + 1: LOCATE NPOS, 67: PRINT SR$(I): NEXT I

3016 PRINT "": PRINT " Для продолжения нажать клавишу ВВОД "; : INPUT UU$

CLS

LOCATE 25, 1

PRINT "F8-Выход из программы F10-Возврат к началу данной табл."

LOCATE 2, 1

PRINT " Продолжение табл."

PRINT " ------------------------------------------------------------------------------"

PRINT " : П р и н я т ы е х а р а к т е р и с т и к и п р о ц е с с а"

PRINT " :----------------------------------------------------------------------------"

PRINT " :Уро- :Ко-: Сос- :Чис.:Чис.:Кол.:Продол:Продол:Трудо-:Машино:Произ-:Поток"

PRINT " N:вень :лич: тав :раб.:раб.:раб.:житель:житель: ем- : ем- :водит.:работ"

PRINT " :пр-ти :ма-: зве- :в :в :смен:ность :ность :кость,:кость,: : в"

PRINT " :труда,:шин: на :сме-:день: в :рабо- :рабо- : : : :смену,"

PRINT " : : : :ну, : :сутк: ты, : ты, : : :ед./ :"

PRINT " : % : : :чел.:чел.: : дни :смены :ч.-см :м.-см : :ед./см"

PRINT "-------------------------------------------------------------------------------"

PRINT " 1: 10 :11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21"

PRINT "-------------------------------------------------------------------------------"

LOCATE 11, 66: PRINT MSH$

LOCATE 15, 1

PRINT USING "##"; IN; : PRINT TAB(4); : PRINT USING "###.#"; UPT; : PRINT USING "####"; NP; : PRINT TAB(22); : PRINT USING "#####"; RP; : PRINT USING "#####"; NRD; :

PRINT USING "#####"; NS; : PRINT USING "####.##"; TPD; : PRINT USING "#####.#"; TAP; : PRINT USING "###.###"; TP; : PRINT USING "###.###"; MP; : PRINT USING "####.##"; PP; : PRINT USING "#####.##"; W

NPOS = 14: FOR I = 1 TO S: NPOS = NPOS + 1: LOCATE NPOS, 15: PRINT S$(I): NEXT I

PRINT "-------------------------------------------------------------------------------"

PRINT "": PRINT " Для продолжения нажать клавишу ВВОД "; : INPUT UU$

IF UU$ = "-" THEN 3010

IF UU$ = "/" THEN 5000

COLOR 7

CLS

RETURN

3500 IFLAG = 0: COLOR 14, 7

LOCATE NSTR + 1, 55: PRINT " ";

3501 LOCATE NSTR + 1, 55: LINE INPUT OPR$:

IF OPR$ = "/" THEN RUN "RASCHET"

IF OPR$ = "" THEN IF OPR$(I) = "" THEN PRINT CHR$(7): GOTO 3501

COLOR 7, 1

IF OPR$ <> "*" THEN 3502

IFLAG = 1: LOCATE NSTR + 1, 55: PRINT " "; : IF I = 1 THEN 3505 ELSE NSTR = NSTR - 2: RETURN

3502 OPR$(I) = OPR$: LOCATE NSTR, 55: PRINT OPR$(I)

3504 COLOR 7, 1: LOCATE NSTR + 1, 55: PRINT " "

NSTR = NSTR + 2

3505 RETURN

3600 CLS

LOCATE 25, 1: PRINT "F8-Выход из программы"

LOCATE 23, 3

COLOR 0, 2

PRINT "Введите квалификационный состав звена и тарифные ставки рабочих"

KEY OFF

LOCATE 1, 1

COLOR 7, 1

PRINT "КВАЛИФИКАЦИОННЫЙ СОСТАВ ЗВЕНА ТАРИФНЫЕ СТАВКИ РАБОЧИХ";

PRINT " "

FOR II = 1 TO S: FOR JJ = 1 TO 2: VSP$(II, JJ) = " ": NEXT JJ: NEXT II

SP$ = SPACE$(10)

JJ = 0

FOR II = 1 TO S: COLOR 7, 1: PRINT USING "#####"; II

LOCATE 4 + JJ, 7: COLOR 14, 7: PRINT SP$; : LOCATE 4 + JJ, 42: PRINT SP$

JJ = JJ + 2: NEXT II

II = 0

1185 II = II + 1: JJ = 0: NST = (II - 1) * 2 + 4

1186 JJ = JJ + 1

IF II = 1 AND JJ = 2 THEN COLOR 7, 1: LOCATE 25, 1: PRINT "F8-Выход из программы F9-Возврат к предыдущему значению"; : LOCATE 4, 42

1187 IF JJ = 1 THEN NPOZ = 7 ELSE NPOZ = 42

COLOR 14, 7

LOCATE NST, NPOZ: PRINT SP$: LOCATE NST, NPOZ: LINE INPUT OPR$:

IF OPR$ = "/" THEN RUN "RASCHET"

IF OPR$ = "" THEN IF VSP$(II, JJ) = " " THEN PRINT CHR$(7): GOTO 1187 ELSE GOTO 1193

1189 IF OPR$ <> "*" THEN GOTO 1188

IF II = 1 AND JJ = 1 THEN PRINT CHR$(7): GOTO 1187

COLOR 14, 7: LOCATE NST, NPOZ: PRINT SP$

IF JJ = 2 THEN JJ = JJ - 1: GOTO 1187

II = II - 1: JJ = 2: NST = (II - 1) * 2 + 4: GOTO 1187

1188 COLOR 7, 1: VSP$(II, JJ) = OPR$: LOCATE NST, NPOZ: PRINT SP$: LOCATE NST - 1, NPOZ: PRINT SP$

LOCATE NST - 1, NPOZ: PRINT VSP$(II, JJ)

1193 COLOR 7, 1: LOCATE NST, NPOZ: PRINT SP$

1191 IF JJ < 2 THEN 1186

IF II < S THEN 1185

LOCATE 23, 3

PRINT "Нажмите клавишу ВВОД ": LOCATE 23, 35: LINE INPUT U$

IF U$ = "/" THEN RUN "RASCHET"

IF U$ = "" THEN 3605

JJ = 2: II = S: NST = (II - 1) * 2 + 4

LOCATE 23, 3: PRINT " ": GOTO 1187

3605 RETURN

4010 REM Сохранение результатов в файле

CLS

IF F$ = "" THEN 4240

4220 PRINT

PRINT " +----------------------------------------------------------+"

PRINT " ¦ ВЫПОЛНЕНИЕ КАЛЬКУЛЯЦИОННЫХ И ТЕХНОЛОГИЧЕСКИХ РАСЧЕТОВ ¦"

PRINT " +----------------------------------------------------------+"

PRINT

PRINT " +----------------------------------------------------------+"

PRINT " ¦ Сохранить результаты в файле: ¦"

PRINT " +----------------------------------------------------------+"

LOCATE 7, 56

COLOR 0, 2

PRINT ; USING "&&&&&&&&&&&&&"; F$

COLOR 7, 1

LOCATE 7, 54

INPUT XA$

IF XA$ = "" THEN 4230 ELSE GOTO 4225

4240 PRINT

PRINT " +-------------------------------------------------------------+"

PRINT " ¦ ВЫПОЛНЕНИЕ КАЛЬКУЛЯЦИОННЫХ И ТЕХНОЛОГИЧЕСКИХ РАСЧЕТОВ ¦"

PRINT " +-------------------------------------------------------------+"

PRINT

PRINT " +-------------------------------------------------------------+"

PRINT " ¦ Введите имя файла для сохранения результатов: ¦"

PRINT " +-------------------------------------------------------------+"

F$ = " "

LOCATE 7, 58

COLOR 0, 2

PRINT ; USING "&&&&&&&&&&&&&"; F$

COLOR 7, 1

LOCATE 7, 57

INPUT F$

GOTO 4230

4225 F$ = XA$

4230 OPEN F$ FOR APPEND AS #1

REM BLOK 1

PRINT #1, "*******************************************************************"

PRINT #1, "*******************************************************************"

IF KX$ = "2" THEN 4260

IF IM$ = "1" THEN PRINT #1, "ВЫПОЛНЯЕМ РАСЧЕТ ПО ПРОДОЛЖИТ. ВЫПОЛНЕНИЯ РАБОТ ДЛЯ МЕХАНИЗИРОВАН.ПРОЦЕССА"

IF IM$ = "2" THEN PRINT #1, "ВЫПОЛНЯЕМ РАСЧЕТ ПО ПРОДОЛЖИТ. ВЫПОЛНЕНИЯ РАБОТ ДЛЯ РУЧНОГО ПРОЦЕССА"

PRINT #1, "-----------------------------------------------------------------------------"

PRINT #1, ""

PRINT #1, "Нормативная трудоемкость :"

PRINT #1, USING " Hвр.р * Vед ##.### * ######"; NVR; V

PRINT #1, USING " Тн = -------------- = ----------------- =######.## (ч-см)"; TN

PRINT #1, " 8 8"

IF IM$ = "2" THEN 4238

PRINT #1, "Нормативная машиноемкость :"

PRINT #1, USING " Hвр.м * Vед ##.### * ###### "; NVM; V

PRINT #1, USING " Mн = ----------- = ---------------- =####.## (м-см)"; MN

PRINT #1, " 8 8"

4238 PRINT #1, "Откорректированная расценка :"

PRINT #1, USING " Сумма TC * Нвр.р ######.## * ##.###"; STC; NVR

PRINT #1, USING " P= ------------------ = ------------------- =######.## (руб)"; R

PRINT #1, USING " Зн.р ##"; S

PRINT #1, "Заработная плата :"

PRINT #1, USING " З.П.= Р*Vед ######.## * ###### = #######.## (руб)"; R; V; ZP

IF IM$ = "2" THEN 4250

PRINT #1, "Нормативная сменная производительность машины :"

PRINT #1, USING " Пн.м=Vед/Мн ###### / ####.## = ##.## (ед./маш.-см)"; V; MN; PN

PRINT #1, "Нормативное кол-во маш. в смену :"

PRINT #1, USING "Nн.м.см = Мн / TAUп.см ####.## / ### = ##.## (маш.)"; MN; TAP; NN

PRINT #1, "Предварительная принятая машиноемкость :"

PRINT #1, USING "Мп1 = Мн * 100% /Уд.п.т ####.## * 100% / ### = ####.## (маш.-см)"; MN; RUP; MP1

PRINT #1, ""

PRINT #1, "Предварительное принятое кол. маш. в смену : "

PRINT #1, USING "Nп.м.см1 = Мп1 / TAUп.см ####.## / ## = ##.## (маш.)"; MP1; TAP; NP1

PRINT #1, "Окончательное принятое кол. маш. в смену :"

PRINT #1, USING "Nп.м.см = ## (маш.)"; NP

PRINT #1, "Принятое кол-во рабочих в смену :"

PRINT #1, USING "Nп.р.см. = Зн.р. * Nп.м.см. ## * ## = ### (раб.)"; S; NP; NPR

PRINT #1, ""

PRINT #1, "Принятое кол-во рабочих в день :"

PRINT #1, USING "Nп.р.дн. = nп * Nп.р.см. ## * ## = ### (раб.)"; NS; NPR; NPRD

PRINT #1, "Окончательная принятая машиноемкость :"

PRINT #1, USING "Мп = TAUп.см * Nп.м.см ## * ## = ### (маш.-см)"; TAP; NP; MP

PRINT #1, "Окончательная принятая трудоемкость :"

PRINT #1, USING "Тп = Мп * Зн.р ### * ## = ### (чел.-см)"; MP; S; TP

PRINT #1, ""

PRINT #1, "Принятая производительность машины :"

PRINT #1, USING "Пп.м. = Vед / Мп ###### / ### = ### (ед./маш.-см)"; V; MP; PP

PRINT #1, "Принятый поток работы в смену :"

PRINT #1, USING "V = Пп.м. * Nп.м.см ### * ## = #### (ед./см)"; PP; NP; W

PRINT #1, "Принятый уровень производительности труда :"

PRINT #1, USING "Уп.п.т. = Мн *100% / Мп ####.## *100 / ### = ###.## (%)"; MN; MP; UPT

RETURN