09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

236 Capítulo 11. Tipos de datos simples y compuestos<br />

❡❡ <br />

Obsérvese que los valores de un tipo <strong>en</strong>umerado son id<strong>en</strong>tificadores, y no<br />

cad<strong>en</strong>as de caracteres (es decir, no son literales de <strong>Pascal</strong>, como los descritos<br />

<strong>en</strong> el apartado 3.6).<br />

Como se puede observar, basta con <strong>en</strong>umerar los valores del tipo uno a uno,<br />

separándolos por comas y <strong>en</strong>cerrándolos <strong>en</strong>tre paréntesis. A partir de este mom<strong>en</strong>to<br />

<strong>Pascal</strong> reconoce el id<strong>en</strong>tificador tDiasSemana como un nuevo nombre de<br />

tipo de datos del cual se pued<strong>en</strong> declarar variables:<br />

var<br />

ayer, hoy, mannana: tDiasSemana;<br />

Como se podría esperar, el dominio de un tipo <strong>en</strong>umerado está formado por<br />

los valores incluidos <strong>en</strong> su descripción.<br />

Para asignar valores de tipo <strong>en</strong>umerado a las variables, se usa el operador de<br />

asignación habitual:<br />

ayer:= dom;<br />

hoy:= lun;<br />

Operaciones de los tipos <strong>en</strong>umerados<br />

En todo tipo <strong>en</strong>umerado se ti<strong>en</strong>e un ord<strong>en</strong> establecido por la descripción del<br />

tipo y, por lo tanto, los tipos <strong>en</strong>umerados son tipos ordinales al igual que los tipos<br />

predefinidos integer, char y boolean (véase el apartado 3.6). De este modo,<br />

los operadores relacionales son aplicables a los tipos <strong>en</strong>umerados, y el resultado<br />

de su evaluación es el esperado:<br />

lun < mie ❀ True<br />

jue = sab ❀ False<br />

(mar > lun) = (lun < mar) ❀ True<br />

Además de los operadores relacionales, son también aplicables las funciones ya<br />

conocidas Ord, Pred y Succ:<br />

Succ(jue) ❀ vie<br />

Succ(lun) = Pred(mie) ❀ True<br />

Pred(lun) ❀ error (ya que no existe el anterior del primer valor)

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

Saved successfully!

Ooh no, something went wrong!