RAZONANDO CON HASKELL UN CURSO SOBRE PROGRAMACIÓN FUNCIONAL. A Charo, Pepa, Ana y Chari INTERNATIONAL THOMSON EDITORES SPAIN PARANINFO

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

Download "RAZONANDO CON HASKELL UN CURSO SOBRE PROGRAMACIÓN FUNCIONAL. A Charo, Pepa, Ana y Chari INTERNATIONAL THOMSON EDITORES SPAIN PARANINFO"

Transcripción

1 RAZONANDO CON HASKELL UN CURSO SOBRE PROGRAMACIÓN FUNCIONAL A Charo, Pepa, Ana y Chari INTERNATIONAL THOMSON EDITORES SPAIN PARANINFO

2 hola

3 Blas Carlos Ruiz Jiménez, Francisco Gutiérrez López y José Enrique Gallardo Ruiz Profesores del Departamento de Lenguajes y Ciencias de la Computación Pablo Guerrero García Profesor del Departamento de Matemática Aplicada E.T.S.I. Informática. Universidad de Málaga RAZONANDO CON HASKELL UN CURSO SOBRE PROGRAMACIÓN FUNCIONAL Málaga, enero de 2004

4 c Blas C. Ruiz, Francisco Gutiérrez, Pablo Guerrero y José E. Gallardo Edita: Imprime: ISBN:... Depósito Legal:... Composición: Realizada por los autores en LATEX2ɛ.

5 ÍNDICE GENERAL Índice de figuras Prólogo Convenios XIII XVII 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 Float El tipo Double El tipo Char Operadores de igualdad y orden Constructores de tipos predefinidos Tuplas Listas El constructor de tipo ( ) Comentarios Operadores Operadores frente a funciones Comparación de patrones Patrones constantes

6 VI Índice general Patrones para listas Patrones para tuplas 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 Una función de orden superior sobre naturales Polimorfismo La composición de funciones Otras funciones polimórficas Polimorfismo en listas Polimorfismo en tuplas Un iterador polimórfico sobre los naturales Definición de tipos Sinónimos de tipo Definición de tipos de datos Tipos enumerados Uniones Productos Tipos recursivos Tipos parametrizados (o polimórficos) Definiciones newtype Propiedades de funciones La propiedad universal de foldnat Sobrecarga y polimorfismo restringido Un ejemplo de sobrecarga Ejercicios

7 Índice general VII 5. El sistema de clases de HASKELL Tipos y clases de tipos. Jerarquía de clases El sistema de clases Declaración de clase La clase Eqde PRELUDE Contextos 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 Las clases Num, Integral y Fractional 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 La propiedad universal de foldr foldl Ordenación de listas Ordenación por inserción Ordenación por mezcla Ordenación rápida Problemas combinatorios Los segmentos iniciales de una lista Los segmentos consecutivos de una lista Permutaciones de una lista Otras funciones predefinidas Ejercicios

8 VIII Índice general 7. 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 Ejemplos II Programación avanzada Evaluación perezosa. Redes de procesos Evaluación perezosa Argumentos estrictos Procesando estructuras infinitas en forma perezosa Listas parciales y listas infinitas Aproximaciones o listas parciales Inducción sobre listas parciales Redes finitas de procesos La criba de Eratóstenes El triángulo de Pascal Procesos con varias entradas La lista de factoriales Los números de Fibonacci Sucesiones genéricas Los números de Hamming Sucesiones contadoras 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

9 Índice general IX 9.5. Grafos con pesos 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 una interfaz no sobrecargada Representación con una interfaz sobrecargada 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 Functor La clase Monad La clase MonadPlus 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 Operaciones con mónadas Combinando mónadas

10 X Índice general Transformadores monádicos 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 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 una 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 Programación funcional estilo PROLOG Ejercicios Analizadores Analizadores y la clase Read Gramáticas y la notación BNF El tipo Read La clase Read Analizadores monádicos Secuenciación Alternancia Filtros Iteración Elección parcial Un analizador para términos Ejercicios

11 Índice general XI 15. Simulación Generación de aleatorios por congruencias Programando secuencias pseudo-aleatorias Algunos resultados teóricos Simulación en el juego del póquer 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 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

12 XII Índice general 17. 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 Órdenes 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 Bibliografía 499 Índice alfabético 503

13 ÍNDICE DE FIGURAS 1.1. Representación perezosa de la función doble Reducción perezosa de doble (doble 3) Asociatividad y prioridad de los operadores predefinidos Sangrando una declaración Sangrando dos declaraciones Aplicaciones parciales La función unavez La función dosveces La composición de funciones Cálculo de espar usando foldnat Jerarquía de clases de PRELUDE Instancias HASKELL estandarizadas para los tipos de PRELUDE La clase Ord La clase Enum head, tail, init y last take, drop y (!!) Reducción de foldr f z [x 1,..., x n 1, x n ] Reducción de foldr1 f [x 1,..., x n 1, x n ] Reducción de foldl f z [x 1,..., x n 1, x n ] Ordenación por mezcla Ordenación rápida Diálogos con pretty printer Diálogos con pretty printer La función incr Red para la evaluación de los enteros positivos Red de procesos para sucesiones Red de procesos para la criba de Eratóstenes Red para el triángulo de Pascal Red de procesos para la lista de factoriales Red para el cómputo de los números de Fibonacci

14 XIV Índice de figuras 8.8. Red para el cálculo de la sucesión xn Red para el cómputo de los números de Hamming Red de procesos para los pares de naturales Un árbol con 7 elementos Un árbol ordenado Eliminación de un dato Árbol para creaarray [0..7] Un grafo Otro grafo Árbol de visitas en profundidad Árbol de visitas en anchura Un grafo sencillo Un grafo con pesos Un diccionario Cabecera del módulo Conjunto Definición de (>>=) Propiedad (m1) Propiedad (m2) Propiedad (k1) Propiedad (k2) Propiedad (k3). Primera función Propiedad (k3). Segunda función Cómputos con (>>=) Cómputos con (>>=) gráficamente Definición de fmap a través de una mónada Definición de join a partir de una mónada Definición de (>>=) a partir de join y fmap El operador (>>=) de la mónada Lectora Un transformador de estados (>>=) para transformadores de estados Cálculo de la raíz n-ésima por el método de Newton-Raphson Traspuesta de una matriz El problema de las vasijas El problema de los caníbales y misioneros Tablero de cuatro filas para el solitario de Abreu. Un movimiento Posición inicial y final del ocho-puzzle. Un movimiento Direcciones en la lectura Reconstrucción de las diagonales noataca 2 [5, 1, 4] = True noataca 3 [5, 1, 4] = False Dos reinas que se atacan El problema de las ocho reinas

15 Índice de figuras XV Las torres de Hanoi El problema de las Torres de Hanoi con cuatro torres El tablero del solitario Un cuadrado mágico El problema de los tres sombreros Los cuatro caballos El problema de los trenes Un polígono La vía Algunos términos notables El sistema de tipos de Curry El λ-cálculo polimórfico

Programación Declarativa Haskell Informática Sistemas Curso Pepe Gallardo Universidad de Málaga. Tema 8. Listas

Programació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 detalles

Informática Haskell Matemáticas Curso Pepe Gallardo Universidad de Málaga. Tema 8. Listas

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

Tema 6: Funciones recursivas

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

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. 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 detalles

Tema 3: Tipos y clases

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

Tema 3: Tipos y clases

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

Tema 3: Tipos y clases

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

Tema 3: Tipos y clases

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

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad

TÍ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 detalles

Contenido. Capítulo I Sistemas numéricos 2. Capítulo II Métodos de conteo 40

Contenido. 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 detalles

Definiciones de tipo. Sinónimos de tipo

Definiciones 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

Tema 13: Aplicaciones de programación funcional

Tema 13: Aplicaciones de programación funcional Tema 13: Aplicaciones de programación funcional 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

Más detalles

Tema 7. El sistema de clases

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

PROGRAMACIÓN EN JAVA

PROGRAMACIÓ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 detalles

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

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

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA

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

Contenido. Prefacio Orígenes de la programación orientada a objetos... 1

Contenido. 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 detalles

Tema 4: Definición de funciones

Tema 4: Definición de funciones Tema 4: Definición de funciones Informática (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 / 30 Tema 4: Definición

Más detalles

El sistema de clases de Haskell. Introducción

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

Tema 4: Definición de funciones

Tema 4: Definición de funciones 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 Constantes como patrones Variables como

Más detalles

Tema 6. Definiciones de tipos

Tema 6. Definiciones de tipos Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 6. Definiciones de tipos 6.1 Sinónimos de tipo 6.2 Definiciones de tipos de datos Tipos enumerados

Más detalles

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

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

Programación Funcional Haskell Clase 22

Programació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 detalles

Introducción a Haskell. El lenguaje Haskell

Introducció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 detalles

ANEXO XVII DE LA RESOLUCION N

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

Práctica N o 1 - Programación Funcional

Práctica N o 1 - Programación Funcional Práctica N o 1 - Programación Funcional Para resolver esta práctica, recomendamos usar el Hugs 98, de distribución gratuita, que puede bajarse de http://www.haskell.org/hugs/. Ejercicio 1 Dado el siguiente

Más detalles

Tema 3. Patrones y Definiciones de Funciones

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

CURSO DE METODOS NUMERICOS INDICE

CURSO DE METODOS NUMERICOS INDICE CURSO DE METODOS NUMERICOS INDICE PRIMERA PART E: INTRODUCCION AL ANALISIS NUMERICO Y A LA COMPUTACION Capítulo I. Introducción al Análisis Numérico. 1. Algoritmos y diagramas de flujo. pg. 1 2. Origen

Más detalles

Tema 9: Declaraciones de tipos y clases

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

Tema 4.- Recursión e iteración

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

Introducción a Haskell. Cecilia Manzino

Introducció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 detalles

Tipos de datos y clases de tipos

Tipos de datos y clases de tipos Tipos de datos y clases de tipos Taller de Álgebra I Verano 2017 Tipos de datos Tipo de dato Un conjunto de valores a los que se les puede aplicar un conjunto de funciones. Ejemplos 1 Integer = (Z, {+,,,

Más detalles

Tema 9: Declaraciones de tipos y clases

Tema 9: Declaraciones de tipos y clases Tema 9: Declaraciones de 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 / 41 Tema 9:

Más detalles

Tema 2. Tipos predefinidos

Tema 2. Tipos predefinidos Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 2. Tipos predefinidos 2.1 Tipos simples predefinidos El tipo Bool El tipo Int El tipo Integer

Más detalles

Paradigma Funcional Caso de estudio: ML. Lenguajes de Programación 2017

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

Contenido. 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... 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 detalles

Procesadores de lenguaje Tema 5 Comprobación de tipos

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

INDICE 1.1. Información y Significado 1.2. Arreglos en C 1.3. Estructura en C 1.4. Clases en C++ 2. La Pila 2.1. Definición y Ejemplos

INDICE 1.1. Información y Significado 1.2. Arreglos en C 1.3. Estructura en C 1.4. Clases en C++ 2. La Pila 2.1. Definición y Ejemplos INDICE Prefacio xiii 1. Introducción a las Estructuras de datos 1 1.1. Información y Significado 1 Enteros binarios y decimales 2 Números reales 4 Cadenas de caracteres 5 Hardware y software 6 Concepto

Más detalles

Tema 3. Patrones y Definiciones de Funciones

Tema 3. Patrones y Definiciones de Funciones Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 3. Patrones y Definiciones de Funciones 3.1 Comparación de Patrones Patrones constantes Patrones para listas Patrones

Más detalles

Bachillerato Internacional. Matemáticas Nivel Medio. Programa para el curso 1º ( )

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

ELEMENTOS DE LA MATEMATICA

ELEMENTOS DE LA MATEMATICA ELEMENTOS DE LA MATEMATICA SEMESTRE: Primero CODIGO ANTERIOR: 22G7 CODIGO: 8101 REQUISITOS: No tiene CREDITOS: 6 HORAS DE TEORIA: 4 HORAS DE PRACTICA : 4 TEMA 1: Lógica simbólica. Las conectivas lógicas.

Más detalles

Árboles generales. Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva:

Árboles generales. Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva: Capítulo 9. Programación con Árboles 107 Árboles Árboles generales Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva: Un

Más detalles

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5)

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5) 1 Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Práctica 1 1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:?

Más detalles

LOS CONTENIDOS DE MATEMÁTICAS EN LOS BACHILLERATOS ITALIANOS

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

Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8

Planificaciones Algoritmos y Programación I. Docente responsable: CARDOZO MARTIN MIGUEL. 1 de 8 Planificaciones 9511 - Algoritmos y Programación I Docente responsable: CARDOZO MARTIN MIGUEL 1 de 8 OBJETIVOS Capacitar al alumno en el diseño y programación documentados de algoritmos y en la elección

Más detalles

Tema 2: Introducción a la programación con Haskell

Tema 2: Introducción a la programación con Haskell Tema 2: Introducción a la programación con Haskell 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

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

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

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

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

TEMARIO DE PROFESORES DE ENSEÑANZA SECUNDARIA MATEMÁTICAS

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

Contenido. 1. Introducción a la programación La secuenciación La selección...55

Contenido. 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 detalles

Introducción al Lambda Cálculo (C)

Introducción al Lambda Cálculo (C) Introducción al Lambda Cálculo (C) Francisco Rafael Yépez Pino Programación Declarativa Avanzada Introducción al -Cálculo: 1. δ-reducciones y -reducciones 1.1. Teorías 1.2. Eta-conversión y extensionalidad

Más detalles

Guardas y Tipos de datos

Guardas y Tipos de datos Guardas y Tipos de datos Taller de Álgebra I 1er Cuatrimestre 2017 Definiciones de funciones por casos Podemos usar guardas para definir funciones por casos: f (n) = { 1 si n = 0 0 si no f n n == 0 = 1

Más detalles

Universidad Tecnológica Nacional Facultad Regional San Francisco. Tecnicatura Superior en Programación. Matemática

Universidad Tecnológica Nacional Facultad Regional San Francisco. Tecnicatura Superior en Programación. Matemática Universidad Tecnológica Nacional Facultad Regional San Francisco Tecnicatura Superior en Programación PLANIFICACIÓN CICLO LECTIVO 2014 ÍNDICE ÍNDICE... 2 PROFESIONAL DOCENTE A CARGO... 3 UBICACIÓN... 4

Más detalles

Ejercicios de programación funcional con Haskell

Ejercicios de programación funcional con Haskell Ejercicios de programación funcional con Haskell José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 8 de

Más detalles

Expresión decimal. Aproximación y estimación. Notación científica. Polinomios. Divisibilidad de polinomios. Regla de Ruffini.

Expresió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 detalles

ÍNDICE SISTEMÁTICO. Sumario... 5 Prólogo Unidad didáctica 1. Conjuntos Objetivos de la Unidad... 13

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

DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos

DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos DEPARTAMENTO: ACADEMIA A LA QUE PERTENECE: NOMBRE DE LA MATERIA: DATOS DE IDENTIFICACIÓN DEL CURSO Ciencias Computacionales Estructuras y algoritmos Estructuras de Datos CLAVE DE LA MATERIA: CC202 CARÁCTER

Más detalles

Aplicació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 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

GUÍA DE EXAMEN DE NUEVO INGRESO. Maestría en Optimización de Procesos

GUÍA DE EXAMEN DE NUEVO INGRESO. Maestría en Optimización de Procesos GUÍA DE EXAMEN DE NUEVO INGRESO Maestría en Optimización de Procesos ANTECEDENTES La presente guía de estudio tiene como objeto establecer los temas que serán evaluados en el proceso de selección de estudiantes

Más detalles

METODOLOGÍA DE LA PROGRAMACIÓN. APLICACIONES EN BASIC, COBOL Y PASCAL ÍNDICE

METODOLOGÍA DE LA PROGRAMACIÓN. APLICACIONES EN BASIC, COBOL Y PASCAL ÍNDICE PRÓLOGO CAPÍTULO 1. LA PROGRAMACIÓN DE COMPUTADORES Fases del diseño y puesta a punto de un programa Diseño del programa Puesta a punto del programa Características de los programas Legibilidad Portabilidad

Más detalles

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28 Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes

Más detalles

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática

UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática PROGRAMACIÓN ORIENTADA A OBJETOS(1602). ÁREA DE CONOCIMIENTO: PROGRAMACIÓN E INGENIERÍA DE SOFTWARE CRÉDITOS: 7 HORAS TEÓRICAS ASIGNADAS A LA SEMANA: 2 HORAS PRÁCTICAS ASIGNADAS A LA SEMANA: 2 PROGRAMAS

Más detalles

Tema Árboles binarios fmap para árboles binarios Plegado de árboles binarios

Tema Árboles binarios fmap para árboles binarios Plegado de árboles binarios Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles binarios fmap para árboles binarios Plegado de árboles binarios 9.2

Más detalles

Prólogo del autor... xv. Agradecimientos... xvii. Parte 1. Métodos anónimos... 3

Prólogo del autor... xv. Agradecimientos... xvii. Parte 1. Métodos anónimos... 3 Contenido Prólogo del autor... xv Agradecimientos... xvii Introducción... xix Parte 1 Conceptos preliminares Métodos anónimos... 3 1.1. Breve repaso a los delegados y eventos en C# 1... 3 1.2. Los métodos

Más detalles

TEMARIO PRESENTACIÓN 7 MÓDULO I 17 EXPRESIONES ALGEBRAICAS 19

TEMARIO PRESENTACIÓN 7 MÓDULO I 17 EXPRESIONES ALGEBRAICAS 19 TEMARIO PRESENTACIÓN 7 MÓDULO I 17 EXPRESIONES ALGEBRAICAS 19 Introducción 19 Lenguaje común y lenguaje algebraico 22 Actividad 1 (Lenguaje común y lenguaje algebraico) 23 Actividad 2 (Lenguaje común y

Más detalles

TEMARIO PRUEBA DE SÍNTESIS MATEMÁTICA NIVEL SÉPTIMO BÁSICO

TEMARIO PRUEBA DE SÍNTESIS MATEMÁTICA NIVEL SÉPTIMO BÁSICO NIVEL SÉPTIMO BÁSICO Operatoria números naturales Operatoria números decimales Clasificación de números decimales Transformación de decimal a fracción Orden de números enteros Ubicación de números enteros

Más detalles

Listas y Recursión. Taller de Álgebra I. Primer Cuatrimestre de 2015

Listas y Recursión. Taller de Álgebra I. Primer Cuatrimestre de 2015 Listas y Recursión Taller de Álgebra I Primer Cuatrimestre de 2015 Un nuevo tipo: Listas Tipo Lista Las listas pueden contener elementos de cualquier tipo (incluso listas) [1] :: [Integer] [1, 2] :: [Integer]

Más detalles

18 Experimentos aleatorios. Sucesos y espacio muestral. Frecuencia y probabilidad de un suceso.

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

Tema 5: Definiciones de listas por comprensión

Tema 5: Definiciones de listas por comprensión Tema 5: Definiciones de listas por comprensión 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 detalles

CARRERA DE CIECNIAS DE LA COMPUTACIÓN PROGRAMA DE ESTUDIO. Teóricos: 2 Práctico: 1 Total 3

CARRERA DE CIECNIAS DE LA COMPUTACIÓN PROGRAMA DE ESTUDIO. Teóricos: 2 Práctico: 1 Total 3 ARQUITECTURA DE COMPUTADORES CÓDIGO Y CCO301 Total 3 Las matemática aplicada a la computación es el modelado, simulación y optimización de procesos o fenómenos, para procesos complejos, costosos, riesgosos,

Más detalles

Tema 5: Definiciones de listas por comprensión

Tema 5: Definiciones de listas por comprensión Tema 5: Definiciones de listas por comprensión 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 detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

Tema 12: Analizadores sintácticos funcionales

Tema 12: Analizadores sintácticos funcionales Tema 12: Analizadores sintácticos funcionales Informática (2014 15) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 2 / 37

Más detalles

Programación funcional

Programació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 detalles

Introducción rápida a la programación (estructurada ) con C++

Introducción rápida a la programación (estructurada ) con C++ Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de

Más detalles

Introducción a la Programación Genérica

Introducció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 detalles

Tema 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) 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 detalles

Construcciones del Lenguaje Java

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

Tema 1: Programación Funcional

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

Lenguajes de Programación Programación funcional

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

Fundamentos de programación JAVA

Fundamentos de programación JAVA Pág. N. 1 Fundamentos de programación JAVA Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-238-7 N. de páginas: 296 Edición: 2. a 2014 Medida:

Más detalles

PROGRESION 1er L 2017

PROGRESION 1er L 2017 PROGRESION 1er L 2017 UNIDAD: NUMERACION SISTEMAS NUMÉRICOS. NÚMEROS NATURALES (N) Y NÚMEROS ENTEROS (Z) OPERATORIA EN Z MULTIPLOS Y DIVISORES NÚMEROS PRIMOS, COMPUESTOS Y DESCOMPOSICIÓN EN FACTORES TEOREMA

Más detalles

Programación Inicial. Requisitos previos. Objetivos. Próximos Inicios. Modalidad a Distancia. Costo y formas de pago. Resumen de Contenidos

Programación Inicial. Requisitos previos. Objetivos. Próximos Inicios. Modalidad a Distancia. Costo y formas de pago. Resumen de Contenidos Programación Inicial con Java y Oracle Requisitos previos Para realizar esta capacitación el único requisito previo es contar con un amplio dominio del manejo del entorno Windows, además de utilizar programas

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación

Más detalles

Materia: Matemáticas Curso: Noveno de Básica BREVE DESCRIPCIÓN DE LA CLASE:

Materia: Matemáticas Curso: Noveno de Básica BREVE DESCRIPCIÓN DE LA CLASE: Materia: Matemáticas Curso: Noveno de Básica BREVE DESCRIPCIÓN DE LA CLASE: Durante este curso se contribuirá al desarrollo del pensamiento lógico, reflexivo y crítico de los estudiantes, es por ello,

Más detalles

Tutoría Completa - Curso de Matemática para 1, 2 y 3 Básico

Tutoría Completa - Curso de Matemática para 1, 2 y 3 Básico Tutoría Completa - Curso de Matemática para 1, 2 y 3 Básico Contenido 1 Básico 1. Proposiciones y cuantificadores a. Proposiciones b. Negación c. Conjunción d. Disyunción e. Condicional f. Doble condicional

Más detalles

Contenido. Prólogo... Capítulo 1. Algoritmos y estructuras de datos... 1. Introducción... 24

Contenido. Prólogo... Capítulo 1. Algoritmos y estructuras de datos... 1. Introducción... 24 Contenido Prólogo... vii Capítulo 1. Algoritmos y estructuras de datos... 1 Introducción... 2 1.1. Tipos de datos... 2 1.1.1. Tipos primitivos de datos... 3 1.1.2. Tipos de datos compuestos y agregados...

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Contenidos Didácticos

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

Tema 1. Tema 2. Informática Haskell Matemáticas Curso Pepe Gallardo Universidad de Málaga

Tema 1. Tema 2. Informática Haskell Matemáticas Curso Pepe Gallardo Universidad de Málaga Informática Pepe Gallardo Universidad de Málaga 1 Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 1 1.1 Considérense las siguientes definiciones de funciones: inc

Más detalles

Fundamentos de Programación Visual Basic

Fundamentos de Programación Visual Basic Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280

Más detalles

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Fundamentos de Programación

Programa 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

Divisibilidad y congruencia

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

PROGRAMACIÓN ORIENTADA POR OBJETOS EN JAVA

PROGRAMACIÓ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 detalles

Al final, qué sabré hacer?... Itinerario del proceso de aprendizaje... Capítulo 1. Conceptos generales a modo de introducción (CG)

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

n! = 1 2 n 0! = 1 (n+1)! = (n + 1) n!

n! = 1 2 n 0! = 1 (n+1)! = (n + 1) n! Capítulo 3 Recursión La recursión es un estilo autoreferencial de definición usado tanto en matemática como en informática. Es una herramienta de programación fundamental, particularmente importante para

Más detalles

MATEMÁTICAS. PRIMERO DE E.S.O.

MATEMÁTICAS. PRIMERO DE E.S.O. MATEMÁTICAS. PRIMERO DE E.S.O. Unidad 1: Números naturales. Potencias y raíces. Números naturales. Representación geométrica. Operaciones. Sistema de numeración decimal. Operaciones combinadas. Jerarquía.

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programació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 detalles

Programación Funcional Haskell Clase 19

Programación Funcional Haskell Clase 19 Programación Funcional Haskell Clase 19 José Raymundo Marcial Romero rmarcial@fi.uaemex.mx BUAP c José Raymundo Marcial Romero. Clase Número 19 p.1/23 Temas de la clase Lenguajes Funcionales Haskell y

Más detalles