La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Luis Miguel Li Loo Luis Miguel Burgos Jorge Luis Ocampo.

Presentaciones similares


Presentación del tema: "Luis Miguel Li Loo Luis Miguel Burgos Jorge Luis Ocampo."— Transcripción de la presentación:

1 Luis Miguel Li Loo Luis Miguel Burgos Jorge Luis Ocampo

2 Permite declarar variables globales. Sintaxis: (defglobal ?* * = ) Ejemplo: (defglobal ?*x* = 5) (defglobal ?*y* = Hola)

3 Ejemplo trivial: Defina 3 variables globales. Que la primera tenga un valor de 5, la segunda valga la suma de 3 más el valor de la primera y que la ultima tenga el valor de las 2 primeras variables multiplicadas.

4 Solución:

5 Asignando un valor a variables globales: Función bind (Sintaxis): (bind ?* * ) (bind ?*x* (+ 5 3) ) Redefinirla con defglobal.

6 Función Reset: Haciendo uso de (reset) las variables globales vuelven a su valor asignado originalmente. A su vez, las variables locales son eliminadas al hacer uso del (reset). Sintaxis: (reset)

7 Ejemplo Trivial: Cree 2 variables globales con valores distintos. Modifique el valor de cada una. Súmelas, aplique (reset) y súmelas de nuevo. ¿Serán distintos los resultados?

8 Ejemplo de solución: 259

9 Función undefglobal: Elimina la variable global indicada. Sintaxis: (undefglobal ) Ejemplo: (defglobal ?*a* 5) (undefglobal a)

10 Definiendo un arreglo global (multifield): Sintaxis: (defglobal ?* * = (create$ …. )) Ejemplo:

11 Excepciones de uso: No se puede poner una variable global como parámetro de una función

12 Excepciones de uso: No se puede usar exactamente de la misma manera que una variable local en el LHS de un defrule. No activan el pattern-matching en una regla. Ejemplos: (defrule example (fact ?*x*) =>) (defrule example (fact ?y&:(> ?y ?*x*)) =>)

13 Permite crear funciones. Sintaxis: (deffunction ( ) ( ) Ejemplo: (deffunction MiFuncion () (printout t No hago nada crlf ))

14 Ejemplo MUY trivial: Realice una función que dado 2 números, imprima la suma y la resta.

15 Solución:

16 Ejemplo relativamente trivial: Crear los siguientes templates: Vaso Fabricante - STRING Antigüedad - INTEGER Plato Material – STRING Diametro – INTEGER Realizar una función que reciba un string y un integer que, dependiendo del valor de la variable global ?*var* (1 ó 2), inserte un hecho con un template distinto. (Si es 1, inserta un vaso, por ejemplo)

17 Solución Declaramos la variable global y los templates Creamos la función

18 Leer datos de consola: (read) Sintaxis: (bind ? (read)) Ejemplo: (bind ?x (read))

19 Función While: Sintaxis: (while ( ) ( )) Ejemplo: (bind ?a 1) (while (not ( = ?a 5 )) (printout t ?a crlf) (bind ?a (+ ?a 1))

20 Función Random: Sintaxis: (random ) Ejemplo: (random 1 5)

21 Ejemplo: Crear una función que lea 2 números, halle un número aleatorio entre ellos e imprima los divisores del mismo.

22 Solución Lectura de datos Divisores

23 Funciones para variables Multicampo: Nth$ Provee la posición de un elemento dentro de una colección. Sintaxis: (nth$ ) Member$ Informa si un elemento se encuentra dentro de una colección. Sintaxis: (member$ )

24


Descargar ppt "Luis Miguel Li Loo Luis Miguel Burgos Jorge Luis Ocampo."

Presentaciones similares


Anuncios Google