Skip to content

Instantly share code, notes, and snippets.

@jorarmarfin
Created July 18, 2024 22:08
Show Gist options
  • Save jorarmarfin/2d63b5051f7c00dcf1ff3247573bffd5 to your computer and use it in GitHub Desktop.
Save jorarmarfin/2d63b5051f7c00dcf1ff3247573bffd5 to your computer and use it in GitHub Desktop.
Base meses en prolog
% Definición de los meses del año
esMes(1, enero).
esMes(2, febrero).
esMes(3, marzo).
esMes(4, abril).
esMes(5, mayo).
esMes(6, junio).
esMes(7, julio).
esMes(8, agosto).
esMes(9, septiembre).
esMes(10, octubre).
esMes(11, noviembre).
esMes(12, diciembre).
% Reglas para determinar el trimestre
trimestre(Mes, primero) :- esMes(_, Mes), member(Mes, [enero, febrero, marzo]).
trimestre(Mes, segundo) :- esMes(_, Mes), member(Mes, [abril, mayo, junio]).
trimestre(Mes, tercero) :- esMes(_, Mes), member(Mes, [julio, agosto, septiembre]).
trimestre(Mes, cuarto) :- esMes(_, Mes), member(Mes, [octubre, noviembre, diciembre]).
% Definición de los meses del año en orden
mes_siguiente(enero, febrero).
mes_siguiente(febrero, marzo).
mes_siguiente(marzo, abril).
mes_siguiente(abril, mayo).
mes_siguiente(mayo, junio).
mes_siguiente(junio, julio).
mes_siguiente(julio, agosto).
mes_siguiente(agosto, septiembre).
mes_siguiente(septiembre, octubre).
mes_siguiente(octubre, noviembre).
mes_siguiente(noviembre, diciembre).
mes_siguiente(diciembre, enero). % Para cerrar el ciclo y hacer que el siguiente de diciembre sea enero
% Regla para determinar el mes siguiente
siguiente(MesActual, MesSiguiente) :- mes_siguiente(MesActual, MesSiguiente).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment