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.

206 Capítulo 9. <strong>Programación</strong> con subprogramas<br />

Para cada ord<strong>en</strong>ada yi = f(xi), su posición (que será un <strong>en</strong>tero de {0, . . . NumY}<br />

cuando yi ∈ [ymí, ymáx]:<br />

Ello se consigue s<strong>en</strong>cillam<strong>en</strong>te así:<br />

[ymín, ymáx] → {0, . . . ,NumY}<br />

<br />

posYi = Round NumY yi<br />

<br />

− ymín<br />

ymáx − ymín<br />

Un valor de posYi negativo o nulo indica que la función se sale por la izquierda<br />

del fragm<strong>en</strong>to del plano repres<strong>en</strong>tado, mi<strong>en</strong>tras que un valor mayor que NumY<br />

significa que se sale por la derecha, con lo que la línea i-ésima se traza como<br />

sigue: 3<br />

procedure TrazarLinea(i: integer; xMin, xMax, yMin,<br />

yMax: real);<br />

{Efecto: se imprime la línea i-ésima}<br />

var<br />

xi: real; {el valor de abscisa}<br />

posYi: integer; {el valor redondeado de la función <strong>en</strong> xi}<br />

begin<br />

xi:= xMin + i * (xMax - xMin)/NumX;<br />

posYi:= Round(NumY * ((Sin(xi)-yMin)/(yMax-yMin)));<br />

Write(xi:5:2,’ | ’);<br />

if posYi ’:NumY)<br />

else {d<strong>en</strong>tro de la zona}<br />

WriteLn(’*’:posYi)<br />

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

Finalm<strong>en</strong>te, el pie de la gráfica se dibuja así:<br />

procedure TrazarPie;<br />

begin<br />

WriteLn(’ |’);<br />

WriteLn(’ x V’)<br />

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

En resum<strong>en</strong>, el programa consta de lo sigui<strong>en</strong>te:<br />

3 Dadas las especiales características gráficas de este ejemplo, se indican mediante el símbolo<br />

los espacios <strong>en</strong> blanco <strong>en</strong> las instrucciones de escritura.

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

Saved successfully!

Ooh no, something went wrong!