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.

216 Capítulo 10. Introducción a la recursión<br />

10.3 Otros ejemplos recursivos<br />

10.3.1 La sucesión de Fibonacci<br />

Un cálculo con definición recursiva es el de la sucesión de números de Fibonacci:<br />

3 1, 1, 2, 3, 5, 8, 13, 21, 34, . . . (véase el ejercicio 6). Si llamamos<br />

fib n al término <strong>en</strong>ésimo de la secu<strong>en</strong>cia de Fibonacci, la secu<strong>en</strong>cia vi<strong>en</strong>e descrita<br />

recurr<strong>en</strong>tem<strong>en</strong>te así:<br />

fib 0 = 1<br />

fib 1 = 1<br />

fib n = fib n−2 + fib n−1, si n ≥ 2<br />

La correspondi<strong>en</strong>te función <strong>en</strong> <strong>Pascal</strong> es una transcripción trivial de esta<br />

definición:<br />

function Fib(num: integer): integer;<br />

{PreC.: num ≥ 0}<br />

{Dev. fibnum}<br />

begin<br />

if (num = 0) or (num = 1) th<strong>en</strong><br />

Fib:= 1<br />

else<br />

Fib:= Fib(num - 1) + Fib(num - 2)<br />

<strong>en</strong>d; {Fib}<br />

Los casos base son los números0y1, y los recurr<strong>en</strong>tes los naturales sigui<strong>en</strong>tes:<br />

2, 3, . . .<br />

10.3.2 Torres de Hanoi<br />

En la exposición mundial de París de 1883 el matemático francés E. Lucas<br />

pres<strong>en</strong>tó un juego llamado Torres de Hanoi, 4 que ti<strong>en</strong>e una solución recursiva<br />

relativam<strong>en</strong>te s<strong>en</strong>cilla y que suele exponerse como ejemplo de la pot<strong>en</strong>cia de la<br />

recursión para resolver ciertos problemas cuya solución es más compleja <strong>en</strong> forma<br />

iterativa.<br />

3Descubierta por Leonardo da Pisa (1180-1250) y publicada <strong>en</strong> su Liber Abaci <strong>en</strong> 1202.<br />

4Según reza la ley<strong>en</strong>da, <strong>en</strong> la ciudad de Hanoi, a orillas del río Rojo, descansa una bandeja de<br />

cobre con tres agujas verticales de diamante. Al terminar la creación, Dios <strong>en</strong>sartó <strong>en</strong> la primera<br />

de ellas ses<strong>en</strong>ta y cuatro discos de oro puro de tamaños decreci<strong>en</strong>tes. Ésta es la torre de Brahma.<br />

Desde <strong>en</strong>tonces, los monjes empeñan su sabiduría <strong>en</strong> trasladar la torre hasta la tercera aguja,<br />

movi<strong>en</strong>do los discos de uno <strong>en</strong> uno y con la condición de que ninguno de ellos se apoye <strong>en</strong> otro de<br />

m<strong>en</strong>or tamaño. La ley<strong>en</strong>da afirma que el término de esta tarea coincidirá con el fin del mundo,<br />

aunque no parece que, por el mom<strong>en</strong>to, estén cerca de lograrlo.

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

Saved successfully!

Ooh no, something went wrong!