api_g / calculate.html
DmitrMakeev's picture
Create calculate.html
2737675 verified
raw
history blame
6.83 kB
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Расчёт удобрений с азотом</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
input { padding: 8px; margin: 5px; width: 200px; }
button { padding: 8px 12px; cursor: pointer; margin-top: 10px; }
.result { margin-top: 20px; }
</style>
</head>
<body>
<h1>Расчёт удобрений для смешивания с азотом</h1>
<div>
<h3>Введите состав удобрений:</h3>
<label for="ca_content">Процент кальция (Ca) в Ca(NO₃)₂:</label>
<input type="number" id="ca_content" value="19" placeholder="например, 19"><br>
<label for="p_content">Процент фосфора (P) в KH₂PO₄:</label>
<input type="number" id="p_content" value="22" placeholder="например, 22"><br>
<label for="k_content_kh2po4">Процент калия (K) в KH₂PO₄:</label>
<input type="number" id="k_content_kh2po4" value="28" placeholder="например, 28"><br>
<label for="k_content_kno3">Процент калия (K) в KNO₃:</label>
<input type="number" id="k_content_kno3" value="46" placeholder="например, 46"><br>
<label for="mg_content">Процент магния (Mg) в MgSO₄·7H₂O:</label>
<input type="number" id="mg_content" value="16" placeholder="например, 16"><br>
<label for="s_content">Процент серы (S) в K₂SO₄:</label>
<input type="number" id="s_content" value="18" placeholder="например, 18"><br>
<h3>Введите требуемые концентрации элементов:</h3>
<label for="ca">Кальций (Ca) (мг/л):</label>
<input type="number" id="ca" placeholder="например, 50"><br>
<label for="p">Фосфор (P) (мг/л):</label>
<input type="number" id="p" placeholder="например, 50"><br>
<label for="k">Калий (K) (мг/л):</label>
<input type="number" id="k" placeholder="например, 100"><br>
<label for="mg">Магний (Mg) (мг/л):</label>
<input type="number" id="mg" placeholder="например, 25"><br>
<label for="s">Сера (S) (мг/л):</label>
<input type="number" id="s" placeholder="например, 20"><br>
<h3>Введите азот (N) (мг/л):</h3>
<label for="nitrogen">Азот (N):</label>
<input type="number" id="nitrogen" value="50" placeholder="например, 50"><br>
<h3>Регулировка соотношения азотных удобрений:</h3>
<label for="n_ratio">Соотношение азота в аммиачной селитре:</label>
<input type="range" id="n_ratio" min="0" max="100" value="50">
<span id="n_ratio_value">50%</span> аммиачная селитра / 50% кальциевая селитра<br>
<button onclick="calculate()">Рассчитать удобрения</button>
</div>
<div class="result" id="result">
<!-- Результаты будут отображаться здесь -->
</div>
<script>
function calculate() {
// Получаем состав удобрений из полей ввода
let caContent = parseFloat(document.getElementById("ca_content").value) / 100;
let pContent = parseFloat(document.getElementById("p_content").value) / 100;
let kContentKH2PO4 = parseFloat(document.getElementById("k_content_kh2po4").value) / 100;
let kContentKNO3 = parseFloat(document.getElementById("k_content_kno3").value) / 100;
let mgContent = parseFloat(document.getElementById("mg_content").value) / 100;
let sContent = parseFloat(document.getElementById("s_content").value) / 100;
// Получаем требуемые концентрации элементов из полей ввода
let ca = parseFloat(document.getElementById("ca").value);
let p = parseFloat(document.getElementById("p").value);
let k = parseFloat(document.getElementById("k").value);
let mg = parseFloat(document.getElementById("mg").value);
let s = parseFloat(document.getElementById("s").value);
let nitrogen = parseFloat(document.getElementById("nitrogen").value);
// Получаем соотношение азота из ползунка
let nRatio = parseFloat(document.getElementById("n_ratio").value) / 100;
// Рассчитываем количество азота в разных удобрениях в зависимости от соотношения
let ammoniumNitrate = (nitrogen * nRatio * 0.34).toFixed(2); // аммиачная селитра (N)
let calciumNitrate = (nitrogen * (1 - nRatio) * 0.26).toFixed(2); // кальциевая селитра (N)
let potassiumNitrate = (nitrogen * 0.20).toFixed(2); // калиевая селитра (N)
// Рассчитываем необходимое количество удобрений для каждого элемента
let caAmount = (ca / caContent).toFixed(2);
let pAmountKH2PO4 = (p / pContent).toFixed(2);
let kAmountKH2PO4 = (k / kContentKH2PO4).toFixed(2);
let kAmountKNO3 = (k / kContentKNO3).toFixed(2);
let mgAmount = (mg / mgContent).toFixed(2);
let sAmount = (s / sContent).toFixed(2);
// Составляем итоговый список удобрений
let resultText = `
<h3>Необходимые удобрения:</h3>
<p>Азот (N): ${nitrogen} мг/л</p>
<p>Аммиачная селитра (NH₄NO₃) (азот): ${ammoniumNitrate} г/л</p>
<p>Кальциевая селитра (Ca(NO₃)₂) (азот): ${calciumNitrate} г/л</p>
<p>Калиевая селитра (KNO₃) (азот): ${potassiumNitrate} г/л</p>
<p>${caAmount} г/л - Кальциевая селитра (Ca(NO₃)₂)</p>
<p>${pAmountKH2PO4} г/л - Фосфат калия (KH₂PO₄)</p>
<p>${kAmountKH2PO4} г/л - Калий фосфат (KH₂PO₄)</p>
<p>${kAmountKNO3} г/л - Калиевая селитра (KNO₃)</p>
<p>${mgAmount} г/л - Магний сульфат (MgSO₄·7H₂O)</p>
<p>${sAmount} г/л - Калий сульфат (K₂SO₄)</p>
`;
document.getElementById("result").innerHTML = resultText;
}
</script>
</body>
</html>