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.

10.5. Recursión mutua 225<br />

var<br />

c: char;<br />

begin<br />

repeat<br />

Read(c);<br />

case c of<br />

’(’: CierraPar;<br />

{Llamada recursiva para tratar una pareja de paréntesis<br />

anidados}<br />

’)’: WriteLn(’cuadra el paréntesis’);<br />

’[’: CierraCorchete;<br />

{Llamada recursiva para tratar una pareja de corchetes<br />

anidados}<br />

’]’: WriteLn(’error: cierra paréntesis con corchete’)<br />

<strong>en</strong>d {case}<br />

until (c = ’)’) or EoLn;<br />

if EoLn and (c ’)’) th<strong>en</strong><br />

{Se llega al fin de la <strong>en</strong>trada sin <strong>en</strong>contrar el cierre de<br />

paréntesis}<br />

WriteLn(’error: se queda un paréntesis abierto’)<br />

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

procedure CierraCorchete;<br />

{PreC.: se ha leído un carácter ‘[‘ y no EoLn}<br />

{Efecto: se ha recorrido la <strong>en</strong>trada hasta <strong>en</strong>contrar un caracter ‘]’<br />

o el fin de la <strong>en</strong>trada, dando los m<strong>en</strong>sajes adecuados si se ha leído<br />

un símbolo inapropiado}<br />

var<br />

c: char;<br />

begin<br />

repeat<br />

Read(c);<br />

case c of<br />

’(’: CierraPar;<br />

{Llamada recursiva para tratar una pareja de paréntesis<br />

anidados}<br />

’)’: WriteLn(’error: cierra corchete con paréntesis’);<br />

’[’: CierraCorchete;<br />

{Llamada recursiva para tratar una pareja de corchetes<br />

anidados}<br />

’]’: WriteLn(’cuadra el corchete’)<br />

<strong>en</strong>d {case}<br />

until (c = ’]’) or EoLn;<br />

if EoLn and (c ’]’) th<strong>en</strong><br />

{Se llega al fin de la <strong>en</strong>trada sin <strong>en</strong>contrar el cierre de<br />

corchete}<br />

WriteLn(’error: se queda un corchete abierto’)

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

Saved successfully!

Ooh no, something went wrong!