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.

9.6. Un ejemplo detallado: repres<strong>en</strong>tación de funciones 203<br />

Mant<strong>en</strong>imi<strong>en</strong>to<br />

Por otra parte, la programación con subprogramas sirve de gran ayuda <strong>en</strong><br />

el mant<strong>en</strong>imi<strong>en</strong>to y modificación de los programas, ya que si se ha respetado<br />

la indep<strong>en</strong>d<strong>en</strong>cia funcional <strong>en</strong>tre subprogramas, introducir cambios o subsanar<br />

errores t<strong>en</strong>drá unos efectos nulos o mínimos sobre el resto del programa.<br />

9.6 Un ejemplo detallado: repres<strong>en</strong>tación de<br />

funciones<br />

Se trata de repres<strong>en</strong>tar funciones reales de una variable real <strong>en</strong> la pantalla del<br />

computador de forma aproximada. La función repres<strong>en</strong>tada es fija para el programa;<br />

<strong>en</strong> nuestro ejemplo, se ha tomado f(x) = s<strong>en</strong>(x), aunque puede cambiarse<br />

fácilm<strong>en</strong>te aprovechando las v<strong>en</strong>tajas de la programación con subprogramas. Los<br />

datos solicitados por el programa determinan el fragm<strong>en</strong>to del plano XY que se<br />

desea repres<strong>en</strong>tar:<br />

[xmínima, xmáxima] × [ymínima, ymáxima]<br />

En nuestro ejemplo repres<strong>en</strong>taremos el fragm<strong>en</strong>to<br />

[0.5, 6.5] × [−0.9, 0.9]<br />

que es bastante ilustrativo acerca del comportami<strong>en</strong>to de la función s<strong>en</strong>o.<br />

Por otra parte, como el tamaño de la pantalla es fijo, la repres<strong>en</strong>tación se<br />

efectúa sobre una cuadrícula de tamaño fijo, formada por númX×númY puntos,<br />

que estará repres<strong>en</strong>tado por s<strong>en</strong>das constantes del programa:<br />

const<br />

NumX=15; NumY=50;<br />

Por comodidad, el eje de abscisas será vertical y avanzará desc<strong>en</strong>d<strong>en</strong>tem<strong>en</strong>te,<br />

y el de ord<strong>en</strong>adas será horizontal y avanzará hacia la derecha de la pantalla,<br />

como se ve <strong>en</strong> la figura 9.6.<br />

Como podemos ver se ha trazado una cabecera con los límites de la repres<strong>en</strong>tación<br />

de las ord<strong>en</strong>adas (<strong>en</strong> la figura -0.90 y 0.90), el nombre de la función<br />

repres<strong>en</strong>tada (y = s<strong>en</strong> (x) <strong>en</strong> el ejemplo) y una línea horizontal de separación.<br />

Debajo, para cada línea, se ha escrito el valor de la abscisa (0.50, 0.90, . . . )<br />

correspondi<strong>en</strong>te, una línea vertical para repres<strong>en</strong>tar un fragm<strong>en</strong>to de eje y un<br />

asterisco para repres<strong>en</strong>tar la posición de la función. Si la función se sale fuera<br />

de la zona de repres<strong>en</strong>tación, se ha escrito un símbolo < ó >, según caiga por la<br />

izquierda o por la derecha, respectivam<strong>en</strong>te.<br />

Así pues, el programa consta de cuatro pasos:

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

Saved successfully!

Ooh no, something went wrong!