PROgramación LOGica PROLOG. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
|
|
- Raquel Carrizo Correa
- hace 6 años
- Vistas:
Transcripción
1 PROgramación LOGica PROLOG Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
2 Dónde bajar? Strawberry PROLOG:
3 PROLOG -> PROgramming in LOGig Paradigma -> El lenguaje de la lógica puede se usado para programar Padre de PROLOG -> Francés Alain Colmerauer Fue desarrollado en 1970 en la Universidad de Marseilles En el curso usaremos Strawberry PROLOG Versión 2.3 La interfaz
4
5 Ejemplo 1: le_gusta(elena,tenis). le_gusta(jony,football). le_gusta(tomas,baseball). le_gusta(erik,natacion). le_gusta(marco,tenis). le_gusta(_,tenis). le_gusta(juan,x) :- le_gusta(tomas,x).?-le_gusta(juan,tenis).
6 Las clausulas contienen hechos y reglas Un hecho es: le_gusta(elena,tenis) que corresponde a: "a elena le gusta el tenis" Una regla es: le_gusta(juan,x):-le_gusta(tomas,x). que corresponde a la regla lógica: a tomas le gusta X => a juan le gusta X o equivalentemente: a juan le gusta X si a tomas le gusta X
7 Dos Corridas:?-le_gusta(juan,baseball) Yes.?-le_gusta(jony,tenis) Yes
8 Variables: En la regla: le_gusta(juan,x) :- le_gusta(tomas,x). aparece la variable X La variables deben comenzar con letra mayúscula.
9 Uso del fail Cuando PROLOG tiene una meta interna encuentra solamente una solución para cada submeta y continua con la próxima submeta, por lo que encuentra solamente una solución. Cuando PROLOG tiene una submeta a la derecha de una regla también encuentra solamente una solución. El uso del fail forzará el backtraking (reevaluación) en ambas situaciones con lo que sí se encontrarán todas las soluciones.
10 EJEMPLO: Versión sin fail padre(leonardo,katherine). padre(carlos,jason). padre(carlos,marilyn). todos :- padre(x,y), write(x), write(" es el padre de "), write(y),nl.?-todos.
11 Salida: leonardo es el padre de katherine Yes.
12 EJEMPLO: Versión con fail padre(leonardo,katherine). padre(carlos,jason). padre(carlos,marilyn). todos :- padre(x,y), write(x), write(" es el padre de "), write(y),nl,fail.?-todos.
13 Salida: leonardo es el padre de katherine carlos es el padre de jason carlos es el padre de marilyn No.
14 Ejemplo de unificación de variables:?-le_gusta(persona,tenis),write(persona). Salida: elena Yes?-le_gusta(Persona,tenis),write(Persona), write(" "), fail. Salida: elena marco _0 juan No.
15 Objetos y Relaciones Toda clausula en PROLOG está conformada por relaciones que afectan a objetos. Los nombres de las relaciones y de los objetos deben estar escritos en minúscula.
16 Ejemplo 2: Metas (Goals) compuestas carro(toyota,130000,3,rojo,12000). carro(ford,90000,4,gris,25000). carro(nissan,8000,1,rojo,30000).?-carro(m,k,e,c,p), P < 24000, write(m), write(" "), write(k), write(" "), write(e), write(" "), write(c), write(" "), write(p), write(" "). Salida: toyota rojo Yes.
17 Observación: la, es el AND el ; es el OR P<25000 invoca en realidad <(P,25000)
18 Variables Anónimas Para variables anónimas se utiliza "_", por ejemplo:?-carro(_,_,edad,_,costo), Costo < 27000, write(edad), write(" "), write(costo), write(" "), fail. Salida: No. Las variables anónimas pueden ser usadas en hechos, por ejemplo: se lee "a toda persona le gusta el tenis le_gusta(_,tenis).
19 El mecanismo"backtraking" (reevaluación) Ejemplo 3: alumno(peter,9). alumno(paul,10). alumno(ana,9). alumno(susan,9).?-alumno(p1,9), alumno(p2,9), not(p1=p2), write(p1), write(" "), write(p2),nl,fail.
20 Este programa responde: peter ana peter susan ana peter ana susan susan peter susan ana No.
21 El mecanismo"backtraking" funciona como sigue:
22 Ejemplo 4: Uso del Not Queremos escribir un programa que le busque novio a Sofía. El programa contiene una "base de datos" con la lista de solteros y sus características, además contiene una regla para los requisitos pedidos por Sofía, a saber, el novio debe ser vegetariano y no fumador.
23 hombre(jose). hombre(bill). hombre(tom). fumador(jorge). fumador(tom). vegetariano(jose). vegetariano(tom). sofia_hace_pareja(x) :- hombre(x), not(fumador(x)), vegetariano(x).?-sofia_hace_pareja(x), write("una posible pareja para Sofia es: "), write(x), nl.
24 La salida al ejecutar este programa es: una posible pareja para Sofia es: jose No.
25 hombre(jose). hombre(bill). hombre(tom). fumador(jorge). fumador(tom). vegetariano(jose). vegetariano(tom). sofia_hace_pareja(x) :- hombre(x), not(fumador(x)), vegetariano(x).?-sofia_hace_pareja(x), write("una posible pareja para Sofia es: "), write(x), nl, fail.
26 La salida al ejecutar este programa es: una posible pareja para Sofia es: jose No.
27 hombre(jose). hombre(bill). hombre(tom). fumador(jorge). fumador(tom). vegetariano(jose). vegetariano(tom). sofia_hace_pareja(x) :- hombre(x), not(fumador(x)), vegetariano(x).?-sofia_hace_pareja(x), write("una posible pareja para Sofia es: "), write(x), nl, fail.
28 La salida al ejecutar este programa es: una posible pareja para Sofia es: jose Yes.
29 Ejemplo 5: un árbol genealógico masculino(alan). masculino(carlos). masculino(luis). masculino(ivan). femenino(ana). femenino(andrea). femenino(eugenia). femenino(damaris). madre(eugenia,ana). madre(alan,damaris). padre(alan,luis). padre(ana,carlos). padre(andrea,luis). padre(eugenia,alan). padres(x,y) :- madre(x,y). padres(x,y) :- padre(x,y).
30 hermano(x,y) :- /* El hermano of X es Y si */ masculino(y), /* Y es masculino y */ padres(x,p), /* los padres de X son P y */ padres(y,p), /* los padres de Y son P y */ not(x=y). /* X y Y no son el mismo */ hermana(x,y) :- /* La hermana de X es Y si */ femenino(y), /* Y es femenino y */ padres(x,p), /* los padres de X son P y */ padres(y,p), /* los padres de Y son P y */ not(x=y). /* X y Y no son el mismo */ tio(x,u) :- /* El tio de X es U si */ madre(x,p), /* la madre de X es P y */ hermano(p,u). /* el hermano de P es U. */
31 tio(x,u) :- /* el tio de X es U si */ padre(x,p), /* el padre de X es P y */ hermano(p,u). /* el hermano of P es U */ abuelo(x,g) :- /* El abuelo de X es G si */ padre(p,g), /* si el padre de P es G */ madre(x,p). */ /* y la madre de X es P. abuelo(x,g) :- /* El abuelo of X es G si */ padre(x,p), /* el padre de X es P */ padre(p,g). /* el padre de P es G */?-hermana(alan,x), write(x).
32 La Salida es: andrea Yes.
33 Simulación de compuertas lógicas en PROLOG Escriba en PROLOG un programa para simular (producir) la tabla de verdad del XOR usando OR, AND, NOT:
34
35 cnot(1,0). cnot(0,1). cand(0,0,0). cand(0,1,0). cand(1,0,0). cand(1,1,1). cor(0,0,0). cor(0,1,1). cor(1,0,1). cor(1,1,1). cxor(x,y,z) :- cnot(x,n1), cnot(y,n2), cand(x,n2,n3), cand(y,n1,n4), cor(n3,n4,z).?-cxor(i1,i2,s), write(i1), write(" "), write(i2), write(" "), write(s), write(" "), nl, fail.
36 Una corrida puede ser:?-cxor(i1,i2,s) No.
37 Variables Libres y Acotadas Se dice que una variable es LIBRE si PROLOG no conoce su valor. Se dice que una variable es ACOTADA si PROLOG conoce su valor.
38 Ejemplo: le_gusta(elena,lectura). le_gusta(john,computadoras). le_gusta(john,ciclismo). le_gusta(leonardo,ciclismo). le_gusta(eric,natacion). le_gusta(eric,lectura).?-le_gusta(x,lectura),le_gusta(x,natacion).
39 Por ejemplo, en la meta:?-le_gusta(x,lectura), le_gusta(x,natacion). en la submeta le_gusta(x,lectura) la variable X ocurre libre, mientras que en la submeta le_gusta(x,natacion) la variable X ocurre acotada. Pues cuando el mecanismo de backtraking inicia instancia la variable X con elena.
40 Objetos Compuestos Un Objeto Compuesto consiste de un functor y los sub-objetos que lo conforman, esto es: functor(obj 1,obj 2,...,obj n ) Un objeto compuesto puede se vacio: functor() ó functor
41 Ejemplo: estudiante es un objeto compuesto lee_estudiante(e(nombre,nota1,nota2,promedio,resultado)) :- write("cual es su nombre? "), read(nombre), write("nota en examen 1? "), read(nota1), write("nota en examen 2? "), read(nota2), Promedio = (Nota1 + Nota2)/2, paso(promedio,resultado). paso(promedio,resultado) :- Promedio >= 70, Resultado = 'S'; Promedio < 70, Promedio >= 60, Resultado = 'A'; Promedio < 60, Resultado = 'P'.
42 run:- lee_estudiante(e),nl,write(e),nl,nl, write("desea continuar(s/n)"),read(ch), =(Ch,'n'). run:-nl,nl,write("digite los datos de otro estudiante"),nl,nl,run.?-run. /* VER CORRIDA EJ8.SPJ */
43 Recursividad en PROLOG Ejemplo 1: u(1,2). u(n,res) :- N > 1, N1 is N - 1, /* OJO dejar espacio después del - */ u(n1,res1), Res is (2 * Res1).?-u(4,X), write(x). Salida: 16Yes..
44 Ejemplo 2:
45 fibonacci(1,1). fibonacci(2,1). fibonacci(n,f) :- N > 2, M is N - 1, K is N - 2, fibonacci(m,g), fibonacci(k,h), F is G + H.?-fibonacci(6,Res), write(res).
46 Listas en PROLOG Las Listas en PROLOG se manejan a través de Recursión. Las listas se encierran entre los operadores [ ] y se separan por comas.
47 Ejemplos [1, 2, 8] [perro, gato, canario] ["Luisa", "Juan"]
48 PROLOG divide una lista en dos partes: Head o cabeza (primer elemento de la lista) Tail o resto (una lista menos la cabeza) Ejemplos: Lista Head Tail [1,2,3] 1 [2,3] [[1,2,3],[7,8],[]] [1,2,3] [[7,8],[]] [] indefinido indefinido [ ] [] [] NOTA: PROLOG usa como separador entre el Head y el Tail
49 Más ejemplos: Lista 1 Lista 2 Instanciación [1,2,3,4,7,8] [X Y] X=1, Y=[2,3,4,7,8] [7] [X Y] X=7, Y=[] [12,3,9,0] [X,Y Z] X=12, Y=3, Z=[9,0] [1,2] [3 X] falla [caballo Q] [P blanco] P=caballo, Q=blanco
50 Ejemplos de programas con listas Imprimir una lista imprime_lista([]). imprime_lista([h T]) :- write(h), write(" "), imprime_lista(t).?-imprime_lista([5,2,8,9,22]).
51 Pertenece a una lista miembro(nombre,[nombre _]). miembro(nombre,[_ Tail]):- miembro(nombre,tail).?-miembro(2,[5,6,2,7,89,0]).
52 Lectura de una Lista leerlista([x Xr]):- read(x),leerlista(xr). leerlista([]).?-leerlista(x),write(x).
53 Un ejemplo completo append([],lista,lista). append([x L1], L2, [X L3]) :- append(l1,l2,l3). pares(x,[x _]) :- Z is X mod 2, Z is 0. pares(x,[_ Cola]) :- pares(x,cola). ultimo(x,[x]). ultimo(x,[_ Cola]) :- ultimo(x,cola). consecutivos(x,y,[x,y _]). consecutivos(x,y,[_ Cola]) :- consecutivos(x,y,cola).
54 invierte([],[]). invierte([h T],L) :- invierte(t,z), append(z,[h],l). burbuja(l,o) :- append(x,[a,b Y],L), B < A, append(x,[b,a Y],M), burbuja(m,o),!. burbuja(l,l). imprime([]). imprime([head Tail]) :- write(head),nl,imprime(tail). leerlista([x Xr]):- read(x),leerlista(xr). leerlista([]).
55 CORRIDAS: (ver ej14.spj) %?-leerlista(x),imprime(x). %?-append([4,5,2,3],[5,62,23,3,0],l),write(l). %?-pares(x,[3,4,6,9,7]),write(x). %?-ultimo(x,[3,4,6,9,7]),write(x). %?-consecutivos(6,9,[3,4,6,9,7]). %?-invierte([3,4,6,9,7],x),write(x).?-burbuja([3,4,6,9,7],x),write(x).
56 Más Ejemplos suma_lista([],0). suma_lista([cabeza COLA], RESULT) :- suma_lista(cola,r1), RESULT is CABEZA + R1. multiplica_lista([],1). multiplica_lista([cabeza COLA], RESULT) :- multiplica_lista(cola,r1), RESULT is CABEZA * R1.
57 Más Ejemplos suma_dos_listas([],[],[]). suma_dos_listas([cabeza1 COLA1], [CABEZA2 COLA2], [CABEZA3 COLA3]) :- CABEZA3 is CABEZA1 + CABEZA2, suma_dos_listas(cola1, COLA2, COLA3). producto_dos_listas([],[],[]). producto_dos_listas([cabeza1 COLA1], [CABEZA2 COLA2], [CABEZA3 COLA3]) :- CABEZA3 is CABEZA1 * CABEZA2, producto_dos_listas(cola1, COLA2, COLA3).
58 Ejemplos de sumatorias sumar(1,1). sumar(n,res) :- N1 is N - 1, sumar(n1,r1), Res is R1 + N. armonica(1,1). armonica(n,res) :- N1 is N - 1, armonica(n1,r1), Res is R1+1/N. %?-sumar(20,x),write(x).?-armonica(20,x),write(x).
59 El algoritmo de unificación usado por PROLOG Una variable libre puede ser unificada con cualquier término, luego la variable se considera acotada. Una constante puede ser unificada con si misma o con una variable libre. Un objeto compuesto puede ser unificado con un objeto compuesto, donde ambos tengan los mismos functores y el mismo número de argumentos, de modo que los términos son unificados dos a dos.
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
Más detallesPROLOG 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
Más detallesINTRODUCCIÓN A PROLOG
INTRODUCCIÓN A PROLOG Lenguaje declarativo (opuesto a procedimentales) basado en reglas de la lógica PROLOG = Programming in Logic Originado en Europa a principios de los 70 s por Alain Colmerauer (Universidad
Más detalles5.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
Más detallesTema 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
Más detallesProgrammacion 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
Más detalles6. Operadores en PROLOG
6. Operadores en PROLOG 1. Definición de operadores propios 2. Operadores predefinidos Igualdad Entrada y Salida básicos Manejo de ficheros Evaluación de expresiones aritméticas Comparación de números
Más detalles1 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,
Más detallesCapítulo 4. Lógica matemática. Continuar
Capítulo 4. Lógica matemática Continuar Introducción La lógica estudia la forma del razonamiento, es una disciplina que por medio de reglas y técnicas determina si un teorema es falso o verdadero, además
Más detalles1.2 Hechos. Ejemplo: La capital de Francia es París. En Prolog se escribe capital(francia,parís). En general, la sintaxis es
Hechos 1.2 Hechos Un hecho, en PROLOG, es una relación entre objetos. Ejemplo: La capital de Francia es París. En Prolog se escribe capital(francia,parís). En general, la sintaxis es relacion(objeto, objeto,...).
Más detallesMatemáticas aliadas a la salud MATE3035
Matemáticas aliadas a la salud MATE3035 TEMA: Introducción a la teoría de conjuntos Universidad de Puerto Rico en Arecibo Departamento de Matemáticas Profa. Yuitza T. Humarán Martínez Adaptado por Profa.
Más detallesProgramación Elemental con Bases de Datos y Programación El lenguaje Prolog
Programación Elemental con Bases de Datos y Programación II.1 El lenguaje Prolog. II.2 Programación con bases de datos. II.3 Aspectos a tener en cuenta en la programación en Prolog II.4 Programación recursiva:
Más detallesTipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos
Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos
Más detallesPROCESADORES 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
Más detallesPrimera práctica de Temas Avanzados en Ingeniería Informática (I)-Lógica Curso
Primera práctica de Temas Avanzados en Ingeniería Informática (I)-Lógica Curso 2005-2006 1. Fecha de entrega La fecha límite de entrega será el 13 de Marzo (Lunes) hasta las 20:00 horas. 2. Objetivo El
Más detalles1 Introducción al lenguaje PROLOG
1 Introducción al lenguaje PROLOG 1.1 Generalidades Prolog es un lenguaje de programación que se utiliza para resolver problemas en los que existen objetos y relaciones entre objetos. La programación en
Más detallesFUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
Más detallesExisten diferentes compuertas lógicas y aquí mencionaremos las básicas pero a la vez quizá las más usadas:
Compuertas lógicas Las compuertas lógicas son dispositivos electrónicos utilizados para realizar lógica de conmutación. Son el equivalente a interruptores eléctricos o electromagnéticos. para utilizar
Más detallesINTRODUCCIÓN AL LENGUAJE PROLOG
INTRODUCCIÓN AL LENGUAJE PROLOG Índice 1. Introducción 2 2. Características Generales 2 2.1. Evolución histórica................................... 2 2.2. Esquema general de trabajo en Prolog........................
Más detallesProgramación declarativa ( )
1 / 24 Programación declarativa (2007 08) Tema 9: Retroceso, corte y negación José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla
Más detallesAlgoritmos 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
Más detalles1. El vocabulario de un programa PROLOG
Tema 2. La Sintaxis 1. El vocabulario de un programa PROLOG 2. Términos 2.1. Constantes 2.2. Variables 2.3. Estructuras 3. Operadores 4. Igualdad y Desigualdad 5. Aritmética en los programas PROLOG 1.
Más detallesTabla de contenidos. 1 Lógica directa
Tabla de contenidos 1 Lógica directa o 1.1 Puerta SI (YES) o 1.2 Puerta Y (AND) o 1.3 Puerta O (OR) o 1.4 Puerta OR-exclusiva (XOR) 2 Lógica negada o 2.1 Puerta NO (NOT) o 2.2 Puerta NO-Y (NAND) o 2.3
Más detallesGuía de estudio Introducción a la teoría de conjuntos Unidad A: Clase 4
Guía de estudio Introducción a la teoría de conjuntos Unidad A: Clase 4 Camilo Ernesto Restrepo Estrada, Félix Ruiz de Villalba, Lina María Grajales Vanegas y Sergio Iván Restrepo Ochoa 1. 3. Teoría de
Más detallesJohn Venn Matemático y filósofo británico creador de los diagramas de Venn
Georg Cantor Matemático Alemán creador de la teoría de conjuntos John Venn Matemático y filósofo británico creador de los diagramas de Venn August De Morgan Matemático ingles creador de leyes que llevan
Más detallesUNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO Recursividad: La recursividad es una técnica de programación
Más detalles1. Sintaxis de Prolog
1. Sintaxis de Prolog Términos: Constantes: enteros (Ejs: 3, 4), átomos (Ejs: juan, pi) (en minúscula). Variables: Ejs: X, Casa (en mayúscula) Estructuras: functor, seguido de uno o más argumentos, es
Más detallesTodo 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 detallesIntroducción Flip-Flops Ejercicios Resumen. Lógica Digital. Circuitos Secuenciales - Parte I. Francisco García Eijó
Lógica Digital Circuitos Secuenciales - Parte I Francisco García Eijó Organización del Computador I Departamento de Computación - FCEyN UBA 7 de Septiembre del 2010 Agenda 1 Repaso 2 Multimedia Logic 3
Más detallesOperadores lógicos y de comparación en programación. Not, and, or Ejemplos. (CU00132A)
aprenderaprogramar.com Operadores lógicos y de comparación en programación. Not, and, or Ejemplos. (CU00132A) Sección: Cursos Categoría: Curso Bases de la programación Nivel I Fecha revisión: 2024 Autor:
Más detallesTeoría de Conjuntos y Conjuntos Numéricos
Teoría de Conjuntos y Conjuntos Numéricos U N I V E R S I D A D D E P U E R T O R I C O E N A R E C I B O D E P A R T A M E N T O DE M A T E M Á T I C A S P R O F A. Y U I T Z A T. H U M A R Á N M A R
Más detallesSISTEMA 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
Más detallesPROGRAMACIÓ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
Más detallesInicio de PCWorx 3: Vamos a hacer un pequeño recorrido por las tres vistas. Página 1 de 23
Inicio de PCWorx 3: En PCWorx 3 tendremos tres vistas principales del proyecto: - Vista de programación. - Vista de configuración de bus. - Vista de enlace de variables con datos de proceso. Vamos a hacer
Más detallesPrograma de Asignatura Programación Visual I
Programa de Asignatura Programación Visual I Managua, Abril, 2013 1. DATOS GENERALES Nombre de la asignatura: Programación Visual I Código: Requisito / Correquisito: Carrera (s): Modalidad: Turno: Semestre:
Más detallesTema 3: Tipos y clases
Tema 3: Tipos y clases Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases
Más detallesTema 3: Tipos y clases
Tema 3: Tipos y clases Programación declarativa (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases
Más detalles4. 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.
Más detalles5. Entrada y Salida en PROLOG
5. Entrada y Salida en PROLOG 1. Escritura de términos 2. Lectura de términos 3. Escritura y lectura de caracteres 4. Escritura en fichero 5. Lectura de fichero 1. Escritura de términos (I) Predicado predefinido
Más detallesSemana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt
Semana de las Matemáticas e Ingeniería Desarrollo de algoritmos recursivos empleando la aplicación PseInt 21 de Noviembre de 2013 Agenda Desarrollo de algoritmos recursivos empleando la aplicación PSeInt
Más detallesTécnicas Básicas de Programación Prolog
Técnicas Básicas de Programación Prolog Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga Contenido 1. Programación
Más detallesTECNICO 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
Más detallesUnidad 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 detallesUnidad 1, lección 1. Saludan. Cómo se llaman? cycle 3 niveau 2 espagnol fichier d activités. Hola! Me llamo María Flores. Me llamo Juan.
1 Unidad 1, lección 1 Saludan 1 2 1. Escucha. 2 2. Escucha de nuevo y repite. Cómo se llaman? 3 3. Escucha. Hola! Me llamo María Flores. Me llamo Juan. Me llamo Rosa. 4 4. Escucha los nombres y repite.
Más detallesMATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS
MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS INSTRUCTIVO PARA EL SIMULADOR DE UNA MÁQUINA DE ESTADOS FINITOS. AUTOR: JOSÉ ALFREDO JIMÉNEZ MURILLO AVC APOYO VIRTUAL PARA EL CONOCIMIENTO
Más detallesCurso sobre Controladores Lógicos Programables (PLC).
Curso sobre Controladores Lógicos Programables (PLC). Por Ing. Norberto Molinari. Entrega Nº 34. Capitulo 8. Como se puede Trabajar con los PLC 16xx (En bajo nivel) Instrucciones Básicas. LD : (4C) Carga
Más detallesFORMACIÓN ACADÉMICA TALLER. AREA DE HUMANIDADES ESPAñOL GRADO SEGUNDO PERIODO 01 NOMBRE:.Categorías gramaticales.reglas ortográficas
FORMACIÓN ACADÉMICA TALLER PFA-01-R04 Versión 02 AREA DE HUMANIDADES ESPAñOL GRADO SEGUNDO PERIODO 01 NOMBRE: CAPACIDADES.Expresión oral.comprensión textual.producción textual EJE Interpretación y producción
Más detallesHoja de ejercicios para los estudiantes
Hoja de ejercicios para los estudiantes Traducido por Maialen Ruiz Prada Un conjunto de 14 tiras de papel representa los cromosomas que vienen de la dragona madre (hembra). El otro, de diferente color,
Más detallesEl conjuntos de los estudiantes inteligentes de la UPR Río Piedras. El conjunto de los mejores baloncelistas de la NBA.
1 Conjuntos Un conjunto es una colección de objetos bien definida. Ejemplos de conjuntos: El conjuntos de todos los estudiantes matriculados en el programa immersión. El conjunto de todos los pueblos de
Más detallesBenemérita Universidad Autónoma de Puebla
Tarea No. 1 Matemáticas Elementales Profesor Fco. Javier Robles Mendoza Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Lógica y Conjuntos 1. Considere las proposiciones
Más detallesEl lenguaje C. 1. Identificadores, constantes y variables
Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria
Más detallesProgramas ejemplo. Lenguaje de Programación PASCAL. Miguel Murguía
Programas ejemplo Lenguaje de Programación PASCAL Miguel Murguía Programas ejemplo Lenguaje de Programación PASCAL Miguel Murguía ABACo, A.C. Asociación de Biólogos Amigos de la Computación, A. C. www.abacoac.org.mx
Más detallesCapítulo 4 PROLOG 4.1 Introducción
4.1 Introducción PROLOG es un lenguaje declarativo e interpretado, en este tipo de lenguajes se representan los conocimientos sobre un determinado dominio y sus relaciones. A partir de ese conocimiento,
Más detallesUsando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
Más detallesEl modo más sencillo de pasar estos datos a STATA es activar el STATA Data Editor e introducir los datos en la interfaz de la hoja de cálculo.
17.801 Primavera de 2002 Utilización de los comandos infile e infix de STATA STATA es un programa de gran flexibilidad que permite la lectura y manipulación de datos en diversas formas, lo que supone una
Más detallesEstructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
Más detallesPROGRAMA DE CURSO. Horas Docencia Horas de Trabajo Horas de Cátedra Docentes. Personal Resultados de Aprendizaje
PROGRAMA DE CURSO Código Nombre CC1002 Introducción a la Programación Nombre en Inglés Introduction to Programming SCT Unidades Horas Docencia Horas de Trabajo Horas de Cátedra Docentes Auxiliar Personal
Más detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesUniversidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P. Ingeniería de Sistemas e Informática NETBEANS 7.0 MI PRIMER PROYECTO
Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P. Ingeniería de Sistemas e Informática NETBEANS 7.0 MI PRIMER PROYECTO El NetBeans es un entorno de desarrollo integrado que permite crear aplicaciones
Más detalles1) PRINCIPIO FUNDAMENTAL: Toda regla de escritura matemática debe facilitar la comprensión de los objetos matemáticos representados y su lectura.
APÉNDICE B REGLAS DE ESCRITURA REGLAS GENERALES 1) PRINCIPIO FUNDAMENTAL: Toda regla de escritura matemática debe facilitar la comprensión de los objetos matemáticos representados y su lectura. La comprensión
Más detallesRAZONAMIENTO LÓGICO LECCIÓN 1: ANÁLISIS DEL LENGUAJE ORDINARIO. La lógica se puede clasificar como:
La lógica se puede clasificar como: 1. Lógica tradicional o no formal. 2. Lógica simbólica o formal. En la lógica tradicional o no formal se consideran procesos psicológicos del pensamiento y los métodos
Más detallesUNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia
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
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 detallesDESCRIPCIÓ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
Más detallesEstructuras de Repetición (Repita para)
Estructuras de Repetición (Repita para) Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 REPITA PARA Fijar
Más detallesProlog: Listas (y II) MRC
Prolog: Listas (y II) MRC Víctor Peinado v.peinado@filol.ucm.es 11 de diciembre de 2014 Referencias (Blackburn, et al., 2006, chap. 6) 1 1 Blackburn, P., Bos, J., Striegnitz, K. Learn Prolog Now!. College
Más detallesProcesadores de Lenguaje
Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales
Más detallesLic. Manuel de Jesús Campos Boc
UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA FACULTAD DE CIENCIAS DE LA ADMINISTRACIÓN DIRECCIÓN GENERAL DE CENTRO UNIVERSITARIOS CENTRO UNIVERSITARIO DE VILLA NUEVA CURSO MATEMÁTICAS APLICADA I 2015 Lic. Manuel
Más detallesESCUELA SECUNDARIA TÉCNICA N 14 CINCO DE MAYO. NOMBRE DEL PROYECTO: GISS (Guía Interactiva para Sustentantes de Secundaria)
ESCUELA SECUNDARIA TÉCNICA N 14 CINCO DE MAYO NOMBRE DEL PROYECTO: GISS (Guía Interactiva para Sustentantes de Secundaria) Es una guía que contiene los temas o asignaturas teóricas de los tres años de
Más detallesUniversidad de Guadalajara del 24 al 26 de Octubre del 2012.
Primer Congreso Mexicano de Investigación de Operaciones Se celebrará en las instalaciones de la Universidad de Guadalajara del 24 al 26 de Octubre del 2012. Fecha límite de registro de participantes y
Más detallesProgramación Funcional Haskell Clase 21
Programación Funcional Haskell Clase 21 José Raymundo Marcial Romero rmarcial@fi.uaemex.mx BUAP c José Raymundo Marcial Romero. Clase Número 21 p.1/12 Temas de la clase Clase Anterior En Haskell cada expresión
Más detallesTema: Excel Formulas, Funciones y Macros
1 Facultad Escuela Lugar de Ejecución : Ingeniería. : Biomédica : Laboratorio de Biomédica Tema: Excel Formulas, Funciones y Macros Objetivos Específicos Conocer los conceptos básicos en relación a la
Más detallesPC-01 Introducción al Pensamiento Computacional
Syllabus PC-01 PC-01 Descripción Este curso es una introducción al Pensamiento Computacional utilizando Scratch como lenguaje de programación. Scratch sirve para crear historias, juegos y aplicaciones
Más detallesLos comentarios en Prolog se escriben comenzando la línea con un símbolo de porcentaje. Ejemplo: % Hola, esto es un comentario. % Y esto también.
Tutorial básico de programación en Prolog Elementos del lenguaje En esta sección explicaremos como reconocer los diferentes elementos que componen un programa fuente en Prolog. Como observará en breve,
Más detallesmadre: Elena, 41 años hermano: Carlos, 14 años
Encontrar la 1 Juan 68 años hija: Elena, 41 años nieto: Carlos. 14 años nieta: Maria 11 años abogado ajedrez y leer un perro grande, blanco y negro Elena 41 años padre: Juan, 68 años hijo: Carlos, 14 años
Más detallesSENA 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 detalles2.1. Introducción al lenguaje Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Más detallesManual 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
Más detallesLa compuerta AND opera de tal forma que su salida será ALTA o 1,solo cuando todas sus entradas sean ALTAS. De otra forma la salida sera BAJA.
Eplicación del Tema Sesión 12. Operación ND, NOT, NND Y NOR. OPERCIÓN ND Si y son dos variables boolenas y se combinan con la operación OR la epresión quedaría: =. Donde el símbolo. representa la epresión
Más detallesDISEÑO DE UNA METODOLOGÍA DOCENTE
DISEÑO DE UNA METODOLOGÍA DOCENTE PARA DOS ASIGNATURAS DE PROGRAMACIÓN BASADA EXCLUSIVAMENTE EN LA EVALUACIÓN AUTOMÁTICA DE PROGRAMAS COORDINADOR: Adolfo Rodríguez de Soto ÁREAS DE CONOCIMIENTO: Ciencias
Más detallesModelos Computacionales
Análisis y Complejidad de Algoritmos Modelos Computacionales Arturo Díaz Pérez El circuito lógico La máquina de estados finitos La máquina de acceso aleatorio La máquina de Turing Compuertas Lógicas Compuerta
Más detalles12 símbolos (13 si se incluye el espacio en blanco)
Universidad Rafael Urdaneta Facultad de Ingeniería Escuela de Ingeniería de Computación Cátedra: Programación I Laboratorio - Semestre 2012-1 (Sección L y P ) Profesor: Jaime Soto Examen #1 - Fecha: 09-03-2012
Más detallesComputación II. Introducción a Visual Basic
Computación II Introducción a Visual Basic Introducción a Visual Basic Microsoft Visual Basic es un conjunto de herramientas que posibilitan el desarrollo de aplicaciones para Windows de una manera rápida
Más detallesM. en E. Noemí López García
La forma de indicar al servidor que nuestro código PHP comienza es: M. en E. Noemí López García sentencias php Existen otros métodos de indicar el inicio de código php pero el indicado es el más común
Más detalles19 a Competencia de MateClubes Primera Ronda Nivel Preolímpico
Primera Ronda Nivel Preolímpico La prueba dura 2 horas. Nombre del Club:.................................... Código del club: 19 0.............. 1. Rafa tiene $21 y Betty tiene $3. Cada semana, Rafa recibe
Más detalles[ GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013
ALGORITMOS Y DIAGRAMAS DE FLUJOS DE DATOS Elementos del diagrama de flujo de datos A.1. Qué es un Algoritmo? Describe el método para realizar una tarea. Es una secuencia de instrucciones que, ejecutadas
Más detallesLos Juegos como Herramienta Docente. Formalización de Juegos Lógicos en Prolog
Los Juegos como Herramienta Docente. Formalización de Juegos Lógicos en Prolog Faraón Llorens, Mª Jesús Castel, Francisco Mora, Carlos Villagrá Dept. de Ciencia de la Computación e Inteligencia Artificial
Más detallesk k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal
Sistemas con Notación Posicional (1) Sistemas Númericos N b = a n-1 *b n-1 + a n-2 *b n-2 +... + a 0 *b 0 +a -1 *b - 1 + a -2 *b -2 +... + a -m *b -m Sistemas con Notación Posicional (2) N b : Número en
Más detalles2^10 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 SUMA
Universidad Rafael Urdaneta Facultad de Ingeniería Escuela de Ingeniería de Computación Cátedra: Programación I Laboratorio - Semestre 2012-1 (Sección C ) Profesor: Jaime Soto Examen #1 - Fecha: 07-03-2012
Más detallesMétodos de Inteligencia Artificial
Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Contenido Lógica proposicional Lógica de predicados Inferencia en lógica
Más detallesGUIA PARA PRIMER EXAMEN PARCIAL DE PROBABILIDAD Y ESTADISTICA
GUIA PARA PRIMER EXAMEN PARCIAL DE PROBABILIDAD Y ESTADISTICA Deberán apoyarse en los ejercicios resueltos en clase marcados con el símbolo E Los conceptos de probabilidad, fenómeno aleatorio, determinista,
Más detallesLENGUAJE DE PROGRAMACION UNO.
Guía de ejercicios numero uno. LENGUAJE DE PROGRAMACION UNO. Instrucciones: Para cada caso elabore la sintaxis en lenguaje C., compílelo e intégrelos al menú que su profesor le explicara en clase. Solución
Más detallesManual de Operación. Módulo de convenios del SIEM
Módulo de convenios del SIEM Responsable: Carlos W. Andrés Cruz Vigencia desde 29/08/2011 V1.2 Página 1 de 25 Control de cambios Versión Fecha Secciones Asunto Autor Revisado 1.2 29/08/2011 Introducción
Más detallesTécnicas para la comunicación hombremáquina. Tema de. Programación no Procedural
Técnicas para la comunicación hombremáquina y la programación Tema de Programación no Procedural Dr. Daniel Gálvez Lio... 1 PROGRAMACIÓN LÓGICA EL nombre PROLOG es derivado de la expresión PROgramming
Más detallesANEXO XVII DE LA RESOLUCION N
Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:
Más detallesEnteros. 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
Más detallesDesigualdades o inecuaciones lineales en una variable. Prof. Caroline Rodriguez Departamento de Matemáticas UPR - Arecibo
Desigualdades o inecuaciones lineales en una variable Prof. Caroline Rodriguez Departamento de Matemáticas UPR - Arecibo Desigualdades Una desigualdad o inecuación usa símbolos como ,, para representar
Más detallesDistinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.
ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.
Más detallesPráctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros
Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros
Más detallesAlgoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal
Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación
Más detalles