Sunteți pe pagina 1din 14

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS.

CATEDRATICO:
Blanquet Escobar Landy

MATERIA:
Programacin

INTEGRANTES:
Oscar E. Martinez Medina Unidad 6: Arreglos y datos complejos

1 SEMESTRE

GRUPO: A

COATZACOALCOS, VER.

Introduccin
La presentara a continuacin una investigacin que, tiene una gran importancia en cuanto a lo referente a los Arreglos y TDA (tipos de datos abstractos) el cual estos se utilizan para almacenar un conjunto de variables, que sean del mismo tipo de datos, y todas estas bajo un mismo nombre. Las matrices son de ms de una dimensin a diferencia de los vectores que poseen una sola dimensin podemos imaginar una matriz bidimensional (2 dimensiones), como una cuadricula con filas y columnas donde las filas representan las coordenadas X y las columnas las coordenadas Y, la codificacin tambin es de gran importancia en estn investigacin gracia a ellas podemos transformar de la formulacin de un mensaje a travs de las reglas o normas de un cdigo o lenguaje predeterminado. Con la realizacin de este trabajo se espera obtener una investigacin eficaz que sirva de base o punto de apoyo parar a la realizacin de arreglos.

Indice
Introduccin ..........................................................................................Error! Bookmark not defined. Definicin de arreglo .............................................................................Error! Bookmark not defined. 6.1 ..Arreglos unidimensionales (en Java). ............................................Error! Bookmark not defined. Declaracin de un arreglo. ................................................................Error! Bookmark not defined. Tamao de un arreglo. ......................................................................Error! Bookmark not defined. Inicializando el arreglo. .....................................................................Error! Bookmark not defined. Arreglos de caracteres y cadenas de texto. ......................................Error! Bookmark not defined. 6.2 ..ARRAYS (ARREGLOS) MULTIDIMENSIONALES ...............................Error! Bookmark not defined. La declaracin de una matriz tradicional de m x n elementos podra ser: ..... Error! Bookmark not defined. 6.3. REPARACION DE TDA: ....................................................................Error! Bookmark not defined. Ejemplo: Lista ....................................................................................Error! Bookmark not defined. Cmo disear un tipo abstracto ........................................................Error! Bookmark not defined. CONCLUSIN: ........................................................................................Error! Bookmark not defined. Bibligrafas:...........................................................................................Error! Bookmark not defined.

Definicin de arreglo
Un arreglo se define como una coleccin finita, homognea y ordenada de elementos:

Finita.- todo arreglo tiene un lmite, es decir se sabe determinar cul ser el nmero mximo de elementos que podrn formar parte del arreglo. Homognea.- todos los elementos de un arreglo son del mismo tipo. Ordenada.- se puede determinar cul ser el primer elemento, el segundo, el tercero, , y el ensimo elemento.

6.1 ..Arreglos unidimensionales (en Java).


Es una coleccin de datos del mismo tipo. Sirve para manejar un nmero n etc.) as como aquellos definidos por el programador. que tendrn hasta el final de su vida. Caractersticas: Son de tipos de datos complejos (en el sentido de que no son atmicos). Agrupan varios (1 o ms) fatos de un mismo tipo, llamando el tipo base del arreglo. Son dinmicos, pero no extensibles, lo cual significa que deben ser creados con el tamao que tendrn hasta el final de su vida. Los ndices del arreglo empiezan con 0 y terminan con el tamao del arreglo -1. Si el arreglo tiene n elementos, se denotan como a[0], a[1], , a[n-1]. El ndice en un arreglo empieza siempre desde CERO. Los arrays se crean con el operador new seguido del tipo y nmero de elementos. Declaracin de un arreglo. La sintaxis de declaracin de arreglos en Java es: <tipo> [] <nombre> Para declarar, por ejemplo, un arreglo de nmeros enteros utilizaremos la siguiente sentencia: 1 de elementos en comn, ya sea de tipos definidos por el Lenguaje, (int, float, String, Los arreglos en Java son dinmicos, pero no extensibles, lo cual significa que deben ser creados con el tamao

int[] arrInt; El arreglo an no ha sido creado, sino meramente declarado. Para crear el arreglo (reservar su memoria e inicializarlo) deberemos recurrir al operador new: arrInt = new int[10]; El tipo de datos del arreglo (int[] en este caso) es una clase y cada una de sus instancias debe ser creada explcitamente, el tamao puede pensarse como un parmetro al constructor de la clase. A partir de este momento se puede utilizar arrInt como un arreglo de cualquier otro lenguaje. Una de las caractersticas que hacen de Java un entorno de programacin seguro, y que se relaciona con el manejo de los arreglos es que el lenguaje no permite la indexacin de arreglos fuera de rango, o sea, una asignacin de este tipo generar una excepcin: ArrInt[25] = 1; O tambin se puede declarar de la siguiente forma: Tipo nombre_array[]=new tipo[n]; Tipo nombre_array[]={valores};

Tamao de un arreglo. Java considera cada arreglo como un solo objeto. El nmero de elementos de un arreglo se conoce accediendo al campo length double [] v = new double [15] System.out.printl(v.length); //escribe 15 El campo length est protegido, no se puede modificar

Inicializando el arreglo. 1. Los arrays se pueden inicializar con valores entre llaves {...} separados por comas. 2. Tambin los arrays de objetos se pueden inicializar con varias llamadas a new dentro de unas llaves {} 3. Si se igualan dos referencias a un array no se copia el array, sino que se tiene un array con dos nombres, apuntando al mismo y nico objeto. 4. Creacin de una referencia a un array, se puede hacer de dos maneras: 2

double[] x; //preferible double x[]; 5. Creacin del array con el operador new x = new double[100]; 6. Las lneas 4 y 5 se pueden unir en una sola: double[]x = new double[100]; Arreglos de caracteres y cadenas de texto. Una cadena de texto es un conjunto de caracteres, abcdefg. Son soportados por la clase String: String cadena = abcdefg Los arreglos tipo char son secuencias de caracteres, con caractersticas de arreglos de otros tipos: String mas = programador Java char datos[] = {D,i,r,e,c,t,o,r,i,o}; Ejemplo: Cdigo:

6.2 ..ARRAYS (ARREGLOS) MULTIDIMENSIONALES


3

Vamos a realizar un repaso sobre conocimientos que debemos tener relativos a arrays multidimensionales. En Java es posible crear arrays con ms de una dimensin, pasando de la idea de lista, vector o matriz de una sola fila a la idea de matriz de m x n elementos, estructuras tridimensionales, tetradimensionales, etc. La sintaxis ser: JAVA Tipo_de_variable[ ][ ] [ ] Nombre_del_array = new

Tipo_de_variable[dimensin1][dimensin2][dimensinN]; Tambin podemos alternativamente usar esta declaracin: Tipo_de_variable[ ][ ] [ ] Nombre_del_array; Nombre_del_array = new Tipo_de_variable[dimensin1][dimensin2][dimensinN]; El tipo de variable puede ser cualquiera de los admitidos por Java y que ya ha sido explicado. Ejemplos de declaracin e inicializacin con valores por defecto de arrays, usando los distintos tipos de variables Java, seran:

byte[][] edad = new byte[4][3]; short ][] edad = new short[4][3]; int[][] edad = new int[4][3]; long[][] edad = new long[4][3]; float[][] estatura = new float[3][2]; double[][] estatura = new double[3][2]; boolean[][] estado = new boolean[5][4]; char[][] sexo = new char[2][1]; String[][] nombre = new String[2][1];

La declaracin de una matriz tradicional de m x n elementos podra ser: 4

/* Ejemplo declaracin - aprenderaprogramar.com */ int[][] matriz = new int[3][2]; O alternativamente int[][] matriz; matriz = new int[3][2];

El nmero de elementos sera: 3 x 2 = 6, dnde 3 es el nmero de filas y 2 es el nmero de columnas. Ahora procedemos a cargar la matriz con valores: matriz[0][0] = 1; matriz[0][1] = 2; matriz[1][0] = 3; matriz[1][1] = 4; matriz[2][0] = 5; matriz[2][1] = 6;

Hay que recordar que los elementos empiezan a numerarse por 0. As, la esquina superior izquierda de la matriz ser el elemento [0][0] y la esquina inferior derecha ser el [2][1]. Hay que prestar atencin a esto porque en otros lenguajes de programacin la numeracin puede empezar por 1 en vez de por 0. Tambin se pueden cargar directamente los elementos, durante la declaracin de la matriz de la siguiente manera: int[][] matriz = {{1,2},{3,4},{5,6}}; donde {1,2} corresponde a la fila 1, {3,4} a la fila 2 y {5,6} a la fila 3, y los nmeros separados por coma dentro de cada fila, corresponden a las columnas. En este caso,

los nmeros (1, 3, 5) de cada una de las filas corresponden a la primera columna y los nmeros (2, 4, 6) ataen a la segunda columna. Para obtener el nmero de filas de la matriz, podemos recurrir a la propiedad length de los arrays, de la siguiente manera: int filas = matriz.length;

Para el caso del nmero de columnas sera de la siguiente forma : int columnas = matriz[0].length;

Tambin Java nos permite la posibilidad de clonar una matriz, es decir, crear una matriz nueva a partir de otra matriz, siguiendo esta sintaxis: String[][] nuevaMatriz = matriz.clone(); donde clone() es un mtodo especial, que permite la clonacin de arrays de cualquier dimensin en Java. De esta manera nuevaMatriz y matriz son 2 matrices distintas pero con los mismos valores. Hablaremos del mtodo clone ms adelante.

6.3. REPARACION DE TDA:

Los tipos, ya sean incorporados o definidos por el usuario, pueden clasificarse como mutables o inmutables. Los objetos de un tipo mutable pueden ser alterados, es decir, facilitan operaciones que, cuando son ejecutadas, hacen que los resultados de otras operaciones sobre el mismo objeto provoquen resultados diferentes. Por tanto, Vector es mutable porque usted puede llamar a addElement y observar la alteracin con la operacin size, que provocar un resultado distinto en cada ejecucin de addElement. Sin embargo, String es inmutable porque sus operaciones crean nuevos objetos String, en vez de alterar los ya existentes. En algunas ocasiones, un tipo se facilitar de dos formas, una mutable y otra inmutable. StringBuffer, por ejemplo, es una versin mutable de String (aunque los dos no son, sin duda alguna, el mismo tipo dentro del lenguaje Java, y por tanto, no se pueden intercambiar). Por lo general, se trabaja mejor con tipos inmutables. El fennemo llamado Aliasing1 no es un problema, ya que el reparto no puede ser observado. Algunas veces, la utilizacin de tipos inmutables es ms eficiente, ya que podemos tener ms reparto. Sin embargo, muchos problemas se expresan de forma ms natural mediante el uso de tipos mutables, que resultan ms eficaces cuando se trata de alteraciones locales en grandes estructuras. Las operaciones de un tipo abstracto se clasifican de la siguiente forma: Constructores: crean nuevos objetos de un determinado tipo. Un constructor puede recibir un objeto como argumento, pero no un objeto del tipo que est siendo construido. Productores: crean nuevos objetos a partir de objetos ya existentes; los trminos son sinnimos. El mtodo concat de una String, por ejemplo, es un productor: recibe dos strings y produce una nueva que represente la concatenacin. Mutadores o modificadores: cambian el valor de los objetos. El mtodo addElement de la clase Vector, por ejemplo, altera un vector al aadir un elemento al final del mismo. Observadores: reciben objetos de un determinado tipo abstracto y devuelven objetos de un tipo distinto.El mtodo size de la clase Vector, por ejemplo, devuelve un entero.

Podemos resumir estas distinciones esquemticamente de la siguiente forma: 7

constructor: t -> T productor: T, t -> T mutador: T, t -> void observador: T, t -> t Este esquema muestra de modo informal el formato de las operaciones en las diversas clases. Cada T es un tipo abstracto por s slo; cada t representa a algn otro tipo. En general, cuando un tipo aparece en la parte izquierda, indica que puede darse ms de una vez. Por ejemplo, un productor puede recibir dos valores de un determinado tipo abstracto, al igual que el mtodo concat de String recibe dos strings. Las apariciones de t a la izquierda pueden omitirse tambin; los observadores no reciben ningn argumento que no sea de tipo abstracto (como size, por ejemplo), y otros pueden recibir varios. Esta clasificacin proporciona una terminologa bastante til, pero no llega a ser perfecta. En tipos de datos complejos, por ejemplo, pueden existir operaciones que son a la vez productores y mutadores. Hay quin utiliza el trmino productor para enfatizar que no se da ninguna transformacin de datos. Otro trmino que conviene conocer es iterator. Un iterator es normalmente un tipo de mtodo especial (no disponible en Java) que devuelve una coleccin de objetos, devolviendo uno cada vez; como, por ejemplo, los elementos que estn en un conjunto. En Java, un iterator es una clase que proporciona mtodos que pueden usarse luego para obtener una coleccin de objetos, devolviendo uno cada vez. La mayora de las clases de colecciones estn provistas de un mtodo con el nombre iterator, que devuelve un objeto de tipo java.util.Iterator, para que sus objetos sean extrados por un iterador propiamente dicho. Ejemplo: Lista Observemos un ejemplo de un tipo abstracto: la lista. Una lista, en Java, es como un array. Facilita mtodos para extraer al elemento de un determinado ndice y para sustituirlo en un determinado ndice. Sin embargo, a diferencia del array, posee tambin mtodos para insertar o quitar un elemento de un determinado ndice. En Java, el tipo List es una interfaz con muchos mtodos, pero por ahora, supongamos que es una clase simple que comprende los siguientes mtodos: public class List {

public List (); public void add (int i, Object e); public void set (int i, Object e); public void remove (int i); public int size (); public Object get (int i); } Los mtodos add, set y remove son mutadores; los mtodos size y getson observadores. Es normal que un tipo mutable no tenga productores (y que un tipo inmutable, sin duda, no pueda tener mutadores).

Cmo disear un tipo abstracto El diseo de un tipo abstracto supone la eleccin de buenas operaciones y la definicin de su comportamiento. Algunos consejos generales seran: Es mejor tener unas cuantas operaciones simples que se puedan combinar para realizar funciones ms complejas, que tener un gran nmero de operaciones complicadas. Cada operacin debe tener un propsito bien definido y mostrar un comportamiento coherente, y no un despliegue de casos especiales. El conjunto de operaciones debe ser apropiado, y constar de un nmero de operaciones suficiente para realizar los tipos de cmputos que probablemente necesiten los clientes. Una buena prueba consiste en comprobar que cada propiedad de un objeto de un determinado tipo puede extraerse. Por ejemplo, si no hubiese una operacin get, no podramos averiguar cules son los elementos de la lista. La obtencin de informacin bsica no debera ser una complicacin para el cliente. El mtodo size no es estrictamente necesario, ya que podramos aplicar el mtodo get sobre los valores incrementales del ndice, pero esto resultara ineficaz y poco prctico.

El tipo puede ser genrico: una lista o conjunto, o un grafo, por ejemplo. Puede ser tambin especfico del dominio: un mapa de calle, una base de datos de empleados, una gua telefnica, etc. Sin embargo, no se deberan mezclar caractersticas genricas con aquellas especficas del dominio.

CONCLUSIN:

10

Se puede decir que los arreglos pueden variar dependiendo sus dimensiones. Estos pueden ser unidimensionales y bidimensionales; a los primeros se les conoce como vectores y como su nombre lo indica poseen una dimensin o una lista de datos del mismo tipo y los bidimensionales poseen dos dimensiones; se usan para representar datos que pueden verse como una tabla con filas y columnas y se les conoce como matrices. Los tipos, ya sean incorporados o definidos por el usuario, pueden clasificarse como mutables o inmutables.

Bibligrafas:
http://mit.ocw.universia.net/6.170/6.170/f01/pdf/lecture-05.pdf https://sites.google.com/site/aprenderjojo/inicio/calculo-diferencia/unidad-4

11

S-ar putea să vă placă și