Caracteristicas de Un Arreglo (Array) Multidimensional

Ing. Sistemas Computacionales Fundamentos de Programación ISC. Yurivia Torres Meraz. Arreglos multidimensionales Int

Views 529 Downloads 0 File size 93KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Ing. Sistemas Computacionales

Fundamentos de Programación

ISC. Yurivia Torres Meraz.

Arreglos multidimensionales

Integrantes: Ma. Juanita Flores Segura Oscar Uriel Aguilar Rodríguez Josué Alberto Rivera Camacho

Lunes, 07 de diciembre del 2015

INDICE Arreglos multidimensionales……………1 Características de un arreglo multidimensional…………………………2 Secciones de arreglos………………….2 Operaciones sobre arreglos…………...2-3 Entrada de elementos de un arreglo…..3 Representación en memoria……………3 Operaciones………………………………3-4 Declaración………………………………..4 Creación…………………………………..4-5 Inicialización……………………………..5 Acceso……………………………………6 Aplicaciones……………………………...6-7 Referencias bibliográficas………………7 Conclusiones…………………………….7-8

y j como las columnas, pero hacerlo al revés también es correcto. ARREGLOS MULTIDIMENSIONALES Un arreglo multidimensional es un arreglo cuyos elementos tienen más de un índice. Los arreglos multidimensionales son declarados indicando los tamaños a lo largo de cada una de las dimensiones, separados por comas. Por ejemplo, un arreglo de enteros de 5 × 3 es declarado así: Integer, dimensión (5, 3): a Este arreglo tiene quince elementos: desde a (1, 1) hasta a (5, 3). La manera típica de recorrer los elementos de un arreglo multidimensional es usar varios ciclos do anidados, uno por cada dimension. Por ejemplo, el siguiente programa suma todos los elementos del arreglo a declarado en el ejemplo anterior: Suma = 0 do i = 1, 5 do j = 1, 3 Suma = suma + a (i, j) end do end do Cada índice no tiene un significado por sí mismo. El programador puede interpretar cada uno como quiera, siempre que sea consistente a lo largo del programa. Por ejemplo, para los elementos a (i, j) de un arreglo bidimensional, uno puede Interpretar i como las filas de una tabla

1 CARACTERÍSTICAS DE UN ARREGLO MULTIDIMENSIONAL 1.- tiene filas y columnas, por lo tanto cuenta con dos índices. Generalmente se maneja el concepto de [fila][columna], aunque también podría ser [columna] [fila]. 2.- la relación entre los valores se da por los índices. 3.- los arreglos multidimensionales se pueden acomodar en columnas dados por los índices. 4.- el recorrido de filas y columnas se hace por medio de ciclos, está a nuestra elección el primer recorrido que deseemos hacer, podríamos recorrer primero la columna que la fila, o recorrer desde determinado índice [i][j]. La creación de un arreglo multidimensional tiene la siguiente estructura: 1.- tipo, nombre, arreglo [][] = new tipo [#filas ] [#columnas]; Teniendo en cuenta que el tipo puede ser int, Float, Double, String, o hasta una clase abstracta. SECCIONES DE ARREGLOS Para referirse a una sección de un arreglo que corresponde a un arreglo de menor dimensión se puede usar dos puntos (:) en lugar del índice para indicar que se desea obtener todos los elementos a lo largo de la dimensión correspondiente. OPERACIONES SOBRE ARREGLOS Hay algunas operaciones que pueden ser usadas sobre arreglos. Por ejemplo, la función sum recibe un arreglo como parámetro y entrega como resultado la suma de los elementos del arreglo: real, dimension(5) :: a = (/6, 1, -4, 3, 0/)

Print *, sum(a) la salida es 6.0 2 Si una operación binaria es aplicada sobre un arreglo y un valor escalar, entonces la operación es aplicada sobre todos los elementos del arreglo. Por ejemplo, si a es un arreglo, entonces el resultado de la expresión a * 2 es el arreglo cuyos valores son el doble del elemento respectivo de a. Si una operación binaria es aplicada sobre dos arreglos, entonces la operación es aplicada elemento a elemento. Por ejemplo, si a y b son arreglos, a * b es el arreglo de los productos de los elementos respectivos de a y b. ENTRADA DE ELEMENTOS DE UN ARREGLO Para que el usuario pueda ingresar todos los elementos de un arreglo en una misma línea de entrada, se puede usar la sintaxis llamada do implícito: read *, (arreglo(i), i = 1, N) Cuando en el programa aparece esta sentencia, significa que el usuario debe ingresar, en la misma línea, todos los N valores del arreglo separados por espacios. REPRESENTACION EN MEMORIA Los arreglos se representan en memoria de la forma siguiente: 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. OPERACIONES.

Para manejar un arreglo, las operaciones a efectuarse son: 3 Declaración del arreglo, Creación del arreglo, Inicialización de los elementos del arreglo,y Acceso a los elementos del arreglo. A continuación describiremos cada una de estas operaciones, en C#. DECLARACIÓN. La sintaxis para declarar un arreglo multidimensional es la siguiente: [ , ...] < identificador > ; Donde: tipo indica el tipo correspondiente a los elementos del arreglo, identificador es el nombre del arreglo, y el par de corchetes, la coma y las diéresis, [ , ...], representan las dimensiones del arreglo. Los corchetes encierran todas las comas necesarias para separar las dimensiones del arreglo. Ejemplos: double [,] bidim; // Dos dimensiones. Int [,] tridim; // Tres dimensiones. Char [,] enciclopedia; // Cuatro dimensiones. Observe que, en la declaración, el espacio entre los corchetes está vacío. Esto se debe a que, durante dicha operación, no se reserva espacio en la memoria. CREACIÓN. La creación de un arreglo multidimensional consiste en reservar espacio en la memoria para todos sus elementos, utilizando la siguiente sintaxis: < Identificador > = new [dim1, dim2... dimN]; Donde: new es el operador para gestionar espacio de memoria, en tiempo de ejecución,

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

int [ , , ] tridim={{{12, 59, 70, 45} , {20, 16, 29, 48} , {93, 75, 43, 10}}, {{44, 72, 30, 24} , {60, 89, 39, 61} , {99, 52, 34, 47}}}; 5 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. Los subíndices deben escribirse entre corchetes y representa la posición del elemento en el arreglo. Así, podemos referirnos a un elemento del arreglo escribiendo el nombre del arreglo y los subíndices del elemento entre corchetes. Los valores de los subíndices empiezan en cero para el primer elemento, hasta el tamaño del arreglo menos uno. APLICACIONES. Se necesita manejar, en un arreglo, la posición todos los caracteres escritos en una enciclopedia. El arreglo deberá tener las siguientes dimensiones: Una para manejar el renglón en la página, otra para la columna en la página, otra para la hoja en el volumen y otra para el volumen en la enciclopedia. Cada página tiene 30 renglones y 80 columnas. Cada volumen tiene 500 páginas. La enciclopedia tiene 18 volúmenes. El siguiente fragmento de programa implementa la solución a este problema. Char car; // Declara y crea el arreglo. char[ , , , ] enciclopedia = new char [18,500,30,80] ; // Lee, desde el teclado, cada carácter para la enciclopedia. For (int v = 0; v < class="Estilo32">// Volumen for (int p = 0; p < class="Estilo32">// Página

for (int r = 0; r < class="Estilo32">// Renglón for (int c = 0; c < class="Estilo32">// Columna

de manera repetitiva los datos que podamos usar para un programa. Ma. Juanita Flores Segura

{ 6 Char = (char) Console.Read ( ); enciclopedia [v, p, r, c] = char; } REFERENCIAS BIBLIOGRAFICAS http://csrg.inf.utfsm.cl/~rbonvall/progra-utfsm2010-2/arreglos.html http://www.gayatlacomulco.com/tutorials/prog orientobjetos/t13.htm

CONCLUSIONES Después de analizar la estructura de los arreglos, su creación y su función, se puede concluir que provocar mayor eficiencia en la búsqueda de información. Los arreglos permiten almacenar datos a través de dimensiones, que en la vida diaria podemos llegar a considerar como categorías, y en cada una de esas categorías definir los datos que usamos; los arreglos al considerar estas categorías usan como referencia espacios parecidos a tablas, lo que permite guardarlos de forma ordenada, y para nuestro beneficio, permite ubicar estos datos de manera más sencilla. Esto genera una ventaja esencial para el almacenamiento de datos, ya que en una base de datos pequeña podría no ser de mucha relevancia, pero en una base de datos de 1000 o más, seria extremadamente difícil ubicar algún dato por medio de buscar en espacio por espacio, sin embargo, los arreglos nos facilitan la ubicación de un dato a través de darle un índice, y con ese índice localizar el dato que buscamos, poder visualizarlo o incluso modificarlo. Finalmente, los arreglos permiten al almacenar los datos, que no se tengan que estar ingresando

7

8