ING. FABIAN GARCIA CARRILLO

Slides:



Advertisements
Presentaciones similares
CONSTANTES DENTRO DE UN CÁLCULO O EN LOS PASOS PARA SOLUCIONAR UN PROBLEMA, EXISTIRÁN VALORES QUE NUNCA VAN A CAMBIAR Y SE LOS CONOCE COMO CONSTANTES.
Advertisements

Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
TEMA: Introducción a la informática.. Objetivos  Explicar los conceptos fundamentales relacionados con la computación.  Explicar la forma de representar.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
Melissa Victoria Mendiola Peralta.  Los algoritmos son las series de pasos por los cuales se resuelven los problemas.
ESCUELA PREPARATORIA No.3 Área académica: Informática Tema: Tipos de datos Profesora: Alba Nubia Rodríguez Solís. Periodo: Enero- Junio 2016 Materia: informática.
Lenguajes de Programación (Definición, Clasificación y Ejemplos)
PROGRAMACIÓN I CENTRO DE ESTUDIOS INTEGRADOS EL MARISCAL - CEIM Ing. Luisa Fernanda Arenas Castañeda Feb 6 de 2016.
Unidad 1: Conceptos fundamentales Instituto Tecnológico de Toluca Ing. Sistemas Computacionales Asignatura: Programación Lógica y Funcional Presentan Nieto.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
El controlador de relleno y las referencias relativas.
Lenguaje de Programacio Python Presentado por Jubel Crispán Materia Informatica Educativa.
ALGORITMOS, DIAGRAMAS DE FLUJO ING. DIANA CRUZ. QUÉ ES UN ALGORITMO ALGORITMO PARA UNA RECETA DE COCINA ETAPAS PARA SOLUCIONAR UN PROBLEMA PROPIEDADES.
1 LENGUAJES DE PROGRAMACIÓN. Son aplicaciones específicas diseñadas para crear otras aplicaciones o programas. Son programas para crear programas. 2.
Tipos de funciones Marcela mayen#14 4b.
ROBERTO PINEDA FLORES. ALEXIS JULIAN VELAZQUEZ NAVA.
Parcial # 1 La Computadora.
Conceptos básicos de programación
CAPÍTULO 2: PRINCIPIOS BÁSICOS DE MATLAB
Tema 4 Elementos para el Desarrollo de Algoritmos
Oscar Martin Tirado Ochoa
CREAR DIAGRAMA DE FLUJO
Tema 2 Variables y cálculos
Tema 6. Conceptos básicos de programación Clase 1
FÓRMULAS Una fórmula es la representación de una operación aritmética en una hoja de cálculo. Características: Siempre comienza por el signo igual(=) ó.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 2)
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Unidad 1. Conceptos básicos
EXPRESIONES Una expresión es una forma especial de asignación.
Tema 4 Elementos para el Desarrollo de Algoritmos
SISTEMAS DE NUMERACIÓN
SISTEMA DIGITAL Es una combinación de dispositivos diseñados para manipular cantidades físicas o información que estén representadas en forma digital,
PARCIAL 2.
Fundamentos de Programación
Hipervínculos scratch
PROGRAMACIÓN 1 INTRODUCCIÓN
CONCEPTOS PRELIMINARES (Cont)
Curso de iniciación al trabajo con MatLab 7.0
Sabes Que es un ALGORITMO
DOCENTE: ANGEL PALACIO BIENVENIDOS AL MUNDO DEL
El Lenguaje C: Elementos Básicos
LENGUAJE C.
U NIVERSIDAD S AN P EDRO F ILIAL B ARRANCA F ACULTAD DE I NGENIERÍA E SCUELA P ROFESIONAL DE I NG. I NFORMÁTICA Y DE S ISTEMAS C URSO : ALGORITMOS Tema.
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
Fundamentos de Programación
Matlab como calculadora
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
Fundamentos de la Programación I
Tema 5 Representación y Técnicas de Diseño de Algoritmos
Programación I MC José Andrés Vázquez Flores
Fundamentos de la Programación I
Fundamentos de la Programación I
Tema 3: Operadores Antonio J. Sierra.
Pascal Operadores y funciones
Los números naturales y los números enteros
Introducción a la Estadística Informática
Optimización de Procesos.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
Expresiones algorítmicas
Diagrama de componentes
NATURALEZA DE LOS DATOS Valores Numéricos Son los valores que se pueden hacer cálculos aritméticosritméticos Tipos de valores Entero Real Cadena ( “ h”
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 2)
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO Nombres: Isaac Sánchez García Teofilo Martinez Garcia Ricardo Del Carmen Paz López Vanesa Anahí Pérez Lizárraga.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
INTRODUCCIÓN A LA INFORMÁTICA
EVOLUCIÓN DE LOS PARADIGMAS DE PROGRAMACIÓN Integrantes: Christian Abad, Kevin Colcha.
UNIDAD II Generalidades sobre Algoritmos
Transcripción de la presentación:

ING. FABIAN GARCIA CARRILLO TEMA: “PROLOG”

Introduccion: Prolog representa el lenguaje principal en la categoría de Programación Lógica. A diferencia de otros lenguajes, Prolog no es un lenguaje de programación para usos generales, sino que esta orientado a resolver problemas usando el cálculo de predicados. El desarrollo de Prolog se inicio en 1970 con Alain Coulmeauer y Philippe Roussel, quienes estaban interesados en desarrollar un lenguaje para hacer deducciones a partir de texto. El nombre corresponde a "PROgramming in Logic” (Programación en lógica).

Introduccion: La primera implementación de Prolog se completó en 1972 usando el compilador de ALGOL W de Wirth y los aspectos básicos del lenguaje actual se concluyeron en 1973. El uso de Prolog se extendió gradualmente entre quienes se dedicaban a la programación lógica principalmente por contacto personal y no a través de una comercialización del producto. El uso de este lenguaje no se extendió sino hasta los años ochenta.  

Entorno Prolog: Un programa en Prolog se compone de una serie de hechos, relaciones concretas entre objetos de datos (hechos) y un conjunto de reglas, es decir, un patrón de relaciones entre los objetos de la base de datos .Estos hechos y reglas se introducen en la base de datos a través de una operación de consulta. Un programa se ejecuta cuando el usuario introduce una pregunta un conjunto de términos que deben ser todos ciertos. Los hechos y las reglas de la base de datos se usan para determinar cuáles sustituciones de variables de la pregunta (llamadas unificación) son congruentes con la información de la base de datos.

Entorno Prolog: La ejecución de Prolog, aunque se basa en la especificación de predicados, opera en forma muy parecida a un lenguaje aplicativo como LISP o ML. El desarrollo de las reglas en Prolog requiere el mismo "pensamiento recursivo“ que se necesita para desarrollar programas en esos otros lenguajes aplicativos. Prolog tiene una sintaxis y semántica simples. Puesto que busca relaciones entre una serie de objetos, la variable y la lista son las estructuras de datos básicas que se usan.

Entorno Prolog: Una regla se comporta en forma muy parecida a un procedimiento, excepto que el concepto de unificación es más complejo que el proceso relativamente sencillo de sustitución de parámetros por expresiones. Los programas en Prolog se leen secuencialmente, aunque el desarrollo de reglas sigue un estilo aplicativo.

Entorno Prolog: Se usan cortes con frecuencia para limitar el espacio de búsqueda para una regla, con el efecto de hacer el programa tan lineal en cuanto a ejecución como un programa típico de C o Pascal. Aunque las reglas se suelen expresar en forma aplicativa, el lado derecho de cada regla se procesa de manera secuencial.

Entorno de desarrollo: Prolog es un lenguaje de programación seminterpretado. Su funcionamiento es muy similar a Java. El codigo fuente se compila a un código de byte el cuál se interpreta en una máquina virtual denominada Warren Abstract Machine (comúnmente denominada WAM). Por eso, un entorno de desarrollo Prolog se compone de: Un compilador. Transforma el código fuente en código de byte. A diferencia de Java, no existe un standard al respecto. Por eso, el codigo de byte generado por un entorno de desarrollo no tiene por que funcionar en el intérprete de otro entorno.

Entorno de desarrollo: Un intérprete. Ejecuta el código de byte. Un shell o top-level. Se trata de una utilidad que permite probar los programas, depurarlos, etc. Su funcionamiento es similar a los interfaces de línea de comando de los sistemas operativos. Una biblioteca de utilidades. Estas bibliotecas son, en general, muy amplias. Muchos entornos incluyen (afortunadamente) unas bibliotecas standard-ISO que permiten funcionalidades básicas como manipular cadenas, entrada/salida, etc.

Comentarios: Si el comentario es de una solo línea simplemente se antecede el signo de % al comentario. Es importante saber que los comentarios no tienen efecto en la ejecución del programa. Ejemplo: % Hola, esto es un comentario. % Y esto también.

Comentarios: Cuando se quiere hacer un comentario que cuenta con más de una línea, se hace de la siguiente manera: Ejemplo: /* Comentario x Comentario y */

Variables logicas: Las váriables en Prolog no son variables en el sentido habitual, por eso las llamamos variables lógicas. Se escriben como una secuencia de caracteres alfabéticos comenzando siempre por mayúscula o subrayado. Ejemplos de variables: Variable _Hola _

Variables logicas: Pero no son variables: variable $Hola p__ El hecho de que los nombres de variables comienzen por mayúscula (o subrayado) evita la necesidad de declarar previamente y de manera explícita las variables, tal y como ocurre en otros lenguajes.

Variables anonimas: Sí, existen variables sin nombre, y todas ellas se representan mediante el símbolo de subrayado _. Pero cuidado, aunque todas las variables anónimas se escriben igual, son todas distintas. Es decir, mientras que dos apariciones de la secuencia de caracteres Hola se refieren a la misma variable, dos apariciones de la secuencia _ se refieren a variables distintas.

Operadores: Los operadores de Prolog están divididos en 2 clases: aritméticos y relacionales. ARITMÉTICOS: Todas las versiones de Prolog soportan los siguientes operadores aritméticos, listados en el orden de prioridad de ejecución.

Operadores: SIMBOLO SIGNIFICADO + SUMA - RESTA * MULTIPLICACION / DIVISION // DIVISION ENTERA Mod MODULO ^ POTENCIA

Operadores: Algunas operaciones más complejas que PROLOG provee: Operación Descripcion Sqrt(X) Calcula la raíz cuadrada de la variable log(X) Calcula el logaritmo de X ln(X) Calcula el logaritmo natural de X abs(B) Regresa el valor absoluto de B sin(T) Seno de T cos(A) Coseno de A tan(C) Tangente de C

EVALUACION DE EXPRESION GENERADOR DE NUMEROS ALEATORIOS Operadores: RELACIONALES: Prolog soporta los siguientes operadores relacionales: SIMBOLO SIGNIFICADO = IGUAL QUE > MAYOR QUE >= MAYOR O IGUAL QUE <= MENOR O IGUAL QUE <> DISTINTO QUE < MENOR QUE =/= DIFERENTE QUE Is EVALUACION DE EXPRESION seed GENERADOR DE NUMEROS ALEATORIOS

Operadores: Cuando dos objetos que son símbolos o cadenas de caracteres son comparados, los caracteres son convertidos a su equivalente ASCII. El valor de cada carácter es examinado a partir del operador relacional, de izquierda a derecha.

Terminos: Los términos son el único elemento del lenguaje, es decir, los datos son términos, el código son términos, incluso el propio programa es un término. No obstante, es habitual, llamar término solamente a los datos que maneja un programa. Un término se compone de un functor seguido de cero a N argumentos entre paréntesis y separados por comas. Los números enteros o decimales sin restricciones de tamaño también son términos.

Terminos: Un functor (también denominado átomo) puede ser: Una sucesión de caracteres alfanuméricos comenzando por una letra minúscula. Un símbolo de puntuación o secuencia de estos. Las secuencias permitidas varian de un entorno de desarrollo a otro. Una sucesión cualquiera de caracteres encerrada entre comillas simples.

Terminos: Ejemplos: functor f384p12 'esto es un unico atomo, eh!!' No son atomos válidos: _functor Functor

Predicados: Son los elementos ejecutables en Prolog. En muchos sentidos se asemejan a los procedimientos o funciones típicos de los lenguajes imperativos. Un predicado es la relación directa con una expresión. Cada predicado usado en una cláusula de Prolog debe ser declarado, basado en la declaración de los tipos de dominios para cada uno de los nombres de los objetos. Ejemplo: paciente(nombre, edad, peso, presion_sanguínea) mercado(encargado, vendedor)

Estructuras: Los objetos estructurados (o simplemente estructuras) son objetos que tienen varios componentes. Los componentes pueden ser a su vez estructuras. Por ejemplo, la fecha, puede ser vista como una estructura con 3 componentes: día, mes y año. Las estructuras son tratadas en el programa como objetos simples, aunque estén formadas por muchos componentes. El orden en que se combinan los componentes dentro de un objeto simple, es la forma en que escogemos una functor.

Estructuras: Un atomo conveniente para nuestro ejemplo es fecha. Entonces la fecha 1o. de Enero 1975 puede escribirse: fecha(1, enero, 1975) Todos los componentes en este ejemplo son constantes (2 enteros y un átomo).