JSFiddle - React, Tailwind, and code Playground

HTML

<body>
    
    <label for="in">Dane wejściowe</label><br>
    <textarea rows="8" cols="80" name="in" id="in"></textarea>

    <br><br>

    <label>Wynik</label><br>
    <div id="out"></div>
        
    <br><br>
        
    <button id="ok">Start</button>
    
</body>

CSS

#in {
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
    font: bold 14px Courier New;
}

#out {
    box-sizing: border-box;
    min-height: 100px;
    padding: 11px;
    font: bold 14px Courier New;
    background-color: #eee;
}

JavaScript

/** tak obsługujemy przycisk, który po kliknięciu wywoła naszą funkcję: doHomework */
$("#ok").click(function() { doHomework(); });

var value = 10;
var decrement = 1;
var interval = 1000;
var timerId = -1;

function PerformCalc() {
	if (value > 0) {
		value -= decrement
	}
	writeResultToOutput('Value: ' + value + '<br />');
    if (value == 0) {
        clearInterval(timerId);
    }
}

function runTimer(value, interval) {
    timerId = setInterval(PerformCalc, interval);
	writeResultToOutput('Value: ' + value + '<br />');
}

function doHomework() {
    var data = getDataFromInput();
    var argumentLines = data.split("\n");
    var myTimeout = 0;
    argumentLines.forEach(
        function(argLine) {
            var values = argLine.split(" ");
            value = parseInt(values[0]);
            interval = parseInt(values[1]);  
            setTimeout(function(){ runTimer(value, interval); }, myTimeout);
            myTimeout += (value * interval);
        }
    );	
}

function getDataFromInput() {
    return $("#in").val();
}

function writeResultToOutput(resultHTML) {
    $("#out").html(resultHTML);
}