Inteligencia Artificial: Prolog
|
|
|
- Margarita Ortiz de Zárate Martin
- hace 8 años
- Vistas:
Transcripción
1 Inteligencia Artificial: Prolog Introducción al Lenguaje de Programación Prolog Christopher Expósito-Izquierdo 1, Belén Melián-Batista 2 {cexposit 1, mbmelian 2 }@ull.es Universidad de La Laguna (España)
2 Contenidos Qué es Prolog? Historia de Prolog Intérpretes de Prolog SWI-Prolog Átomos, Variables y Términos Complejos Programas en Prolog Recursos 2 of 1
3 Qué es Prolog? Prolog (PROgrammation en LOGique) es un lenguaje de programación de propósito general, para computación simbólica y basado en el paradigma de programación denominado programación lógica Prolog tiene un conjunto de características que deben ser resaltadas: Es declarativo: se debe especificar cómo es el problema que se desea resolver y cómo son las soluciones a dicho problema, pero no se indica cómo debe alcanzarse dichas soluciones Está basado en el concepto de recursión por lo que los bucles no son habitualmente empleados Emplea relaciones entre elementos del lenguaje para modelar el entorno Usa la unificación 3 of 1
4 Qué es Prolog? Prolog se emplea en un amplio conjunto de campos. Algunos de ellos son los siguientes: Análisis de lenguaje natural: Demostración de teoremas: A prolog technology theorem prover: Implementation by an extended prolog compiler. Journal of Automated Reasoning. Volumen 4, Issue 4, páginas (1988) Autor: M. E. Stickel Sistemas expertos: The design of expert systems using Prolog. Prolog and its applications. Springer, páginas (1991) Autor: F. Mizoguchi 4 of 1
5 Historia de Prolog Los orígenes de Prolog se remontan al final de la década de los 60 y comienzo de los 70. Sin embargo, no surgió con la intención de ser un lenguaje de programación sino con la intención de poder procesar lenguaje natural, en particular francés. Una primera versión del lenguaje aparició al final de 1971 mientras que la primera versión estable fue presentada al final de 1972 en Marsella (Francia) por Alain Colmerauer y Philippe Roussel. En sus orígenes, Prolog podía entenderse como el resultado de la unión del procesamiento de lenguaje natural y la demostración automática de teoremas. Sin embargo, su gran variedad de campos de aplicación hace que este enfoque se quede ciertamente limitado. 5 of 1
6 Historia de Prolog En 1977, David Warren presentó el primer compilador de Prolog: DEC-10. Posteriomente, Warren desarrolló la denominada Warren Abstract Machine (WAM), una máquina abstracta destinada a la ejecución de Prolog basada en un conjunto de instrucciones y una arquitectura de memoria. Su relevancia la ha convertido en el estándar de facto para los compiladores de Prolog Desde la presentación de WAM, la popularidad de Prolog ha crecido incesantemente. Algunos ejemplos de interés por el lenguaje se reflejan en los proyectos de interfaces de procesamiento de lenguaje natural de la NASA para la Estación Espacial Internacional en 2005 o la implementación del ordenador Watson de IBM en of 1
7 Intérpretes de Prolog Amzi! Prolog B-Prolog Ciao Prolog GNU Prolog Logic Programming Associates Prolog PD Prolog ai/lang/prolog/impl/prolog/pdprolog/0.html 7 of 1
8 Intérpretes de Prolog SICStus Prolog SWI Prolog Turbo Prolog Visual Prolog W-Prolog YAP Prolog 8 of 1
9 SWI-Prolog SWI-Prolog es el intérprete que se va a emplear a lo largo del presente curso debido a que se trata de un intérprete de Prolog libre, robusto y de fácil manejo que posibilita el desarrollo de aplicaciones en un amplio rango de dominios. La instalación de SWI-Prolog en Ubuntu se realiza mediante la ejecución de los siguientes comandos en la terminal: 1. sudo apt-add-repository ppa:swi-prolog/stable 2. sudo apt-get update 3. sudo apt-get install swi-prolog Una vez SWI-Prolog ha sido instalado, puede accederse al mismo mediante el siguiente comando: swipl 9 of 1
10 SWI-Prolog Para salir del intérprete hay que introducir halt. Para más información referente a SWI-Prolog puede consultarse 10 of 1
11 SWI-Prolog Los programas en Prolog son escritos en ficheros de texto con extensión.pl y cargados como podemos ver a continuación: Para más información puede consultarse 11 of 1
12 Átomos, Números, Variables y Términos Complejos Átomos: Son términos compuestos por letras tanto en mayúsculas como en minúsculas, números y. Además deben comenzar por una letra en minúscula. Ejemplos: antonio, luis27, maria 84, etc. Los términos encerrados entre comillas simples también son considerados átomos. Ejemplos: Doctor Antonio, * + ), etc. Finalmente, varios símbolos válidos en Prolog son considerados como átomos. Ejemplos: +, etc. Algunos átomos, tales como :- tienen un significado predefinido en Prolog 12 of 1
13 Átomos, Números, Variables y Términos Complejos Números: Prolog define números enteros (por ejemplo: 1, 23, -4, 2119, etc.). Algunos intérpretes permiten la definición de números reales (por ejemplo: , 0.29, 8.641, etc.). El rango de valores válidos depende del número de bits empleado para representar dicho número y, por tanto, depende del ordenador empleado y la configuración del intérprete usado. 13 of 1
14 Átomos, Números, Variables y Términos Complejos Variables: Son términos compuestos por letras, números y. Además deben comenzar por una letra en mayúscula o con. Ejemplos: Antonio, Luis27, Maria84, etc. Prolog define un elemento como variable anónima ( ) que es similar a cualquier otra variable pero que se emplea para ocupar cualquier posición donde algo es esperado. Cada aparición de la variable anónima denota a una variable distinta 14 of 1
15 Átomos, Números, Variables y Términos Complejos Términos complejos: Los átomos, números y variables son los elementos básicos definidos en Prolog que permiten la definición de términos complejos. Estos términos complejos son también habitualmente denominados como estructuras. Un término complejo es un funtor acompañado por una secuencia de argumentos. Estos argumentos son especificados entre paréntesis, separados por comas y situados inmediatamente detrás del funtor. Los funtores deben ser átomos mientras que los argumentos pueden ser cualquier tipo de término, incluidos términos complejos. 15 of 1
16 Átomos, Números, Variables y Términos Complejos Ejemplos de términos complejos: mifuntor(argumento1, argumento 2, Argumento3). empujar(antonio, luis). saltar(x). hablar(x, maria). grupo(x, maria, Y, luis). debatir(, maria, Antonio, grupo(a, maria, pepe, luis)). 16 of 1
17 Átomos, Números, Variables y Términos Complejos Prolog proporciona varios tests que tienen éxito si un término X es Una variable no instanciada: var(x) No es una variable o una variable instanciada: nonvar(x) Un término complejo: compound(x) Un átomo: atom(x) Un entero: integer(x) Un número real: float(x) Un número real o entero: number(x) Un número, cadena de texto o átomo: atomic(x) 17 of 1
18 Átomos, Números, Variables y Términos Complejos 18 of 1
19 Programas en Prolog La construcción de programas en Prolog se realiza traduciendo los conceptos existentes en lenguaje natural en un lenguaje de primer orden. Los programas en Prolog están compuestos por un conjunto de claúsulas. Las claúsulas pueden ser de tres tipos: Hechos: declaran cosas que son siempre ciertas Reglas: declaran cosas que son condicionalmente ciertas Consultas: preguntas realizadas por parte del usuario acerca de qué cosas son ciertas Las bases de conocimiento están compuestas por hechos y reglas. 19 of 1
20 Programas en Prolog: Hechos Los hechos son declaraciones siempre verdaderas. Éstos pueden ser elementos individuales o relaciones entre elementos. A continuación se pueden ver algunos ejemplos de hechos: antonio. saltar(andrea, muro). correr(sandra). padre(luis, carol). marta. Para introducir los hechos en el intérprete, los escribimos en un fichero de texto: myfacts.pl 20 of 1
21 Programas en Prolog: Reglas Las reglas en Prolog son sentencias con la siguiente forma: A : B 1, B 2,..., B n donde n es una constante positiva. La cabeza de la regla es A, mientras que el cuerpo de la regla viene definida por la conjunción de los objetivos B 1, B 2,..., B n. De acuerdo a la definición previa, puede notarse que un hecho es tan solo un caso particular de una regla, donde n toma el valor cero. Por tanto, se puede entender como una regla con el cuerpo vacío. Las variables que aparecen en las reglas son cuantificadas universalmente. De esta forma, el ámbito de las variables abarca toda la regla. 21 of 1
22 Programas en Prolog: Reglas La principal diferencia existente entre las reglas y los hechos es que los hechos son siempre verdaderos mientras que las reglas determinan cosas que podrían ser verdaderas siempre y cuando alguna condición es satisfecha. De esta manera, el cuerpo de la regla es la parte condicional y la cabeza de la regla es la parte de la conclusión. La conjunción lógica se define separando los objetivos por medio de comas en el cuerpo de la regla. Ejemplo: feliz(x) :- tienesalud(x), tienetrabajo(x). La disyunción lógica se define separando los objetivos por medio de punto y coma en el cuerpo de la regla. Ejemplo: 22 of 1 feliz(x) :- rico(x) ; famoso(x).
23 Programas en Prolog: Reglas A continuación veamos cómo definir relaciones de parentesco entre personas. Comenzamos definiendo un conjunto de hechos simples: madre(andrea, sandra). madre(sandra, nuria). padre(antonio, luis). padre(luis, pepe). padre(pepe, patricia). padre(luis, sandra). Ahora podemos definir las siguientes reglas: abuela(x,z) :- madre(x,y), madre(y,z). abuela(x,z) :- madre(x,y), padre(y,z). 23 of 1
24 Programas en Prolog: Ejemplo 1 La base de conocimiento se muestra a continuación: gato(dama). gato(alaska). gato(luna). corre(andrea). casa. 24 of 1
25 Programas en Prolog: Ejemplo 1 25 of 1
26 Programas en Prolog: Ejemplo 2 La base de conocimiento se muestra a continuación: gato(dama). gato(alaska). gato(luna). salta(luna, alaska). salta(dama, luna). salta(alaska, pelos). salta(alaska, luna). 26 of 1
27 Programas en Prolog: Ejemplo 2 En las consultas realizadas se pueden emplear variables, tal como vemos a continuación: 27 of 1
28 Recursos: Libros Programming in Prolog. Using the ISO Standard Autores: William Clocksin, Christopher S. Mellish Editorial: Springer Logic Programming with Prolog Autores: Max Bramer Editorial: Springer Language Processing with Perl and Prolog. Theories, Implementation, and Application Autores: Pierre M. Nugues Editorial: Springer Prolog Programming for Artificial Intelligence Autores: Ivan Bratko Editorial: Addison Wesley The Art of Prolog: Advanced Programming Techniques Autores: Ehud Sterling, Leon Shapiro Editorial: The MIT Press 28 of 1
29 Recursos: Artículos Teaching, learning and using Prolog: Understanding Prolog. Instructional Science. Volumen 19, Issue 4-5, páginas (1990) Autores: Paul Brna, Helen Pain y Benedict du Boulay Efficient Prolog: a practical tutorial. Artificial Intelligence Review. Volumen 5, Issue 4, páginas (1991) Autores: Michael A. Covington On the implementation of GNU Prolog. Theory and Practice of Logic Programming. Volumen 12, Special Issue 1-2, páginas (2012) Autores: Daniel Diaz, Salvador Abreu y Philippe Codognet 29 of 1
30 Recursos: Online index1.html contents.html http: // of 1
31 Inteligencia Artificial: Prolog Introducción al Lenguaje de Programación Prolog Christopher Expósito-Izquierdo 1, Belén Melián-Batista 2 {cexposit 1, mbmelian 2 }@ull.es Universidad de La Laguna (España) 31 of 1
Inteligencia Artificial: Prolog
Inteligencia Artificial: Prolog Recursión Christopher Expósito-Izquierdo 1, Belén Melián-Batista 2 {cexposit 1, mbmelian 2 }@ull.es Universidad de La Laguna (España) Contenidos Concepto de Recursión Recursión
Inteligencia Artificial: Prolog
Inteligencia Artificial: Prolog Listas Christopher Expósito-Izquierdo 1, Belén Melián-Batista 2 {cexposit 1, mbmelian 2 }@ull.es Universidad de La Laguna (España) Contenidos Qué es una lista? Operador
5.2 Introducción a Prolog. Lenguaje Prolog. Características de Prolog. Su nombre viene de Programación en Lógica, creado a comienzos de los 70:
5.2 Introducción a Prolog 1 Lenguaje Prolog Su nombre viene de Programación en Lógica, creado a comienzos de los 70: Robert Kowalski (Edimburgo): lado teórico Maarten van Emden (Edimburgo): demostración
PROGRAMACIÓN LÓGICA INTRODUCCIÓN. Juan Juárez Fuentes
PROGRAMACIÓN LÓGICA INTRODUCCIÓN Juan Juárez Fuentes 1 Trabajo propuesto en 1970 Cómo programar un sistema como el siguiente? Usuario> Los gatos matan ratones. Usuario> Tom es un gato al que no le gustan
Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Tema 3.- Predicados y sentencias condicionales
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER
Tema 1. Introducción al PROLOG. 1. Qué es el PROLOG? 2. Los elementos de PROLOG 3. Un programa de ejemplo 4. Ejercicios propuestos
Tema 1. Introducción al PROLOG 1. Qué es el PROLOG? 2. Los elementos de PROLOG 3. Un programa de ejemplo 4. Ejercicios propuestos 1. Qué es el PROLOG? 1.1. Un poco de historia PROgramming in LOGic Desarrollado
TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL
1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto
Predicados Básicos de Prolog TAII(I) - Curso
Predicados Básicos de Prolog TAII(I) - Curso 2005-2006 Existe un conjunto de predicados predefinidos en Prolog que podrás utilizar en tus programas para realizar operaciones de entrada/salida, trabajar
SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
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
PHP: Lenguaje de programación
Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054
Capítulo V: Programación Lógica. 5.1 Breve Introducción al Cálculo de Predicados
Capítulo V: Programación Lógica 5.1 Breve Introducción al Cálculo de Predicados 1 Definiciones Básicas Proposición: sentencia lógica que puede ser verdadera o falsa. Se construye de objetos y relaciones.
Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
SISTEMA DE NUMEROS REALES
SISTEMA DE NUMEROS REALES 1.1 Conjuntos Es una agrupación de objetos distintos (pero con algunas características en común), los que reciben el nombre de elementos. Generalmente se nombra a un conjunto
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
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:
Introducción a la programación
Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona
Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
TEMA 1: LÓGICA. p p Operador conjunción. Se lee y y se representa por. Su tabla de verdad es: p q p q
TEMA 1: LÓGICA. Definición. La lógica es la ciencia que estudia el razonamiento formalmente válido. Para ello tiene un simbolismo que evita las imprecisiones del lenguaje humano y permite comprobar la
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
Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani
Informática JavaScript: Lenguaje de programación Fco J. Martín Mateos Carmen Graciani Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal:
Manual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación
TUTORIAL PSEINT Ing. Ronald Rentería Ayquipa Fundamentos de Programación PSEINT Página Oficial: http://pseint.sourceforge.net/ Es un software que interpreta pseudocódigo. Permite la generación de diagramas
FUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Métodos de Inteligencia Artificial
Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) [email protected] ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Objetivos Estudiar algunas de las metodologías de Inteligencia Artificial,
Representación de números en la recta real. Intervalos
Representación de números en la recta real. Intervalos I. Los números reales En matemáticas los números reales se componen de dos grandes grupos: los números racionales (Q) y los irracionales (I). A su
Unidad 4. Autómatas de Pila
Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje
Escribir programas a partir de un diagrama de flujo
Escribir programas a partir de un diagrama de flujo por Iván Cruz En esta lectura se revisará una estrategia específica para lograr implementar un programa computacional a partir de un diagrama de flujo,
Introducción a PL/SQL
22/11/2016 Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre 2014 Objetivos de este tema Conocer el lenguaje procedimental
Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)
Tema 1 Estructuras de datos (Prof. Edgardo A. Franco) Contenido Algoritmia Qué es un algoritmo? Métodos algorítmicos Diagrama de flujo Símbolos utilizados en los diagramas de flujo Reglas para la construcción
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación
4. Predicados predefinidos
4. Predicados predefinidos CONTENIDO 4.1. El esquema condicional en PROLOG. 4.2. La notación operador. 4.3. Predicados predefinidos. 4.3.1. Clasificación de términos. 4.3.2. Control de otros predicados.
Evolución del software y su situación actual
Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su
Algoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012
Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Proposiciones Definición 1.1 Una proposición (o declaración) es una oración declarativa
LENGUAJE PHP Y CAKEPHP FRAMEWORK
Ref. 313387 LENGUAJE PHP Y CAKEPHP FRAMEWORK OBJETIVOS: PHP permite la creación de aplicaciones para trabajar con Web y bases de datos. Este curso le adentrará en el conocimiento de PHP desde sus conceptos
INICIACIÓN A LA PROGRAMACIÓN 1ª parte
TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad,
Datos y tipos de datos
Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato
$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,
Calendario Académico año Introducción a la Programación I
Calendario Académico año 2012 Introducción a la Programación I Febrero 14 Martes Febrero 16 Jueves Tema: Bienvenida y presentación del curso. Prueba Diagnóstica. Febrero 21 Tema: Continuación Introducción
Elementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
5.3 Tipos de Datos en Prolog
5.3 Tipos de Datos en Prolog Recocimiento de Tipos Se recoce el tipo de un dato por su forma sintáctica; se requiere de declaración de tipos Ejemplo: Variables se definen comienzan con primera en mayúsculas
Gramáticas lógicas. Programación Lógica InCo
Gramáticas lógicas Programación Lógica InCo DCG: Definite clause grammars Gramáticas escritas con una sintaxis similar a la usual que se traducen a cláusulas definidas y, por lo tanto, a predicados Prolog.
Programmacion Declarativa - Prolog:
Programmacion Declarativa - Prolog: Todas las clases de theoria (ahora no todas) para toda la gente a quien falta alguna cosa o para ellos que no pueden leer bien sus cosas escritas ;-) Paginas Web muy
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
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en
Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005. Jorge Pérez R.
PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005 Jorge Pérez R. 1 Introducción a PROLOG PROLOG es un lenguaje interpretado basado en la lógica de predicados de primer orden. Puede
1 INTRODUCCIÓN. Cuadro 1: Sistema de lenguaje natural de Colmerauer y Roussel [7].
1 INTRODUCCIÓN El tema de central este curso de la Maestría en Inteligencia Artificial (MIA) es la programación lógica. En este capítulo se presenta un panorama general de este paradigma de programación,
Guía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Lenguaje de Programación
Introducción a C/C++() UG Introducción a C/C++() Universidad de Guanajuato Sesión 18 Introducción a C/C++() Qué es un? Un entorno de desarrollo integrado o (acrónimo en inglés de integrated development
Programación I.
Programación I [email protected] [email protected] Profesores teoría Toni Navarrete e-mail: despacho: [email protected] 371 Jesús Ibáñez e-mail: despacho: [email protected] 381 Introducción
APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES
Cátedra de COMPUTACION Carreras: Licenciatura en Matemática Profesorado en Matemática Profesora: Mgr. María del Carmen Varaldo APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS
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
Introducción a la Lógica
Tema 0 Introducción a la Lógica En cualquier disciplina científica se necesita distinguir entre argumentos válidos y no válidos. Para ello, se utilizan, a menudo sin saberlo, las reglas de la lógica. Aquí
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa
Estructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:
Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento
Metodología de Desarrollo de Programas
Metodología de Desarrollo de Programas Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este material
C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid
C1 INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid Índice 1. Lenguajes de Programación 1. Definición. 2. Niveles
Técnicas de Programación
Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia
Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos
Introducción César Ignacio García Osorio Lógica y sistemas axiomáticos 1 La lógica ha sido históricamente uno de los primeros lenguajes utilizados para representar el conocimiento. Además es frecuente
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones [email protected] Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario
LENGUAJE. Tema 2 Elementos de un programa
LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar
Lógica Matemática. Tema: Los conectores lógicos y sus símbolos
Lógica Matemática Tema: Los conectores lógicos y sus símbolos Los conectores lógicos y sus símbolos Además de simbolizar las proposiciones, también se pueden emplear símbolos para los mismos conectores
TIPOS DE DATOS (VARIABLES) EN JAVA. TIPOS PRIMITIVOS (INT, BOOLEAN, ETC.) Y OBJETO (STRING, ARRAY, ETC.) (CU00621B)
APRENDERAPROGRAMAR.COM TIPOS DE DATOS (VARIABLES) EN JAVA. TIPOS PRIMITIVOS (INT, BOOLEAN, ETC.) Y OBJETO (STRING, ARRAY, ETC.) (CU00621B) Sección: Cursos Categoría: Curso Aprender programación Java desde
Ficha de Aprendizaje N 13
Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que
PROCESADORES DE LENGUAJE. Hoja de ejercicios de FLEX
PROCESADORES DE LENGUAJE Ingeniería Informática Especialidad de Computación Tercer curso Segundo cuatrimestre Departamento de Informática y Análisis Numérico Escuela Politécnica Superior de Córdoba Universidad
Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.
LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado
Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición:
Capítulo 2 Conjuntos 2.1 Introducción El concepto de conjunto, de singular importancia en la ciencia matemática y objeto de estudio de una de sus disciplinas más recientes, está presente, aunque en forma
Inteligencia Artificial II: Conocimiento, Razonamiento y Planeación. Presentación del Curso.
Inteligencia Artificial II: Conocimiento, Razonamiento y Planeación. Presentación del Curso. Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Universidad Veracruzana Facultad de Física
Isabelle como un lenguaje funcional
Capítulo 1 Isabelle como un lenguaje funcional 1.1 Introducción Nota 1.1.1. Esta notas son una introducción a la demostración asistida utilizando el sistema Isabelle/HOL/Isar. La versión de Isabelle utilizada
TEMA 3: El proceso de compilación, del código fuente al código máquina
TEMA 3: El proceso de compilación, del código fuente al código máquina 3.1 Fase de compilación y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado
Introducción a PL/SQL
Introducción a PL/SQL Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos de este tema Conocer PL/SQL. PL/SQL
2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA
CONTENIDOS: 1. TIPOS DE DATOS 2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIICADORES COMO LOCALIDADES DE MEMORIA OBJETIO EDUCACIONAL: El alumno conocerá las reglas para cambiar fórmulas matemáticas
Constantes. Variables
Constantes En el pseudocódigo la deinición de constantes generalmente se hace al principio. Es utilizada para deinir valores que nunca van a cambiar. Tipos de datos Variables Los datos que utilizan los
ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y
ESCUELA: UNIVERSIDAD DEL ISTMO
1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3041 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3033.- OBJETIVO GENERAL Proporcionar al alumno
Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I
Tema 3: Gramáticas regulares Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison
Estructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL
INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL MEDIA TÉCNICA EN PROGRAMACIÓN DE SOFTWARE TEMA: LOS LENGUAJES DE PROGRAMACIÓN Profesora: Beatriz Elena Herrera Legarda Qué es una computadora? Computadora electrónica
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Interacción Humano-Computadora Ubicación: Octavo Semestre Clave: 2100 Horas semana-mes:
1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.
1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento. Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos
JAVA 7 Los fundamentos del lenguaje Java
Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado
Java para no Programadores
Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen
UT01 03 Sistemas de codificación
UT01 03 Sistemas de codificación Cap 1 Introducción a los Sistemas Informáticos IES Barajas - JRGRL Tipo de software y tipos de datos Tipos de software de un SI Aplicaciones (no forman parte del SO) Datos
