Cálculo Lambda Lenguajes Aplicativos puros Un Lenguaje Aplicativo con referencias y asignación Lenguajes y Compiladores
|
|
- Ernesto Gallego Vázquez
- hace 6 años
- Vistas:
Transcripción
1 2015
2 Estructura de la materia a grandes rasgos: Primera Parte: Lenguaje imperativo Segunda Parte: Lenguaje aplicativo puro, y lenguaje aplicativo con referencias y asignación
3 Ejes de contenidos de la segunda parte 1 Cálculo Lambda 2 3
4 Lenguajes Aplicativos exp ::= var exp exp λ var. exp natconst boolconst exp exp + exp exp exp... exp exp exp exp exp if exp then exp else exp error typeerror natconst ::= boolconst ::= true false
5 Evaluación Eager Formas canónicas cnf ::= intcnf boolcnf funcnf intcnf ::= boolcnf ::= boolconst funcnf ::= λ var. exp
6 Evaluación Eager Formas canónicas cnf ::= intcnf boolcnf funcnf intcnf ::= boolcnf ::= boolconst funcnf ::= λ var. exp No hay formas canónicas para el error.
7 Reglas para E Notación: z es una metavariable para cnf, i para intcnf y b para boolcnf. Regla para las formas canónicas z E z Regla para la aplicación e E λv.e 0 e E z (e 0 /v z ) E z ee E z
8 Reglas para E Regla para las operaciones enteras y booleanas: e E i e E i e + e E i + i
9 Reglas para E Regla para las operaciones enteras y booleanas: e E i e E i e + e E i + i Generalizando: e E i e E i e e E i i (donde {+,,, =,,,,...}
10 Reglas para E Regla para las operaciones enteras y booleanas: e E i e E i (donde {, }
11 Reglas para E Regla para las operaciones enteras y booleanas: e E i e E i (donde {, } e E i e E i e e E i i (i 0) (donde {/, }
12 Reglas para E e E true e 0 E z if e then e 0 else e 1 E z e E false e 1 E z if e then e 0 else e 1 E z
13 Evaluación Normal Formas Canónicas: Las mismas (por ahora). Regla para las formas canónicas z N z Regla para la aplicación e N λv.e 0 (e 0 /v e ) N z ee N z
14 Más reglas para N Regla "lazy" para las operaciones enteras: e N false e e N false
15 Más reglas para N Regla "lazy" para las operaciones enteras: e N false e e N false Alternativa: uso de abreviaturas e e = def if e then e else false e e = def if e then true else e.
16 Semántica Denotacional Eager Para el CLE: D = V V V fun (aquí V fun = V D)
17 Semántica Denotacional Eager Para el CLE: D = V V V fun (aquí V fun = V D) Para el Lenguaje Aplicativo Eager: D = (V + {error} + {typeerror}) V V int + V bool + V fun
18 Semántica Denotacional Eager: Valores V V int + V bool + V fun V int = Z V bool = {V, F} V fun = V D
19 Semántica Denotacional Eager: Valores V V int + V bool + V fun V int = Z V bool = {V, F} V fun = V D Ahora el isomorfismo φ y su inversa ψ satisfacen: φ V V int + V bool + V fun ψ V int + V bool + V fun V
20 Funciones auxiliares ι int V int V se define: donde ι int = ψ ι 0 ι 0 V int V int + V bool + V fun
21 Funciones auxiliares ι int V int V se define: donde ι int = ψ ι 0 ι 0 V int V int + V bool + V fun Lo mismo para booleanos y funciones: ι int V int V ι bool V bool V ι fun V fun V
22 D = (V + {error} + {typeerror}) err = ι ι 1 (error)) tyerr = ι ι 2 (typeerror)
23 Constructores de D D = (V + {error} + {typeerror}) err = ι ι 1 (error)) tyerr = ι ι 2 (typeerror) ι norm V D ι norm = ι ι 0
24 Más funciones auxiliares Si f V D entonces f D D se define: f (ι norm a) = f a f (err) = err f (tyerr) = tyerr f ( ) =
25 Más funciones auxiliares Si f V int D entonces f int V D se define: f int (ι int i) = f i f int (ι bool b) = tyerr f int (ι fun f ) = tyerr
26 Más funciones auxiliares Si f V int D entonces f int V D se define: f int (ι int i) = f i f int (ι bool b) = tyerr f int (ι fun f ) = tyerr Por ejemplo, si f V int D entonces f int D D
27 Más funciones auxiliares Si f V θ D entonces f θ V D se define: f θ (ι θ x) = f x f θ a = tyerr si a no es de la forma ι θ x para para θ = int, bool, fun
28 Funciones semánticas Entornos: Env = var V
29 Funciones semánticas Entornos: Env = var V Función semántica: [[_]] exp exp Env D
30 Ecuaciones semánticas Notación: ι θ = ι norm ι θ [[0]]η = ι int 0 [[true]]η = ι bool T
31 Ecuaciones semánticas Notación: ι θ = ι norm ι θ [[0]]η = ι int 0 [[true]]η = ι bool T [[ e]]η = (λi V int. ι int i ) int ([[e]]η)
32 Ecuaciones semánticas Notación: ι θ = ι norm ι θ [[0]]η = ι int 0 [[true]]η = ι bool T [[ e]]η = (λi V int. ι int i ) int ([[e]]η) [[e + e ]]η = (λi V int. (λi V int. ι int i + i ) int ([[e ]]η)) int ([[e]]η).
33 Ecuaciones semánticas Notación: ι θ = ι norm ι θ [[0]]η = ι int 0 [[true]]η = ι bool T [[ e]]η = (λi V int. ι int i ) int ([[e]]η) [[e + e ]]η = (λi V int. (λi V int. ι int i + i ) int ([[e ]]η)) int ([[e]]η). [[e/e ]]η = (λi V int. (λi V int. if i = 0 then err else ι int i/i ) int ([[e ]]η)) int ([[e]]η)
34 Ecuaciones semánticas [[v]]η = ι norm v [[ee ]]η = (λf V fun. (λz V. f z) ([[e ]]η)) fun ([[e]]η)
35 Ecuaciones semánticas [[v]]η = ι norm v [[ee ]]η = (λf V fun. (λz V. f z) ([[e ]]η)) fun ([[e]]η) = (λf V fun. f ([[e ]]η)) fun ([[e]]η)
36 Ecuaciones semánticas [[v]]η = ι norm v [[ee ]]η = (λf V fun. (λz V. f z) ([[e ]]η)) fun ([[e]]η) = (λf V fun. f ([[e ]]η)) fun ([[e]]η) [[λv.e]]η = ι fun (λz V. [[e]][η v : z])
37 Ecuaciones semánticas [[v]]η = ι norm v [[ee ]]η = (λf V fun. (λz V. f z) ([[e ]]η)) fun ([[e]]η) = (λf V fun. f ([[e ]]η)) fun ([[e]]η) [[λv.e]]η = ι fun (λz V. [[e]][η v : z]) [[error]]η = err [[typeerror]]η = tyerr
38 Semántica Denotacional Normal Para el CLN: D = V V V fun (aquí V fun = D D)
39 Semántica Denotacional Eager Para el CLN: D = V V V fun (aquí V fun = D D) Para el Lenguaje Aplicativo Normal (lo mismo que el eager): D = (V + {error} + {typeerror}) V V int + V bool + V fun
40 Semántica Denotacional Normal: Valores V V int + V bool + V fun V int = Z V bool = {V, F} V fun = D D
41 Semántica Denotacional Eager: Valores V V int + V bool + V fun V int = Z V bool = {V, F} V fun = D D Los isomorfismos φ y ψ, lo mismo que las funciones auxiliares ι θ V θ V, los resultados err y tyerr, la función ι norm V D, y las extensiones f D D y f θ V D se definen de la misma manera.
42 Funciones semánticas Entornos: Env = var D
43 Funciones semánticas Entornos Normales: Env = var D Función semántica: [[_]] exp exp Env D
44 Ecuaciones semánticas La mayoría de las ecuaciones son las mismas. Vamos a señalar aquellas de presentan algún cambio. Evaluación lazy de las expresiones booleanas: [[e e ]]η = (λb V bool. if b then ι bool T ) bool ([[e]]η) else (λb V bool.ι bool b ) bool ([[e ]]η)
45 Ecuaciones semánticas Cálculo lambda: [[v]]η = η v
46 Ecuaciones semánticas Cálculo lambda: [[v]]η = η v [[ee ]]η = (λf V fun. f [[e ]]η) fun ([[e]]η)
47 Ecuaciones semánticas Cálculo lambda: [[v]]η = η v [[ee ]]η = (λf V fun. f [[e ]]η) fun ([[e]]η) [[λv.e]]η = ι fun (λd D. [[e]][η v : d])
48 Tuplas exp ::= exp,..., exp exp. tag tag ::= natconst
49 Evaluación de las Tuplas Formas canónicas: cnf ::= intcnf boolcnf funcnf tuplecnf
50 Evaluación de las Tuplas Formas canónicas: cnf ::= intcnf boolcnf funcnf tuplecnf Formas canónicas para la evaluación Eager: tuplecnf ::= tuplecnf,..., tuplecnf
51 Evaluación de las Tuplas Formas canónicas: cnf ::= intcnf boolcnf funcnf tuplecnf Formas canónicas para la evaluación Eager: tuplecnf ::= cnf,..., cnf Formas canónicas para la evaluación Normal: tuplecnf ::= exp,..., exp
52 Reglas para la evaluación Eager (Tuplas) e 0 E z 0... e n 1 E z n 1 e 0,..., e n 1 E z 0,..., z n 1
53 Reglas para la evaluación Eager (Tuplas) e 0 E z 0... e n 1 E z n 1 e 0,..., e n 1 E z 0,..., z n 1 e E z 0,..., z n 1 e. k E z k (k < n)
54 Reglas para la evaluación Normal (Tuplas) No hay regla para la tupla e 0,..., e n 1 porque es una forma canónica. e N e 0,..., e n 1 e. k N z e k N z (k < n)
55 Semántica denotacional de las tuplas V V int + V bool + V fun + V tuple
56 Semántica denotacional de las tuplas V V int + V bool + V fun + V tuple Semántica denotacional Eager: V tuple = V
57 Semántica denotacional de las tuplas V V int + V bool + V fun + V tuple Semántica denotacional Eager: V tuple = V Semántica denotacional Normal: V tuple = D
58 Ecuaciones semánticas Eager [[ e 0,..., e n 1 ]]η = (λz 0 V. (λz 1 V....(λz n 1 V. ι tuple z 0,..., z n 1 ) ([[e n 1 ]])... ) ([[e 1 ]]η) ) ([[e 0 ]]η)
59 Ecuaciones semánticas Eager [[e. k ]]η = (λt V tuple. if k t then tyerr else ι norm t k ) tuple ([[e]]η)
60 Ecuaciones semánticas Normales [[ e 0,..., e n 1 ]]η = [[e 0 ]]η,..., [[e n 1 ]]η
61 Ecuaciones semánticas Normales [[ e 0,..., e n 1 ]]η = [[e 0 ]]η,..., [[e n 1 ]]η [[e. k ]]η = (λt V tuple. if k t then tyerr else t k ) tuple ([[e]]η)
62 Definiciones locales y patrones exp ::= let pat exp,..., pat exp in exp λ pat. exp pat ::= var pat,..., pat
63 Definiciones locales y patrones exp ::= let pat exp,..., pat exp in exp λ pat. exp pat ::= var pat,..., pat Por ejemplo, podemos escribir λ u, v, w.uvw en vez de λt.(t.0)(t.1.0)(t.1.1)
64 Se definen como abreviaturas (azucar sintactico): λ p 1,..., p n.e = λv. let p 1 v.0,..., p n v.[n 1] in e donde v es una variable nueva (no ocurre libre en e ni en ninguno de los patrones).
65 Se definen como abreviaturas (azucar sintactico): λ p 1,..., p n.e = λv. let p 1 v.0,..., p n v.[n 1] in e donde v es una variable nueva (no ocurre libre en e ni en ninguno de los patrones). let p 1 e 1,..., p n e n in e = (λp 1... λp n.e)e 1... e n
66 Aplicando repetidamente estas dos transformaciones podemos eliminar los patrones que no sean variables y las definiciones locales (let) obteniendo una expresión cuya semántica ya está definida.
67 Aplicando repetidamente estas dos transformaciones podemos eliminar los patrones que no sean variables y las definiciones locales (let) obteniendo una expresión cuya semántica ya está definida. Tener en cuenta que cuando n = 0, let p 1 e 1,..., p n e n in e quedará let in e, esto en realidad es directamente la expresión e
68 Recursión (Eager) exp ::= letrec var λ var. exp in exp El letrec permite hacer definiciones recursivas como letrec fact λn. if n = 0 then 1 else n fact(n 1) in fact 10
69 Regla para la Evaluación Eager (e/v λu.e 0 ) E z letrec v λu.e 0 in e E z donde e 0 = letrec v λu.e 0 in e 0
70 Regla para la Evaluación Normal e (rec e) N z rec e N z
71 Semántica Denotacional Eager (Recursión) [[letrec v λu.e 0 in e ]]η = [[e]][η v : ι fun g]
72 Semántica Denotacional Eager (Recursión) [[letrec v λu.e 0 in e ]]η = [[e]][η v : ι fun g] donde g es el menor punto fijo de F f z = [[e]][η v : ι fun f, u : z]
73 Semántica Denotacional Eager (Recursión) [[letrec v λu.e 0 in e ]]η = [[e]][η v : ι fun g] donde g es el menor punto fijo de o sea F f z = [[e]][η v : ι fun f, u : z] g = Y Vfun F Y Vfun F = i F i
74 Semántica Denotacional Eager (Recursión) [[letrec v λu.e 0 in e ]]η = [[e]][η v : ι fun g] donde g es el menor punto fijo de o sea F f z = [[e]][η v : ι fun f, u : z] g = Y Vfun F Y Vfun F = i F i g = Y Vfun (λf V fun.λz V.[[e]][η v : ι fun f, u : z])
75 Semántica Denotacional Normal (Recursión) [[rec e]]η = (λf V fun. Y D f ) fun ([[e]]η) donde Y D es el operador de menor punto fijo Y D f = i f i
76
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 detallesGUÍ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 detallesNociones 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 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 detallesAPUNTES PARA LENGUAJES Y COMPILADORES
APUNTES PARA LENGUAJES Y COMPILADORES Cuando se define un lenguaje de programación, se determina su sintaxis y su semántica La sintaxis se refiere a las notaciones necesarias para escribir programas, y
Más detallesCurso 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 detallesNota 2. Luis Sierra. Marzo del 2010
Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones
Más detallesLenguajes y Compiladores
Información: http://www.cs.famaf.unc.edu.ar/wiki/ Profesores: Héctor Gramaglia, Miguel Pagano, Demetrio Vilela Régimen de regularidad y Promoción Se tomarán 2 parciales Promoción: obteniendo al menos 7
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 detallesLenguajes y Compiladores
2015 Estructura de la materia a grandes rasgos: Primera Parte: Lenguaje imperativo Segunda Parte: Lenguaje aplicativo puro, y lenguaje aplicativo con referencias y asignación Ejes de contenidos de la primer
Más detallesForma binomial de números complejos (ejercicios)
Forma binomial de números complejos (ejercicios) Objetivos. Mostrar que los números reales x se pueden identificar con números complejos de la forma (x, 0), y cada número complejo (x, y) se puede escribir
Más detallesEsta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )
Tema 3 Formas cuadráticas. 3.1. Definición y expresión matricial Definición 3.1.1. Una forma cuadrática sobre R es una aplicación q : R n R que a cada vector x = (x 1, x 2,, x n ) R n le hace corresponder
Más detallesRecordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.
Capítulo 1 Preliminares Vamos a ver en este primer capítulo de preliminares algunos conceptos, ideas y propiedades que serán muy útiles para el desarrollo de la asignatura. Se trata de resultados sobre
Más detallesFundamentos de programación y Bases de Datos
Fundamentos de programación y Bases de Datos Duración: 25.00 horas Descripción En la actualidad la mayoría de nuestra vida esta basada en el uso de programas informáticos. Para desarrollar un programa
Más detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detallesCiclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL
Ciclos Fundamentos de Programación Recordando Estructuras de Control Básicas: Una secuencia es una serie de estatutos que se ejecutan uno después de otro. Selección (condición) ejecuta diferentes estatutos
Más detallesEJERCICIOS 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 detallesProgramación Funcional en Haskell
Programación Funcional en Haskell Paradigmas de Lenguajes de Programación 1 cuatrimestre 2006 1. Expresiones, valores y tipos Un programa en lenguaje funcional consiste en definir expresiones que computan
Más detallesTema 5: Elementos de geometría diferencial
Tema 5: Elementos de geometría diferencial José D. Edelstein Universidade de Santiago de Compostela FÍSICA MATEMÁTICA Santiago de Compostela, abril de 2011 Coordenadas locales y atlas. Funciones y curvas.
Más detallesEstructuras de Datos. La pila es un objeto dinámico en constante cambio.
21 Capítulo 2. LA PILA (STACK). 2.1 Definición y ejemplos. Una pila es un conjunto ordenado de elementos en el cual se pueden agregar y eliminar elementos de un extremo, el cual es llamado el tope de la
Más detallesGeneración de Variables Aleatorias. UCR ECCI CI-1453 Investigación de Operaciones Prof. M.Sc. Kryscia Daviana Ramírez Benavides
Generación de Variables Aleatorias UCR ECCI CI-453 Investigación de Operaciones Prof. M.Sc. Kryscia Daviana Ramírez Benavides Introducción Las variables aleatorias se representan por medio de distribuciones
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesLenguajes 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 detallesExpresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz
Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.
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 detallesModelos 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 detallesPropiedades de las operaciones lineales con matrices
Propiedades de las operaciones lineales con matrices Ejercicios Objetivos. Aprender a demostrar propiedades de las operaciones lineales en M m n (R). Requisitos. Operaciones lineales en R n, definición
Más detallesEstructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Más detallesAlgoritmos y Estructuras de Datos II
8 de abril de 2015 Clase de hoy 1 Repaso Tipos concretos versus abstractos Tipos abstractos de datos 2 3 4 TAD Pila Especificación del TAD Pila Repaso Tipos concretos versus abstractos Tipos abstractos
Más detallesProgramació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 detalles5. Subprogramas Fundamentos de Informática
5. Subprogramas Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013 Índice Subprogramas 1. Cálculo de la función Coseno 2. Suma 3. Ecuación de 2º grado 2 1. Cálculo de
Más detallesEs toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:
Tipos de datos. Dato: Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: I Numéricos: Almacenan números y con
Más detallesEl lenguaje Haskell 98
El lenguaje Haskell 98 Un lenguaje perezoso completamente Curry con sobrecarga. Juan Pedro Villa Introducción Las razones agudas son ronquidos para los oídos tontos. William
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 detallesEl Autómata con Pila: Transiciones
El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta
Más detallesGramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I
Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:
Más detallesSESIÓN 11 DERIVACIÓN DE FUNCIONES TRIGONOMETRICAS INVERSAS
SESIÓN 11 DERIVACIÓN DE FUNCIONES TRIGONOMETRICAS INVERSAS I. CONTENIDOS: 1. Función inversa, conceptos y definiciones 2. Derivación de funciones trigonométricas inversas 3. Ejercicios resueltos 4. Estrategias
Más detallesMétodos directos para resolver sistemas de ecuaciones lineales
Métodos directos para resolver sistemas de ecuaciones lineales Problemas para examen Si en algún problema se pide calcular el número de flops (operaciones aritméticas con punto flotante), entonces en el
Más detallesModelos de Software. Ingeniería en Sistemas de Información 2015
Modelos de Software Ingeniería en Sistemas de Información 2015 Diagrama de Clases UML La línea que separa el modelado de la programación a veces se vuelve algo difusa. Existen muchas herramientas que permiten
Más detallesIntroduc)on to Programming (in C++) Ejemplos de tratamiento de secuencia de secuencias. Emma Rollón Departament of Computer Science
Introduc)on to Programming (in C++) Ejemplos de tratamiento de secuencia de secuencias Emma Rollón Departament of Computer Science Ejemplo 1: recorrido con recorrido Input: La entrada consiste en un número
Más detallesTipos 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 detallesObjetivos 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 detallesExterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}
Bloque II. 2. Objetos y acciones elementales Bloque II. 2. Objetos y acciones elementales Objetivos: Familiarizarse con conceptos de entorno, objeto y tipo Entender qué significa que un objeto sea de un
Más detallesConjunto R 3 y operaciones lineales en R 3
Conjunto R 3 y operaciones lineales en R 3 Objetivos. Definir el conjunto R 3 y operaciones lineales en R 3. Requisitos. Conjunto de los números reales R, propiedades de las operaciones aritméticas en
Más detallesApéndice sobre ecuaciones diferenciales lineales
Apéndice sobre ecuaciones diferenciales lineales Juan-Miguel Gracia 10 de febrero de 2008 Índice 2 Determinante wronskiano. Wronskiano de f 1 (t), f 2 (t),..., f n (t). Derivada de un determinante de funciones.
Más detallesOperadores y Expresiones
Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los
Más detalles(Quinta clase: Ejemplos de producto. Coproducto) Recordemos que se dijo que el diagrama
22 (Quinta clase: Ejemplos de producto. Coproducto) Recordemos que se dijo que el diarama π 1 π 2 es un producto de los objetos y si para todo diarama de la orma existe una única lecha h tal que el diarama
Más detalles1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)
1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario
Más detallesIntroducción a la Teoría Analítica de Números
Introducción a la Teoría Analítica de Números Pablo De Nápoli clase 3. Ejemplos de funciones generatrices El teorema que vimos la clase anterior sobre el producto de series de Dirichlet permite determinar
Más detallesMatemá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 detallesDesde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo
INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN Métodos Numéricos 2008 - Carlos Zotelo Introducción a Fortran 77 / 90 1. El lenguaje Fortran 77 / 90 2. Tipos de datos básicos 3. Constantes y variables 4. Entrada
Más detalles2. El conjunto de los números complejos
Números complejos 1 Introducción El nacimiento de los números complejos se debió a la necesidad de dar solución a un problema: no todas las ecuaciones polinómicas poseen una solución real El ejemplo más
Más detallesOperaciones lógicas principales: Negación, Conjunción y Disyunción
Operaciones lógicas principales: Negación, Conjunción y Disyunción Definiciones informales. A es verdadera A es falsa A B es verdadera A es verdadera y B es verdadera A B es verdadera A es verdadera o
Más detallesEstatutos 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 detallesCapítulo 1 Vectores. 26 Problemas de selección - página 13 (soluciones en la página 99)
Capítulo 1 Vectores 26 Problemas de selección - página 13 (soluciones en la página 99) 21 Problemas de desarrollo - página 22 (soluciones en la página 100) 11 1.A PROBLEMAS DE SELECCIÓN Sección 1.A Problemas
Más detallesLógica y Programación
Lógica y Programación Programación funcional con Haskell Antonia M. Chávez, Carmen Graciani, Agustín Riscos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Programación
Más detallesProgramación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
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 detallesLenguajes 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 detallesESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I. TEMA 4 Algebra booleana y puertas lógicas
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I TEMA 4 Algebra booleana y puertas lógicas TEMA 4. Algebra booleana y puertas lógicas 4.1 Definición de álgebra de Boole 4.2 Teoremas del álgebra de Boole 4.3
Más detallesNormas de estilo para la codificación de programas
Normas de estilo para la codificación de programas v.1.0 11/09/97 12.17 Departamento de Informática e Ingeniería de Sistemas Centro Politécnico Superior Universidad de Zaragoza María de Luna 3 50015, Zaragoza
Más detallesActividad de Evaluación Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L.
Actividad de Evaluación 2.4.1 Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L. Las técnicas de programación constituyen parte fundamental
Más detallesFundamentos 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 detallesALN. Repaso matrices. In. Co. Facultad de Ingeniería Universidad de la República
ALN Repaso matrices In. Co. Facultad de Ingeniería Universidad de la República Definiciones básicas - Vectores Definiciones básicas - Vectores Construcciones Producto interno: ( x, y n i x y i i ' α Producto
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 detallesÁlgebra de Boole. Retículos.
CAPÍTULO 4. Álgebra de Boole. Retículos. Este capítulo introduce dos estructuras algebraicas muy importantes : la estructura de álgebra de Boole y la de retículo. Estas estructuras constituyen una parte
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 detallesValores Booleanos Interpretación #t Cierto #f Falso --------------------------------------------------------------------
Valores Booleanos Interpretación #t Cierto #f Falso -------------------------------------------------------------------- Números Pueden ser Complejos Reales Racionales Enteros -------------------------------
Más detallesTema 1. Leyes de Newton
Tema 1. Leyes de Newton Tercera parte: Sistemas de masa variable Los sistemas de masa variable, es decir, sistemas en los que la masa que se encuentra en movimiento depende del tiempo, no conservan la
Más detallesMATEMÁTICAS II CC III PARCIAL
UNIDAD DIDÁCTICA #3 CONTENIDO ECUACIONES LINEALES CON UNA INCOGNITA TIPOS DE ECUACIONES RESOLUCION DE ECUACIONES LINEALES INECUACIONES LINEALES 1 ECUACIONES LINEALES CON UNA INCOGNITA Una ecuación es una
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesCuantificación: Los Cuantificadores y el resto de la oración
Lin115: Sem des Spanischen Maribel Romero 27 Junio 2008 Cuantificación: Los Cuantificadores y el resto de la oración 1. Sintagmas Nominales Cuantificacionales (CuSN) en posición de sujeto. Hemos visto
Más detalles1. Sistemas de ecuaciones lineales
Departamento de Matemática Aplicada CÁLCULO COMPUTACIONAL. Licenciatura en Química (Curso 25-6) Sistemas de ecuaciones lineales Práctica 2 En esta práctica vamos a ver cómo se pueden resolver sistemas
Más detallesTema: Tipos de datos y conversiones
Tema: Tipos de datos y conversiones Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express y realice diversos programas en el entorno Consola,
Más detallesEn la notación C(3) se indica el valor de la cuenta para 3 kilowatts-hora: C(3) = 60 (3) = 1.253
Eje temático: Álgebra y funciones Contenidos: Operatoria con expresiones algebraicas Nivel: 2 Medio Funciones 1. Funciones En la vida diaria encontramos situaciones en las que aparecen valores que varían
Más detallesMA3002. Matemáticas Avanzadas para Ingeniería: Números Complejos. Departamento de Matemáticas. Introducción. Igualdad. Suma y resta.
MA300 Propiedas Propiedas Los números complejos simbolizados por C son una generalización los números reales. Una generalización algebraica muy interesante: Toda ecuación polinomial c n z n + c n 1 z n
Más detallesRepresentación de la información
Laboratorio de Introducción a las Ciencias de la Computación Página 1 UNIERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROESIONAL DE INGENIERÍA DE SISTEMAS SESIÓN 2: Representación de la información OBJETIOS
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesTRANSFORMADA DE LAPLACE. Definición: Transformada de Laplace. Sea f(t) una función definida para t 0; a la expresión
TRANSFORMADA DE LAPLACE Definición: Transformada de Laplace. Sea f(t) una función definida para t 0; a la expresión L= = Se le llama Transformada de Laplace de la función f(t), si la integral existe. Notación:
Más detallesALGEBRA. Escuela Politécnica Superior de Málaga
ALGEBRA. Escuela Politécnica Superior de Málaga Tema 1. Espacios Vectoriales. Sistemas de ecuaciones. Espacio vectorial. Espacios vectoriales R n. Dependencia e independencia lineal. Base. Matrices y determinantes.
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesConectados con el pasado, proyectados hacia el futuro Plan Anual de Matemática II Año PAI VII Grado
Actualizado en febrero del 2013 Conectados con el pasado, proyectados hacia el futuro Plan Anual de Matemática II Año PAI VII Grado CONTENIDOS OBJETIVOS ESPECÍFICOS HABILIDADES CRITERIOS DE EVALUACIÓN
Más detallesJava Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Más detallesLó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 detallesClase adicional 2. Estructuras básicas de control. Temas
Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño
Más detalles2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
Más detallesProgramcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
Más detallesNotación Polaca (Jan Lukasiewitz) (Notación prefija)
APLICACIONES. Notación Polaca y Polaca Inversa. Notación infija A+B C-D E*F G/H Distinción entre (A+B)*C y A+(B*C) de prelación. Con paréntesis y orden Notación Polaca (Jan Lukasiewitz) (Notación prefija)
Más detallesMarzo 2012
Marzo 2012 http:///wpmu/gispud/ Para determinar la carga transferida a través del tiempo a un elemento, es posible hacerlo de varias formas: 1. Utilizando la ecuación de carga, evaluando en los tiempos
Más detalles(MAT021) 1 er Semestre de z + e = (x + iy) + (e 1 + ie 2 ) = (x + e 1 ) + i(y + e 2 ) = x + iy
(MAT01) 1 er Semestre de 010 1 Números Complejos Se define el conjunto de los números complejos como: C = {a + bi / a, b R, i = 1} Definición 1.1. Sea z, w C tal que z = x + iy en donde x, y R. Se define:
Más detallesÁLGEBRAS DE BOOLE. En un álgebra de Boole (B, +,, ) se cumplen las siguientes propiedades, para todo x, y, z B: Doble Complemento
ÁLGEBRAS DE BOOLE CARACTERIZACIÓN DE UN ÁLGEBRA DE BOOLE Un álgebra de Boole (o álgebra booleana) consiste en un conjunto B = {0, 1}, operadores binarios + y en S y un operador unario en S. Estas operaciones
Más detallesSEMINARIO DE ESPECIFICACIONES ALGEBRAICAS
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2004/2005 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato
Más detallesCentro 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 detallesEstructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR
Estructuras de Datos Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR ...but note that an implementation need not be actualized as code a concrete design is sufficient. Chris Okasaki
Más detallesFICHAS DE ESTUDIO No.1. Definición del conjunto N NOMBRE FECHA
21 FICHAS DE ESTUDIO No.1. UNIDAD 1: NUMEROS NATURALES Lámina 1.1 Definición del conjunto N NOMBRE FECHA I OBJETIVOS: Al concluir esta Guía podrás: 1. Identificar los elementos del conjunto de los números
Más detallesHerramientas digitales de auto-aprendizaje para Matemáticas
Herramientas digitales de auto-aprendizaje para Matemáticas, Grupo de innovación didáctica Departamento de Matemáticas Universidad de Extremadura Índice Puntos y vectores en En R 3, conviene distinguir
Más detalles