/**********************************************************/ /* */ /* Universidad de Alicante */ /* */ /* LOGICA DE PRIMER ORDEN */ /* Prolog */ /* */ /* */ /* S.O. : MS-DOS (Windows) */ /* Interprete : SWI-Prolog */ /* Fichero : EJ02.PL */ /* */ /**********************************************************/ /*-- SINTAXIS: Operadores --*/ /* horoscopo(Signo,DiaIni,MesIni,DiaFin,MesFin) <- pertenecen al signo del horoscopo Signo los nacidos entre el DiaIni del MesIni y el DiaFin del MesFin */ horoscopo(aries,21,3,21,4). horoscopo(tauro,21,4,21,5). horoscopo(geminis,21,5,21,6). horoscopo(cancer,21,6,21,7). horoscopo(leo,21,7,21,8). horoscopo(virgo,21,8,21,9). horoscopo(libra,21,9,21,10). horoscopo(escorpio,21,10,21,11). horoscopo(sagitario,21,11,21,12). horoscopo(capricornio,21,12,21,1). horoscopo(acuario,21,1,21,2). horoscopo(piscis,21,2,21,3). /* signo(Dia,Mes,Signo) <- los nacidos el Dia de Mes pertenecen al signo del zodiaco Signo */ signo(Dia,Mes,Signo) :- horoscopo(Signo,D1,M1,D2,M2), ( (Mes=M1,Dia>=D1) ; (Mes=M2,Dia=<D2) ). /* PREGUNTAS : ?- signo(8,5,tauro). ?- signo(7,8,acuario). ?- signo(7,8,Signo). ?- signo(7,X,Signo). ?- signo(X,7,Signo). EJERCICIOS: no podemos poner el 30 de febrero. Notas: - No compliques la regla "signo" con condiciones complejas, si no para esta regla o para otro programa. */