08.09.2017 Views

Diseno de algoritmos y su codificacion en lenguaje C

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.2 Arreglos unidim<strong>en</strong>sionales (vectores o listas) 137<br />

4.2 Arreglos unidim<strong>en</strong>sionales (vectores o listas)<br />

Un arreglo unidim<strong>en</strong>sional es un conjunto <strong>de</strong> n elem<strong>en</strong>tos <strong>de</strong>l mismo tipo almac<strong>en</strong>ados <strong>en</strong> memoria continua<br />

<strong>en</strong> un vector o lista. Para acce<strong>de</strong>r a cada elem<strong>en</strong>to <strong>de</strong>l arreglo se requiere <strong>de</strong> un solo índice o <strong>su</strong>bíndice, el cual<br />

repres<strong>en</strong>ta la posición <strong>en</strong> la que se <strong>en</strong>cu<strong>en</strong>tra.<br />

Formato para <strong>de</strong>clarar un arreglo unidim<strong>en</strong>sional<br />

Pseudocódigo<br />

tipo_dato i<strong>de</strong>ntif_arreglo[tam_arreglo]<br />

L<strong>en</strong>guaje C<br />

tipo_dato i<strong>de</strong>ntif_arreglo[tam_arreglo];<br />

Don<strong>de</strong>:<br />

tipo_dato se refiere al tipo <strong>de</strong> dato <strong>de</strong> cada elem<strong>en</strong>to <strong>de</strong>l arreglo; pue<strong>de</strong> ser <strong>en</strong>tero, real, carácter, etcétera.<br />

i<strong>de</strong>ntif_arreglo es el nombre que repres<strong>en</strong>ta a todo el arreglo<br />

tam_arreglo es la cantidad <strong>de</strong> elem<strong>en</strong>tos que conti<strong>en</strong>e el arreglo.<br />

Si tomamos la <strong>de</strong>claración <strong>de</strong>l arreglo lista <strong>de</strong>l ejemplo anterior, así se repres<strong>en</strong>taría <strong>en</strong> memoria <strong>en</strong>tero<br />

lista [4]:<br />

Posición <strong>de</strong> la memoria 1000 1001 1002 1003 1004 1005 1006 1007<br />

lista 0 1 2 3<br />

Los <strong>en</strong>teros requier<strong>en</strong> <strong>de</strong> dos bytes para almac<strong>en</strong>arse <strong>en</strong> memoria; como se muestra, por cada posición se<br />

requiere <strong>de</strong> dos localida<strong>de</strong>s <strong>de</strong> memoria, por ejemplo el 0 ocupa la posición 1000 y 1001.<br />

La cantidad <strong>de</strong> arreglos que se pue<strong>de</strong>n <strong>de</strong>clarar <strong>de</strong>p<strong>en</strong><strong>de</strong>rá <strong>de</strong> la memoria libre, que comúnm<strong>en</strong>te es <strong>de</strong><br />

64 Kbytes; esta cantidad pue<strong>de</strong> variar e incluso se pue<strong>de</strong> utilizar más memoria disponible siempre y cuando<br />

la computadora cu<strong>en</strong>te con ella.<br />

A continuación se muestra un arreglo <strong>de</strong> números reales cuyo i<strong>de</strong>ntificador es x:<br />

Pseudocódigo<br />

real x[8]<br />

L<strong>en</strong>guaje C<br />

float x[8];<br />

x[0] x[1] x[2] x[3] x[4] x[5] x[6] x[7]<br />

posiciones<br />

elem<strong>en</strong>tos<br />

4.2 12.0 3.45 4.32 0.31 51.9 2.65 13.0<br />

Este arreglo conti<strong>en</strong>e ocho elem<strong>en</strong>tos almac<strong>en</strong>ados <strong>en</strong>tre la posición (0-7). Para referirnos a un elem<strong>en</strong>to <strong>en</strong><br />

particular <strong>de</strong>ntro <strong>de</strong>l arreglo, especificamos el nombre <strong>de</strong>l arreglo y el número <strong>de</strong> posición don<strong>de</strong> se <strong>en</strong>cu<strong>en</strong>tra<br />

ubicado. La posición <strong>de</strong>l arreglo va <strong>en</strong>tre paréntesis cuadrados o corchetes (“[ ]”) para el l<strong>en</strong>guaje C; según<br />

el l<strong>en</strong>guaje <strong>de</strong> programación será la sintaxis requerida.<br />

El primer elem<strong>en</strong>to <strong>en</strong> un arreglo es almac<strong>en</strong>ado <strong>en</strong> la posición cero para el l<strong>en</strong>guaje C y <strong>en</strong> la posición<br />

uno para el l<strong>en</strong>guaje Pascal. En este caso trabajaremos el pseudocódigo <strong>en</strong> C. Por lo tanto el primer elem<strong>en</strong>to<br />

<strong>de</strong> un arreglo x se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> la posición cero y se conoce como x [0], el segundo como x [1], el séptimo<br />

como x [6] y <strong>en</strong> g<strong>en</strong>eral, el elem<strong>en</strong>to <strong>de</strong> or<strong>de</strong>n i <strong>de</strong>l arreglo x será x [i-1], ya que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> la posición<br />

i–1, don<strong>de</strong> i es un <strong>su</strong>bíndice que sirve para hacer refer<strong>en</strong>cia a la posición <strong>en</strong> el arreglo. Es <strong>de</strong>cir, si almac<strong>en</strong>amos<br />

<strong>en</strong> un arreglo las eda<strong>de</strong>s <strong>de</strong> los alumnos <strong>de</strong> un salón <strong>de</strong> clases (40), la edad <strong>de</strong>l primer alumno estará<br />

almac<strong>en</strong>ada <strong>en</strong> la posición 0, la <strong>de</strong>l segundo <strong>en</strong> la posición 1 y así <strong>su</strong>cesivam<strong>en</strong>te hasta la <strong>de</strong>l cuadragésimo<br />

alumno <strong>en</strong> la posición 39. Los i<strong>de</strong>ntificadores <strong>de</strong> los arreglos <strong>de</strong>b<strong>en</strong> t<strong>en</strong>er las características <strong>de</strong> los i<strong>de</strong>ntificadores<br />

<strong>de</strong>l l<strong>en</strong>guaje.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!