You are on page 1of 5

Programacin

Instituto Tecnolgico de Celaya

ARREGLOS
Un arreglo se utiliza para procesar colecciones de datos de un mismo tipo, como una lista de temperaturas, de calificaciones, de nombres, etc. En este documento se establecen las bases del manejo de arreglos.

Introduccin
Son tiles los arreglos en programacin? Comencemos el estudio de arreglos en C++ tratando de responder a esta pregunta. ara ello, recordemos el ejercicio en el !ue se identificaban cuantas "ocales # cuantas consonantes tiene un nombre propio dado. En dic$o ejercicio fue necesario escribir un ciclo %sentencia for& en el !ue se ped'a cada letra del nombre # luego se analizaba dic$a letra para saber si era o no una "ocal %sentencia switch&( for(n=1; n<=no_letras; n++) { cout<<"Dame la letra <<n<< del nombre \n"; cin>>letra; ! "dentificacion de letra ! s#itc$(letra) { case %&%' case %(%' case %"%' case %)%' case %*%' case %a%' case %e%' case %i%' case %o%' case %u%' no_+ocales++; brea,; default' no_consonantes++; Uno puede obser"ar !ue, en dic$o ciclo, cada una de las letras del nombre se asigna a la "ariable letra en cada iteracin. Cada nue"o "alor de letra sobre) escribe al "alor anterior. or ello, cuando termina de ejecutarse el ciclo, la

Ingeniera Qumica

Programacin

Instituto Tecnolgico de Celaya

"ariable tiene como "alor nicamente a la ltima de las letras del nombre. *ue pasar'a, sin embargo, si alguien !uisiera conser"ar a todas las letras del nombre $asta el final del programa?. nombre propio tiene + letras. complica muc$o el an,lisis. ara poner un ejemplo, suponga !ue un iense bien en dic$a situacin # se dar, cuenta

!ue %sin el uso de arreglos& el !uerer mantener a cada una de las siete letras or principio de cuentas, ser'a necesario tener siete "ariables de tipo car,cter %letra-., letra-/, letra-0,..., letra-+&, una para cada letra. 1dem,s, $ubiera tambi2n sido necesario escribir la sentencia s3itc$ + "eces, una "ez para cada una de dic$as letras. iense en el tama4o del programa !ue ser'a necesario. 1parte de dic$o ejercicio, en programacin es mu# comn encontrarse con problemas en los cuales es necesario tener muc$as "ariables de un mismo tipo. Espec'ficamente en ingenier'a !u'mica, un ejemplo !ue se "er, durante la carrera es una columna de destilacin, en la cual una de las "ariables importantes es la temperatura. Si la columna tu"iera 56 secciones %llamados platos& necesitar'amos 56 "ariables para guardar la temperatura de cada uno de ellos. 7magine tener !ue declarar las "ariables( double temperatura_1, temperatura_2, ... , temperatura_50; 8ener !ue $acer algo como eso ser'a absurdo. 1fortunadamente, el uso de arreglos %en cual!uier lenguaje de programacin& $ace mu# simples este tipo de tareas.

Un arreglo es pr,cticamente una lista de "ariables. Cada una de las "ariables de la lista tiene un nombre !ue est, constituido por dos partes. Una de las partes es el nombre del arreglo, nombre !ue "an a compartir cada una de las "ariables de la lista. 9a otra parte es diferente para cada "ariable # es lo !ue permite identificar a una "ariable de la lista de otra. Como ejemplo de declaracin de un arreglo, analicemos la siguiente sentencia( double temperatura[5];

DECLARACIN DE ARREGLOS

Ingeniera Qumica

Programacin

Instituto Tecnolgico de Celaya

Ese es un ejemplo t'pico de la declaracin de un arreglo. En este ejemplo, se est, declarando !ue e:iste un arreglo de 5 "ariables de tipo double. 1l tipo double se le conoce como el tipo del arreglo. El nombre del arreglo es temperatura. El nmero entre corc$etes indica cuantos elementos tiene el arreglo %en este caso 5& # se le conoce como el tamao del arreglo. 9a sentencia anterior ser'a lo mismo !ue declarar cada una de las "ariables del arreglo por separado( double temperatura;6<, temperatura;.<, temperatura;/<, temperatura;0<, temperatura;=<> 9as "ariables como temperatura;6< # temperatura;.< !ue se declaran al declarar un arreglo se denominan variables indexadas o elementos del arreglo. 1l nmero entre corc$etes se le denomina 'ndice. Es muy importante que observe que los ndices comienzan a numerarse desde el cero, no desde el uno. ?e forma !ue el nmero de "ariables se identifican por un 'ndice !ue "a desde el cero $asta el nmero del tamao del arreglo menos uno. Es preciso !ue no e:ista confusin. En la declaracin( double temperatura;5<> el nmero 5 indica !ue el arreglo tiene 5 "ariables inde:adas. un 'ndice !ue ir, desde cero $asta cuatro. Cual!uier "ariable inde:ada puede ser utilizada en cual!uier parte del programa como si se tratara de cual!uier "ariable. Es decir, es ",lido escribir sentencias como las siguientes( Temperatura[0] = Temperatura[0] + 273; /* asi !a"io!*/ "i!## Temperatura[2]; /*e!trada de datos*/ "out$$%&l 'alor de la Temperatura es ($$Temperatura[3]$$%)!%; /* salida*/ @tro punto importante es !ue el nmero escrito entre corc$etes en la declaracin de un arreglo tiene !ue ser un nmero constante. Sin embargo, el 'ndice escrito entre corc$etes no necesariamente tiene !ue ser un entero or otra parte, temperatura;6< o temperatura ;.< son elementos del arreglo identificados por

Ingeniera Qumica

Programacin

Instituto Tecnolgico de Celaya

constante cuando se utilizan "ariables inde:adas en las sentencias de un programa, sino !ue puede ser una e:presin. Esto es ",lido siempre # cuando la e:presin de como resultado un nmero !ue se encuentre entre cero # el tama4o del arreglo menos uno. or ejemplo, en el caso !ue estamos analizando de la temperatura la e:presin siguiente( Temperatura[i] = Temperatura[i] + 273; ser'a ",lida siempre # cuando la "ariable i tenga un "alor entre 6 # =. El uso de arreglos es de especial importancia en ciclos iterati"os. En particular, cuando se utiliza la sentencia for es relati"amente f,cil manipular arreglos utilizando la "ariable de control del ciclo. 9as siguientes sentencias ser"ir'an para guardar las + letras de un nombre en el ejemplo con el cual iniciamos nuestra e:plicacin del uso de arreglos( "*ar letra[7]; for(n=1; n<=.; n++) { cout<<"Dame la letra <<n<< del nombre \n"; cin>>letra/n011; 1 Sumarizando, la sinta:is en la declaracin de arreglos es(

Aombre-del-tipo
Ejemplos(

Aombre-del-arreglo[tamanio-del-arreglo];

int arreglo-grande;.66<> double a;0<> double b;5<, :, #, z> Como se obser"a en el ltimo ejemplo, es posible declarar arreglos

conjuntamente con otras "ariables del mismo tipo.

Errores Comunes
Ingeniera Qumica

Programacin

Instituto Tecnolgico de Celaya

El error m,s comn en el manejo de arreglos es el tratar de usar un elemento del arreglo !ue no e:iste. Este error slo es detectado por algunos de los compiladores de C++ # se muestra con un mensaje similar a( array index out of range or ejemplo, suponga !ue se declara el arreglo( double a;0<> con ello se est, declarando un arreglo de 0 elementos( a;6<, a;.< # a;/<. Si en el programa se tu"iera algo como( double a;0<, :B0.5> int nB/> n++> a;n< B /C0C :> En este caso se presentar'a un error dado nB0 # dado !ue la "ariable a;0< no e:iste.

INICIALIZACIN DE ARREGLOS
1l igual !ue otras "ariables, los arreglos se pueden inicializar al momento de declararse. ara $acer eso, es necesario enlistar los "alores de cada uno de los elementos del arreglo entre llaves # separados por comas. Ejemplo( i!t b[3] = +2, 12, 1,; En casos como 2ste, cuando se escriben cada uno de los "alores de los elementos del arreglo, algunos compiladores permiten omitir el tama4o del arreglo en la declaracin. or ello, la declaracin( i!t b[] = +2, 12, 1,; ser'a e!ui"alente a la anterior.

Ingeniera Qumica

You might also like