I Programación funcional básica con Haskell 98 1
|
|
- Andrés Díaz Palma
- hace 6 años
- Vistas:
Transcripción
1 Índice General Prólogo Convenios i xxiii I Programación funcional básica con Haskell Programación funcional Funciones Sesiones y declaraciones Reducción de expresiones Órdenes de reducción aplicativo y normal Evaluación perezosa Sobre Haskell Introducción a Haskell El lenguaje Haskell Tipos simples predefinidos El tipo Bool El tipo Int El tipo Integer El tipo F loat El tipo Double El tipo Char Operadores de igualdad y orden Constructores de tipo predefinidos Tuplas Listas El constructor de tipo ( ) Comentarios Operadores Operadores frente a funciones Comparación de Patrones Patrones constantes Patrones para listas Patrones para tuplas ix
2 x ÍNDICE GENERAL Patrones aritméticos Patrones nombrados o seudónimos El patrón subrayado Errores comunes Patrones y evaluación perezosa Expresiones case La función error Funciones a trozos Expresiones condicionales Definiciones locales Expresiones lambda Sangrado Ámbitos y módulos Ejercicios Funciones de orden superior y polimorfismo Parcialización Aplicación parcial Secciones Funciones de orden superior Funciones de orden superior sobre enteros Polimorfismo La composición de funciones Otras funciones polimórficas Polimorfismo en listas Polimorfismo en tuplas Un iterador polimórfico sobre los naturales Definiciones de tipo Sinónimos de tipo Definiciones de tipos de datos Tipos enumerados Uniones Productos Tipos recursivos Tipos Parametrizados (o Polimórficos) Definiciones newtype Propiedades de funciones Sobrecarga Un ejemplo de sobrecarga Ejercicios El sistema de clases de Haskell Tipos y clases de tipos. Jerarquía de clases El sistema de clases Declaración de clases La clase Eq de Prelude Contextos
3 ÍNDICE GENERAL xi Instancias paramétricas Subclases. La clase Ord de Prelude Un ejemplo: los enteros módulo n Intersección de clases Visualizando y leyendo datos. Read y Show de Prelude Las clases Num, Integral y F ractional de Prelude Los tipos numéricos de Haskell Ambigüedad en las constantes numéricas Promoción numérica Ejemplo: los racionales como instancias genéricas Ejercicios Programación con listas El tipo lista Secuencias aritméticas. La clase Enum Concatenación de listas Inducción sobre listas Selectores Emparejando listas Aplicando una función a los elementos de una lista Filtros Listas por comprensión Semántica de listas por comprensión Plegado de listas foldr foldl Ordenación de listas Ordenación por inserción Ordenación por mezcla Ordenación rápida Funciones combinatorias Los segmentos iniciales de una lista Los segmentos de datos consecutivos de una lista Permutaciones de una lista Otras funciones predefinidas Ejercicios Entrada y salida Operaciones de entrada y salida El problema de la entrada y salida El tipo IO Excepciones Un formateador de textos Una implementación ineficiente Una implementación eficiente Utilidades para el manejo de documentos Una clase de tipos documentables
4 xii ÍNDICE GENERAL Ejemplos II Programación avanzada Evaluación perezosa. Redes de procesos Evaluación perezosa Argumentos estrictos Procesando estructuras infinitas Listas parciales y listas infinitas Aproximaciones o listas parciales Inducción sobre listas parciales Procesando estructuras infinitas La criba de Eratóstenes La lista de factoriales Los números de Fibonacci El triángulo de Pascal Sucesiones contadoras. Una sucesión que se cuenta a sí misma Sucesiones de parejas contadoras Redes de procesos Redes finitas de procesos La red que calcula el Triángulo de Pascal La red que calcula la sucesión de números primos Procesos con varias entradas La lista de factoriales Generación de los números de Fibonacci con una red de procesos Sucesiones en general Los números de Hamming Interacción de procesos cliente-servidor Patrones irrefutables y comparación postergada de patrones Ejercicios Programación con árboles y grafos Árboles Funciones de orden superior sobre árboles Árboles binarios Árboles binarios de búsqueda Funciones de orden superior para árboles binarios Inducción para árboles binarios Arrays Una implementación ineficiente Una implementación eficiente Grafos y búsqueda en grafos Búsqueda en anchura y en profundidad Los grafos como instancias de una clase uniparamétrica Grafos con pesos
5 ÍNDICE GENERAL xiii Los grafos con pesos como instancias de clases biparamétricas Una clase Haskell para grafos con pesos Ejercicios Programación modular y tipos abstractos de datos Módulos Bibliotecas estandarizadas Declaraciones de módulos Importación Importación cualificada Tipos Abstractos de Datos Representación Representación con interfaz no sobrecargado Representación con un interfaz sobrecargado El TAD conjunto (Conjunto) El TAD Lista Ordenada (OrdLista) El TAD Diccionario (Diccionario) Un índice KWIC (KeyWord In Context) Datos del problema La función kwic Algunas funciones y sinónimos de tipos útiles La función creanoclaves Modelo de datos para la resolución La función kwic Ejercicios Programación con Mónadas Concepto de mónada Clases de constructores de tipos La clase F unctor La clase Monad La clase MonadP lus Interpretación de las propiedades Interpretación del operador (>>=) Relación entre funtor y mónada La notación do Ejemplos de mónadas La mónada identidad La mónada escritora La mónada lectora La mónada de transformadores de estado La lista como mónada indeterminista La mónada error Un evaluador monádico Operaciones con mónadas Combinado mónadas Transformadores monádicos
6 xiv ÍNDICE GENERAL 10.7 Ejercicios III Aplicaciones Algoritmos numéricos programados funcionalmente Introducción Búsqueda de puntos fijos Extrapolación por paso al límite Álgebra lineal numérica Arrays Listas de listas Series de potencias Ejercicios Puzzles y solitarios Algunos problemas combinatorios El producto máximo con un conjunto de dígitos El problema de las vasijas El problema de los caníbales y los misioneros El solitario de Abreu La sopa de letras Un esbozo de la solución Buscando las apariciones de un palabra Movimiento de matrices y lecturas de líneas El problema de las ocho reinas Soluciones mediante listas por comprensión Solución mediante búsqueda en grafos Grafos acíclicos El problema del coloreado de mapas Calculando los colores de los países fronterizos Un algoritmo para colorear mapas Coloreados con un número de colores mínimo Es preferible empezar coloreando los países con más países fronterizos El problema generalizado de las torres de Hanoi Movimientos entre dos torres Movimientos entre una torre y una configuración Un puzzle con fichas Representación de huecos y fichas Estudio de movimientos de una ficha Movimientos entre configuraciones Programación funcional estilo Prolog El problema de McCarthy Ejercicios
7 ÍNDICE GENERAL xv 13 Analizadores Analizadores y la clase Read Gramáticas y la notación BNF El tipo ReadS La clase Read Un analizador para árboles binarios Gramáticas recursivas por la izquierda Analizadores monádicos Secuenciación Alternancia Filtros Iteración Elección parcial Un analizador para términos Ejercicios Simulación Generación de aleatorios por congruencias Programando secuencias pseudo aleatorias Algunos resultados teóricos Simulación en el juego del poker Generando un mazo de cartas Búsqueda de ciertas jugadas: parejas, tríos, etc Contando todas las jugadas Obteniendo semillas y aleatorios a través del sistema Un modelo monádico para la simulación El juego de la lotería primitiva Realizando escrutinios Generación de sorteos Estudio estadístico de ciertas combinaciones Descripción monádica del juego de la primitiva Simulación monádica de juegos con dados Mezclando valores producidos por varias acciones Plegando valores monádicos Repetición de varias tiradas con varios dados Contabilizando jugadas IV Aspectos teóricos Técnicas de programación y transformaciones de programas Inducción estructural Parámetros acumuladores Los números de Fibonacci Cálculo del factorial de un natural Plegados estrictos Transformación de programas. El modelo desplegar/plegar Un ejemplo sencillo de transformación
8 xvi ÍNDICE GENERAL Las reglas desplegar/plegar Reducción de la complejidad por transformación Corrección parcial de los programas transformados Programas a partir de especificaciones Especificaciones ejecutables Especificaciones no ejecutables Transformación de una especificación no ejecutable Semántica denotacional de un lenguaje imperativo Representación de entornos con tuplas Representación de entornos con funciones El lenguaje imperativo de Dijkstra Una semántica determinista para el lenguaje de Dijkstra Una semántica indeterminista para el lenguaje de Dijkstra Ejercicios Introducción al λ cálculo Sintaxis del lambda cálculo δ reducción y β reducción λ teorías Eta conversión y extensionalidad Reducción generada por un programa Formas normales. Teoremas de Church Rosser Ordenes de reducción. Teorema de estandarización Lambda definibilidad Operaciones lógicas Computabilidad Puntos fijos y recursión Listas en el λc Los sistemas de tipos de Church y de Curry Propiedades del sistema λ Curry La correspondencia de Howard Curry de Bruijn Ejemplos prácticos de inferencia de tipos Caso de un único argumento Caso de varios argumentos Caso en que aparecen otras variables predefinidas Inferencia de tipos en presencia de recursión Inferencia de tipos en presencia de patrones Reglas elementales para inferencia de tipos El λ cálculo polimórfico Inferencia de tipos en presencia de polimorfismo Un teorema de parametricidad para funciones polimórficas 546 V Ejercicios de Exámenes, Ayudas a Ejercicios y Soluciones Ejercicios de Exámenes Año
9 ÍNDICE GENERAL xvii 17.1 Año Año Año Año Soluciones a los Ejercicios de Exámenes Año Año Año Año Año Ayudas a Ejercicios Seleccionados Introducción a Haskell Definiciones de tipo El sistema de clases de Haskell Programación con listas Evaluación perezosa. Redes de procesos Programación con árboles y grafos Algoritmos numéricos programados funcionalmente Puzzles y solitarios Analizadores Simulación Técnicas de Programación y Transformaciones de programas Introducción al λ-cálculo Soluciones a Ejercicios Introducción a Haskell Definiciones de tipo El sistema de clases de Haskell Programación con listas Evaluación perezosa. Redes de procesos Programación con árboles y grafos Programación con Mónadas Algoritmos numéricos programados funcionalmente Puzzles y solitarios Analizadores Simulación Técnicas de Programación y Transformaciones de programas Introducción al λ cálculo Referencias bibliográficas 823
RAZONANDO CON HASKELL UN CURSO SOBRE PROGRAMACIÓN FUNCIONAL. A Charo, Pepa, Ana y Chari INTERNATIONAL THOMSON EDITORES SPAIN PARANINFO
RAZONANDO CON HASKELL UN CURSO SOBRE PROGRAMACIÓN FUNCIONAL A Charo, Pepa, Ana y Chari INTERNATIONAL THOMSON EDITORES SPAIN PARANINFO hola Blas Carlos Ruiz Jiménez, Francisco Gutiérrez López y José Enrique
Más detallesContenido. Prólogo... Prólogo a la edición en español Argumentos y proposiciones lógicas Introducción
CONTENIDO vii Contenido Prólogo... Prólogo a la edición en español... XVIl XXI 1 Cálculo proposicional... 1 1.1 Argumentos y proposiciones lógicas 1.1.1 Introducción 1 1 1.1.2 Algunos argumentos lógicos
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 detallesTÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad
TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad Calculo proposicional 1 Argumentos y proposiciones lógicas 1 Algunos argumentos lógicos importantes 2 Proposiciones 4 Conexiones lógicas 5 Negación (tabla)
Más detallesProgramación Declarativa Haskell Informática Sistemas Curso Pepe Gallardo Universidad de Málaga. Tema 8. Listas
Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 8. Listas 8.1 Secuencias aritméticas 8.2 Algunas funciones predefinidas 8.3 Listas por comprensión
Más detallesContenido. Capítulo I Sistemas numéricos 2. Capítulo II Métodos de conteo 40
CONTENIDO v Contenido Contenido de la página Web de apoyo... xi Página Web de apoyo... xvii Prefacio... xix Capítulo I Sistemas numéricos 2 1.1 Introducción... 4 1.2 Sistema decimal... 5 1.3 Sistemas binario,
Más detallesINDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación
INDICE Prologo XI Capitulo 1. Algoritmos y programas 1.1. Configuraciones de una computadora 1 1.2. Lenguajes de programación 2 1.3. Resolución de problemas 1.3.1. Fase de resolución del problema 3 1.3.1.1.
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 detallesPROGRAMACIÓN EN JAVA
1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación
Más detallesInformática Haskell Matemáticas Curso Pepe Gallardo Universidad de Málaga. Tema 8. Listas
Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 8. Listas 8.1 Secuencias aritméticas 8.2 Algunas funciones predefinidas 8.3 Listas por comprensión Ejemplo: QuickSort
Más detallesLenguajes funcionales: λ-cálculo
Lenguajes funcionales: λ-cálculo λ-cálculo (Church 1933) Cálculo para el estudio formal del comportamiento de las funciones Sintaxis: λ expresiones Reglas de reducción de λ expresiones Método matemático
Más detallesContenido. ACERCA DEL AUTOR u.u. u u u.. u u u..u.u. u...u... u u u...u u u u u u.. u u u u u u..u u
ACERCA DEL AUTOR u.u. u u u.. u u u..u.u. u...u... u u u...u u u u u u.. u u u u u u..u u PREF A CI O..u.. u u... 1. LÓGICA MATEMÁTICA u... u uu u u u u u uu... u u u u u....u u......... Proposiciones...
Más detallesEl sistema de clases de Haskell. Introducción
Capítulo 5. El sistema de clases de Haskell 56 El sistema de clases de Haskell Introducción Función monomórfica: sólo se puede usar para valores de un tipo concreto not :: Bool Bool not True = False not
Más detallesINDICE. Prólogo de la Segunda Edición
INDICE Prólogo de la Segunda Edición XIII Capitulo 1. Algoritmos y Programas 1 1.1. Los sistemas de procesamiento de la información 2 1.2. Concepto de algoritmo 4 1.2.1. Características de los algoritmos
Más detallesGuía del Curso IFCD052PO PROGRAMACIÓN EN JAVA
Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA Modalidad de realización del curso: Titulación: Online Diploma acreditativo con las horas del curso OBJETIVOS CONTENIDOS UNIDAD DIDÁCTICA 1. INTRODUCCIÓN A
Más detallesANEXO XVII DE LA RESOLUCION N
Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:
Más detallesDefiniciones de tipo. Sinónimos de tipo
Capítulo 4. Definiciones de tipo 40 Definiciones de tipo Sinónimos de tipo Un sinónimo de tipo renombra un tipo existente. El nuevo nombre y el antiguo son totalmente intercambiables. type Entero =Integer
Más detallesÍndice PRÓLOGO... XVII CAPÍTULO 1. FUNDAMENTOS DE JAVA Características de Java Origen y evolución... 1
Índice PRÓLOGO... XVII CAPÍTULO 1. FUNDAMENTOS DE JAVA... 1 Características de Java... 1 Origen y evolución... 1 Principales características de Java... 2 Compilación de un programa Java... 2 Java Virtual
Más detallesINDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas
INDICE Prologo a la tercera edición xiii Prologo a la segunda edición xxvii Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación 3 1.1. Organización de
Más detallesGUÍA DOCENTE ABREVIADA DE LA ASIGNATURA
GUÍA DOCENTE ABREVIADA DE LA ASIGNATURA G40 - Programación Grado en Física Curso Académico 2016-2017 1. DATOS IDENTIFICATIVOS Título/s Grado en Física Tipología Obligatoria. Curso 1 y Curso Centro Módulo
Más detallesProgramación Funcional Haskell Clase 22
Programación Funcional Haskell Clase 22 José Raymundo Marcial Romero rmarcial@fi.uaemex.mx BUAP c José Raymundo Marcial Romero. Clase Número 22 p.1/?? Temas de la clase Tipos Numéricos de Haskell Tipos
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 detallesTema 3: Tipos y clases
Tema 3: Tipos y clases Informática (2016 17) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 32 IM Tema 3: Tipos y clases
Más detallesTema 3: Tipos y clases
Tema 3: Tipos y clases Informática (2017 18) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 32 IM Tema 3: Tipos y clases
Más detallesTema 3: Tipos y clases
Tema 3: Tipos y clases Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases
Más detallesTema 3: Tipos y clases
Tema 3: Tipos y clases Programación declarativa (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 3: Tipos y clases
Más detallesTema 7. El sistema de clases
Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases
Más detallesContenido. Prefacio Orígenes de la programación orientada a objetos... 1
Prefacio... xv 1. Orígenes de la programación orientada a objetos... 1 1.1 La crisis del software... 1 1.2 Evolución del software... 3 1.3 Introducción a la programación orientada a procedimientos... 4
Más detallesCONTENIDOS MATEMÁTICA 1ER. AÑO BI Y 1ER AÑO BE
CONTENIDOS MATEMÁTICA 1ER. AÑO BI Y 1ER AÑO BE Contenido 1: Números Naturales Formulas en N: Producción de fórmulas que permitan calcular el paso n de un proceso que cumple una cierta regularidad. Transformaciones
Más detallesÍNDICE SISTEMÁTICO. Sumario... 5 Prólogo Unidad didáctica 1. Conjuntos Objetivos de la Unidad... 13
ÍNDICE SISTEMÁTICO PÁGINA Sumario... 5 Prólogo... 7 Unidad didáctica 1. Conjuntos... 11 Objetivos de la Unidad... 13 1. Introducción... 14 2. Definiciones... 14 2.1. Conjunto... 14 2.2. Conjuntos bien
Más detallesTema 8: Funciones de orden superior
Tema 8: Funciones de orden superior Programación declarativa (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 /
Más detallesTema 8: Funciones de orden superior
Tema 8: Funciones de orden superior Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema
Más detallesProgramación funcional
Programación funcional Inferencia de tipos manual para programas Haskell J. Sánchez Hernández Enero de 2007 El sistema de tipos de Haskell Es una variante del propuesto R. Milner en 1978 (con antecedentes
Más detallesLaboratorio Análisis Lógico Práctica 2: Tipos de datos en Haskell
Laboratorio Análisis Lógico Práctica 2: Tipos de datos en Haskell Pedro A. Góngora Luna 1 1. Operadores La figura 1 muestra la lista de algunos de los operadores básicos definidos en el preludio. La lista
Más detallesTema 6: Funciones recursivas
Tema 6: Funciones recursivas Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Tema 6: Funciones
Más detallesTema II: Introducción al Lenguaje Funcional
Tema II: Introducción al Lenguaje Funcional Características de Haskell Lenguaje funcional de o. superior fuertemente tipificado. Clasifica los entes de un programa en: objetos (constantes y funciones)
Más detallesMateria compuesta por 6 asignaturas programadas en el 1º y 2º semestre, tal y como se recoge a continuación en la tabla de asignaturas
5.3.2.2 FICHA DE LA MATERIA MATEMÁTICAS DENOMINACIÓN DE LA MATERIA MATEMÁTICAS MÓDULO AL QUE PERTENECE CRÉDITOS ECTS DURACIÓN Y UBICACIÓN TEMPORAL DENTRO DEL PLAN DE ESTUDIOS CARÁCTER Mixto (ver asignaturas)
Más detallesBachillerato Internacional. Matemáticas Nivel Medio. Programa para el curso 1º ( )
1 Bachillerato Internacional. Matemáticas Nivel Medio. Programa para el curso 1º (2015-2016) Tema 1: NÚMEROS REALES Conjuntos numéricos. Números naturales. Números enteros. Números racionales. Números
Más detallesTema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos
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 detallesInformática Haskell Matemáticas Curso Pepe Gallardo Universidad de Málaga. Temario
Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Temario 1 Introducción y semántica operacional 2 Tipos predefinidos 3 Patrones y Definiciones de Funciones 4 Funciones
Más detallesINDICE. VII Capitulo 1. Desarrollo software Ingeniería del software 2 Profesionalismo y ética 1.2. Calidad del software 3 Corrección Fiabilidad
INDICE Prefacio VII Capitulo 1. Desarrollo software 1 1.1. Ingeniería del software 2 Profesionalismo y ética 1.2. Calidad del software 3 Corrección Fiabilidad 4 Robustez Usabilidad Mantenibilidad 5 Reusabilidad
Más detallesProgramación Funcional
Programación Funcional Año 2018 Carrera/ Plan: (Dejar lo que corresponda) Licenciatura en Informática Plan 2003-07/Plan 2012 Licenciatura en Informática Plan 2015 Año: 4to Régimen de Cursada: Semestral
Más detallesContenido. Contenidos interactivos... xiii Plataforma de contenidos interactivos... xviii Prefacio... xix. Parte I Fundamentos...
Contenido Contenidos interactivos... xiii Plataforma de contenidos interactivos... xviii Prefacio... xix Parte I Fundamentos... 1 Capítulo I Lógica, conjuntos e inducción... 2 1.1 Introducción... 4 1.2
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 detallesÍndice general 7. Presentación 15
ÍNDICE GENERAL Índice general 7 Presentación 15 1. Introducción 19 1.1. Antecedentes históricos de la computación................... 19 1.2. Definiciones previas............................... 24 1.3.
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 detallesAl final, qué sabré hacer?... Itinerario del proceso de aprendizaje... Capítulo 1. Conceptos generales a modo de introducción (CG)
Contenido presentación... Al final, qué sabré hacer?... Itinerario del proceso de aprendizaje... xvii xxiii xxv Capítulo 1. Conceptos generales a modo de introducción (CG) OBJETIVO DIDÁCTICO... 1 1.1.
Más detallesTutorial Haskell David Julián Guzmán Cárdenas Cristian Alexanther Rojas Cárdenas Luis Ernesto Gil Castellanos
Tutorial Haskell David Julián Guzmán Cárdenas Cristian Alexanther Rojas Cárdenas Luis Ernesto Gil Castellanos Agenda 1. 2. 3. 4. 5. 6. Introducción Aspectos básicos del lenguaje Tipos y clases de tipos
Más detallesEn lo particular, esta materia permitirá al alumno aplicar las herramientas básicas de matemáticas discretas en:
Nombre de la asignatura: Matemáticas Discretas Créditos: 3 2-5 Aportación al perfil En lo particular, esta materia permitirá al alumno aplicar las herramientas básicas de matemáticas discretas en: El análisis
Más detallesTemas de Programación funcional (curso )
Temas de Programación funcional (curso 2011 12) José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 24 de
Más detallesMATEMÁTICAS ORIENTADAS A LAS ENSEÑANZAS ACADÉMICAS CONTENIDOS
MATEMÁTICAS ORIENTADAS A LAS ENSEÑANZAS ACADÉMICAS CONTENIDOS BLOQUE 1. PROCESOS, MÉTODOS Y ACTITUDES EN MATEMÁTICAS Los contenidos de este bloque se desarrollan de forma simultánea al resto de bloques
Más detallesLOS CONTENIDOS DE MATEMÁTICAS EN LOS BACHILLERATOS ITALIANOS
LOS CONTENIDOS DE MATEMÁTICAS EN LOS BACHILLERATOS ITALIANOS LOS CONTENIDOS DEL BIENIO (1º Y 2º AÑO) PROGRAMA A (PARA LOS INDERIZZOS CLÁSICO, LINGÜÍSTICO, SOCIO-PSICO-PEDAGÓGICO Y ARTÍSTICO, 4 horas semanales)
Más detallesMetodología y Tecnología de la Programación. I.T. Informática de Gestión
ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA PROGRAMAS, MÉTODOS Y CRITERIOS DE EVALUACIÓN A APLICAR DURANTE EL PROCESO DE EXTINCIÓN DEL PLAN 1999 Metodología y Tecnología de la Programación I.T. Informática
Más detallesParadigmas de Programación
Cátedra: PARADIGMAS DE PROGRAMACION Código: K9529 Carrera: INGENIERIA EN SISTEMA DE INFORMACIÓN Plan: ORD. Nº 1150 Año: 2013 Régimen: CUATRIMESTRAL Horas semanales: 8 Programa Analítico Paradigmas de Programación
Más detallesPrograma Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Contenidos Didácticos
Ficha Técnica Titulación: Grado en Ingeniería Informática Plan BOE: BOE número 108 de 6 de mayo de 2015 Asignatura: Módulo: Programación y Estructura de Datos Curso: 1º Créditos ECTS: 6 Tipo de asignatura:
Más detallesProcesadores de lenguaje Tema 5 Comprobación de tipos
Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,
Más detallesPROGRAMACIÓN ORIENTADA POR OBJETOS EN JAVA
PROGRAMACIÓN ORIENTADA POR OBJETOS EN JAVA Introducción El paradigma de Programación Orientada a Objetos ha estado vigente desde hace muchos años en el mundo del software. A través de los años este paradigma
Más detallesDivisibilidad y congruencia
Divisibilidad y congruencia Taller de Álgebra I Verano 2017 Algoritmo de la división Teorema Dados a, d Z, d 0, existen únicos q, r Z tales que a = qd + r, 0 r < d. Idea de la demostración: (caso a 0,
Más detallesTemas de Programación funcional (curso )
1 Temas de Programación funcional (curso 2017 18) José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 5 de
Más detallesTemas de Programación funcional (curso )
1 Temas de Programación funcional (curso 2018 19) José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 12 de
Más detallesTEMA 4: Divisibilidad. Números primos. Congruencias Divisibilidad en. Números primos , 00.19, 00.65, 01.8, 02.23, 03.1, 04.
X Problemas de Oposiciones 1996-2005 b) Por temas TEMA 1: Números naturales. Sistemas de numeración Sistema de numeración decimal...00.4, 02.35, 04.16, 04.20 Otros sistemas de numeración...96.10, 98.21
Más detallesContenido. 1. Introducción a la programación La secuenciación La selección...55
Contenido - IX Contenido 1. Introducción a la programación...1 1.1 Conceptos generales...3 La computadora... 3 El programa... 6 Estructuras de datos... 6 Operaciones primitivas elementales... 7 Estructuras
Más detallesTEMARIO DE PROFESORES DE ENSEÑANZA SECUNDARIA MATEMÁTICAS
HOJA INFORMATIVA A.5.2.33 TEMARIO DE PROFESORES DE ENSEÑANZA SECUNDARIA MATEMÁTICAS Publicado en el B.O.E. de 21 de Septiembre de 1.993 MARZO 1998 MATEMÁTICAS 1. Números naturales. Sistemas de numeración.
Más detallesProgramación con listas. El tipo lista
Capítulo 6. Programación con listas 68 Programación con listas El tipo lista La lista representa colecciones de objetos homogéneas (todos los objetos han de tener el mismo tipo). infixr 5 : data [a] =
Más detallesPrograma académico. Tipo de materia (Obli/Opta): Obligatoria Clave de la materia: Semestre: 1 Área en plan de estudios (B, P y E):
UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H FACULTAD DE INGENIERÍA Clave: 08USU4053W PROGRAMA ANALÍTICO DE LA UNIDAD DE APRENDIZAJE: ÁLGEBRA SUPERIOR DES: Ingeniería Programa académico Programas
Más detallesPrograma Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Fundamentos de Programación
Ficha Técnica Titulación: Grado en Ingeniería de Organización Industrial Plan BOE: BOE número 75 de 28 de marzo de 2012 Asignatura: Módulo: TICs (Tecnologías de la Información y las Comunicaciones) Curso:
Más detallesÍNDICE SISTEMÁTICO. Sumario... 5 Prólogo Unidad didáctica 1. Conjuntos Objetivos de la Unidad... 13
ÍNDICE SISTEMÁTICO PÁGINA Sumario... 5 Prólogo... 7 Unidad didáctica 1. Conjuntos... 11 Objetivos de la Unidad... 13 1. Introducción... 14 2. Definiciones... 14 2.1. Conjunto... 14 2.2. Conjuntos bien
Más detallesIntroducción a la Programación Genérica
Introducción a la Programación Genérica Alberto Pardo Instituto de Computación Facultad de Ingeniería Universidad de la República http://www.fing.edu.uy/inco/cursos/proggen Objetivo del curso Introducción
Más detalles1 Introducción a los algoritmos y a la programación de computadoras... 1
Contenido - IX Contenido 1 Introducción a los algoritmos y a la programación de computadoras... 1 1.1 Introducción... 2 1.2 Concepto de algoritmo... 2 1.2.1 Definición de algoritmo y problema... 2 1.2.2
Más detallesTema 3. Patrones y Definiciones de Funciones
Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones
Más detallesTemario. Tipos de recursión. Eficiencia y recursión
RECURSION Temario Tipos de recursión Eficiencia y recursión Tipos de RECURSION Según desde donde se realice el llamado recursivo: Directa: la función se llama a sí misma. Indirecta: la función A llama
Más detallesTipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos
Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos
Más detallesBloque 1. Contenidos comunes. (Total : 1 sesión)
3º E.S.O. 1.1.1 Contenidos 1.1.1.1 Bloque 1. Contenidos comunes. (Total : 1 sesión) Planificación y utilización de estrategias en la resolución de problemas, tales como el recuento exhaustivo, la inducción
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: Introducción a la programación funcional
Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 21 3 / 21 en Haskell En Haskell, una
Más detallesTema 1: Introducción a la programación funcional
Tema 1: Introducción a la programación funcional Informática (2015 16) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 /
Más detalles18 Experimentos aleatorios. Sucesos y espacio muestral. Frecuencia y probabilidad de un suceso.
PRIMER CURSO DE E.S.O Criterios de calificación: 80% exámenes, 10% actividades, 10% actitud y trabajo 1 Números naturales. 2 Potencias de exponente natural. Raíces cuadradas exactas. 3 Divisibilidad. Concepto
Más detallesGUÍA DOCENTE ABREVIADA DE LA ASIGNATURA
GUÍA DOCENTE ABREVIADA DE LA ASIGNATURA G47 - Programación Doble Grado en Física y Matemáticas Grado en Matemáticas Curso Académico 2018-2019 1. DATOS IDENTIFICATIVOS Título/s Doble Grado en Física y Matemáticas
Más detallesIntroducción a Haskell. Cecilia Manzino
Paradigmas de programación Un paradigma de programación representa un estilo particular o filosofía para la construcción del software. Los más comunes dan lugar a los siguientes tipos de programación:
Más detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesRESUMEN DEL CAPITULO, 27 EXAMEN DEL CAPITULO, 28 BIBLIOGRAFIA, 30 GEORGE BOOLE, 31
ÍNDICE 1 Proposiciones y conjuntos en las matemáticas 1 PROPOSICIONES ELEMENTALES Y CONJUNTOS 1-1 Proposiciones 1ógicas; conjuntos, 1 1-2 Variables y cuantificadores, 4 COMBINACION DE PROPOSICIONES Y CONJUNTOS
Más detallesTema 9: Declaraciones de tipos y clases
Tema 9: Declaraciones de tipos y clases Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla
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 detallesTeoría de autómatas. Un enfoque práctico. Recortables. Thelma Cantú María Gpe. Mendoza
Teoría de autómatas. Un enfoque práctico Recortables Thelma Cantú María Gpe. Mendoza 1.1 Búsqueda de lenguajes Alumno: 1 Nombre del lenguaje Alfabeto: Dónde se utiliza? Cuál es el beneficio para la humanidad?
Más detallesTema 1: Programación Funcional
Tema 1: Programación Funcional A. Chávez-González 1 A. Riscos-Núñez 1 F. Sancho-Caparrini 1 1 Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla http://www.cs.us.es/cursos/lp/
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 detallesExpresión decimal. Aproximación y estimación. Notación científica. Polinomios. Divisibilidad de polinomios. Regla de Ruffini.
Otras páginas Matemáticas 5º Matemáticas I. Bloque I: ARITMÉTICA Y ÁLGEBRA Los números reales Los números reales, concepto y características. Estructura algebraica, orden, representación en la recta real
Más detallesTema 2: Introducción a Haskell
El Lenguaje Haskell Tema 2: Introducción a Haskell A. Chávez-González 1 A. Riscos-Núñez 1 F. Sancho-Caparrini 1 1 Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla
Más detallesRepaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Más detallesEstructura de datos Tema 2: Tipos Abstractos de Datos (TADs)
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs) Prof. Montserrat Serrano Montero ÍNDICE Tipos de datos El tipo abstracto
Más detallesANÁLISIS DESCENDENTE. Compruébese que la siguiente gramática es LL(1) sin modificarla.
Procesadores de lenguaje Ejercicios del Tema 3 ANÁLISIS DESCENDENTE Ejercicio 3.1 Compruébese que la siguiente gramática es LL(1) sin modificarla. Ejercicio 3.2 A B C D B a C b B λ C c A d C e B f C g
Más detallesBiblioteca de recursos. Descargado desde
Biblioteca de recursos Descargado desde www.rededuca.net Matemáticas 1. Números naturales. Sistemas de numeración. 2. Fundamentos y aplicaciones de la teoría de grafos. Diagramas en árbol. 3. Técnicas
Más detallesPROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización: F1215 Matemáticas discretas 1/ 8
PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales General Programa elaborado por: Matemáticas discretas Horas teóricas: 1 Horas prácticas: 3 Total de
Más detallesCapítulo 1. Matrices Matrices Ejercicios Suma de matrices Ejercicios
ÍNDICE Capítulo 1. Matrices... 1 Matrices... 2 Ejercicios... 4 Suma de matrices... 6 Ejercicios... 10 Producto de matrices... 15 Ejercicios... 18 Geometría y matrices... 21 Ejercicios... 26 Operaciones
Más detalles