La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.

Presentaciones similares


Presentación del tema: "Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas."— Transcripción de la presentación:

1

2 Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas de datos, y el cómputo de vectores y matrices, y muchos otros propósitos. Von Neumann escribió el primer programa de ordenación de un arreglo en 1945. Los primeros languajes de programación de alto nivel incluyendo Fortran (1957), Cobol (1960)y Algol tenían soporte para arreglos multidimensionales, también C (1972).

3 Los arreglos son usados para implementar vectores matemáticos y matrices, así como otros tipos de tablas rectangulares. Muchas bases de datos, pequeñas y grandes, consisten o incluyen arreglos unidimensionales cuyos elementos son registros.

4 Un arreglo o arreglo es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos del arreglo. Desde el punto de vista lógico un arreglo se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). En principio, se puede considerar que todos los arreglos son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez arreglos (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de arreglos multidimensionales, aunque los más fáciles de imaginar son los de una, dos y tres dimensiones.

5 0123456789 Arreglo con 10 elementos Todo arreglo se compone de un determinado número de elementos. Cada elemento es referenciado por la posición que ocupa dentro del arreglo. Dichas posiciones son llamadas índice. Existen tres formas de indexar los elementos de una matriz: Indexación base-cero (0): En este modo el primer elemento del arreglo será la componente cero ('0') del mismo, es decir, tendrá el índice '0'. En consecuencia, si el arreglo tiene 'n' componentes la última tendrá como índice el valor 'n-1'. El arreglo es un ejemplo típico que utiliza este modo de indexación.

6 Indexación base-uno (1): En esta forma de indexación, el primer elemento del arreglo tiene el índice '1' y el último tiene el índice 'n' (para un arreglo de 'n' componentes). Indexación base-n (n): Este es un modo versátil de indexación en la que el índice del primer elemento puede ser elegido libremente, en algunos lenguajes de programación se permite que los índices puedan ser negativos e incluso de cualquier tipo escalar.

7 Almacena los elementos del arreglo en posiciones de memoria continua Tienen un único nombre de variable que representa a todos los elementos, y éstos a su vez se diferencian por un índice o subíndice. Acceso directo o aleatorio a los elementos individuales del arreglo.

8 Pasos para utilizar un arreglo Declarar el arreglo Crear el arreglo Inicializar los elementos del arreglo Usar el arreglo

9 La representación de un elemento en un arreglo se suele hacer mediante el identificador del arreglo seguido del índice entre corchetes, paréntesis o llaves: Ejemplos: arreglo[índice_1,índice_2...,índice_N]Java, Perl arreglo[índice_1][índice_2]...[índice_N]C, C++, PHP

10 La forma de acceder a los elementos del arreglo es directa; esto significa que el elemento deseado es obtenido a partir de su índice y no hay que ir buscándolo elemento por elemento (en contraposición, en el caso de una lista, para llegar, por ejemplo, al tercer elemento hay que acceder a los dos anteriores o almacenar un apuntador o puntero que permita acceder de manera rápida a ese elemento). Para trabajar con arreglos muchas veces es preciso recorrerlos. Esto se realiza por medio de bucles o ciclos.

11 Pseudocódigo que recorre un arreglo i = 0 mientras (i < longitud) # Se realiza alguna operación con el arreglo en la i-ésima posición f(v[i]) i=i+1 fin_mientras

12 Lo más común es que un arreglo tenga una cantidad fija de memoria asignada, aunque dependiendo del tipo de arreglo y del lenguaje de programación un arreglo podría tener una cantidad variable de datos. En este caso, se les denomina arreglos dinámicos, en oposición, a los arreglos con una cantidad fija de memoria asignada se los denomina arreglos estáticos.

13 int v[5]; int i; for (i=0 ; i<5 ; i++) { v[i] = 2*i; }

14 01234 02468

15 Un arreglo de una dimensión (unidimensional), también llamado vector o fila, es un tipo de datos estructurado compuesto de un número determinado de elementos, de tamaño fijo y elementos homogéneos (del mismo tipo). La característica de tamaño fijo se refiere a que el tamaño del arreglo debe ser conocido en tiempo de compilación.

16 Por ejemplo, si deseamos conservar las calificaciones de los 50 estudiantes de un examen de estructura de datos, se necesita reservar 50 posiciones de memoria, dar un nombre al arreglo y a cada uno de los 50 estudiantes asignarles una posición o índice del arreglo. calif[0]10 calif[1]9 calif[2]8 calif[3]9 calif[n]10

17 Un arreglo bidimensional (tabla o matríz) es un arreglo con 2 índices. calif[0]109 calif[1]98 calif[2]89 calif[3]99 calif[n]10

18 array_name[size_of_array]; char game_map[4];

19 int emp_code[3];

20 Los arreglos unidimensionales pueden ser inicializados en 2 formas: Inicializados en la declaración Inicializados por asignación

21 array_name[size_of_array] = {element 1, element 2,...}; char game_map[3] = {'S', 'R', 'D'};

22 char game_map[3]; game_map[0] = 'S'; game_map[1] = 'R'; game_map[2] = 'D';

23 array_name[index_of_element]; array_name[index_of_element] = value; game_map[0]; //valor de 'S' game_map[1]; //valor de ' R' game_map[2]; //valor de 'D'

24 Tratar de acceder a un elemento con un índice fuera de los límites de un arreglo provocará un fallo en la ejecución.

25 array_name[size_of_first_dimension][size_of_second_dimension]... Este ejemplo declara un arreglo multidimensional de 10 columnas por 10 filas de tamaño. char game_map[10][10]; Este ejemplo declara un arreglo de 3 dimensiones (10x10 en el plano horizontal y 5 en el plano vertical): char game_map[10][10][5];

26 Pueden inicializarse también al momento de la declaración o por asignación. array_name[size_of_dimension1][size_of_secon d_dimension2]... = { {element 1, element 2, element 3, …},... } };

27 char game_map[2][4];

28 char game_map[2][4] = { {'x', 'b', 'f', ''}, {'b', 't', '' } };

29 int game_map[2][4]; game_map[0][0]=1; game_map[0][1]=2; game_map[0][2]=3; game_map[0][3]=4 game_map[1][0]=6; game_map[1][1]=7; game_map[1][2]=5;

30 //ciclo x la primera dimensión for (i = 0; i < 10; i++) { //ciclo x la segunda dimensión for (j = 0; j < 10; j++) { //ciclo por la tercera dimensión for (k = 0; k < 10; k++) int_array[i][j][k]) = i * j * k; }

31 array_name[dim1_index][dim2_index]... [dimn-1_index]; array_name[index1][index2]... [index s-1] = value; game_map[1][1] = 't';

32 for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { printf("%c", game_map[i][j]);printf }


Descargar ppt "Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas."

Presentaciones similares


Anuncios Google