AUTORES: JHON ALEJANDRO INTRIAGO CHICHANDA ALCVAR ALCVAR MARA ALEXANDRA
FACILITADOR: HAROLD BUENAVENTURA
CALCETA, NOVIEMBRE DEL 2012
CONTENIDO
I. ARREGLOS O ARRAYS ................................................................................................... 3 1.1 CMO DEFINIRA 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 REPRESENTACIN EN MEMORIA: Los arreglos guardan en memoria la cantidad de espacios que se le indican en la declaracin. (Ramirez, M. 2008) ......................... 4 III. ARREGLOS BIDIMENSIONALES ................................................................................. 5 IV. ARREGLOS Y APUNTADORES ..................................................................................... 5 4.1 Cmo se puede hacer lo anterior? ........................................................................... 5 V. EJEMPLOS ......................................................................................................................... 6 ARREGLO LINEAL ................................................................................................................ 6 ARREGLO BIDIMENSIONAL ............................................................................................... 6 ARREGLO Y ARRAYS ........................................................................................................... 7 VI. RESUMEN ........................................................................................................................... 7 VII. CONCLUSIN .................................................................................................................... 7 VIII. BIBLIOGRAFA ......................................................................................................... 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 algn elemento dentro del arreglo y entre corchetes [] el nmero de posicin del elemento dentro del arreglo.
El primer elemento se almacena en la posicin 0 del arreglo, es decir el primer elemento del arreglo se conoce como a[0], el segundo como a[1], el sptimo como a[6] y en general el elemento de orden i del arreglo a se conoce como a[i-1]. (Rubn, J. 2004) El nmero de posicin que aparece dentro de los corchetes se conoce como ndice y debe ser un nmero entero o una expresin 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 [nmero de elementos]; int a[12]; float f[10]; char nom_emp [30];
1.1 CMO DEFINIRA UN GRUPO DE PROGRAMADORES UN ARREGLO? o Un conjunto de posiciones de memoria consecutivas. o Un conjunto de pares de valores, ndice y valor, donde para cada ndice definido, hay un valor asociado con dicho ndice. o Una coleccin de variables del mismo tipo, que son referenciadas con un nombre comn. 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 Ruleta 7 10 8 17 29 11 13 2 32 35 24 17 0 5 16 o Semana "Lunes" "Martes" "Mircoles" "Jueves" "Viernes" "Sbado" "Domingo" o Edificio "Subsuelo" "Planta Baja" "Primer Piso" "Segundo Piso" "Terraza" o 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 o Polinomio 1 x**4 + 10 x**3 + 3 x**2 + 0 x**1 + 34 x**0 34 0 3 10 1. ( Testa, O .2005 )
II. ARREGLOS LINEALES O UNIDIMENSIONALES Un arreglo unidimensional es un tipo de datos estructurado que est formado por una coleccin 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 posicin 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 matemticas un arreglo lineal se lo conoce como a un vector. 2.1 REPRESENTACIN EN MEMORIA: Los arreglos guardan en memoria la cantidad de espacios que se le indican en la declaracin. (Ramirez, M. 2008) .
III. ARREGLOS BIDIMENSIONALES Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional est simultneamente en una fila y en una columna. En matemticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados en problemas de Ingeniera. En un arreglo bidimensional, cada elemento tiene una posicin 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 continuacin se muestra un ejemplo de su uso: ordenar las lneas de un texto de diferente longitud. Los arreglos de apuntadores son una representacin de datos que manejan de una forma eficiente y conveniente lneas de texto de longitud variable.
4.1 Cmo se puede hacer lo anterior?
1. Guardar todas las lneas en un arreglo de tipo char grande. Observando que \n marca el fin de cada lnea. Ver figura 8.1.g
2. Guardar los apuntadores en un arreglo diferente donde cada apuntador apunta al primer carcter de cada lnea.
3. Comparar dos lneas usando la funcin de la biblioteca estndar strcmp().
4. Si dos lneas estn 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 lneas. (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<max;i++){vect[i]=rand() %100;}
for(i=0;i<max;i++) {cout<<"\nValor : "<<vect[i]<<" en posicion # :"<<i ;} }
ARREGLO BIDIMENSIONAL
#include "iostream.h" #include "stdlib.h" #define max 3 main(){ int mat[max][max],i,ii;
/*INGRESO DE VALORES EN EL ARRAYAS POR CALORES AL AZAR */ for(i=0;i<max;i++) {for(ii=0;ii<max;ii++) {mat[i][ii]= rand() %100;} }
/*PRESENTACION DE ARRAY BIDIMENCIONAL */ for(i=0;i<max;i++) for(ii=0;ii<max;ii++) {cout<<"\nValor : "<<mat[i][ii]<<" en posicion # :"<<i<<ii;} }
ARREGLO Y ARRAYS
#include <stdlib.h> #include <stdio.h> int main() {int tabla[10],i,x,*pt,*ptr; pt = &tabla[0]; x = *pt;
for (i=0; i <10; i++) *(pt+i) = rand() % 100;
ptr = tabla;
for (i=0; i <10; i++) printf("%d --- %d \n",*(ptr+i),tabla[i]); }
VI. RESUMEN Haciendo sntesis al tema los arreglos son una manera fcil de agrupar variables de un solo tipo en un espacio consecutivo de memoria que permitan acceder al el por medio de un ndice. Los arreglos son muy importantes al momento de estar programando ya que ahorra cdigo al momento de estar desarrollando una aplicacin y hace verstil el cdigo pero como todos sabemos no todo es perfecto y los arreglos tienen algunas desventajas en el sentido de almacenamiento de variables ya que es limitado. VII. CONCLUSIN El trabajo de investigacin llega a una deduccin concisa los arreglos en un tiempo determinado fueron muy importantes ya que en su poca se desempeaban de un manera verstil pero a medida que el tiempo transcurre se requieren soluciones ms eficientes ya que existen ms datos e informacin. Los arrays solucionan problemas de distintos tipo pero si se quiere solucionar unos problemas ms complejos los arreglos se quedaran cortos y se necesitara algn otro mtodo existente. VIII. BIBLIOGRAFA Testa, O .2005. Arreglos. (En lnea ).edu. 6 Nov. Formato (HTML). Disponible en: http://www.fceia.unr.edu.ar/estruc/2005/arrefund.htm
Rubn, J. 2004 . Arreglos unidimensionales. (En lnea ).net ., 20 Nov. Formato (HTML). Disponible en: http://eztigma.brinkster.net/algoritmos.html
Ramrez, M. 2008. Arreglos unidimensionales. (En lnea ). com . 20 Nov. Formato (HTML).Disponible en: http://programacionunefa.blogspot.com/2008/06/arreglos- unidimensionales.html
Tejeda, H.2005. Arreglos y apuntadores. (En lnea ).mx . 20 Nov. Formato (HTML). Disponible en: http://www.fismat.umich.mx/mn1/manual/node9.html