Помощник
|
Помогите с математикой))) |
Licoric
|
Сообщение
#1
|
||
|
|
||
|
|||
Licoric
|
Сообщение
#2
|
|
Не актуально.
Сделал циклами ps но спасибо за участие тем, кто задумался над помощью. http://vfat.ru/1/3.php Все работает))) *надо было на программера идти)))))) :rolleyes::rjunimagu: [PHP]<?php include ("../header.php"); echo "<div id='content'>"; if (empty ($_GET['act'])) { ?> <form name="" action="?act=1" method="post"> Предприятие приобрело объект основных средств стоимостью <input name="stoimost" type="text" value="175500"> руб.<br> Срок его полезного использования составляет <input name="srok" type="text" value="12"> лет.<br> Определите нормы и суммы амортизации данного объекта основных средств при разных способах его амортизации.<br> <input type="submit" value="Подсчитать"> </form> <?php } elseif (!empty ($_GET['act'])) { $stoimost = (int)($_POST['stoimost']); $srok = (int)($_POST['srok']); $mes = (int)($srok*12); $amort = (1/$mes)*100; function fact($n){ if ($n==0) return 1; else return $fact = $n + fact($n-1); } echo "Сумма всех лет: "; echo fact($srok)-1; echo "<br>"; $all = fact($srok)-1; for ($i = 1; $i <= $srok;) { echo "$i <b>|</b> "; $i++; } echo "<br>"; $qi = $srok; for ($i = 1; $i <= $srok;) { $i++; $Hi = ($qi/(fact($srok)-1))*100; $Hi = number_format($Hi, 2, '.', ''); echo "$Hi <b>|</b> "; $qi = $qi-1; } echo "<br>"; $qi = $srok; for ($i = 1; $i <= $srok;) { $i++; $Hi = ($qi/(fact($srok)-1))*100; $Aj = $stoimost * ($Hi/100); $Hi = number_format($Hi, 2, '.', ''); // $Aj = number_format($Aj, 2, '.', ''); echo "$Aj <b>|</b> "; $qi = $qi-1; } echo "<br>"; // высчитываем Ai $qi = $srok; for ($i = 1; $i <= $srok;) { $i++; $Hi = ($qi/(fact($srok)-1))*100; $Aj = $stoimost * ($Hi/100); $Hi = number_format($Hi, 2, '.', ''); // $Aj = number_format($Aj, 2, '.', ''); $Ai = $Aj/12; echo "$Ai <b>|</b> "; $qi = $qi-1; } } echo "</div>"; include ("../footer.php"); ?>[/PHP] |
|
|
Licoric
|
Сообщение
#3
|
|
Еще одна фишка.
Есть таблица: http://vfat.ru/table2.jpg Я ввожу на "предыдущей" странице количество лет использования оборудования. Допустим, 12. Из второго столба надо найти мой диапазон лет (10-15) и в 3-м столбе посмотреть коэффициент (1,8%). Далее этот коэффициент подставлять в формулу до получения на выходе значения 20К. (но это уже обычный цикл, обещаю сделать сам). Я не понимаю, как мне ввести в форме число и сделать выборку из второго столба. Формулы будут такие (хотя их тут пишу больше для себя): $norma_am - множитель из таблицы, 3-й столб. 1) $Ai = $stoimost * ($norma_am/100) 2) $C.ost = $stoimost - $Ai 3) $A = $C.ost * ($norma_am/100) Далее $C.ost = $C.ost - $A а $A = $C.ost * ($norma_am/100) и так далее, пока $C.ost не станет равен или меньшь 20000. Собственно вопрос в реализации таблицы. Как введя количество лет выбрать свой множитель. Не уж-то делать 10 переменных заводить? |
|
|
Licoric
|
Сообщение
#4
|
|
не актуально.
[php] if ($srok >1 && $srok <=2 ) $am = 14.3; if ($srok >2 && $srok <=3 ) $am = 8.8; if ($srok >3 && $srok <=5 ) $am = 5.6; if ($srok >5 && $srok <=7 ) $am = 3.8; if ($srok >7 && $srok <=10 ) $am = 2.7; if ($srok >10 && $srok <=15 ) $am = 1.8; if ($srok >15 && $srok <=20 ) $am = 1.3; if ($srok >20 && $srok <=25 ) $am = 1; if ($srok >25 && $srok <=30 ) $am = 0.8; if ($srok >30 ) $am = 0.7; echo "Коэф. амортизации $am<br>";[/php] *чем проще задача, тем сложнее решить))) |
|
|
Licoric
|
Сообщение
#5
|
|
И что-то цикл не стартует.
[php] $Ai = $stoimost * $am / 100; for ($i = $stoimost; $i <= 20000;) { $Cost = $stoimost - $Ai; echo "C остаточное: $Cost "; $An = $Cost * ($am/100); echo "A (балансовая стоимость) = $An<br>"; $stoimost = $stoimost - $An; $i = $i-$An; }[/php] Если его адаптировать указать необходимые значения, то получится так: [PHP] $Ai = $stoimost(175500) * $am(1,8) / 100; for ($i = $stoimost(); $i <= 20000;) { $Cost = $stoimost(175500) - $Ai(см. выше); echo "C остаточное: $Cost "; ... $An = $Cost * ($am/100); echo "A (балансовая стоимость) = $An<br>"; $stoimost = $stoimost - $An; $i = $i-$An; }[/PHP] После точек понятно, что все значения, по идее, есть. Но что-то не получается... |
|
|
Licoric
|
Сообщение
#6
|
|
?
Непосильная задача? :rolleyes: |
|
|
yaroslav_hb |
7.3.2010, 23:56;
Ответить: yaroslav_hb
Сообщение
#7
|
|
Кажись так
[php]for ($i = $stoimost; $i <= 20000; $i++)[/php] |
|
|
Licoric
|
Сообщение
#8
|
|
Не катит. А разве ++ это не как +1 работает?
Мне надо каждый раз уменьшать на определенное число. В коде это выглядит как "$i = $i-$An; }" |
|
|
yaroslav_hb |
8.3.2010, 0:27;
Ответить: yaroslav_hb
Сообщение
#9
|
|
|
|
|
Licoric
|
Сообщение
#10
|
|
по логике это минус единица от $i
Но мне надо отнимать каждый раз разную сумму. ps не прокатило. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Помогите вспомнить рекламного бота Телеграм для обмена рекламой | 0 | Mixatraider | 692 | 21.2.2024, 23:42 автор: Mixatraider |
|
Помогите рещить проблему с монитором. Почему низкое разрешение при подключении монитора через displayport? |
0 | Levels | 1695 | 11.12.2020, 0:48 автор: Levels |
|
Помогите кто нибудь получить партнерку Росбанк! | 7 | heisenberg_mw | 2315 | 7.8.2020, 9:28 автор: heisenberg_mw |
|
Помогите найти тему пожалуйста | 7 | virtas | 12400 | 24.7.2020, 17:02 автор: -JamesSmips- |
|
Помогите с поиском доноров | 3 | tehno_music | 3331 | 4.11.2019, 17:15 автор: goblin78 |
Текстовая версия | Сейчас: 28.3.2024, 18:56 |