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.

376 Capítulo 17. Estructuras de datos recursivas<br />

En el cuerpo del programa, tal como se especifica <strong>en</strong> el diseño, tras la lectura<br />

de datos, se realiza la sigui<strong>en</strong>te simulación <strong>en</strong> cada instante t: se procesa un<br />

artículo <strong>en</strong> la caja (se anota su precio), cuando se acaban todos los artículos de<br />

un determinado cli<strong>en</strong>te éste se elimina de la cola (paga y se va); por otra parte<br />

se comprueba si ha llegado algui<strong>en</strong> (si su número aleatorio es m<strong>en</strong>or o igual que<br />

probLlegada), si ha llegado se le pone <strong>en</strong> la cola y se actualiza el contador de<br />

personas.<br />

Finalm<strong>en</strong>te, el cuerpo del programa es el sigui<strong>en</strong>te:<br />

begin<br />

Randomize;<br />

CrearCola(caja);<br />

t:= 0;<br />

contCli<strong>en</strong>tes:= 0;<br />

WriteLn(’Simulador de Colas’);<br />

WriteLn(’Introduzca número de personas’);<br />

ReadLn(numCli<strong>en</strong>tes);<br />

WriteLn(’Introduzca la probabilidad de llegada’);<br />

ReadLn(probLlegada);<br />

WriteLn(’Introduzca máximo de artículos’);<br />

ReadLn(maxArti);<br />

repeat<br />

Writeln(’Tiempo t =’,t);<br />

MostrarCola(caja);<br />

t:= t + 1;<br />

if caja.principio^.cont<strong>en</strong>ido= 0 th<strong>en</strong><br />

SacarDeCola(caja)<br />

else with caja.principio^ do<br />

cont<strong>en</strong>ido:= cont<strong>en</strong>ido - 1;<br />

if (Random

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

Saved successfully!

Ooh no, something went wrong!