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.

6.2. Instrucciones de selección 89<br />

caso la instrucción compuesta se pondrá <strong>en</strong>tre las palabras begin y <strong>en</strong>d como<br />

se señaló <strong>en</strong> el apartado anterior.<br />

Como muestra considérese el refinami<strong>en</strong>to del código anterior:<br />

if x > y th<strong>en</strong> begin<br />

max:= x;<br />

WriteLn(’El máximo es ’, x)<br />

<strong>en</strong>d<br />

else begin<br />

max:= y;<br />

WriteLn(’El máximo es ’, y)<br />

<strong>en</strong>d<br />

Es aconsejable evitar la introducción de código redundante d<strong>en</strong>tro de las<br />

posibles alternativas, ya que se facilita <strong>en</strong> gran manera el mant<strong>en</strong>imi<strong>en</strong>to del<br />

programa. El segm<strong>en</strong>to anterior es un flagrante ejemplo de redundancia que<br />

puede ser evitada fácilm<strong>en</strong>te colocando el WriteLn una vez realizada la selección:<br />

if x > y th<strong>en</strong><br />

max:= x<br />

else<br />

max:= y; {Fin del if}<br />

WriteLn(’El máximo es ’, max)<br />

❡❡ <br />

A efectos de la colocación de los puntos y comas debe t<strong>en</strong>erse <strong>en</strong> cu<strong>en</strong>ta<br />

que toda la construcción if-th<strong>en</strong>-else corresponde a una sola instrucción,<br />

y no es una composición de las instrucciones if, th<strong>en</strong> y else; <strong>en</strong> particular,<br />

la aparición de un punto y coma justo antes de un th<strong>en</strong> o de un else dará<br />

como resultado un error sintáctico (bastante frecu<strong>en</strong>te, por cierto).<br />

Una particularidad de esta instrucción es que la rama else es opcional; <strong>en</strong><br />

caso de no ser incluida se ha de interpretar que cuando la expresión booleana<br />

resulta ser falsa <strong>en</strong>tonces no se realiza ninguna acción. Por esta razón, la forma<br />

if-th<strong>en</strong> es útil como s<strong>en</strong>t<strong>en</strong>cia para controlar excepciones que pudieran afectar<br />

el procesami<strong>en</strong>to posterior. Por ejemplo, <strong>en</strong> el sigui<strong>en</strong>te fragm<strong>en</strong>to de programa<br />

se muestra el uso de la forma if-th<strong>en</strong> como s<strong>en</strong>t<strong>en</strong>cia de control.<br />

ReadLn(year);<br />

feb:= 28;<br />

{No siempre, ya que puede ser a~no bisiesto}<br />

if year mod 4 = 0 th<strong>en</strong><br />

feb:= 29;<br />

WriteLn(’Este a~no Febrero ti<strong>en</strong>e ’,feb,’ días’)

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

Saved successfully!

Ooh no, something went wrong!