Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

Practica Programacion Ii 2003 2004

From mejiaff, 8 months ago

Práctica de Programación II de la UNED del curso 2003-2004. Reso more

584 views  |  0 comments  |  0 favorites  |  27 downloads  |  1 embed (Stats)
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 584
on Slideshare: 554
from embeds: 30* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Práctica de programación II U.N.E.D CURSO 2003-2004 RESOLUCIÓN DEL DISEÑO Y ANÁLISIS TEÓRICO Por TECNO ACADEMY (tecnoacademy.blogspot.com) Salvador Fernández Fernández

Slide 2: http://tecnoacademy.blogspot.com 2. Enunciado de la práctica Calculo aproximado del Coseno de un Número: El coseno de un ángulo, x, expresado en radianes y con –π <= x <= π es una función cuyo valor puede aproximarse por un desarrollo en serie de potencias de Taylor. La fórmula general de dicho desarrollo para el cálculo de f(x) en un punto (a) es: f (n ) (a) ∞ f ( x) = ∑ ( x − a) n n! i =0 donde n! representa el factorial del número n y f(n) (a) representa la n-ésima derivada de f en el punto a. El desarrollo de Taylor para el coseno, tomando a = 0, sería: (−1) n ∞ cos x = ∑ ( x) 2 n , para cualquier x. n = 0 ( 2n)! Dado que se trata de una serie infinita, tendremos que aproximarla por la suma de un cierto número de términos, k, es decir (−1) n k cos x ≈ ∑ ( x) 2 n (2n)! n =0 Se desea diseñar una función recursiva completamente verificada que calcule la aproximación de orden k al valor del coseno en un punto x dado mediante la fórmula de Taylor. Por ejemplo, la aproximación de orden 3 al coseno de (π/4) sería: 2n ⎛ π ⎞ 3 (−1) ⎛ π ⎞ n cos⎜ ⎟ ≈ ∑ ⎜⎟ ⎝ 4 ⎠ n =0 (2n)! ⎝ 4 ⎠

Slide 3: http://tecnoacademy.blogspot.com o, lo que es lo mismo, ⎛ π ⎞ ⎛ (−1) ⎛ π ⎞ ⎞ ⎛ (−1)1 ⎛ π ⎞ 2 x1 ⎞ ⎛ (−1) 2 ⎛ π ⎞ 2 x 2 ⎞ ⎛ (−1) 3 ⎛ π ⎞ 2 x 3 ⎞ 2 x0 0 cos⎜ ⎟ ≈ ⎜ ⎟+⎜ ⎟+⎜ ⎟+⎜ ⎟ ⎜⎟ ⎟ ⎜ (2 x1)! ⎜ 4 ⎟ ⎟ ⎜ (2 x 2)! ⎜ 4 ⎟ ⎟ ⎜ (2 x3)! ⎜ 4 ⎟ ⎟ ⎝ 4 ⎠ ⎜ (2 x0)! ⎝ 4 ⎠ ⎝⎠⎠⎝ ⎝⎠ ⎠⎝ ⎝⎠⎠ ⎝ ⎠⎝ El diseño de la función que constituye la parte teórica de la práctica debe ser genérico, es decir, debe tratar todos los factores (por ejemplo, el punto en que se calcula el coseno o la bondad de la aproximación, es decir, el número de términos de la serie que lo aproxima, entre otros) como parámetros, sin importar como se instancien para resolver el problema (lo que hará en la implementación de la práctica) Tarea 1: Diseño y Análisis teórico 3. Especificación 3.1. Consideraciones sobre la especificación Para la construcción de la especificación del problema han de tenerse en cuenta los siguientes aspectos: • El primer paso debe ser declarar la función, esto es, darle un nombre y declarar los parámetros que recibe y el resultado que devuelve, nombrándolos y decidiendo a que tipos de datos pertenecen. En nuestro caso, la signatura o perfil de la función será el siguiente (nótese que el nombre de la función esta en cursiva y los tipos predefinidos en negrita) fun cosk: real x nat real • La postcondición expresa el resultado que se desea alcanzar, por lo que este será el siguiente caso. Se trata de expresarla de forma precisa. • La precondición define el conjunto de datos de entrada que se consideran validos para la función.

Slide 4: http://tecnoacademy.blogspot.com • Téngase en cuenta, al expresar la postcondición, todos los casos posibles, con especial atención a los rangos vacíos (si se usan cuantificadores) y a los casos extremos, ya que la sintaxis, usada imprecisamente, puede dar lugar a equívocos y a definiciones incorrectas. Recuérdese que la postcondición debe expresar la relación que debe existir entre las variables de salida y las de entrada. • Una vez decidida la postcondición, la precondición debe restringir los casos potencialmente erróneos, limitando el dominio de aplicación de los datos de entrada. • En muchos casos, debido a la naturaleza del problema (en otros, se trata tan solo de conveniencia o sencillez) la función que debemos diseñar no nos permite realizar directamente un diseño recursivo, por lo cual deberemos especificar otra función que sí nos lo permita (es importante convencerse de este hecho que puede presentarse en multitud de ocasiones. ¿es éste el caso?).

Slide 5: http://tecnoacademy.blogspot.com

Slide 6: http://tecnoacademy.blogspot.com

Slide 7: http://tecnoacademy.blogspot.com

Slide 8: http://tecnoacademy.blogspot.com

Slide 9: http://tecnoacademy.blogspot.com

Slide 10: http://tecnoacademy.blogspot.com

Slide 11: http://tecnoacademy.blogspot.com

Slide 12: http://tecnoacademy.blogspot.com

Slide 13: http://tecnoacademy.blogspot.com

Slide 14: http://tecnoacademy.blogspot.com