Średnia arytmetyczna n losowych liczb

0

Witam, zaczynam uczyć się JavaScript'u i chcę napisać skrypt obliczający średnią n liczb losowych z podanego (z klawiatury) przedziału (p1-p2) wykorzystując do tego pętle do ... while. Póki co napisałem następujący kod, możliwe, że da się go napisać krócej jednak chcę wyświetlić wylosowane liczby w dowolnym elemencie: label, textarea cokolwiek ale nie wiem jak to uczynić i prosiłbym o pomoc w tej kwestii.

function srednia1() {
    p1 = parseFloat(pp1.value);
    p2 = parseFloat(pp2.value);
    n = parseInt(np1p2.value);
    i = 1;
    losuj = 1;
    suma = 0;
    do {
        losuj = Math.floor(Math.random() * (p2 - p1 + 1) + p1);
        alert(losuj);
        suma = suma + losuj;
        i++;
    }
    while (i <= n);
    wynik5.value = suma / n;
}
0

poczytaj o

  document.getElementById
0
m_Lesiu napisał(a):

poczytaj o

  document.getElementById

Próbowałem wcześniej stosując następujący kod:

document.getElementById("textarea").innerHTML=losuj;

Z tym, że w efekcie do textarea wypisała się tylko jedna z wylosowanych liczb, a nie wszystkie.

0

Zapamiętaj elementy w tablicy, a potem wywołaj na niej metodę join(separator). Dostaniesz stringa, którego będziesz mógł wpakować w textarea.

0

Zależy mi na tym, żeby tam nie było żadnych tablic, dodatkowych pętli. Jest na to jakaś rada?

0

Możesz kleić stringa ręcznie na bieżąco, ale to raczej będzie wolniejsze niż Array.join(separator).

0

Mógłbym prosić o przykład o co chodzi z tym "klejeniem" stringa?

0

Podmień odpowiedni kawałek kodu na:

    i = 1;
    losuj = 1;
    suma = 0;
    napis = "";
    do {
        losuj = Math.floor(Math.random() * (p2 - p1 + 1) + p1);
        if (i > 1) napis += ",";
        napis += losuj;
        suma = suma + losuj;
        i++;

Potem wstaw napis do textarea.

1 użytkowników online, w tym zalogowanych: 0, gości: 1