JSFiddle - React, Tailwind, and code Playground

by Timatnet

HTML

Lab 5
<script type="text/javascript"
src="https://raw.github.com/Ivajkin/common.js/master/common.js"></script>

<p id="result"></p>

JavaScript

var λ = 5,
    μ1 = 1,
    μ2 = 3,
    Tk = 10,
    eps = 0.01;

var A = 0.0,
    Pob = 0.0,
    Potk = 0.0,
    Ppr1 = 0.0,
    Ppr2 = 0.0;

do {
    difa = A;
    difpob = Pob;
    difpotk = Potk;
    difppr1 = Ppr1;
    difppr2 = Ppr2;
    Tc = 0;
    N = 0;
    Nob = 0;
    Notk = 0;
    Tpr1 = 0;
    Tpr2 = 0;
    T1 = 0;
    T2 = 0;
    T3 = 0;
    T4 = 0;
    T = 0;
    while (T1 <= Tk || T2 <= Tk || T3 <= Tk || T4 <= Tk) {
        N += 1;
        var r = Math.round(random() * 10) / 100.0;
        if (r == 0.0) r = 0.1;
        Tc = Tc - (1.0 / λ) * ln(r);
        if (Tc >= T1) {
            r = Math.round(random() * 10) / 100.0;
            if (r == 0.0) r = 0.1;
            Tpr1 += Math.abs(Tc - T1);
            T1 = Tc - (1.0 / μ1) * ln(r);
            Nob += 1;
            continue;
        }
        else if (Tc >= T2) {
            r = Math.round(random() * 10) / 100.0;
            if (r == 0.0) r = 0.1;
            Tpr2 += Math.abs(Tc - T2);
            T2 = Tc - (1.0 / μ2) * ln(r);
            Nob += 1;
            continue;
        }
        else if (Tc >= T3) {
            if (T1 <= T2) T3 = T1;
            else T3 = T2;
            continue;
        }
        else if (Tc >= T4) {
            T4 = T3;
            continue;
        }
        else {
            Notk += 1;
        }
    }
    A = Nob / Tk;
    Pob = Nob / N;
    Potk = Notk / N;
    Ppr1 = Tpr1 / Tk;
    Ppr2 = Tpr2 / Tk;
} while (abs(difa - A) >= eps || abs(difpob - Pob) >= eps || Math.abs(difpotk - Potk) >= eps || Math.abs(difppr1 - Ppr1) >= eps || Math.abs(difppr2 - Ppr2) >= eps);

$("#result").html(["A: " + A + "<br/>", "Pob: " + Pob + "<br/>", "Potk: " + Potk + "<br/>", "Ppr1: " + Ppr1 + "<br/>", "Ppr2: " + Ppr2 + "<br/>"].fold("", sum));