Aritmética en Haskell

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

Download "Aritmética en Haskell"

Transcripción

1 Aritmética en Haskell Taller de Álgebra I Primer cuatrimestre de 2014

2 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente.

3 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente. Sin embargo, no necesitamos que estas funciones sean primitivas, sino que... podemos programarlas nosotros mismos!

4 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente. Sin embargo, no necesitamos que estas funciones sean primitivas, sino que... podemos programarlas nosotros mismos! Esto corresponde a programar algún algoritmo de división...

5 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente. Sin embargo, no necesitamos que estas funciones sean primitivas, sino que... podemos programarlas nosotros mismos! Esto corresponde a programar algún algoritmo de división... Alguna idea?

6 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente. Sin embargo, no necesitamos que estas funciones sean primitivas, sino que... podemos programarlas nosotros mismos! Esto corresponde a programar algún algoritmo de división... Alguna idea? Idea: Para calcular div n m podemos usar la fórmula recursiva: { 0 si n < m div n m = 1 + div (n-m) m si n m

7 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente. Sin embargo, no necesitamos que estas funciones sean primitivas, sino que... podemos programarlas nosotros mismos! Esto corresponde a programar algún algoritmo de división... Alguna idea? Idea: Para calcular div n m podemos usar la fórmula recursiva: { 0 si n < m div n m = 1 + div (n-m) m si n m Cómo sería el código Haskell?

8 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente. Sin embargo, no necesitamos que estas funciones sean primitivas, sino que... podemos programarlas nosotros mismos! Esto corresponde a programar algún algoritmo de división... Alguna idea? Idea: Para calcular div n m podemos usar la fórmula recursiva: { 0 si n < m div n m = 1 + div (n-m) m si n m Cómo sería el código Haskell? Cómo calculamos el resto?

9 Algoritmo de Euclides El Algoritmo de Euclides calcula el máximo común divisor entre dos números a, b Z +.

10 Algoritmo de Euclides El Algoritmo de Euclides calcula el máximo común divisor entre dos números a, b Z +. Recordemos el algoritmo en su versión imperativa: 1 r 0 := a; 2 r 1 := b; 3 Mientras r i 0, hacer: 4 r i+1 := r i 1 mod r i ; 5 i := i + 1; 6 Fin 7 El resultado es r i 1 ;

11 Algoritmo de Euclides Cómo sería en Haskell?

12 Algoritmo de Euclides Cómo sería en Haskell? mcd :: Int -> Int -> Int

13 Algoritmo de Euclides Cómo sería en Haskell? mcd :: Int -> Int -> Int mcd a 0 = a

14 Algoritmo de Euclides Cómo sería en Haskell? mcd :: Int -> Int -> Int mcd a 0 = a mcd a b = mcd b (mod a b)

15 Algoritmo de Euclides Cómo sería en Haskell? mcd :: Int -> Int -> Int mcd a 0 = a mcd a b = mcd b (mod a b) El peor caso del algoritmo se obtiene cuando a y b son dos números consecutivos de la sucesión de Fibonacci (Lamé, ).

16 Algoritmo de Euclides Cómo sería en Haskell? mcd :: Int -> Int -> Int mcd a 0 = a mcd a b = mcd b (mod a b) El peor caso del algoritmo se obtiene cuando a y b son dos números consecutivos de la sucesión de Fibonacci (Lamé, ). En general, el número de divisiones que realiza el algoritmo nunca supera 5 veces el número de dígitos de a y b, con lo cual la cantidad de llamadas recursivas está acotada por 5 log 10 (a).

17 Cambio de base en Haskell Problema: Dados a, b Z + con b > 1, escribir el número a en base b.

18 Cambio de base en Haskell Problema: Dados a, b Z + con b > 1, escribir el número a en base b. Por ejemplo... 1 Si a = 10 y b = 2, entonces la respuesta es Si a = 17 y b = 3, entonces la respuesta es Si a = 145 y b = 10, entonces la respuesta es

19 Cambio de base en Haskell Problema: Dados a, b Z + con b > 1, escribir el número a en base b. Por ejemplo... 1 Si a = 10 y b = 2, entonces la respuesta es Si a = 17 y b = 3, entonces la respuesta es Si a = 145 y b = 10, entonces la respuesta es Cómo lo haríamos en Haskell si representamos la salida como una lista de enteros?

20 Cambio de base en Haskell Problema: Dados a, b Z + con b > 1, escribir el número a en base b. Por ejemplo... 1 Si a = 10 y b = 2, entonces la respuesta es Si a = 17 y b = 3, entonces la respuesta es Si a = 145 y b = 10, entonces la respuesta es Cómo lo haríamos en Haskell si representamos la salida como una lista de enteros? Cómo cambiamos el programa si queremos representar la salida como una cadena de caracteres?

21 Cambio de base en Haskell Problema: Dados a, b Z + con b > 1, escribir el número a en base b. Por ejemplo... 1 Si a = 10 y b = 2, entonces la respuesta es Si a = 17 y b = 3, entonces la respuesta es Si a = 145 y b = 10, entonces la respuesta es Cómo lo haríamos en Haskell si representamos la salida como una lista de enteros? Cómo cambiamos el programa si queremos representar la salida como una cadena de caracteres? Qué problema tiene esta representación si luego queremos usar el resultado para cálculos posteriores?

22 Ejercicios 1 Consideremos la sucesión t 1, t 2,..., tal que t n es la cantidad de llamadas recursivas del Algoritmo de Euclides cuando se ejecuta con a = F n y b = F n 1 (donde F n representa el n-ésimo número de Fibonacci). Escribir un programa que tome como parámetro un entero n y que retorne t n. 2 Graficar la sucesión t 1, t 2,... definida en el ejercicio anterior. 3 Escribir un programa que tome un entero b > 1 y un entero a representado en base b (expresado como una lista de enteros) y que retorne un Int con el entero a. 4 Escribir un programa que tome un entero b > 1 y un entero a representado en base b (expresado como una lista de enteros) y que retorne una lista de enteros con el entero representado en base 10.

Manos a la obra: Recursión, división y listas

Manos a la obra: Recursión, división y listas Manos a la obra: Recursión, división y listas Taller de Álgebra I Cuatrimestre de verano de 2015 Calentando motores La clase pasada vimos ejemplos de definiciones recursivas. Hoy vamos a continuar con

Más detalles

Algoritmo de Euclides y ecuaciones de congruencia

Algoritmo de Euclides y ecuaciones de congruencia Algoritmo de Euclides y ecuaciones de congruencia Taller de Álgebra I Primer cuatrimestre de 2017 Algoritmo de Euclides El algoritmo de Euclides calcula el máximo común divisor entre dos números a, b Z.

Más detalles

Divisibilidad y congruencia

Divisibilidad y congruencia Divisibilidad y congruencia Taller de Álgebra I Verano 2017 Algoritmo de la división Teorema Dados a, d Z, d 0, existen únicos q, r Z tales que a = qd + r, 0 r < d. Idea de la demostración: (caso a 0,

Más detalles

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

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

Más detalles

Números primos y criterios de divisibilidad

Números primos y criterios de divisibilidad Números primos y criterios de divisibilidad Taller de Álgebra I 1er cuatrimestre de 2014 Verificando si un número es primo Ejercicio: ( para hacer ahora!) Escribir una función que determine si un número

Más detalles

Euclides Extendido y Teorema Chino del Resto

Euclides Extendido y Teorema Chino del Resto Euclides Extendido y Teorema Chino del Resto Taller de Álgebra I Segundo cuatrimestre de 2013 Lema de Bézout Recordemos este lema: Lema (Étienne Bézout) Sean a, b Z, alguno distinto de 0. Entonces existen

Más detalles

ALGEBRA I - Práctica N 4 (Primera parte) - Primer cuatrimestre de Números enteros

ALGEBRA I - Práctica N 4 (Primera parte) - Primer cuatrimestre de Números enteros ALGEBRA I - Práctica N 4 (Primera parte) - Primer cuatrimestre de 2002 Números enteros Ejercicio. Dados a, b y c números enteros, decidir cuáles de las siguientes afirmaciones son verdaderas y cuáles son

Más detalles

Algoritmo de Euclides

Algoritmo de Euclides Algoritmo de Euclides Melanie Sclar Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires AED III Melanie Sclar (UBA) Algoritmo de Euclides AED III 1 / 21 Ejercicio 2.8 de la práctica Ejercicio

Más detalles

Introducción a la Matemática Discreta

Introducción a la Matemática Discreta Primera práctica Objetivos El objetivo de esta práctica es observar la rápida convergencia del algoritmo de Euclides (Alejandría 300 a.c.) para hallar el máximo común divisor de dos números enteros a y

Más detalles

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

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

Más detalles

3er Encuentro de Educación en

3er Encuentro de Educación en 3er Encuentro de Educación en Cienciadela 3er Encuentro de Educación en Cienciadela Formación de Profesores de Ciencia i de la 3er Encuentro de Educación en Cienciadela Formación de Profesores Vinculo

Más detalles

El Algoritmo de Euclides

El Algoritmo de Euclides El Algoritmo de Euclides Pablo L. De Nápoli Departamento de Matemática Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 25 de abril de 2014 Pablo L. De Nápoli (Departamento de Matemática

Más detalles

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

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

Más detalles

Números primos en Haskell

Números primos en Haskell Números primos en Haskell Taller de Álgebra I Segundo cuatrimestre de 2014 Logo data Direccion = Norte Sur Este Oeste deriving Show type Tortuga = ( Pos, Direccion ) type Pos = (Int, Int ) Ejercicios 1

Más detalles

UNIDAD 1. Números naturales y enteros 1º ESO. Contenidos, objetivos y criterios de evaluación DEPARTAMENTO DE MATEMÁTICAS

UNIDAD 1. Números naturales y enteros 1º ESO. Contenidos, objetivos y criterios de evaluación DEPARTAMENTO DE MATEMÁTICAS UNIDAD 1 Números naturales y enteros 1º ESO Contenidos, objetivos y criterios de evaluación ÍNDICE DE LA UNIDAD 1. Los números naturales. Definición y propiedades. 2. Un ejemplo de sistema de numeración.

Más detalles

Relaciones de orden. Definición 1. Llamamos conjunto ordenado a un par (E, ) donde E es un conjunto y es un orden definido en E

Relaciones de orden. Definición 1. Llamamos conjunto ordenado a un par (E, ) donde E es un conjunto y es un orden definido en E Relaciones de orden Diremos que una relación R es de orden si verifica las propiedades reflexiva, antisimétrica y transitiva. Generalmente usaremos la notación en lugar de R para expresar relaciones de

Más detalles

Divisibilidad y congruencia

Divisibilidad y congruencia de los ejercicios de la clase 8 Divisibilidad y congruencia Taller de Álgebra I Segundo cuatrimestre de 2016 Introducción A continuación les presentamos algunas soluciones para los ejercicios de la clase

Más detalles

Algoritmos en teoría de números

Algoritmos en teoría de números Algoritmos en teoría de números IIC2283 IIC2283 Algoritmos en teoría de números 1 / 92 Para recordar: aritmética modular Dados dos números a, b Z, si b > 0 entonces existen α, β Z tales que 0 β < b y a

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2016-2017 1º Grado en Informática Práctica 3: Recursividad, Ficheros y Argumentos en Línea de órdenes Objetivos

Más detalles

Tema 1 Aritmética entera

Tema 1 Aritmética entera Tema 1 Aritmética entera Tema 1 Aritmética entera 1.1 Los números enteros 1.1.1 Relaciones de orden Una relación en un conjunto A es un subconjunto R del producto cartesiano AxA. Se dice que dos elementos

Más detalles

Divisibilidad (en N = N {0})

Divisibilidad (en N = N {0}) Divisibilidad (en N = N {0}) Dados dos números naturales a y c, se dice que c es un divisor de a si existe q N tal que a = q c (es decir, si en la división a c el resto es 0). c a significa que c es divisor

Más detalles

Tipos de datos algebraicos

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

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 9

Estructura de datos y de la información Boletín de problemas - Tema 9 Estructura de datos y de la información Boletín de problemas - Tema 9 1. Dada la siguiente función recursiva: void F(char c) { if (( A

Más detalles

Guia para el exámen parcial 1 - unas soluciones

Guia para el exámen parcial 1 - unas soluciones Matemáticas elementales, Demat-UG, ago-dic, 2017 Guia para el exámen parcial 1 - unas soluciones Fecha del exámen: miercoles, 4 oct, 2017. Profesor: Gil Bor, CIMAT. Definiciones: La representación de a

Más detalles

PROGRAMACION ALGORITMOS Y ESTRUCTURAS DE DATOS PRACTICA N 4

PROGRAMACION ALGORITMOS Y ESTRUCTURAS DE DATOS PRACTICA N 4 PROGRAMACION ALGORITMOS Y ESTRUCTURAS DE DATOS PRACTICA N 4 Ámbito de las variables. Utilización de punteros 1. Dados los siguientes programas. Indique las salidas por pantalla que generan. 1.a void Calculo(

Más detalles

Capitulo 4. Introducción a Haskell. Instalación de Haskell. Primeros pasos con Haskell.

Capitulo 4. Introducción a Haskell. Instalación de Haskell. Primeros pasos con Haskell. Capitulo 4 Introducción a Haskell Es un software libre, fácil de obtener y de instalar, y que además tiene muchísimo material de lectura para descarga gratuita en Internet. Es por estos motivos que fue

Más detalles

La recursividad forma parte del repertorio para resolver problemas en Computación y es de los métodos más poderosos y usados.

La recursividad forma parte del repertorio para resolver problemas en Computación y es de los métodos más poderosos y usados. RECURSIVIDAD La recursividad forma parte del repertorio para resolver problemas en Computación y es de los métodos más poderosos y usados. Los algoritmos recursivos ofrecen soluciones estructuradas, modulares

Más detalles

OCW-V.Muto Sistemas de numeración Cap. III CAPITULO III. SISTEMAS DE NUMERACION 1. REPRESENTACION DE LA INFORMACION

OCW-V.Muto Sistemas de numeración Cap. III CAPITULO III. SISTEMAS DE NUMERACION 1. REPRESENTACION DE LA INFORMACION CAPITULO III. SISTEMAS DE NUMERACION 1. REPRESENTACION DE LA INFORMACION El sistema de numeración usado habitualmente es el decimal, de base 10, que no es adecuado para ser manejado por el ordenador, fundamentalmente

Más detalles

Álgebra I Práctica 3 - Números enteros (Parte 1)

Álgebra I Práctica 3 - Números enteros (Parte 1) Divisibilidad Álgebra I Práctica 3 - Números enteros (Parte 1 1. Decidir cuáles de las siguientes afirmaciones son verdaderas para todo a, b, c Z i a b c a c y b c, ii 4 a a, iii a b a ó b, iv 9 a b 9

Más detalles

El algoritmo de Euclides con residuos de menor valor absoluto

El algoritmo de Euclides con residuos de menor valor absoluto Miscelánea Matemática 6 05) -9 SMM El algoritmo de Euclides con residuos de menor valor absoluto Jesús Efrén Pérez Terrazas, Luis Felipe Solís Sansores, Emmanuel Vázquez Cetina Facultad de Matemáticas

Más detalles

Práctica 2 - Ejercicio 2.8

Práctica 2 - Ejercicio 2.8 Algoritmos y Estructura de Datos III Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires 27 de Marzo de 2013 2.8 - Euclides 2.8. a. Escribir el algoritmo de Euclides para calcular el

Más detalles

Índice La División Entera El Máximo Común Divisor Algoritmo de Euclides Ecuaciones Diofánticas Factorización. Aritmética I.

Índice La División Entera El Máximo Común Divisor Algoritmo de Euclides Ecuaciones Diofánticas Factorización. Aritmética I. Leandro Marín Septiembre 2010 Índice La División Entera El Máximo Común Divisor Algoritmo de Euclides Ecuaciones Diofánticas Factorización Los Números Enteros Llamaremos números enteros al conjunto infinito

Más detalles

4 de Noviembre de 2010 Departamento de Matemáticas

4 de Noviembre de 2010 Departamento de Matemáticas Prototipo de Examen ALM 1er cuatrimestre Universidad de Alcalá 4 de Noviembre de 2010 Departamento de Matemáticas Apellidos, Nombre: NOTA: Durante la prueba no se podra hacer uso de ningún dispositivo

Más detalles

We might call it the grandaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day. D. E.

We might call it the grandaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day. D. E. We might call it the grandaddy of all algorithms, because it is the oldest nontrivial algorithm that has survived to the present day. D. E. Knuth, 1981 Pregunta: Dados dos números naturales no nulos, determinar

Más detalles

Ecuaciones de recurrencia. Abraham Sánchez López FCC/BUAP Grupo MOVIS

Ecuaciones de recurrencia. Abraham Sánchez López FCC/BUAP Grupo MOVIS Ecuaciones de recurrencia Abraham Sánchez López FCC/BUAP Grupo MOVIS Introducción, I Cuando se analiza la complejidad de un algoritmo recursivo, es frecuente que aparezcan funciones de costo también recursivas,

Más detalles

Recursión. Capítulo 4

Recursión. Capítulo 4 Recursión Capítulo 4 Introducción La recursión o recursividad es un concepto amplio, con muchas variantes, y difícil de precisar con pocas palabras.. Actividades Cotidianas; fotografía donde se observa

Más detalles

Ecuaciones Diofánticas

Ecuaciones Diofánticas 2 Ecuaciones Diofánticas (c) 2011 leandromarin.com 1. Introducción Una ecuación diofántica es una ecuación con coeficientes enteros y de la que tenemos que calcular las soluciones enteras. En este tema

Más detalles

1. Escribir un algoritmo que resuelva A-B*((B+C) / (C-C 2 ). Considerar que no es posible la división por 0, detectar este caso y salvar el error.

1. Escribir un algoritmo que resuelva A-B*((B+C) / (C-C 2 ). Considerar que no es posible la división por 0, detectar este caso y salvar el error. T.P ALGORITMOS 1. Escribir un algoritmo que resuelva A-B*((B+C) / (C-C 2 ). Considerar que no es posible la división por 0, detectar este caso y salvar el error. 2. Escribir un algoritmo que lea tres números

Más detalles

Secuencias Calculadas

Secuencias Calculadas Secuencias Calculadas Estructuras de Iteración y Recursividad Prof. Hilda Contreras Programación 1 hildac.programacion1@gmail.com Secuencias Calculadas Se aplican a los problemas donde los elementos de

Más detalles

Recursividad Definición

Recursividad Definición Recursividad Definición Un procedimiento o función se dice recursivo si durante su ejecución se invoca directa o indirectamente a sí mismo. Esta invocación depende al menos de una condición que actúa como

Más detalles

Aritmética Entera MATEMÁTICA DISCRETA I. F. Informática. UPM. MATEMÁTICA DISCRETA I () Aritmética Entera F. Informática.

Aritmética Entera MATEMÁTICA DISCRETA I. F. Informática. UPM. MATEMÁTICA DISCRETA I () Aritmética Entera F. Informática. Aritmética Entera MATEMÁTICA DISCRETA I F. Informática. UPM MATEMÁTICA DISCRETA I () Aritmética Entera F. Informática. UPM 1 / 18 Estructura de los números enteros Estructura de los números enteros Definición

Más detalles

ARITMÉTICA ENTERA LOS NÚMEROS ENTEROS. = {..., n,..., 3, 2, 1, 0, 1, 2, 3,..., n,...} (Zahlen, en alemán, números)

ARITMÉTICA ENTERA LOS NÚMEROS ENTEROS. = {..., n,..., 3, 2, 1, 0, 1, 2, 3,..., n,...} (Zahlen, en alemán, números) LOS NÚMEROS ENTEROS ARITMÉTICA ENTERA = {..., n,..., 3, 2, 1, 0, 1, 2, 3,..., n,...} (Zahlen, en alemán, números) Recordamos la estructura de sus propiedades aritméticas la relación de orden usual, compatible

Más detalles

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

Aritmética modular. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Aritmética modular 1 / 16 Aritmética modular AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Aritmética modular 1 / 16 Objetivos Al finalizar este tema tendréis que: Saber qué es Z n. Saber operar en

Más detalles

Enteros Primera parte.

Enteros Primera parte. Capítulo 3 Enteros Primera parte. Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk. (Dios hizo los números enteros, todo lo demás es obra del hombre.) Leopold Kronecker (1823-1891),

Más detalles

Álgebra I Práctica 5 - Polinomios

Álgebra I Práctica 5 - Polinomios Álgebra I Práctica 5 - Polinomios 1. Para los siguientes z C, hallar Rez), Imz), z, Rez 1 ), Imz 1 ), Re i z) e Imi z). i) z = 2 + i)1 + 3 i). ii) z = 5 i1 + i) 4. iii) z = 2 + 3 i) 2 1 3 i). iv) z = i

Más detalles

11 Secuencias, Series y Probabilidad

11 Secuencias, Series y Probabilidad Programa Inmersión, Verano 06 Notas escritas por Dr. M Notas del cursos. Basadas en los prontuarios de MATE 300 y MATE 303 Clase #0: lunes, 7 de junio de 06. Secuencias, Series y Probabilidad. Continuación:

Más detalles

Mecanismo de Reducción

Mecanismo de Reducción Mecanismo de Reducción Taller de Álgebra I 1er Cuatrimestre 2017 Repaso: Qué vimos hasta ahora? Programar para qué? Implementar algoritmos que solucionen problemas. Pensamiento algorítmico Ver los problemas

Más detalles

Álgebra y Matemática Discreta

Álgebra y Matemática Discreta Álgebra y Matemática Discreta Sesión de Teoría 1 (c) 2013 Leandro Marín, Francisco J. Vera, Gema M. Díaz 16 Sep 2013-22 Sep 2013 Los Números Enteros El Conjunto Z Vamos a empezar por la aritmética más

Más detalles

PRUEBA DE FUNDAMENTOS DE INFORMÁTICA. 1.- Qué se mostrará por pantalla tras ejecutar el código correspondiente a la función main?

PRUEBA DE FUNDAMENTOS DE INFORMÁTICA. 1.- Qué se mostrará por pantalla tras ejecutar el código correspondiente a la función main? UNIVERSIDD PONTIFICI COMILLS ESCUEL TECNIC SUPERIOR DE INGENIERI (I.C..I.) DEPRTMENTO DE SISTEMS INFORMÁTICOS TITULCIÓN: INGENIERO TÉCNICO INDUSTRIL PRUEB DE FUNDMENTOS DE INFORMÁTIC Nombre Grupo Preguntas

Más detalles

Introducción al Análisis del Coste de Algoritmos

Introducción al Análisis del Coste de Algoritmos 1/11 Introducción al Análisis del Coste de Algoritmos Josefina Sierra Santibáñez 7 de noviembre de 2017 2/11 Eficiencia de un Algoritmo Analizar un algoritmo significa, en el contexto de este curso, predecir

Más detalles

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

ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I ARITMÉTICA 1. Números naturales 2. Divisibilidad 3. Números enteros 4. Números decimales 5. Fracciones y números racionales 6. Proporcionalidad 7. Sistema métrico decimal 8. Sistema sexagesimal 9. Números

Más detalles

Valentín Moreno Programación en FORTRAN ESQUEMA DE SELECCIÓN

Valentín Moreno Programación en FORTRAN ESQUEMA DE SELECCIÓN ESQUEMA DE SELECCIÓN EJERCICIO 1 Escribir un programa en Fortran que permita introducir dos enteros, A y B, por teclado, y calcule y muestre en pantalla su suma y su producto, con un texto explicativo.

Más detalles

Conjuntos Numéricos I

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

Más detalles

DIVISIBILIDAD: Resultados

DIVISIBILIDAD: Resultados DIVISIBILIDAD: Resultados Página 1 de 9 Se enumeran a continuación, como referencia, ciertos resultados sobre divisibilidad. 1.1 Definición. Dados los enteros a y b, se dice que a divide a b (Notación:

Más detalles

Introducción a la Teoría de Números

Introducción a la Teoría de Números Introducción a la Teoría de Números Elaborado por: Jeff Maynard Guillén Eliminatoria II Julio, 2011 Introducción a la Teoría de Números A manera de repaso vamos a recordar algunos conjuntos N = {1, 2,

Más detalles

Bloque 1. Conceptos y técnicas básicas en programación

Bloque 1. Conceptos y técnicas básicas en programación Bloque 1. Conceptos y técnicas básicas en programación 1. Introducción 2. Datos y expresiones. Especificación de algoritmos 3. Estructuras algorítmicas básicas 4. Iteración y recursión 5. Iteración y recursión

Más detalles

RECORDAR TIPOS DE DATOS

RECORDAR TIPOS DE DATOS RECORDAR TIPOS DE DATOS VARIABLES: OBJETO CUYO valor cambia: A510 nombres NOTAS Int A=0; float B=1; CONSTANTES: OBJETO cuyo valor no cambia PI= 3.14159 LAS COMAS NO SE PERMITEN Int PI=3.1415 EXPRESIONES:

Más detalles

Resolución de Problemas y Algoritmos Segundo cuatrimestre de 2015 Clase 18: Recursión - Problemas clásicos

Resolución de Problemas y Algoritmos Segundo cuatrimestre de 2015 Clase 18: Recursión - Problemas clásicos Resolución de Problemas y Algoritmos Segundo cuatrimestre de 2015 Clase 18: Recursión - Problemas clásicos Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación

Más detalles

Teoría de números. Herbert Kanarek Universidad de Guanajuato Enero Junio Eugenio Daniel Flores Alatorre

Teoría de números. Herbert Kanarek Universidad de Guanajuato Enero Junio Eugenio Daniel Flores Alatorre Teoría de números Herbert Kanarek Universidad de Guanajuato Enero Junio 2012 Eugenio Daniel Flores Alatorre Bibliografía The theory of numbers Ivan Nivan H. Zuckerman H. Montgomery Temario I. Divisibilidad

Más detalles

Aritmética. 7. Si MCD(a; ab)=b, cuántos valores toma ab? 8. Si el MCD(abaa; ac(a 1)(a+2))=28, además MCM(abaa; ac(a 1)(a+2))=...

Aritmética. 7. Si MCD(a; ab)=b, cuántos valores toma ab? 8. Si el MCD(abaa; ac(a 1)(a+2))=28, además MCM(abaa; ac(a 1)(a+2))=... MCD - MCM I 1. Si MCD(360; abc)=18, calcule la cantidad de los posibles valores que toma abc. A) 18 B) 16 C) 20 D) 21 E) 30 2. Se cumple que MCD(k 2 ; mn)=16 y MCM(k 2 ; mn)=a9(a+1) Halle el valor de k+m+n.

Más detalles

Enteros Primera parte.

Enteros Primera parte. Capítulo 3 Enteros Primera parte. Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk. (Dios hizo los números enteros, todo lo demás es obra del hombre.) Leopold Kronecker (1823-1891),

Más detalles

Guardas y Tipos de datos

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

Más detalles

a) Si ch tiene el valor X y numero el valor 5, cuál sería el efecto de ejecutar cada una de las siguientes llamadas al procedimiento:

a) Si ch tiene el valor X y numero el valor 5, cuál sería el efecto de ejecutar cada una de las siguientes llamadas al procedimiento: RELACION 2 DPTO. LENGUAJES Y CIENCIAS DE LA COMPUTACIÓN ESCCUELA TÉCNICA SUPERIOR DE INGENIEROS EN TELECOMUNICACIONES UNIVERSIDAD DE MÁLAGA SUBALGORITMOS 1- Considera el siguiente procedimiento: Algoritmo

Más detalles

Tipos de datos en Haskell

Tipos de datos en Haskell Tipos de datos en Haskell Ejercicios 1. Tipos enumerados Cuando los distintos valores que debemos distinguir en un tipo son finitos, entonces podemos enumerar todos los valores distintos para el tipo.

Más detalles

Introducción a la Matemática Discreta

Introducción a la Matemática Discreta Introducción a la Matemática Discreta Aritmética Entera Luisa María Camacho Camacho Introd. a la Matemática Discreta 1 / 36 Introducción a la Matemática Discreta Temario Tema 1. Teoría de Conjuntos. Tema

Más detalles

Álgebra y Matemática Discreta

Álgebra y Matemática Discreta Álgebra y Matemática Discreta Sesión de Teoría 3 (c) 2013 Leandro Marín, Francisco J. Vera, Gema M. Díaz 23 Sep 2013-29 Sep 2013 Congruencias Definición Congruencia Módulo n Sea n 1 un número entero. Diremos

Más detalles

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Problema Diseño de la solución Dividir y conquistar Implementación de los

Más detalles

Algoritmos y Estructuras de Datos: Introducción a la Recursión de Programas. Guillermo Román Díez

Algoritmos y Estructuras de Datos: Introducción a la Recursión de Programas. Guillermo Román Díez Algoritmos y Estructuras de Datos: Introducción a la Recursión de Programas Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción

Más detalles

Álgebra I Práctica 5 - Polinomios

Álgebra I Práctica 5 - Polinomios Álgebra I Práctica 5 - Polinomios Números complejos 1. Para los siguientes z C, hallar Re(z), Im(z), z, Re(z 1 ), Im(z 1 ), Re( i z) e Im(i z). i) z = (2 + i)(1 + 3 i). ii) z = 5 i(1 + i) 4. iii) z = (

Más detalles

O bien si queremos calcular el error aproximado porcentual lo hacemos:

O bien si queremos calcular el error aproximado porcentual lo hacemos: En situaciones reales es común que no se conoce el valor verdadero del resultado: las mediciones dependen del instrumento y del procedimiento de medición; los métodos numéricos se aplican, cuando no se

Más detalles

Teoría de Números. Orlando Ochoa Castillo 25 de septiembre de 2011

Teoría de Números. Orlando Ochoa Castillo 25 de septiembre de 2011 Teoría de Números Orlando Ochoa Castillo 25 de septiembre de 2011 1. Divisibilidad La Teoría de Números es un tema muy importante en las Olimpiadas de Matemáticas, esta área estudia el comportamiento de

Más detalles

Capítulo IV. Divisibilidad y Primalidad. Algoritmo de la División

Capítulo IV. Divisibilidad y Primalidad. Algoritmo de la División Capítulo IV Divisibilidad y Primalidad IV.1. Algoritmo de la División (Aquí se enuncia con la posibilidad de divisor negativo y la prueba incluye el caso de dividendo negativo.) Teorema 1 Dados m, d Z,

Más detalles

Práctica 5.- Recursividad

Práctica 5.- Recursividad Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación Avanzada en Java Prim. 2009 Práctica 5.- Recursividad Datos de la práctica Fecha 6 de marzo de 2009 Conceptos

Más detalles

Álgebra I Práctica 5 - Polinomios

Álgebra I Práctica 5 - Polinomios Números complejos Álgebra I Práctica 5 - Polinomios 1. Para los siguientes z C, hallar Re(z), Im(z), z, Re(z 1 ), Im(z 1 ), Re( i z) e Im(i z). i) z = (2 + i)(1 + 3 i). ii) z = 5 i(1 + i) 4. iii) z = (

Más detalles

Complejidad de algoritmos recursivos

Complejidad de algoritmos recursivos Tema 3. Complejidad de algoritmos recursivos 1. INTRODUCCIÓN... 1 CLASIFICACIÓN DE FUNCIONES RECURSIVAS... 1 DISEÑO DE FUNCIONES RECURSIVAS... 2 2. VENTAJAS E INCONVENIENTES DE LA RECURSIVIDAD... 4 3.

Más detalles

Lección 4.2. Sucesiones Infinitas y Notación de Suma. Prof. José G. Rodríguez Ahumada 1 de 18

Lección 4.2. Sucesiones Infinitas y Notación de Suma. Prof. José G. Rodríguez Ahumada 1 de 18 Lección 4.2 Sucesiones Infinitas y Notación de Suma Prof. José G. Rodríguez Ahumada 1 de 18 Referencia del Texto: Actividades Sección 10.1 Sucesiones infinitas y notación de suma; ejercicios de práctica:

Más detalles

Dulcinea Raboso 18 de Noviembre, 2017

Dulcinea Raboso 18 de Noviembre, 2017 www.estalmat.org Dulcinea Raboso 8 de Noviembre, 07 Fracciones continuas I Problema Queremos embaldosar una habitación rectangular utilizando exclusivamente baldosas cuadradas, no necesariamente iguales.

Más detalles

DIVISIBILIDAD NÚMEROS NATURALES

DIVISIBILIDAD NÚMEROS NATURALES DIVISIBILIDAD NÚMEROS NATURALES MÚLTIPLOS Un número a es múltiplo de otro b cuando es el resultado de multiplicarlo por otro número c. a = b c Ejemplo: 12 es múltiplo de 2, ya que resulta de multiplicar

Más detalles

Una introducción al análisis dinámico. Análisis del algoritmo de Euclides para enteros.

Una introducción al análisis dinámico. Análisis del algoritmo de Euclides para enteros. Una introducción al análisis dinámico. Análisis del algoritmo de Euclides para enteros. Eda Cesaratto Universidad Nacional de Gral. Sarmiento and CONICET (Argentina) Jornadas de Combinatoria Analítica

Más detalles

Álgebra y Matemática Discreta

Álgebra y Matemática Discreta Álgebra y Matemática Discreta Sesión de Teoría 3 (c) 2013 Leandro Marín, Francisco J. Vera, Gema M. Díaz 23 Sep 2013-29 Sep 2013 Congruencias Definición Congruencia Módulo n Sea n 1 un número entero. Diremos

Más detalles

Temario. Tipos de recursión. Eficiencia y recursión

Temario. Tipos de recursión. Eficiencia y recursión RECURSION Temario Tipos de recursión Eficiencia y recursión Tipos de RECURSION Según desde donde se realice el llamado recursivo: Directa: la función se llama a sí misma. Indirecta: la función A llama

Más detalles

Exponencial, lineal y logarítmico

Exponencial, lineal y logarítmico Exponencial, lineal y logarítmico Se verán en este apartado ejemplos de procesos que cursan en un número de pasos exponencial, lineal o logarítmico en la talla de la entrada. Para ilustrar estos procesos

Más detalles

22/03/2012. La división es una de las operaciones menos frecuentes. Revisemos la forma de ejecutarla

22/03/2012. La división es una de las operaciones menos frecuentes. Revisemos la forma de ejecutarla Arquitectura de Computadoras Primavera 2012 La división es una de las operaciones menos frecuentes. Revisemos la forma de ejecutarla 1 0 0 1 Cociente Divisor 1 0 0 0 1 0 0 1 0 1 0 Dividendo - 1 0 0 0 1

Más detalles

Las demostraciones de las propiedades (1) y (2) quedan a cargo del estudiante.

Las demostraciones de las propiedades (1) y (2) quedan a cargo del estudiante. Sección II CONCEPTOS PREVIOS.. Definición.. Se dice que un número entero! es divisible por otro entero! (distinto de cero) si existe un tercer entero! tal que! =!!. Se expresa como!!, que se lee! es divisible

Más detalles

MEL* Ejercicios - Inducción 1

MEL* Ejercicios - Inducción 1 Ejercicios 8. Teo: Principio del Buen Orden Principio de inducción. ( ) Supóngase el Principio del Buen Orden. Sea p un predicado sobre nat tal que p.0 y ( n:nat : p.n p(n+)}. Se quiere demostrar que también

Más detalles

Trabajo Práctico Nº 13 Tema: RECURSIVIDAD

Trabajo Práctico Nº 13 Tema: RECURSIVIDAD 1 Dado el siguiente método recursivo: int puzzle(int base, int limite) if(base > limite) return -1; if(base == limite) return (base * puzzle(base + 1, limite)); a) Identificar: el o los casos bases del

Más detalles

3.3 (parte II) División de números cardinales

3.3 (parte II) División de números cardinales 3.3 (parte II) División de números cardinales División de Números Cardinales Modelo de repartición el conjunto de elementos representado por el dividendo se reparte en un número de subconjuntos igual al

Más detalles

UNIDAD 2. MÚLTIPLOS Y DIVISORES

UNIDAD 2. MÚLTIPLOS Y DIVISORES UNIDAD. MÚLTIPLOS Y DIVISORES. MÚLTIPLOS DE UN NÚMERO.. DIVISORES DE UN NÚMERO. 3. NÚMEROS PRIMOS Y NÚMEROS COMPUESTOS. 4. CRITERIOS DE DIVISIBILIDAD. 5. MÍNIMO COMÚN MÚLTIPLO. 6. MÁXIMO COMÚN DIVISOR..

Más detalles

open green road Guía Matemática MÚLTIPLOS Y DIVISORES profesor: Nicolás Melgarejo .cl

open green road Guía Matemática MÚLTIPLOS Y DIVISORES profesor: Nicolás Melgarejo .cl Guía Matemática MÚLTIPLOS Y DIVISORES profesor: Nicolás Melgarejo.cl 1. Múltiplos y divisibilidad Se dice que un número a es divisible por otro b si al dividir a con b, el residuo o resto es cero, dicho

Más detalles

Programación 2. Lección 3. Introducción a la recursividad

Programación 2. Lección 3. Introducción a la recursividad Programación 2 Lección 3. Introducción a la recursividad 1 1. Definiciones recursivas Número natural y número entero Múltiplos de 7 Secuencia de datos Factorial de un número natural Sucesión de Fibonacci

Más detalles

Ejercicio 4. Graficar los siguientes conjuntos en el plano complejo:

Ejercicio 4. Graficar los siguientes conjuntos en el plano complejo: ALGEBRA I - Práctica N 5 - Primer cuatrimestre de 2002 Números complejos Ejercicio 1. Im(z 1 ): En cada uno de los siguientes casos hallar Re(z), Im(z), z, Re(z 1 ) e i) z = (1 + 2i) + i.(2 + i) ii) z

Más detalles

Álgebra I Práctica 7 - Polinomios

Álgebra I Práctica 7 - Polinomios FCEyN - UBA - 2do cuatrimestre 2016 Generalidades Álgebra I Práctica 7 - Polinomios 1. Calcular el grado y el coeficiente principal de f Q[X] en los casos i) f = (4X 6 2X 5 + 3X 2 2X + 7) 77. ii) f = (

Más detalles

Univ. Nacional de Colombia, Medellín Escuela de Matemáticas Matemáticas Discretas Marzo 8, Soluciones Taller 5

Univ. Nacional de Colombia, Medellín Escuela de Matemáticas Matemáticas Discretas Marzo 8, Soluciones Taller 5 Univ. Nacional de Colombia, Medellín Escuela de Matemáticas Matemáticas Discretas Marzo 8, 00 Soluciones Taller 5. Pruebe por inducción que n 3 = 3 + 3 + 3 3 + + (n ) 3 + n 3 = = ( ) n(n + ) Caso base:

Más detalles

6. Estructuras básicas de control 1. Pseudocódigo

6. Estructuras básicas de control 1. Pseudocódigo 6. Estructuras básicas de control 1 Acciones Pseudocódigo Slide 1 Estructuras de control Secuencia Selección simple (si... entonces... ) doble (si... entonces... si no... ) múltiple (según el caso... )

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

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

Más detalles