Tema 3: Características de la programación funcional. Sesión 6: El paradigma funcional (2)
|
|
- Javier Fuentes Castilla
- hace 5 años
- Vistas:
Transcripción
1 Tema 3: Características de la programación funcional Sesión 6: El paradigma funcional (2)
2 Referencias Capítulo SICP: [[ H-10.html#%_sec_1.1.5][The Substitution Model for Procedure Application]] Capítulo 10 PLP: Functional Languages
3 Hoy veremos Programación funcional en LISP (y Scheme)
4 Programación funcional en LISP (y Scheme) LISP (y Scheme) no es funcional puro: tiene características que van más allá de la programación declarativa/funcional Algunas características: Funciones como tipos de dato primitivos y funciones de orden superior Polimorfismo Símbolos y dualidad entre datos y programa
5 Funciones como tipos de datos primitivos Las funciones son tipos primitivos en los lenguajes funcionales Un tipo primitivo es aquel que: Puede ser asignado a una variable Puede ser pasado como argumento a una función Puede ser devuelto como resultado de una invocación a una función Puede ser parte de un tipo de dato mayor
6 Forma especial lambda La forma especial lambda es la forma de Scheme de construir funciones anónimas (sin nombre) en tiempo de ejecución Sintaxis: (lambda <arg1>... <argn>) <cuerpo>) (lambda (x) (* x x)) (lambda (x y) (+ x y)) proc proc Al evaluar lambda, se crea una función sin nombre
7 Función anónima (creada con lambda) Puede ser invocada directamente: ((lambda (x) (* x x)) 3) Es un tipo de dato primitivo, como cualquier otra función
8 Funciones como tipos de dato primitivos: función asignada a variable Función creada con define: cuadrado (define (cuadrado x)(* x x))) proc Función creada con lambda: (define cubo (lambda (x) (* x x x))) cubo proc
9 Funciones como tipos de datos primitivos: función como argumento de otra función. Ejemplo 1 (define (aplica f x y) (f x y)) (aplica + 2 3) (aplica * 4 5) (aplica string-append "hola" "adios") (aplica (lambda (x y) (sqrt (+ (* x x) (* y y)))) 3 4)
10 Funciones como tipos de datos primitivos: función como argumento de otra función. Ejemplo 2 (define (aplica-2 f g x) (f (g x))) (define (suma-5 x) (+ x 5)) (define (doble x) (+ x x)) (aplica-2 suma-5 doble 3) (aplica-2 (lambda (x) (* x 2)) (lambda (x) (+ x 10)) 5)
11 Funciones como tipos de datos primitivos: función como valor devuelto por otra función (define (hacer-sumador-k k) (lambda (x) (+ x k))) hacer-sumador-k proc (define g (hacer-sumador-k 5)) (g 10) g proc
12 Funciones de orden superior Funciones de orden superior: Son funciones que reciben otras funciones como argumento o devuelven una función como resultado Ejemplo, función map: (map cuadrado ( )) (map * (1 2 3) (4 5 6)) Otro ejemplo: map recibe como argumentos una función y tantas listas (de igual longitud) como argumentos tenga la función (define (operar f base lista) (if (null? lista) base (f (car lista) (operar f base (cdr lista)))))
13 Las funciones pueden formar parte de estructuras de datos mayor Ejemplo: lista de funciones (define lista-funcs (list doble suma-5 cuadrado)) Ejemplo de utilización: (define (aplica-funcs lista-funcs x) (if (null? (cdr lista-funcs)) ((car lista-funcs) x) ((car lista-funcs) (aplica-funcs (cdr lista-funcs) x)))) (aplica-funcs lista-funcs 10)
14 Dualidad entre datos y código Los programas en Scheme son expresiones entre paréntesis Una expresión entre paréntesis es una lista de símbolos Por tanto, los programas (sin evaluar) se pueden considerar como datos (listas) y viceversa y, por tanto, podemos construirlos, desconstruirlos, y manipularlos como las listas Ejemplo: utilizando quote y eval, vamos a sumar una lista de números (define (suma-lista lista-nums) (eval (cons '+ lista-nums)))
15 Ejercicios Qué hace el siguiente código en Scheme? (lambda (f x) (f x x))) Cómo habría que invocar a la función anterior para que devuelva 20? Define una función g que podamos invocar así y devuelva 18: (g (lambda (x) (+ x x)) (lambda (y) (* y y)) 3) Define una función h que se invoque de la siguiente forma y devuelva 6: ((h (lambda (x) (+ x x))) 3)
Tema 3: Características de la programación funcional
Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) martes 22 de febrero de 2011 Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z-
Más detallesTema 3: Características de la programación funcional. Sesión 5: El paradigma funcional (1)
Tema 3: Características de la programación funcional Sesión 5: El paradigma funcional (1) Referencias Capítulo 1.1.5 SICP: [[http://mitpress.mit.edu/sicp/full-text/book/book-z- H-10.html#%_sec_1.1.5][The
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 detallesTema 3: Programación funcional
Tema 3: Programación funcional Contenidos 5. Funciones como tipos de datos de primera clase 5.1. Forma especial lambda 5.2. Las funciones son objetos de primera clase 5.3. Funciones de orden superior 6.
Más detallesTema 2: Introducción a Scheme. Sesión 4: Introducción a Scheme (2)
Tema 2: Introducción a Scheme Sesión 4: Introducción a Scheme (2) Referencias DrRacket (http://racket-lang.org/) A brief tour of DrScheme (http://www.plt-scheme.org/software/drscheme/ tour/) Structure
Más detallesAplicación de la Inducción Matemática Programación Funcional. Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca
Aplicación de la Inducción Matemática Programación Funcional Julio Ariel Hurtado Alegría Departamento de Sistemas Universidad del Cauca Motivación Programación Imperativa Declarativa Procedimental Ejemplo:
Más detallesTema 4: Programación funcional avanzada en Scheme
Tema 4: Programación funcional avanzada en Scheme Índice 1 Let... 2 2 Let*... 5 3 Letrec... 5 4 Quote...6 5 Eval... 7 6 Datos compuestos: parejas...8 7 Los datos compuestos pueden ser funciones...11 8
Más detallesProgramación Declarativa
Programación Declarativa Tema 2: LISP (SCHEME) 2 Tema 2: LISP (SCHEME) Introducción Representación de Datos Definición de Funciones Predicados Listas 3 Introducción (I) SCHEME es un dialecto de LISP (LISt
Más detallesTema 9: Asignación, estado local y modelo de entornos
Tema 9: Asignación, estado local y modelo de entornos Índice 1 Programación imperativa... 2 2 Formas especiales set!...3 3 La forma especial begin... 3 4 Entornos... 4 5 El modelo de computación de Scheme
Más detallesCAPÍTULO IV: 4.1 Introducción a la. Programación Funcional
CAPÍTULO IV: Programación Funcional 4.1 Introducción a la Programación Funcional 1 Programación Funcional Paradigma diferente a los imperativos, que se aleja de la máquina de von Neumann Basado en funciones
Más detallesTema 2: Características de la programación funcional
Tema 2: Características de la programación funcional Índice 1 Aproximación teórica a la programación funcional...2 1.1 Programación declarativa... 2 1.2 El Lisp y el paradigma funcional...4 1.3 El cálculo
Más detallesLenguajes de Programación Programación funcional
Lenguajes de Programación Programación funcional Roberto Bonvallet Departamento de Informática Universidad Técnica Federico Santa María Concepto de función En el paradigma imperativo: Una función es una
Más detallesProgramación Funcional Lisp-Scheme
Programación Funcional Lisp-Scheme Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Dónde bajar? Lisp (EdScheme): www.schemers.com com Ejemplo: => (+ (* 3(+ (* 24) (+ 35))) (+
Más detallesProgramación Funcional en LISP Lógica para Ciencias de la Computación
Programación Funcional en LISP Lógica para Ciencias de la Computación Primer Cuatrimestre de 2009 Material Adicional Introducción A lo largo de la carrera estudiaremos diversos paradigmas de programación:
Más detallesTema 9: Asignación, estado local y modelo de entornos
Tema 9: Asignación, estado local y modelo de entornos Índice 1 Programación imperativa... 2 2 Formas especiales set!...3 3 Entornos... 3 4 Estado local...8 4.1 Ejemplo 1: contador global... 8 4.2 Ejemplo
Más detallesTema 3: Programación funcional (1/3)
Tema 3: Programación funcional (1/3) Hoy: 1. El paradigma de programación funcional Historia de la PF Características fundamentales El renacimiento de la PF 2. Modelos de evaluación de expresiones en PF
Más detallesTema 7: Programación imperativa. Sesión 23: Programación imperativa (4)
Tema 7: Programación imperativa Sesión 23: Programación imperativa (4) Indice Historia de la programación imperativa Características principales Datos mutables en Scheme y en Scala Estructuras de control
Más detallesTema 3: Programación funcional
Tema 3: Programación funcional Contenidos 1. El paradigma de Programación Funcional 1.1 Definición y orígenes del paradigma funcional 1.2. Programación declarativa 1.3. Valores y referencias 1.4. Modelo
Más detallesTema 3. Listas Recursión sobre datos
Tema 3 Listas Recursión sobre datos José A. Alonso M. José Hidalgo Álvaro Romero Dpto. Ciencias de la Computación e Inteligencia Artificial UNIVERSIDAD DE SEVILLA Informática ListasRecursión sobre datos
Más detallesTema 6: Estructuras de datos recursivas
Tema 6: Estructuras de datos recursivas Índice 1 Listas jerárquicas...2 2 Árboles binarios... 4 3 Árboles genéricos...7 4 Referencias...10 1. Listas jerárquicas Las listas tienen la propiedad de la clausura
Más detallesClase 2 de prácticas: Funciones como datos primitivos
Clase 2 de prácticas: Funciones como datos primitivos Índice 1 Ejercicio 1... 2 2 Ejercicio 2... 2 3 Ejercicio 3... 2 4 Ejercicio 4... 3 5 Ejercicio 5 (ampliación)...3 6 Ejercicio 6 (ampliación)...4 7
Más detallesFunciones como parámetros, funciones como resultados. Introducción a la Computación Patricia Borensztejn Clase 26
Funciones como parámetros, funciones como resultados Introducción a la Computación Patricia Borensztejn Clase 26 Funciones de orden superior Se llama así a la técnica que permite pasar funciones como parámetros
Más detallesPRIMER TUTORIAL DE LipsWorks Personal Edition 6.0.1
PRIMER TUTORIAL DE LipsWorks Personal Edition 6.0.1 Interprete 1. Realizar una suma Tipos de Datos Existen 2 Tipos de datos Átomos y Listas Datos Tipo Átomos: Los átomos son las expresiones LISP más elementales.
Más detallesTema 7: Macros. Índice. 1 Introducción Conceptos previos Macros en Scheme Más ejemplos de macros Referencias...
Índice 1 Introducción... 2 2 Conceptos previos...2 3 Macros en Scheme... 7 4 Más ejemplos de macros...10 5 Referencias...13 1. Introducción El primer párrafo del Revised5 Report on the Algorithmic Language
Más detallesPROGRAMACIÓN DECLARATIVA
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 CUARTO CURSO PRIMER CUATRIMESTRE Tema 5.-
Más detallesFunciones y subrutinas
Algorítmica y Lenguajes de Programación Funciones y subrutinas Funciones y subrutinas. Introducción El diseño descendente permite obtener un programa que resuelva un problema dividiendo este en subproblemas
Más detallesTema 5: Macros. Sesión 14: Macros
Tema 5: Macros Sesión 14: Macros Hoy veremos... Conceptos generales Quasiquotation Macros en Scheme Ejemplos de macros Referencias Capítulo 3.7 Programming Language Pragmatics: Macro Expansion Definición
Más detallesAbstracción de procedimientos
Abstracción de procedimientos 1.- Consideremos ABN (árboles binarios numéricos) sin nodos repetidos. Denimos los siguientes conceptos: Se pide: Dados dos ABN, A y B, decimos que B es SUBARBOL PRINCIPAL
Más detallesTema 10: Tipos de datos mutables
Índice 1 Introducción... 2 2 Primitivas set-car! y set-cdr!...2 2.1 Como implementar cons, set-car! y set-cdr!...3 3 Mutación... 3 4 Igualdad...6 5 TADs con datos mutables... 9 5.1 Lista ordenada... 9
Más detallesClase 1 de prácticas: Introducción a Scheme
Clase 1 de prácticas: Introducción a Scheme Índice 1 Ejercicio 1... 2 2 Ejercicio 2... 2 3 Ejercicio 3... 2 4 Ejercicio 4... 3 5 Ejercicio 5... 3 6 Ejercicio 6... 4 7 Ejercicio 7 (ampliación)...4 8 Ejercicio
Más detallesTema 6: Programación funcional en Scala. Sesión 18: Programación funcional en Scala
Tema 6: Programación funcional en Scala Sesión 18: Programación funcional en Scala Referencias Programming in Scala. Martin Odersky, Lex Spoon, Bil Venners. Ed. Artima. Programming Scala. Dean Wampler,
Más detallesTema 5.- Tipos de datos compuestos
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMAC CIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO
Más detalles4.3 Recursión en Scheme. Recursión simple y asignación
4.3 Recursión en Scheme Recursión simple y asignación Recursión Simple Un procedimiento recursivo es aquel se aplica a si mismo. Ejemplo: (define length (lambda (ls (if (null? ls 0 (+ 1 (length (cdr ls
Más detallesTema 2.- Expresiones y funciones
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 detalles4.3 Recursión en Scheme
4.3 Recursión en Scheme Recursión simple y asignación Recursión Simple Un procedimiento recursivo es aquel se aplica a si mismo. Ejemplo: (define length (lambda (ls (if (null? ls 0 (+ 1 (length (cdr ls
Más detallesBreve introducción al funcionamiento de un interprete del lenguaje Lisp
Breve introducción al funcionamiento de un interprete del lenguaje Lisp Christian Chinchilla Brizuela Escuela Ciencias de la Computación e Informática Universidad de Costa Rica San José, Costa Rica christian.chinchilla@ecci.ucr.ac.cr
Más detallesManual de Lisp para IACS (Curso 91 92)
Dpto. de Álgebra, Computación, Geometría y Topología Universidad de Sevilla Manual de Lisp para IACS (Curso 91 92) Sevilla, 1992 Contenido 1 Introducción 1 1.1 Introducción............................
Más detallesTema 4: Procedimientos y estructuras recursivas
Tema 4: Procedimientos y estructuras recursivas Contenidos 1. Recursión 1.1 Pensando recursivamente 1.2 El coste de la recursión 1.3 Soluciones al coste de la recursión: procesos iterativos 1.4 Soluciones
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 detallesTema 9: Programación Orientada a Objetos. Sesión 26: Programación Orientada a Objetos (1)
Tema 9: Programación Orientada a Objetos Sesión 26: Programación Orientada a Objetos (1) Referencias Capítulo 9 PLP Guia rápida sobre clases y objetos en la guía de Racket Especificación del módulo de
Más detallesTema 8: Tipos de datos. Sesión 24: Tipos de datos (1)
Tema 8: Tipos de datos Sesión 24: Tipos de datos (1) Referencias Programming Languages Pragmatics: Capítulo 7, apartados 7.1 (Type Systems) y 7.2 (Type Checking) Programming in Scala: Capítulo 5 (Basic
Más detallesLECCION 1. ATOMOS Y LISTAS.
LECCION 1. ATOMOS Y LISTAS. En la lección 1 se introducen las construcciones básicas del lenguaje LISP. Al finalizar esta lección, el alumno debe ser capaz de -escribir cualquier expresión numérica en
Más detallesProgramación 1 - Práctica 0, recargada.
v.6.2.1 Programación 1 - Práctica 0, recargada. Ahora con más ejercicios! 1 Expresiones aritméticas. 1. Considere las siguientes expresiones aritméticas: 12 * 5-7 * 6 3 * 5-7 * 4 / 14 + 3 / 1 cos(0.8)
Más detallesTema 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 detallesUnidad 2. Elementos Intermedios del Lenguaje
Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación Imperativo Declarativo Funcional
Más detallesMódulo 4: Algoritmos como primitivas
Módulo 4: Algoritmos como primitivas Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dra. Marcela Capobianco 1 de Copyright Copyright 2012 M.
Más detalles4.5 Ligado de Variables en Scheme
4.5 Ligado de Variables en Scheme Referencia a variables, lambda, formas let y asignación a) Referencia a una Variable variable retorno: valor de la variable Cualquier identificador no citada en una expresión
Más detallesNiveles de abstracción. Lisp y la pedagogía
Niveles de abstracción. Lisp y la pedagogía F. Javier Gil Chica versión de enero de 2015 Resumen Estudiar implica alcanzar sucesivos niveles de abstracción. En este artículo se muestra cómo estos niveles
Más detalles4.7 Operaciones sobre Objetos en Scheme
4.7 Operaciones sobre Objetos en Scheme Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores Ejemplos de Equivalencia (eq? a a) ;=> #t (eq? 3.1 3.1) ;=> () (eq? (cons a
Más detallesProgramación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación
Más detalles4.7 Operaciones sobre Objetos en Scheme. Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores
4.7 Operaciones sobre Objetos en Scheme Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores a) Equivalencias (eq? obj 1 obj 2 ) retorno: #t si son idénticos (eqv? obj 1
Más detallesMathematica como lenguaje de programación
Chapter 1 Mathematica como lenguaje de programación 1.1 Fundamentos del Lenguaje Expresiones: En Mathematica todo es una expresión. Hay dos tipos de expresiones: Expresiones Normales, las cuales son de
Más detallesEl lenguaje LISP. LISP is an easy language to learn (Henry et.al., 1984) Introducción
El lenguaje LISP LISP is an easy language to learn (Henry et.al., 1984) 1 Introducción Origen: 1958 John McCarthy, pionero en IA, empezó a trabajar con la primera implementación de Lisp en 1958.»McCarthy,
Más detallesEl lenguaje LISP. LISP is an easy language to learn
El lenguaje LISP LISP is an easy language to learn (Henry et.al., 1984) 1 Origen: 1958 Introducción John McCarthy, pionero en IA, empezó a trabajar con la primera implementación de Lisp en 1958.» McCarthy,
Más detalles8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL.
8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL. PROCEDIMIENTOS. CONCEPTO Un procedimiento es un programa que realiza una tarea específica. Puede recibir cero o más valores del
Más detallesLenguajes de Programación
Lenguajes de Programación Dr. Carlos Artemio Coello Coello Tarea No. 1 12 de enero de 2015 Tomaremos el pseudo-código proporcionado en el libro de texto, cuyas instrucciones guardan el formato ilustrado
Más detallesTema 4.- Recursión e iteración
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 detallesTema 6: Programación Funcional en Scala
Tema 6: Programación Funcional en Scala En este tema vamos a repasar algunas características de Programación Funcional de Scala, que hacen posible utilizar este paradigma en un lenguaje moderno, orientado
Más detallesMétodos CON valor de retorno
Métodos Estáticos C# Fundamentos de Programación. Objetivos del tema: Qué es un método? Qué métodos conoces? Métodos que NO devuelven valor. Métodos que SI devuelven un valor. Paso de parámetros. Variables
Más detallesUtilizar la cláusula RETURNS es obligatorio al momento de definir una función y sirve para especificar el tipo de dato que será devuelto.
Funciones MySQL La diferencia entre una función y un procedimiento es que la función devuelve valores. Estos valores pueden ser utilizados como argumentos para instrucciones SQL. Utilizar la cláusula RETURNS
Más detallesCAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C#
CAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C# 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un método? Cuáles son los tipos de métodos? En qué se parecen? En qué difieren?
Más detallesIntroducción a OCaml. October 19, 2015
Introducción a OCaml October 19, 2015 OCaml: introducción Es un dialecto de ML. Lenguaje de programación funcional. Fuertemente tipado. Con inferencia de tipos. Polimórfico. [Página oficial: http://www.ocaml.org/
Más detallesTema 1: Lenguajes de programación
Índice 1 Lenguajes de programación... 2 1.1 Elementos de los lenguajes de programación...2 1.2 Historia de los lenguajes de programación...3 2 Paradigmas de programación...4 2.1 Paradigma funcional...4
Más detallesTema 4: Procedimientos y estructuras recursivas
Tema 4: Procedimientos y estructuras recursivas Contenidos 1. Recursión 1.1 Pensando recursivamente 1.2 El coste de la recursión 1.3 Soluciones al coste de la recursión: procesos iterativos 1.4 Soluciones
Más detallesInducción, Recursión y Alcance. Inducción, Recursión y alcance. Inducción, Recursión y Alcance. Inducción, Recursión y Alcance
Inducción, Recursión y alcance Especificación inductiva de tipos de datos Tipo de datos: Conjunto de valores Conjunto de operaciones sobre dichos valores ejemplo: Sea S el conjunto más pequeño tal que:
Más detallesTema 7: Programación imperativa. Sesión 21: Programación imperativa (2)
Tema 7: Programación imperativa Sesión 21: Programación imperativa (2) Indice Historia de la programación imperativa Características principales Datos mutables en Scheme y en Scala Estructuras de control
Más detallesAbstracción de Datos y
Capítulo 3 Abstracción de Datos y Números El cómputo numérico ha sido tradicionalmente ignorado por la comunidad de Lisp. Hasta antes del Common Lisp nadie había ideado una estrategia detallada para ordenar
Más detallesLaboratorio 4 Tema 6. Procedimientos: Acciones, Funciones y Pase de Parámetros
Laboratorio 4 Tema 6. Procedimientos: Acciones, Funciones y Pase de Parámetros Procedimientos El paradigma de programación basado en procedimientos se basa en la posibilidad de crear procedimientos computacionales
Más detallesGUIA 1: Repaso sobre uso de C#. Funciones, procedimientos y arreglos.
1 POO, Guía 1 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos GUIA 1: Repaso sobre uso de C#. Funciones, procedimientos y arreglos. Competencia Desarrolla sistemas
Más detallesProgramación Declarativa. Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre
Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2014 2015 Práctica
Más detallesProgramación Funcional PYTHON
-Minino de Cheshire, podrías decirme, por favor, qué camino debo seguir para salir de aquí? -Esto depende en gran parte del sitio al que quieras llegar -dijo el Gato. -No me importa mucho el sitio... -dijo
Más detallesNano Taller de Python
Charla 5: Programación Funcional Royal Institute of Technology (KTH), Estocolmo, Suecia Grupo de Nanomateriales (GNM), Santiago, Chile 13 de enero 2009, de 13:00 a 14:00 Parte I Programación
Más detallesLenguajes de programación. Abdiel E. Cáceres González Instituto Tecnológico de Monterrey Campus Ciudad de México Verano 2004
Lenguajes de programación Abdiel E. Cáceres González Instituto Tecnológico de Monterrey Campus Ciudad de México Verano 2004 Tower of Babel by Gustav Dore 1986 1 LISP (Antecedentes Históricos) El interés
Más detallesProgramación Declarativa. Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre
Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2013 2014 Práctica
Más detallesPrefacio 25 Organización de la Unidad Didáctica Cómo utilizar el libro Objetivos docentes... 27
ÍNDICE Prefacio 25 Organización de la Unidad Didáctica.................... 25 Cómo utilizar el libro............................. 26 Objetivos docentes.............................. 27 1 Fundamentos de
Más detallesIntroducción a la programación funcional
Introducción a la programación funcional Salvador Lucas Alba Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia http://www.dsic.upv.es/users/elp/slucas.html Objetivos
Más detallesApunte Laboratorio ALPI - El lenguaje de programación Pascal
Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................
Más detallesParadigma Funcional Caso de estudio: ML. Lenguajes de Programación 2017
Paradigma Funcional Caso de estudio: ML Lenguajes de Programación 2017 Paradigma Funcional FUNCIÓN: Mapeo de un dominio en un rango El mapeo se puede describir por medio de una EXPRESIÓN f(1) = 2 f(2)
Más detallesProcedimientos Definidos Localmente
Capítulo 5 Procedimientos Definidos Localmente 5.1 Distinguiendo entre definiciones globales ylocales Todas las primitivas (o procedimientos) disponibles en Scheme (p.ej., car, cons, cdr, etc.) se definen
Más detallesTema 6: Clases. Índice
Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado
Más detallesPython. Características Básicas
Python Características Básicas Intérprete >>> 3 + 5 8 >>> "Esto es una" + " frase." Esto es una frase. El intérprete de Python nos permite tener una sesión interactiva con él, muy útil para su aprendizaje.
Más detallesLenguajes de Programación
Lenguajes de ción Bloque 1. Complemento a Tema 1 1. Historia 2. Paradigmas de programación 3. Fases creación de un programa 4. Traducción: compilación e interpretación 1ª Generación Ordenadores sólo entienden
Más detallesHOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2009/2010 Nombre:... Fecha: / 11 / 2009 HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS Esta hoja de ejercicios
Más detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.
CAPÍTULO 8 DELEGADOS 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un delegado? Para qué sirve? En qué circunstancias se recomienda implementar delegados? Qué es un método anónimo?
Más detallesUNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM
UNIDAD IV Programación Funcional Porqué? 2 Introducción Porque aprender programación funcional? - Recursión - Abstracción funcional - Funciones de primer orden Estos conceptos se han incorporado en la
Más detallesCLIPS Definición de funciones
CLIPS Definición de funciones Por función consideramos tanto las funciones predefinidas en CLIPS como las definidas por el usuario en este lenguaje, o las definidas en un lenguaje externo (C, FORTRAN o
Más detallesIntroducción a Haskell. El lenguaje Haskell
Capítulo 2. Introducción a Haskell 9 Introducción a Haskell Un ejemplo de fichero Haskell El lenguaje Haskell Haskell es un lenguaje funcional puro, no estricto y fuertemente tipificado. Puro = transparencia
Más detallesParadigma Funcional Caso de estudio: ML. Lenguajes de Programación 2018
Paradigma Funcional Caso de estudio: ML Lenguajes de Programación 2018 FUNCIÓN: Mapeo de un dominio en un rango El mapeo se puede describir por medio de una EXPRESIÓN f(1) = 2 f(2) = 3 Enumeración f(x)
Más detallesEscuela Normal Superior N 40 Mariano Moreno. Cuadernillo Propedéutico 2017 Nivel Superior
Escuela Normal Superior N 40 Mariano Moreno Cuadernillo Propedéutico 2017 Nivel Superior INDICE Página Datos 1 Tipos de Datos 2 Variables 3 Constantes 4 Operadores y Expresiones 5 Algoritmos - Algoritmos
Más detallesMetodologías de Programación II Listas en Lisp
Metodologías de Programación II Listas en Lisp Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra
Más detallesUnidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.
Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo
Más detallesGUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.
1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones
Más detalles