"40factorialyfibonacci_1.gif"
por José Luis Gómez Muñoz       
http://www.globalcomputing.com.mx/

Definiendo la función factorial con el comando For

A continuación tenemos la definición de un pequeño programa que calcula el factorial de un número n. Recuerda que Mathematica es muy exigente con la sintaxis: tienes que copiar EXACTAMENTE los símbolos. Por ejemplo, no puedes utilizar coma en lugar de punto y coma, etcétera.
Mathematica no reportará ningún resultado después de oprimir [SHIFT]-[ENTER] sobre el siguiente comando, pero la definición de fact1 quedará guardada en memoria, lista para ser utilizada:

"40factorialyfibonacci_2.gif"

Ahora podemos utilizar la función que se definió arriba:

"40factorialyfibonacci_3.gif"

"40factorialyfibonacci_4.gif"

"40factorialyfibonacci_5.gif"

"40factorialyfibonacci_6.gif"

Podemos consultar las definiciones asignadas a fact1:

"40factorialyfibonacci_7.gif"

Global`fact1

fact1[n_]:=Module[{valor=1},For[j=1,j≤n,j++,valor=j valor];valor]

Definiendo la función factorial en forma recursiva

Aquí tenemos otra forma de definir una función que calcula un factorial. Observa que la función se llama a sí misma en la tercera definición (recursividad).
Mathematica no reportará ningún resultado después de oprimir [SHIFT]-[ENTER] sobre el siguiente comando, pero la definición de fact2 quedará guardada en memoria, lista para ser utilizada:

"40factorialyfibonacci_8.gif"

Ahora podemos utilizar la función que se definió arriba:

"40factorialyfibonacci_9.gif"

"40factorialyfibonacci_10.gif"

"40factorialyfibonacci_11.gif"

"40factorialyfibonacci_12.gif"

Primer ejercicio

Usa el ciclo For para construir una función, fibo1[n], que calcule el enésimo número de Fibonacci. Los números de Fibonacci son:
1,1,2,3,5,8,13,21...
Como puedes ver, cada número se obtiene sumando los dos anteriores.

Segundo ejercicio

Usa programación recursiva para construir una función, fibo2[n], que calcule el enésimo número de Fibonacci. Los números de Fibonacci son:
1,1,2,3,5,8,13,21...
Como puedes ver, cada número se obtiene sumando los dos anteriores.

Tercer ejercicio

¿Cuáles fueron las ventajas de usar un ciclo For para definir una función que calcule el enésimo número de Fibonacci?
¿Cuáles fueron las ventajas de usar programación recursiva para definir una función que calcule el enésimo número de Fibonacci?

"40factorialyfibonacci_13.gif"
Autor: José Luis Gómez Muñoz

     Global Computing S. A. de C. V.
Florencia 57 Piso 10-01
Col. Juárez C.P. 06600
México D.F.
México
+52-(0)55-5525-2215
Fax: +52-(0)55-5514-4225

Adriana Vadillo avadillo@mx.inter.net

Hector Vadillo  hector.vadillo@prodigy.net.mx

http://www.globalcomputing.com.mx/

Spikey Created with Wolfram Mathematica 6