125 Z(0) = A1 - .193 * Y(0) - .065 * Y(1) - .0654 * Y(2) 130 IF Z(0) < Z1(0) GOTO 120
135 IF Z(0) > Z2(0) GOTO 120
140 Z(1) = A2 + .1109 * Y(0) - .053 * Y(1) + .0161 * Y(2) 145 IF Z(1) > Z2(1) GOTO 120
150 IF Z(1) < Z1(1) GOTO 120
160 IF Y(2) >= P GOTO 170
165 P = Y(2): Y1(0) = Y(0): Y1(1) = Y(1): Y1(2) = Y(2): Y1(3) = Z(0) 166 T1 = Z(1)
170 IF Z(0) >= P1 GOTO 185
175 P1 = Z(0): Y2(0) = Y(0): Y2(1) = Y(1): Y2(2) = Y(2): Y2(3) = Z(0) 176 T2 = Z(1)
185 IF N < 150 GOTO 120
189 PRINT "******************************************************************"
190 PRINT " Р Е З У Л Ь Т А Т Ы Р А С Ч Е Т А "
191 IF K3 = 1 THEN 200
192 PRINT " КРИТЕРИЙ ОПТИМИЗАЦИИ ПО MIN ПОТЕРЬ МАССЫ"
193 |
PRINT "температура в камере |
="; Y2(0); "град.C" |
|
194 |
PRINT "влажность в камере |
="; Y2(1); "%" |
|
195 |
PRINT "длительность операции |
="; Y2(2); "часов" |
|
196 |
PRINT "потери массы |
="; Y2(3); "%" |
|
197 |
PRINT "температура внутри туши ="; T2; "град.C" |
||
198PRINT "================================================================="
199GOTO 6
200 PRINT "КРИТЕРИЙ ОПТИМИЗАЦИИ |
ПО MIN ВРЕМЕНИ" |
||
201 |
PRINT "температура в камере ="; Y1(0); "град.C" |
||
202 |
PRINT "влажность в камере |
="; Y1(1); "%" |
|
203 |
PRINT "ДЛИТЕЛЬНОСТЬ ОПЕРАЦИИ |
="; Y1(2); "часов" |
|
204 |
PRINT "потери массы |
="; Y1(3); "%" |
|
205 |
PRINT "температура внутри туши ="; T1; "град.C" |
||
206PRINT "================================================================"
207GOTO 6
500 X1(0) = 30: X2(0) = 75: X1(1) = -15: X2(1) = -3 501 X1(2) = 2: X2(2) = 6
505 F(0) = 15.4: F(1) = 70: F(2) = 18
510 E(0) = 23.8: E(1) = 95: E(2) = 30
515 Z1(0) = 0: Z1(1) = 1: Z2(0) = 4: Z2(1) = 6 520 INPUT "масса туши(кг)="; X(0)
525 IF X(0) < X1(0) GOTO 575
570 IF X(0) <= X2(0) GOTO 585
575 PRINT ".от"; X1(0); "до"; X2(0)
580 GOTO 520
585 INPUT "температура внутри туши(град.C)="; X(1)
590 IF X(1) < X1(1) GOTO 600
595 IF X(1) <= X2(1) GOTO 610
36
600 PRINT "исходные данные не попадают в область доп. знач.от"; X1(1); "до"; X2(1)
605 GOTO 585
610 INPUT "толщина шпига (см)= "; X(2)
615 IF X(2) < X1(2) GOTO 625
620 IF X(2) <= X2(2) GOTO 632
625 PRINT "исходные данные не попадают в область доп.знач.от"; X1(2); "до"; X2(2)
627 GOTO 610
632 PRINT "================================================================="
634PRINT "камера-"; N2; "сырье-свинина": PRINT "-------------------------"
635PRINT "масса туши="; X(0); "(кг)"
636PRINT "температура внутри туши="; X(1); "(град.C)"
637PRINT "толщина шпига="; X(2); "(см)"
640 A1 = -7.97 - .015 * X(0) + .32 * X(1) + .021 * X(2)
645 A2 = -2.38 + .0032 * X(0) + .19 * X(1) + .19 * X(2)
650 FOR I = 0 TO 2: Y(I) = RND(7) * (E(I) - F(I)) + F(I): RANDOMIZE Y(I): NEXT I 655 N = N + 1
660 Z(0) = A1 + .33 * Y(0) + .082 * Y(1) + .087 * Y(2) 665 IF Z(0) < Z1(0) GOTO 650
670 IF Z(0) > Z2(0) GOTO 650
675 Z(1) = A2 + .087 * Y(0) - .062 * Y(1) + .52 * Y(2) 685 IF Z(1) > Z2(1) GOTO 650
690 IF Z(1) < Z1(1) GOTO 650
700 IF Y(2) >= P GOTO 710
705 P = Y(2): Y1(0) = Y(0): Y1(1) = Y(1): Y1(2) = Y(2): Y1(3) = Z(0) 706 T1 = Z(1)
710 IF Z(0) >= P1 GOTO 805
715 P1 = Z(0): Y2(0) = Y(0): Y2(1) = Y(1): Y2(2) = Y(2): Y2(3) = Z(0) 716 T2 = Z(1)
805 IF N < 500 THEN 650
810 GOTO 189
1000 REM фарш
1015 CLEAR D
1020 DIM X3(8, 4)
1025 PRINT "РАСЧЕТ РЕЦЕПТУРЫ ФАРША"
1030 PRINT "если гибкая рецептура-введите-0" 1035 INPUT "если жесткая рецептура-введите-1"; K3
1040 PRINT |
"укажите код колбасы |
столовая-0" |
||
1045 PRINT |
" |
чайная-1" |
||
1050 INPUT "код="; K2: N4 = 300: F1 = 9999 |
||||
1055 PRINT "введите химический состав сырья" |
||||
1060 PRINT " |
ПАРТИЯ ВЛАГА ЖИР СОЛЬ БЕЛОК " |
|||
1065 |
PRINT " |
0.0 , 0.0, 0.0, |
0.0, 0.0 пс " |
|
1066 REM ввод хим. состава сырья для гибкой рецептуры |
||||
1070 IF K2 > 0 THEN 1118 |
|
|||
1072 PRINT "СТОЛОВАЯ КОЛБАСА": PRINT |
||||
1075 |
N1 = 9: N3 = 4: S(1) = 70: S(2) = 15.5: S(3) = 2: S(4) = 12.5: Y0(7) = 2 |
|||
1080 |
Y0(1) = 40: Y0(2) = 43: Y0(3) = 4: Y0(4) = 8: Y0(5) = 2: Y0(6) = 1 |
|||
37
1085 IF K3 = 0 THEN 1095 |
|
|
|
|
|
||
1090 |
N1 = 11: T(1) = 1277: T(2) = 30: T(3) = 0: T(4) = 175: T(5) = 100: GOTO 1170 |
||||||
1095 |
T(1) = 1277: T(2) = 30: T(3) = 0: T(4) = 175: T(5) = 17 |
|
|
||||
1100 |
Y1(1) = 34: Y1(2) = 36: N3 = 2 |
|
|
|
|
||
1110 |
Y2(1) = 12: Y2(2) = 14: Y2(3) = 4: Y2(4) = 6: GOTO 1160 |
|
|
||||
1118 PRINT "ЧАЙНАЯ КОЛБАСА": PRINT |
|
|
|
||||
1120 |
N1 = 9: N3 = 4: S(1) = 70: S(2) = 17.5: S(3) = 2: S(4) = 10.5 |
|
|||||
1125 |
Y0(1) = 50: Y0(2) = 20: Y0(3) = 6: Y0(4) = 8: Y0(5) = 2: Y0(6) = 10 |
|
|||||
1130 Y0(7) = 4: IF K3 = 0 THEN 1140 |
|
|
|
|
|||
1135 |
N1 = 11: T(1) = 1450: T(2) = 1030: T(3) = 0: T(4) = 200: T(5) = 100 |
|
|||||
1136 GOTO 1170 |
|
|
|
|
|
|
|
1140 |
T(1) = 1450: T(2) = 1030: T(3) = 0: T(4) = 200: T(5) = 30 |
|
|
||||
1145 |
Y1(1) = 42: Y1(2) = 17: N3 = 2 |
|
|
|
|
||
1150 |
Y2(1) = 16: Y2(2) = 6: Y2(3) = 4: Y2(4) = 6 |
|
|
|
|||
1160 GOSUB 1415: GOTO 1175 |
|
|
|
|
|
||
1170 GOSUB 1450 |
|
|
|
|
|
||
1175 |
FOR I = 1 TO N3: Z(3) = Z(3) + X3(I, 3) * Y4(I): NEXT I |
|
|
||||
1180 |
Y(N1) = ((Z(3) - Z2(5) * S(3)) / (S(3) - 100)) * 400 / Z2(5) |
|
|
||||
1182 |
FOR J = 1 TO N3: Y4(J) = 400 * Y4(J) / Z2(5): NEXT J: Y4(5) = 400 * Y4(5) / Z2(5) |
||||||
1184 |
FOR I = 3 TO N1: Y0(I) = 400 * Y0(I) / Z2(5): NEXT I |
|
|
||||
1200 GOSUB 1570 |
|
|
|
|
|
||
1210 GOTO 6 |
|
|
|
|
|
|
|
1415 PRINT "ГИБКАЯ РЕЦЕПТУРА" |
|
|
|
|
|||
1420 |
INPUT "говядина"; N9(1), X3(1, 1), X3(1, 2), X3(1, 3), X3(1, 4) |
|
|||||
1425 |
INPUT "свинина"; N9(2), X3(2, 1), X3(2, 2), X3(2, 3), X3(2, 4) |
|
|||||
1426 PRINT " |
И С Х О Д Н Ы Е Д А Н Н Ы Е " |
|
|
||||
1427 PRINT " |
партия влага жир соль белок " |
|
|
||||
1428 |
PRINT "говядина;N9(1);"; ";X(1,1);"; ";X(1,2);"; ";X(1,3);"; ";X(1,4)" |
|
|||||
1429 |
PRINT "свинина"; N9(2); " |
"; X3(2, 1); " |
"; X3(2, 2); " |
"; X3(2, 3); " |
"; X3(2, 4) |
||
1430 FOR K1 = 1 TO N4: FOR J = 1 TO 5: Z(J) = T(J): NEXT J |
|
|
|||||
1435 FOR I = 1 TO N3: Y(I) = RND(7) * Y2(I) + Y1(I) |
|
|
|||||
1440 |
Z(1) = Z(1) + X3(I, 1) * Y(I): Z(5) = Z(5) + Y(I): NEXT I |
|
|
||||
1445 GOSUB 1515: NEXT K1: RETURN |
|
|
|
|
|||
1450 PRINT "ЖЕСТКАЯ РЕЦЕПТУРА" |
|
|
|
|
|||
1455 |
INPUT "говядина"; N9(1), X3(1, 1), X3(1, 2), X3(1, 3), X3(1, 4) |
|
|||||
1460 |
INPUT "говядина"; N9(2), X3(2, 1), X3(2, 2), X3(2, 3), X3(2, 4) |
|
|||||
1465 |
INPUT "свинина"; N9(3), X3(3, 1), X3(3, 2), X3(3, 3), X3(3, 4) |
|
|||||
1466 |
INPUT "свинина"; N9(4), X3(4, 1), X3(4, 2), X3(4, 3), X3(4, 4) |
|
|||||
1467 PRINT " |
И С Х О Д Н Ы Е Д А Н Н Ы Е " |
|
|
||||
1468 PRINT " |
партия влага |
жир |
соль белок" |
|
|||
1469 |
PRINT "говядина"; N9(1); " |
"; X3(1, 1); " |
"; X3(1, 2); " |
"; X3(1, 3); " |
"; X3(1, 4) |
||
1470 |
PRINT "говядина"; N9(2); " |
"; X3(2, 1); " |
"; X3(2, 2); " |
"; X3(2, 3); " |
"; X3(2, 4) |
||
1471 |
PRINT "свинина"; N9(3); " |
"; X3(3, 1); " |
"; X3(3, 2); " |
"; X3(3, 3); " |
"; X3(3, 4) |
||
1472 |
PRINT "свинина"; N9(4); " |
"; X3(4, 1); " |
"; X3(4, 2); " |
"; X3(4, 3); " |
"; X3(4, 4) |
||
1475 FOR K1 = 1 TO N4: FOR J = 1 TO 5: Z(J) = T(J): NEXT J |
|
|
|||||
1480 |
Y(1) = RND(6) * Y0(1): Y(2) = Y0(1) - Y(1) |
|
|
|
|||
1485 |
Y(3) = RND(7) * Y0(2): Y(4) = Y0(2) - Y(3) |
|
|
|
|||
1490 |
Z(1) = X3(1, 1) * Y(1) + X3(2, 1) * Y(2) + X3(3, 1) * Y(3) + X3(4, 1) * Y(4) + Z(1) |
||||||
38
1495 GOSUB 1515: NEXT K1: RETURN
1515 REM п/программа-целевая функция
1520 Y(N1 - 1) = (Z(1) - Z(5) * S(1)) / (S(1) - 100): Z(5) = Z(5) + Y(N1 - 1) 1525 FOR I = 1 TO N3: Z(2) = Z(2) + X3(I, 2) * Y(I)
1530 Z(4) = Z(4) + X3(I, 4) * Y(I): NEXT I
1535 Z(2) = Z(2) / Z(5): Z(4) = Z(4) / Z(5)
1536 F2 = ABS(Z(2) / S(2) - 1) + ABS(Z(4) / S(4) - 1) 1540 IF F2 >= F1 THEN 1555
1545 FOR I = 1 TO N3: Y4(I) = Y(I): NEXT I 1547 Y4(5) = Y(N1 - 1)
1550 Z2(2) = Z(2): Z2(4) = Z(4): Z2(5) = Z(5): F1 = F2 1555 RETURN
1570 PRINT " Р Е З У Л Ь Т А Т Ы Р А С Ч Е Т А "
1572 PRINT "================================================================="
1575 PRINT |
" |
N ПАРТИИ |
МАССА(КГ) " |
|
1577 |
PRINT "------------------------------------------------------------------" |
|||
1578 IF K3 = 1 THEN 1585 |
|
|||
1580 |
PRINT "говядина |
"; N9(1); " |
"; Y4(1) |
|
1582 |
PRINT "свинина |
"; N9(2); " |
"; Y4(2): GOTO 1595 |
|
1585 |
PRINT "говядина |
"; N9(1); " |
"; Y4(1) |
|
1587 |
PRINT "говядина |
"; N9(2); " |
"; Y4(2) |
|
1590 |
PRINT "свинина |
"; N9(3); " |
"; Y4(3) |
|
1592 |
PRINT "свинина |
"; N9(4); " |
"; Y4(4) |
|
1595 PRINT "стабилизатор " |
|
|||
1596 |
PRINT " белковый |
"; Y0(3) |
||
1597 PRINT "вода на белок |
"; Y0(4) |
|||
1600 |
PRINT " мука |
"; Y0(5) |
||
1601 IF K2 = 0 THEN 1604 |
|
|||
1602 PRINT "шпиг боковой |
"; Y0(6): GOTO 1605 |
|||
1604 |
PRINT "молоко сухое |
"; Y0(6) |
||
1605 |
PRINT "соевый белок |
"; Y0(7) |
||
1607 |
PRINT " вода |
"; Y4(5) |
||
1610 PRINT "соль |
"; Y(N1) |
|||
1612 PRINT |
|
|
|
|
"================================================================="
1615 GOSUB 1805 |
|
|
|
1620 RETURN |
|
|
|
1805 |
PRINT " ХИМИЧЕСКИЙ СОСТАВ ФАРША" |
||
1810 PRINT " |
НОРМА |
РАСЧЕТ" |
|
1811 |
PRINT "------------------------------------------------------------------" |
||
1812 |
PRINT "влага |
"; S(1); " "; S(1) |
|
1815 |
PRINT "жир |
"; S(2); " "; Z2(2) |
|
1820 |
PRINT "соль |
"; S(3); " "; S(3) |
|
1825 |
PRINT "белок |
"; S(4); " |
"; Z2(4) |
1830 PRINT "=================================================================" 1840 RETURN
39
2000 REM Т Е Р М О О Б Р А Б О Т К А |
|
||
2001 CLEAR D |
|
|
|
2003 |
X1(0) = 60: X1(1) = 10: X1(2) = 1.5: X1(3) = 8: X2(0) = 75 |
||
2004 |
X2(1) = 25: X2(2) = 3: X2(3) = 22: F(0) = 83: F(1) = 23: F(2) = 83 |
||
2005 |
F(3) = 23: F(4) = 80: F(5) = 85: F(6) = 75: F(7) = 60: E(0) = 87: E(1) = 3 |
||
2006 |
E(2) = 87: E(3) = 30: E(4) = 85: E(5) = 95: E(6) = 100: E(7) = 75: Z1(0) = 30 |
||
2007 |
Z1(1) = 1.5: Z1(2) = 71: Z1(3) = 0: Z2(0) = 70: Z2(1) = 3.5: Z2(2) = 76 |
||
2008 |
Z2(3) = 10 |
|
|
2009 N = 0: P = 150: P1 = 10: Q3 = 0 |
|
||
2010 |
PRINT "укажите сорт колбасы. Столовая-0," |
||
2011 PRINT " |
чайная-1,": INPUT "код="; U |
||
2012 PRINT " параметры колбасного батона |
таблица B" |
||
2013 PRINT |
|
|
|
"================================================================="
2014 |
PRINT " оболочка |
I диаметр |
I |
код" |
|||
2015 |
PRINT "------------------------------------------------------------------" |
||||||
2016 |
PRINT " белкозин |
I |
75 |
I |
|
0" |
|
2017 |
PRINT " - // - |
I |
85 |
I |
|
1" |
|
2018 |
PRINT " - // - |
I |
100 |
I |
|
2" |
|
2019 |
PRINT " целлофан |
I |
80-90 |
|
I |
3" |
|
2020 |
PRINT " - // - |
I |
100 |
I |
|
4" |
|
2021 PRINT "=================================================================" 2022 INPUT "код оболочки="; W
2023 IF U = 0 THEN IF W = 3 GOTO 2050
2045 PRINT "модели нет": GOTO 2012
2050 I = 0: INPUT "номер камеры="; Q: INPUT "номер секции термообработки = "; Q1 2051 INPUT "содержание влаги в фарше="; X(I): GOSUB 2100: IF I = 0 GOTO 2051 2052 INPUT "содержание жира в фарше="; X(I): GOSUB 2100: IF I = 0 GOTO 2052 2053 INPUT "содержание соли в фарше="; X(I): GOSUB 2100: IF I = 2 GOTO 2053 2054 INPUT "содержание белка в фарше="; X(I): GOSUB 2100: IF I = 3 GOTO 2054 2055 INPUT "введите крит.опт.(1-по MIN времени,2-по MIN потерь массы)"; K
2080 GOTO 2130
2100 IF X(I) >= X1(I) THEN IF X(I) <= X2(I) GOTO 2110
2105 PRINT "повторите ввод в диапазоне от "; X1(I); "до"; X2(I): GOTO 2120
2110 I = I + 1
2120 RETURN
2130 A1 = 58.83 + .209 * X(0) + .0822 * X(1) + .744 * X(2) + .0185 * X(3) 2131 A1 = A1 - 5
2135 A2 = 7.16 + .00021 * X(0) + .0166 * X(1) + .132 * X(2) - .0102 * X(3) 2140 A3 = 90.9 + .023 * X(0) + .178 * X(1) - .176 * X(2) - .023 * X(3) 2141 A3 = A3 - 5.5
2145 A4 = 33.65 + .07 * X(0) + .104 * X(1) + .134 * X(2) - .099 * X(3) 2146 A4 = A4 - 10
2147 FOR V = 1 TO 500
2150 FOR I = 0 TO 7: Y(I) = RND(7) * (E(I) - F(I)) + F(I): RANDOMIZE Y(I): NEXT I 2155 Z(0) = A1 + .0382 * Y(0) + 8.780001E-02 * Y(1) + .0829 * Y(2) - .0177 * Y(3) - .0177 * Y(4)
40