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

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

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

11.2. Definición de tipos 243<br />

2. Se pued<strong>en</strong> r<strong>en</strong>ombrar los tipos predefinidos <strong>en</strong> una definición de tipos:<br />

type<br />

tEntero = integer;<br />

El r<strong>en</strong>ombrami<strong>en</strong>to, aunque no es recom<strong>en</strong>dable, puede ser útil para evitar<br />

memorizar algún tipo predefinido; así, <strong>en</strong> el ejemplo anterior, podremos hacer<br />

declaraciones de variables de tipo tEntero y no necesitaremos recordar<br />

que <strong>en</strong> <strong>Pascal</strong> sería integer:<br />

var<br />

n, i, j : tEntero;<br />

3. <strong>Pascal</strong> permite redefinir los tipos predefinidos:<br />

type<br />

boolean = (falso, verdadero);<br />

De todas formas, no es recom<strong>en</strong>dable redefinir un tipo predefinido, ya que<br />

el código resultante puede ser confuso y difícil de <strong>en</strong>t<strong>en</strong>der o modificar por<br />

otra persona distinta de la que lo ha escrito.<br />

4. No se pued<strong>en</strong> redefinir palabras reservadas como valores de un tipo <strong>en</strong>umerado<br />

ni como nombres de tipo:<br />

type<br />

notas = (do, re, mi, fa, sol, la, si);<br />

while = (nada, poco, bastante, mucho);<br />

En el ejemplo anterior, la primera definición de tipo <strong>en</strong>umerado es incorrecta<br />

porque uno de sus valores (do) es una palabra reservada; tampoco<br />

es posible hacer la segunda definición porque el nombre (while) utilizado<br />

para el tipo es una palabra reservada.<br />

5. Es muy importante, como se ha com<strong>en</strong>tado anteriorm<strong>en</strong>te, la elección del<br />

id<strong>en</strong>tificador de tipo a la hora de definir un tipo subrango o <strong>en</strong>umerado de<br />

forma que permita id<strong>en</strong>tificar claram<strong>en</strong>te lo que queremos definir.<br />

6. No se puede poner la definición de un tipo (anónimo) <strong>en</strong> el <strong>en</strong>cabezami<strong>en</strong>to<br />

de un subprograma, por lo que el sigui<strong>en</strong>te <strong>en</strong>cabezami<strong>en</strong>to sería incorrecto:<br />

function MannanaMes(d: 1..31) : 1..31;

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

Saved successfully!

Ooh no, something went wrong!