Tema IV Programación lógica con estructuras
|
|
- Ángeles Cruz Jiménez
- hace 8 años
- Vistas:
Transcripción
1 Tema IV Programación lógica con estructuras Programación Lógica - E.T.S.I. Informática - Málaga 1
2 Términos La estructura de datos básica en PROLOG es el término. Los términos se clasifican en : variables no variables -> compuestos atómicos -> átomos números Las variables se denotan mediante palabras que comienzan por una letra mayúscula o por un guión de subrayado. los átomos se denotan mediante palabras que comienzan por una letra minúscula. Los números tienen la notación decimal habitual. Los términos compuestos tiene la forma general: <funtor>(<argumentos>), donde los argumentos también son términos separados por, y el funtor es un átomo. Programación Lógica - E.T.S.I. Informática - Málaga 2
3 Predicados para la comprobación de tipos Predicados predefinidos: var(t) - Tiene éxito cuando T es una variable sin instanciar. nonvar(t) Tiene éxito cuando T no es una variable sin instanciar. compound(t) Tiene éxito cuando T es un término compuesto. atomic(t) Tiene éxito cuando T es un término atómico. atom(t) Tiene éxito cuando T es un átomo. number(t) - Tiene éxito cuando T es un número. integer(t) Tiene éxito cuando T es un número entero. float(t) - Tiene éxito cuando T es un número decimal. Programación Lógica - E.T.S.I. Informática - Málaga 3
4 Términos compuestos Los términos compuestos se pueden ver como árboles generales: f f(x,h(a,b,3)) -> X h a b 3 Los términos compuestos pueden ser recursivos: cuando algún argumento es un término del mismo tipo. Los téminos compuestos más simple son los registros, cuyos argumentos no son del mismo tipo. Programación Lógica - E.T.S.I. Informática - Málaga 4
5 Comparación de términos PROLOG dispone de una relación de orden para la comparación de términos, consistente con el orden numérico y con el orden alfabético para los nombres de átomos (permite la aparición de variables libres) Xs == Ys éxito cuando Xs e Ys representan el mismo término Xs \== Ys Ys Ys Ys Ys éxito cuando Xs e Ys representan términos distintos éxito cuando Xs representa un término menor que Ys éxito cuando Xs representa un término mayor que Ys éxito cuando Xs representa un término menor o ig. que Ys éxito cuando Xs representa un término mayor o ig. que Ys (Tienen sentido para términos de la misma categoría) (No confundir con las relaciones numéricas) Programación Lógica - E.T.S.I. Informática - Málaga 5
6 Registros: fecha(dia,mes,año) % constructor cons_fecha(d,m,a,fecha(d,m,a)). % predicados de consulta dia(fecha(d,_,_),d).... % predicados para la modificación %completar poner_dia(d,fecha(_,m,a),fecha(d,m,a)).... %completar Ejercicios: 1. Predicado para comprobar el dominio fecha: es_fecha(fecha(d,m,a)) 2. Predicado para calcular la fecha siguiente a una dada: dia_sig(fecha(d,m,a),f) Programación Lógica - E.T.S.I. Informática - Málaga 6
7 Las listas en PROLOG Programación Lógica - E.T.S.I. Informática - Málaga 7
8 Listas:. (Cabeza, Cola) Las listas son términos compuestos recursivos que están predefinidos en PROLOG en la forma:. (Cabeza, Cola), donde Cabeza es un término y Cola otra lista. Hay una lista especial que no es un término compuesto: la lista vacía []. PROLOG incorpora notaciones más simples para listas: [Cabeza Cola] [] [T1,T2,...,Tn] [] Mixtas: [T1,T2,...,Tp Cola] Programación Lógica - E.T.S.I. Informática - Málaga 8
9 Ejercicios de comprobación de listas Comprobar cuales de las siguientes expresiones son listas y determinar el número de elementos en cada caso: [oros,copas,espadas,bastos] [oros copas,espadas,bastos] [oros [copas,espadas,bastos]] [oros,copas espadas,bastos] [oros,copas [espadas bastos]] [oros,copas,espadas [bastos]] [oros,copas,[espadas,bastos]] [oros,copas,espadas,bastos []] [oros [copas [espadas [bastos []]]]] Programación Lógica - E.T.S.I. Informática - Málaga 9
10 Ejercicios de unificación de listas [X Y] [a,[b,c]] [[a,b],c] [a X] [a X] [a X] [a,b,y] [a,b,y] [a,b Y] [a,b [Y]] [a,b [Y]] [a,b Y] [a,b,c] [X Y] [X Y] [Y a] [Y [c]] [Y] [X,T] [X T] [X,T] [a,b,c] [a,b,c,d] [a,b,c,d] Programación Lógica - E.T.S.I. Informática - Málaga 10
11 Árboles de búsqueda con listas Desarrollar el árbol de búsqueda correspondiente al programa siguiente: p([],[]). p([x Xs],[Y Ys]):-q(X,Y),p(Xs,Ys). q(a,b). q(a,y):-s(x),s(y). q(a,c). q(b,b). s(a). s(b). :-p([a,x],[x,b]). Programación Lógica - E.T.S.I. Informática - Málaga 11
12 Predicados sobre listas (I) Definir y estudiar los posibles usos de los siguientes predicados: % dominio de listas: es_lista/1 es_lista([]). es_lista([_ _]). % prefijo(prefijo,lista) % sufijo(sufijo,lista) % sublista(sublista,lista) % miembro(termino,lista) % seleccion(termino,lista,listaresto) Programación Lógica - E.T.S.I. Informática - Málaga 12
13 Prefijo % La lista vacía es prefijo de cualquier lista: prefijo([],l):- es_lista(l). % Una lista no vacía es prefijo de otra lista: prefijo([x Xs], [ X Ls ] ):- prefijo(xs,ls). no vacía con el mismo primer elemento si su cola es prefijo de la cola de la otra lista Programación Lógica - E.T.S.I. Informática - Málaga 13
14 Predicados sobre listas (II) Predicado para encadenar dos listas: encadena(as,bs,asbs) Definición atendiendo a la estructura del primer argumento: % La lista vacía encadenada con otra lista produce la otra: encadena([],bs,bs). % Una lista no vacía encadenada con otra lista produce una lista: encadena([a As],Bs, [ A AsBs ]) :- encadena(as,bs,asbs). no vacía con el mismo primer elemento cuya cola es la concatenación de su cola con la otra lista Programación Lógica - E.T.S.I. Informática - Málaga 14
15 Tabla de comportamiento de encadena/3 encadena(as,bs,asbs) (+,+,+) (+,+,-) (-,+,+) (+,-,+) (-,-,+) (-,-,-) test Generador único Generador único Generador único Generador acotado Generador infinito (anómalo) Comprueba si AsBs es la concatenación de As y Bs Genera AsBs a partir de As y de Bs Genera el prefijo As que encadenado con Bs da AsBs Genera el sufijo Bs que encadenado tras As da AsBs Genera todas las posibles particiones de AsBs en As y Bs Genera listas de variables libres para As, Bs queda libre y para AsBs la concatenación de ambas. Programación Lógica - E.T.S.I. Informática - Málaga 15
16 Predicados sobre listas (III) Redefinir los predicados siguientes utilizando encadena/3 y construir sus tablas de comportamiento teniendo en cuenta el comportamiento de encadena: % prefijo(as,asbs) % sufijo(bs,asbs) % sublista(bs,asbscs) % miembro(x,asxbs) % seleccion(x,asxbs,asbs) Definir: % ultimo(x,asx) % adyacentes(x,y,asxybs) % inversa(l,linvertida) % permutacion(l,lpermutada) % aplanada(l,lplana) Programación Lógica - E.T.S.I. Informática - Málaga 16
17 Predicados aritméticos sobre listas Definir predicados para calcular: La longitud de una lista. La suma de todos los elementos de una lista de números. El máximo elemento de una lista de números. La lista con todos los elementos del intervalo definido por dos números dados. Dar definiciones iterativas para cada uno de los predicados anteriores Programación Lógica - E.T.S.I. Informática - Málaga 17
18 Comparación de términos PROLOG dispone de una relación de orden para la comparación de términos, consistente con el orden numérico y con el orden alfabético para los nombres de átomos (permite la aparición de variables libres) Xs == Ys éxito cuando Xs e Ys representan el mismo término Xs \== Ys Ys Ys Ys Ys éxito cuando Xs e Ys representan términos distintos éxito cuando Xs representa un término menor que Ys éxito cuando Xs representa un término mayor que Ys éxito cuando Xs representa un término menor o ig. que Ys éxito cuando Xs representa un término mayor o ig. que Ys (Tienen sentido para términos de la misma categoría) (No confundir con las relaciones numéricas) Programación Lógica - E.T.S.I. Informática - Málaga 18
19 Comparación de términos sobre listas Definir predicados para 1) Determinar si un elemento, posiblemente una variable libre, pertenece a una lista. 2) Borrar un elemento de una lista. 3) Calcular el mínimo de una lista (de números o de nombres de átomos). 4) Comprobar si todos los elementos de una lista son iguales. 5) Sustituir todas las apariciones de un elemento, por otro, en una lista dada. Programación Lógica - E.T.S.I. Informática - Málaga 19
20 Listas ordenadas ordenada([]). ordenada([_]). ordenada([x,y Ls]):- Y, ordenada([y Ls]). ordenacion(l,lord):- permutacion(l,lord), ordenada(lord). Definir predicados para: 1) Insertar un elemento en una lista ordenada. 2) Ordenar los elementos de una lista por inserciones. 3) Separar los elementos de una lista con ayuda de un pivote. 4) Ordenar una lista por el procedimiento del pivote. Programación Lógica - E.T.S.I. Informática - Málaga 20
21 Cadenas de caracteres Las cadenas de caracteres son listas de caracteres. Prolog permite la representación habitual de cadenas entre comillas dobles, dentro de un programa o en una entrada, p.e. Hola!. Prolog almacena las cadenas como listas de códigos ASCII correspondientes a los caracteres Hola! [161, 72, 111, 108, 97, 33] Para mantener la representación textual puede ser conveniente utilizar átomos o texto entre comillas simples que no se puede descomponer en caracteres. :-write( Hola! ). :-write( Hola! ). produce la salida: [161,72,111,108,97,33] produce la salida: Hola! Programación Lógica - E.T.S.I. Informática - Málaga 21
22 Conjuntos representados con listas Los conjuntos se pueden representar en PROLOG mediante listas ordenadas y definir las distintas operaciones en función de dicha representación: % pertenece(elemento,conjunto) pertenece(x,[x _]). pertenece(x,[y Cs]):- Y, pertenece(x,cs). % subconjunto(subcj,conjunto) % union(c1,c2,c1oc2) % interseccion(c1,c2,c1yc2) % diferencia(c1,c2,c1\c2) Programación Lógica - E.T.S.I. Informática - Málaga 22
23 Árboles en PROLOG Programación Lógica - E.T.S.I. Informática - Málaga 23
24 Árboles binarios En PROLOG pueden representarse los distintos tipos de árboles binarios mediante estructuras recursivas: ArbolB = vacio arbol(arbolb, Termino, ArbolB) ArbolH = hoja(termino) arbol(arbolh, ArbolH) Definir predicados para: 1) Reconocer estos dominios. 2) Determinar si dos árboles son simétricos y si son isomorfos. 3) Producir los distintos recorridos en profundidad de un ArbolB. 4) Producir el listado de hojas de un ArbolH. 5) Sustituir un elemento en un árbol. Programación Lógica - E.T.S.I. Informática - Málaga 24
25 Árboles binarios de búsqueda (I) Los árboles binarios de búsqueda se corresponden con los árboles del tipo ArbolB, cuyo listado en inorden está ordenado: ordenado(a):- inorden(a,lin), ordenada(lin). Predicado para buscar un elemento (no genera): esta(x,arbolb(_,y,_)):- X==Y. esta(x,arbolb(i,r,_)):- R,esta(X,I). esta(x,arbolb(_,r,d)):- R,esta(X,D). Definir un predicado para insertar un elemento. Programación Lógica - E.T.S.I. Informática - Málaga 25
26 Árboles binarios de búsqueda (II) Elemento máximo de un árbol ordenado: maxarb(arbolb(_,r,vacio),r). maxarb(arbolb(_,r,d),m):- maxarb(d,m). Predicado para borrar un elemento: borra(x,vacio,vacio). borra(x,arbolb(vacio,r,d),d):- X == R. borra(x,arbolb(i,r,d),arbolb(i,m,d)):- X == R, maxarb(i,m),borra(m,i,i ). borra(x,arbolb(i,r,d),arbolb(i,r,d)):- R, borra(x,i,i ). borra(x,arbolb(i,r,d),arbolb(i,r,d )):- R, borra(x,d,d ). Programación Lógica - E.T.S.I. Informática - Málaga 26
27 Árboles de expresiones booleanas Booleano = cierto falso and(booleano,booleano) or(booleano,booleano) not(booleano) 1) Definir un predicado que reconozca este dominio. 2) Definir predicados que reconozcan las expresiones satisfactibles y las no satisfactibles. Programación Lógica - E.T.S.I. Informática - Málaga 27
28 Árboles de expresiones aritméticas Predicado para reconocer expresiones aritméticas simples: expa(n):- number(n). expa(x):- var(x). expa(e1 + E2):- expa(e1), expa(e2). expa(e1 - E2):- expa(e1), expa(e2). expa(e1 * E2):- expa(e1), expa(e2). expa(e1 / E2):- expa(e1), expa(e2). Definir un predicado para evaluar expresiones aritméticas con parámetros, dada una lista de valores para los parámetros. Programación Lógica - E.T.S.I. Informática - Málaga 28
29 Árboles generales (I) Los árboles generales se pueden representar en PROLOG mediante la siguiente estructura recursiva: ArbolG = vacio arbol(termino, [ArbolG]) Predicado para reconocer el dominio de los árboles generales arbolg(vacio). arbolg(arbol(_,[])). arbolg(arbol(r,[a As])):- arbolg(a), arbolg(arbol(r,as)). Programación Lógica - E.T.S.I. Informática - Málaga 29
30 Árboles generales (II) Definir predicados sobre árboles generales para: 1. Calcular el recorrido en preorden. 2. Determinar si un elemento es miembro de un árbol. 3. Determinar si dos árboles son isomorfos. 4. Sustituir las apariciones de un elemento por otro. Programación Lógica - E.T.S.I. Informática - Málaga 30
Curso PHP Módulo 1 R-Luis
Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.
Más detallesMódulo 9 Sistema matemático y operaciones binarias
Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional
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 detallesObjetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden
Especificación TEMA 1 formal de problemas Objetivos Revisar los principales conceptos de la lógica de primer orden Entender el concepto de estado de cómputo y cómo se modela con predicados lógicos Familiarizarse
Más detallesProgramación con listas
Programación con Estructuras III.1 Programación con listas Unificación con listas. Dominio de definición Predicados sobre listas.tablas de comportamiento Predicados aritméticos con listas. Predicados iterativos
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 detalles!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!
INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por
Más detallesUniversidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS
Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin
Más detallesCONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Más detallesEstructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria.
Estructuras Algebraicas Una estructura algebraica es un objeto matemático consistente en un conjunto no vacío, con por lo menos una operación binaria. Operación Binaria Se conoce una operación binaria
Más detallesTipos Abstractos de Datos
Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal
Más detallesINFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.
INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados
Más detallesEstructuras de datos: Proyecto 2
Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe
Más detallesCapítulo 6. ÁRBOLES.
67 Capítulo 6. ÁRBOLES. 6.1 Árboles binarios. Un árbol binario es un conjunto finito de elementos, el cual está vacío o dividido en tres subconjuntos separados: El primer subconjunto contiene un elemento
Más detallesApuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:
Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor
Más detallesTema 2 : Códigos Binarios
Tema 2 : Códigos Binarios Objetivo: Conocer diferentes códigos binarios Conocer algunos códigos de detección y corrección de errores. Códigos alfanuméricos 1 Códigos Binarios A la representación de cifras,
Más detallesINSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER
INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER Manual del Alumno ASIGNATURA: Matemática I PROGRAMA: S3C Lima-Perú SESION 1 SISTEMAS DE NUMERACION DEFINICION : Es un conjunto de reglas y principios que nos
Más detallesAmpliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
Más detallesANÁLISIS DESCRIPTIVO CON SPSS
ESCUELA SUPERIOR DE INFORMÁTICA Prácticas de Estadística ANÁLISIS DESCRIPTIVO CON SPSS 1.- INTRODUCCIÓN Existen dos procedimientos básicos que permiten describir las propiedades de las distribuciones:
Más detallesEstructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge santiago.jorge@udc.es Árboles binarios de búsqueda, Table of Contents
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesProyecto Unico Interpretador de SetCalc
Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2008 Proyecto Unico Interpretador de SetCalc A continuación se describe
Más detallesEstructuras de Datos y Algoritmos. Árboles de Expresión
Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.
Más detalles5.1 Listas. Por qué usar listas?
Listas 5.1 Listas En este capítulo introducimos el tipo de dato más importante dentro de la programación en inteligencia artificial. Existe un lenguaje de programación llamado LISP (LISt Procesing), en
Más detallesSistemas de Numeración
Sistemas de Numeración Objetivo: Conoce los sistemas de numeración diferentes al decimal Ser capaces de transformar una cifra de un sistema a otro 1 Introducción El sistema de numeración usado de forma
Más detallesÁrboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores
Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,
Más detallesTema 3 Elementos básicos de programación
Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender
Más detallesTécnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE
Técnicas de prueba El desarrollo de Sistemas de software implica la realización de una serie de actividades predispuestas a incorporar errores (en la etapa de definición de requerimientos, de diseño, de
Más detallesTema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco.
2010 Tema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco. Manuel González de León mgdl 01/01/2010 INDICE: 01. DE LOS NÚMEROS NATURALES A LOS NÚMEROS ENTEROS. 02. VALOR
Más detallesÁlgebras de Boole. Juan Medina Molina. 25 de noviembre de 2003
Álgebras de Boole Juan Medina Molina 25 de noviembre de 2003 Introducción Abordamos en este tema el estudio de las álgebras de Boole. Este tema tiene una aplicación directa a la electrónica digital ya
Más detallesEstructuras algebraicas
Tema 1 Estructuras algebraicas 1.1 Álgebras binarias Sea A un conjunto no vacío, una operación binaria (u operación interna) en A es una aplicación *: A A A (x, y) x * y es decir, una regla que a cada
Más detallesFunciones. Funciones Diapositiva 1
Funciones Concepto Insertar función Asistente de funciones Insertar función manualmente Autosuma Categorías Funciones matemáticas y trigonométricas: Suma, Producto, Subtotales, Redondear, Truncar, Sumar.Si
Más detallesEn la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales
Definición(1) Sistemas numéricos MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Un sistema de representación numérica es un sistema de lenguaje que consiste en: un conjunto ordenado de símbolos
Más detallesUNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO
UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia
Más detallesConjuntos, Relaciones y Grupos. Problemas de examen.
Conjuntos, Relaciones y Grupos. Problemas de examen. Mayo 2006 1. La función f es definida por (a) Halle el recorrido exacto, A, de f. f : R R donde f(x) = e senx 1. (b) (i) Explique por qué f no es inyectiva.
Más detallesConceptos básicos: 1,2 puntos
Procesadores del Lenguaje 1 Universidad Rey Juan Carlos Departamento de Lenguajes y Sistemas Informáticos I 8 de junio de 2009 Parcial primero. Conceptos básicos y problemas. Entrega en 90 minutos. Lea
Más detallesSistemas de numeración, operaciones y códigos.
Tema : Sistemas de numeración, operaciones y códigos. Para representar ideas, los seres humanos (al menos los occidentales) utilizamos cadenas de símbolos alfanuméricos de un alfabeto definido. En el mundo
Más detallesTablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado
Álgebra Relacional Un álgebra es un sistema matemático constituido por Operandos: objetos (valores o variables) desde los cuales nuevos objetos pueden ser construidos. Operadores: símbolos que denotan
Más detallesSignificado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo
Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo Semánticas del cálculo de predicados proporcionan las bases formales para determinar el valor
Más detallesESTRUCTURA DE DATOS: ARREGLOS
ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción
Más detallesSolución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
Más detallesFICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad
Más detallesESTRUCTURAS ALGEBRAICAS. Parte 1
ESTRUCTURAS ALGEBRAICAS Parte 1 ESTRUCTURAS ALGEBRAICAS Una estructura algebraica es una n-tupla (a 1,a 2,...,a n ), donde a 1 es un conjunto dado no vacío, y {a 2,...,a n } un conjunto de operaciones
Más detalles1. SISTEMAS DIGITALES
1. SISTEMAS DIGITALES DOCENTE: ING. LUIS FELIPE CASTELLANOS CASTELLANOS CORREO ELECTRÓNICO: FELIPECASTELLANOS2@HOTMAIL.COM FELIPECASTELLANOS2@GMAIL.COM PAGINA WEB MAESTROFELIPE.JIMDO.COM 1.1. INTRODUCCIÓN
Más detallesTecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014
Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada
Más detallesUNIDAD I: LÓGICA PROPOSICIONAL
UNIDAD I: LÓGICA PROPOSICIONAL ASIGNATURA: INTRODUCCIÓN A LA COMPUTACIÓN CARRERAS: LICENCIATURA Y PROFESORADO EN CIENCIAS DE LA COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA FACULTAD DE CIENCIAS FÍSICO MATEMÁTICA
Más detallesEJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO
EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO 1º) Considérese un número estrictamente positivo del sistema de números máquina F(s+1, m, M, 10). Supongamos que tal número es: z = 0.d 1 d...d s 10 e Responde
Más detallesTema 2: La clase string
: string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen
Más detallesI. ALGEBRA DE BOOLE. c) Cada operación es distributiva con respecto a la otra: a. ( b + c) = a. b + a. c a + ( b. c ) = ( a + b ).
I. I.1 DEFINICION. El Algebra de Boole es toda clase o conjunto de elementos que pueden tomar dos valores perfectamente diferenciados, que designaremos por 0 y 1 y que están relacionados por dos operaciones
Más detallesDefinición 1.1.1. Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.
Tema 1 Matrices Estructura del tema. Conceptos básicos y ejemplos Operaciones básicas con matrices Método de Gauss Rango de una matriz Concepto de matriz regular y propiedades Determinante asociado a una
Más detallesTema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios
Tema 10- Representación Jerárquica: Árboles Binarios Tema 10- Representación Jerárquica: Árboles Binarios Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia
Más detallesRepresentación de la Información
Representar: Expresar una información como una combinación de símbolos de un determinado lenguaje. Trece -> símbolos 1 y 3 Interpretar: Obtener la información originalmente representada a partir de una
Más detallesÍndice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones
Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Números 2 Polinomios 3 Funciones y su Representación
Más detallesárbol como un conjunto de nodos y líneas
ÁRBOLES CAPÍTULO 6 ÁRBOLES Desde el punto de vista conceptual, un árbol es un objeto que comienza con una raíz (root) y se extiende en varias ramificaciones o líneas (edges), cada una de las cuales puede
Más detallesCONJUNTOS Y RELACIONES BINARIAS
UNIVERSIDAD CATÓLICA ANDRÉS BELLO FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA INFORMÁTICA CÁTEDRA DE LÓGICA COMPUTACIONAL CONJUNTOS Y RELACIONES BINARIAS INTRODUCCIÓN Intuitivamente, un conjunto es una
Más detallesSemántica Denotacional
Semántica Denotacional Idea: El significado de un programa es la función denotada por el programa Componentes del metalenguaje para la definición semántica denotacional de un L.P.: Dominios sintácticos
Más detallesTema 2. La Información y su representación
Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica
Más detallesUna variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.
Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden
Más detallesTeoría Tema 5 Espacios vectoriales
página 1/14 Teoría Tema 5 Espacios vectoriales Índice de contenido Puntos en 2 y 3 dimensiones...2 Vectores en el plano...5 Suma de vectores...7 Combinación lineal de vectores...8 Sistema generador...10
Más detallesUNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse
Más detallesTALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.
TALLER #5 ACCESS CONSULTAS Las consultas son los objetos de una base de datos que permiten recuperar datos de una tabla, modificarlos e incluso almacenar el resultado en otra tabla. TIPOS DE CONSULTAS
Más detallesTAD Lineales: Pila, Cola y Lista
TAD Lineales: Pila, Cola y Lista Objetivos! Dar a conocer los TAD lineales pila, cola y lista! Presentar la especificación de cada uno de los TAD! Discutir implementaciones alternativas para cada uno de
Más detallesCapítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8
Dpto. de ATC, Universidad de Sevilla - Página de Capítulo : INTRODUCCIÓN SISTEMAS DE REPRESENTACIÓN NUMÉRICA Introducción Bases de numeración Sistema decimal Sistema binario Sistema hexadecimal REPRESENTACIÓN
Más detalles21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)
Agenda 0 Tipos de datos 0 Sistemas numéricos 0 Conversión de bases 0 Números racionales o Decimales 0 Representación en signo-magnitud 0 Representación en complemento Unidad Central de Procesamiento (CPU)
Más detallesÁrbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción
Árbol binario Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción Un Árbol Binario es un conjunto finito de Elementos, de nombre Nodos de forma que: El Árbol Binario
Más detallesDEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
Más detallesRelaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d
Relaciones binarias En esta sección estudiaremos formalmente las parejas de objetos que comparten algunas características o propiedades en común. La estructura matemática para agrupar estas parejas en
Más detallespromedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio
Arreglos Un arreglo es un tipo de datos que contiene varios elementos de un mismo tipo. Cada elemento tiene asociado un índice, y puede ser tratado como si fuera una variable. La cantidad de elementos
Más detallesGEOMETRÍA ANALÍTICA 2º Curso de Bachillerato 22 de mayo de 2008
1. Sean los puntos A (1, 0,-1) y B (,-1, 3). Calcular la distancia del origen de coordenadas a la recta que pasa por A y B. Calculemos la recta que pasa por A y B. El vector AB es (1,-1,4) y por tanto
Más detallesESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Construcción de una Base de Datos
Descargado desde www.medwave.cl el 13 Junio 2011 por iriabeth villanueva Medwave. Año XI, No. 2, Febrero 2011. ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Construcción de una Base de Datos Autor:
Más detallesApuntes de Matemática Discreta 9. Funciones
Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y
Más detallescircuitos digitales Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007
Oliverio J. Santana Jaria Sistemas Digitales 8. Análisis lógico l de los circuitos digitales Ingeniería Técnica en Informática de Sistemas Los Curso 26 27 El conjunto circuitos de puertas digitales lógicas
Más detalles3.1. Concepto de función. Dominio, recorrido y gráfica. 3.1.1. Concepto de función
TEMA 3 FUNCIONES 3.1. Concepto de función. Dominio, recorrido y gráfica. 3.1.1. Concepto de función Una función es una relación establecida entre dos variables que asocia a cada valor de la primera variable
Más detallesCentro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Más detallesTIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)
APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:
Más detallesANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES
ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES SISTEMA DE NUMERACIÓN BASE 2 El sistema de numeración binario es el conjunto de elementos {0, 1} con las operaciones aritméticas (suma, resta,
Más detallesTEMA II REPASO. SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.
TEMA II REPASO. SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA. INTRODUCCIÓN. Entendemos por sistema de numeración, la forma de representar cantidades mediante un sistema de valor posicional. Los ordenadores
Más detallesTEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información
TEMA 1: SISTEMAS INFORMÁTICOS Parte 2: representación de la información Qué vamos a ver? Cómo se representa y almacena la información en un ordenador Cómo podemos relacionar la información que entendemos
Más detalles4. Modelo Relacional: Manipulación de los datos.
Modelo Relacional: Manipulación de los datos. 54 4. Modelo Relacional: Manipulación de los datos. 4.1. Lenguaje de procedimiento: álgebra relacional Los lenguajes de procedimientos para consultar bases
Más detallesIntroducción a la plataforma Moodle Aníbal de la Torre 2006. Plataforma Moodle. Accediendo a los contenidos
Plataforma Moodle Accediendo a los contenidos Formatos ----------------------------------------------------------------------- 2 Glosarios -----------------------------------------------------------------------
Más detallesTema 3. El modelo Relacional
Tema 3. El modelo Relacional Juan Ignacio Rodríguez de León Resumen Presenta el modelo entidad-relación. Visión de alto nivel de las cuestiones referentes a diseño de bases de datos y los problemas encontrados
Más detallesEstructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas:
Estructuras de Datos Tema. 1. Definiciones básicas 2. Implementación. Operaciones con montículos 4. Definiciones básicas: En un árbol binario completo todos los niveles del árbol (excepto tal vez el último)
Más detallesOperaciones y Expresiones METATRADER, CONCEPTOS BÁSICOS DE PROGRAMACIÓN III
Operaciones y Expresiones METATRADER, CONCEPTOS BÁSICOS DE PROGRAMACIÓN III Introducción Operaciones y Expresiones. Operadores Aritméticos Operadores de Asignación Operadores de Relación Operadores Lógicos
Más detallesTEMA 3 POLINOMIOS NOMBRE Y APELLIDOS... HOJA 1 - FECHA...
TEMA 3 POLINOMIOS NOMBRE Y APELLIDOS... HOJA 1 - FECHA... TEMA 3 EXPRESIONES ENTERAS Y POLINOMIOS Una expresión algebraica es una combinación de letras y números con operaciones matemáticas que las unen,
Más detallesHerramientas computacionales para la matemática MATLAB: Otros tipos de datos
Herramientas computacionales para la matemática MATLAB: Otros tipos de datos Verónica Borja Macías Mayo 2012 1 Otros tipos de datos La especialidad de MATLAB es trabajar con vectores y matrices, pero MATLAB
Más detallesInecuaciones y Sistemas de Inecuaciones Lineales con una Incóg
PreUnAB Inecuaciones y Sistemas de Inecuaciones Lineales con una Incógnita Clase # 11 Agosto 2014 Intervalos Reales Orden en R Dados dos números reales a y b, se dice que a es menor que b, a < b, si b
Más detallesESTRUCTURAS ALGEBRAICAS 1
ESTRUCTURAS ALGEBRAICAS Se da la relación entre dos conjuntos mediante el siguiente diagrama: (, ) (2, 3) (, 4) (, 2) (7, 8) (, ) (3, 3) (5, ) (6, ) (, 6)........ 5 6......... 2 5 i) Observa la correspondencia
Más detallesIngeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007
Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el
Más detallesTema 3 : Algebra de Boole
Tema 3 : Algebra de Boole Objetivo: Introducción al Algebra de Boole 1 INTRODUCCIÓN George Boole creó el álgebra que lleva su nombre en el primer cuarto del siglo XIX. Pretendía explicar las leyes fundamentales
Más detallesJuan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada
FUNCIONES CONTINUAS. La mayor parte de las funciones que manejamos, a nivel elemental, presentan en sus gráficas una propiedad característica que es la continuidad. La continuidad de una función definida
Más detallesNÚMEROS NATURALES Y NÚMEROS ENTEROS
NÚMEROS NATURALES Y NÚMEROS ENTEROS Los números naturales surgen como respuesta a la necesidad de nuestros antepasados de contar los elementos de un conjunto (por ejemplo los animales de un rebaño) y de
Más detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
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 detallesPARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S
PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA Valor del dinero en el tiempo Conceptos de capitalización y descuento Ecuaciones de equivalencia financiera Ejercicio de reestructuración de deuda T E M A
Más detallesRestricciones sobre dominios finitos con Gprolog
Autores: Rubén García Portal Nikolai Smirnov Restricciones sobre dominios finitos con Gprolog Introducción. Este documento explicará brevemente las funciones que se utilizan en Gprolog para resolución
Más detallesSistema de Gestión Académica. Mantenimiento de Usuarios. Revisión 1.0. Servicio de Informática Área de Gestión
Sistema de Gestión Académica Mantenimiento de Usuarios Revisión 1.0 Servicio de Informática Área de Gestión Septiembre de 2003 1 Introducción. Debido al incremento de usuarios de la aplicación SIGA y al
Más detallesTEMA 1 Representación de la información
TEMA 1 Representación de la información Tema 1: Representación de la información. Aritmética y Representación binaria 1) Introducción BB1, Cap 2, Ap: 2.1, 2.2.1 2) Sistemas binario-octal-hexadecimal BB1,
Más detallesHalla dominio e imagen de las funciones
Tema 1 Las Funciones y sus Gráficas Ejercicios Resueltos Ejercicio 1 Halla dominio e imagen de las funciones y Como no está definido si, es decir, si El recorrido o imagen será el conjunto de todos los
Más detallesTecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
Más detalles