P. 1
Arreglo Multidimensional

Arreglo Multidimensional

3.0

|Views: 6.079|Likes:
Publicado poradrilinda

More info:

Published by: adrilinda on Nov 14, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

08/02/2013

pdf

text

original

ARREGLO MULTIDIMENSIONAL: Este también es un tipo de dato estructurado, que está compuesto por n dimensiones.

Para hacer referencia a cada componente del arreglo es necesario utilizar n índices, uno para cada dimensión Para determinar el número de elementos en este tipo de arreglos se usan las siguientes fórmulas:
RANGO (Ri) = lsi - (lii + 1) No. TOTAL DE ELEMENTOS = R1 * R2* R3 * ...* Rn

Donde: i = 1 ... n n = No. total de dimensiones Para determinar la dirección de memoria se usa la siguiente formula:
LOC A[i1,i2,i3,...,in] = base(A) + [(i1-li1)*R3*R4*Rn + (i2li2)*R3*R2*... (in - lin)*Rn]*w

1.3.1.- Conceptos básicos.
Los arreglos multidimensionales tienen más de una dimensión. En C#, las dimensiones se manejan por medio de un par de corchetes, dentro de los que se escriben los valores de cada dimensión, separados por comas.

1.3.2.- Operaciones.
Para manejar un arreglo, las operaciones a efectuarse son:
y y y y

Declaración del arreglo, Creación del arreglo, Inicialización de de los elementos del arreglo, y Acceso a los elementos del arreglo.

A continuación describiremos cada una de estas operaciones, en C#.

dim2 .. .. Donde: new es el operador para gestionar espacio de memoria. La creación de un arreglo multidimensional consiste en reservar espacio en la memoria para todos sus elementos. representan las dimensiones del arreglo. // Dos dimensiones. . ..Declaración. ] enciclopedia. ] bidim. Creación. . ] tridim . . [ . char [ . int [ .. // Tres dimensiones.] < identificador > . el espacio entre los corchetes está vacío.]. Esto se debe a que. en la declaración. La sintaxis para declarar un arreglo multidimensional es la siguiente: <tipo> [ . Observe que. dimN ] .. Los corchetes encierran todas las comas necesarias para separar las dimensiones del arreglo. no se reserva espacio en la memoria. dimN son valores enteros que representan las dimensiones del arreglo. // Cuatro dimensiones. y el par de corchetes. dim2 . en tiempo de ejecución. Ejemplos: double [ . Identificador es el nombre del arreglo. durante dicha operación. utilizando la siguiente sintaxis: < identificador > = new <tipo> [ dim1. dim1 . la coma y las diéresis. Donde: Tipo indica el tipo correspondiente a los elementos del arreglo. ..

a sus elementos se les asigna el valor false. char [ . . Ejemplos: bidim = new double [2. se le asignan automáticamente valores iniciales predeterminados a cada uno de sus elementos. . tridim = new int[ 2. es posible agrupar las operaciones de declaración. 3. 80. Si el tipo del arreglo es char. ] bidim = new double [2. 3. ] enciclopedia = new char[ 30. ] tridim = new int[2. 4] .cuando es creado por el compilador. creación e inicialización en una sola instrucción. Cuando se requiere asignar valores iniciales diferentes de los predeterminados. a sus elementos se les asigna el valor '\u0000'. de acuerdo a los siguientes criterios: y y y y Si el tipo del arreglo es numérico.3] . 4] . Un arreglo es un objeto que.El tamaño del arreglo es el resultado de multiplicar los valores de las dimensiones y representa el número de elementos del arreglo. 500. por ejemplo: . Si el tipo del arreglo es una clase. . Si el tipo del arreglo es bool. 10 ] . 80. 500. como se muestra enseguida: double [ . a sus elementos se les asigna el valor null. 10] . int [ . enciclopedia = new char[30. Las operaciones de declaración y creación anteriores se pueden agrupar en una sola instrucción. a sus elementos se les asigna el valor cero. Inicialización. 3] .

.Aplicaciones. char[ . 1. 48} . El arreglo deberá tener las siguientes dimensiones: y y y y Una para manejar el renglón en la página. {20. 52. . Cada página tiene 30 renglones y 80 columnas. Así.3. 75. {{44. char car. 70. Los valores de los subíndices empiezan en cero para el primer elemento. Cada volumen tiene 500 páginas. podemos referirnos a un elemento del arreglo escribiendo el nombre del arreglo y los subíndices del elemento entre corchetes.3. El siguiente fragmento de programa implementa la solución a este problema. la posición todos los caracteres escritos en una enciclopedia. {60. {93. La enciclopedia tiene 18 volúmenes. . en un arreglo. 29. 16. Se necesita manejar.int [ . . Acceso. Se puede acceder a los valores de los elementos de un arreglo bidimensional a través del nombre del arreglo y dos subíndices.500. 61} . 45} . .30. 59. otra para la columna en la página. 24} . ] enciclopedia = new char [18. 43. hasta el tamaño del arreglo menos uno. // Declara y crea el arreglo. Los subíndices deben escribirse entre corchetes y representa la posición del elemento en el arreglo. 10}}. 34. otra para la hoja en el volumen y otra para el volumen en la enciclopedia. {99. ] tridim={{{12. 39. 30.80] . 89. 72. 47}}}.

2) Tipo del arreglo. int c[7][9][2]. incluyendo arreglos de arreglos. r++) // Renglón for(int c = 0 . } 4. int b[3][5]. Con cada par de corchetes se agrega otra dimension al arreglo. cada carácter para la enciclopedia. Esta idea puede repetirse para obtener arreglos de dimensiones mas altas.c] = car . r < 30 . c < 80 . int a[100].p. p++) // Página for(int r = 0 . p < 500 .// Lee. enciclopedia[v. v < 18 .1. c++) // Columna { car = (char)Console. v++) // Volumen for(int p = 0 . Se debe indicar: 1) Nombre del arreglo. Con dos pares de corchetes se obtiene un arreglo bidimensional. Los arreglos multimensionales (tablas) se crean con declaraciones type y var cuando un programa se codifica en Pascal. La posición de cada uno de los elementos está determinada por dos subíndices.5 ARREGLOS MULTIDIMENSIONALES Los arreglos multimensionales se declaran de igual modo que los arreglos de una dimensión.3 Arreglos Multidimensionales El lenguaje C permite arreglos de cualquier tipo.indice2] of tipo elemento.Read( ) . for(int v = 0 .r. desde el teclado. . 3) El rango permitido. que determinan la fila y la columna. arreglo unidimensional arreglo bidimensional arreglo tridimensional 2. Type Identificador = array [indice1.

TOTAL DE ELEMENTOS = R1 * R2* R3 * ..lin)*Rn]*w 1. uno para cada dimensión Para determinar el número de elementos en este tipo de arreglos se usan las siguientes fórmulas: RANGO (Ri) = lsi .5. Para hacer referencia a cada componente del arreglo es necesario utilizar n índices.(lii + 1) No.. que está compuesto por n dimensiones... 1. (in .* Rn donde: i = 1 ...5 Operaciones Con Arreglos Las operaciones en arreglos pueden clasificarse de la siguiente forma: Lectura Escritura Asignación Actualización Ordenación Búsqueda y y y y y y a) LECTURA .1..in] = base(A) + [(i1-li1)*R3*R4*Rn + (i2-li2)*R3*R2*.. n n = No.i3.. Var Calif: calificaciones. total de dimensiones Para determinar la dirección de memoria se usa la siguiente formula: LOC A[i1..4 Arreglos Multidimensionales Este también es un tipo de dato estructurado..6] of integer.i2.. Ejemplo: Type Calificaciones = array [1.Var Identificador1:identificador.

Borrar. Si i< mensaje(arreglo contrario caso En arreglo[i]<--valor i<--i+1 entonces> 2. Para arreglos ordenados los algoritmos de inserción.. La lectura se realiza de la siguiente manera: para i desde 1 hasta N haz x<--arreglo[i] b) ESCRITURA Consiste en asignarle un valor a cada elemento del arreglo. Si N>=1 entonces inicio i<--1 encontrado<--falso mientras i<=n y encontrado=falso inicio si arreglo[i]=valor_a_borrar entonces inicio . borrado y modificación son los siguientes: 1.Insertar. por lo que se realiza de la manera siguiente: para i desde 1 hasta N haz arreglo[i]<--algún_valor d) ACTUALIZACION Dentro de esta operación se encuentran las operaciones de eliminar.Este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes. La escritura se realiza de la siguiente manera: para i desde 1 hasta N haz arreglo[i]<--x c) ASIGNACION No es posible asignar directamente un valor a todo el arreglo. Para realizar este tipo de operaciones se debe tomar en cuenta si el arreglo está o no ordenado.. insertar y modificar datos.

y quiere saber cual es el salario promedio.00. . desea establecer una estadística sobre los salarios de sus empleados..encontrado<--verdadero N<--N-1 para k desde i hasta N haz arreglo[k]<--arreglo[k-1] fin en caso contrario i<--i+1 fin fin Si encontrado=falso entonces mensaje (valor no encontrado) 3. Si N>=1 entonces inicio i<--1 encontrado<--falso mientras i<=N y encontrado=false haz inicio Si arreglo[i]=valor entonces arreglo[i]<--valor_nuevo encontrado<--verdadero En caso contrario i<--i+1 fin fin Supongamos que nos enfrentamos a un problema como este: Una empresa que cuenta con 150 empleados.Modificar.00 y $2500. y también cuantos de sus empleados gana entre $1250.

.1 = 1000 + 24 . ) Cantidad de elementos = ( u1 . 2:4.. . i2.... . almacenamiento y velocidad..... Es por eso que para situaciones de este tipo la mejor solución son los datos estructurados.... indice2..l4 + 1 ) = ( 5 . homogénea y ordenada de elementos.1 + 1 ) * ( 4 .. i3.1 ) u3u4. indicen ) MEMORIA: Arreglos de n Dimension A ( i1.... . l2:u2.. 3:4. ln:un ) un in Funcion j = f( i1. l3:u3... l4:u4...3 + 1 ) = 24 elementos Si m1 = 1000 luego v1 = m1 + cantidad de elementos .. ( in ......1 ) A ( i1.. in ) = m + + + + + Ejemplo de 4 dimensiones -------------------|--in ( i1 .....un .. i3.... i4 ) A ( l1:u1.. Los arreglos pueden ser de los siguientes tipos: Arreglos de n dimensiones ( i1..l1 + 1 ) * ( u2 .. i2. l2:u2.......1 ) u2u3.. indice2 ) Ordenamiento por filas *----*----*----*----* | 00 | 01 | 02 | 03 | *----*----*----*----* --*----*----*----*----*----* | 04 | 05 | 06 | 07 | 06 | 07 | 08 | 09 | 10 | 11 | *----*----*----*----* --*----*----*----*----*----* | 08 | 09 | 10 | 11 | *----*----*----*----* *----*----*----*----*----*----*-------> | 00 | 01 | 02 | 03 | 04 | 05 | *----*----*----*----*----*----*-- ...Si tomamos la decisión de tratar este tipo de problemas con datos simples. in ) ------------------|-----------------------> A ( l1:u1.1 ) u4u5..2 + 1 ) * ( 2 .. ..... i2.l3 + 1 ) * ( u4 ...un ( i2 .. Un arreglo puede definirse como un grupo o una colección finita..4 + 1 ) * ( 4 . ) A ( 4:5..un ( i3 ... in ) (indice1.1 = 1000 + 24 -1 = 1023 Tipos de Ordenamientos en Arreglos Multidimensionales Arreglos de 2 dimensiones ( indice1. .. i2.... pronto nos percataríamos del enorme desperdicio de tiempo.. 1:2..l2 + 1 ) * ( u3 ..

Si bien el arreglo multidimensional de dos dimensiones puede definirse como integer[][] numeros = new integer[3][4].Ordenamiento por columnas *----*----*----*----* | 00 | 01 | 02 | 03 | *----*----*----*----* --*----*----*----*----*----* | 04 | 05 | 06 | 07 | 02 | 06 | 10 | 03 | 07 | 11 | *----*----*----*----* --*----*----*----*----*----* | 08 | 09 | 10 | 11 | *----*----*----*----* *----*----*----*----*----*----*-------> | 00 | 04 | 08 | 01 | 05 | 09 | *----*----*----*----*----*----*-- Ordenamiento por arreglos *----* | --|--------> *----* | --|-----+ *----* | | --|--+ | *----* | | | | | | | | | | | +--> | | | | | | | | | +-----> *----* | 00 | *----* | 01 | *----* | 02 | *----* | 03 | *----* *----* | 04 | *----* | 05 | *----* | 06 | *----* | 07 | *----* ( fila 0 ) ( fila 1 ) *----* | 08 | ( fila 2 ) *----* | 09 | *----* | 10 | *----* | 11 | *----* Observar que el caso de ordenamiento por arreglos la variable apunta a un arreglo de arreglos. determinan cada celda. variando i de 0 a 2. Arreglos Multidimensionales . variando i de 0 a 2 y j de 0 a 3. numeros[i]. donde existen 3 filas y 4 columnas. y numeros[i][j]. es tan economico como conmutar un apuntador de fila por otro. En las otras disposiciones es mucho mas complejo. En la disposicion de ordenamiento por arreglos. determinan las filas. conmutar una fila por otra.

unne. recorrido.Un arreglo puede ser definido de tres dimensiones. Desarrolle el algoritmo y codificaci n necesarios para un programa en C que permita obtener la matriz transpuesta de una matriz de 3 X 3. actualización (añadir. dimension j.20] de entero:numero int numero[100][50][20].0. Desarrolle el algoritmo y codificaci n necesarios para un programa en C que permita sumar dos matrices de 4 X 4 y generar una matriz de resultados llamada SUMA. Parafestejar su décimo aniversario. En general.pdf Procedimientos: 1.0.edu. lectura.0.. 3. escritura.100. el programa deber ser capaz de imprimir los nombres en orden inverso a como fueron almacenados. borrar. insertar). La notación algorítmica que utilizaremos es la siguiente: Array[dimension i. http://exa. Utilice valores num ricos reales. laempresaYYYestárealizando una ventaespecial condescuentosa lo largo delmes. Losdescuentossebasanen 3criterios:* El Problema . Posteriormente.. &numero[0][0][0]). subindice j.. Lectura: leer (<nombre del array>[subindice i..50... ordenación.ar/depar/areas/informatica/introduccion/public_html/material/teoria7. dimension n] de <tipo de dato>:<nombre del array> Array[0.... Las operaciones que se pueden realizar con matrices son: asignación.0]) scanf(³%d´. cuatro dimensiones. Desarrolle el algoritmo y codificaci n necesarios para un programa en C que permita almacenar los nombres de un grupo de 45 alumnos en un arreglo de dos dimensiones. subindice n]) leer (numero[0. búsqueda. un arreglo de n dimensiones requiere que los valores de los n-subíndices puedan ser especificados a fin de identificar un elemento individual del arreglo.. hasta de n-dimensiones. 2.

Sepide hacerun programa que solicite el montode la compra. un array de ndimensiones requiere que los valores de n-índices puedan ser especificados a fin de identificar un elemento individual del array. un 3% dedescuento. hasta de n-dimensiones.luego por cantidadyfinalmente por monto comprado.Si compróentre3 y 5 (inclusive)ítems.* Elsiguiente descuento es por cantidaddeítems involucradosen lacompra.obteniendoun 3% dedescuentodel total desu compra.Siel total de lacompra(antes decualquier descuento)essuperior a $200. En general.1. número de elementos y dimensión del arreglo son las mismas que para los anteriores.*Finalmente estáeldescuento por monto que compróelcliente. el arreglo tridimensional se almacena en la memoria como un vector compuesto por vectores que representan las filas o columnas de cada una de las páginas Un array puede ser definido de res dimensiones. cuatro dimensiones.4. Por ejemplo.Tambiensepuede aplicarencaso queelmontosea inferior a $200.000sielcliente lleva másde 4 items. Las reglas de índices.Primeroseaplicaeldescuento por clientes´frecuenteµ. seaplicaun 2% dedescuento.3 Arreglos Multidimensionales. Si cada componente de un array tiene n-índices. seaplicaun 2. estructurados de tal forma que se necesitan tres o más índices para referenciar cada elemento. Conjunto de datos del mismo tipo.primerdescuentoseaplicaalos clientes queseconsideran´frecuentesµ.1. Ejemplo: Mediciones diarias de temperatura .5% dedescuento. el array se dice que es solo de n-dimensiones.000. Encasodellevar6 omás. la cantidad de items y la calidad del cliente (frecuenteo no)e imprima el valor a pagar por la compra una vez aplicados los descuentos 1.

9 64. .7 62.1 65.5 70..3 68.4 66. Punto Tiempo 1 2 3 4 1 2 3 65.8 lemento del vector.5 68.5 69.4 69.8 68.0 68.

que de un adecuado planteamientodelimitación del tema o problema. . ‡ Fijar los límites temporales de la investigación. Tal y como se ha mencionado antes. porque en esta parte es donde se encuentra el resumen de los componentes y características del tema o problema estableciendo la dirección del estudio a realizar. económica. bajar de los niveles abstractos. Tan importante es este aspecto en el diseño. La delimitación de la investigación es un proceso que implica. por cuanto que el problema o el fenómeno objeto de estudio es una totalidad global en sí mismo. ecológica. social. determinación. ‡ El problema constituye ³el punto de partida´ pero también es el ³punto de llegada´ y entre ambos extremos se esconde una gama de aspectos teóricos y empíricos que hay que identificar. ‡ Delimitación de la investigación.Lección 8: El diseño o proyecto de investigación y sus elementos componentes (I). a los más concretos y operativos en la investigación. política. etc. depende el éxito de toda investigación. El planteamiento-delimitación del tema o problema se fundamenta en lo siguiente: ‡ Todo problema no surge aislado. simplicidad o complejidad. De ahí que el primer punto en el proceso de concebir un objeto de investigación es saber plantear adecuadamente un problema a fin de ubicarlo correctamente. por lo que se señala el área geográfica (región. ‡ El planteamiento-delimitación del problema es el juego de la totalidad global versus la totalidad parcial. Para ello se debe tomar en cuenta lo siguiente: ‡ Señalar los límites teóricos del problema mediante su conceptualización . el problema objeto de investigación aparece a raíz de una dificultad empírica o teórica. etc. subordinación. ya que el interés puede radicar en analizar el problema durante un período determinado. o en conocer sus mutaciones en el paso del tiempo. sobre la cual se realizará el estudio y los resultados de aquélla se generalizarán para la población de la que se extrajo. En este proceso de abstracción se podrán precisar los factores o características del problema que interesa investigar. territorio) que comprenderá la investigación. y se destacarán soluciones relevantes de otras que no lo son para los propósitos de la investigación. constituido por totalidades parciales que lo caracterizan. o sea. ya que difícilmente un fenómeno podrá estudiarse en todo el ámbito en que se presenta. pero también más amplio de los elementos de la realidad en la cual está inmerso. También se selecciona una parte del universo de observación (muestra). ‡ Establecer los límites espaciales de la investigación. está condicionado por una multiplicidad y variedad de factores. a partir de las múltiples necesidades que aquejan al hombre y que requieren su resolución o aclaración. forman parte de una totalidad más amplia: histórica. zona. Se dilucidarán posibles conexiones entre distintos aspectos o elementos que están presentes en la problemática que se estudia. la exposición de las ideas y conceptos relacionados con el problema que se estudia. En dicha vinculación se encuentran relaciones de contradicción.

).‡ Definir las unidades de observación. pues. esto permitirá tener una idea concreta sobre las características fundamentales que deben reunir los elementos (personas. histórico y ecológico respectivo . político. viviendas. ‡ Situar el problema en el contexto socioeconómico. . para que puedan considerarse dentro de la población objeto de estudio. etc. primordialmente si el estudio está dirigido a aportar elementos de juicio para corregir o solucionar problemas. ya que esto reviste gran importancia. los factores mencionados pueden impedir o dificultar la aplicación de las políticas y estrategias formuladas.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->