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.

58 Capítulo 4. Elem<strong>en</strong>tos básicos del l<strong>en</strong>guaje<br />

Read<br />

El archivo input<br />

ReadLn ( Id.Variable<br />

Figura 4.4. Instrucción de lectura.<br />

Los datos del programa se le<strong>en</strong> del input, que frecu<strong>en</strong>tem<strong>en</strong>te es el teclado.<br />

Surg<strong>en</strong> ahora tres cuestiones que deb<strong>en</strong> aclararse. En primer lugar, el archivo<br />

input también consiste <strong>en</strong> realidad <strong>en</strong> una secu<strong>en</strong>cia de líneas de caracteres<br />

(véase el apartado 14.3), que deb<strong>en</strong> convertirse <strong>en</strong> números cuando las variables<br />

correspondi<strong>en</strong>tes sean de tipo numérico. Cuando haya varias variables numéricas,<br />

se pued<strong>en</strong> escribir <strong>en</strong> una sola línea separadas con espacios <strong>en</strong> blanco. En el<br />

ejemplo 5<br />

ReadLn(var1, var2, var3) 123 456 789 ←<br />

se asignaría 123 a var1, 456 a var2 y 789 a var3, mant<strong>en</strong>i<strong>en</strong>do el ord<strong>en</strong> de<br />

lectura.<br />

Por lo tanto, la introducción de datos, sean del tipo que sean, se realiza a<br />

través de una secu<strong>en</strong>cia de caracteres. Es posible que esta conversión no se pueda<br />

llevar a cabo por incompatibilidad de tipos, produciéndose un error de ejecución.<br />

Así ocurriría <strong>en</strong> el ejemplo<br />

,<br />

Read(var1) a ←<br />

si la variable var1 fuera de tipo numérico.<br />

En segundo lugar, el efecto de la s<strong>en</strong>t<strong>en</strong>cia ReadLn consiste <strong>en</strong> captar los<br />

datos del input y avanzar hasta rebasar el sigui<strong>en</strong>te salto de fin de línea. Así<br />

por ejemplo, si<strong>en</strong>do las variables a, b y c de tipo numérico, <strong>en</strong> la sigui<strong>en</strong>te<br />

situación<br />

ReadLn(a, b); 1 2 3 4 5 ←<br />

Read(c) 6 7 8 ←<br />

5 Ahora, la parte de la derecha repres<strong>en</strong>ta el input.<br />

)

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

Saved successfully!

Ooh no, something went wrong!