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.

496 Apéndice B. El l<strong>en</strong>guaje Turbo <strong>Pascal</strong><br />

B.5.3 Funciones de cad<strong>en</strong>as<br />

Turbo <strong>Pascal</strong> proporciona un conjunto de funciones predefinidas para procesar<br />

las cad<strong>en</strong>as. Estas funciones se pres<strong>en</strong>tan a continuación: 4<br />

• Concat: S × S × . . . × S → S.<br />

Concat<strong>en</strong>a las cad<strong>en</strong>as argum<strong>en</strong>to para producir una cad<strong>en</strong>a resultado.<br />

Produce el mismo resultado que el operador +.<br />

• L<strong>en</strong>gth: S → Z.<br />

Halla la longitud lógica (<strong>en</strong>tero) de la cad<strong>en</strong>a argum<strong>en</strong>to. La función<br />

L<strong>en</strong>gth equivale al ordinal del carácter 0 de la cad<strong>en</strong>a argum<strong>en</strong>to.<br />

• Pos (S1, S2) → Z.<br />

Indica la posición (un <strong>en</strong>tero) de la primera cad<strong>en</strong>a d<strong>en</strong>tro de la segunda,<br />

o el valor 0 si no se <strong>en</strong>cu<strong>en</strong>tra. Esta función es especialm<strong>en</strong>te útil para<br />

buscar un texto d<strong>en</strong>tro de otro.<br />

• Copy(s: string; z1, z2: integer): string;<br />

Extrae de s una subcad<strong>en</strong>a formada por z2 caracteres a partir del z1-ésimo<br />

(incluido)<br />

Veamos algunos ejemplos, con sus salidas:<br />

var<br />

cad<strong>en</strong>a1, cad<strong>en</strong>a2, cad<strong>en</strong>a3: string[40];<br />

...<br />

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

cad<strong>en</strong>a2:= ’ y estr. de datos’;<br />

cad<strong>en</strong>a3:= Concat(cad<strong>en</strong>a1, cad<strong>en</strong>a2);<br />

WriteLn(cad<strong>en</strong>a3); Alg. y estr. de datos<br />

WriteLn(L<strong>en</strong>gth(cad<strong>en</strong>a3)); 21<br />

WriteLn(Pos(cad<strong>en</strong>a2, cad<strong>en</strong>a3)); 5<br />

WriteLn(Copy(cad<strong>en</strong>a3, 8 ,4)) estr<br />

B.5.4 Procedimi<strong>en</strong>tos de cad<strong>en</strong>as<br />

Como complem<strong>en</strong>to de las funciones predefinidas, Turbo <strong>Pascal</strong> también dispone<br />

de un conjunto de procedimi<strong>en</strong>tos de gran utilidad para el manejo de cad<strong>en</strong>as.<br />

Estos procedimi<strong>en</strong>tos son los sigui<strong>en</strong>tes:<br />

4 Dada la diversidad de tipos de algunos procedimi<strong>en</strong>tos y funciones de cad<strong>en</strong>as, se ha optado<br />

por dar sus <strong>en</strong>cabezami<strong>en</strong>tos <strong>en</strong> lugar de su definición funcional.

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

Saved successfully!

Ooh no, something went wrong!