ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Codigo fuente CLIP - Inteligencia Artificial


Enviado por   •  18 de Septiembre de 2020  •  Informes  •  974 Palabras (4 Páginas)  •  219 Visitas

Página 1 de 4

  1. A continuación se mostrará el código fuente en  Clips para determinar la cantidad de día, meses y años trascurridos entre una fecha inicial y final. Para esto se realizó el siguiente análisis:

Primero se calcula la diferencia entre días, meses y años de las dos fechas. Luego se analizan las diferencias en caso de que la diferencia sea negativa se realizará un ajuste, el cual dependerá de a que pertenece la diferencia. En caso la diferencia fuese de días a la diferencia negativa de días se le agrega 28, 29, 30 o 31 (dependiendo del mes inicial) dias y se le resta 1 mes a la diferencia de meses, y en caso la diferencia fuese de meses a la diferencia negativa de meses se le agrega 12 y se le resta 1 a la diferencia de años. Después de todos estos arreglos si exite alguna diferencia negativa esta deberá a que la fecha inicial es mayor que la final, la cual será informada a través de un mensaje en caso contrario se mostrará la diferencia en años, meses y días de las 2 fechas.

  1. Código Clips

;;;======================================================

;;;   Programa que permite calcular

;;;    

;;;     Los días transcurridos

;;;     dados una fecha inicial

;;;     y una fecha final

;;;

;;;======================================================

;;;****************

;;;* DEFFUNCTIONS *

;;;****************

(deffunction MAIN::bisiesto (?e)

 

  (if (or (= (mod ?e 4) 0) (= (- ?e 2000) 0) (= (- ?e 1900) 0))

   then

    TRUE

   else

    FALSE

  )

)

(deffunction MAIN::calculo (?a ?b ?c ?d ?e ?f)

   (bind ?difer-dia (- ?a ?b))

   (bind ?difer-mes (- ?c ?d))

   (bind ?difer-año (- ?e ?f))

   (if (>= ?difer-año 0)

    then

     (if (< ?difer-mes 0)

      then

        (bind ?difer-mes (+ ?difer-mes 12))

        (bind ?difer-año (- ?difer-año 1))

     )  

     

     (if (< ?difer-dia 0)

      then

        (if(and (= ?d 2) (bisiesto ?f))

         then

           (bind ?difer-dia (+ ?difer-dia 29))    

           (bind ?difer-mes (- ?difer-mes 1))

         else

           (if (and (= ?d 2) (not (bisiesto ?f)))

            then

              (bind ?difer-dia (+ ?difer-dia 28))    

              (bind ?difer-mes (- ?difer-mes 1))

            else

              (bind ?difer-dia (+ ?difer-dia 31))

              (bind ?difer-mes (- ?difer-mes 1))

           )            

        )  

     )

   )

   (if(and (< ?difer-dia 0) (< ?difer-mes 0) (< ?difer-año 0))

    then

      (printout t "la fecha final debe ser mayor a la inicial" crlf)

    else

      (printout t "El tiempo transcurrido es: " (abs (- ?difer-dia 0)) " dias " (abs (- ?difer-mes 0)) " meses " ?difer-año " años " crlf)  

   )

)

...

Descargar como (para miembros actualizados)  txt (4.7 Kb)   pdf (109.7 Kb)   docx (29 Kb)  
Leer 3 páginas más »
Disponible sólo en Clubensayos.com