Esta página contiene ejercicios prácticos sobre el uso de arrays y matrices en JavaScript.
Ejercicio 1: Media de serie indeterminada
Calcula la media aritmética de una serie indeterminada de valores (termina con 9999).
Resultado:
Código del ejercicio:
var x=new Array();
var med;
var y=0;
var i=0;
var sum=0;
while(y != 9999)
{
y=parseFloat(prompt("Introduce un valor\npara acabar escribe 9999","9999"));
x[i]=y;
i++;
}
x[i]=0;
for(j=0;j
{
sum=sum+x[j];
}
med=sum/j;
alert("La media es "+med);
Ejercicio 2: Media con función
Calcula la media aritmética de un número determinado de valores utilizando una función.
Resultado:
Código del ejercicio:
function media(n)
{
var x=new Array(n);
var sum=0;
for(i=0;i
{
num=parseFloat(prompt("Escribe un valor de la serie("+(i+1)+"º):",""));
x[i]=num;
sum=sum+x[i];
}
return sum/n;
}
var valores;
valores=parseInt(prompt("Escribe el número de elementos de la serie",""));
alert("La media de todos los valores es: "+media(valores));
Ejercicio 3: Media con salida mejorada
Versión mejorada del ejercicio anterior con una salida más detallada.
Resultado:
Código del ejercicio:
function media(n)
{
var x=new Array(n);
var sum=0;
var salida="";
for(i=0;i
{
num=parseFloat(prompt("Programa Mejorado\nEscribe un valor de la serie ("+(i+1)+"º):",""));
x[i]=num;
salida=salida+x[i]+" - ";
sum=sum+x[i];
}
salida=salida+"\nLa Media Aritmética de estos "+n+" números es "+(sum/n);
return salida;
}
var valores;
valores=parseInt(prompt("Escribe el número de elementos de la serie",""));
alert(media(valores));
Ejercicio 4: Medidas estadísticas
Calcula la media, desviaciones, varianza y desviación típica de 6 valores.
Resultado:
Código del ejercicio:
var x=new Array(6);
var sum=0;
var med;
var des=new Array(6);
var sum1=0;
var sum2=0;
var desmed,vari,dt;
var salida="VALORES:\n";
var salida1="DESVIACIONES RESPECTO A LA MEDIA:\n";
for(i=0;i<6;i++)
{
num=parseFloat(prompt("Escribe un valor para la serie ("+(i+1)+"º):",""));
x[i]=num;
salida=salida+x[i]+" - ";
sum=sum+x[i];
}
med=sum/6;
for(i=0;i<6;i++)
{
des[i]=Math.abs(x[i]-med);
salida1=salida1+des[i]+" - ";
sum1=sum1+des[i];
sum2=sum2+(des[i]*des[i]);
}
desmed=sum1/6;
vari=sum2/6;
dt=Math.sqrt(vari);
alert(salida+"\n"+"MEDIA ARITMÉTICA = "+med+"\n"+salida1+"\n"+"DESVIACIÓN MEDIA ="+desmed+"\nVARIANZA="+vari+"\nDESVIACIÓN TÍPICA = "+dt);
Fórmulas estadísticas:
• Media aritmética: x = (x1+x2+x3+ ...)/n
• Desviaciones respecto a la media: d1=|x1-x|, d2=|x2-x|, ...
• Desviación media: media aritmética de las desviaciones
• Varianza: media aritmética de las desviaciones al cuadrado
• Desviación típica: raíz cuadrada de la varianza
Ejercicio 5: Generador de letras
Genera un array con letras del abecedario.
Resultado:
Código del ejercicio:
alert(GeneraLetras());
function GeneraLetras()
{
var n;
n=parseInt(prompt("Cuántas letras quieres (1 a 26)",""));
if (isNaN(n)==true) return;
if (n<1) n=1;
if (n>28) n=26;
var Letras=new Array(n);
for (i=0;i<=Letras.length-1;i++)
{
Letras[i]=String.fromCharCode(65+i);
}
return Letras;
}
Explicación:
• length es una propiedad de los arrays que indica el número de elementos.
• String.fromCharCode() genera caracteres a partir de códigos ASCII (65='A', 66='B', etc.).
Ejercicio 6: Arrays paralelos
Manejo de arrays paralelos con datos y edades.
Resultado:
Código del ejercicio:
var salida="";
var Datos=new Array("Pepito","Paquito","Felipe");
var Edad=new Array(57,15,26);
alert("La matriz Datos tiene "+Datos.length+" elementos");
alert("La matriz Edad tiene "+Edad.length+" elementos");
for (i=0;i<=2;i++)
{
salida=salida+Datos[i]+" - "+Edad[i]+"\n";
}
alert(salida);
Arrays paralelos:
Dos arrays que mantienen una relación entre sus elementos en la misma posición.
Ejercicio 7: Matriz bidimensional
Creación y visualización de una matriz bidimensional 5x5.
Resultado:
Código del ejercicio:
var Matriz2D= new Array(5);
for (i=0;i<5;i++)
{
var Aux=new Array(5);
for (j=0;j<5;j++)
{
Aux[j]="E"+i+j;
}
Aux[4] += "\n";
Matriz2D[i]=Aux;
}
alert(Matriz2D);
Matrices bidimensionales:
En JavaScript se simulan creando un array de arrays.
Para acceder a un elemento: Matriz2D[fila][columna]