CLIPS v6.1 Resumen. Universidad Carlos III de Madrid Departamento de Informática docweb/

Tamaño: px
Comenzar la demostración a partir de la página:

Download "CLIPS v6.1 Resumen. Universidad Carlos III de Madrid Departamento de Informática docweb/"

Transcripción

1 1 CLIPS v6.1 Resumen Raquel Fuentetaja Pizán Susana Fernández Arregui Universidad Carlos III de Madrid Departamento de Informática docweb/

2 2 1. Introducción 2. Hechos 3. Reglas 4. Funciones 5. Marcos CLIPS v6.1 Resumen

3 Introducción Clips 3 CLIPS: C Language Integrated Production System Programado en C Comunicación con otros lenguajes: C y Ada Similitudes con LISP y C Desarrollado por Software Technology Branch (STB) NASA desde 1986 Combina elementos de los paradigmas de lenguajes declarativos, funcionales y orientados a objetos

4 Introducción Intérprete de comandos 4 $ clips $ clips -f nombrefichero, nombrefichero fichero con comandos CLIPS Recomendación: Utilizar emacs o xemacs, hacer dos buffers en uno tener el fichero.clp y en el otro abrir un shell con clips Cuando aparece el prompt CLIP S > introducir comandos para evaluar Distingue entre mayúsculas y minúsculas Clips tiene muchos comandos implementados: (load nombrefichero), (reset), (run), (clear)...

5 Introducción Expresiones 5 La sintaxis de las expresiones es prefija Una expresión es una serie de campos delimitados por paréntesis Ejemplo: (+ 1 (* 2 3)) En modo interactivo CLIPS evalúa las expresiones: CLIP S > (+ 1 2 (* 3 4 )) 15 CLIP S > Algunas funciones y operadores matemáticos disponibles: + - / * mod div sqrt round integer

6 Introducción Tipos de datos 6 NUMBER - INTEGER - FLOAT STRING. Ejemplo: Esto es un string - Para incluir comillas en una cadena hay que usar \ - Para incluir \ en una cadena hay que usar \\ SYMBOL. Ejemplo: luis, luis-gil, EXTERNAL-ADDRESS FACT-ADDRESS INSTANCE-NAME INSTANCE-ADDRESS

7 7 1. Introducción 2. Hechos 3. Reglas 4. Funciones 5. Marcos CLIPS v6.1 Resumen

8 Hechos Facts 8 Elementos básicos de conocimiento Pueden tener un campo o varios. El primer campo suele representar una relación entre los restantes: (hola) (alumnos Juan Pedro Luis) (edad 14) (color silla verde) Campos sin valor: nil. Ej. (color silla nil) Ordenados y no ordenados (plantillas o templates) A cada hecho CLIPS asigna automáticamente un identificador único (fact-index). Por ejemplo f-10

9 Hechos Comandos sobre hechos 9 (facts) : Para ver el contenido de la base de hechos (fact-list) (assert hecho) : Para añadir hechos a la base de hechos (retract indice-hecho) : Para eliminar hechos de la base de hechos (reset) : Elimina todos los hechos de la memoria de trabajo, elimina las activaciones de la agenda y restaura las condiciones iniciales: - Añade initial-fact e initial-object - Añade los hechos y ejemplares iniciales, definidos con deffacts y definstances - Añade las variables globales con su valor inicial (clear) : Elimina todos los hechos y construcciones de la memoria de trabajo

10 Hechos Hechos iniciales 10 deffacts: Para definir los hechos iniciales Los hechos iniciales se añaden a la base al hacer (reset) - CLIP S > (deffacts padres padres iniciales (padre-de Luis Antonio) (padre-de Luis Maria) (padre-de Antonio Juan)) - CLIP S > (reset) - CLIP S > (facts) f-0 (initial-fact) f-1 (padre-de Luis Antonio) f-2 (padre-de Luis Maria) f-3 (padre-de Antonio Juan)

11 Hechos Plantillas o templates 11 Permiten asignar un nombre a cada campo. El orden de los slots no tiene importancia Se declaran con deftemplate (deftemplate <nombre-plantilla> [<comentario>] <descripcion-de-slot1>... <descripcion-de-slotn>) Los slots se definen por un nombre y sus atributos (facetas). Por defecto CLIPS les asigna un valor. (deftemplate robot (slot bandeja (type SYMBOL) (allowed-values LLENA VACIA) (default VACIA)) ) Pueden almacenar un único valor slot o varios multislot

12 Hechos Atributos o facetas 12 Los atributos de un slot pueden ser de dos tipos - De restricción type tipo : determina el tipo de datos del slot allowed-values valores: limita al conjunto de valores los que se pueden asignar range rango : limita los valores posibles al rango indicado - De valor default valor: valor por omisión al slot Se puede forzar al usuario a que indique un valor (?NONE) Se puede indicar que sea CLIPS quien determine el valor por omisión de un slot en función de las restricciones aplicadas siguiendo una serie de reglas con el atributo?derive Además de assert y retract se pueden modificar con modify (modify direccion-hecho (nombre-atributo nuevo-valor)* )

13 Hechos Ejemplo 13 (deftemplate fichado (slot nombre (type STRING) (default?none)) (slot edad (type INTEGER) (range 1 100) (default?none)) (slot condicion (type SYMBOL) (allowed-values inocente sospechoso imputado condenado antecedentes) (default inocente)) (slot clase (type SYMBOL) (allowed-values media baja alta) (default?derive)) )

14 Hechos Ejemplo 14 Insertar hechos diferentes de tipo fichado: (assert (fichado (nombre Carlos ) (edad 28) (condicion sospechoso))) (assert (fichado (nombre Pepe ) (edad 18) (clase alta))) (assert (fichado (nombre Juan ))) (assert (fichado (nombre Juan ))) FALSE CLIPS>(facts) f-0 (initial-fact) f-1 (fichado (nombre Carlos ) (edad 28) (condicion sospechoso) (clase media)) f-2 (fichado (nombre Pepe ) (edad 18) (condicion inocente) (clase alta)) f-3 (fichado (nombre Juan ) (edad 1) (condicion inocente) (clase media)) For a total of 4 facts CLIPS>(assert (fichado)) [TMPLTRHS1] Slot nombre requires a value because of its (default?none) attribute.

15 15 1. Introducción 2. Hechos 3. Reglas 4. Funciones 5. Marcos CLIPS v6.1 Resumen

16 Reglas Sintaxis 16 (defrule <nombre-regla> [<documentacion-opcional>] [(declare (salience <numero>))] <premisa-o-elemento-de-condicion>* <accion>* Ejemplo: (defrule ascendencia detecta los antepasados obvios (padre-de Luis Pedro) (assert (antepasado-de Luis Pedro))) Si no hay elementos de condición se usa initial-fact: (defrule regla-inicial (assert (antepasado-de Luis Pedro)))

17 Reglas Variables 17 El uso de variables?<nombre-variable>,?$<nombre-variable> hace las reglas más generales (defrule ascendencia detecta los antepasados obvios (declare (salience 2)) (padre-de?x?y) (assert (antepasado-de?x?y)) ) (defrule genera-escenas (declare (salience 20)) (lista $?l) (assert (un-hecho-de-la-lista (nth$ 1 $?l))) )

18 Reglas Elementos de condición (LHS) 18 Patrones: Consulta a la fact-list preguntando por la existencia de hechos determinados (dato 1 azul rojo) (persona (nombre?n) (amigos $?A) (edad 30)) Direcciones de hechos: Almacenar direcciones de hechos en variables?p (persona (nombre?n) (amigos $?A) (edad 30)) Test: Comprobar el cumplimiento de alguna condición (test (>= (abs (-?y?x)) 3)) Not: Preguntar por la NO existencia de determinados hechos en la fact-list (not (dato rojo?x?x))

19 Reglas Acciones o efectos (RHS) 19 assert: Para incorporar un hecho en la fact-list (assert dato 1 azul rojo)) retract: Para eliminar un hecho de la fact-list (defrule eliminar-estado-valvula?f1 (estado (valvula?x)) (retract?f1) ) modify: Para modificar un hecho de la fact-list. Equivalente a hacer un retract y un assert. Sólo para plantillas (defrule cambiar-estado-valvula?f1 (estado (valvula abierta)) (modify?f1 (valvula cerrada)))

20 Reglas Acciones 20 Parada: Para parar la ejecución del sistema: (halt) bind: Asignación de valor a variables (bind?x (*?Y 2)) Funciones de entrada/salida: open, close, printout, read, readline Otras funciones

21 Reglas Comandos para reglas 21 Al definir reglas ya existentes, la primera regla se borra (list-defrules): Para ver las reglas definidas (ppdefrule <nombre-de-regla>): Para ver la definición de una regla (undefrule <nombre-de-regla>): Para eliminar una regla (undefrule *): Para eliminar todas las reglas

22 Reglas Ejecución de reglas 22 Las activaciones de reglas se mantienen en la agenda La colocación de una regla en la agenda se realiza según su prioridad y la estrategia de resolución de conflictos definida (agenda): Para ver el contenido de la agenda (run): Para ejecutar las reglas seguidas (run <veces>): Para ejecutar <veces> reglas (matches <nombre-regla>): Para ver que hechos se equiparan con los patrones de una regla

23 Reglas Depuración de programas 23 (watch <item>) : Observación de la evolución de los componentes del sistema all compilations statistic messages deffunctions rules facts activations (unwatch <item>): Para desactivar el modo de observación (dribble-on/off <nombre-fichero>): Para grabar en un fichero la evolución del diálogo usuario-clips set-break y remove-break: Para poner y quitar un breakpoint en la regla que se les pasa como argumento (run <numero-de-reglas-a-disparar>): Ejecutar paso a paso (matches <nombre-regla>): Para ver que hechos se equiparan con los patrones de una regla

24 Reglas Estrategias de resolución de conflictos 24 Se seleccionan con el comando: (set-strategy <estrategia>) depth: (Profundidad). Las nuevas activaciones se sitúan por encima de las de igual prioridad. Es la estrategia por omisión breadth: (Amplitud). Las nuevas activaciones se sitúan por debajo de las de igual prioridad simplicity: Las nuevas activaciones se sitúan por encima de las activaciones con igual o mayor especificidad complexity: Las nuevas activaciones se sitúan por encima de las activaciones con igual o menor especificidad random: Aleatoria. A cada activación se le asigna un número aleatorio para determinar su orden en la agenda.

25 25 1. Introducción 2. Hechos 3. Reglas 4. Funciones 5. Marcos CLIPS v6.1 Resumen

26 Funciones Funciones de Entrada/Salida 26 Abrir un fichero: open (open nombre-fichero nombre-canal-asignado modo-acceso) Cerrar un fichero: close (close nombre-canal) Modos de acceso: r sólo lectura w sólo escritura r+ lectura y escritura a escritura al final de fichero (append) Canales predefinidos: stdin, stdount, werror Leer de un canal: read. Devuelve el primer símbolo que encuentre (read <nombre-canal>)

27 Funciones Escritura 27 Por pantalla: (printout t texto literal?v1 más texto?v2 crlf) En fichero: (defglobal?*file* = ) (defrule estado-inicial (declare (salience 3000)) (unwatch all) (set-strategy random) (open cuento.txt?*file* a ) (printout?*file* EMPIEZA EL CUENTO crlf))

28 Funciones Funciones de comparación y lógicas 28 Las siguientes funciones comparan sus argumentos y devuelven un valor lógico TRUE o FALSE eq TRUE si los valores de las expresiones argumento son iguales en valor y tipo neq TRUE si alguno de los valores de las expresiones argumento es distinto Las funciones =, <>, <, >, <=, >= presuponen argumentos numéricos Las funciones lógicas usan argumentos lógicos y devuelven un valor lógico and TRUE si todos los valores de las expresiones argumento son TRUE or TRUE si alguno de los valores de las expresiones argumento es TRUE not TRUE si el valor de la expresión argumento es TRUE

29 29 1. Introducción 2. Hechos 3. Reglas 4. Funciones 5. Marcos CLIPS v6.1 Resumen

30 Marcos Definición 30 Se declaran con defclass: (defclass <nombre-plantilla> (is-a <clase-padre>) <propiedades de la clase> <descripcion-de-slot1>... <descripcion-de-slotn>) Slot igual que en las plantillas. Algunos atributos propios (create-accesor read-write). Para poder modificarlo (source composite). Hereda todas las facetas del mismo slot que el padre. Redefinir slots Propiedades de la clase: (role abstract/concrete), (pattern-match non-reactive/reactive) CLIPS tiene 17 clases definidas. Todas abstractas (no se pueden crear instancias directas) menos INITIAL-OBJECT

31 Marcos Ejemplo1 31 ;; Definicion de la clases SECUENCIA (defclass SECUENCIA (is-a INITIAL-OBJECT) (slot id (type INTEGER) (create-accessor read-write)) (slot gliterario (type SYMBOL) (default CUENTO) (create-accessor read-write)) (multislot lista (type SYMBOL) (create-accessor read-write))) (definstances secuencias ([sec1] of SECUENCIA (id 1) (gliterario cuento) (lista INTRODUCCION PROBLEMA MANDATO ALEJAMIENTO)))

32 Marcos Ejemplo2 32 ;; Definición de la clase abstracta (no se pueden generar instancias de ella) ESCENA (defclass ESCENA (is-a INITIAL-OBJECT) (role abstract) (pattern-match non-reactive) (slot orden (create-accessor read-write) (range 1 10) (type INTEGER))) ;; Definición de las claeses hijas de ESCENA (defclass INTRODUCCION (is-a ESCENA) (role concrete) (pattern-match reactive) (slot primitiva (create-accessor read-write) (type SYMBOL)) (slot orden (source-composite) (default 8)))

33 Marcos Comandos 33 make-instance: añade una instancia a la base de hechos (make-instance of INTRODUCCION (primitiva ESTAR)) unmake-instance: quita la instancia de la base de hechos (unmake-instance?ins) modify-instance: borra y crea instancias de la base de hechos (modify-instance?ins (orden 7)) instances: muestra las instancias de la base de hechos [gen1] of INTRODUCCION (send [gen1] print): para ver valor de los slots

34 Marcos Reglas 34 (defrule genera-escenas?control (control (paso 1) (secuencia?id) (total-escenas?tot& 0) (escena?es&:(<=?es?tot)))?secuencia (object (is-a SECUENCIA) (lista $?lista) (id?id)) (bind?clase (nth$?es $?lista)) (printout t Escena?es çlase,?clase crlf) (make-instance of?clase (orden?es)) (modify-instance?secuencia (id 0)) (unmake-instance?secuencia) (modify?control (escena (+ 1?es))))

Construcción de SSPP con CLIPS. Universidad Carlos III de Madrid Departamento de Informática

Construcción de SSPP con CLIPS. Universidad Carlos III de Madrid Departamento de Informática Construcción de SSPP con CLIPS Susana Fernández Arregui susana.fernandez@uc3m.es Raquel Fuentetaja Pizán raquel.fuentetaja@uc3m.es Universidad Carlos III de Madrid Departamento de Informática http://galahad.plg.inf.uc3m.es/~docweb/

Más detalles

El lenguaje CLIPS. Javier Béjar Intel ligència Artificial 2016/2017. Facultat d Informàtica de Barcelona

El lenguaje CLIPS. Javier Béjar Intel ligència Artificial 2016/2017. Facultat d Informàtica de Barcelona El lenguaje CLIPS Javier Béjar Intel ligència Artificial 2016/2017 Facultat d Informàtica de Barcelona El sistema CLIPS El sistema CLIPS CLIPS es un entorno para desarrollar sistemas expertos Este define

Más detalles

Contenido. Introducción Elementos básicos de programación Variables Restricciones

Contenido. Introducción Elementos básicos de programación Variables Restricciones Herramientas CLIPS Contenido Introducción Elementos básicos de programación Variables Restricciones 2 CLIPS Historia Inspirado en OPS5 (Official Production System 5) y ART (Automated Reasoning Tool, Inference

Más detalles

Inteligencia en Redes de Comunicaciones CLIPS. Julio Villena Román.

Inteligencia en Redes de Comunicaciones CLIPS. Julio Villena Román. Inteligencia en Redes de Comunicaciones CLIPS Julio Villena Román jvillena@it.uc3m.es Índice Lenguaje CLIPS: Hechos, reglas, variables, funciones, operadores, referencias Estrategias de resolución de conflictos

Más detalles

Referencia. EXPERT SYSTEMS, Principles and Programming, Third Edition J. Giarrantano, G. Riley PWS Publishing Company, Boston 1998 ISBN 0-534-95053-1

Referencia. EXPERT SYSTEMS, Principles and Programming, Third Edition J. Giarrantano, G. Riley PWS Publishing Company, Boston 1998 ISBN 0-534-95053-1 CLIPS Introducción Referencia EXPERT SYSTEMS, Principles and Programming, Third Edition J. Giarrantano, G. Riley PWS Publishing Company, Boston 1998 ISBN 0-534-95053-1 Documentación CLIPS reference manual

Más detalles

Construcción de SSPP con CLIPS. Universidad Carlos III de Madrid Departamento de Informática

Construcción de SSPP con CLIPS. Universidad Carlos III de Madrid Departamento de Informática Construcción de SSPP con CLIPS Susana Fernández Arregui susana.fernandez@uc3m.es Raquel Fuentetaja Pizán raquel.fuentetaja@uc3m.es Universidad Carlos III de Madrid Departamento de Informática http://galahad.plg.inf.uc3m.es/~docweb/

Más detalles

CLIPS Definición de funciones

CLIPS Definición de funciones CLIPS Definición de funciones Por función consideramos tanto las funciones predefinidas en CLIPS como las definidas por el usuario en este lenguaje, o las definidas en un lenguaje externo (C, FORTRAN o

Más detalles

Sistemas de producción: CLIPS

Sistemas de producción: CLIPS Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sistemas de producción: Ejemplo Reglas para identificar un animal Si el animal tiene pelos entonces

Más detalles

Manipulación de hechos en CLIPS.

Manipulación de hechos en CLIPS. Manipulación de hechos en CLIPS. Víctor Tomás Tomás Mariano 1, Felipe de Jesús Núñez Cárdenas 1, Efraín Andrade Hernández 1 Universidad Autónoma del Estado de Hidalgo: Escuela Superior de Huejutla. Huejutla

Más detalles

Reglas. El constructor defrule y otros comandos relacionados

Reglas. El constructor defrule y otros comandos relacionados Reglas El constructor defrule y otros comandos relacionados Reglas Introducción Definición de reglas Ciclo básico de ejecución de reglas Sintaxis del antecedente Propiedades de una regla Comandos Introducción

Más detalles

Artificial Intelligence: laboratory CLIPS

Artificial Intelligence: laboratory CLIPS Artificial Intelligence: laboratory CLIPS Fall 2008 professor: Luigi Ceccaroni El sistema CLIPS CLIPS es un entorno para desarrollar sistemas expertos. Define un lenguaje que permite la representación

Más detalles

CLIPS. Confrontación de Patrones

CLIPS. Confrontación de Patrones CLIPS Confrontación de Patrones Variables ::= ::=?< nombre-variable > < variable-multicampo> ::= $?< nombre-variable

Más detalles

Control de la ejecución y diseño modular

Control de la ejecución y diseño modular Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Control de la ejecución Ejemplo de fases de un problema: Lectura de datos. Detección de problemas.

Más detalles

Inteligencia en Redes de Comunicaciones - 04b CLIPS

Inteligencia en Redes de Comunicaciones - 04b CLIPS En este Tema 4b se van a estudiar los fundamentos del lenguaje CLIPS para la creación de sistemas basados en reglas. 1 Este es el índice del tema: se estudiarán los diferentes conceptos y fundamentos del

Más detalles

Ingeniería Técnica en Informática de Gestión

Ingeniería Técnica en Informática de Gestión Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Septiembre 2010 Normas generales del examen El tiempo para realizar el

Más detalles

Contenido. Elementos básicos de un sistema de producción CLIPS Jess:

Contenido. Elementos básicos de un sistema de producción CLIPS Jess: Herramientas CLIPS Contenido Elementos básicos de un sistema de producción CLIPS Jess: 2 Sistemas de producción: Regla de Mycin SI (1) se dispone de un análisis de sangre, (2) el recuento leucocitario

Más detalles

Práctica 1: Introducción a CLIPS

Práctica 1: Introducción a CLIPS C. Graciani Díaz F. J. Martín Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla CLIPS CLIPS C Language Integrated Production Systems http://clipsrules.sourceforge.net

Más detalles

Sistemas de Produccion en Clips

Sistemas de Produccion en Clips Alberto Gomez Bravo 100061568 100061568@alumnos.uc3m.es Sistemas de Produccion en Clips Alfredo Corroto Diaz 100055351 Ismael Bermejo Jiménez 100047569 100055351@alumnos.uc3m.es 100047569@alumnos.uc3m.es

Más detalles

Tema 3: Representación de Hechos en CLIPS. Información sobre Conocimiento del Dominio

Tema 3: Representación de Hechos en CLIPS. Información sobre Conocimiento del Dominio Tema 3: Representación de Hechos en CLIPS Información sobre Conocimiento del Dominio Representación de la información Hechos. Ordenados y no Ordenados. Índice y dirección. Objetos. POO. Instancias de objetos.

Más detalles

Tema 8: Elementos condicionales y acciones procedimentales

Tema 8: Elementos condicionales y acciones procedimentales Inteligencia Artificial 2 Curso 2000 200 Tema 8: Elementos condicionales y acciones procedimentales José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la

Más detalles

Solución de un problema con CLIPS: Expert-Juego. Las 7 y media

Solución de un problema con CLIPS: Expert-Juego. Las 7 y media Inteligencia en Redes de Comunicaciones PRÁCTICA FINAL Solución de un problema con CLIPS: Expert-Juego. Las 7 y media - Elena A. Álvarez Conde Problema El problema a resolver es la implementación del juego

Más detalles

Ingeniería Técnica en Informática de Gestión

Ingeniería Técnica en Informática de Gestión Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Febrero 2010. 1 a parte Normas generales del examen El tiempo para realizar

Más detalles

REPRESENTACIÓN DEL CONOCIMIENTO CLOS (CLIPS) Práctica 3

REPRESENTACIÓN DEL CONOCIMIENTO CLOS (CLIPS) Práctica 3 REPRESENTACIÓN DEL CONOCIMIENTO CLOS (CLIPS) Práctica 3 Objetivos: Implementación de Marcos mediante las características de CLOS en CLIPS. Definición y manejo de clases e instancias. 1. DEFINICIÓN DE CLASES

Más detalles

Ingeniería Técnica en Informática de Sistemas Inteligencia Artificial Hoja 1: CLIPS I

Ingeniería Técnica en Informática de Sistemas Inteligencia Artificial Hoja 1: CLIPS I Universidad Rey Juan Carlos Curso 2008/2009 Ingeniería Técnica en Informática de Sistemas Inteligencia Artificial Hoja 1: CLIPS I 1. Se trata de ejecutar el ejemplo del perro Tucky (apuntes en CLIPS (a

Más detalles

CAPÍTULO IV: 4.1 Introducción a la. Programación Funcional

CAPÍTULO IV: 4.1 Introducción a la. Programación Funcional CAPÍTULO IV: Programación Funcional 4.1 Introducción a la Programación Funcional 1 Programación Funcional Paradigma diferente a los imperativos, que se aleja de la máquina de von Neumann Basado en funciones

Más detalles

Introducción a Protégé

Introducción a Protégé FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 2ª Parte Introducción a Protégé Febrero 2003 1 1. Objetivo La presente

Más detalles

Tema 10: Aplicaciones de SBC en CLIPS

Tema 10: Aplicaciones de SBC en CLIPS Inteligencia Artificial 2 Curso 2000 200 Tema 0: Aplicaciones de SBC en CLIPS José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación e Inteligencia

Más detalles

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo

Más detalles

Tema 7. El sistema de clases

Tema 7. El sistema de clases Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases

Más detalles

Resolución de Problemas en LBR

Resolución de Problemas en LBR 1 Resolución de Problemas en LBR J.A. Bañares Bañares Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Copyright 1998 JoséAngel Bañares Última revisión: Oct., 2009 Objetivo:

Más detalles

Tema 2. Tipos predefinidos

Tema 2. Tipos predefinidos Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 2. Tipos predefinidos 2.1 Tipos simples predefinidos El tipo Bool El tipo Int El tipo Integer

Más detalles

Curso de PHP. Tema 2: Lenguaje PHP básico

Curso de PHP. Tema 2: Lenguaje PHP básico Curso de PHP Tema 2: Lenguaje PHP básico Tema 2: Lenguaje PHP básico 1. Sintaxis básica 2. Tipos de datos 3. Variables 4. Constantes 5. Expresiones y operadores 6. Estructuras de control 7. Funciones 8.

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro 1. Sintaxis básica 2. Tipos de datos 3. Variables 4. Constantes 5. Expresiones y operadores

Más detalles

Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript - Programación

Más detalles

Estructura de Datos: Archivos

Estructura de Datos: Archivos Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un

Más detalles

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

Informática General Cátedra: Valeria Drelichman Pedro Paleo Leonardo Nadel Norma Morales

Informática General Cátedra: Valeria Drelichman Pedro Paleo Leonardo Nadel Norma Morales Informática General 2018 Cátedra: Valeria Drelichman Pedro Paleo Leonardo Nadel Norma Morales Qué es JavaScript? Se trata de un lenguaje de tipo script compacto, basado en objetos y guiado por eventos

Más detalles

Características de JavaScript

Características de JavaScript Características de JavaScript Qué es JavaScript? o Lenguaje de programación interpretado utilizado fundamentalmente para dotar de comportamiento dinámico a las páginas web. o Cualquier navegador web actual

Más detalles

Laboratorio de Casas Inteligentes Uso de Técnicas de Inteligencia Artificial para Operar una Casa Practica No. 8

Laboratorio de Casas Inteligentes Uso de Técnicas de Inteligencia Artificial para Operar una Casa Practica No. 8 Laboratorio de Casas Inteligentes Uso de Técnicas de Inteligencia Artificial para Operar una Casa Practica No. 8 Objetivo: Usar un sistema basado en reglas (CLIPS para instrumentar técnicas de inteligencia

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011

Más detalles

NOCIONES BASICAS DE Miguel Iván Bobadilla

NOCIONES BASICAS DE Miguel Iván Bobadilla NOCIONES BASICAS DE Miguel Iván Bobadilla ~ 1 ~ Indice Introducción... 4 Sintaxis de Python... 6 Datos... 6 Tipos de datos básicos... 7 Asignando valores, variables y constantes... 8 Salida de datos...

Más detalles

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5)

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5) 1 Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Práctica 1 1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:?

Más detalles

Ingeniería Técnica en Informática de Gestión

Ingeniería Técnica en Informática de Gestión Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Septiembre 2011. 1 a parte Normas generales del examen El tiempo para realizar

Más detalles

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas avanzado 22/11/2016 avanzado: Secuencias, triggers, cursores y subprogramas Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre

Más detalles

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2016-2017

Más detalles

Taller de programación shell

Taller de programación shell Taller de programación shell 3 de Abril de 2004 revisión 1 Asociación de Usuarios de Software Libre de Elche http://www.kleenux.org/ Introducción: Qué es un shell? Es una parte fundamental de todo sistema

Más detalles

Representación del Conocimiento

Representación del Conocimiento Representación del Conocimiento 1 Conocimiento Profundo Esquemas de representación/integración de paradigmas Reglas, Frames y procedimientos Acciones prodedimentales en CLIPS Objetos en CLIPS (COOL) Ejemplos

Más detalles

Ingeniería Técnica en Informática de Gestión

Ingeniería Técnica en Informática de Gestión Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Septiembre 2010 Normas generales del examen El tiempo para realizar el

Más detalles

INFOTECH MÓDULO 3 CURSO. Sintaxis del lenguaje de programación JAVA. Lógica y Lenguaje de Programación

INFOTECH MÓDULO 3 CURSO. Sintaxis del lenguaje de programación JAVA. Lógica y Lenguaje de Programación INFOTECH MÓDULO 3 Sintaxis del lenguaje de programación JAVA CURSO Lógica y Lenguaje de Programación INFOTECH Nombre del módulo 3 Contenidos Recursos Comprensión e información Capacidades específicas Indagación

Más detalles

TUTORIAL DE CLIPS. VERSION 0.8 / 9 de marzo de 2000

TUTORIAL DE CLIPS. VERSION 0.8 / 9 de marzo de 2000 TUTORIAL DE CLIPS VERSION 0.8 / 9 de marzo de 2000 Este documento está destinado a los alumnos de tercer curso de las Ingenierías Técnicas de Informática de la Universidad de Murcia. El objetivo del documento

Más detalles

El sistema de clases de Haskell. Introducción

El sistema de clases de Haskell. Introducción Capítulo 5. El sistema de clases de Haskell 56 El sistema de clases de Haskell Introducción Función monomórfica: sólo se puede usar para valores de un tipo concreto not :: Bool Bool not True = False not

Más detalles

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes. Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,

Más detalles

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes. Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,

Más detalles

Solución SP-Cardio. Práctica V

Solución SP-Cardio. Práctica V Solución SP-Cardio Práctica V Contenido 1. Plantillas. 2. Regla Semántica Univaluada. 3. Datos Iniciales Marta y Juan. 4. Aneurisma arteria abdominal. 5. Regurgitación aórtica. 6. Estenosis arteria pierna.

Más detalles

GUÍA BÁSICA DE SCHEME v.4

GUÍA BÁSICA DE SCHEME v.4 Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los

Más detalles

Lenguaje de programación Jess. Java Expert System Shell

Lenguaje de programación Jess. Java Expert System Shell Lenguaje de programación Jess Java Expert System Shell Ejemplo introductorio Problema de tipo puzzle en el cual hay cinco casas, de diferente color, habitadas por hombres de diferentes nacionalidades,

Más detalles

Datos Elementales y formato de un programa en Java

Datos Elementales y formato de un programa en Java Datos Elementales y formato de un programa en Java PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Datos, variables y mi primer programa 1 Introducción a la programación o Programa:

Más detalles

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS Para la corrección de la Práctica de Procesadores de Lenguajes, y como se indica en la especificación de la misma (http://dlsiisv.fi.upm.es/procesadores/practica.html),

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Introducción a Python Qué es Python?

Introducción a Python Qué es Python? Introducción a Python Qué es Python? Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación

Más detalles

Introducción Instalación Elementos básicos. Hechos. Reglas Primeros ejemplos. Referencias/Documentación

Introducción Instalación Elementos básicos. Hechos. Reglas Primeros ejemplos. Referencias/Documentación CLIPS Introducción Índice Introducción Instalación Elementos básicos Órdenes Tipos de datos Constructores Hechos Ordenados y no ordenados Plantillas Reglas Primeros ejemplos Hechos iniciales Comodines

Más detalles

Eficiencia en Sistemas de Reconocimiento de Patrones

Eficiencia en Sistemas de Reconocimiento de Patrones Eficiencia en Sistemas de Reconocimiento de Patrones J.A. Bañares Bañares Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Copyright 2000 José Angel Bañares Última revisión:

Más detalles

Sistema CLIPS (Apuntes)

Sistema CLIPS (Apuntes) Sistema CLIPS (Apuntes) Autor: Aitor San Juan Sánchez (aitorsj@hotmail.com) Título: Sistema CLIPS (Apuntes) Área: Sistemas Basados en el Conocimiento (I.A.) N.º Págs.: 100 2 CLIPS Prólogo Este documento

Más detalles

Introducción a Python. Cecilia Manzino

Introducción a Python. Cecilia Manzino Características del lenguaje Es un lenguaje de programación multiparadigma, soporta la programación orientada a objetos, imperativa y, en menor medida, funcional. Es un lenguaje multiplataforma, puede

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Introducción. Ejemplo 1: Variables. Ejemplo 2: Perl (Practical Extraction Report Language).

Introducción. Ejemplo 1: Variables. Ejemplo 2: Perl (Practical Extraction Report Language). Introducción Perl (Practical Extraction Report Language). Perl es un lenguaje de script (o de guiones), lo que quiere decir que no hace falta un fichero binario para poder ejecutar las instrucciones que

Más detalles

Contenidos Antecedentes Sintaxis XPath Localizaciones en XPath Funciones predefinidas en XPath XPath 2.0. XPath. Jose Emilio Labra Gayo

Contenidos Antecedentes Sintaxis XPath Localizaciones en XPath Funciones predefinidas en XPath XPath 2.0. XPath. Jose Emilio Labra Gayo Contenidos Antecedentes Sintaxis Localizaciones en Funciones predefinidas en 2.0 Noviembre 2006 Contenidos Antecedentes Sintaxis Localizaciones en Funciones predefinidas en 2.0 Contenidos Antecedentes

Más detalles

Lenguajes basados en reglas

Lenguajes basados en reglas Lenguajes basados en reglas 1 Representación del Conocimiento Representación de hechos Representación de reglas Motor de Inferencia José Angel Bañares 23/09/05 Índice 1. Sistemas de Producción/ Lenguajes

Más detalles

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2013-2014

Más detalles

Programación Funcional Haskell Clase 19

Programación Funcional Haskell Clase 19 Programación Funcional Haskell Clase 19 José Raymundo Marcial Romero rmarcial@fi.uaemex.mx BUAP c José Raymundo Marcial Romero. Clase Número 19 p.1/23 Temas de la clase Lenguajes Funcionales Haskell y

Más detalles

Lenguaje de programación Jess. Java Expert System Shell

Lenguaje de programación Jess. Java Expert System Shell Lenguaje de programación Jess Java Expert System Shell Ejemplo introductorio Problema de tipo puzzle en el cual hay cinco casas, de diferente color, habitadas por hombres de diferentes nacionalidades,

Más detalles

1. Lenguaje Pascal. 2. Módulos de un Programa. 3. Tipos de Datos más utilizados. 4. Declaración de Variables

1. Lenguaje Pascal. 2. Módulos de un Programa. 3. Tipos de Datos más utilizados. 4. Declaración de Variables 1. Lenguaje Pascal Se procederá a la comparación de las estructuras de programación utilizadas en pseudocódigo con las respectivas en lenguaje Pascal. Para ello, se seguirá de manera análoga a la descripción

Más detalles

1.3 Tipos de datos elementales, operadores y comandos utilitarios

1.3 Tipos de datos elementales, operadores y comandos utilitarios 1.3 Tipos de datos elementales, operadores y comandos utilitarios Tipos de datos elementales M es fundamentalmente un lenguaje para cálculo matricial. Todos los datos que maneja son matrices, pudiendo

Más detalles

Tema 3. Patrones y Definiciones de Funciones

Tema 3. Patrones y Definiciones de Funciones Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones para listas Patrones

Más detalles

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro

Más detalles

Definición Es una directiva using que ayuda al compilador a localizar una clase que se usa en la aplicación.

Definición Es una directiva using que ayuda al compilador a localizar una clase que se usa en la aplicación. Capitulo 3 Introducción a las aplicaciones de C# Resumen: Item using System; espacios de nombres: Las palabras clave estilo de mayúsculas/minúsculas Pascal public class Bienvenido1 Definición Es una directiva

Más detalles

Python. Características Básicas

Python. Características Básicas Python Características Básicas Intérprete >>> 3 + 5 8 >>> "Esto es una" + " frase." Esto es una frase. El intérprete de Python nos permite tener una sesión interactiva con él, muy útil para su aprendizaje.

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Scientific Programming with Python

Scientific Programming with Python Scientific Programming with Python Felipe Zapata Reactivity and Molecular Structure Group of the University of Alcala 9 de marzo, 2011 Contenido Porque que programar? Introducción a Python Características

Más detalles

Operadores aritméticos: suma (+), resta (-), producto (*), cociente (/) y potencia (**).

Operadores aritméticos: suma (+), resta (-), producto (*), cociente (/) y potencia (**). TEMA 3 TRANSFORMACIÓN DE DATOS En ocasiones es necesario crear nuevas variables a partir de otras ya existentes o modificarlas para poder explotarlas de forma más adecuada. Esto se realiza mediante las

Más detalles

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso. Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos

Más detalles

Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF

Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF Dpto. Informática Noviembre 1998 1. Deniciones en forma BNF < > Símbolos no terminales. Declaraciones u objetos declarados

Más detalles

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

UNIX. Curso de Modelado Molecular I INTRODUCCIÓN

UNIX. Curso de Modelado Molecular I INTRODUCCIÓN UNIX INTRODUCCIÓN Estrictamente, UNIX no es un sistema operativo simple, sino una familia de sistemas operativos multiusuario y multitarea. Comprende el núcleo del sistema operativo más un conjunto de

Más detalles

Tema 12: Aplicaciones de SBC: Decisión y metaintérpretes

Tema 12: Aplicaciones de SBC: Decisión y metaintérpretes Inteligencia Artificial 2 Curso 999 2000 Tema 2: Aplicaciones de SBC: Decisión y metaintérpretes José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial

Más detalles

Contenido. Jess: Introducción Elementos básicos de programación Funcionamiento del motor de inferencias Desarrollo de aplicaciones con Jess

Contenido. Jess: Introducción Elementos básicos de programación Funcionamiento del motor de inferencias Desarrollo de aplicaciones con Jess Herramientas Jess Contenido Jess: Introducción Elementos básicos de programación Funcionamiento del motor de inferencias Desarrollo de aplicaciones con Jess 2 Introducción 3 Jess Historia Inspirado en

Más detalles

4.7 Operaciones sobre Objetos en Scheme

4.7 Operaciones sobre Objetos en Scheme 4.7 Operaciones sobre Objetos en Scheme Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores Ejemplos de Equivalencia (eq? a a) ;=> #t (eq? 3.1 3.1) ;=> () (eq? (cons a

Más detalles

XDR: Estándar de Representación Externa de Datos

XDR: Estándar de Representación Externa de Datos RFC1832 Agosto 1995 (resumido por Juan A. Ternero) XDR: Estándar de Representación Externa de Datos 1. INTRODUCCIÓN XDR es un estándar para la descripción y representación de datos. XDR usa un lenguaje

Más detalles

Autoestudio 2: Variables y Operadores

Autoestudio 2: Variables y Operadores Autoestudio 2: Variables y es Componentes de un programa Cuando escribimos en un lenguaje de programación tenemos que entender la sintaxis del lenguaje. A continuación empezaremos con la sintaxis básica

Más detalles

23/09/2009. Introducción Hello word La familia Buendía Recursión Listas

23/09/2009. Introducción Hello word La familia Buendía Recursión Listas Prolog Contenido Introducción Hello word La familia Buendía Recursión Listas Qué es Prolog? Lenguaje de programación Declarativo Programación lógica Está compuesto de: Hechos Reglas Declarativo vs Imperativo

Más detalles