Загрузка данных


<!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: 30px; background-color: #f4f6f9; color: #333; }
        .container { max-width: 800px; margin: 0 auto; background: #fff; padding: 25px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
        h1, h2 { color: #2c3e50; border-bottom: 2px solid #ecf0f1; padding-bottom: 8px; }
        .form-group { margin-bottom: 12px; }
        label { display: inline-block; width: 340px; font-weight: bold; }
        input[type="number"] { width: 140px; padding: 6px; border: 1px solid #ccc; border-radius: 4px; }
        button { background-color: #27ae60; color: white; border: none; padding: 10px 20px; font-size: 15px; border-radius: 4px; cursor: pointer; margin-top: 10px; }
        button:hover { background-color: #219150; }
        .result-box { margin-top: 15px; padding: 15px; background-color: #e8f8f5; border-left: 5px solid #2ecc71; border-radius: 4px; font-size: 15px; line-height: 1.6; }
        .test-question { margin-bottom: 18px; padding-bottom: 10px; border-bottom: 1px dashed #ddd; }
        .test-question p { font-weight: bold; margin-bottom: 6px; }
        .score-box { font-weight: bold; font-size: 16px; margin-top: 15px; color: #2980b9; }
    </style>
</head>
<body>

<div class="container">
    <h1>Практическое задание № 4: Расчет норматива оборотных средств</h1>
    
    <div class="form-group">
        <label>Стоимость МПЗ в месяц (тыс. руб.):</label>
        <input type="number" id="mpz" value="1120">
    </div>
    <div class="form-group">
        <label>Количество рабочих дней в месяц:</label>
        <input type="number" id="days" value="22">
    </div>
    <div class="form-group">
        <label>Объем СМР в год (тыс. руб.):</label>
        <input type="number" id="smr" value="14200">
    </div>
    <div class="form-group">
        <label>Выпуск готовой продукции в год (тыс. руб.):</label>
        <input type="number" id="gp" value="1350">
    </div>
    <div class="form-group">
        <label>Расходы будущих периодов (тыс. руб.):</label>
        <input type="number" id="rbp" value="560">
    </div>
    <div class="form-group">
        <label>Дебиторская задолженность (тыс. руб.):</label>
        <input type="number" id="deb" value="520">
    </div>
    <div class="form-group">
        <label>Денежные средства (тыс. руб.):</label>
        <input type="number" id="money" value="350">
    </div>

    <button onclick="calculate()">Рассчитать норматив</button>

    <div id="result" class="result-box" style="display:none;"></div>

    <h2>Тест: Классификация тестирования ПО</h2>

    <form id="quizForm">
        <div class="test-question">
            <p>1. Тестирование при нагрузке, значительно превышающей запланированные значения:</p>
            <label><input type="radio" name="q1" value="0"> Тестирование стабильности</label><br>
            <label><input type="radio" name="q1" value="1"> Стресс-тестирование</label><br>
            <label><input type="radio" name="q1" value="0"> Тестирование надежности</label>
        </div>

        <div class="test-question">
            <p>2. Самый формализованный метод ревизии кода с обязательным модератором:</p>
            <label><input type="radio" name="q2" value="1"> Инспектирование</label><br>
            <label><input type="radio" name="q2" value="0"> Неформальная ревизия</label><br>
            <label><input type="radio" name="q2" value="0"> Прохождение алгоритма</label>
        </div>

        <div class="test-question">
            <p>3. Программный компонент, вызывающий тестируемый объект и имитирующий внешнюю среду:</p>
            <label><input type="radio" name="q3" value="0"> Точка контроля</label><br>
            <label><input type="radio" name="q3" value="1"> Драйвер теста</label><br>
            <label><input type="radio" name="q3" value="0"> Заглушка</label>
        </div>

        <div class="test-question">
            <p>4. Для диапазона 3 ≤ A &lt; 100 число, являющееся недопустимой верхней границей:</p>
            <label><input type="radio" name="q4" value="0"> 99</label><br>
            <label><input type="radio" name="q4" value="1"> 100</label><br>
            <label><input type="radio" name="q4" value="0"> 3</label>
        </div>

        <div class="test-question">
            <p>5. Интеграционный подход с постепенным добавлением модулей и проверкой сборок:</p>
            <label><input type="radio" name="q5" value="1"> Инкрементный подход</label><br>
            <label><input type="radio" name="q5" value="0"> Монолитный подход</label><br>
            <label><input type="radio" name="q5" value="0"> Регрессионный подход</label>
        </div>

        <button type="button" style="background-color:#2980b9;" onclick="checkQuiz()">Проверить ответы теста</button>
    </form>

    <div id="quizResult" class="score-box"></div>
</div>

<script>
function calculate() {
    const mpz = parseFloat(document.getElementById('mpz').value) || 0;
    const days = parseFloat(document.getElementById('days').value) || 1;
    const smr = parseFloat(document.getElementById('smr').value) || 0;
    const gp = parseFloat(document.getElementById('gp').value) || 0;
    const rbp = parseFloat(document.getElementById('rbp').value) || 0;
    const deb = parseFloat(document.getElementById('deb').value) || 0;
    const money = parseFloat(document.getElementById('money').value) || 0;

    const normDaysMPZ = 33 / 0.95; // (20 + 10 + 3) / (1 - 0.05)
    const normMPZ = (mpz / days) * normDaysMPZ;
    const normNZP = smr * 0.05;
    const normGP = (gp * 5) / (days * 12);
    const total = normMPZ + normNZP + rbp + deb + money + normGP;

    const resDiv = document.getElementById('result');
    resDiv.style.display = 'block';
    resDiv.innerHTML = `
        <b>Результаты расчета нормативов:</b><br>
        1. Норматив МПЗ: <b>${normMPZ.toFixed(2)}</b> тыс. руб.<br>
        2. Норматив НЗП: <b>${normNZP.toFixed(2)}</b> тыс. руб.<br>
        3. Норматив готовой продукции: <b>${normGP.toFixed(2)}</b> тыс. руб.<br>
        -----------------------------------------------------<br>
        <b>ИТОГО совокупный норматив: ${total.toFixed(2)} тыс. руб.</b>
    `;
}

function checkQuiz() {
    let score = 0;
    for (let i = 1; i <= 5; i++) {
        const val = document.querySelector(`input[name="q${i}"]:checked`);
        if (val && val.value === "1") {
            score++;
        }
    }
    document.getElementById('quizResult').innerText = `Правильных ответов: ${score} из 5`;
}
</script>

</body>
</html>