Lambda Cálculo Tipado (1/3)

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

Download "Lambda Cálculo Tipado (1/3)"

Transcripción

1 Lambda Cálculo Tipado (1/3) Eduardo Bonelli Departamento de Computación FCEyN UBA There may, indeed, be other applications of the system other than its use as a logic Alonzo Church, de abril, 2007

2 Qué es el Lambda Cálculo? Modelo de computación basado en funciones da origen a la programación funcional Introducido por Alonzo Church en 1934 Computacionalmente completo (i.e. Turing completo) También considerado como modelo fiable de lenguajes de programación en general The next 700 programming languages, Peter Landin, 1966 Lema: Usar lambda cálculo para probar nuevos conceptos de programación

3 Por qué Lambda Cálculo? En un lenguaje industrial-strength es difícil determinar con precisión/rigurosidad propiedades básicas sobre semántica y sistema de tipos efecto de extender el lenguaje con nuevas construcciones la relación con otros lenguajes o paradigmas Es conveniente restringir el lenguaje a un subconjunto que sea representativo (del paradigma o área de problemas) conciso reducido en cuanto a primitivas riguroso en su formulación

4 Qué vamos a estudiar sobre Lambda Cálculo? La formulación original es sin tipos Dado nuestro interés en lenguajes de programación, vamos a estudiar el Lambda Cálculo Tipado (A. Church, 1941) En el marco del Lambda Cálculo Tipado vamos a presentar 1. Tipos, términos, tipado, evaluación (Clase 1/3 y 2/3) 2. Inferencia de tipos (Clase 3/3) Comenzaremos con Lambda Cálculo Tipado con expresiones booleanas y luego iremos enriqueciendo el lenguaje con otras construcciones

5 Expresiones de tipos Las expresiones de tipos (o simplemente tipos) de LC b son σ ::= Bool σ τ Descripción informal: Bool es el tipo de los booleanos, σ τ es el tipo de las funciones de tipo σ en tipo τ

6 Términos de LC b Sea X un conjunto infinito enumerable de variables y x X. Los términos de LC b están dados por M ::= x true false if M then P else Q λx : σ.m M N

7 Términos de LC b Descripción informal: x es una variable de términos, true y false son las constantes de verdad, if M then P else Q es el condicional, λx : σ.m es una función que cuyo parámetro formal es x y cuyo cuerpo es M y M N es la aplicación de la función denotada por el término M al argumento N.

8 Ejemplos λx : Bool.x λx : Bool.if x then false else true λf : σ τ.λx : σ.f x (λf : Bool Bool.f true)(λy : Bool.y) x y

9 Variables libres Una variable puede ocurrir libre o ligada en un término. Decimos que x ocurre libre si no se encuentra bajo el alcance de una ocurrencia de λx. Caso contrario ocurre ligada. λx : Bool.if }{{} x ligada λx : Bool.λy : Bool.if true then λx : Bool.if (λx : Bool.if x }{{} ligada x }{{} ligada then true else false x }{{} ligada then true else y }{{} libre then true else false) else x }{{} libre y }{{} ligada

10 Variables libres: Definición formal FV (x) FV (true) = FV (false) FV (if M then P else Q) FV (M N) FV (λx : σ.m) def = {x} def = def = FV (M) FV (P) FV (Q) def = FV (M) FV (N) def = FV (M) \ {x}

11 Sustitución M{x N} Sustituir todas las ocurrencias libres de x en el término M por el término N Operación importante que se usa para darle semántica a la aplicación de funciones (entre otras) Es sencilla de definir pero requiere cuidado en el tratamiento de los ligadores de variables (i.e. con λx )

12 Sustitución x{x N} a{x N} (if M then P else Q){x N} (M 1 M 2 ){x N} (λy : σ.m){x N} def = N def = a si a {true, false} def = if M{x N} then P{x N} else Q{x N} def = M 1 {x N} M 2 {x N} def =?

13 Captura de variables Sustituir el término z por la variable x (λz : σ.x){x z} = λz : σ.z Hemos convertido a la función constante λz : σ.x en la función identidad! El problema: λz : σ capturó la ocurrencia libre de z Hipótesis: los nombres de las variables ligadas no son relevantes la ecuación de arriba debería ser comparable con (λw : σ.x){x z} = λw : σ.z Conclusión: Para definir (λy : σ.m){x N} asumiremos que la variable ligada y se renombró de tal manera que no ocurre libre en M

14 α-equivalencia α-equivalencia Dos términos M y N que difieren solamente en el nombre de sus variables ligadas se dicen α-equivalentes α-equivalencia es una relación de equivalencia De aquí en más identificaremos términos α-equivalentes. λx : Bool.x = α λy : Bool.y λx : Bool.y = α λz : Bool.y λx : Bool.y α λx : Bool.z λx : Bool.λx : Bool.x α λy : Bool.λx : Bool.y

15 Sustitución - Revisada x{x N} a{x N} (if M then P else Q){x N} (M 1 M 2 ){x N} (λy : σ.m){x N} def = N def = a si a {true, false} def = if M{x N} then P{x N} else Q{x N} def = M 1 {x N} M 2 {x N} def = λy : σ.m{x N} x y, y / FV (N) 1. NB: la condición x y, y / FV (N) siempre puede cumplirse renombrando apropiadamente 2. Técnicamente, la sust. está definida sobre clases de α-equivalencia de términos

16 Sistema de tipado Sistema formal de deducción (o derivación) que utiliza axiomas y reglas de tipado para caracterizar un subconjunto de los términos llamados tipados. Los axiomas de tipado establecen que ciertos juicios de tipado son derivables. Las reglas de tipado establecen que ciertos juicios de tipado son derivables siempre y cuando ciertos otros lo sean. Motivar juicios de tipado: Qué tipo le asignaría a true? Y a if x then true else false?

17 Sistema de tipado Un contexto de tipado es un conjunto de pares x i : σ i, anotado {x 1 : σ 1,..., x n : σ n } donde los {x i } i 1..n son distintos. Usamos letras Γ,,... para contextos de tipado. Un juicio de tipado es una expresión de la forma Γ M : σ que se lee: el término M tiene tipo σ asumiendo el contexto de tipado Γ

18 Sistema de tipado El significado de Γ M : σ se establece a través de la introducción de axiomas y reglas de tipado. Si Γ M : σ puede derivarse usando los axiomas y reglas de tipado decimos que es derivable. A continuación presentaremos los axiomas y reglas de tipado de LC b

19 Axiomas de tipado x : σ Γ (T-Var) Γ x : σ (T-True) Γ true : Bool (T-False) Γ false : Bool

20 Reglas de tipado Γ M : Bool Γ P : σ Γ Q : σ (T-If) Γ if M then P else Q : σ Γ, x : σ M : τ Γ λx : σ.m : σ τ (T-Abs) Γ M : σ τ Γ M N : τ Γ N : σ (T-App)

21 Ejemplos de derivaciones de juicios de tipado Vamos a mostrar que los siguientes juicios de tipado son derivables: 1. λx : Bool.λf : Bool Bool.fx : Bool 2. x : Bool, y : Bool if x then y else y : Bool 3. λf : ρ τ.λg : σ ρ.λx : σ.f (gx) : τ 4. Γ, σ tal que Γ x x : σ?

22 Resultados básicos Unicidad de tipos Si Γ M : σ y Γ M : τ son derivables, entonces σ = τ Weakening+Strengthening Si Γ M : σ es derivable y Γ Γ contiene a todas las variables libres de M, entonces Γ M : σ Sustitución Si Γ, x : σ M : τ y Γ N : σ son derivables, entonces Γ M{x N} : τ es derivable

23 Semántica Habiendo definido la sintaxis de LC b, nos interesa formular cómo se evalúan o ejecutan los términos Hay varias maneras de definir rigurosamente la semántica de un lenguaje de programación Operacional Denotacional Axiomática Vamos a definir una semántica operacional para LC b

24 Qué es semántica operacional? Consiste en interpretar a los términos como estados de una máquina abstracta y definir una función de transición que indica, dado un estado, cuál es el siguiente estado Significado de un término M: el estado final que alcanza la máquina al comenzar con M como estado inicial Formas de definir semántica operacional 1. Small-step: la función de transición describe un paso de computación 2. Big-step (o Natural Semantics): la función de transición, en un paso, evalúa el término a su resultado

25 Semántica operacional La formulación se hace a través de juicios de evaluación M N que se leen: el término M reduce, en un paso, al término N El significado de un juicio de evaluación se establece a través de: Axiomas de evaluación: establecen que ciertos juicios de evaluación son derivables. Reglas de evaluación establecen que ciertos juicios de evaluación son derivables siempre y cuando ciertos otros lo sean.

26 Semántica operacional small-step de LC b Vamos a presentar una semántica operacional small-step para LC b Lo haremos por partes Primero abordamos las expresiones booleanas Luego el resto de las expresiones Además de introducir la función de transición es conveniente introducir también los valores Valores: Los posibles resultados de evaluación de términos bien-tipados y cerrados

27 Semántica Operacional - Expr. booleanas Valores V ::= true false Todo término bien-tipado y cerrado de tipo Bool evalúa, en cero o más pasos, a true o false Este resultado se demuestra formalmente

28 Semántica Operacional - Expr. booleanas Juicio de evaluación en un paso (E-IfTrue) if true then M 2 else M 3 M 2 (E-IfFalse) if false then M 2 else M 3 M 3 M 1 M 1 if M 1 then M 2 else M 3 if M 1 then M 2 else M 3 (E-If)

29 Ejemplos (E-IfFalse) if false then false else true true (E-If) if (if false then false else true) then false else true if true then false else true Observar que No existe M tal que true M (idem con false).

30 Ejemplos if true then (if false then false else true) else true if true then true else true La estrategia de evaluación corresponde con el orden habitual en leng. de prog. 1. Primero evaluar la guarda del condicional 2. Una vez que la guarda sea un valor, seguir con la expresión del then o del else, según corresponda

31 Propiedades Lema (Determinismo del juicio de evaluación en un paso) Si M M y M M, entonces M = M

32 Propiedades Una forma normal es un término que no puede evaluarse más (i.e. M tal que no existe N, M N) Recordar que un valor es resultado al que puede evaluar un término bien-tipado y cerrado Lema Todo valor está en forma normal No vale el recíproco: ejemplos if x then true else false x

33 Evaluación en muchos pasos El juicio de evaluación de muchos pasos es la clausura reflexiva, transitiva de. Es decir, la menor relación tal que 1. Si M M, entonces M M 2. M M para todo M 3. Si M M y M M, entonces M M if true then (if false then false else true) else true true

34 Evaluación en muchos pasos - Propiedades Lema (Unicidad de formas normales) Si M U y M V con U, V formas normales, entonces U = V Lema (Terminación) Para todo M existe una forma normal N tal que M N

35 Semántica operacional - funciones Valores V ::= true false λx : σ.m Todo término bien-tipado y cerrado de tipo Bool evalúa, en cero o más pasos, a true, false σ τ evalúa, en cero o más pasos, a λx : σ.m, para alguna variable x y término M

36 Semántica operacional - funciones Juicio de evaluación en un paso M 1 M 1 M 1 M 2 M 1 M 2 (E-App1) M 2 M 2 (E-App2) V 1 M 2 V 1 M 2 (E-AppAbs) (λx : σ.m) V M{x V }

37 Ejemplo (λy : Bool.y) true true (λx : Bool Bool.x true) (λy : Bool.y) (λy : Bool.y) true (λz : Bool.z) ((λy : Bool.y) true) (λz : Bool.z) true No existe M tal que x M x está en forma normal pero no es un valor

38 Estados de error Estado de error Estado (=término) que no es un valor pero en el que la evaluación está trabada NB: Representa estado en el cual el sistema de run-time en una implementación real generaría una excepción Objetivo de un sistema de tipos: garantizar la ausencia de estados de error Si un término cerrado está bien tipado (y termina!), entonces evalúa a un valor C.f. Type systems, Luca Cardelli, The Computer Science and Engineering Handbook, CRC Press, 2004.

39 Correctitud Correctitud = Progreso + Preservación Progreso Si M es cerrado y bien tipado entonces 1. M es un valor 2. o bien existe M tal que M M La evaluación no puede trabarse para términos cerrados, bien tipados que no son valores Preservación Si Γ M : σ y M N, entonces Γ N : σ La evaluación preserva tipos

40 Tipos y términos σ ::= Bool Nat σ ρ M ::=... 0 succ(m) pred(m) iszero(m) Descripción informal: succ(m): evaluar M hasta arrojar un número e incrementarlo pred(m): evaluar M hasta arrojar un número y decrementar iszero(m): evaluar M hasta arrojar un número, luego retornar true/false según sea cero o no

41 Tipado (T-Zero) Γ 0 : Nat Γ M : Nat Γ M : Nat (T-Succ) (T-Pred) Γ succ(m) : Nat Γ pred(m) : Nat Γ M : Nat (T-IsZero) Γ iszero(m) : Bool

42 Valores y evaluación en un paso (1/2) Valores V ::=... n donde n abrevia succ n (0). Juicio de evaluación en un paso (1/2) M 1 M 1 (E-Succ) succ(m 1 ) succ(m 1) (E-PredZero) pred(0) 0 (E-PredSucc) pred(n + 1) n M 1 M 1 (E-Pred) pred(m 1 ) pred(m 1)

43 Valores y evaluación en un paso (2/2) Juicio de evaluación en un paso (2/2) (E-IsZeroZero) iszero(0) true (E-IsZeroSucc) iszero(n + 1) false M 1 M 1 (E-IsZero) iszero(m 1 ) iszero(m 1)

44 Tipos y términos σ ::=... Unit M ::=... unit Descripción informal: Unit es un tipo unitario y el único valor posible de una expresión de ese tipo es unit. Cumple rol similar a void en C o Java

45 Tipado (T-Unit) Γ unit : Unit NB: No hay reglas de evaluación y extendemos el conjunto de valores V con unit.

46 Utilidad Su utilidad principal es en lenguajes con efectos laterales (próxima clase) En estos lenguajes es útil poder evaluar varias expresiones en secuencia M 1 ; M 2 def = (λx : Unit.M 2 ) M 1 x / FV (M 2 ) La evaluación de M 1 ; M 2 consiste en primero evaluar M 1 y luego M 2 Con la definición dada, este comportamiento se logra con las reglas de evaluación definidas previamente

47 Tipos y términos M ::=... let x = M in N Descripción informal: let x = M in N: evaluar M a un valor V, ligar x a V y evaluar N Mejora la legibilidad La extensión con let no implica agregar nuevos tipos

48 Ejemplo let x = 2 in succ(x) pred (let x = 2 in x) let x = 2 in let x = 3 in x

49 Tipado Γ M : σ 1 Γ, x : σ 1 N : σ 2 (T-Let) Γ let x = M in N : σ 2

50 Semántica operacional M 1 M 1 (E-Let) let x = M 1 in M 2 let x = M 1 in M 2 (E-LetV) let x = V 1 in M 2 M 2 {x V 1 }

51 Tipos y términos Sea L un conjunto de etiquetas σ ::=... {l i : σ i i 1..n } {nombre : String, edad : Nat} {persona : {nombre : String, edad : Nat}, cuil : Nat} {nombre : String, edad : Nat} {edad : Nat, nombre : String}

52 Tipos y términos M ::=... {l i = M i i 1..n } M.l Descripción informal: El registro {l i = M i i 1..n } evalúa a {l i = V i i 1..n } donde V i es el valor al que evalúa M i, i 1..n M.l: evaluar M hasta que arroje {l i = V i i 1..n }, luego proyectar el campo correspondiente

53 Ejemplos λx : Nat.λy : Bool.{edad = x, sexo = y} λp : {edad : Nat, sexo : Bool}.p.edad (λp : {edad : Nat, sexo : Bool}.p.edad) {edad = 20, sexo = false}

54 Tipado Γ M i : σ i para cada i 1..n (T-Rcd) Γ {l i = M i 1..n i } : {l i : σ i 1..n i } Γ M : {l i : σ i i 1..n } j 1..n (T-Proj) Γ M.l j : σ j

55 Semántica operacional Valores V ::=... {l i = V i i 1..n }

56 Semántica operacional j 1..n {l i = V i i 1..n }.l j V j (E-ProjRcd) M M (E-Proj) M.l M.l M j M j {l i = V i i 1..j 1, l j = M j, l i = M i i j+1..n } {l i = V i i 1..j 1, l j = M j, l i = M i i j+1..n } (E-Rcd)

Nociones Básicas de Sémantica: Semántica Denotacional

Nociones Básicas de Sémantica: Semántica Denotacional Nociones Básicas de Sémantica: Semántica Denotacional Análisis de Lenguajes de Programación Mauro Jaskelioff 21/08/2015 Acerca de la Semántica Operacional En la semántica operacional el significado de

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S Tipos de datos en S Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 5 Codificación de programas, Halting problem, diagonalización, tesis de Church,

Más detalles

GUÍA BÁSICA DE SCHEME v.4

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

Más detalles

IIC2213. IIC2213 Teorías 1 / 42

IIC2213. IIC2213 Teorías 1 / 42 Teorías IIC2213 IIC2213 Teorías 1 / 42 Qué es una teoría? Una teoría es un cúmulo de información. Debe estar libre de contradicciones. Debe ser cerrada con respecto a lo que se puede deducir de ella. Inicialmente

Más detalles

MMAF: Espacios normados y espacios de Banach

MMAF: Espacios normados y espacios de Banach MMAF: Espacios normados y espacios de Banach Licenciatura en Estadística R. Álvarez-Nodarse Universidad de Sevilla Curso 2011/2012 Espacios vectoriales Definición Sea V un conjunto de elementos sobre el

Más detalles

Tema 1 Programación Funcional

Tema 1 Programación Funcional Tema 1 Programación Funcional Curso de Python Avanzado Juan Pedro Boĺıvar Puente Instituto de Astrofísica de Andalucía Mayo de 2011 Juan Pedro Boĺıvar Puente (Instituto de Astrofísica Tema de Andalucía)

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Trabajo Práctico Final

Trabajo Práctico Final Trabajo Práctico Final Paradigmas de Lenguajes de Programación (1er cuatrimestre de 2009) Integrante LU Correo electrónico Castillo, Gonzalo 164/06 gonzalocastillo 086@hotmail.com Martínez, Federico 17/06

Más detalles

Capítulo 4. Lógica matemática. Continuar

Capí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 detalles

Métodos de Inteligencia Artificial

Mé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 detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

Más detalles

Tema 6: Teoría Semántica

Tema 6: Teoría Semántica Tema 6: Teoría Semántica Sintáxis Lenguaje de de las las proposiciones Lenguaje de de los los predicados Semántica Valores Valores de de verdad verdad Tablas Tablas de de verdad verdad Tautologías Satisfacibilidad

Más detalles

Tema 9: Cálculo Deductivo

Tema 9: Cálculo Deductivo Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 2: LÓGICA DE PRIMER ORDEN Tema 9: Cálculo Deductivo Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 24/10/2012 Introducción a la

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Estatutos de Control C# Estatutos de Decisión (Selección)

Estatutos de Control C# Estatutos de Decisión (Selección) SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente

Más detalles

Tipos Abstractos de Datos

Tipos 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 detalles

Tema 3.- Predicados y sentencias condicionales

Tema 3.- Predicados y sentencias condicionales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

Más detalles

Curso de Java Introducción a la Programación III

Curso de Java Introducción a la Programación III Curso de Java Introducción a la Programación III Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Operadores relacionales e igualdad 2 Estructuras de control condicional

Más detalles

Semánticas de procesos y aplicaciones

Semánticas de procesos y aplicaciones Semánticas de procesos y aplicaciones Clase 09: Manipulación básica de procesos, parte 2 Qué vimos Definición precisa de lo que es que una derivación en lógica ecuacional. Reglas de derivación. Axiomas

Más detalles

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. ALGEBRA y ALGEBRA LINEAL 520142 Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas Universidad de Concepción 1 La lógica es

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos Semana02[1/23] 9 de marzo de 2007 Introducción Semana02[2/23] La teoría de conjuntos gira en torno a la función proposicional x A. Los valores que hacen verdadera la función proposicional x A son aquellos

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El 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 detalles

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

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

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6]

ALGEBRA DE BOOLE George Boole C. E. Shannon E. V. Hungtington [6] ALGEBRA DE BOOLE El álgebra booleana, como cualquier otro sistema matemático deductivo, puede definirse con un conjunto de elementos, un conjunto de operadores y un número de axiomas no probados o postulados.

Más detalles

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

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

Más detalles

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

Más detalles

Semántica Denotacional

Semá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 detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

Más detalles

Semana03[1/17] Funciones. 16 de marzo de Funciones

Semana03[1/17] Funciones. 16 de marzo de Funciones Semana03[1/17] 16 de marzo de 2007 Introducción Semana03[2/17] Ya que conocemos el producto cartesiano A B entre dos conjuntos A y B, podemos definir entre ellos algún tipo de correspondencia. Es decir,

Más detalles

Teoría de la Computabilidad

Teoría de la Computabilidad Teoría de la Computabilidad Módulo 7: Lenguajes sensibles al contexto 2016 Departamento de Cs. e Ing. de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Es este programa en Pascal sintácticamente

Más detalles

El ente básico de la parte de la matemática conocida como ANÁLISIS, lo constituye el llamado sistema de los número reales.

El ente básico de la parte de la matemática conocida como ANÁLISIS, lo constituye el llamado sistema de los número reales. EL SISTEMA DE LOS NÚMEROS REALES Introducción El ente básico de la parte de la matemática conocida como ANÁLISIS, lo constituye el llamado sistema de los número reales. Números tales como:1,3, 3 5, e,

Más detalles

Introducción a la Programación en MATLAB

Introducción a la Programación en MATLAB Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos

Más detalles

Ampliación Matemática Discreta. Justo Peralta López

Ampliación Matemática Discreta. Justo Peralta López Justo Peralta López UNIVERSIDAD DE ALMERíA DEPARTAMENTO DE ÁGEBRA Y ANÁLISIS MATEMÁTICO 1 Introducción 2 Definición semántica de las proposiciones 3 Diagrama de valores de certeza 4 Evaluación de fórmulas.

Más detalles

John Venn Matemático y filósofo británico creador de los diagramas de Venn

John 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 detalles

1. Sucesiones y redes.

1. Sucesiones y redes. 1. Sucesiones y redes. PRACTICO 7. REDES. Se ha visto que el concepto de sucesión no permite caracterizar algunas nociones topológicas, salvo en espacios métricos. Esto empieza con algunas definiciones

Más detalles

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Terminaremos el capítulo con una breve referencia a la teoría de cardinales. TEMA 5. CARDINALES 241 Tema 5. Cardinales Terminaremos el capítulo con una breve referencia a la teoría de cardinales. Definición A.5.1. Diremos que el conjunto X tiene el mismo cardinal que el conjunto

Más detalles

Conjuntos, relaciones y funciones Susana Puddu

Conjuntos, relaciones y funciones Susana Puddu Susana Puddu 1. Repaso sobre la teoría de conjuntos. Denotaremos por IN al conjunto de los números naturales y por ZZ al de los enteros. Dados dos conjuntos A y B decimos que A está contenido en B o también

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

Introducción a la Lógica

Introducción a la Lógica Tema 0 Introducción a la Lógica En cualquier disciplina científica se necesita distinguir entre argumentos válidos y no válidos. Para ello, se utilizan, a menudo sin saberlo, las reglas de la lógica. Aquí

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN

INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN INTRODUCCION A LA INTELIGENCIA ARTIFICIAL MÓDULO 6- CÁLCULO DE PREDICADOS Y LÓGICA DE PRIMER ORDEN Referencias: Inteligencia Artificial Russell and Norvig Cap.6. Artificial Intellingence Nils Nilsson Ch.4

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

UNIVERSIDADES DE ANDALUCÍA PRUEBA DE ACCESO A LA UNIVERSIDAD

UNIVERSIDADES DE ANDALUCÍA PRUEBA DE ACCESO A LA UNIVERSIDAD Opción A Ejercicio 1.- Sea f : R R definida por f(x) = x 3 +ax 2 +bx+c. a) [1 75 puntos] Halla a,b y c para que la gráfica de f tenga un punto de inflexión de abscisa x = 1 2 y que la recta tangente en

Más detalles

Ejercicios de Lógica Proposicional *

Ejercicios de Lógica Proposicional * Ejercicios de Lógica Proposicional * FernandoRVelazquezQ@gmail.com Notación. El lenguaje proposicional que hemos definido, aquel que utiliza los cinco conectivos,,, y, se denota como L {,,,, }. Los términos

Más detalles

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

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

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad 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 detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

Lógica proposicional. Ivan Olmos Pineda

Lógica proposicional. Ivan Olmos Pineda Lógica proposicional Ivan Olmos Pineda Introducción Originalmente, la lógica trataba con argumentos en el lenguaje natural es el siguiente argumento válido? Todos los hombres son mortales Sócrates es hombre

Más detalles

APENDICE REGLAS Y LEYES DE LA LOGICA DE PRIMER ORDEN

APENDICE REGLAS Y LEYES DE LA LOGICA DE PRIMER ORDEN LOGICA (FCE-UBA) APENDICE REGLAS Y LEYES DE LA LOGICA DE PRIMER ORDEN Una regla lógica, o regla de inferencia (deductiva), es una forma válida de razonamiento que es empleada para inferir deductivamente

Más detalles

UNIVERSIDAD LIBRE PROGRAMAS ANALÍTICOS SECCIONAL: PEREIRA FACULTAD: INGENIERIAS. PROGRAMA ACADÉMICO: Ingeniería de Sistemas

UNIVERSIDAD LIBRE PROGRAMAS ANALÍTICOS SECCIONAL: PEREIRA FACULTAD: INGENIERIAS. PROGRAMA ACADÉMICO: Ingeniería de Sistemas PROGRAMAS ANALÍTICOS SECCIONAL: PEREIRA FACULTAD: INGENIERIAS PROGRAMA ACADÉMICO: Ingeniería de Sistemas JORNADA: DIURNA 1.- INFORMACION DEL DOCENTE E-mail institucional: E-mail personal: 2.- ESTUDIOS

Más detalles

Tema 3 - Modelado con HDL a nivel RTL

Tema 3 - Modelado con HDL a nivel RTL - Modelado con HDL a nivel RTL Eduardo Rodríguez Martínez Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana Unidad Azcapotzalco Email: erm@correo.azc.uam.mx

Más detalles

Econometría de series de tiempo aplicada a macroeconomía y finanzas

Econometría de series de tiempo aplicada a macroeconomía y finanzas Econometría de series de tiempo aplicada a macroeconomía y finanzas Series de Tiempo no Estacionarias Carlos Capistrán Carmona ITAM Tendencias Una tendencia es un movimiento persistente de largo plazo

Más detalles

Alejandro Díaz-Caro. 16 de diciembre de 2007

Alejandro Díaz-Caro. 16 de diciembre de 2007 (de André van Tonder [vt04]) Departamento de Ciencias de la Computación Facultad de Ciencias Exactas, Ingeniería y Agrimensura Universidad Nacional de Rosario 16 de diciembre de 2007 Contenido de la presentación

Más detalles

Lógica Matemática, Sistemas Formales, Cláusulas de Horn

Lógica Matemática, Sistemas Formales, Cláusulas de Horn Lógica Matemática, Sistemas Formales, Cláusulas de Horn Lic. José Manuel Alvarado La lógica se ocupa de las argumentaciones válidas. Las argumentaciones ocurren cuando se quiere justificar una proposición

Más detalles

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos

Más detalles

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 1: Fundamentos:

Más detalles

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES UNIDD 4 RESOLUCIÓN DE SISTEMS MEDINTE DETERMINNTES Página 00 Resolución de sistemas mediante determinantes x y Resuelve, aplicando x = e y =, los siguientes sistemas de ecuaciones: x 5y = 7 5x + 4y = 6x

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Universidad de Managua

Universidad de Managua Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras

Más detalles

Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012

Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012 Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Proposiciones Definición 1.1 Una proposición (o declaración) es una oración declarativa

Más detalles

ESCUELA: UNIVERSIDAD DEL ISTMO

ESCUELA: UNIVERSIDAD DEL ISTMO 1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3041 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3033.- OBJETIVO GENERAL Proporcionar al alumno

Más detalles

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES RELACIONES BINARIAS PAR ORDENADO Es un arreglo de dos elementos que tienen un orden determinado donde a es llamada al primera componente y b es llamada la

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

13.3. MT para reconocer lenguajes

13.3. MT para reconocer lenguajes 13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática

Más detalles

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse lógicamente como un término no definido. Un conjunto se

Más detalles

Matemáticas Básicas para Computación

Matemáticas Básicas para Computación Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 6 Nombre: Álgebra Booleana Objetivo Durante la sesión el participante identificará las principales características

Más detalles

Modelos Estocásticos I Tercer Examen Parcial Respuestas

Modelos Estocásticos I Tercer Examen Parcial Respuestas Modelos Estocásticos I Tercer Examen Parcial Respuestas. a Cuál es la diferencia entre un estado recurrente positivo y uno recurrente nulo? Cómo se define el período de un estado? Demuestre que si el estado

Más detalles

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

Más detalles

Práctico 5. Definiciones Inductivas - Segunda Parte -

Práctico 5. Definiciones Inductivas - Segunda Parte - Práctico 5 Definiciones Inductivas - Segunda Parte - Objetivos: Trabajar con tipos inductivos. Realizar pruebas por inducción y análisis de casos. Familiarizarse con los lemas de inversión y las tácticas

Más detalles

CONTINUIDAD DE FUNCIONES. SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos.

CONTINUIDAD DE FUNCIONES. SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos. CAPÍTULO IV. CONTINUIDAD DE FUNCIONES SECCIONES A. Definición de función continua. B. Propiedades de las funciones continuas. C. Ejercicios propuestos. 121 A. DEFINICIÓN DE FUNCIÓN CONTINUA. Una función

Más detalles

Análisis Matemático I: Numeros Reales y Complejos

Análisis Matemático I: Numeros Reales y Complejos Contents : Numeros Reales y Complejos Universidad de Murcia Curso 2008-2009 Contents 1 Definición axiomática de R Objetivos Definición axiomática de R Objetivos 1 Definir (y entender) R introducido axiomáticamente.

Más detalles

MAT2715 VARIABLE COMPLEJA II Ayudantia 5 Rodrigo Vargas. g(z) e u(z) 1. u(z) a log z + b

MAT2715 VARIABLE COMPLEJA II Ayudantia 5 Rodrigo Vargas. g(z) e u(z) 1. u(z) a log z + b PONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE FACULTAD DE MATEMÁTICAS MAT2715 VARIABLE COMPLEJA II Ayudantia 5 Rodrigo Vargas 1. Sea u : C R una función armónica positiva. Pruebe que u es constante. Solución:

Más detalles

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN May 4, 2012 1. Optimización Sin Restricciones En toda esta sección D denota un subconjunto abierto de R n. 1.1. Condiciones Necesarias de Primer Orden. Proposición 1.1. Sea f : D R diferenciable. Si p

Más detalles

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL

EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL EJERCICIOS DE LENGUAJES Y PARADIGMAS DE PROGRAMACIÓN (CUESTIONES DE EXAMEN) PROGRAMACIÓN FUNCIONAL María Alpuente y María José Ramírez 1 LENGUAJES Y PARADIGMAS: INTRODUCCIÓN 1. Indica cuál de las siguientes

Más detalles

Polaridad. Tangentes. Estudio geométrico de cónicas y cuádricas

Polaridad. Tangentes. Estudio geométrico de cónicas y cuádricas Tema 6- Polaridad Tangentes Estudio geométrico de cónicas y cuádricas En este tema pretendemos estudiar propiedades de V(Q), especialmente en los casos real y complejo, con n =2,3 Para ello, necesitamos

Más detalles

Lógicas para la inteligencia natural y artificial

Lógicas para la inteligencia natural y artificial 1er día virtual de la comunidad de Inteligencia Artificial Lógicas para la inteligencia natural y artificial México DF, 18 de junio de 2015 Contenido La lógica humana: comprender y razonar sobre lo natural

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

Conjuntos. () April 4, / 32

Conjuntos. () April 4, / 32 Conjuntos En general, un conjunto A se de ne seleccionando los elementos de un cierto conjunto U de referencia (o universal) que cumplen una determinada propiedad. () April 4, 2014 1 / 32 Conjuntos En

Más detalles

Lenguajes de Dominio Específico (o Lenguajes para Todos)

Lenguajes de Dominio Específico (o Lenguajes para Todos) Lenguajes de Dominio Específico (o Lenguajes para Todos) Mauro Jaskelioff 20/11/2015 Lenguajes para Todos Todo sistema que acepte entrada de un usuario es un procesador de lenguaje. John Reynolds Los lenguajes

Más detalles

Java para no Programadores

Java para no Programadores Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen

Más detalles

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román.

Inteligencia en Redes de Comunicaciones. Razonamiento lógico. Julio Villena Román. Inteligencia en Redes de Comunicaciones Razonamiento lógico Julio Villena Román jvillena@it.uc3m.es Índice La programación lógica Lógica de predicados de primer orden Sistemas inferenciales IRC 2009 -

Más detalles

Ingeniería a de Software CC51A

Ingeniería a de Software CC51A Ingeniería a de Software CC51A Clase Auxiliar Auxiliar: Andrés s Neyem Oficina 418 de Doctorado aneyem@dcc.uchile.cl 19 de Marzo de 2007 Aspectos Generales Grupo CC51A Diseño Cliente Requisitos Usuario

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería

Más detalles

Tema 2: Equivalencias y formas normales

Tema 2: Equivalencias y formas normales Lógica informática Curso 2003 04 Tema 2: Equivalencias y formas normales José A. Alonso Jiménez Andrés Cordón Franco Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Más detalles

4. Complementos sobre Problemas de Contorno para S.D.O. Lineales. 4. Complementos sobre Problemas de Contorno

4. Complementos sobre Problemas de Contorno para S.D.O. Lineales. 4. Complementos sobre Problemas de Contorno para S.D.O. Lineales 4.1. Problemas de contorno para s.d.o. lineales. Teorema de alternativa 4.1. Problemas de contorno. Teorema de alternativa Fijemos A C 0 ([α, β]; L(R N )) y b C 0 ([α, β]; R N ), dos

Más detalles

Teorema del Valor Medio

Teorema del Valor Medio Tema 6 Teorema del Valor Medio Abordamos en este tema el estudio del resultado más importante del cálculo diferencial en una variable, el Teorema del Valor Medio, debido al matemático italo-francés Joseph

Más detalles

Material diseñado para los estudiantes del NUTULA, alumnos del profesor Álvaro Moreno.01/10/2010 Lógica Proposicional

Material diseñado para los estudiantes del NUTULA, alumnos del profesor Álvaro Moreno.01/10/2010 Lógica Proposicional Lógica Proposicional INTRODUCCIÓN El humano se comunica con sus semejantes a través de un lenguaje determinado (oral, simbólico, escrito, etc.) construido por frases y oraciones. Estas pueden tener diferentes

Más detalles

Capitulo IV - Inecuaciones

Capitulo IV - Inecuaciones Capitulo IV - Inecuaciones Definición: Una inecuación es una desigualdad en las que hay una o más cantidades desconocidas (incógnita) y que sólo se verifica para determinados valores de la incógnita o

Más detalles

Receptor de Correlación. Sistemas de Comunicación

Receptor de Correlación. Sistemas de Comunicación Receptor de Correlación Sistemas de Comunicación Facundo Mémoli * -Versión 2.- mayo, 22 * memoli@iie.edu.uy Índice. Introducción 3 2. Hipótesis y Planteo del Problema 3 3. Procedimiento 4 3.. Hipótesis

Más detalles

Taller Matemático. Lógica. Cristóbal Pareja Flores antares.sip.ucm.es/cpareja Facultad de Estadística Universidad Complutense de Madrid

Taller Matemático. Lógica. Cristóbal Pareja Flores antares.sip.ucm.es/cpareja Facultad de Estadística Universidad Complutense de Madrid Taller Matemático Lógica Cristóbal Pareja Flores antares.sip.ucm.es/cpareja Facultad de Estadística Universidad Complutense de Madrid 1. Lógica 14 amigos aportan la misma cantidad de dinero, sobre un fondo

Más detalles

PRODUCTO CARTESIANO RELACIONES BINARIAS

PRODUCTO CARTESIANO RELACIONES BINARIAS PRODUCTO CARTESIANO RELACIONES BINARIAS Producto Cartesiano El producto cartesiano de dos conjuntos A y B, denotado A B, es el conjunto de todos los posibles pares ordenados cuyo primer componente es un

Más detalles

Repaso de Lógica de Primer Orden

Repaso de Lógica de Primer Orden Repaso de Lógica de Primer Orden IIC3260 IIC3260 Repaso de Lógica de Primer Orden 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre algunas constantes

Más detalles