616 Уваров в. Ф., Краснюк л. В.
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 " Для продолжения нажмите любую клавишу..."
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 " Результаты выполнения программы сохранены в файле "; F$
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
Уваров
В. Ф., Краснюк Л. В.
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 " +----------------------------------------------------------+"
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 " +-------------------------------------------------------------+"
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
