algebraica_dia_semana
espec DiaSemana
usa Booleano;
dominios DiaSemana;
operaciones
// Operaciones Generadoras
Lunes : -> DiaSemana
Martes : -> DiaSemana
Miercoles: -> DiaSemana
Jueves : -> DiaSemana
Viernes : -> DiaSemana
Sabado : -> DiaSemana
Domingo : -> DiaSemana
// Operaciones Observadoras
esHabil : DiaSemana -> Booleano
// Operaciones de manipulación del tipo
siguiente : DiaSemana -> DiaSemana;
anterior : DiaSemana -> DiaSemana;
ecuaciones
siguiente(Lunes) = Martes
siguiente(Martes) = Miercoles
siguiente(Miercoles) = Jueves
siguiente(Jueves) = Viernes
siguiente(Viernes) = Sabado
siguiente(Sabado) = Domingo
siguiente(Domingo) = Lunes
anterior(Lunes) = Domingo
anterior(Martes) = Lunes
anterior(Miercoles) = Martes
anterior(Jueves) = Miercoles
anterior(Viernes) = Jueves
anterior(Sabado) = Viernes
anterior(Domingo) = Sabado
esHabil(Lunes) = TRUE
esHabil(Martes) = TRUE
esHabil(Miercoles) = TRUE
esHabil(Jueves) = TRUE
esHabil(Viernes) = TRUE
esHabil(Sabado) = FALSE
esHabil(Domingo) = FALSE
fspec