PDF de programación - Unidad III - Tema I - Arreglos

Imágen de pdf Unidad III - Tema I - Arreglos

Unidad III - Tema I - Arreglosgráfica de visualizaciones

Publicado el 8 de Mayo del 2018
142 visualizaciones desde el 8 de Mayo del 2018
372,0 KB
54 paginas
Creado hace 13a (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
  • Links de descarga
http://lwp-l.com/pdf10931

Comentarios de: Unidad III - Tema I - Arreglos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad