Your SlideShare is downloading. ×
0
Práctica de
 programación II
     U.N.E.D
     CURSO 2003-2004

     RESOLUCIÓN DEL
DISEÑO Y ANÁLISIS TEÓRICO


          ...
http://tecnoacademy.blogspot.com




2. Enunciado de la práctica

Calculo aproximado del Coseno de un Número:

El coseno d...
http://tecnoacademy.blogspot.com




o, lo que es lo mismo,

           ⎛ π ⎞ ⎛ (−1) ⎛ π ⎞             ⎞ ⎛ (−1)1 ⎛ π ⎞ 2 x...
http://tecnoacademy.blogspot.com




•   Téngase en cuenta, al expresar la postcondición, todos los casos posibles, con es...
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
http://tecnoacademy.blogspot.com
Upcoming SlideShare
Loading in...5
×

Practica Programacion Ii 2003 2004

4,327

Published on

Práctica de Programación II de la UNED del curso 2003-2004. Resolución del análisis y diseño teórico. Incluye una inmersión de eficiencia

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,327
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
184
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Practica Programacion Ii 2003 2004"

  1. 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
  2. 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 ⎠
  3. 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.
  4. 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?).
  5. 5. http://tecnoacademy.blogspot.com
  6. 6. http://tecnoacademy.blogspot.com
  7. 7. http://tecnoacademy.blogspot.com
  8. 8. http://tecnoacademy.blogspot.com
  9. 9. http://tecnoacademy.blogspot.com
  10. 10. http://tecnoacademy.blogspot.com
  11. 11. http://tecnoacademy.blogspot.com
  12. 12. http://tecnoacademy.blogspot.com
  13. 13. http://tecnoacademy.blogspot.com
  14. 14. http://tecnoacademy.blogspot.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×