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.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

2.1.1 Definición. Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes.
Estrella 0 - Fundamentos de la Programación
2 Estructuras lineales.. Qué es una estructura? La estructura es una manera de conectar los valores y de manera automática conectarlos de manera que tengan.
Abstracción de Datos Arrays.
Estructuras de Datos (ARRAYS)
Programación I Teoría III
Arrays Universidad Nacional Mayor de San Marcos
MANEJO DE ARRAYS EN C.
Funcionamiento, programación
FORTRAN 90 arreglos.
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Arreglos Ing. Nahiby Castillo.
VECTORES.
Unidad 3 Punteros.
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Vectores en java.
Composición Interna de un Procesador
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda

PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
Arreglos.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
ARREGLOS BIDIMENSIONALES
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
ESTRUCTURA DE DATOS EN JAVA
Estructuras de Datos Arreglos.
Clase 10: Estructuras de datos y arreglos.
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
El lenguaje de programación C - Vectores y matrices -
Aplicación de estructuras de datos
Metodología de Programación Ayudantía 2 lelagos.ublog.cl 2009.
75.40 Algoritmos y Programación I
Capítulo 7 Gestión de memoria.
Arrays Arreglos Prof. Gonzalo Pastor Vectores. Definición Un vector es un tipo de variable que puede guardar muchos valores Una variable sólo puede guardar.
Fundamentos de Programación
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Programación IMC José Andrés Vázquez Flores. Introducción Existen también arreglos multidimensionales, los cuales tienen más de una dimensión y, en consecuencia.
Programación Avanzada y Métodos Numéricos
Vectores y Matrices.
CAPITULO V ARREGLOS Y CADENAS.
Matrices Prof. Flor Narciso Departamento de Computación
Vectores y Matrices.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Estructura de datos I CIS - UABJB.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Arreglos: Vectores Departamento de Computación
ARREGLOS (arrays).
Arrays multidimensionales en JAVA
Arreglos unidimensionales
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Computación I. CI-2125 Tema VII
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
ARREGLOS BIDIMENSIONALES MATRICES Son un espacio de almacenamiento continuo, que contiene una serie de elementos del mismo tipo de datos. Desde el punto.
MEMORIA DINÁMICA.
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
“Estructuras de datos”
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Transcripción de la presentación:

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 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).

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.

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.

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.

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.

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.

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

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

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.

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

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.

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

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.

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

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

array_name[size_of_array]; char game_map[4];

int emp_code[3];

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

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

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

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'

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

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];

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, …},... } };

char game_map[2][4];

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

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;

//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; }

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

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