<html>
<head>
<style>
body{font-family:monospace;
color:greenyellow;
background-color: black;}
</style>
</head>
<body>
<script>
numerosaleatorios = Array();
function random(min, max){
return Math.floor(Math.random() * (max - min)) + min;
}
function raiz(x, n) {
return Math.exp(Math.log(x) / n);
}
const masRepetido = ar => ar.reduce((acum, el, i, ar) => {
const count=ar.filter(e => e==el).length;
return count > acum[1] ? [el, count] : acum;
}, ["", 0]
)
function mediana(arr) {
arr.sort((a,b) => a-b);
const l=arr.length;
return l%2==0
? arr.slice(l/2-1, l/2+1).reduce((a,b) => a+b)/2
: arr.slice((l/2), l/2+1)[0];
}
for(i=0; i<30; i++){
numerosaleatorios[i]=random(1, 99);
}
alto=0;
bajo=100;
for( i=0; i<30; i++){
if(alto<numerosaleatorios[i]){
alto = numerosaleatorios[i];
}
if(bajo>numerosaleatorios[i]){
bajo = numerosaleatorios[i];
}
}
mediaaritmetica = numerosaleatorios[0];
for( i=1; i<30; i++){
mediaaritmetica = mediaaritmetica + numerosaleatorios[i];
}
mediaaritmetica = mediaaritmetica / 30;
function obtenerMediaValores(arr) {
// sumamos los numeros
const porcentaje=arr.reduce(
(acum, el) => {
el in acum ? acum[el]++ : acum[el]=1;
return acum;
}, {}
);
// calculamos la media de cada uno de ellos
for (let i=0; i<Math.max(arr); i++) {
porcentaje[i]=porcentaje[i]*100/arr.length || 0;
}
return porcentaje;
}
document.write("Numeros aleatorios: "+numerosaleatorios+"</br>");
document.write("Numero mas alto: "+alto+"</br>");
document.write("Numero mas bajo: "+bajo+"</br>");
document.write("Media aritmetica: "+mediaaritmetica+"</br>");
document.write("Moda: "+masRepetido(numerosaleatorios)[0]+"</br>");
document.write("Mediana: "+mediana(numerosaleatorios)+"</br>");
const porcentaje=obtenerMediaValores(numerosaleatorios);
Object.keys(porcentaje).forEach(el => {
document.write(el+" - "+porcentaje[el]+"<br>");
})
</script>
</body>
</html>