Você está na página 1de 7

UNIVERSIDAD POLITCNICA SALESIANA

Vectores y Matrices
Isidro Reinoso Sacancela
Estudiante UPS-K Ingeniera. Elctrica
Quito Ecuador
Isico_rey@hotmail.com
06 julio 2015

Resumen . En este informe se presentara el uso y


el manejo de los vectores y matrices dentro de
programacin.
Abstract . In this report the use and management
of vectors in programming is presented.
PALABRAS CLAVE KEY WORDS

Char
Double
String
Input
Import
Bufferead Reader
try
Catch
Vectors

- Char
- Doble
-De cadena
-Llave de entrada
-importacin
- Lector Bufferead
- try
- catch
- Vectores

B. Objetivos Secundarios

1.- Comprender cuando debemos utilizar un vector.


2.- Realizar ejercicios con un nivel de complejidad
aceptable para as prepararnos a una evaluacin futura.
3.- Aprender de qu manera se va ordenar a un vector,
es decir entender el mtodo de la burbuja.
4.- Entender cmo se comportara un vector en el
momento de hacer operaciones matemticas con el
mismo.
5.- Utilizar vectores en ejercicios propuestos.

III. DESARROLLO

I. INTRODUCCIN
Los vectores son una coleccin de elementos de un
mismo tipo, los cuales pueden ser:
Integer
Double
Char
String
Todo vector tiene un tipo de datos y una dimensin, la
dimensin vendra a ser el tamao del vector, es decir
el nmero de elementos que este contenga. [1]

II. OBJETIVOS
A. Objetivo Principal
Aprender a utilizar un vector y entender todo lo que conlleva
generar uno.

Entender el uso de las matrices e identificar cuando


necesitamos utilizar las mismas para nuestros diferentes
ejercicios de aplicacin.

PROGRAMACIN I

A. Definicin

Un vector, en programacin, es un arreglo,


generalmente asociados a los arreglos
unidimensionales. Es una zona de almacenamiento
contiguo, que contiene una serie de elementos del
mismo tipo y se distinguen entre s por un ndice.
Vector tambin es la clase de la librera estndar de
C++, que funciona como arreglo dinmico. El vector es
una de las mltiples estructuras llamadas contenedores
(otras son los conjuntos, mapas y listas). Es
implementada como una plantilla de clase y puede ser
iniciada como vector de nmeros enteros, vector de
cadenas, vector de instancias de una clase definida por
el usuario, etc. [2]

ALGORITMOS

aux=A[j+1];
A[j+1]=A[j];
A[j]=aux;

Matrices

Un array en Java puede tener ms de una dimensin.


El caso ms general son los arrays bidimensionales
tambin llamados matrices o tablas.
La dimensin de un array la determina el nmero de
ndices necesarios para acceder a sus elementos.
Los vectores que hemos visto en otra entrada anterior
son arrays unidimensionales porque solo utilizan un
ndice para acceder a cada elemento.
Una matriz necesita dos ndices para acceder a sus
elementos. Grficamente podemos representar una
matriz como una tabla de n filas y m columnas cuyos
elementos son todos del mismo tipo. [2]

}
}[3]
CONSULTA(Metodos de ordenamiento)

a.-MergeSort
El algoritmo Merge divide el arreglo original en dos
arreglos y los coloca en arreglos separados. Cada
arreglo es recursivamente ordenado y finalmente se
unen los arreglos en un arreglo ordenado. Como
cualquiera de los algoritmos de ordenamiento recursivo
el algoritmo Merge tiene complejidad de O(n log n).
Fue desarrollado por John Von Neumann.
Algoritmo

B.Mtodo de la Burbuja
El mtodo de la burbuja es uno de los mtodos de
ordenacin ms conocidos y uno de los primeros que
aprenden los programadores.
Consiste en comparar pares de elementos adyacentes
en un array y si estn desordenanos intercambiarlos
hasta que estn todos ordenados.
Si A es el array a ordenar, se realizan A.length-1
pasadas. Si la variable i es la que cuenta el nmero de
pasadas, en cada pasada i se comprueban los elementos
adyacentes desde el primero hasta A.length-i-1 ya que
el resto hasta el final del array estn ya ordenados. Si
los elementos adyacentes estn desordenados se
intercambian.
El mtodo de ordenacin de la burbuja en java para
ordenar un vector es el siguiente:
public static void burbuja(int [] A){
int i, j, aux;
for(i=0;i<A.length-1;i++)
for(j=0;j<A.length-i-1;j++)
if(A[j+1]<A[j]){

void ordenarMezcla(TipoEle A[], int izq, int der)


{ if ( izq < der )
{ centro = ( izq + der ) % 2;
ordenarMezcla( A, izq, centro );
ordenarMezcla( A, centro+1, der);
intercalar( A, izq, centro, der );
}
}
void intercalar(TipoEle A[], int a, int c, int b )
{ k = 0;
i = a;
j = c + 1;
n = b - a;
while ( i < c + 1 ) && ( j < b + 1 )
{ if ( A[i] < A[j] )
{ B[k] = A[i];
i = i + 1;
}
else
{ B[k] = A[j];
j = j + 1;
}
k = k + 1;
};
while ( i < c + 1 )
{ B[k] = A[i];
i++;
k++;
};
while ( j < b + 1 )
{ B[k] = A[j];
j++;
k++;
};
i = a;
for ( k = 0; k < n; i++ )

TCNICAS DE INVESTIGACIN

UNIVERSIDAD POLITCNICA SALESIANA

{ A[i] = B[k];
i++;
};
};
ShellSort
Este mtodo funciona de la siguiente manera:

Ordena subgrupos de elementos separados K


unidades (respecto de su posicin en el
arreglo) del arreglo original. El valor K es
llamado incremento.

Despus de que los primeros K subgrupos han


sido ordenados, se escoge un nuevo valor de
K ms pequeo, y el arreglo es de nuevo
partido entre el nuevo conjunto de subgrupos.
Cada uno de los subgrupos mayores es
ordenado y el proceso se repite de nuevo con
un valor ms pequeo de K.

Eventualmente el valor de K llega a ser 1, de


tal manera que el subgrupo consiste de todo el
arreglo ya casi ordenado.

Al principio del proceso se escoge la


secuencia de decrecimiento de incrementos; el
ltimo valor debe ser 1.

"Es como hacer un ordenamiento de burbuja


pero
comparando
e
intercambiando
elementos."

Cuando el incremento toma un valor de 1,


todos los elementos pasan a formar parte del
subgrupo y se aplica insercin directa.

El mtodo se basa en tomar como salto N/2


(siendo N el nmero de elementos) y luego se
va reduciendo a la mitad en cada repeticin
hasta que el salto o distancia vale 1.

Algoritmo:
void shellSort(int a[], int h)
{
int i;
while (h > 0)
{ for (i = h-1; i<n; i++)
{
int B = a[i];
int j = i;
for (j = i; (j >= h) && (a[j - h] > B); j -= h)
{ a[j] = a[j - h];}
a[j] = B;
}
h = h / 2;
}
}

PROGRAMACIN I

Ordenacin por Insercin


Este mtodo debe su nombre al hecho de que en la isima pasada se inserta el i-simo elemento del arreglo
en el lugar adecuado entre los i-1 elementos que lo
preceden, los cuales ya fueron ordenados previamente.
Como resultado de dicha insercin los i primeros
elementos del arreglo quedan ordenados.
Algoritmo
for(i=1; i<n; i++) {
temp = V[i];
Izq = 0;
Der = i-1;
while(Izq <= Der){
Medio = (Izq+Der)/2;
if (temp < V[Medio])
Der = Medio - 1;
else
Izq = Medio + 1;
}
for (j=i-1; j>=Izq; j--){
V[j+1]=V[j];
}
V[Izq] = temp;
}

C.Ejercicios
1.-Vectores
Codigo:
InputStreamReader
DATO=
new
InputStreamReader(System.in);
BufferedReader DATO1= new BufferedReader
(DATO);
int i,AUX, j,VEC1[];
VEC1=new int [10];
i=0;
try {
System.out.println("VECTORES");
for(i=0;i<10;i=i+1)
{
System.out.println("INGRESE
EL
ELEMENTO DEL VECTOR");
VEC1[i]=
Integer.parseInt(DATO1.readLine());
}
System.out.println("");
System.out.println("VISULIZACION
VECTOR");
for(i=0;i<10;i=i+1)
{
System.out.print(VEC1[i]+" ");

DEL

ALGORITMOS

}
System.out.println("");
System.out.println("");
System.out.println("ORDENAMIENTO POR
BURBUJA");
for(i=0;i<10;i=i+1)
{
for(j=0;j<9-i;j=j+1)
{
if(VEC1[j+1]<VEC1[j] )
{
AUX=VEC1[j+1];
VEC1[j+1]=VEC1[j];
VEC1[j]=AUX;

}
Resultado

}
}
}
System.out.println("VISUALIZACION
ASCENDENTE");
for(i=0;i<10;i=i+1)
{
System.out.print(VEC1[i]+" ");
}
System.out.println("");
System.out.println("");
System.out.println("");
for(i=0;i<10;i=i+1)
{
for(j=0;j<9-i;j=j+1)
{
if(VEC1[j+1]>VEC1[j] )
{
AUX=VEC1[j+1];
VEC1[j+1]=VEC1[j];
VEC1[j]=AUX;

2.- Matrices
public static void main(String[] args) {
InputStreamReader
DATO=
new
InputStreamReader(System.in);
BufferedReader DATO1= new BufferedReader
(DATO);
int MAT1[][],i;
MAT1=new int [3][3];
try {
System.out.println("MATRICES");
for(i=0;i<3;i=i+1)
{
for (int j = 0; j < 3; j=j+1) {
System.out.println("INGRESE
EL
ELEMNTO DE LA MATRIZ");
MAT1[j][i]=Integer.parseInt(DATO1.readLine());

}
}
}
}
System.out.println("VISUALIZACION
DESCENDENTE");
for(i=0;i<10;i=i+1)
{
System.out.print(VEC1[i]+" ");
}
}
catch (Exception e) {
System.out.println("error");
}
}

}
System.out.println("");
System.out.println("VISUALIZACION DE LA
MATRIZ");
for(i=0;i<3;i=i+1)
{
for (int j = 0; j < 3; j=j+1) {
System.out.print(MAT1[j][i]+" ");

}
System.out.println("");
}
TCNICAS DE INVESTIGACIN

UNIVERSIDAD POLITCNICA SALESIANA

{
}
catch (Exception e)
{
System.out.println("error");
}

System.out.print(" "+vec1[i] );
}
}
catch (IOException e)
{
System.out.println("ERROR");
}

}
}
}
Resultado

Resultado:

D. Deberes
1.- Visualizacin del Vector.

2.-Ingreso y visualizacin de una matriz.

Cdigo:

Codigo:
InputStreamReader DATO= new InputStreamReader
(System.in);
BufferedReader DATO1= new BufferedReader
(DATO);
int mat1[][];
mat1=new int [3][3];
try
{
System.out.println("Ingreso de Datos a la
Matriz");
for (int i = 0; i <= 2; i++)
{
for (int j = 0; j <= 2; j++)
{
System.out.println("Ingrese el elemento
["+(j+1)+"] ["+(i+1)+"] de la matriz " );

nputStreamReader DATO= new InputStreamReader


(System.in);
BufferedReader DATO1= new BufferedReader
(DATO);
int vec1[],vec2[],vec3[],aux;
vec1= new int[10];
vec2= new int[10];
vec3= new int[10];
double num1,var;
try
{
System.out.println("VECTORES");
System.out.println("Ingreso de datos del
vector");
for (int i = 0; i <= 9; i++)
{
System.out.println("Ingrese el elemento
"+(i+1)+ " del vector");
vec1[i]=Integer.parseInt(DATO1.readLine());
}
System.out.println("VISUALIZACION
VECTOR");
for (int i = 0; i <= 9; i++)
PROGRAMACIN I

mat1[i][j]=Integer.parseInt(DATO1.readLine());

}
DEL

}
System.out.println("");

ALGORITMOS

System.out.println("VISUALIZACION DE LA
MATRIZ");
for (int i = 0; i <= 2; i++)
{
for (int j = 0; j <= 2; j++)
{
System.out.print(" "+mat1[i][j] );

}
System.out.println("");
}
}
catch (IOException e)
{
System.out.println("ERROR");
}
}

Resultado:

posicin que ocupa dentro del vector. Dichas


posiciones son llamadas ndice y siempre son
correlativos [4]
2.- El metodo de la burbuja se encarga principalmente
de comparar los elementos del vector e irlos
intercambiando unos con otros hasta que esten
arreglados ya sea ascendente o descendentemente.
Consiste en comparar pares de elementos adyacentes
en un array y si estn desordenados intercambiarlos
hasta que estn todos ordenados.[5]
3.-El uso de los corchetes dentro de vectores es
importantisimo ya que esto nos permitira acceder a los
elementos del vector, dentro de los corchetes existira
un numero entero (localizador).
Para acceder a los elementos del array se utilizan los
corchetes [], dentro de los cuales existir un localizador
o ndice que es un nmero entero. [6]
4.- Dentro de los vectores se guardaran variables de un
solo tipo ya sean estas Integer, Double, String,
Char.Siempre cuidando que sean del mismo tipo ya que
estas no se podran mesclar, generaran un mensaje de
error dentro del programa
Adems, podemos guardar valores de cualquier tipo
de variable (string, entero, punto flotante, booleano)
dentro de un array. Por ejemplo $empleado [23] podra
tomar como valor $empleado [23] = Juan Prez
Surez. En este caso se tratara de un array de cadenas
de texto, es decir, un array de string. [6]
5.- Para realizar procesos con vectores como por
ejemplo la suma, se utilizara un for el cual ayudara a
que se procese elemento a elemnto en el vector.
Los vectores se procesan elemento a elemento.
En general, la mayora de procesos sobre vectores
se llevan a cabo mediante una instruccin for.
[7]
IV. BIOGRAFA
BIBLIOGRAFA

IV. CONCLUSIONES
1.- El vector siempre deber tener una dimensin fija,
es decir un nmero de elementos enteros como por
ejemplo 1 o 2, no existirn nmeros decimales.
Todo vector se compone de un determinado nmero
de elementos. Cada elemento es referenciado por la

[1] A. P. I. Ing. Estuardo Correa, Vectores.


[2] http://www.alegsa.com.ar/Dic/vector%20en%
20programacion.php, alegsa, [En lnea].
[3] http://puntocomnoesunlenguaje.blogspot.com/2012/07
/metodo-de-ordenacion-burbuja.html, puntocomnoesunlenguaje, [
[4] http://www.kubuntu-es.org/wiki/desarrollo-programacio
n/java/scripts-aplicaciones-java/arreglos-vectores-o-arrays,
kubuntu, [En lnea].
[5] http://puntocomnoesunlenguaje.blogspot.com/2012/07
/metodo-de-ordenacion-burbuja.html, puntocomnoesunlenguaje, [
[6] http://www.aprenderaprogramar.com/index.php?

TCNICAS DE INVESTIGACIN

UNIVERSIDAD POLITCNICA SALESIANA

option=com_content&view=article&id=566:arrays-php-arreglos-conceptodefinicion-arrays-unidimensionales-vectores-ejemplos-resueltoscu00823b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193,
aprendeaprogramar, [En lnea].
[7] http://sci2s.ugr.es/programacion/portal/ficheros/transparencias/VectoresMatrices.pdf,
sci2s.urg.es, [En lnea].

PROGRAMACIN I

Você também pode gostar