Arrays

ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA DE INFORMÁTICA SEMESTRE: TERCERO PERIO

Views 109 Downloads 0 File size 440KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ

CARRERA DE INFORMÁTICA

SEMESTRE: TERCERO

PERIODO: OCT – MAY/ 2012

TEMA: ARRAYS DE ESTRUCTURA

AUTORES: JHON ALEJANDRO INTRIAGO CHICHANDA ALCÍVAR ALCÍVAR MARÍA ALEXANDRA

FACILITADOR: HAROLD BUENAVENTURA

CALCETA, NOVIEMBRE DEL 2012

CONTENIDO

I.

ARREGLOS O ARRAYS ................................................................................................... 3 1.1

¿CÓMO DEFINIRÍA UN GRUPO DE PROGRAMADORES UN ARREGLO? 3

1.2

¿COMO DEFINIR ARREGLOS N DIMENSIONALES? ...................................... 3

1.3

¿QUÉ DATOS PODEMOS ALMACENAR EN ARREGLOS? ............................. 3

II. ARREGLOS LINEALES O UNIDIMENSIONALES ..................................................... 4 2.1 REPRESENTACIÓN EN MEMORIA: Los arreglos guardan en memoria la cantidad de espacios que se le indican en la declaración. (Ramirez, M. 2008) ......................... 4 III. ARREGLOS BIDIMENSIONALES ................................................................................. 5 IV. ARREGLOS Y APUNTADORES ..................................................................................... 5 4.1 V.

¿Cómo se puede hacer lo anterior? ........................................................................... 5

EJEMPLOS ......................................................................................................................... 6 ARREGLO LINEAL ................................................................................................................ 6 ARREGLO BIDIMENSIONAL ............................................................................................... 6 ARREGLO Y ARRAYS ........................................................................................................... 7

VI. RESUMEN ........................................................................................................................... 7 VII. CONCLUSIÓN .................................................................................................................... 7 VIII.

BIBLIOGRAFÍA ......................................................................................................... 8

I.

ARREGLOS O ARRAYS

Un arreglo es un conjunto de celdas de memoria relacionadas entre sí ya que todos tienen el mismo nombre y almacenan el mismo tipo de datos para referirse a una celda en particular algún elemento dentro del arreglo y entre corchetes [] el número de posición del elemento dentro del arreglo. El primer elemento se almacena en la posición 0 del arreglo, es decir el primer elemento del arreglo se conoce como a[0], el segundo como a[1], el séptimo como a[6] y en general el elemento de orden i del arreglo a se conoce como a[i-1]. (Rubén, J. 2004) El número de posición que aparece dentro de los corchetes se conoce como índice y debe ser un número entero o una expresión entera, por ejemplo: printf ("%i", a[0]+a[5]+a[10]); x=a[7]/2; x=a[4]=12; Para declarar un arreglo se emplea la siguiente sintaxis: tipo_de_dato nombre_del_arreglo [número de elementos]; int a[12]; float f[10]; char nom_emp [30];

1.1 ¿CÓMO DEFINIRÍA UN GRUPO DE PROGRAMADORES UN ARREGLO? o o o

Un conjunto de posiciones de memoria consecutivas. Un conjunto de pares de valores, índice y valor, donde para cada índice definido, hay un valor asociado con dicho índice. Una colección de variables del mismo tipo, que son referenciadas con un nombre común.

1.2 ¿COMO DEFINIR ARREGLOS N DIMENSIONALES? o

Si interpretamos los índices como n dimensionales ( i1, i2, ..., in ) estamos en presencia de arreglos n dimensionales.

1.3 ¿QUÉ DATOS PODEMOS ALMACENAR EN ARREGLOS? o o

Ruleta  7 10 8 17 29 11 13 2 32 35 24 17 0 5 16 Semana  "Lunes" "Martes" "Miércoles" "Jueves" "Viernes" "Sábado" "Domingo"

o

o

o

II.

Edificio  "Subsuelo" "Planta Baja" "Primer Piso" "Segundo Piso" "Terraza" Temperatura  "27,2 C" "27,9 C" "28,5 C" "29,3 C" "31,0 C" "29,8 C" "28,6 C"  27,2 27,9 28,5 29,3 31,0 29,8 28,6 Polinomio  1 x**4 + 10 x**3 + 3 x**2 + 0 x**1 + 34 x**0  34 0 3 10 1. ( Testa, O .2005 )

ARREGLOS LINEALES O UNIDIMENSIONALES

Un arreglo unidimensional es un tipo de datos estructurado que está formado por una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Los datos que se guarden en los arreglos todos deben ser del mismo tipo. El tipo de acceso a los arreglos unidimensionales es el acceso directo, es decir, podemos acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa. Los arreglos nos permiten hacer un conjunto de operaciones para manipular los datos guardados en ellos, estas operaciones son: ordenar, buscar, insertar, eliminar, modificar entre otras. En las matemáticas un arreglo lineal se lo conoce como a un vector. 2.1 REPRESENTACIÓN EN MEMORIA: Los arreglos guardan en memoria la cantidad de espacios que se le indican en la declaración. (Ramirez, M. 2008) .

III.

ARREGLOS BIDIMENSIONALES

Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional está simultáneamente en una fila y en una columna. En matemáticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados en problemas de Ingeniería. En un arreglo bidimensional, cada elemento tiene una posición que se identifica mediante dos índices: el de su fila y el de su columna.

IV.

ARREGLOS Y APUNTADORES

En C se pueden tener arreglos de apuntadores ya que los apuntadores son variables. A continuación se muestra un ejemplo de su uso: ordenar las líneas de un texto de diferente longitud. Los arreglos de apuntadores son una representación de datos que manejan de una forma eficiente y conveniente líneas de texto de longitud variable. 4.1 ¿Cómo se puede hacer lo anterior? 1. Guardar todas las líneas en un arreglo de tipo char grande. Observando que \n marca el fin de cada línea. Ver figura 8.1.g 2. Guardar los apuntadores en un arreglo diferente donde cada apuntador apunta al primer carácter de cada línea. 3. Comparar dos líneas usando la función de la biblioteca estándar strcmp(). 4. Si dos líneas están desacomodadas -- intercambiar (swap) los apuntadores (no el texto).

Figura 8.1: Arreglos de apuntadores (Ejemplo de ordenamiento de cadenas). Con lo anterior se elimina:  El manejo complicado del almacenamiento.  Alta sobrecarga por el movimiento de líneas. (Tejeda, H.2005 )

V.

EJEMPLOS

ARREGLO LINEAL #include "iostream.h" #include "stdlib.h" #define max 5 main(){ int vect[max],i; for(i=0;i