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.

B.5. Cad<strong>en</strong>as de caracteres 495<br />

o asignar un valor con:<br />

cad<strong>en</strong>a:= ’Lupirino’<br />

escribimos m<strong>en</strong>os de 20 caracteres, el índice almac<strong>en</strong>ará el número real de caracteres<br />

escritos. Si escribimos 20 o más, el índice valdría 20, pero <strong>en</strong> el último<br />

caso se perderían los caracteres posteriores al vigésimo, truncándose la cad<strong>en</strong>a.<br />

También es posible declarar su longitud máxima, <strong>en</strong> cuyo caso la cad<strong>en</strong>a<br />

toma una longitud física de 255 caracteres. Por ejemplo:<br />

var<br />

nombre: string;<br />

Se puede acceder a los caracteres de una cad<strong>en</strong>a por sus índices, como <strong>en</strong><br />

un array, si<strong>en</strong>do el elem<strong>en</strong>to de índice 0 el que almac<strong>en</strong>a la longitud lógica de la<br />

cad<strong>en</strong>a. Por ejemplo, mediante las sigui<strong>en</strong>tes instrucciones:<br />

longitud:= Ord(cad<strong>en</strong>a[0])<br />

inicial:= cad<strong>en</strong>a[1]<br />

se asigna a la variable longitud la longitud de la cad<strong>en</strong>a y el primer carácter de<br />

ésta a la variable inicial .<br />

B.5.2 Operadores de cad<strong>en</strong>as<br />

Dos cad<strong>en</strong>as se pued<strong>en</strong> comparar <strong>en</strong>tre sí con los operadores usuales de relación,<br />

considerándose “m<strong>en</strong>or” (anterior) aquella cad<strong>en</strong>a que precede a la otra<br />

por ord<strong>en</strong> alfabético. 3 Es decir, la comparación se realiza carácter a carácter,<br />

hasta que una cad<strong>en</strong>a difiera de la otra <strong>en</strong> uno, si<strong>en</strong>do m<strong>en</strong>or aquélla que ti<strong>en</strong>e<br />

m<strong>en</strong>or ordinal <strong>en</strong> el carácter difer<strong>en</strong>ciador. Puede suceder que una de las dos cad<strong>en</strong>as<br />

termine sin haber <strong>en</strong>contrado un carácter distinto, <strong>en</strong> cuyo caso la cad<strong>en</strong>a<br />

más corta se considera la m<strong>en</strong>or.<br />

Además de los operadores de relación, se puede aplicar el operador +, llamado<br />

de concat<strong>en</strong>ación, que une dos cad<strong>en</strong>as para formar otra. Por ejemplo, haci<strong>en</strong>do:<br />

cad<strong>en</strong>a1:= ’Pepe’;<br />

cad<strong>en</strong>a2:= ’Luis’;<br />

cad<strong>en</strong>a:= cad<strong>en</strong>a1 + cad<strong>en</strong>a2<br />

la variable cad<strong>en</strong>a t<strong>en</strong>dría el valor ’PepeLuis’.<br />

3 Lam<strong>en</strong>tablem<strong>en</strong>te, el ord<strong>en</strong> <strong>en</strong>tre cad<strong>en</strong>as se basa <strong>en</strong> el código ASCII, por lo que no funciona<br />

del todo de acuerdo con el ord<strong>en</strong> alfabético español (ac<strong>en</strong>tos, eñes). Además, las mayúsculas<br />

preced<strong>en</strong> a las minúsculas, por lo que no pued<strong>en</strong> compararse <strong>en</strong>tre sí de acuerdo con el ord<strong>en</strong><br />

alfabético.

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

Saved successfully!

Ooh no, something went wrong!