Programación Funcional

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

Download "Programación Funcional"

Transcripción

1 Alberto Pardo Marcos Viera Instituto de Computación, Facultad de Ingeniería Universidad de la República, Uruguay

2 Operaciones sobre listas

3 Listas El tipo de las listas es uno de los más usados en PF Su relevancia en PF se compara a la de los conjuntos en la matemática La expresión [m.. n] denota la lista de valores entre m y n. Si m > n denota la lista vacía [ ]. Por ejemplo, [1.. 4] denota la lista [1, 2, 3, 4].

4 Divisores de un número Ser divisor: m divide n = n mod m == 0

5 Divisores de un número Ser divisor: m divide n = n mod m == 0 Divisores de un entero positivo (incluyéndolo):

6 Divisores de un número Ser divisor: m divide n = n mod m == 0 Divisores de un entero positivo (incluyéndolo): divisores n = [d d [1.. n], d divide n]

7 Divisores de un número Ser divisor: m divide n = n mod m == 0 Divisores de un entero positivo (incluyéndolo): divisores n = [d d [1.. n], d divide n] equivale a divisores n = filter ( divide n) [1.. n]

8 Divisores de un número Ser divisor: m divide n = n mod m == 0 Divisores de un entero positivo (incluyéndolo): divisores n = [d d [1.. n], d divide n] equivale a divisores n = filter ( divide n) [1.. n] Máximo común divisor:

9 Divisores de un número Ser divisor: m divide n = n mod m == 0 Divisores de un entero positivo (incluyéndolo): divisores n = [d d [1.. n], d divide n] equivale a divisores n = filter ( divide n) [1.. n] Máximo común divisor: mcd x y = maximum [d d divisores x, d divide y ]

10 Divisores de un número Ser divisor: m divide n = n mod m == 0 Divisores de un entero positivo (incluyéndolo): divisores n = [d d [1.. n], d divide n] equivale a divisores n = filter ( divide n) [1.. n] Máximo común divisor: mcd x y = maximum [d d divisores x, d divide y ] equivale a mcd x y = maximum filter ( divide y) divisores $ x donde f $ x = f x

11 Números primos Determinar si un número es primo:

12 Números primos Determinar si un número es primo: primo n = divisores n == [1, n]

13 Números primos Determinar si un número es primo: primo n = divisores n == [1, n] Esto se puede hacer de forma mas eficiente:

14 Números primos Determinar si un número es primo: primo n = divisores n == [1, n] Esto se puede hacer de forma mas eficiente: primo n = (n > 1) && ([d d [2.. intsqrt n], d divide n] == [ ]) intsqrt n es el mayor entero cuyo cuadrado es menor o igual a n, o sea, n

15 Números perfectos Factores de un número (divisores menores que el número): factores n = filter ( divide n) [1.. n div 2]

16 Números perfectos Factores de un número (divisores menores que el número): factores n = filter ( divide n) [1.. n div 2] Se dice que un número es perfecto si la suma de sus factores es igual al número: perfecto n = sum (factores n) == n

17 Números perfectos Factores de un número (divisores menores que el número): factores n = filter ( divide n) [1.. n div 2] Se dice que un número es perfecto si la suma de sus factores es igual al número: perfecto n = sum (factores n) == n Números perfectos entre 1 y 100: >filter perfecto [ ]

18 Números perfectos Factores de un número (divisores menores que el número): factores n = filter ( divide n) [1.. n div 2] Se dice que un número es perfecto si la suma de sus factores es igual al número: perfecto n = sum (factores n) == n Números perfectos entre 1 y 100: >filter perfecto [ ] [6, 28]

19 take y drop Dado un entero no negativo n y una lista xs: take n xs retorna el segmento inicial de xs de largo n si su largo es menor que n retorna toda xs drop n xs retorna la lista luego de sacar los primeros n elementos de xs si su largo es menor que n retorna la lista vacía take y drop satisfacen que: take n xs + drop n xs == xs

20 Ejemplos Retornar una lista menos su último elemento. init :: [a] [a] init xs = take (length xs 1) xs

21 Ejemplos Retornar una lista menos su último elemento. init :: [a] [a] init xs = take (length xs 1) xs Último elemento de una lista. last :: [a] a last xs = head $ drop (length xs 1) xs

22 Ejemplos Retornar una lista menos su último elemento. init :: [a] [a] init xs = take (length xs 1) xs Último elemento de una lista. last :: [a] a last xs = head $ drop (length xs 1) xs Partir una lista en dos en un determinado lugar. splitat :: Int [a] ([a], [a]) splitat n xs = (take n xs, drop n xs)

23 trail La función trail es un ejemplo de diseño composicional. La llamada trail n retorna las últimas n ĺıneas de un texto. trail :: Int String String trail n = unlines reverse take n reverse lines La función lines separa un texto en ĺıneas; unlines es su inversa. lines :: String [String ] unlines :: [String ] String

24 La función zip zip :: [a] [b] [(a, b)

25 La función zip zip :: [a] [b] [(a, b) Producto escalar de dos vectores (dados como listas):

26 La función zip zip :: [a] [b] [(a, b) Producto escalar de dos vectores (dados como listas): prodesc :: Num a [a] [a] a prodesc xs ys = sum map (uncurry ( )) $ zip xs ys

27 La función zip zip :: [a] [b] [(a, b) Producto escalar de dos vectores (dados como listas): prodesc :: Num a [a] [a] a prodesc xs ys = sum map (uncurry ( )) $ zip xs ys Determinar si una secuencia es no decreciente:

28 La función zip zip :: [a] [b] [(a, b) Producto escalar de dos vectores (dados como listas): prodesc :: Num a [a] [a] a prodesc xs ys = sum map (uncurry ( )) $ zip xs ys Determinar si una secuencia es no decreciente: nondec :: Ord a [a] Bool nondec xs = and map (uncurry ( )) $ zip xs (tail xs) donde and bs es True si todos los elementos de la lista (de booleanos) bs son True.

29 La función zipwith zipwith :: (a b c) [a] [b] [c ] zipwith f = map (uncurry f ) (zip xs ys)

30 La función zipwith zipwith :: (a b c) [a] [b] [c ] zipwith f = map (uncurry f ) (zip xs ys) Usando zipwith podemos definir prodesc y nondec: prodesc xs ys = sum $ zipwith ( ) xs ys nondec xs = and $ zipwith ( ) xs (tail xs)

31 La función foldr foldr :: (a b b) b [a] b Dada un operador y un valor e, la función foldr ( ) e cuando es aplicada a una lista [x 1,..., x n ], es decir, x 1 : x 2 : x 3 :... : x n : [ ], o que es lo mismo, x 1 : (x 2 : (x 3 :... : (x n : [ ])...)) retorna el valor x 1 (x 2 (x 3...(x n e)...)) En otras palabras, foldr sustituye (:) por ( ) y [ ] por e.

32 Ejemplos sum :: Num a [a] a sum = foldr (+) 0 and :: [Bool ] Bool and = foldr (&&) True map :: (a b) [a] [b] map f = foldr (cons f ) [ ] where cons x xs = x : xs filter :: (a Bool) [a] [a] filter p = foldr op [ ] where op a r p a = a : r otherwise = r

data Tree a = Tip Node a (Tree a) (Tree a) deriving Show

data Tree a = Tip Node a (Tree a) (Tree a) deriving Show Preguntas seleccionadas de pruebas de evaluación Pregunta 1 Dadas las siguientes definiciones: data Tree a = Tip Node a (Tree a) (Tree a) deriving Show cambiar :: [Int] -> Tree [Int] -> Tree [Int] cambiar

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

Tema 11. Listas infinitas

Tema 11. Listas infinitas Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 11. Listas infinitas 11.1 Listas infinitas 11.2 La criba de Eratóstenes 11.3 Redes de procesos

Más detalles

Programación Funcional en Haskell

Programación Funcional en Haskell Programación Funcional en Haskell Paradigmas de Lenguajes de Programación 1 cuatrimestre 2006 1. Expresiones, valores y tipos Un programa en lenguaje funcional consiste en definir expresiones que computan

Más 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

Guía 2: Funciones, listas, recursión e inducción

Guía 2: Funciones, listas, recursión e inducción Introducción a los Algoritmos - 1er cuatrimestre 2013 Guía 2: Funciones, listas, recursión e inducción El objetivo de los siguientes ejercicios es introducirnos en la programación funcional, es decir,

Más detalles

Introducción. Haskell

Introducción. Haskell Introducción Haskell 1 Valores, Tipos, Expresiones Los valores son entidades abstractas que podemos considerar como la respuesta a un cálculo 5-1 8 Cada valor tiene asociado un tipo ( :: )

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

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

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

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

Más detalles

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

Guía 1: Funciones, precedencia y tipado

Guía 1: Funciones, precedencia y tipado Introducción a los Algoritmos - do. cuatrimestre 014 Guía 1: Funciones, precedencia y tipado Docentes: Walter Alini, Luciana Benotti El objetivo de los siguientes ejercicios es introducirnos en la programación

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

Programación Funcional Haskell Clase 21

Programación Funcional Haskell Clase 21 Programación Funcional Haskell Clase 21 José Raymundo Marcial Romero rmarcial@fi.uaemex.mx BUAP c José Raymundo Marcial Romero. Clase Número 21 p.1/12 Temas de la clase Clase Anterior En Haskell cada expresió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 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

Polinomios. Taller de Álgebra I. Verano 2017

Polinomios. Taller de Álgebra I. Verano 2017 Polinomios Taller de Álgebra I Verano 2017 Polinomios En esta clase vamos a trabajar con polinomios. Para hacer las cosas fáciles, trabajaremos en R[x]. Es decir, en Float[x]. Hay muchas maneras de representar

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

Guía 2: Funciones, listas, recursión e inducción

Guía 2: Funciones, listas, recursión e inducción Introducción a los Algoritmos - 1er cuatrimestre 2015 Guía 2: Funciones, listas, recursión e inducción El objetivo de los siguientes ejercicios es introducirnos en la programación funcional, es decir,

Más detalles

Tipos paramétricos y recursivos

Tipos paramétricos y recursivos Tipos paramétricos y recursivos Taller de Álgebra I Verano 2017 Tipos paramétricos Tipos paramétricos Podemos hacer que los constructores de un tipo de datos reciban parámetros. A los tipos construidos

Más detalles

Tipos de datos algebraicos

Tipos de datos algebraicos Tipos de datos algebraicos Taller de Álgebra I Segundo cuatrimestre de 2013 Programación funcional Recordemos que un tipo de datos es un conjunto dotado con una serie de operaciones sobre los elementos

Más detalles

Guía 2: Funciones, listas, recursión e inducción

Guía 2: Funciones, listas, recursión e inducción Introducción a los Algoritmos - 2do cuatrimestre 2016 Guía 2: Funciones, listas, recursión e inducción El objetivo de los siguientes ejercicios es continuar aprendiendo programación funcional, es decir,

Más detalles

SOLUCIONES A EJERCICIOS

SOLUCIONES A EJERCICIOS 21 SOLUCIONES A EJERCICIOS 21.1. INTRODUCCIÓN A HASKELL Solución al Ejercicio 2.14 (pág. 33). Nuestra función deberá verificar n sep n 0 aentero [a n, a n 1,..., a 0 ] = n i=0 a i 10 i Para n = 0 tenemos

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

Temas de Programación declarativa ( ) José A. Alonso Jiménez

Temas de Programación declarativa ( ) José A. Alonso Jiménez Temas de Programación declarativa (2007 08) José A. Alonso Jiménez Grupo de Lógica Computacional Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sevilla, 28 de Agosto

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

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

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

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es

Más detalles

Isabelle como un lenguaje funcional

Isabelle como un lenguaje funcional Capítulo 1 Isabelle como un lenguaje funcional 1.1 Introducción Nota 1.1.1. Esta notas son una introducción a la demostración asistida utilizando el sistema Isabelle/HOL/Isar. La versión de Isabelle utilizada

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

Secuencias. Mauro Jaskelioff 18/05/2015

Secuencias. Mauro Jaskelioff 18/05/2015 Secuencias Mauro Jaskelioff 18/05/2015 Secuencias Seq es un TAD para representar secuencias de elementos. A continuación veremos algunas de sus operaciones y las especificaremos en términos de la noción

Más detalles

Programación Declarativa UNIVERSIDAD DE MÁLAGA

Programación Declarativa UNIVERSIDAD DE MÁLAGA Programación Declarativa UNIVERSIDAD DE MÁLAGA (3 o de Ingeniería Técnica en Informática) E.T.S.I. INFORMÁTICA Septiembre de 2006 mbre: Especialidad: Prolog Grupo: Ejercicio 1.1 (1 punto) Realizad el árbol

Más detalles

Tema 12: Programas interactivos

Tema 12: Programas interactivos Tema 12: Programas interactivos 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 12:

Más detalles

4.7 Operaciones sobre Objetos en Scheme

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

Matemáticas B 4º E.S.O. Polinomios y fracciones algebraicas. 1. x 5x 2 6 5

Matemáticas B 4º E.S.O. Polinomios y fracciones algebraicas. 1. x 5x 2 6 5 Matemáticas B 4º E.S.O. Polinomios y fracciones algebraicas. 1 POLINOMIOS Y FRACCIONES ALGEBRAICAS.1 COCIENTE DE POLINOMIOS COCIENTE DE MONOMIOS El cociente de un monomio entre otro monomio de grado igual

Más detalles

Lógica y Programación

Lógica y Programación Lógica y Programación Programación funcional con Haskell Antonia M. Chávez, Carmen Graciani, Agustín Riscos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Programación

Más detalles

Introducción a los Algoritmos Validez, Satisfactibilidad, Tipos y Funciones

Introducción a los Algoritmos Validez, Satisfactibilidad, Tipos y Funciones Introducción a los Algoritmos Validez, Satisfactibilidad, Tipos y Funciones Pedro Sánchez Terraf CIEM-FaMAF Universidad Nacional de Córdoba FaMAF UNC 17 de marzo de 2014 Contenido 1 Demostraciones: Cómo

Más detalles

Potencias de exponente entero I

Potencias de exponente entero I Matemáticas 2.º ESO Unidad 3 Ficha 1 Potencias de exponente entero I Una potencia es un producto de factores iguales. Exponente: n n Base: a an = a a a La base, a, es el factor que se repite, y el exponente,

Más detalles

Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap)

Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Práctico 4 Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Clasificación de ejercicios: (I) Imprescindibles (R) Recomendados (C) Complementarios Árboles balanceados (AVL)

Más detalles

Rancagua, Agosto 2009

Rancagua, Agosto 2009 cvalle@inf.utfsm.cl Departamento de Informática - Universidad Técnica Federico Santa María Rancagua, Agosto 2009 1 / 28 Temario 1 2 3 4 2 / 28 Temario 1 2 3 4 3 / 28 Los nombre y arreglos son equivalentes.

Más detalles

FACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información. Ejercicios de recursividad

FACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información. Ejercicios de recursividad H AC LUCE FACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información Ejercicios de recursividad 1. Determinar qué operación realiza: //x>=0, y>0 function funcion_x (x,y:

Más detalles

Operaciones de números racionales

Operaciones de números racionales Operaciones de números racionales Yuitza T. Humarán Martínez Adapatado por Caroline Rodriguez Departamento de Matemáticas Universidad de Puerto Rico en Arecibo El conjunto de los números racionales consiste

Más detalles

Secuencias en Python. Introducción a la Computación Clase 11 Patricia Borensztejn

Secuencias en Python. Introducción a la Computación Clase 11 Patricia Borensztejn Secuencias en Python Introducción a la Computación Clase 11 Patricia Borensztejn Una cadena es una secuencia En Python tenemos los tipos de datos Escalares: enteros, flotantes Secuencias: sucesión de elementos

Más detalles

ÁLGEBRAS DE BOOLE. Ejemplos 1) Si S es un conjunto, entonces ( (S),, ) es álgebra de Boole. A B = A B A B = A B

ÁLGEBRAS DE BOOLE. Ejemplos 1) Si S es un conjunto, entonces ( (S),, ) es álgebra de Boole. A B = A B A B = A B ÁLGEBRAS DE BOOLE Ejemplos 1) Si S es un conjunto, entonces ( (S),, ) es álgebra de Boole. A B = A B A B = A B 2) Sea D n = { z / z divide a n } con las operaciones a b = mcm {a, b} a b = mcd {a, b} Teorema

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

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( )

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( ) MATRICES Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. Ejemplo 1. Algunos ejemplos de matrices ( + ( ) ( + ( ) El tamaño o el orden de una

Más detalles

TRABAJO DE MATEMÁTICAS. PENDIENTES DE 2º E.S.O. (1ª parte)

TRABAJO DE MATEMÁTICAS. PENDIENTES DE 2º E.S.O. (1ª parte) TRABAJO DE MATEMÁTICAS PENDIENTES DE º E.S.O. (ª parte) NÚMEROS ENTEROS.-) Realiza las operaciones siguientes () (0) (-) ( ) (-) ( -) (-) ( -) (-) () - - - -0 - - - ( -) ( ) ( -) ( ) ( ) ( - ) ( - ) (

Más detalles

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

Más detalles

Tema 13: Programas interactivos

Tema 13: Programas interactivos Tema 13: Programas interactivos 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 / 38 Tema 13: Programas

Más detalles

Aritmética entera. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Aritmética entera 1 / 15

Aritmética entera. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Aritmética entera 1 / 15 Aritmética entera AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Aritmética entera 1 / 15 Objetivos Al finalizar este tema tendréis que: Calcular el máximo común divisor de

Más detalles

Capítulo 4 Procesos con estructuras de repetición

Capítulo 4 Procesos con estructuras de repetición Estructura de contador Capítulo 4 Procesos con estructuras de repetición Esta es una operación que incrementa en una unidad el valor almacenado en la variable c, cada vez que el flujo del diagrama pasa

Más detalles

MATEMÁTICA LIC. Y PROF. EN CS. BIOLÓGICAS

MATEMÁTICA LIC. Y PROF. EN CS. BIOLÓGICAS Definición: se llama matriz de m filas y n columnas sobre un cuerpo K (R ó C), a una ordenación rectangular de la forma Notación: a11 a...... a1n a21 a...... a2n A = M M M donde cada elemento a ij Є K

Más detalles

GUÍA BÁSICA DE SCHEME v.4

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

Más detalles

Paradigmas de Programación

Paradigmas de Programación Paradigmas de Programación 4. Paradigma Funcional Departamento de Informática Universidad de Valladolid Curso 2010-11 Grado en Ingeniería Informática Grado en Ingeniería Informática de Sistemas 11 Feb.

Más detalles

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 7. Funciones reales de variable real CONCEPTOS BÁSICOS

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 7. Funciones reales de variable real CONCEPTOS BÁSICOS Unidad didáctica 7 Funciones reales de variable real CONCEPTOS BÁSICOS Se llama función real de variable real a cualquier aplicación f : D R con D Œ R, es decir, a cualquier correspondencia que asocia

Más detalles

Tesis de Maestría en Informática

Tesis de Maestría en Informática PEDECIBA Informática Instituto de Computación Facultad de Ingeniería Universidad de la República Montevideo, Uruguay Tesis de Maestría en Informática Fusión en presencia de acumuladores Amarante 2010 Martínez

Más detalles

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1 Temas: Ambiente de trabajo MATLAB. Creación de matrices y vectores. Matrices pre-definidas. Operador dos puntos. Operaciones con matrices y vectores. Direccionamiento de elementos de matrices y vectores.

Más detalles

EJEMPLO DE PREGU,TAS

EJEMPLO DE PREGU,TAS EJEMPLO DE PREGU,TAS MATEMÁTICAS PRIMERO, SEGU,DO Y TERCERO DE BACHILLERATO 1. Lógica proposicional Esta competencia se refiere al conocimiento que usted posee sobre el lenguaje de las proposiciones y

Más detalles

RESUMEN DE CONCEPTOS

RESUMEN DE CONCEPTOS RESUMEN DE CONCEPTOS 1º ESO MATEMÁTICAS NÚMEROS NATURALES (1) Múltiplo de un número: Un número es múltiplo de otro si el segundo está contenido en el primero un número exacto de veces. Ejemplo: 16 es múltiplo

Más detalles

Proyecto Clases de Tipos: Polinomios

Proyecto Clases de Tipos: Polinomios Proyecto Clases de Tipos: Polinomios Preparación Bajar el archivo pre-llenado: Poly.hs. Qué es un número? Parece una pregunta profunda y filosófica, pero el sistema de tipos de Haskell nos da una respuesta

Más detalles

Forma polar de números complejos (repaso breve)

Forma polar de números complejos (repaso breve) Forma polar de números complejos (repaso breve) Objetivos. pasar la forma polar de números complejos. quisitos. Números complejos, funciones trigonométricas, valor absoluto de números complejos, circunferencia

Más detalles

Fracciones numéricas enteras

Fracciones numéricas enteras Números racionales Fracciones numéricas enteras En matemáticas, una fracción numérica entera expresa la división de un número entero en partes iguales. Una fracción numérica consta de dos términos: El

Más detalles

Métodos de la clase String

Métodos de la clase String Métodos de la clase String Ing. Paola A. Manquillo M. Análisis y Desarrollo de sistemas de Información SENA Regional Cauca - 2013 Tabla de contenido Métodos de la clase String 1 equals() {argumentos: String;

Más detalles

ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I. TEMA 4 Algebra booleana y puertas lógicas

ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I. TEMA 4 Algebra booleana y puertas lógicas ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I TEMA 4 Algebra booleana y puertas lógicas TEMA 4. Algebra booleana y puertas lógicas 4.1 Definición de álgebra de Boole 4.2 Teoremas del álgebra de Boole 4.3

Más detalles

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR Estructuras de Datos Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR ...but note that an implementation need not be actualized as code a concrete design is sufficient. Chris Okasaki

Más detalles

001. Interpreta correctamente códigos (teléfonos, matrículas, NIF ).

001. Interpreta correctamente códigos (teléfonos, matrículas, NIF ). 3.2.4 Criterios específicos de evaluación. 001. Interpreta correctamente códigos (teléfonos, matrículas, NIF ). 002. Calcula el total de elementos que se puedan codificar con una determinada clave. 003.

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

ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I

ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I Fracción Una fracción es el cociente de dos números enteros a y b, que representamos de la siguiente forma: b a denominador, indica el número de partes en que se ha dividido la unidad. numerador, indica

Más detalles

Tema 04:Fracciones. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco.

Tema 04:Fracciones. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco. 2010 Tema 04:Fracciones. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco. Manuel González de León. mgdl 01/01/2010 . INDICE: 01. APARICIÓN DE LAS FRACCIONES. 02. CONCEPTO DE FRACCIÓN. 03.

Más detalles

TEMA 2 POLINOMIOS Y FRACCIONES ALGEBRAICAS

TEMA 2 POLINOMIOS Y FRACCIONES ALGEBRAICAS Matemáticas B 4º E.S.O. Tema : Polinomios y fracciones algebraicas. 1 TEMA POLINOMIOS Y FRACCIONES ALGEBRAICAS.1 COCIENTE DE POLINOMIOS 4º.1.1 COCIENTE DE MONOMIOS 4º El cociente de un monomio entre otro

Más detalles

= 310 (1 + 5) : 2 2 = = = 12 ( 3) ( 5) = = 2 = ( 4) + ( 20) + 3 = = 21

= 310 (1 + 5) : 2 2 = = = 12 ( 3) ( 5) = = 2 = ( 4) + ( 20) + 3 = = 21 Unidad I, NÚMEROS NATURALES Y ENTEROS A continuación se enuncian las claves de cada pregunta hechas por mí (César Ortiz). Con esto, asumo cualquier responsabilidad, entiéndase por si alguna solución está

Más detalles

Factorización - Álgebra

Factorización - Álgebra Factorización - Álgebra Ana María Beltrán Docente Matemáticas Febrero 4 de 2013 1 Qué es factorizar? Definición 1. Factorizar un polinomio es representarlo mediante el producto de otros polinomios de menor

Más detalles

Anexo. Aplicaciones de los Determinantes

Anexo. Aplicaciones de los Determinantes Anexo. Aplicaciones de los Determinantes 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Cálculo del rango usando determinantes... 3 1.1 Ejemplo: Estudio del Rango de la matriz

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

RESUMEN DE CONCEPTOS TEÓRICOS MATEMÁTICAS 1º ESO. CURSO

RESUMEN DE CONCEPTOS TEÓRICOS MATEMÁTICAS 1º ESO. CURSO RESUMEN DE CONCEPTOS TEÓRICOS MATEMÁTICAS 1º ESO. CURSO 2015-2016 UNIDAD 1: NÚMEROS NATURALES (1) Múltiplo de un número: Un número es múltiplo de otro si el segundo está contenido en el primero un número

Más detalles

MATEMÁTICAS 2º ESO. TEMA 1

MATEMÁTICAS 2º ESO. TEMA 1 MATEMÁTICAS 2º ESO. TEMA 1 1. DIVISIBILIDAD Y NÚMEROS ENTEROS 1. Los divisores son siempre menores o iguales que el número. 2. Los múltiplos siempre son mayores o iguales que el número. 3. Para saber si

Más detalles

Trabajo Práctico 5 Estructura Repetitiva

Trabajo Práctico 5 Estructura Repetitiva Trabajo Práctico 5 Estructura Repetitiva Los ejercicios para resolver y enviar por los alumnos son los que están con letra negrita los mismos deben ser enviados en un archivo zip por medio de la página

Más detalles

Problemas de Recursividad

Problemas de Recursividad Problemas de Recursividad Problema 1. El factorial de un número entero n 0, denotado como n!, se define! como!!! i = 1 2 n cuando n > 0, y 0! = 1. Por ejemplo 6! = 1 2 3 4 5 6 = 720 Diseñad una método

Más detalles

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 1. NÚMEROS NATURALES POTENCIAS DE UN NÚMERO NATURAL Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3 El factor que se repite es la base, y el número de veces que se repite

Más detalles

FRACCIONES. Una fracción tiene dos términos, numerador y denominador, separados por una raya horizontal.

FRACCIONES. Una fracción tiene dos términos, numerador y denominador, separados por una raya horizontal. FRACCIONES Las fracciones representan números (son números, mucho más exactos que los enteros o los decimales), Representa una o varias partes de la unidad. Una fracción tiene dos términos, numerador y

Más detalles

Carlos A. Rivera-Morales. Precálculo 2

Carlos A. Rivera-Morales. Precálculo 2 y Carlos A. Rivera-Morales Precálculo 2 Introducción a y Notación d Tabla de Contenido 1 Definición Sumas Parciales Introducción a y Notación d Tabla de Contenido 1 Definición Sumas Parciales 2 Introducción

Más detalles

Divisibilidad I. Nombre Curso Fecha

Divisibilidad I. Nombre Curso Fecha Matemáticas 2.º ESO Unidad 1 Ficha 1 Divisibilidad I Un número b es divisor de otro número a si al dividir a entre b la división es exacta. Se dice también que a es múltiplo de b. 1. Completa con la palabra

Más detalles

UNIDAD: NÚMEROS Y PROPORCIONALIDAD NÚMEROS ENTEROS

UNIDAD: NÚMEROS Y PROPORCIONALIDAD NÚMEROS ENTEROS C u r s o : Matemática Material N 02 GUÍA TEÓRICO PRÁCTICA Nº 2 UNIDAD: NÚMEROS Y PROPORCIONALIDAD NÚMEROS ENTEROS NÚMEROS ENTEROS ( ) Los elementos del conjunto enteros. OPERATORIA EN ADICIÓN = {, -3,

Más detalles

TEMA 2. Números racionales. Teoría. Matemáticas

TEMA 2. Números racionales. Teoría. Matemáticas 1 1.- Números racionales Se llama número racional a todo número que puede representarse como el cociente de dos enteros, con denominador distinto de cero. Se representa por Las fracciones también pueden

Más detalles

Teoría de Conjuntos y Conjuntos Numéricos

Teoría de Conjuntos y Conjuntos Numéricos Teoría de Conjuntos y Conjuntos Numéricos U N I V E R S I D A D D E P U E R T O R I C O E N A R E C I B O D E P A R T A M E N T O DE M A T E M Á T I C A S P R O F A. Y U I T Z A T. H U M A R Á N M A R

Más detalles

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7 Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos

Más detalles

Series numéricas y de potencias. 24 de Noviembre de 2014

Series numéricas y de potencias. 24 de Noviembre de 2014 Cálculo Series numéricas y de potencias 24 de Noviembre de 2014 Series numéricas y de potencias Series numéricas Sucesiones de números reales Concepto de serie de números reales. Propiedades Criterios

Más detalles

4.2 Números primos grandes. MATE 3041 Profa. Milena R. Salcedo Villanueva

4.2 Números primos grandes. MATE 3041 Profa. Milena R. Salcedo Villanueva 4.2 Números primos grandes MATE 3041 Profa. Milena R. Salcedo Villanueva 1 Números primos grandes Existe una cantidad infinita de números primos ¹ ¹Resultado aprobado por Euclides alrededor del año 300

Más detalles

FISICA I Repaso. Si el alumno no supera al maestro, ni es bueno el alumno; ni es bueno el maestro (Proverbio Chino)

FISICA I Repaso. Si el alumno no supera al maestro, ni es bueno el alumno; ni es bueno el maestro (Proverbio Chino) Si el alumno no supera al maestro, ni es bueno el alumno; ni es bueno el maestro (Proverbio Chino) Profesor: Cazzaniga, Alejandro J. Física I E.T.N : 28 - República Francesa Pág. 1 de 9 Conjuntos numéricos

Más detalles

Complejidad computacional. Algoritmos y Estructuras de Datos I. Complejidad computacional. Notación O grande

Complejidad computacional. Algoritmos y Estructuras de Datos I. Complejidad computacional. Notación O grande Complejidad computacional Algoritmos y Estructuras de Datos I Segundo cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Algoritmos - clase 10 Introducción a la complejidad computacional y

Más detalles

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 4. Números reales y números complejos

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES. Unidad didáctica 4. Números reales y números complejos NÚMEROS REALES Como se ha señalado anteriormente la necesidad de resolver diversos problemas de origen aritmético y geométrico lleva a ir ampliando sucesivamente los conjuntos numéricos, N Z Q, y a definir

Más detalles

Abstracción de Datos y

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

Conjuntos Numéricos I

Conjuntos Numéricos I Conjuntos Numéricos I En el pasado las matemáticas eran consideradas como la ciencia de la cantidad, referida a las magnitudes (como en la geometría), a los números (como en la aritmética), o a la generalización

Más detalles

Números reales Conceptos básicos Conjuntos numéricos

Números reales Conceptos básicos Conjuntos numéricos Números reales Conceptos básicos Conjuntos numéricos En la presente sección se hace una revisión de los principales conjuntos númericos, que se necesitan en un primer curso de Matemática de nivel universitario.

Más detalles

Definición 1. Dado un conjunto C una aplicación definida por : C C C

Definición 1. Dado un conjunto C una aplicación definida por : C C C ESTRUCTURAS ALGEBRAICAS. En matemáticas aparecen distintos conjuntos cuyos elementos podemos operar de alguna manera. Los conjuntos de números usuales: N, Z, Q, y R son unos ejemplos claros. Otros ejemplos

Más detalles