Programación Funcional en Haskell

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

Download "Programación Funcional en Haskell"

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

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 detalles

Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.

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

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

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

Nota 2. Luis Sierra. Marzo del 2010

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

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

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

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

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

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

Estructuras de Datos y Algoritmos. Árboles de Expresión

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

Modulo 1 El lenguaje Java

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

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

PRÁ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 detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO 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

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

Centro de Capacitación en Informática

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

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

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

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

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

Lección 24: Lenguaje algebraico y sustituciones

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

Tema 07. LÍMITES Y CONTINUIDAD DE FUNCIONES

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

MATEMÁTICAS CON LA HOJA DE CÁLCULO

MATEMÁ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 detalles

Lección 9: Polinomios

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

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

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

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

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

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

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Arreglos. // 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 detalles

Los números racionales

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

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

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

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

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

MÉ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 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 detalles

Ecuaciones de primer grado con dos incógnitas

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

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

Lección 4: Suma y resta de números racionales

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

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

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

NÚMEROS NATURALES Y NÚMEROS ENTEROS

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

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

Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A)

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

Módulo 9 Sistema matemático y operaciones binarias

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

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

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

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

La ventana de Microsoft Excel

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

REPASO NÚMEROS NATURALES Y NÚMEROS ENTEROS

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

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

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

Interpolación polinómica

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

Teclado sobre una PDA para Personas con Parálisis Cerebral

Teclado 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

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

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

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

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B

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

3.2 Operaciones aritmético-lógicas en Pascal

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

Qué son los monomios?

Qué 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 detalles

PHP y MySQL. Indice: Switch Bucles For While do...while

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

LAS BARRAS. La barra de acceso rápido

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

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio

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

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

Ejercicio Nº 3: Realizar aumentos en una Tabla de Sueldos

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

Tema: Sobrecarga de Operadores.

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

MICROECONOMÍA II PRÁCTICA TEMA III: MONOPOLIO

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

Sistemas de numeración y aritmética binaria

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

Conclusiones. Particionado Consciente de los Datos

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

Profr. Efraín Soto Apolinar. Factorización

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

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

Divisibilidad y números primos

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

Sistemas de numeración

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

Nano Taller de Python

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

Profr. Efraín Soto Apolinar. Números reales

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

8. Sentencia return y métodos

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

UNIDAD I NÚMEROS REALES

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

Matrices Invertibles y Elementos de Álgebra Matricial

Matrices 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 Á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 detalles

INSTITUTO VALLADOLID PREPARATORIA página 37

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

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

Representación lógica del tiempo social

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

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

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

Nivel Básico I Prof. Mariano Correa

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

Módulo II - PowerPoint

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

Análisis de propuestas de evaluación en las aulas de América Latina

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

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015

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

Tema 3. Polinomios y fracciones algebraicas

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

MATEMÁTICAS para estudiantes de primer curso de facultades y escuelas técnicas

MATEMÁ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 detalles

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

Matemáticas Propedéutico para Bachillerato. Introducción

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

1 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

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

Tema 2 Límites de Funciones

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

PRÁCTICAS DE GESTIÓN GANADERA:

PRÁ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 detalles

TEMA 4 FRACCIONES MATEMÁTICAS 1º ESO

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

El número de arriba de la fracción, el numerador, nos dice cuántas de las partes iguales están coloreadas.

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

MATERIAL 2 EXCEL 2007

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

Descomposición factorial de polinomios

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

Práctica 2: Simón dice

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

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

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

JORNADA DE TRABAJO LIQUIDACION

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

MODELOS DE RECUPERACION

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

El proceso de edición digital en Artelope y CTCE

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

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

Fundamentos de la Programación

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

Relaciones entre conjuntos

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

1. DML. Las subconsultas

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

Centro de Capacitación en Informática

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

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

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

PROGRAMACIÓN ORIENTADA A OBJETOS

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

Teóricas de Análisis Matemático (28) - Práctica 4 - Límite de funciones. 1. Límites en el infinito - Asíntotas horizontales

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

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES 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