DmitrMakeev commited on
Commit
2737675
·
verified ·
1 Parent(s): a049e2d

Create calculate.html

Browse files
Files changed (1) hide show
  1. calculate.html +123 -0
calculate.html ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="ru">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Расчёт удобрений с азотом</title>
7
+ <style>
8
+ body { font-family: Arial, sans-serif; margin: 20px; }
9
+ input { padding: 8px; margin: 5px; width: 200px; }
10
+ button { padding: 8px 12px; cursor: pointer; margin-top: 10px; }
11
+ .result { margin-top: 20px; }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <h1>Расчёт удобрений для смешивания с азотом</h1>
16
+
17
+ <div>
18
+ <h3>Введите состав удобрений:</h3>
19
+ <label for="ca_content">Процент кальция (Ca) в Ca(NO₃)₂:</label>
20
+ <input type="number" id="ca_content" value="19" placeholder="например, 19"><br>
21
+
22
+ <label for="p_content">Процент фосфора (P) в KH₂PO₄:</label>
23
+ <input type="number" id="p_content" value="22" placeholder="например, 22"><br>
24
+
25
+ <label for="k_content_kh2po4">Процент калия (K) в KH₂PO₄:</label>
26
+ <input type="number" id="k_content_kh2po4" value="28" placeholder="например, 28"><br>
27
+
28
+ <label for="k_content_kno3">Процент калия (K) в KNO₃:</label>
29
+ <input type="number" id="k_content_kno3" value="46" placeholder="например, 46"><br>
30
+
31
+ <label for="mg_content">Процент магния (Mg) в MgSO₄·7H₂O:</label>
32
+ <input type="number" id="mg_content" value="16" placeholder="например, 16"><br>
33
+
34
+ <label for="s_content">Процент серы (S) в K₂SO₄:</label>
35
+ <input type="number" id="s_content" value="18" placeholder="например, 18"><br>
36
+
37
+ <h3>Введите требуемые концентрации элементов:</h3>
38
+ <label for="ca">Кальций (Ca) (мг/л):</label>
39
+ <input type="number" id="ca" placeholder="например, 50"><br>
40
+
41
+ <label for="p">Фосфор (P) (мг/л):</label>
42
+ <input type="number" id="p" placeholder="например, 50"><br>
43
+
44
+ <label for="k">Калий (K) (мг/л):</label>
45
+ <input type="number" id="k" placeholder="например, 100"><br>
46
+
47
+ <label for="mg">Магний (Mg) (мг/л):</label>
48
+ <input type="number" id="mg" placeholder="например, 25"><br>
49
+
50
+ <label for="s">Сера (S) (мг/л):</label>
51
+ <input type="number" id="s" placeholder="например, 20"><br>
52
+
53
+ <h3>Введите азот (N) (мг/л):</h3>
54
+ <label for="nitrogen">Азот (N):</label>
55
+ <input type="number" id="nitrogen" value="50" placeholder="например, 50"><br>
56
+
57
+ <h3>Регулировка соотношения азотных удобрений:</h3>
58
+ <label for="n_ratio">Соотношение азота в аммиачной селитре:</label>
59
+ <input type="range" id="n_ratio" min="0" max="100" value="50">
60
+ <span id="n_ratio_value">50%</span> аммиачная селитра / 50% кальциевая селитра<br>
61
+
62
+ <button onclick="calculate()">Рассчитать удобрения</button>
63
+ </div>
64
+
65
+ <div class="result" id="result">
66
+ <!-- Результаты будут отображаться здесь -->
67
+ </div>
68
+
69
+ <script>
70
+ function calculate() {
71
+ // Получаем состав удобрений из полей ввода
72
+ let caContent = parseFloat(document.getElementById("ca_content").value) / 100;
73
+ let pContent = parseFloat(document.getElementById("p_content").value) / 100;
74
+ let kContentKH2PO4 = parseFloat(document.getElementById("k_content_kh2po4").value) / 100;
75
+ let kContentKNO3 = parseFloat(document.getElementById("k_content_kno3").value) / 100;
76
+ let mgContent = parseFloat(document.getElementById("mg_content").value) / 100;
77
+ let sContent = parseFloat(document.getElementById("s_content").value) / 100;
78
+
79
+ // Получаем требуемые концентрации элементов из полей ввода
80
+ let ca = parseFloat(document.getElementById("ca").value);
81
+ let p = parseFloat(document.getElementById("p").value);
82
+ let k = parseFloat(document.getElementById("k").value);
83
+ let mg = parseFloat(document.getElementById("mg").value);
84
+ let s = parseFloat(document.getElementById("s").value);
85
+ let nitrogen = parseFloat(document.getElementById("nitrogen").value);
86
+
87
+ // Получаем соотношение азота из ползунка
88
+ let nRatio = parseFloat(document.getElementById("n_ratio").value) / 100;
89
+
90
+ // Рассчитываем количество азота в разных удобрениях в зависимости от соотношения
91
+ let ammoniumNitrate = (nitrogen * nRatio * 0.34).toFixed(2); // аммиачная селитра (N)
92
+ let calciumNitrate = (nitrogen * (1 - nRatio) * 0.26).toFixed(2); // кальциевая селитра (N)
93
+ let potassiumNitrate = (nitrogen * 0.20).toFixed(2); // калиевая селитра (N)
94
+
95
+ // Рассчитываем необходимое количество удобрений для каждого элемента
96
+ let caAmount = (ca / caContent).toFixed(2);
97
+ let pAmountKH2PO4 = (p / pContent).toFixed(2);
98
+ let kAmountKH2PO4 = (k / kContentKH2PO4).toFixed(2);
99
+ let kAmountKNO3 = (k / kContentKNO3).toFixed(2);
100
+ let mgAmount = (mg / mgContent).toFixed(2);
101
+ let sAmount = (s / sContent).toFixed(2);
102
+
103
+ // Составляем итоговый список удобрений
104
+ let resultText = `
105
+ <h3>Необходимые удобрения:</h3>
106
+ <p>Азот (N): ${nitrogen} мг/л</p>
107
+ <p>Аммиачная селитра (NH₄NO₃) (азот): ${ammoniumNitrate} г/л</p>
108
+ <p>Кальциевая селитра (Ca(NO₃)₂) (азот): ${calciumNitrate} г/л</p>
109
+ <p>Калиевая селитра (KNO₃) (азот): ${potassiumNitrate} г/л</p>
110
+ <p>${caAmount} г/л - Кальциевая селитра (Ca(NO₃)₂)</p>
111
+ <p>${pAmountKH2PO4} г/л - Фосфат калия (KH₂PO₄)</p>
112
+ <p>${kAmountKH2PO4} г/л - Калий фосфат (KH₂PO₄)</p>
113
+ <p>${kAmountKNO3} г/л - Калиевая селитра (KNO₃)</p>
114
+ <p>${mgAmount} г/л - Магний сульфат (MgSO₄·7H₂O)</p>
115
+ <p>${sAmount} г/л - Калий сульфат (K₂SO₄)</p>
116
+ `;
117
+
118
+ document.getElementById("result").innerHTML = resultText;
119
+ }
120
+ </script>
121
+
122
+ </body>
123
+ </html>