SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
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
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 ⎠
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.
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?).
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

Más contenido relacionado

La actualidad más candente

Derivadas en una sola variable
Derivadas en una sola variableDerivadas en una sola variable
Derivadas en una sola variablesebalema_27
 
Calculo de derivadas
Calculo de derivadasCalculo de derivadas
Calculo de derivadasJOSE
 
Ejercicio resuelto de ecuaciones homogéneas
Ejercicio resuelto de ecuaciones homogéneasEjercicio resuelto de ecuaciones homogéneas
Ejercicio resuelto de ecuaciones homogéneasJuan B
 
Ejercicios resueltos de derivadas
Ejercicios resueltos de derivadasEjercicios resueltos de derivadas
Ejercicios resueltos de derivadasBeatrizBarrera
 
Tutorial de ecuaciones diferenciales
Tutorial de ecuaciones diferencialesTutorial de ecuaciones diferenciales
Tutorial de ecuaciones diferencialesvictorjlu
 
Derivada
DerivadaDerivada
Derivadauneve
 
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulliEcuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernullige0ser
 
Folleto de Calculo diferencial e integral
Folleto de Calculo diferencial e integralFolleto de Calculo diferencial e integral
Folleto de Calculo diferencial e integralvane sanchez
 
Ecuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesEcuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesRonny Malpica
 
DERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIORDERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIOREthel Sullcaray
 
Regla de la cadena para la anti-derivada.
Regla de la cadena para la anti-derivada.Regla de la cadena para la anti-derivada.
Regla de la cadena para la anti-derivada.Rosa Puga
 
Metodo Simplex
Metodo SimplexMetodo Simplex
Metodo SimplexIsabel
 

La actualidad más candente (20)

Reglas de derivación
Reglas de derivaciónReglas de derivación
Reglas de derivación
 
Calculo NIVELACION
Calculo NIVELACIONCalculo NIVELACION
Calculo NIVELACION
 
Derivadas en una sola variable
Derivadas en una sola variableDerivadas en una sola variable
Derivadas en una sola variable
 
Calculo de derivadas
Calculo de derivadasCalculo de derivadas
Calculo de derivadas
 
Ejercicio resuelto de ecuaciones homogéneas
Ejercicio resuelto de ecuaciones homogéneasEjercicio resuelto de ecuaciones homogéneas
Ejercicio resuelto de ecuaciones homogéneas
 
Ejercicios resueltos de derivadas
Ejercicios resueltos de derivadasEjercicios resueltos de derivadas
Ejercicios resueltos de derivadas
 
Tutorial de ecuaciones diferenciales
Tutorial de ecuaciones diferencialesTutorial de ecuaciones diferenciales
Tutorial de ecuaciones diferenciales
 
ecuaciones diferenciales
ecuaciones diferencialesecuaciones diferenciales
ecuaciones diferenciales
 
Matlab2009b -clase2
Matlab2009b  -clase2Matlab2009b  -clase2
Matlab2009b -clase2
 
Derivadas
DerivadasDerivadas
Derivadas
 
Derivada
DerivadaDerivada
Derivada
 
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulliEcuaciones diferenciales exactas, factor integral, lineales y de dernulli
Ecuaciones diferenciales exactas, factor integral, lineales y de dernulli
 
Derivadas
DerivadasDerivadas
Derivadas
 
Folleto de Calculo diferencial e integral
Folleto de Calculo diferencial e integralFolleto de Calculo diferencial e integral
Folleto de Calculo diferencial e integral
 
Funcion
FuncionFuncion
Funcion
 
Ecuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no linealesEcuaciones y sist de ecuaciones no lineales
Ecuaciones y sist de ecuaciones no lineales
 
Funciónes
FunciónesFunciónes
Funciónes
 
DERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIORDERIVADAS PARCIALES DE ORDEN SUPERIOR
DERIVADAS PARCIALES DE ORDEN SUPERIOR
 
Regla de la cadena para la anti-derivada.
Regla de la cadena para la anti-derivada.Regla de la cadena para la anti-derivada.
Regla de la cadena para la anti-derivada.
 
Metodo Simplex
Metodo SimplexMetodo Simplex
Metodo Simplex
 

Similar a Practica Programacion Ii 2003 2004

Calculo Concavidad
Calculo ConcavidadCalculo Concavidad
Calculo ConcavidadElba Garcia
 
Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Velmuz Buzz
 
función cuádratica
función cuádraticafunción cuádratica
función cuádraticarosanapicchi
 
Varios problemas de cálculo numérico (teoría del MEF-FEM)
Varios problemas de cálculo numérico (teoría del MEF-FEM)Varios problemas de cálculo numérico (teoría del MEF-FEM)
Varios problemas de cálculo numérico (teoría del MEF-FEM)José Manuel Gómez Vega
 
Expresiones algebraicas, Producto Notable
Expresiones algebraicas, Producto NotableExpresiones algebraicas, Producto Notable
Expresiones algebraicas, Producto NotableMaryRivero8
 
MAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdf
MAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdfMAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdf
MAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdfDeyliJaraCuba
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Velmuz Buzz
 
Algebra Enero2007 Primer Parcial
Algebra Enero2007 Primer ParcialAlgebra Enero2007 Primer Parcial
Algebra Enero2007 Primer ParcialDiAmOnDirc
 
Varias variables.pdf
Varias variables.pdfVarias variables.pdf
Varias variables.pdfJhenryHuisa1
 
S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...
S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...
S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...JazminValcarcel1
 
Activity 2 2 algebraic geo interpretation of derivative
Activity 2 2 algebraic geo interpretation of derivativeActivity 2 2 algebraic geo interpretation of derivative
Activity 2 2 algebraic geo interpretation of derivativeEdgar Mata
 
TECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑALTECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑALcarlo29051
 
Clase 11 MDJ
Clase 11 MDJClase 11 MDJ
Clase 11 MDJTensor
 

Similar a Practica Programacion Ii 2003 2004 (20)

Calculo Concavidad
Calculo ConcavidadCalculo Concavidad
Calculo Concavidad
 
Fundamentos Divide Y Venceras
Fundamentos Divide Y VencerasFundamentos Divide Y Venceras
Fundamentos Divide Y Venceras
 
Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1
 
función cuádratica
función cuádraticafunción cuádratica
función cuádratica
 
D. producto punto
D. producto puntoD. producto punto
D. producto punto
 
Varios problemas de cálculo numérico (teoría del MEF-FEM)
Varios problemas de cálculo numérico (teoría del MEF-FEM)Varios problemas de cálculo numérico (teoría del MEF-FEM)
Varios problemas de cálculo numérico (teoría del MEF-FEM)
 
2 eficiencia
2 eficiencia2 eficiencia
2 eficiencia
 
Ejercicios Maple
Ejercicios MapleEjercicios Maple
Ejercicios Maple
 
Ejercicios Maple
Ejercicios MapleEjercicios Maple
Ejercicios Maple
 
Expresiones algebraicas, Producto Notable
Expresiones algebraicas, Producto NotableExpresiones algebraicas, Producto Notable
Expresiones algebraicas, Producto Notable
 
MAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdf
MAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdfMAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdf
MAXIMOS Y MINIMOS DE UNA FUNCIÓN.pdf
 
DERIVADA INTRODUCCION (1).pptx
DERIVADA INTRODUCCION (1).pptxDERIVADA INTRODUCCION (1).pptx
DERIVADA INTRODUCCION (1).pptx
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2
 
Series1resueltas
Series1resueltasSeries1resueltas
Series1resueltas
 
Algebra Enero2007 Primer Parcial
Algebra Enero2007 Primer ParcialAlgebra Enero2007 Primer Parcial
Algebra Enero2007 Primer Parcial
 
Varias variables.pdf
Varias variables.pdfVarias variables.pdf
Varias variables.pdf
 
S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...
S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...
S1 - Funciones reales de varias variables reales_ Plano tangente_ Recta norma...
 
Activity 2 2 algebraic geo interpretation of derivative
Activity 2 2 algebraic geo interpretation of derivativeActivity 2 2 algebraic geo interpretation of derivative
Activity 2 2 algebraic geo interpretation of derivative
 
TECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑALTECNOLOGÍA SEÑAL
TECNOLOGÍA SEÑAL
 
Clase 11 MDJ
Clase 11 MDJClase 11 MDJ
Clase 11 MDJ
 

Más de Salvador Fernández Fernández

Ejemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónEjemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónSalvador Fernández Fernández
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John DaniSalvador Fernández Fernández
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John DaniSalvador Fernández Fernández
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNSalvador Fernández Fernández
 

Más de Salvador Fernández Fernández (20)

Servicio web soap en java con net beans
Servicio web soap en java con net beansServicio web soap en java con net beans
Servicio web soap en java con net beans
 
Web services
Web servicesWeb services
Web services
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Práctica nominas
Práctica nominasPráctica nominas
Práctica nominas
 
Ejemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra funciónEjemplo de paso de funciones como parámetros a otra función
Ejemplo de paso de funciones como parámetros a otra función
 
Ejemplo usopunteros
Ejemplo usopunterosEjemplo usopunteros
Ejemplo usopunteros
 
Solucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectoresSolucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectores
 
Ejercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectoresEjercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectores
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Introducción a Enterprise Java Beans
Introducción a Enterprise Java BeansIntroducción a Enterprise Java Beans
Introducción a Enterprise Java Beans
 
Colorear fotografias en blanco y negro
Colorear fotografias en blanco y negroColorear fotografias en blanco y negro
Colorear fotografias en blanco y negro
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
 
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
10 mentiras con las que siempre engañan a los diseñadores gráficos por John Dani
 
Wallpaper natural
Wallpaper naturalWallpaper natural
Wallpaper natural
 
SQL
SQLSQL
SQL
 
Cableado Estructurado de Red
Cableado Estructurado de RedCableado Estructurado de Red
Cableado Estructurado de Red
 
Redes De Computadores UOC
Redes De Computadores UOCRedes De Computadores UOC
Redes De Computadores UOC
 
Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióNVarios Algoritmos Voraces De DecisióN Y OptimizacióN
Varios Algoritmos Voraces De DecisióN Y OptimizacióN
 

Practica Programacion Ii 2003 2004

  • 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. 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. 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. 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?).