LABORATORIO No 4

OBJETIVO.-
Mejorar el conocimiento de los arreglos, sus funcionalidades y utilidades en programación


FUNDAMENTO TEORICO.-
En programación, una matriz o vector (llamados en inglés arrays) es una zona de almacenamiento continuo, que
contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una
matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos
dimensiones).
En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los
elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite
hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres
dimensiones.
Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma
aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso
secuencial sería más adecuado utilizar una lista, ya que esta estructura puede cambiar de tamaño fácilmente
durante la ejecución de un programa.
VECTOR:


MATRIZ:



APLICACIÓN.-
Ejercicio 1.-
Realizar un programa que me intercambie los valores de la posición 3 por la 1.
VER ANEXO (A).
DIAGRAMA DE FLUJO:


CODIGO:
import java.util.Collections;
import java.util.Scanner;
public class ejercicio_1 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

System.out.println("ORDENACION DE VECTOR DE MAYOR A MENOR");
Scanner leer=new Scanner(System.in);
int a,b,c;

int vec[];
System.out.println("Ingrese el tamaño del vector:");

b=leer.nextInt();

vec=new int[b];

for(int i=0;i<b;i++)
{
c=leer.nextInt();
vec[i]=c;

}//fin del for
System.out.println("Forma original del vector:");

for(int i=0;i<vec.length;i++)
{
System.out.print(vec[i]);
}//fin del for
double aux;
for(int i=0; i < vec.length-1; i++)
{
for(int j=0; j < vec.length-1; j++)
{
if(vec[j] > vec[j+1])
{ aux=vec[j];
vec[j]=vec[j+1];
vec[j+1]=(int) aux;} //fin sentencia if

}//fin ciclo for
}//fin ciclo for

System.out.println();
System.out.println("El vector ordenado es:");
for(int i=0;i<vec.length;i++)
{
System.out.print(vec[i]);

}//fin del for
}

}


Ejercicio 2.-
-Realizar un programa multiplique dos matrices.
Ver anexo(B)
DIAGRAMA DE FLUJO:


CODIGO:
En matlab:
% MULTIPLICACION DE MATRICES

n=input('ingrese el tamaño de las filas de la matriz A:');
m=input('ingrese el tamaño de las columnas de la matriz A:');
o=input('ingrese el tamaño de las filas dela matriz B:');
p=input('ingrese el tamaño de las columnas de la matriz B:');
if m==o
A=zeros(n,m);
B=zeros(o,p);
C=zeros(n,p);
for i=1:n
for j=1:m
s=sprintf('ingrese la fila %d y col %d de A: ',i,j);
A(i,j)=input(s);
end
end

for i=1:o
for j=1:p
s=sprintf('ingrese la fila %d y col %d de B: ',i,j);
B(i,j)=input(s);
end
end
A
B
disp('La matriz resultante es:');
C=A*B
end















Ejercicio 3.-
Realizar un programa que me muestre por pantalla lo siguiente:
VEC=[1,2,3,4,5,6] -> OUPUT VEC=[6,5,4,3,2,1]
VER ANEXO (C)
DIAGRAMA DE FLUJO:

CODIGO:
import java.util.Collections;
import java.util.Scanner;
public class ejer_2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner leer=new Scanner(System.in);
int a,b,c;
int vec[];
System.out.println("Ingrese el tamaño del vector:");
b=leer.nextInt();
vec=new int[b];
for(int i=0;i<b;i++)
{
c=leer.nextInt();
vec[i]=c;
}//fin del for
System.out.println("Forma original del vector:");
for(int i=0;i<vec.length;i++)
{
System.out.print(vec[i]);
}//fin del for
System.out.println("");
System.out.println("Forma de salida del vector:");
for(int i=b-1;i>=0;i--)
{
System.out.print(vec[i]);
}//fin del for
}
}
Ejercicio 4.-
Realizar un programa que me genere la serie de Fibonacci con uso de vectores:
VER ANEXO (D)
DIAGRAMA DE FLUJO:

CODIGO:
import java.util.Scanner;
public class ejercicio_4 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

System.out.println("GENERAR LA SERIE DE FIBONACCI CON
VECTORES");

int a=-1,b=1,n,c=0;
int[] vec;
vec=new int[255];
System.out.println("Ingrese la cantidad de numeros de la
serie:");
Scanner leer=new Scanner(System.in);
n=leer.nextInt();
for(int i=1;i<=n;i++)
{ int f=a+b;
a=b;
b=f;

vec[c]=f;
c++;
}
System.out.println("La serie es:");

for(int i=0;i<n;i++)
{

System.out.println("el valor de la posicion "+i+" del vector
es: "+vec[i]);
}



}

}










Ejercicio 5.-
Realizar un programa que haga la multiplicación de un vector por una matriz.
VER ANEXO (E)
DIAGRAMA DE FLUJO:

CODIGO:
EM MATLAB:
% MULTIPLICACION DE MATRIz POR UN VECTOR


n=input('ingrese el tamaño de las filas de la matriz A:');
m=input('ingrese el tamaño de las columnas de la matriz A:');
disp('////ADVERTENCIA/////');
disp('////Por lo general el tamaño de un vector es N filas por 1 columna/////');
o=input('ingrese el tamaño del vector las filas dela matriz B:');
p=input('ingrese el tamaño del vector las columnas de la matriz B:');

if m~=p

A=zeros(n,m);
B=zeros(o,p);
C=zeros(n,p);
for i=1:n
for j=1:m
s=sprintf('ingrese la fila %d y col %d de A: ',i,j);
A(i,j)=input(s);
end
end

for i=1:o
for j=1:p
s=sprintf('ingrese la fila %d y col %d de B: ',i,j);
B(i,j)=input(s);
end
end
A
B
disp('La matriz resultante es:');
C=A*B

end









ANEXOS.-
A:


B:

C:

D:

E:










BIBLIOGRAFIA.-
http://es.wikipedia.org/wiki/Arreglo
http://es.wikipedia.org/wiki/Matriz_(matem%C3%A1ticas)
PROGRAMACION EN JAVA 7MA EDICION DEITEL Y DEITEL