Publicado el 8 de Mayo del 2018
485 visualizaciones desde el 8 de Mayo del 2018
372,0 KB
54 paginas
Creado hace 18a (19/01/2006)
Programación Instituto Tecnológico de Celaya
UNIDAD III
TTEEMMAA II
AARRRREEGGLLOOSS
Ingeniería Química
Página 120
Programación Instituto Tecnológico de Celaya
Un arreglo se utiliza para procesar colecciones de datos de un mismo tipo, como
AARRRREEGGLLOOSS
una lista de temperaturas, de calificaciones, de nombres, etc. En este
documento se establecen las bases del manejo de arreglos.
Introducción
¿Son útiles los arreglos en programación? Comencemos el estudio de arreglos
en C++ tratando de responder a esta pregunta. Para ello, recordemos el
ejercicio en el que se identificaban cuantas vocales y cuantas consonantes tiene
un nombre propio dado. En dicho ejercicio fue necesario escribir un ciclo
(sentencia for) en el que se pedía cada letra del nombre y luego se analizaba
dicha letra para saber si era o no una vocal (sentencia switch):
for(n=1; n<=no_letras; n++)
{
cout<<"Dame la letra “<<n<<” del nombre \n";
cin>>letra;
/* Identificacion de letra */
switch(letra)
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
no_vocales++;
break;
default:
no_consonantes++;
}
}
Uno puede observar que, en dicho ciclo, cada una de las letras del nombre se
asigna a la variable letra en cada iteración. Cada nuevo valor de letra sobre-
escribe al valor anterior. Por ello, cuando termina de ejecutarse el ciclo, la
Ingeniería Química
Página 121
Programación Instituto Tecnológico de Celaya
variable tiene como valor únicamente a la última de las letras del nombre. ¿Que
pasaría, sin embargo, si alguien quisiera conservar a todas las letras del
nombre hasta el final del programa?. Para poner un ejemplo, suponga que un
nombre propio tiene 7 letras. Piense bien en dicha situación y se dará cuenta
que (sin el uso de arreglos) el querer mantener a cada una de las siete letras
complica mucho el análisis. Por principio de cuentas, sería necesario tener siete
variables de tipo carácter (letra_1, letra_2, letra_3,..., letra_7), una para cada
letra. Además, hubiera también sido necesario escribir la sentencia switch 7
veces, una vez para cada una de dichas letras. Piense en el tamaño del
programa que sería necesario.
Aparte de dicho ejercicio, en programación es muy común encontrarse con
problemas en los cuales es necesario tener muchas variables de un mismo tipo.
Específicamente en ingeniería química, un ejemplo que se verá durante la
carrera es una columna de destilación, en la cual una de las variables
importantes es la temperatura. Si la columna tuviera 50 secciones (llamados
platos) necesitaríamos 50 variables para guardar la temperatura de cada uno de
ellos. Imagine tener que declarar las variables:
double temperatura_1, temperatura_2, ... , temperatura_50;
Tener que hacer algo como eso sería absurdo. Afortunadamente, el uso de
arreglos (en cualquier lenguaje de programación) hace muy simples este tipo
de tareas.
DDEECCLLAARRAACCIIÓÓNN DDEE AARRRREEGGLLOOSS
Un arreglo es prácticamente una lista de variables. Cada una de las variables de
la lista tiene un nombre que está constituido por dos partes. Una de las partes
es el nombre del arreglo, nombre que van a compartir cada una de las variables
de la lista. La otra parte es diferente para cada variable y es lo que permite
identificar a una variable de la lista de otra.
Como ejemplo de declaración de un arreglo, analicemos la siguiente sentencia:
double temperatura[5];
Ingeniería Química
Página 122
Programación Instituto Tecnológico de Celaya
Ese es un ejemplo típico de la declaración de un arreglo. En este ejemplo, se
está declarando que existe un arreglo de 5 variables de tipo double. Al tipo
double se le conoce como el tipo del arreglo. El nombre del arreglo es
temperatura. El número entre corchetes indica cuantos elementos tiene el
arreglo (en este caso 5) y se le conoce como el tamaño del arreglo. La
sentencia anterior sería lo mismo que declarar cada una de las variables del
arreglo por separado:
double temperatura[0], temperatura[1], temperatura[2], temperatura[3],
temperatura[4];
Las variables como temperatura[0] y temperatura[1] que se declaran al
declarar un arreglo se denominan variables indexadas o elementos del
arreglo. Al número entre corchetes se le denomina índice. Es muy
importante que observe que los índices comienzan a numerarse desde
el cero, no desde el uno. De forma que el número de variables se identifican
por un índice que va desde el cero hasta el número del tamaño del arreglo
menos uno. Es preciso que no exista confusión. En la declaración:
double temperatura[5];
el número 5 indica que el arreglo tiene 5 variables indexadas. Por otra parte,
temperatura[0] o temperatura [1] son elementos del arreglo identificados por
un índice que irá desde cero hasta cuatro.
Cualquier variable indexada puede ser utilizada en cualquier parte del programa
como si se tratara de cualquier variable. Es decir, es válido escribir sentencias
como las siguientes:
Temperatura[0] = Temperatura[0] + 273; /* asignacion*/
cin>> Temperatura[2]; /*entrada de datos*/
cout<<”El valor de la Temperatura es “<<Temperatura[3]<<”\n”; /* salida*/
Otro punto importante es que el número escrito entre corchetes en la
declaración de un arreglo tiene que ser un número constante. Sin embargo, el
índice escrito entre corchetes no necesariamente tiene que ser un entero
Ingeniería Química
Página 123
Programación Instituto Tecnológico de Celaya
constante cuando se utilizan variables indexadas en las sentencias de un
programa, sino que puede ser una expresión. Esto es válido siempre y cuando
la expresión de como resultado un número que se encuentre entre cero y el
tamaño del arreglo menos uno.
Por ejemplo, en el caso que estamos analizando de la temperatura la expresión
siguiente:
Temperatura[i] = Temperatura[i] + 273;
sería válida siempre y cuando la variable i tenga un valor entre 0 y 4.
El uso de arreglos es de especial importancia en ciclos iterativos. En particular,
cuando se utiliza la sentencia for es relativamente fácil manipular arreglos
utilizando la variable de control del ciclo. Las siguientes sentencias servirían
para guardar las 7 letras de un nombre en el ejemplo con el cual iniciamos
nuestra explicación del uso de arreglos:
char letra[7];
for(n=1; n<=7; n++)
{
cout<<"Dame la letra “<<n<<” del nombre \n";
cin>>letra[n-1];
]
Sumarizando, la sintaxis en la declaración de arreglos es:
Nombre_del_tipo Nombre_del_arreglo[tamanio_del_arreglo];
Ejemplos:
int arreglo_grande[100];
double a[3];
double b[5], x, y, z;
Como se observa en el último ejemplo, es posible declarar arreglos
conjuntamente con otras variables del mismo tipo.
Ingeniería Química
Página 124
Programación Instituto Tecnológico de Celaya
Errores Comunes
El error más común en el manejo de arreglos es el tratar de usar un elemento
del arreglo que no existe. Este error sólo es detectado por algunos de los
compiladores de C++ y se muestra con un mensaje similar a:
array index out of range
Por ejemplo, suponga que se declara el arreglo:
double a[3];
con ello se está declarando un arreglo de 3 elementos: a[0], a[1] y a[2]. Si en
el programa se tuviera algo como:
double a[3], x=3.5;
int n=2;
n++;
a[n] = 2*3* x;
En este caso se presentaría un error dado n=3 y dado que la variable a[3] no
existe.
IINNIICCIIAALLIIZZAACCIIÓÓNN DDEE AARRRREEGGLLOOSS
Al igual que otras variables, los arreglos se pueden inicializar al momento de
declararse. Para hacer eso, es necesario enlistar los valores de cada uno de los
elementos del arreglo entre llaves y separados por comas. Ejemplo:
int b[3] = {2, 12, 1};
En casos como éste, cuando se escriben cada uno de los valores de los
elementos del arreglo, algunos compiladores permiten omitir el tamaño del
arreglo en la declaración. Por ello, la declaración:
int b[] = {2, 12, 1};
sería equivalente a la anterior.
Ingeniería Química
Página 125
Programación Instituto Tecnológico de Celaya
EEJJEERRCCIICCIIOOSS
Comentarios de: Unidad III - Tema I - Arreglos (0)
No hay comentarios