Spaces:
Sleeping
Sleeping
<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> | |