Diseño Estructurado de Algoritmos
1 Sesión No. 12 Nombre: Arreglos Objetivo de la sesión: Al concluir la sesión el estudiante identificará la utilidad y ventaja de las estructuras de datos unidimensionales y bidimensionales en la solución de problemas prácticos. Contextualización Sabes cuáles son los datos estructurados? En el tema de estructuras algorítmicas es interesante la forma en como los datos pueden ser manipulados por medio de estructuras de datos. Como habíamos visto en sesiones anteriores, las variables simples pueden ser representadas como una casilla en la memoria de la computadora, donde sólo puede existir un valor de tipo entero, alfabético o real. Cuando hablamos de una estructura de datos ya no es sólo un valor, consiste en una serie de casillas de la memoria, puede almacenarse más de un elemento a la vez manejando una condición, que todos deben ser del mismo tipo. Los datos estructurados son caracterizados por su organización y las operaciones que se definen, estos datos pueden ser organizados en diferentes estructuras como son: Estructuras de datos estáticas: Aquí el espacio que ocupan los datos en la memoria, son definidos en el tiempo de compilación y mientras se esté ejecutando, el programa no puede ser modificado.
2 Estructuras de datos dinámicas: Esta es diferente a la estática, porque el espacio ocupado en la memoria puede ser modificado cuando se está ejecutando el programa. No todos los lenguajes de programación soportan esta clase de estructura. Para saber cuál de las estructuras debe elegirse, dependerá del problema que se desea resolver y del lenguaje a utilizar.
3 Introducción al Tema Qué estructura permite almacenar grandes cantidades de datos? Por medio de la combinación de estructuras de datos se puede organizar información de manera estructurada, permitiendo representar soluciones a diversos problemas. Pero no sólo es importante el tema de las estructuras algorítmicas, ya que existe una gran capacidad para realizar diversas operaciones sobre una gran cantidad de datos numéricos de forma eficiente. Para el almacenamiento de grandes cantidades de datos existe una estructura de datos denominada Arreglo. Un arreglo tiene como característica que: Todos los elementos en un arreglo tienen un orden y se puede acceder a ellos mediante su posición. Además un arreglo cuenta con ciertas restricciones como por ejemplo: todos los tipos de datos deben de ser iguales, su tamaño es fijo y principalmente el arreglo es utilizado para almacenar datos numéricos. Cuántos tipos de arreglos crees que existen?
4 Explicación Arreglos A qué se refiere el término de arreglos? En la estructura de datos un arreglo es también llamado Array. Se refiere a un conjunto de datos ordenados y homogéneos, esto quiere decir que todos son del mismo tipo y se guardan en posiciones consecutivas. Otra característica importante es que un arreglo es de tipo finito, refiriéndonos a que se debe especificar cuál será el número máximo de elementos en el arreglo. Es fundamental que a un dato o elemento se le especifique su posición por medio de un índice. Al momento de programar, la sintaxis se representa: <tipo dato><variable> [ N ] Para declarar el arreglo se utiliza el nombre <variable> con N elementos de tipos real o entero declarado como <tipo> y la N representa una constante. Ejemplo: Entero a[6].representa una matriz de 6 elementos Real número [10]. representa una matriz de diez números reales De acuerdo a sus dimensiones los arreglos se clasifican en: 1.- Unidimensional (solo vectores). Tipos de arreglos 2.-Bidimencionales (basado en matrices). 3.- Multidimensionales (más de dos dimensiones).
5 Cuáles son las características de los arreglos unidimensionales? Vectores unidimensionales Se refiere a la estructura de un arreglo en una dimisión. Es un dato estructurado compuesto por N número de elementos organizados, finitos y homogéneos, donde la letra N representa el tamaño o longitud del vector. Los elementos del arreglo se almacenan en posiciones contiguas de memoria a cada una de las cuales se puede acceder directamente (Zamantha González, 2009). Una de las grandes ventajas de utilizar un arreglo es que se puede acceder a cualquier elemento por medio del uso de índices, así se evita la necesidad de consultar elementos anteriores. Para realizar arreglos unidimensionales debe existir un espacio en la memoria proporcionando la dirección base del arreglo. Representación gráfica: 9 2 5 6 Posición V[0] V[1] V[2] V[3] A los arreglos se les identifica con un nombre, al emplearlo se hace referencia a toda la estructura de datos con todos sus elementos
6 Arreglo Bidimensional Al igual que el arreglo unidimensional, este arreglo debe ser finito y homogéneo, con la diferencia de que se hace referencia a cada elemento por medio de dos índices. El primero se utiliza para las filas, mientras que el segundo para las columnas. Ahora no sólo se maneja N número sino que la minoría los reserva con las posiciones M x X. Se representa en forma de tablas: 1 2 1 2 Arreglo Multidimensional Los arreglos multidimensionales son arreglos en los que cada elemento contiene otro arreglo. Esta clase de arreglos son también conocidos como matrices. Éstas se denotan con letras en mayúscula y los elementos con letras minúsculas. Por ejemplo, un arreglo de orden de 3 x 4 reflejada con una matriz de 3 filas y cuatro columnas y se representaría de la siguiente forma:
7 M 3 x 4 Columna 0 Columna 1 Columna 2 Columna 3 Fila 0 Fila 1 Fila 2
8 Conclusión El objetivo de estas sesiones fue proporcionar un material de apoyo y consulta para el momento de diseñar algoritmos. Con esta ayuda serás capaz de establecer estructuras lógicas de datos. Ahora sabes que la información que se pude procesar en una computadora se basa en un conjunto de datos simples o estructurados y que por lo general se maneja con grandes cantidades de datos, pues por sí mismos no dicen nada, por eso es necesario tratar con estructuras de datos que cubran cada necesidad. En programación, las estructuras se representan como un conjunto de datos permitiendo una manipulación individual o como un todo, con la ventaja de que existe una forma de manejar el almacenamiento de estas grandes cantidades de datos con ayuda de arreglos y cada tipo de dimensiones.
9 Para aprender más Quieres saber más sobre los arreglos Visita este sitio: Jaramillo Danilo.2009. Metodología y Tecnología de la Programación I. Consultado el 26 de marzo de 2014: http://brd.unid.edu.mx/estructura-de-datos-arreglos/ Guía 5 lección 2. Estructura de datos (parte 1). (2012). Consultado el 5 de junio de 2014: http://youtu.be/kbc9wt_vl1c Guía 5 lección 2. Estructura de datos, (parte 2). (2012). Consultado el 5 de junio de 2014: http://youtu.be/9l-mbxhg10g Por medio de este enlace reforzaras los temas de esta sesión a través de definiciones y ejemplos aplicados a la programación. González, Z. (2009). Estructuras de datos. Consultado el 26 de Marzo de 2013: http://es.slideshare.net/zamanthag/estructuras-de-datos-arreglos
10 Actividad de Aprendizaje Instrucciones: Con la intención de reforzar lo aprendido en la sesión, con base en el diagrama de flujo correspondiente, indicar qué es lo que está realizando, fundamenta tu respuesta a través de la prueba de escritorio el diagrama, puedes hacer uso de la siguiente tabla: Paso I K A( I, K) 1 1 1 A ( I, K) = K + 3 * ( I -1) 2 1 1 A(1,1) = 1 + 3 * (1 1) = 1 3 1 2 A(1,2) = 4 5 6 7 A(2,3) = 8 9 10 3 3 11
11
12 Puedes realizarlo en cualquier programa especializado, al final tendrás que guardarlo como PDF, con la finalidad de que no existan modificaciones y así subirlo a la plataforma de la asignatura. Recuerda que la actividad te ayudará a aplicar los conceptos sobre estructuras de datos y su manejo con ciclos. Se tomará en cuenta lo siguiente: Tus datos generales Referencias bibliográficas Ortografía y redacción Introducción Contenido
13 Cibergrafía Cisneros, E. (2009). Arreglos unidimensionales y multidimensionales. Consultado el 25 de Marzo del 2013: http://aldeafraypedrodeagreda.files.wordpress.com/2009/12/11-arreglosmultidimensionales.pdf García, M. (s/f). Estructuras Algorítmicas. Consultado el 26 de marzo de 2013: http://www.utm.mx/~mgarcia/da7(arreglos).pdf González, Z. (2009). Estructuras de datos. Consultado el 26 de marzo de 2013: http://es.slideshare.net/zamanthag/estructuras-de-datos-arreglos