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.

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

repeat<br />

Instrucci—n<br />

;<br />

until<br />

Expresi—n Booleana<br />

Figura 6.5. Diagrama sintáctico de la instrucción repeat.<br />

6.3.2 La instrucción repeat<br />

Com<strong>en</strong>zamos este apartado retomando el ejemplo <strong>en</strong> l<strong>en</strong>guaje natural con el<br />

que se pres<strong>en</strong>tó la instrucción while: mi<strong>en</strong>tras haga calor usar manga corta. La<br />

característica de preprobado de while hace que este consejo sólo sea válido para<br />

g<strong>en</strong>te previsora que comprueba el tiempo que hace antes de salir de casa.<br />

¿Cómo se podría modificar el ejemplo anterior para que fuera válido también<br />

para qui<strong>en</strong> no sabe qué tiempo hace fuera hasta que ya es demasiado tarde?<br />

Una forma sería llevar un jersey puesto hasta que haga calor; de este modo se<br />

evitarán bastantes <strong>en</strong>friami<strong>en</strong>tos indeseados.<br />

La instrucción repeat permite la construcción de bucles similares al de este<br />

último ejemplo, con características ligeram<strong>en</strong>te distintas a la del bucle while. El<br />

diagrama sintáctico de la instrucción repeat aparece <strong>en</strong> la figura 6.5. La forma<br />

g<strong>en</strong>eral de la instrucción repeat obedece al esquema<br />

donde<br />

repeat Lista de instrucciones until Expresi«on booleana<br />

Lista de instrucciones:= instrucci«on {; instrucci«on }<br />

por lo tanto, la interpretación de una instrucción repeat es: repetir las instrucciones<br />

indicadas <strong>en</strong> el cuerpo del bucle hasta que se verifique la condición que<br />

aparece tras until.<br />

❡❡ <br />

En este tipo de bucles las palabras reservadas repeat y until funcionan<br />

como delimitadores, no si<strong>en</strong>do necesario usar begin-<strong>en</strong>d para delimitar la<br />

lista de instrucciones.<br />

En la ejecución de una instrucción repeat se comi<strong>en</strong>za ejecutando la lista de<br />

instrucciones y después se comprueba si se cumple la condición (por eso el bucle<br />

es postprobado); si la condición aún no se cumple <strong>en</strong>tonces se repite el bucle,<br />

ejecutando la lista de instrucciones y comprobando la condición. La iteración

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

Saved successfully!

Ooh no, something went wrong!