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.

96 Capítulo 6. Instrucciones estructuradas<br />

Antes de continuar con más ejemplos de bucles while vamos a introducir<br />

un par de funciones booleanas que aparec<strong>en</strong> muy frecu<strong>en</strong>tem<strong>en</strong>te <strong>en</strong> el uso de<br />

bucles: EoLn y EoF. 4 La función EoLn se hace verdadera cuando se alcanza una<br />

marca de fin de línea y falsa <strong>en</strong> otro caso, mi<strong>en</strong>tras que la función EoF se hace<br />

verdadera cuando se alcanza una marca de fin de archivo y falsa <strong>en</strong> otro caso.<br />

Así, el sigui<strong>en</strong>te fragm<strong>en</strong>to de programa cu<strong>en</strong>ta y escribe los caracteres de una<br />

línea:<br />

var<br />

c: char;<br />

numCar: integer;<br />

...<br />

numCar:= 0;<br />

while not EoLn do begin<br />

Read(c);<br />

numCar:= numCar + 1<br />

<strong>en</strong>d; {while}<br />

WriteLn(numCar)<br />

y este otro fragm<strong>en</strong>to cu<strong>en</strong>ta el número de líneas del input<br />

var<br />

numLin: integer;<br />

...<br />

numLin:= 0;<br />

while not EoF do begin<br />

ReadLn;<br />

numLin:= numLin + 1<br />

<strong>en</strong>d; {while}<br />

WriteLn(numLin)<br />

❡❡ <br />

Obsérvese cómo se usa la característica de preprobado <strong>en</strong> los ejemplos anteriores<br />

para asegurarse de que no ha terminado la línea (resp. el archivo)<br />

antes de leer el sigui<strong>en</strong>te carácter (resp. línea). 5<br />

Las instrucciones while se pued<strong>en</strong> anidar y obt<strong>en</strong>er instrucciones del sigui<strong>en</strong>te<br />

tipo<br />

4 Estas funciones serán estudiadas <strong>en</strong> mayor profundidad <strong>en</strong> el apartado 14.3.<br />

5 En la versión 7.0 de Turbo <strong>Pascal</strong> se puede marcar el fin de la <strong>en</strong>trada de datos con la<br />

combinación de teclas [Control] + [z].

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

Saved successfully!

Ooh no, something went wrong!