Resolución de Problemas y Algoritmos Segundo cuatrimestre de 2015 Clase 18: Recursión - Problemas clásicos
|
|
- Manuela Gómez Lucero
- hace 6 años
- Vistas:
Transcripción
1 Resolución de Problemas y Algoritmos Segundo cuatrimestre de 2015 Clase 18: Recursión - Problemas clásicos Dr. Sergio A. Gómez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina
2 Problemas clásicos en recursión Máximo común divisor (Algoritmo de Euclides) División entera y resto de la división entera Sucesión de Fibonacci Torres de Hanoi Sumas y productos de naturales Método de la bisección para hallar raíces cuadradas Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 2
3 Máximo común divisor En matemáticas el máximo común divisor (abreviado m.c.d. en castellano y g.c.d. en inglés) de dos o más números enteros es el mayor número entero que los divide sin dejar resto. Por ejemplo, el m.c.d. de 42 y 56 es 14. En efecto, 42/14 = 3 y 56/14 = 4 son primos entre sí (coprimos) (es decir, no existe ningún número natural aparte de 1 que divida a la vez al 3 y al 4). Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 3
4 Máximo común divisor El máximo común divisor de dos números puede calcularse determinando la descomposición en factores primos de los dos números y tomando los factores comunes elevados a la menor potencia, el producto de los cuales será el m.c.d. 48 = 2 4 * 3 60 = 2 2 * 3 * 5 m.c.d.(48, 60) = 2 2 * 3 = 12 Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 4
5 Algoritmo de Euclides Un método más eficiente es el algoritmo de Euclides, basado en que el m.c.d. de dos números también divide al resto de dividir el mayor entre el más pequeño: Para hallar m.c.d.(60,48), se divide 60 entre 48 dando un cociente de 1 y un resto de 12. El m.c.d. será por tanto divisor de 12. Después se divide 48 entre 12 dando un resto de 0, lo que significa que 12 es el mcd. Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 5
6 MCD Recursivo Planteo recursivo: MCD(a,b) Caso base: MCD( a, 0 ) = a Caso general: Si b 0, MCD( a, b ) = MCD( b, a mod b ) Function mcd( a, b : integer ) : integer; Begin if b = 0 then mcd := a else mcd := mcd( b, a mod b ); end; Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 6
7 MCD Recursivo (variante) MCD(a,b) Planteo recursivo: Caso base: MCD( a, b ) = b, si a mod b = 0 Caso general: MCD( a, b ) = MCD( b, a mod b ), si a mod b 0 Function mcd( a, b : integer ) : integer; Begin if a mod b = 0 then mcd := b else mcd := mcd( b, a mod b ); end; Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 7
8 Div y Mod (iterativo) Quiero calcular el resultado de dividir a por b, lo que me dará un cociente q y un resto r : q := 0; r := a; While r>b do Begin q := q+1; r := r b; End; Por lo tanto: a div b = q y a mod b = r. Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 8
9 Div (recursivo) Planteo: div(a,b): CB: Si a < b, entonces div(a,b) = 0 CR: Si a b, entonces div(a,b) = 1 + div(a-b,b) Implementación: (Ojo: Div es palabra reservada) Function _Div(a,b : integer) : integer; Begin if a<b then _div := 0 else _div := 1 + _div(a-b,b) End; Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 9
10 Mod (recursivo) Planteo: Mod(a,b) CB: si a<b entonces Mod(a,b) = a CR: Si a b entonces Mod(a,b) = Mod(a-b,b) Implementación: (Ojo: mod es palabra reservada) Function _mod( a, b : integer ) : integer; Begin if a<b then _mod := a else _mod := _mod(a-b,b) End; Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 10
11 Fibonacci ( ) Leonardo de Pisa, matemático italiano. El apodo de su padre era Bonacci (bien intencionado) y el recibió el apodo Fibonacci (filius Bonacci, hijo de Bonacci). De joven aprendió en África el sistema de numeración árabe (decimal), y consciente de la superioridad de este sistema comparado con el romano, viajó para estudiar con los matemáticos árabes más destacados de ese tiempo. En 1202, a los 32 años de edad, publicó lo que había aprendido en el Liber Abaci (libro del ábaco o libro de los cálculos), mediante el cuál se introdujo en Europa el sistema decimal que reemplazaría al romano. Resolución de Problemas y Algoritmos Dr. Alejandro J. García 11
12 Sucesión de Fibonacci La sucesión de Fibonacci es una sucesión infinita de números naturales: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, que inicia con 0 y 1, y a partir de ahí cada elemento es la suma de los dos anteriores. A cada elemento de esta sucesión se le llama número de Fibonacci. La sucesión fue descrita por Fibonacci, en su libro Liber Abaci, como la solución a un problema de la cría de conejos. Antes de que Fibonacci escribiera su trabajo, la sucesión de los números de Fibonacci había sido descubierta por matemáticos indios tales como Gopala (antes de 1135) y Hemachandra (1150). Resolución de Problemas y Algoritmos Dr. Alejandro J. García 12
13 Fibonacci considera el crecimiento de una población de conejos idealizada. Una pareja de conejos (un macho y una hembra) se ponen en el campo. Los conejos de un mes de edad se pueden reproducir y tardan un mes en dar a luz. Los conejos nunca mueren. Cada par de conejos produce un nuevo par de conejos (un macho y una hembra) cada mes a partir de segundo mes de nacer. La pregunta de Fibonacci es: cuántos conejos habrá en un año? Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 13
14 Al final del primer mes, se aparean, pero todavía hay 1 par. Al final del segundo mes la hembra produce un nuevo par, ahora hay 2 pares. Al final del tercer mes, la hembra original produce un nuevo par, ahora hay 3 pares. Al final del cuarto mes, la hembra original produce un nuevo par, y la hembra nacida dos meses atrás produce otro nuevo par, ahora hay 5 pares. Entonces al final del mes n-ésimo, el número de pares de conejos es igual al número de pares nuevos (que corresponde al número de pares del mes n-2) más el número de pares vivos en el último mes (n-1). Este es el número de Fibonacci. Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 14
15 Planteo recursivo Fib( 1 ) = 1 Fib( 2 ) = 1 Fib( n ) = Fib( n-1 ) + Fib( n-2 ) si n >= 3 Implementación en Pascal? Note que en la época de Fibonacci su sucesión comenzaba con 1, en la versión moderna comienza en 0. Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 15
16 Definición recursiva Los números de Fibonacci f 0, f 1, f 2, f 3, f 4, pueden definirse recursivamente como: f 0 = 0 f 1 = 1 f n = f n-1 + f n-2 para n > 1 function fib ( n : integer ) : integer; begin if n=0 then fib := 0 else if n = 1 then fib := 1 else fib := fib( n-1 ) + fib( n-2 ); end; 16
17 Variante de implementación function fib ( n : integer ) : integer; begin if n<=1 then fib := n else fib := fib( n-1 ) + fib( n-2 ); end; Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 17
18 Fibonacci iterativo function fib ( n : integer ) : integer; var a, b, c, i : integer; Begin if n <= 1 then fib := n else begin a := 0; b := 1; for i := 0 to n-2 do begin c := a + b; a := b; b := c; end; fib := c; end; Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 18
19 Las Torres de Hanoi: Una Leyenda La leyenda dice que hay tres agujas de diamante ubicadas en el piso de un templo de Brahma en Hanoi (Vietnam): Apilados sobre la aguja de más a la izquierda había 64 discos de oro, cada uno de una medida diferente, apilados en orden creciente:
20 Las Torres de Hanoi: Una Leyenda (cont) Los monjes debían transferir los discos de la primera aguja a la segunda, usando la tercera como fuera necesario. Pero ellos podían sólo mover un disco a la vez, y nunca podían poner un disco más grande sobre un disco más pequeño Cuando completaran esta tarea, el mundo llegaría a su fin!
21 Ilustración Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Dado que sólo podemos mover un disco a la vez, movemos el disco del tope de A a B.
22 Ejemplo Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Entonces movemos el disco del tope de A a C.
23 Ejemplo (cont.) Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Entonces movemos el disco del tope de B a C.
24 Ejemplo (cont.) Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Entonces movemos el disco del tope de A a B.
25 Ejemplo (cont.) Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Entonces movemos el disco del tope de C a A.
26 Ejemplo (cont.) Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Entonces movemos el disco del tope de C a B.
27 Ejemplo (cont.) Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Entonces movemos el disco del tope de A a B.
28 Ejemplo (cont.) Por simplicidad, supongamos que hay sólo 3 discos, y que nos referiremos a las agujas como A, B, y C... Y terminamos! El problema se hace más complejo a medida que aumenta la cantidad de discos...
29 Problema de las Torres de Hanoi Problema: Escribir un programa que genere las intrucciones para que sigan los monjes durante el movimiento de los discos. La solución recursiva de este problema es simple y elegante.
30 Diseño Vamos a permitirle al usuario ingresar el número de discos para los cuales quiere generar el conjunto de instrucciones: Program TestHanoi; Var numero_discos : integer; procedure Hanoi(n : integer; origen, destino, aux : char ); Begin End; Begin Write( Ingrese la cantidad de discos: ); ReadLn( numero_discos ); Hanoi( numero_discos, A, B, C ); End.
31 Planteo recursivo Caso base: Cuál es la instancia del problema cuya solución es trivial? n = 1 Como este caso base va a ocurrir cuando el disco está en el tope de una aguja, simplemente imprimimos la instrucción para mover el tope de la aguja origen al tope de la aguja destino.
32 Planteo recursivo Caso base: Cuál es la instancia del problema cuya solución es trivial? n = 1 Como este caso base va a ocurrir cuando el disco está en el tope de una aguja, simplemente imprimimos la instrucción para mover el tope de la aguja origen al tope de la aguja destino.
33 Planteo recursivo (cont.) Caso general: n > 1 Cómo nos puede ayudar la recursión? a. Recursivamente mover n-1 discos desde origen a aux.
34 Planteo recursivo (cont.) Caso general: n > 1 Cómo nos puede ayudar la recursión? b. Mover el disco restante de origen a destino.
35 Planteo recursivo (cont.) Caso general: n > 1 Cómo nos puede ayudar la recursión? c. Recursivamente mover n-1 discos desde aux a destino...
36 Planteo recursivo (cont.) Caso general: n > 1 Cómo nos puede ayudar la recursión? d. Terminamos!
37 Diseño del Algoritmo Combinamos estos pasos en este planteo recursivo: Hanoi(n, origen, destino, aux) Caso base: Si n=1 entonces mover el disco tope de origen a destino. Caso general: Si n>1, entonces: a. Hanoi( n-1, origen, aux, destino ) b. Hanoi( 1, origen, destino, aux ) c. Hanoi( n-1, aux, destino, origen )
38 Implementación en Pascal procedure Hanoi(n : integer; origen, destino, aux : char ); Begin if n=1 then WriteLn( Mover, origen, a, destino,. ) else begin Hanoi( n-1, origen, aux, destino ); Hanoi( 1, origen, destino, aux ); Hanoi( n-1, aux, destino, origen ) end; End;
39 Suma de naturales Formulación como parte de los axiomas de Peano: Suma( 0, m ) = m Suma( n+1, m ) = Suma(n, m) + 1 Type NoNeg = 0..maxint; Function suma( n, m : NoNeg ) : NoNeg; Begin if n = 0 then Suma := m else Suma = Succ( Suma(pred(n),m) ); End; Ejercicio: Cómo se define el producto usando el mismo enfoque? Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 39
40 Método de la bisección Supongamos que no tenemos la función raíz cuadrada y deseamos calcular 2. Si consideramos el gráfico de la función f ( x) = x f(x) El punto x=a tal que f(a)=0 corresponde a f(x) x = Nota: Asumiremos que trabajamos con funciones monótonas crecientes. Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 40
41 Método de la bisección: Planteo recursivo HallarRaiz( x, a, b ): Halla la raíz de x en [a,b]. Sea f(x,r) = x 2 r Caso base: Sea m el punto medio de [a,b]. Si f(m) es lo suficientemente cercano a 0 entonces m es la raíz de x en [a,b]. Caso general: Sea m el punto medio de [a,b]. 1. Si f(medio, x) < 0, hallar la raíz de x en [a,b] consiste de hallar la raíz de x en [m,b]. 2. Si f(medio, x) > 0, hallar la raíz de x en [a,b] consiste de hallar la raíz de x en [a,m]. Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 41
42 program Biseccion; const epsilon = ; var x, a, b : real; function abs( x : real ) : real; begin if x>=0 then abs := x else abs := -x; end; function f(x : real; r : real) : real; begin f := x*x - r; end; (* Continúa. *) Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 42
43 { Calcula la raíz cuadrada r de x. } { Asume que r está entre a y b, y que a < b. {También asume que f es monótona creciente. } function HallarRaiz( x: real; a, b : real ) : real; var medio : real; begin medio := (a + b) / 2; if abs(f(medio, x)) < epsilon then HallarRaiz := medio else if f(medio, x) < 0 then HallarRaiz := HallarRaiz( x, medio, b ) else HallarRaiz := HallarRaiz( x, a, medio ); end; (* Continúa *) Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 43
44 begin Write( 'Ingrese x: ' ); ReadLn( x ); Write( 'Ingrese a: ' ); ReadLn( a ); Write( 'Ingrese b: ' ); ReadLn( b ); WriteLn( 'La raiz de ', x: 10: 2, ' es ', HallarRaiz( x, a, b ) : 3 : 7 ); WriteLn; WriteLn( 'Enter...' ); ReadLn; end. Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 44
45 Sumario de temas: Problemas clásicos en recursión Máximo común divisor (Algoritmo de Euclides) División entera y resto de la división entera Sucesión de Fibonacci Torres de Hanoi Sumas y productos de naturales Método de la bisección para hallar raíces cuadradas Resolución de Problemas y Algoritmos - Dr. Sergio A. Gómez 45
Problemas clásicos en recursión. Máximo común divisor. Máximo común divisor. MCD Recursivo Planteo recursivo: MCD(a,b) Algoritmo de Euclides
Dr. Resolución de Problemas y Algoritmos Segundo cuatrimestre de 2014 Clase 18: Recursión -Problemas clásicos Dr. http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina Problemas clásicos en recursión Máximo
Más detallesUniversidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 1: Recursividad. Prof. Montserrat Serrano Montero
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 1: Recursividad Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Ejemplos recursivos Recursividad
Más detallesTema 7: Recursividad
Tema 7: Recursividad Objetivos: en este tema estudiaremos funciones recursivas; esto es, funciones que se invocan a sí mismas. Estas funciones son equivalentes a estructuras tipo bucle pero permiten especificar
Más detallesSlide 1. ordenación de tres números en forma. creciente.
Slide 1 Slide 2 EsTriangulo := (a < b+c) and (b < a+c) and (c < a+b) ; EsEquilatero := (a = b) and (b = c); EsIsosceles := (a = b) and (a c) or (a = c) and (a b) or (b = c) and (a b); EsEscaleno
Más detallesUNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO Recursividad: La recursividad es una técnica de programación
Más detallesConcepto de Recursión. Características de algoritmos recursivos. Ejemplos
RECURSION Temario Concepto de Recursión Características de algoritmos recursivos Ejemplos RECURSION Metodologías para resolver problemas: 1. Diseño Top Down 2. Recursión 3. Abstracción de Datos 4. Diseño
Más detallesEstructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2
Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2 Diseño de algoritmos recursivos 1. Dado un vector de enteros de longitud N,
Más detallesResolución de Problemas y Algoritmos Clase 6: Repetición (continuación)
Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Dr. http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,
Más detallesAritmética en Haskell
Aritmética en Haskell Taller de Álgebra I Primer cuatrimestre de 2014 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente.
Más detallesEjercicios sobre recursividad
Ejercicios sobre recursividad 11 de febrero de 2003 1. Implementa una función recursiva que devuelva la suma de los dígitos de un número natural, que se le pasa por parámetro. 2. Implementa una función
Más detallesProgramación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7
Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos
Más detallesÍ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 detallesLa 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 detallesUNIDAD 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 detallesDeclaración de Procedimientos
Procedimientos Concepto Un procedimiento es un subprograma que realiza una tarea especifica. Puede recibir cero más valores del programa que llama y devolver cero o más valores a dicho programa que lo
Más detallesFICHAS DE TRABAJO REFUERZO
FICHAS DE TRABAJO REFUERZO DEPARTAMENTO DE MATEMATICAS CONTENIDO 1. Números naturales a. Leer y escribir números naturales b. Orden de cifras c. Descomposición polinómica d. Operaciones combinadas e. Potencias
Más detallesMATEMÁTICAS 2º DE ESO LOE
MATEMÁTICAS 2º DE ESO LOE TEMA I: NÚMEROS ENTEROS (parte 3/3) Los divisores de un número entero. Descomposición factorial de un número entero. Máximo común divisor (m.c.d.) de dos o más números enteros.
Más detallesFACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información. Ejercicios de recursividad
H AC LUCE FACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información Ejercicios de recursividad 1. Determinar qué operación realiza: //x>=0, y>0 function funcion_x (x,y:
Más detallesEjercicios del tema 7
U N I V E R S I D A D D E M U R C I A Ejercicios del tema 7 DEPARTAMENTO DE MATEMÁTICAS CONJUNTOS Y NÚMEROS 2013/2014. Ejercicios de aritmética y congruencias 1. Un amigo le pregunta a otro: Cuántos hijos
Más detallesTema 5- Diseño Recursivo y. Objetivos Principales. Bibliografía Básica
Tema 5- Diseño Recursivo y Eficiente Tema 5- Diseño Recursivo y Eficiente Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Introducción
Más detallesMódulo 8: Primitivas en Pascal
Módulo 8: Primitivas en Pascal Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Copyright Copyright 2010, 2012 M. Capobianco,
Más detallesTema 11. Diseño de algoritmos recursivos 1. Tema 11. Diseño de algoritmos recursivos
Tema 11. Diseño de algoritmos recursivos 1 Departamento de Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA Apuntes para la asignatura http://www.lcc.uma.es/personal/pepeg/mates Tema 11. Diseño
Más detallesEuclides 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 detallesAlgoritmo 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 detallesApunte Laboratorio ALPI - El lenguaje de programación Pascal
Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................
Más detallesPropiedades de números enteros (lista de problemas para examen)
Propiedades de números enteros (lista de problemas para examen) Denotamos por Z al conjunto de los números enteros y por N al conjunto de los números enteros positivos: N = 1, 2, 3,...}. Valor absoluto
Más detallesRECURRENCIA RECURSIÓN o RECURSIVIDAD
RECURRENCIA RECURSIÓN o RECURSIVIDAD 1 Definición Definición de diccionario Recursividad: Véase Recursividad 2 Definición Técnica que para resolver problemas basándose en la propia definición del mismo
Más detallesAritmé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#include <stdio.h> float cubica(float numero) { float cubica; cubica = numero * numero * numero; return cubica; }
/*1. Crear una función que calcule el cubo de un número real (float). El resultado deberá ser otro número real. Probar esta función para calcular el cubo de 3.2 y el de 5. */ float cubica(float numero)
Más detalleswww.fisicaeingenieria.es
21.- ESCRIBIR UN PROGRAMA QUE RECORRA UN FICHERO Y QUE DADO UN DÍA MES Y AÑO IMPRIMA EL LUGAR Y EL VALOR ASOCIADO A DICHA FECHA. program examen2; uses crt, math; type registro=record lugar:string; dia:integer;
Más detallesLas torres de Hanoi. Informática - Hoja de Ejercicios 6
Las torres de Hanoi Informática - Hoja de Ejercicios 6 Posición inicial Objetivo Mover todos los discos desde la aguja A a la aguja C Normas. Sólo se puede mover un disco a la vez de una aguja a otra..
Más detallesComponentes Básicos. InCo. InCo Componentes Básicos 1 / 28
Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes
Más detallesPotencias y raíces Matemáticas 1º ESO
Potencias y raíces Matemáticas 1º ESO ÍNDICE 1. Potencias 2. Propiedades de potencias 3. Cuadrados perfectos 4. Raíces cuadradas 1 1. POTENCIAS Una potencia es una multiplicación en la que todos los factores
Más detallesUNIDAD DE APRENDIZAJE II
UNIDAD DE APRENDIZAJE II NÚMEROS RACIONALES Jerarquía de Operaciones En matemáticas una operación es una acción realizada sobre un número (en el caso de la raíz y potencia) o donde se involucran dos números
Más detallesResolución de Problemas y Algoritmos
Resolución de Problemas y Algoritmos Sistemas Operativos Estadísticas (de web servers) Clase 8: Sistemas Operativos. Almacenamiento en Memoria. Archivos secuenciales en Pascal. Dr. Alejandro J. García
Más detallesIntroducció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 detallesDIVISIBILIDAD: 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 detallesRelaciones 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 detallesDIVISIBILIDAD 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 detallesEl Conjunto de los Números Naturales
Objetivos El Conjunto de los Carlos A. Rivera-Morales Álgebra Objetivos Tabla de Contenido Objetivos 1 Propiedades de los Objetivos Objetivos: Discutiremos: el conjunto de los números naturales Objetivos
Más detallesTema 2. Recursividad. Fundamentos de Programación II. Luís Rodríguez Baena (luis.rodriguez@upsam.net)
Fundamentos de Programación II Tema 2. Recursividad Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de Ingeniería y Arquitectura Naturaleza
Más detallesRecursió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 detallesEJERCICIOS DE POLINOMIOS
EJERCICIOS DE POLINOMIOS NOMBRE:... Nº:... º....- Escribe el grado, el número de términos y el nombre (monomio, binomio, trinomio, polinomio) que recibe cada una de las siguientes expresiones algebraicas:
Más detallesTEMA 2. Números racionales. Teoría. Matemáticas
1 1.- Números racionales Se llama número racional a todo número que puede representarse como el cociente de dos enteros, con denominador distinto de cero. Se representa por Las fracciones también pueden
Más detalles13 ESO. «El estudio es un esfuerzo total para aprender, y sólo es verdaderamente provechoso cuando se aprende» Morgan. Profesor
«El estudio es un esfuerzo total para aprender, y sólo es verdaderamente provechoso cuando se aprende» 13 ESO Morgan. Profesor N N ÍNDICE: EL NIF DIA DEL MEDIO AMBIENTE 1. NÚMEROS NATURALES 2. MÚLTIPLOS
Más detallesManual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Más detallesEscuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo
Más detallesALGORITMOS Y ESTRUCTURAS DE DATOS PRIMERA PARTE
ALGORITMOS Y ESTRUCTURAS DE DATOS Ejercicios Resueltos: CUADERNILLO DE PRACTICA PRIMERA PARTE I - Entrada, salida, asignación de datos Algoritmos y Estructuras de Datos Ejercicio Resuelto: Dados dos números
Más detallesEstructura de Datos y de la Información. Pilas y expresiones aritméticas
Estructura de Datos y de la Información Pilas y expresiones aritméticas LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Más detallesEstructuras de Control. Secuencia y Selección
Estructuras de Control. Secuencia y Selección InCo - FING Programación 1 InCo - FING Estructuras de Control. Secuencia y Selección Programación 1 1 / 35 Estructuras de control InCo - FING Estructuras de
Más detallesSe desea estudiar el comportamiento de una función a medida independiente x se aproxima a un valor específico.
Tema: Límites de las funciones Objetivos: Comprender el concepto de límite de una función y las propiedades de los límites. Calcular el límite de una función algebraica utilizando las propiedades de los
Más detallesContinuación Números Naturales:
Continuación Números Naturales: Múltiplos y divisores de un número natural. Reglas de divisibilidad. Mínimo común múltiplo y Máximo común divisor. Ejercicios de aplicación. Continuación Números Naturales:
Más detallesDEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta
DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta SUCESIONES Y RELACIONES DE RECURRENCIA Esta última sección la dedicamos a presentar el concepto de recurrencia, que esta muy ligado al axioma de
Más detallesLlamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =
1. NÚMEROS NATURALES POTENCIAS DE UN NÚMERO NATURAL Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3 El factor que se repite es la base, y el número de veces que se repite
Más detallesAlgoritmos Iterativos de Búsqueda y Ordenación y sus tiempos
Estructura de Datos y Algoritmos Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos 1. Algorimos de ordenación Discutiremos el problema de ordenar un array de elementos. A los efectos de simplificar
Más detallesIntroducción a la Programación Ingenieria en Informática Junio 2008
Introducción a la Programación Ingenieria en Informática Junio 2008 Ejercicio 1 [2 puntos] Escribe un programa que reciba el fichero binario.dat, fichero binario de enteros positivos y devuelva un fichero
Más detallesNúmeros naturales y recursividad
Números naturales y recursividad Rafael F. Isaacs G. * Fecha: 12 de abril de 2004 Números naturales Cuál es el primer conjunto de números que estudiamos desde la escuela primaria? Se sabe que los números
Más detallesUniversidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos
Más detalles28/10/2016. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias
Un tipo particular de problemas para el cual resulta adecuada la iteración es el procesamiento de secuencias de valores. Dra. Jessica Andrea Carballi jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de
Más detallesUnidades en PASCAL (Units)
Programación II - Prof. Alejandro H. Gonzalez - 1 Unidades en PASCAL (Units) Aquellos que quieran probar los ejercicios de TAD en Pc pueden utilizar las UNITS de Pascal. En este documento se explican los
Más detallesSISTEMAS DE ECUACIONES LINEALES ECUACIONES LINEALES
Tema 4.- SISTEMAS DE ECUACIONES LINEALES SISTEMAS DE ECUACIONES LINEALES TEOREMA DE ROUCHÉ-FROBENIUS MÉTODO DE GAUSS 1 Muchas preguntas en ingeniería, física, matemáticas, economía y otras ciencias se
Más detallesAnálisis de algoritmos. Recursividad
Análisis de algoritmos Recursividad 1 Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más pequeña dentro de sí. Ésta muñeca, también contiene
Más detallesInicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa
PROGRAMACIÓN 10. Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 4 ESTRUCTURA SECUENCIAL GENERAL La estructura secuencial
Más detallesEstudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es:
25. Algoritmos heurísticos 25.1 Concepto de heurística. Se denomina heurística al arte de inventar. En programación se dice que un algoritmo es heurístico cuando la solución no se determina en forma directa,
Más detallesEl Conjunto de los Números Naturales
Objetivos El Conjunto de los Carlos A. Rivera-Morales Álgebra Objetivos Tabla de Contenido Objetivos 1 Propiedades de los Objetivos Objetivos: Discutiremos: el conjunto de los números naturales Objetivos
Más detallesGeneración de números aleatorios con distribución uniforme
Generadores de Números Aleatorios 1 Existen en la actualidad innumerables métodos para generar números aleatorios En la literatura disponible se pueden encontrar gran cantidad de algoritmos. Generación
Más detallesAspectos y ejercicios a trabajar en el taller
Taller: Nos puede ayudar la calculadora científica en nuestra labor de enseñar matemáticas? Aspectos y ejercicios a trabajar en el taller Toma de contacto con la herramienta La mejora de resolución de
Más detallesPotencias y raíces Matemáticas 1º ESO
ÍNDICE Potencias y raíces Matemáticas 1º ESO 1. Potencias 2. Propiedades de potencias 3. Cuadrados perfectos 4. Raíces cuadradas 1. POTENCIAS Una potencia es una multiplicación en la que todos los factores
Más detallesUNIDAD 1. NÚMEROS. (Página 223 del libro) Nivel II. Distancia. Ámbito Científico Tecnológico.
UNIDAD 1. NÚMEROS. (Página 22 del libro) Nivel II. Distancia. Ámbito Científico Tecnológico. Clasificación de los números Números naturales son aquellos que utilizamos para contar. N = 0,1,2,,,5,6, Números
Más detallesDepartamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1
Resolución de Problemas y lgoritmos Dr. lejandro J. García 21/5/212 Resolución de Problemas y lgoritmos Clase 13 Lenguaje Pascal: estructura de bloques, entornos de referencia, visibilidad de identificadores.
Más detallesEXPRESIONES ALGEBRAICAS.
EXPRESIONES ALGEBRAICAS. Se dice expresión algebraica aquella que está formada por números y letras unidos mediante signos. 4x 2 + 1 2 3y Observa que existen dos variables x e y. En la siguiente expresión
Más detallesTEORÍA DE DIVISIBILIDAD
TEORÍA DE DIVISIBILIDAD MÚLTIPLOS Y DIVISORES.- Dados dos números naturales a y b, con a b, se dice que a es divisible por b o que a es múltiplo de b o que b es divisor de a, si la división de a : b es
Más detallesDivisibilidad I. Nombre Curso Fecha
Matemáticas 2.º ESO Unidad 1 Ficha 1 Divisibilidad I Un número b es divisor de otro número a si al dividir a entre b la división es exacta. Se dice también que a es múltiplo de b. 1. Completa con la palabra
Más detallesFunciones polinómicas
Funciones polinómicas Footer Text 4/23/2015 1 Funciones Polinómicas La ecuación general de una función polinómica de grado n con coeficientes reales está dada por f(x) = a n x n + a n-1 x n-1 + + a 1 x
Más detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Características ARBOLES - CONCEPTOS Cada elemento del árbol se relaciona con cero o más elementos a quienes llama hijos. Si el árbol no
Más detallesINSTITUTO DE FORMACIÓN DOCENTE DE CANELONES DIVISIBILIDAD
DIVISIBILIDAD Definición de múltiplo Dados los números naturales a y b, se dice que a es múltiplo de b, si y solo si existe un número natural c, único, tal que a = b.c El número c se dice que es el cociente
Más detallesPráctica IV: Métodos de Newton-Raphson y de la secante, para encontrar las raíces de una función.
Práctica IV: Métodos de Newton-Raphson y de la secante, para encontrar las raíces de una función. Se suele llamar método de Newton-Raphson al método de Newton cuando se utiliza para calcular los ceros
Más detallesCUADERNILLO DE REFUERZO DE OPTATIVA DE MATEMATICAS 1º ESO. Si la división de un número A, entre otro número B, es exacta, entonces decimos que:
CUADERNILLO DE REFUERZO DE OPTATIVA DE MATEMATICAS 1º ESO Si la división de un número A, entre otro número B, es exacta, entonces decimos que: El número A es divisible por el número B. El número A es múltiplo
Más detallesLOS DIEZ MAGNÍFICOS VOCABULARIO. Busca el significado de las siguientes palabras. (El número que hay entre paréntesis indica en qué página
LOS DIEZ MAGNÍFICOS VOCABULARIO del libro se encuentra) Busca el significado de las siguientes palabras. (El número que hay entre paréntesis indica en qué página ARREDRAR (9) ALGORITMO (15) ARTILUGIO (17)
Más detallesTEMA 1. Recursividad. Recursividad CONTENIDO DEL TEMA
TEMA 1 Recursividad Recursividad T E M A 1 CONTENIDO DEL TEMA 1.- Introducción. 2.- Verificación de funciones y procedimientos recursivos 3.- Escritura de programas recursivos 4.- Ejemplos. 5.- Recursión
Más detallesINSTITUTO TECNOLÓGICO METROPOLITANO DECANATURA DE CIENCIAS JEFATURA DE CIENCIAS BÁSICAS
INSTITUTO TECNOLÓGICO METROPOLITANO DECANATURA DE CIENCIAS JEFATURA DE CIENCIAS BÁSICAS NIVELATORIO DE MATEMÁTICAS BÁSICAS Guía 3 Números Naturales y Enteros COMPETENCIA Reconoce operaciones. los conjuntos
Más detallesTRABAJO DE MATEMÁTICAS. PENDIENTES DE 2º E.S.O. (1ª parte)
TRABAJO DE MATEMÁTICAS PENDIENTES DE º E.S.O. (ª parte) NÚMEROS ENTEROS.-) Realiza las operaciones siguientes () (0) (-) ( ) (-) ( -) (-) ( -) (-) () - - - -0 - - - ( -) ( ) ( -) ( ) ( ) ( - ) ( - ) (
Más detallesTEMA 1 NÚMEROS NATURALES
TEMA 1 NÚMEROS NATURALES Criterios De Evaluación de la Unidad 1 Efectuar correctamente operaciones combinadas de números naturales, aplicando correctamente las reglas de prioridad y haciendo un uso adecuado
Más detallesMatemáticas Discretas L. Enrique Sucar INAOE. Inducción y Recursión
Matemáticas Discretas L. Enrique Sucar INAOE Inducción y Recursión Inducción y Recursión Inducción matemática Relaciones de recurrencia Solución de relaciones de recurrencia L.E. Sucar: MGP 4 - Grafos
Más detallesDIVISIBILIDAD 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 detallesPráctica III: Método de Bisección para encontrar las raíces de una función.
Práctica III: Método de Bisección para encontrar las raíces de una función. Sea f una función continua en [a, b] que satisface f(a)f(b) < 0. Entonces f tiene, necesariamente, al menos un cero en (a, b).
Más detallesIntroducción al Lenguaje de Programación Ada
Instrumentación de Tiempo Real Introducción al Lenguaje de Programación Ada Mario Aldea Rivas Departamento de Electrónica y Computadores Universidad de Cantabria GRUPO DE COMPUTADORES Y TIEMPO REAL Mario
Más detalles1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:
1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura: PROGRAM Nombre_del_programa; ZONA de DECLARACIONES ZONA de INSTRUCCIONES
Más detallesSemana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt
Semana de las Matemáticas e Ingeniería Desarrollo de algoritmos recursivos empleando la aplicación PseInt 21 de Noviembre de 2013 Agenda Desarrollo de algoritmos recursivos empleando la aplicación PSeInt
Más detallesEVERYDAY ENGINEERING EXAMPLES FOR SIMPLE CONCEPTS
EVERYDAY ENGINEERING EXAMPLES FOR SIMPLE CONCEPTS Arte, finanzas y sucesiones en EXCEL MATH 2252 Calculus II Dra. Carmen Caiseda Copyright 2015 Arte, Finanzas y sucesiones en Excel Engage: MSEIP Engineering
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 detallesMódulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.
EQUIVALENCIAS BÁSICAS ENTRE PASCAL Y C A continuación se presentan algunas equivalencias básicas entre estos lenguajes de programación : Operadores en lenguaje C: Operador Descripción % Módulo = Asignación
Más detallesMATEMÁTICAS 1º DE ESO
MATEMÁTICAS 1º DE ESO LOMCE TEMA I : NÚMEROS NATURALES Sistema de numeración romano. Los números naturales. Números naturales como cardinales y ordinales. o Recta numérica. El sistema de numeración decimal.
Más detallesPrimer Parcial. Programación 1 Instituto de Computación Año 2011
No. Parcial: Nombre: CI: Primer Parcial. Programación 1 Instituto de Computación Año 2011 Observaciones: Cada ejercicio tiene una única opción correcta. Una respuesta correcta suma 2 puntos Una respuesta
Más detallesTEMA 1: LOS NÚMEROS ENTEROS. Segundo Curso de Educación Secundaria Obligatoria. I.E.S de Fuentesaúco. Manuel González de León.
TEMA 1: LOS NÚMEROS ENTEROS Segundo Curso de Educación Secundaria Obligatoria. I.E.S de Fuentesaúco. Manuel González de León. CURSO 2011-2012 1. Los Números Enteros. 2. Suma y resta de números enteros.
Más detalles1. Números naturales y sistema de numeración decimal
1. Números naturales y sistema de numeración decimal Conocer el sistema de numeración decimal y relacionarlo con los números naturales. Representación en la recta real de los mismos. Realizar operaciones
Más detallesProgramación en Pascal
Programación en Pascal Segunda parte de la asignatura. El profesor: Nombre:. Despacho: Edificio de la ETSII 2ª Planta. Correo electrónico: fdoperez@ull.es. Miércoles, Viernes: 3.30 a 5.30. Objetivos: Aprender
Más detallesObjetivos. Antes de empezar
Objetivos En esta quincena aprenderás a: Saber si un número es múltiplo de otro. Reconocer las divisiones exactas. Hallar todos los divisores de un número. Reconocer los números primos. Descomponer un
Más detallesTrabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones
Ejercicio 1: Considere definida una función. Trabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones function Invertir(Num: integer):integer; { Objetivo: Invierte el
Más detallesTEMA 1. Los números enteros. Matemáticas
1 Introducción En esta unidad veremos propiedades de los números enteros, como se opera con ellos (con y sin calculadora), los números primos, máximo común divisor y mínimo común múltiplo y por últimos
Más detalles