Programación Funcional en Haskell
|
|
- José Luis Moya Miguélez
- hace 8 años
- Vistas:
Transcripción
1 Programación Funcional en Haskell Paradigmas de Lenguajes de Programación 1 cuatrimestre Expresiones, valores y tipos Un programa en lenguaje funcional consiste en definir expresiones que computan (o denotan) valores. Así como los valores, en el mundo real o matemático, pertenecen a un conjunto, las expresiones pertenecen a un tipo. Veamos qué tipos pueden tener las expresiones de Haskell: Tipos básicos como Int, Char, Bool, etc. Funciones, como a Int, Bool (Bool Bool), etc. Tuplas de cualquier longitud. Por ejemplo, (2 5 +1, 4 >0) es de tipo (Int, Bool). Listas, secuencias ordenadas de elementos de un mismo tipo, con repeticiones. [Int] representa el tipo lista de enteros, [Bool] es una lista de booleanos, etc. Las expresiones de tipo lista se construyen con [] (que representa la lista vacía) y : (a:as es la lista que empieza con el elemento a y sigue con la lista as). También pueden escribirse entre corchetes, con los elementos separados por comas: [] :: [Bool] [3] :: [Int] a : ( b : ( c : [])) :: [Char] [2 > 0, False, a == b ] :: [Bool] [[], [1], [1,2]] :: [[Int]] El tipo String es sinónimo de [Char], y las listas de este tipo se pueden escribir entre comillas: "plp" es lo mismo que [ p, l, p ]. Tipos definidos por el usuario, con la cláusula data. Los valores asociados a estos tipos consisten de un constructor (que se escribe con mayúscula) acompañado de 0 o más argumentos. data Dia = Lunes Martes Miercoles Jueves Viernes 1
2 Este tipo tiene cinco constructores, todos sin argumentos. A esta clase de tipos se los llama enumerados. data Either a b = Left a Right b data Maybe a = Nothing Just a Los tipos pueden tener argumentos, lo que los convierte en tipos paramétricos. Tipos como los de arriba suelen llamarse sumas o uniones, porque pueden representar la unión de varios tipos. En particular, Either representa la unión de dos tipos cualesquiera, y Maybe representa el mismo conjunto que su argumento, más un valor: Nothing. Left True :: Either True a Just 3 :: Maybe Int data BinTree a = Nil Branch a (BinTree a) (BinTree a) Acá vemos que algunos de los constructores pueden tener como argumento el mismo tipo que determinan. Tipos así se suelen llamar tipos recursivos. En este caso, BinTree a representa el tipo de los árboles binarios cuyos nodos tienen un elemento de a. Nil :: BinTree a Branch True Nil (Branch (4 > 0) Nil Nil) :: BinTree Int Las funciones sobre tipos construidos con la cláusula data pueden definirse por pattern matching. Un patrón consiste de un constructor con tantas variables como argumentos tenga; al evaluar la función en un argumento, se intenta establecer una correspondencia entre él y cada patrón, reduciendo en la primera ecuación donde se la encuentre. proximo :: Dia Dia proximo Lunes = Martes proximo Martes = Miercoles proximo Miercoles = Jueves etc. aint :: (Either Bool Int) Int aint (Left x) = if x then 1 else 0 aint (Right x) = x esvacio :: BinTree a b Bool esvacio Nil = True esvacio (Branch _) = False Cuando las variables no se usan en el lado derecho de la ecuación, se pueden reemplazar por un _. 2
3 Los tipos que permiten acceder a sus constructores y hacer pattern matching se llaman tipos algebraicos. Los booleanos, las tuplas y las listas también son tipos algebraicos! fst :: (a, b) a fst (x, y) = x length :: [a] Int length [] = [] length (x:xs) = 1 + length xs 2. Currificación y evaluación parcial Currificación es una correspondencia entre: funciones que reciben múltiples argumentos y devuelven un resultado suma :: (Int, Int) Int suma (x, y) = x + y funciones que reciben un argumento y devuelven una función intermedia que completa el trabajo suma :: Int Int Int suma x y = x + y En este ejemplo, suma x es una función que dado y devuelve x+y. Esta correspondencia siempre existe, y en el segundo caso decimos que las funciones están currificadas. La ventaja de las funciones currificadas es que permiten la aplicación parcial. En una sola línea estamos definiendo varias funciones! sucesor :: Int Int sucesor = suma 1 3. Polimorfismo y overloading El sistema de tipos de Haskell permite definir funciones para ser usadas con más de un tipo. Ya vimos algunos ejemplos: esvacio, fst y length son funciones polimórficas. Otras funciones polimórficas útiles son: flip :: (a b c) (b a c) flip f x y = f y x (.) :: (a b) (c a) (c b) (.) f g x = f (g x) 3
4 Las funciones polimórficas en general se definen según la estructura de sus argumentos, sin fijarse en qué valores tienen internamente. Por ejemplo, la longitud de una lista puede calcularse sin saber nada acerca de sus elementos. Veamos ahora este otro ejemplo. ejemplo 1: Definamos una función que devuelva verdadero cuando todos los elementos de una lista son iguales: todosiguales [] = True todosiguales [x] = True todosiguales (x:y:xs) = (x == y) && todosiguales (y:xs) Qué tipo tiene esta función? En principio, vemos que puede tomar listas de distintos tipos: todosiguales [1,2,3], todosiguales [True, True], todosiguales "hola" parecen expresiones válidas. Sin embargo, por ejemplo, todosiguales [sucesor, suma 1] no se podría evaluar, porque las funciones no pueden compararse por igualdad. Lo que necesitamos es describir el conjunto de tipos que tienen la operación ==, o más en general, los tipos que tienen ciertas operaciones en particular. Para ello, Haskell provee las clases de tipos. En este caso, los que pueden compararse por igualdad corresponden a la clase Eq. todosiguales :: Eq a [a] Bool Otras clases útiles son: Show: la clase de los tipos que pueden mostrarse por pantalla Ord: la clase de los tipos que pueden compararse (por menor, igual, etc.) Num: la clase de los tipos con operaciones aritméticas. El mecanismo de clases se denomina overloading. Notemos que == no es una función polimórfica, por más que pueda tomar argumentos de distintos tipos. Una función polimórfica tiene la misma definición para cualquier tipo, y como dijimos, no podrá explotar características particulares de cada uno. En cambio, una función sobrecargada, entre los distintos tipos, sólo comparte el nombre (y la aridad): su definición puede ser distinta para cada uno de ellos. 4. Alto orden En Haskell, las funciones son valores como cualquier otro: Pueden ser argumentos de una función Pueden ser resultados de otras funciones 4
5 Pueden almacenarse en estructuras de datos ejemplo 2: Definamos una función que toma el máximo de una lista: maximo :: Ord a [a] a maximo [x] = x maximo (x:y:xs) = if x > y then maximo (x:xs) else maximo (y:xs) Esta función es útil siempre y cuando no nos interese otro orden que el del operador >. maximo [1,4,3] = 4 maximo ["abc", "a", "b"] = "b" maximo [False, True] = True ejemplo 3: Ahora supongamos que quiero elegir, entre varias secuencias, la de mayor longitud. maxlongitud :: [[a]] [a] maxlongitud [xs] = xs maxlongitud (xs:ys:xss) = if length xs > length ys then maxlongitud (xs:xss) else maxlongitud (ys:xss) Esta función se parece mucho a la primera, y sin embargo, tuvimos que definirla aparte. Podremos generalizar maximo para que nos sirva en ambos casos? Sí: en lugar de tener (>) embebido en la definición de la función, tomemos una función de comparación como primer argumento! ejemplo 4: mejorsegun :: (a a Bool) [a] a mejorsegun _ [x] = x mejorsegun comp (x:y:xs) = if comp x y then mejorsegun comp (x:xs) else mejorsegun comp (y:xs) maximo = mejorsegun (>) maxlongitud = mejorsegun (λxs ys length xs > length ys) Y podemos definir más: minimo :: Ord a [a] a minimo = mejorsegun (<) maxelemento :: Ord a [[a]] [a] maxelemento = mejorsegun tienemaxelemento where tienemaxelemento xs ys = maximo xs > maximo ys 5
6 En este ejemplo mostramos varias formas de escribir funciones como argumentos de otras: Por su nombre, cuando la función está definida aparte: length Por sección de operadores: (>), ( 2), etc. Como funciones anónimas: (λxs ys length xs >length ys) Con cláusulas where: where tienemaximoelemento xs ys =maximo xs >maximo ys 5. Listas Las listas son una construcción muy útil en Haskell. Cuando un programa involucra una secuencia de valores, las listas suelen ayudar a expresarlo de una forma simple y clara. Hasta ahora vimos cómo escribir listas a partir de sus constructores, o de darlas explícitamente. Acá vamos a ver otras formas útiles de hacerlo Algunas funciones útiles sobre listas take n xs devuelve los n primeros elementos de xs drop n xs devuelve el resultado de sacarle a xs los primeros n elementos head xs devuelve el primer elemento de la lista tail xs devuelve toda la lista menos el primer elemento last xs devuelve el último elemento de la lista init xs devuelve toda la lista menos el último elemento xs ++ys concatena ambas listas xs!! n devuelve el n-ésimo elemento de xs elem x xs dice si x es un elemento de xs 5.2. Secuencias aritméticas Las siguientes expresiones representan listas de números en progresión aritmética: [1..4] = [1,2,3,4] [5,7..13] = [5,7,9,11,13] [1..] [2,4..] 6
7 De estas, las dos últimas representan listas infinitas. Como tales, por supuesto no tienen un valor asociado, pero pueden usarse para definir otras expresiones 1 : take 10 [1..] = [1,2,3,4,5,6,7,8,9,10] Claramente las secuencias aritméticas no son el único mecanismo para definir listas infinitas: infinitosunos :: [Int] infinitosunos = 1 : infinitosunos ejemplo 5: Cómo computar el factorial de un número? factorial :: Int Int factorial 0 = 1 factorial n = n factorial (n-1) factorial n = if n == 0 then 1 else n factorial (n-1) factorial n = product [1..n] Como vemos, el uso de listas nos da un código más sencillo y nos ahorra la necesidad de escribir la recursión explícitamente Listas por comprensión Las listas definidas por comprensión tienen la forma [expresion selectores, condiciones] donde un selector es de la forma var lista y una condición es una expresión booleana. Tanto la expresión como las condiciones pueden depender de las variables de los selectores. [(x,y) x [1,2], y [4,5]] = [(1,4),(1,5),(2,4),(2,5)] [(x,y) x [1,3], y [1..x]] = [(1,1), (2,1), (2,2), (3,1), (3,2), (3,3)] [(x,y) x [1,2], y [1..3], y > x] = [(1,2), (1,3), (2,3)] 1 Esto funciona bien porque Haskell utiliza evaluación lazy, que está emparentada con el orden normal de reducción: cuando una expresión puede, como la de arriba, reducirse de más de una forma, se elige la expresión más externa. En el ejemplo presentado, se podía reducir take 10 [1..] o solamente [1..], y esto último no hubiera terminado. Intuitivamente, la estrategia lazy evalúa los argumentos de las funciones sólo en la medida que es necesario. Entonces, en este caso, de la lista [1..] sólo hace falta computar los primeros diez elementos. La estrategia de evaluación eager, en cambio, está asociada al orden de reducción estricto: ante más de una opción, se reducen las expresiones más internas, con lo cual, los argumentos de las funciones se evalúan completamente antes de computarlas. 7
8 ejemplo 6: Usando listas por comprensión, podemos ordenar una lista con el algoritmo quicksort de una manera clara y concisa: quicksort [] = [] quicksort (x:xs) = quicksort [y y xs, y x] ++ [x] ++ quicksort [y y xs, y > x] ejemplo 7: Para decidir si un número es primo, en lugar de contar sus divisores con recursión explícita, basta con tomar la longitud de una lista: esprimo n = length [x x [1..n], n rem x == 0] == 2 6. Esquemas de funciones 6.1. Para listas ejemplo 8: Definamos una función que duplique los elementos de una lista de enteros. duplicar :: [Int] [Int] duplicar [] = [] duplicar (x:xs) = 2 x : duplicar xs duplicar xs = [2 x x xs] Definamos también una función que, dada una lista de cadenas, devuelva una lista con sus longitudes. longitudes :: [[a]] [Int] longitudes [] = [] longitudes (xs:xss) = length xs : longitudes xss longitudes xss = [length xs xs xss] Claramente estos esquemas son muy parecidos: lo único que cambia entre uno y otro es la función aplicada en el paso recursivo. Entonces, como ya hemos hecho, podemos generalizarlos en una función de alto orden: map :: (a b) [a] [b] map f [] = [] map f (x:xs) = f x : map f xs map f xs = [f x x xs] duplicar = map ( 2) longitudes = map length 8
9 ejemplo 9: Definamos una función que, dada una lista de enteros, devuelva los que son pares: pares :: [Int] [Int] pares [] = [] pares (x:xs) = if (rem x 2 == 0) then x : pares xs else pares xs pares xs = [x x xs, rem x 2 == 0] Y ahora otra que, dada una lista de cadenas y un número, devuelva una con las de mayor longitud que ese número: maslargasque :: Int [[a]] [[a]] maslargasque _ [] = [] maslargasque n (xs:xss) = if (length xs > n) then xs : maslargasque n xss else maslargasque n xss maslargasque n xs = [x x xs, length x > n] La única diferencia entre ellas es el primer argumento de if! Cómo podemos generalizarlas? filter :: (a Bool) [a] [a] filter _ [] = [] filter p (x:xs) = if p x then x : filter p xs else filter p xs filter p xs = [x x xs, p x] pares = filter (λx rem x 2 == 0) = filter ((== 0). ( rem 2)) = filter ((== 0). (flip rem 2)) maslargasque n = filter ((> n). length) ejemplo 10: Definamos ahora funciones para sumar los elementos de una lista, para multiplicarlos, para contarlos y para concatenarlos. sum :: Num a [a] a sum [] = 0 sum (x:xs) = x + sum xs product :: Num a [a] a product [] = 1 product (x:xs) = x product xs 9
10 length :: [a] Int length [] = 0 length (x:xs) = 1 + length xs concat :: [[a]] [a] concat [] = [] concat (xs:xss) = xs ++ concat xss Nuevamente tenemos un esquema que se repite en las tres funciones. En este caso, las diferencias están en el valor devuelto en el caso base y en la función aplicada en el caso recursivo. Así que vamos a abstraerlas para crear un esquema general. foldr :: (a b b) b [a] b foldr f z [] = z foldr f z (x:xs) = f x (foldr f z xs) sum = foldr (+) 0 product = foldr ( ) 1 length = foldr (λx n 1 + n) 0 concat = foldr (++) [] El esquema foldr sirve para recorrer una lista de derecha a izquierda : foldr op b (a1 : (a2 : (a3 : []))) = a1 op (a2 op (a3 op b )) Notemos acá como : se reemplaza por op y [] por b. ejemplo 11: Qué computan las siguientes funciones? f1 :: [Bool] Bool f1 = foldr (&&) True f2 :: [a] [a] f2 = foldr (:) [] f3 :: [a] [a] [a] f3 xs ys = foldr (:) ys xs Así como con foldr se asocia a derecha, podemos escribir un operador genérico de recursión que asocie a izquierda. foldl :: (b a b) b [a] b foldl f b [] = b foldl f b (x:xs) = foldl f (f b x) xs sum = foldl (+) 0 sum (a1 : (a2 : (a3 : []))) = foldl (+) (0 + a1) (a2 : (a3 : [])) = 10
11 foldl (+) ((0 + a1) + a2) (a3 : []) = foldl (+) (((0 + a1) + a2) + a3) [] = ((0 + a1) + a2) + a3 ejemplo 12: Qué computa las siguente función? f4 :: [a] [a] f4 = foldl (flip (:)) [] Cuando el caso base está en una lista unitaria en lugar de en una vacía, se pueden usar foldr1 y foldl1. foldr1 :: (a a a) [a] a foldr1 f (x:xs) = foldr f x xs foldl1 :: (a a a) [a] a foldl1 f (x:xs) = foldl f x xs maximo = foldr1 max Estos esquemas de recursión asocian a las listas un recorrido estándar, a partir del cual se puede definir un conjunto importante de operaciones. Todas ellas se pueden definir entonces sin pattern matching, concentrándonos únicamente en el aspecto de cada una que las diferencia de las demás. ejemplo 13: Definamos map y filter usando foldr map :: (a b) [a] [b] map f = foldr fun [] where fun x xs = f x : xs map f = foldr (λx xs f x : xs) filter :: (a Bool) [a] [a] filter p = foldr selec [] where selec x xs = if p x then x : xs else xs 6.2. Para otros tipos algebraicos Los esquemas generales de recursión pueden escribirse para cualquier tipo, y son muy útiles para evitar la repetición de código por pattern matching. En general, necesitamos: Para cada constructor base A a1... an del tipo, una función base z :: a1... an b. Para cada constructor recursivo, una función que tome, además de los argumentos no recursivos, los resultados acumulados, y devuelva un nuevo resultado acumulado. 11
12 Recordemos la definición de BinTree al principio: data BinTree a = Nil Branch a (BinTree a) (BinTree a) ejemplo 14: Empecemos por definir una función sobre BinTree Int, que multiplique los nodos del árbol, y otra que cuente los elementos: prodtree :: BinTree Int Int prodtree Nil = 1 prodtree (Branch x t1 t2) = x prodtree t1 prodtree t2 counttree :: BinTree a Int counttree Nil = 0 counttree (Branch x t1 t2) = 1 + counttree t1 + counttree t2 Acá, al igual que en las listas, hay un único caso base sin argumentos. Pero a diferencia de ellas, el caso recursivo tiene tres, dos de los cuales se corresponden con llamados recursivos propiamente dichos. Para definir foldtree, necesitaremos entonces una función f de tres argumentos: foldtree :: (a b b b) b BinTree a b foldtree f z Nil = z foldtree f z (Branch x t1 t2) = f x (foldtree f z t1) (foldtree f z t2) prodtree = foldtree (λx y z x y z) 1 counttree = foldtree (λx y z 1 + y + z) 0 ejemplo 15: Cómo podemos definir la función que dado un árbol, devuelva su simétrico? simetrico :: BinTree a BinTree a simetrico = foldtree rev Nil where rev x t1 t2 = Branch x t2 t1 Referencias [1] Página de Haskell [2] A tour of the Haskell Prelude, describe y da ejemplos de las funciones de uso más común [3] Haskell report es la especificación completa y oficial del lenguaje. 12
13 [4] A tour of the Haskell Syntax, una descripción más amigable de la sintaxis de Haskell. [5] A gentel introduction to Haskell, uno de los tutoriales más famosos y bien completo. Incluye más temas que los que vamos a ver en la materia. [6] John Hughes, Why functional programming matters, Institutionen för Datavetenskap, Chalmers Tekniska Högskola. Disponible en: rjmh/papers/whyfp.html [7] Graham Hutton, A tutorial on the universality and expressiveness of fold, University of Nottingham, UK. Disponible en: gmh/fold.ps 13
Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS
Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin
Más detallesProfesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.
Árboles Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof. Paula Echenique Una de las estructuras de datos más importantes
Más detallesOPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)
APRENDERAPROGRAMAR.COM OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero
Más detallesNota 2. Luis Sierra. Marzo del 2010
Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesdata 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 detallesCASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Más detallesEstructuras de Datos y Algoritmos. Árboles de Expresión
Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesPRÁCTICA N 2 SISTEMAS DE NUMERACIÓN
PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN Ejercicio 1. Diseñar una planilla EXCEL que tome como dato de entrada un número entero y devuelva la representación en base 2. Testearla con los números 23, 245, 673,
Más detallesLABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
Más detallesÍndice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones
Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Números 2 Polinomios 3 Funciones y su Representación
Más detallesCentro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Más detallesTEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio
Más detallesUNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS
UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS Unidad 6: Polinomios con coeficientes enteros. Al final deberás haber aprendido... Expresar algebraicamente enunciados sencillos. Extraer enunciados razonables
Más detallesLección 24: Lenguaje algebraico y sustituciones
LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce
Más detallesTema 07. LÍMITES Y CONTINUIDAD DE FUNCIONES
Tema 07 LÍMITES Y CONTINUIDAD DE FUNCIONES Límite de una función en un punto Vamos a estudiar el comportamiento de las funciones f ( ) g ( ) ENT[ ] h ( ) i ( ) en el punto Para ello, damos a valores próimos
Más detallesMATEMÁTICAS CON LA HOJA DE CÁLCULO
MATEMÁTICAS CON LA HOJA DE CÁLCULO Podemos dar a esta aplicación un uso práctico en el aula de Matemáticas en varios sentidos: Como potente calculadora: sucesiones, límites, tablas estadísticas, parámetros
Más detallesLección 9: Polinomios
LECCIÓN 9 c) (8 + ) j) [ 9.56 ( 9.56)] 8 q) (a x b) d) ( 5) 4 k) (6z) r) [k 0 (k 5 k )] e) (. 0.) l) (y z) s) (v u ) 4 f) ( 5) + ( 4) m) (c d) 7 t) (p + q) g) (0 x 0.) n) (g 7 g ) Lección 9: Polinomios
Más detallesApuntes de Matemática Discreta 1. Conjuntos y Subconjuntos
Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos
Más detallesTecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
Más detallesTema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice
Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice 1 Polinomios Dedicaremos este apartado al repaso de los polinomios. Se define R[x] ={a 0 + a 1 x + a 2 x 2 +... +
Más detallesArreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>
Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en
Más detallesLos números racionales
Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones
Más detallesTEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
1 1 BASES DE DATOS DISTRIBUIDAS TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS 3.1 Metodología del procesamiento de consultas distribuidas 3.2 Estrategias de
Más detallesPrograma para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones
Fracciones. Las fracciones y los números Racionales Las fracciones se utilizan cotidianamente en contextos relacionados con la medida, el reparto o como forma de relacionar dos cantidades. Tenemos entonces
Más detallesMÉTODO DEL CAMBIO DE BASE PARA CÁLCULO MANUAL DE SUBREDES CON IP V4.0
MÉTODO DEL CAMBIO DE BASE PARA CÁLCULO MANUAL DE SUBREDES CON IP V4.0 José Antonio Guijarro Guijarro Profesor de Secundaria Especialidad de Informática Profesor Técnico de F.P. Especialidad de Sistemas
Más detallesEcuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
Más detallesClases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut
Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut Este texto intenta ser un complemento de las clases de apoyo de matemáticas que se están realizando en la
Más detallesLección 4: Suma y resta de números racionales
GUÍA DE MATEMÁTICAS II Lección : Suma y resta de números racionales En esta lección recordaremos cómo sumar y restar números racionales. Como los racionales pueden estar representados como fracción o decimal,
Más detallesINTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS
CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays
Más detallesNÚMEROS NATURALES Y NÚMEROS ENTEROS
NÚMEROS NATURALES Y NÚMEROS ENTEROS Los números naturales surgen como respuesta a la necesidad de nuestros antepasados de contar los elementos de un conjunto (por ejemplo los animales de un rebaño) y de
Más detalles_ Antología de Física I. Unidad II Vectores. Elaboró: Ing. Víctor H. Alcalá-Octaviano
24 Unidad II Vectores 2.1 Magnitudes escalares y vectoriales Unidad II. VECTORES Para muchas magnitudes físicas basta con indicar su valor para que estén perfectamente definidas y estas son las denominadas
Más detallesMódulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A)
aprenderaprogramar.com Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A) Sección: Cursos Categoría: Curso creación y administración web: Joomla
Más detallesMódulo 9 Sistema matemático y operaciones binarias
Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional
Más detallesCONSULTAS MULTITABLAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
CONSULTAS MULTITABLAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS MULTITABLAS Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla,
Más detallesLos polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x
Los polinomios Los polinomios Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x Elementos de un polinomio Los términos: cada
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesREPASO NÚMEROS NATURALES Y NÚMEROS ENTEROS
SUMA REPASO NÚMEROS NATURALES Y NÚMEROS ENTEROS NÚMEROS NATURALES (N) 1. Características: Axiomas de Giuseppe Peano (*): El 1 es un número natural. Si n es un número natural, entonces el sucesor (el siguiente
Más detallesLABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar funciones en Microsoft Excel 2010. 1) LA FUNCIÓN SI EN EXCEL La función SI en Excel es parte del grupo
Más detallesInterpolación polinómica
9 9. 5 9. Interpolación de Lagrange 54 9. Polinomio de Talor 57 9. Dados dos puntos del plano (, ), (, ), sabemos que ha una recta que pasa por ellos. Dicha recta es la gráfica de un polinomio de grado,
Más detallesTeclado sobre una PDA para Personas con Parálisis Cerebral
Manual de Usuario - 1 - - 2 - Teclado sobre una PDA para Personas con Parálisis Cerebral Capítulo 1. MANUAL DE USUARIO 12.1 Descripción de la aplicación Este programa le permitirá llevar a cabo las siguientes
Más detallesÍndice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios. Álgebra y Matemática Discreta - 2012 Sesión de Prácticas 1
Álgebra y Matemática Discreta - 2012 Sesión de Prácticas 1 Leandro Marín Dpto. de Matemática Aplicada Facultad de Informática 2012 1 Estructuras Algebraicas 2 Listas 3 Los Números Enteros 4 Polinomios
Más detallesEsta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro
USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que
Más detallesFORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B
141 1 FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 Unidad 6 B 142 2 Índice SEGUIMIENTO DE PERSONAS 1 INFORMES 2 143 3 SEGUIMIENTO DE PERSONAS E INFORMES EN MOODLE El seguimiento de los participantes en Moodle
Más detalles3.2 Operaciones aritmético-lógicas en Pascal
3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES
Más detallesQué son los monomios?
Qué son los monomios? Recordemos qué es una expresión algebraica. Definición Una expresión algebraica es aquella en la que se utilizan letras, números y signos de operaciones. Si se observan las siguientes
Más detallesPHP y MySQL. Indice: Switch Bucles For While do...while
PHP y MySQL Indice: Switch Bucles For While do...while Switch switch...case es otra opción para trabajar con condiciones. Y suplanta al if, cuando lo único que se quiere hacer es comparar si son iguales
Más detallesLAS BARRAS. La barra de acceso rápido
LS RRS La barra de título Contiene el nombre del documento sobre el que se está trabajando en ese momento. Cuando creamos un libro nuevo se le asigna el nombre provisional Libro1, hasta que lo guardemos
Más detallesColegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio
Refo 07 2004 15 al 19 de noviembre 2004 Colegio Alexander von Humboldt - Lima Tema: La enseñanza de la matemática está en un proceso de cambio La enseñanza de la matemática debe tener dos objetivos principales:
Más detallesConceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos
Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla
Más detallesEjercicio Nº 3: Realizar aumentos en una Tabla de Sueldos
SESION5: BASE DE DATOS PLANILLAS Ejercicio Nº : Realizar aumentos en una Tabla de Sueldos Veamos pues. En la hoja de calculo se tiene la Tabla de Sueldos de varios empleados (aquí ahora vemos solo empleados,
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesMICROECONOMÍA II PRÁCTICA TEMA III: MONOPOLIO
MICROECONOMÍA II PRÁCTICA TEMA III: MONOPOLIO EJERCICIO 1 Primero analizamos el equilibrio bajo el monopolio. El monopolista escoge la cantidad que maximiza sus beneficios; en particular, escoge la cantidad
Más detallesSistemas de numeración y aritmética binaria
Sistemas de numeración y aritmética binaria Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora Este reporte consta de tres secciones. Primero, la Sección 1 presenta
Más detallesConclusiones. Particionado Consciente de los Datos
Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser
Más detallesProfr. Efraín Soto Apolinar. Factorización
Factorización La factorización es la otra parte de la historia de los productos notables. Esto es, ambas cosas se refieren a las mismas fórmulas, pero en los productos notables se nos daba una operación
Más detallesEste documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales.
Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales. Introducción Por qué La Geometría? La Geometría tiene como objetivo fundamental
Más detallesDivisibilidad y números primos
Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos
Más detallesSistemas de numeración
Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan
Más detallesNano Taller de Python
Charla 5: Programación Funcional Royal Institute of Technology (KTH), Estocolmo, Suecia Grupo de Nanomateriales (GNM), Santiago, Chile 13 de enero 2009, de 13:00 a 14:00 Parte I Programación
Más detallesProfr. Efraín Soto Apolinar. Números reales
úmeros reales En esta sección vamos a estudiar primero los distintos conjuntos de números que se definen en matemáticas. Después, al conocerlos mejor, podremos resolver distintos problemas aritméticos.
Más detalles8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Más detallesUNIDAD I NÚMEROS REALES
UNIDAD I NÚMEROS REALES Los números que se utilizan en el álgebra son los números reales. Hay un número real en cada punto de la recta numérica. Los números reales se dividen en números racionales y números
Más detallesMatrices Invertibles y Elementos de Álgebra Matricial
Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CCIR/ITESM 12 de enero de 2011 Índice 91 Introducción 1 92 Transpuesta 1 93 Propiedades de la transpuesta 2 94 Matrices
Más detallesÁmbito Científico-Tecnológico Módulo III Bloque 2 Unidad 1 Quien parte y reparte, se lleva la mejor parte
Ámbito Científico-Tecnológico Módulo III Bloque 2 Unidad 1 Quien parte y reparte, se lleva la mejor parte En esta unidad vamos a estudiar los números racionales, esto es, los que se pueden expresar en
Más detallesINSTITUTO VALLADOLID PREPARATORIA página 37
INSTITUTO VALLADOLID PREPARATORIA página 37 página 38 SUMA DE FRACCIONES CONCEPTO Las cuatro operaciones fundamentales, suma, resta, multiplicación y división, con fracciones algebraicas se realizan bajo
Más detallesLección 1-Introducción a los Polinomios y Suma y Resta de Polinomios. Dra. Noemí L. Ruiz Limardo 2009
Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios Dra. Noemí L. Ruiz Limardo 2009 Objetivos de la Lección Al finalizar esta lección los estudiantes: Identificarán, de una lista de expresiones
Más detallesRepresentación lógica del tiempo social
Representación lógica del tiempo social Copyright Título Asunto Clave Archivo Creación Impresión Distribución Revisión 1998, Bayes Inference, S.A. Representación lógica del tiempo social Diseño de una
Más detallesOperaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta
Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a
Más detallesNivel Básico I Prof. Mariano Correa
Nivel Básico I El presente material forma parte de los contenidos digitales del Inst. John Kennedy. Se prohíbe su uso o distribución sin consentimiento de su autor o de la institución misma. Índice: Introducción
Más detallesMódulo II - PowerPoint
Módulo II - PowerPoint Índice Copiando diapositivas Menú Edición... 2 Copiando diapositivas utilizando la barra de herramientas... 3 Copiando diapositivas utilizando el menú contextual... 3 Copiando diapositivas
Más detallesAnálisis de propuestas de evaluación en las aulas de América Latina
Este trabajo de evaluación tiene como objetivo la caracterización de figuras del espacio. Para ello el alumno debe establecer la correspondencia entre la representación de la figura y algunas de sus propiedades.
Más detallesCompiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento
Más detallesTema 3. Polinomios y fracciones algebraicas
Tema. Polinomios y fracciones algebraicas. Monomios.. Definiciones.. Operaciones con monomios. Polinomios.. Definiciones.. Operaciones con polinomios. Factorización de un polinomio.. Teorema del resto.
Más detallesMATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas
Universidad de Cádiz Departamento de Matemáticas MATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas Tema 4 La recta en el plano Elaborado por la Profesora Doctora María Teresa
Más detallesVECTORES. Módulo, dirección y sentido de un vector fijo En un vector fijo se llama módulo del mismo a la longitud del segmento que lo define.
VECTORES El estudio de los vectores es uno de tantos conocimientos de las matemáticas que provienen de la física. En esta ciencia se distingue entre magnitudes escalares y magnitudes vectoriales. Se llaman
Más detallesMatemáticas Propedéutico para Bachillerato. Introducción
Actividad. Fracciones simples. Introducción En las actividades anteriores vimos las operaciones básicas de suma, resta, multiplicación y división, así como la jerarquía de ellas entre números enteros,
Más detalles1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1
5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0
Más detallesTema 2 Límites de Funciones
Tema 2 Límites de Funciones 2.1.- Definición de Límite Idea de límite de una función en un punto: Sea la función. Si x tiende a 2, a qué valor se aproxima? Construyendo - + una tabla de valores próximos
Más detallesPRÁCTICAS DE GESTIÓN GANADERA:
PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta
Más detallesTEMA 4 FRACCIONES MATEMÁTICAS 1º ESO
TEMA 4 FRACCIONES Criterios De Evaluación de la Unidad 1 Utilizar de forma adecuada las fracciones para recibir y producir información en actividades relacionadas con la vida cotidiana. 2 Leer, escribir,
Más detallesEl número de arriba de la fracción, el numerador, nos dice cuántas de las partes iguales están coloreadas.
Qué es una fracción? Una fracción es un número que indica parte de un entero o parte de un grupo. El siguiente círculo está dividido en partes iguales de las cuales partes están coloreadas. El número de
Más detallesMATERIAL 2 EXCEL 2007
INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta
Más detallesDescomposición factorial de polinomios
Descomposición factorial de polinomios Contenidos del tema Introducción Sacar factor común Productos notables Fórmula de la ecuación de segundo grado Método de Ruffini y Teorema del Resto Combinación de
Más detallesPráctica 2: Simón dice
Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia
Más detallesLlamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3
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 detallesJORNADA DE TRABAJO LIQUIDACION
JORNADA DE TRABAJO LIQUIDACION Este concepto se encuentra en la legislación, a partir del artículo 158 al 167 del Código Sustantivo del Trabajo. Debemos entender la jornada de trabajo como aquel tiempo
Más detallesMODELOS DE RECUPERACION
RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN INGENIERÍA INFORMÁTICA RECUPERACIÓN Y ACCESO A LA INFORMACIÓN MODELOS DE RECUPERACION AUTOR: Rubén García Broncano NIA 100065530 grupo 81 1 INDICE 1- INTRODUCCIÓN
Más detallesEl proceso de edición digital en Artelope y CTCE
El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos
Más detallesSISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97
SISTEMAS DE NUMERACIÓN Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. La norma principal en un sistema de numeración posicional es que un mismo símbolo
Más detallesFundamentos de la Programación
Fundamentos de la Programación El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software
Más detallesRelaciones entre conjuntos
Relaciones entre conjuntos Parejas ordenadas El orden de los elementos en un conjunto de dos elementos no interesa, por ejemplo: {3, 5} = {5, 3} Por otra parte, una pareja ordenada consiste en dos elementos,
Más detalles1. DML. Las subconsultas
1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se
Más detallesCentro de Capacitación en Informática
Combinación de funciones y fórmulas =SI(Y(...)...) o =Si(O(...)...) En secciones anteriores vimos que la función SI() debía cumplir una condición, como por ejemplo, controlar si en una celda determinada
Más detallesTIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)
APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases
Más detallesTeóricas de Análisis Matemático (28) - Práctica 4 - Límite de funciones. 1. Límites en el infinito - Asíntotas horizontales
Práctica 4 - Parte Límite de funciones En lo que sigue, veremos cómo la noción de límite introducida para sucesiones se etiende al caso de funciones reales. Esto nos permitirá estudiar el comportamiento
Más detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un
Más detalles