- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
<?php
$nodata = 'nodata';
$A60 = doubleval(@$HTTP_POST_VARS['A60']);
$B60 = doubleval(@$HTTP_POST_VARS['B60']);
$C60 = doubleval(@$HTTP_POST_VARS['C60']);
$D60 = doubleval(@$HTTP_POST_VARS['D60']);
$F60 = doubleval(@$HTTP_POST_VARS['F60']);
$G60 = doubleval(@$HTTP_POST_VARS['G60']);
$H60 = doubleval(@$HTTP_POST_VARS['H60']);
$I60 = doubleval(@$HTTP_POST_VARS['I60']);
$J60 = doubleval(@$HTTP_POST_VARS['J60']);
$K60 = doubleval(@$HTTP_POST_VARS['K60']);
$L60 = doubleval(@$HTTP_POST_VARS['L60']);
$M60 = doubleval(@$HTTP_POST_VARS['M60']);
echo $A60;
if (($A60 < 0) || ($B60 < 0) || ($C60 < 0) || ($D60 < 0) || ($F60 < 0) || ($G60 < 0) || ($H60 < 0) || ($I60 < 0) || ($J60 < 0) || ($K60 < 0) || ($L60 < 0) || ($M60 < 0)) {
readfile("cerror.html"); exit; }
if (($A60 == 0) && ($B60 == 0) && ($C60 == 0) && ($D60 == 0) && ($F60 == 0) && ($G60 == 0) && ($H60 == 0) && ($I60 == 0) && ($J60 == 0) && ($K60 == 0) && ($L60 == 0) && ($M60 == 0)) {
readfile("cerror.html"); exit;}
$D1 = @($A60);
$A2 = @(405.2);
$B2 = @((0.9 + 0.8) / 2);
$C2 = @(8);
$D2 = @($A60 / 3);
$E2 = @(0.00000012);
$F2 = @(exp(-1.60978 + 0.021845 * ($A2 / exp(3 * $B2)) - 0.000186 * pow($A2 / exp(3 * $B2), 2) + 0.0000011 * pow($A2 / exp(3 * $B2), 3)) * exp($B2 * (0.674 + 0.2 * $B2 + 0.007577 * ($A2 / exp(3 * $B2)) + 0.0084248753 * ($A2 / exp(3 * $B2)) * $B2 + 0.0000224434 * pow($A2 / exp(3 * $B2), 2))) * $E2 * $D2);
$I2 = @(0.37);
$J2 = @(0.24);
$K2 = @(0.22);
$A3 = @(368.7);
$B3 = @((0.9 + 0.8) / 2);
$C3 = @(20);
$D3 = @($A60 / 3);
$E3 = @(0.000000013);
$F3 = @(exp(-1.60978 + 0.021845 * ($A3 / exp(2.5 * $B3)) - 0.000186 * pow($A3 / exp(2.5 * $B3), 2) + 0.0000011 * pow($A3 / exp(2.5 * $B3), 3)) * exp($B3 * (0.674 + 0.2 * $B3 + 0.007577 * ($A3 / exp(2.5 * $B3)) + 0.0084248753 * ($A3 / exp(2.5 * $B3)) * $B3 + 0.0000224434 * pow($A3 / exp(2.5 * $B3), 2))) * $E3 * $D3);
$I3 = @(0.37);
$J3 = @(0.24);
$K3 = @(0.22);
$A4 = @(621.4);
$B4 = @(0.9);
$C4 = @(36);
$D4 = @($A60 / 3);
$E4 = @(0.00000001);
$F4 = @(exp(-1.60978 + 0.021845 * ($A4 / exp(2.5 * $B4)) - 0.000186 * pow($A4 / exp(2.5 * $B4), 2) + 0.0000011 * pow($A4 / exp(2.5 * $B4), 3)) * exp($B4 * (0.674 + 0.2 * $B4 + 0.007577 * ($A4 / exp(2.5 * $B4)) + 0.0084248753 * ($A4 / exp(2.5 * $B4)) * $B4 + 0.0000224434 * pow($A4 / exp(2.5 * $B4), 2))) * $E4 * $D4);
$I4 = @(0.37);
// ..аналогичные вычисления и инициализация для остальных переменных типа "буква-число"
$D54 = @($M60 / 2);
$E54 = @(0.0000007);
$I54 = @(0.192);
$J54 = @(0.027);
$K54 = @(0);
$A55 = @(232.5);
$B55 = @((0.5 + 0.8) / 2);
$C55 = @(0);
$D55 = @($M60 / 2);
$E55 = @(0.00000009);
$I55 = @(0.192);
$J55 = @(0.027);
$D56 = @($D53 + $D46 + $D47 + $D48 + $D40 + $D35 + $D30 + $D26 + $D22 + $D18 + $D13 + $D9 + $D5 + $D1);
// поехали по новой считать какие-то средние значения...
$A1 = @(($A2 + $A3 + $A4) / 3);
$B1 = @(($B2 + $B3 + $B4) / 3);
$C1 = @(($C2 + $C3 + $C4) / 3);
$E1 = @(($E2 + $E3 + $E4));
$F1 = @(($F2 + $F3 + $F4));
$I1 = @(($I2 + $I3 + $I4) / 3);
$J1 = @(($J2 + $J3 + $J4) / 3);
$K1 = @(($K2 + $K3 + $K4) / 3);
$H2 = @($F2 * ($I2 + $K2));
$M2 = @(1 - exp(-$H2 * 8766.00));
$H3 = @($F3 * ($I3 + $K3));
$M3 = @(1 - exp(-$H3 * 8766.00));
$H4 = @($F4 * ($I4 + $K4));
$M4 = @(1 - exp(-$H4 * 8766.00));
// ещё немного кода...
$J53 = @(($J54 + $J55) / 2);
$K53 = @(($K54 + $K55) / 2);
$F54 = @(exp(-3.94361687 + 0.02181877 * ($A55 / exp(5 * $B55)) + 0.00000171 * pow($A55 / exp(5 * $B55), 2)) * exp($B54 * (3.464157793 + 0.0000789055 * ($A55 / exp(5 * $B55)))) * $E54 * $D54);
$H54 = @($F54 * ($I54 + $K54));
$M54 = @(1 - exp(-$H54 * 8766.00));
$F55 = @(exp(-3.94361687 + 0.02181877 * ($A56 / exp(5 * $B56)) + 0.00000171 * pow($A56 / exp(5 * $B56), 2)) * exp($B55 * (3.464157793 + 0.0000789055 * ($A56 / exp(5 * $B56)))) * $E55 * $D55);
$H55 = @($F55 * ($I55 + $K55));
$M55 = @(1 - exp(-$H55 * 8766.00));
// и ешё чуть-чуть....
$F10 = @(((293 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) * exp((1 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) - (1.00 / 293.00) + 2 * ($B10 - 1))) * $E10 * $D10);
$H10 = @($F10 * ($I10 + $K10));
$M10 = @(1 - exp(-$H10 * 8766.00));
$F11 = @(((0.75 + 0.104 * $B11 * exp(0.877 * pow($B11, 3))) * (273 + ($A11 / exp(4.6 * $B11))) / 293) * exp((390 + 190 * $B11) * (($A11 / exp(4.6 * $B11)) - 20 + 0.016 * pow($B11 * ($A11 / exp(4.6 * $B11) - 20), 2)) / (293 * (273 + ($A11 / exp(4.6 * $B11))))) * $E11 * $D11);
$H11 = @($F11 * ($I11 + $K11));
$M11 = @(1 - exp(-$H11 * 8766.00));
$F12 = @((pow($B12, 2) + 0.01) * exp((4500 + 400 * $B12 + 1400 * pow($B12, 3)) * ((1.00 / 293.00) - (1 / (273 + ($A12 / exp(8 * $B12)))))) * $E12 * $D12);
$G12 = @(($H11 - $F11 * $K11) * ($A12 / exp(8 * $B12) / $A12));
$H12 = @($F12 * ($I12 + $K12));
$L12 = @((1 - exp(-$G12 * 8766.00)));
$M12 = @(1 - exp(-$H12 * 8766.00));
// 650+ строк таких вычислений для каждой буквы-переменной
?>
Код получает несколько значений: кол-во моторов, транзисторов, микросхем и прочих элементов, после считает разные коэффициенты пожароопасности и шансы возгорания. Записывает их в таблицу и показывает на странице. Говорят, что это работает верно и уже около 6 человек защитили курсовые по этой теме(пожароопасность электроприборов) с использованием этого кода.
zloirock 24.08.2012 23:25 # +1
HaskellGovno 25.08.2012 10:25 # +1
Freewww 25.08.2012 10:10 # +1
bormand 25.08.2012 10:33 # +12
istem 27.08.2012 14:30 # 0
bormand 27.08.2012 17:56 # +5
sayidandrtfm 25.08.2012 10:22 # 0
guest 25.08.2012 14:14 # 0
guest 25.08.2012 14:38 # −2
Пользователь guest получает предупреждение.
7ion 25.08.2012 14:54 # +6
Пользователь 7ion получает третье предупреждение.
Причина: «самый умный? далее - бан».
krypt 25.08.2012 15:09 # −3
bormand 25.08.2012 17:04 # +7
Пользователь bormand получает предупреждение.
Причина: обсуждение действий модератора.
psina-from-ua 26.08.2012 18:17 # +5
Я смотрю тут на шару предупреждения раздают, и мне можно?
moderator 27.08.2012 12:41 # +7
Stud 27.08.2012 19:21 # +6
Stud 27.08.2012 19:21 # +1
vovkalamer 25.08.2012 16:31 # 0
bormand 25.08.2012 17:08 # 0
> не нашёл, где же косяк
1) В IEEE 754-2008.Т.к. разрядность машинного представления числа ограничена, а чисел бесконечно много.
2) В выводе, который вываливает результаты с дохеразнаками после запятой без округления.
Не нашел ссылочку, про float'ы, которую хотел кинуть. Поэтому кину вот эту: http://habrahabr.ru/post/112953/
guest 25.08.2012 19:53 # +9
Xom94ok 25.08.2012 20:10 # +5
rat4 25.08.2012 20:33 # +4
myaut 25.08.2012 23:18 # +2
ios_govno 27.08.2012 07:50 # −1
eth0 25.08.2012 21:15 # +1
TarasB 27.08.2012 10:43 # +5
zim 27.08.2012 10:56 # +7
TarasB 27.08.2012 11:18 # +8
moderator 27.08.2012 12:43 # +2
sayidandrtfm 27.08.2012 13:28 # +3
TheHamstertamer 27.08.2012 10:58 # +5
Lowezar 27.08.2012 13:27 # +2
...Может и правда написать скриптик, перевести ...это... обратно в ексель - в виде таблицы понятнее выйдет?
Vasiliy 27.08.2012 14:20 # −1