Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 4. Recursividad - Curso 2022-2023
Tema 4. Recursividad - Curso 2022-2023
Tema 4:
Recursividad
UNIVERSIDAD DE VALLADOLID
1. Recursividad (I)
La recursividad es un concepto fundamental en
computación.
Necesitamos recursividad en Prolog cuando se debe
repetir un procedimiento conocido y no sabemos
cuántas veces, solo sabemos cuándo hemos llegado
al final.
1. Recursividad (II)
Cómo se construye:
Necesitamos al menos 2 sentencias o
cláusulas (podría haber más):
Primera sentencia: Un hecho o una regla (caso
base de la recursividad. Nos permite parar. Podría
haber más de un caso base). Es una solución
simple para un caso particular.
padre Y1
padre
Y1
Y2 pred
padre pred
padre
Y2
Y3
padre
padre
Z
Z
Una persona es predecesora de otra si
es bisabuela de ella
Una persona es predecesora de otra si es
pred(X,Z):-padre(X,Y1), padre(Y1,Y2), padre(Y2,Z).
tatarabuela de ella
pred(X,Z):-padre(X,Y1), padre(Y1,Y2),padre(Y2,Y3),padre(Y3,Z).
1. Recursividad (VII)
Y así podríamos seguir indefinidamente. Eso no sería una
buena programación. Para mejorarlo usamos recursividad
ya que queremos saber si una persona es predecesora
de otra y no sabemos cuántas generaciones intermedias
hay.
1. Recursividad (VIII) X
padre
1ª SENTENCIA
pred
X pred
pred
padre
Z …