-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path01b-tda.pl
More file actions
36 lines (26 loc) · 726 Bytes
/
01b-tda.pl
File metadata and controls
36 lines (26 loc) · 726 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
% TDA Fecha
% Formato: YYYY-MM-DD
% Predicado TDA fecha
fecha(YYYY, MM, DD, [YYYY, MM, DD]):-
integer(YYYY), integer(MM), integer(DD),
DD >= 1, DD =< 31, MM >= 1, MM =< 12, YYYY >= 0.
% Sin verificaciones
fecha(YYYY, MM, DD, [YYYY, MM, DD]).
% Como constructor
% fecha(2021, 6, 21, F).
% fecha(2021, 2, 32, F).
% Como pertenencia
% fecha(_, _, _, [2021, 6, 21]).
% fecha(_, _, _, "Hola mundo!").
% Como selector
% fecha(Y, _, _, [2021, 6, 21]).
% fecha(_, M, D, [2021, 6, 21]).
% Como modificador
% fecha(2020, 6, 21, F2).
% Consulta:
% fecha(2020, 6, 21, F1), modificarAnio(F1, 1990, F2).
% F1 = [2020, 6, 21],
% F2 = [1990, 6, 21]
modificarAnio(F1, Y, F2):-
fecha(_, M, D, F1),
fecha(Y, M, D, F2).