Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porYessenia Guerro Modificado hace 10 años
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$ )
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.