UNIDAD 7 Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y
|
|
- Juan Carlos Ortega Parra
- hace 6 años
- Vistas:
Transcripción
1 Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y Q-Sort. Comparación de eficiencia en métodos Iterativos vs recursivos
2 Recursividad: Concepto Recursión: Un elemento es recursivo cuando en su definición se utiliza nuevamente a ese elemento
3 Recursividad: Concepto «Se llama a si mismo» «Cada vez es mas pequeño»
4 Recursividad: Concepto Técnica de programación que permite que Iteración un módulo se invoque a sí mismo, con una versión mas pequeña del problema original Debe tener un fin! en cada nueva invocación.
5 Recursividad: Concepto Modulo recursivo (n) { } recursivo (n-1)
6 Recursividad: Concepto LA RECURSION NO es una estructura de datos. NO es un tipo de variable.
7 Clasificación 1 UNIDAD 7 Tipos de Recursividad * Directa: Proceso por el cual un modulo se llama a si mismo desde el propio cuerpo del modulo. * Indirecta: Implica mas de un modulo, que se llaman unos a otros formando un ciclo.
8 Tipos de Recursividad Clasificación 2 * Lineal: El modulo se invoca a si mismo una única vez. * Múltiple: El modulo se invoca a si mismo mas de una vez dentro de una misma activación.
9 Recursividad: Ejemplo I Matemáticamente:! Pseudocódigo: factorial(n)= Si (n=0) luego 1 Sino n* factorial(n-1)
10 Recursividad: Ejemplo I Ejemplo: Calcular el factorial de 7. Se calcula reiterada mente el Se regre san los factorial resultados de un numero No requiere nuevo calculo Retroseguimiento
11 Recursividad: Ejemplo I no recursivo Ejemplo: Calcular el factorial de 7. Usando iteraciones
12 Partes de una función recursiva Ejemplo: Calcular el factorial de 7. Caso base factorial(n)= Si (n=0) luego 1 Sino n* factorial (n-1)! Caso general
13 Partes de una función recursiva Pueden haber uno o mas casos bases en un modulo * CASO BASE: Situación que produce un resultado inmediato, es decir, permite detener las llamadas recursivas. * CASO GENERAL: Cuando la función se invoca a si misma. para realizar un calculo mas pequeño!
14 Recursividad: Metodología de desarrollo * Buscar la salida de la recursión: Buscar casos en los que se puede dar respuesta inmediata al problema planteado. * Determinar los avances de la recursión: Buscar casos en los que se puede plantear la respuesta en términos de una llamada recursiva. * Escribir un algoritmo que implemente el planteamiento logrado.
15 Recursividad: Metodología de desarrollo Claves: 1) Identificar caso base 2) Identificar caso general 3) Si está pensando en una versión no recursiva, cambie los ciclos: For o While por If
16 Recursividad: ejemplo I recursivo Ejemplo: Calcular el factorial de 7. Caso base: La función no recurre Caso general o recursivo: con parámetros más pequeños
17 17 Ejemplo II: Queremos calcular x n, x 0 y n 0 La definición de potencia en notación matemática es: x n = 1 Si n = 0 x * x (n-1) Si n > 0 Ej: 2 4 = 2 * 2 3 = 2 * 8 = 16 Resultado 2 3 = 2 * 2 2 = 2 * 4 = = 2 * 2 1 = 2 * 2 = = 2 * 2 0 = 2 * 1 = = 1 En pseudocódigo: potencia(x, n) = Si (n >0) luego (x * potencia(x,n-1) ) Sino (1)
18 Caso general o recursivo: con parámetros más pequeños potencia(x, n) = Si (n >0) luego (x * potencia(x, n-1)) Sino (1) 2 * 8 = 16 Potencia(2, 4) = (2 * potencia(2, 3)) Retorna 16 Caso base: La función no recurre 2 * 4 = 8 Potencia(2, 3) = (2 * potencia(2, 2)) 2 * 2 = 4 Potencia(2, 2) = (2 * potencia(2, 1)) 2 * 1 = 2 Potencia(2, 1) = (2 * potencia(2, 0)) 18 Potencia(2, 0) = 1
19 potencia(x, n) = Si (n >0) luego (x * potencia(x, n-1)) Sino (1)
20 Ejemplo III: cociente(a, b) Algoritmo: - Versión iterativa cociente(a, b) = c := 0; // contador Mientras (a b) Hacer a := a - b; c := c + 1; Fin_Mientras Algoritmo: - Versión recursiva cociente(a, b) = Si (a b) luego contestar( 1 + cociente(a-b, b) ) sino contestar (0) Caso base: no se puede restar b de a contestar(c) 20 Caso general: argumento más pequeño
21 cociente(a, b) = Si (a b) luego contestar( 1 + cociente(a-b, b) ) sino contestar (0) Casos de prueba: Caso 1: a = 3, b= 4; Caso 2: a = 15, b = 4 Realizar la traza de ejecución: Caso 1: a = 3, b= 4 cociente(3,4) = contestar (0) Retorna 0 ; cociente(3,4) = 0 Caso 2: a = 15, b= = 3 cociente(15,4) = contestar (1 + cociente(15-4, 4)) = 2 cociente(11,4) = contestar (1 + cociente(11-4, 4)) = 1 cociente(7, 4) = contestar (1 + cociente(7-4, 4)) cociente(3, 4) = contestar (0) cociente(15,4) = Retorna 3
22 cociente(a,b) No recursivo Recursivo
23 Ejemplo IV: Búsqueda Secuencial Dado un vector v de n números, realizar la búsqueda de un elemento t. Buscar un elemento que esté en el vector: Ejemplo: si v=[12,25,7,19,23], n = 5, t =7 la salida será Verdadero v t = 7 i=1 t = v[i]? => 7 = v[1]= 12 => NO Incrementar i v i=2 t = v[i]? => 7 = v[2]= 25 => NO Incrementar i v i=3 t = v[i]? 7 = v[3]= 7 => SI Verdadero
24 Ejemplo IV: Búsqueda Secuencial Buscar un elemento que NO esté en el vector: Ejemplo: si v=[12,25,7,19,23], n = 5, t =1 la salida será Falso v v v v v i= i= i= i= i=5 t = v[i]? => 1 = v[1]= 12 => NO, Incrementar i t = v[i]? => 1 = v[2]= 25 => NO, Incrementar i t = v[i]? 1 = v[3]= 7 => No, Incrementar i t = v[i]? 1 = v[4]=19 => No, Incrementar i t = v[i]? 1 = v[5]=23 => No, Incrementar i i = 6 > n => Falso
25 Ejemplo IV: Búsqueda Secuencial Expresar el problema mediante un modelo, para ello debemos Identificar: 1. NO Encontrado i > n Caso base: 2. Encontrado v[i] = t Caso general o recursivo: Si (i n) y t v[i] entonces buscar(v, i+1, n) Obtener un algoritmo: - Versión recursiva buscar(v, n, t) = Si (n=0) luego contestar( V Vacío ) Sino buscar1(v, 1, n, t) Caso Base donde Caso buscar1(v, i, n, t) = General Si (i n) luego Si (v[i] = t) luego contestar (Verdadero) Sino buscar1(v, i+1, n, t) Sino contestar(falso) 25
26 Ejemplo IV: Búsqueda Secuencial Diseñar casos de prueba: Caso1: t = 7 (Verdadero), Caso 2: t =1 (Falso) Realizar la traza de ejecución: Caso 1 ( t = 7) buscar(v, n, t) = Si (n=0) luego contestar( V Vacío ) Sino buscar1(v, 1, n, t) donde buscar1(v, i, n, t) = Si (i n) luego Si (v[i] = t) luego contestar (Verdadero) Sino buscar1(v, i+1, n, t) Sino contestar(falso) buscar([12, 25, 7, 19, 23], 5, 7) = buscar1([12, 25, 7, 19, 23], 1, 5, 7) buscar1([12, 25, 7, 19, 23], 1, 5, 7) // i= 1; i 5; 12 7 => buscar1([12, 25, 7, 19, 23], 2, 5, 7) // i= 2; i 5; 25 7 => buscar1([12, 25, 7, 19, 23], 3, 5, 7) = // i= 3; i 5; 7 = 7 => Verdadero 26
27 Ejemplo IV: Búsqueda Secuencial Realizar la traza de ejecución: Caso 2 ( t = 1) buscar(v, n, t) = Si (n=0) luego contestar( V Vacío ) Sino buscar1(v, 1, n, t) donde buscar1(v, i, n, t) = Si (i n) luego Si (v[i] = t) luego contestar (Verdadero) Sino buscar1(v, i+1, n, t) Sino contestar(falso) Tarea: Codificar en C buscar([12, 25, 7, 19, 23], 5, 1) = buscar1([12, 25, 7, 19, 23], 1, 5, 1) buscar1([12, 25, 7, 19, 23], 1, 5, 1) = // i= 1; i 5; 12 1 => buscar1([12, 25, 7, 19, 23], 2, 5, 1)= // i= 2; i 5; 25 1 => buscar1([12, 25, 7, 19, 23], 3, 5, 1) = // i= 3; i 5; 7 1 => buscar1([12, 25, 7, 19, 23], 4, 5, 1) = // i= 4; i 5; 19 1 => buscar1([12, 25, 7, 19, 23], 5, 5, 1) = // i= 5; i 5; 23 1 => buscar1([12, 25, 7, 19, 23], 6, 5, 1) = // i= 6; i > n => Falso 27
28 Ejemplo V: Contar la cantidad de mayúsculas de una frase. Caso base Caso gral. Caso gral.
29 Ejemplo VI: Encontrar el mayor elemento de un vector. Caso base Caso gral. Caso gral.
30 Iteración vs. Recursión Característica ITERACION RECURSION Repetición Prueba de terminación La consigue mediante el uso de estructuras repetitivas. Cuando la condición de continuación del ciclo es falsa. La consigue mediante invocaciones sucesivas al mismo modulo. Cuando se llega al caso base.
31 Criterios: Cuándo usar recursión? Cuando el dato está definido recursivamente: Ejemplo: las listas o vectores, árboles. Cuando el algoritmo sea repetitivo y trata valores cada vez más pequeños: Ejemplo: invertir un entero, cantidad de dígitos de un número. Cuando obtener una solución iterativa sea mucho más complicado que una solución recursiva. Ejemplo: búsqueda secuencial 31
32 Criterios: Cuándo No usar recursión? Cuando el lenguaje de programación no lo permita: Ejemplo: Fortran, Cobol Cuando la solución iterativa sea clara a simple vista. Cuando el tamaño de los argumentos sea muy grande. 32
33 Recursividad: Características VENTAJAS DESVENTAJAS * Soluciones simples * Mayor costo de tiempo de CPU * Soluciones claras * Mayor espacio de memoria * Soluciones elegantes * Puede producir desborde
Programación Unidad 5. Recursividad. Programación TIG - TUP 1. Sede Regional Orán UNIVERSIDAD NACIONAL DE SALTA
Unidad 5 Recursividad 1 Recursión Se dice que un elemento es recursivo, cuando en la definición de ese elemento, utilizamos nuevamente a ese elemento. Por ejemplo, para definir la relación familiar de
Más detallesProgramación I Recursividad.
Programación I Recursividad http://proguno.unsl.edu.ar proguno@unsl.edu.ar Recursividad Técnica de resolución de problemas particulares. La definición de un concepto es recursiva si el concepto es definido
Más detallesTema 06: Recursividad
Tema 06: Recursividad M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Recursión Recursividad Programación
Más detallesRECURSIVIDAD. Prof. Ing. M.Sc. Fulbia Torres
ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS RECURSIVIDAD Definición. Estado base. Estado general. Ejemplos. Ejercicios. DEFINICIÓN Es una técnica de programación muy potente que permite
Más detallesSubrutinas. Subrutinas. Erwin Meza Vega
Subrutinas Erwin Meza Vega Outline 1 Introducción 2 Especicación de subrutinas 3 Funciones booleanas 4 Parámetros 5 Recursividad 6 Ejercicios Introducción Programación divide y vencerás Cuando la solución
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 detallesRecursividad 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 detallesComplejidad 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 detallesCapítulo 3 Algoritmos recursivos
Capítulo 3 Algoritmos recursivos Los algoritmos recursivos se basan en la metodología de llamar repetidamente la propia función en que están definidos, y son de gran utilidad en multitud de campos en la
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 detallesTema 4.- Recursión e iteración
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER
Más detallesTema 9. Recursividad
Tema 9. Recursividad http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la información Universitat
Más detallesPrefacio 25 Organización de la Unidad Didáctica Cómo utilizar el libro Objetivos docentes... 27
ÍNDICE Prefacio 25 Organización de la Unidad Didáctica.................... 25 Cómo utilizar el libro............................. 26 Objetivos docentes.............................. 27 1 Fundamentos de
Más detallesSoluciones a los ejercicios planteados en el curso
Soluciones a los ejercicios planteados en el curso Unidad 3 - Algoritmos recursivos Lección 2 Mecanismo de recursividad Escribe un algoritmo recursivo que calcule el elemento de cardinal más elevado de
Más detallesAlgoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos
Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de
Más detallesProgramación Estructurada
Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes
Más detallesHasta ahora sólo hemos visto algoritmos con tratamiento secuencial
2. Recursividad 1. La recursividad 2. Programación recursiva 1. Recursión directa como método de diseño de soluciones 2. Ejemplos 3. Funcionamiento de la recursión 1. Cómo se comporta un algoritmo recursivo?
Más detallesBloque 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 detallesEstructuras dinámicas lineales (ii)
Estructuras dinámicas lineales (ii) Introducción Continúa la exposición de los distintos algoritmos existentes para manipular s simplemente enlazadas; sin el lección anterior se presentaban algoritmos
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Programación I, Guía 6 1 Utilizar la sintaxis de las funciones definidas por el usuario (programador) para resolver problemas. Identificar
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Programación I, Guía 7 1 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Utilizar la sintaxis de las funciones
Más detallesProgramació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 detallesHerramientas de Programación. M.C. Juan Carlos Olivares Rojas
Herramientas de Programación M.C. Juan Carlos Olivares Rojas Febrero 2011 Temario Simbología Reglas para la construcción de Diagramas Pseudocódigo Temario Tipos de Datos y Expresiones Estructuras lógicas
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
Programación I, Guía 6 1 Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Utilizar la sintaxis de las funciones definidas por el usuario (programador) para resolver problemas. Identificar
Más detallesESTRUCTURA DE DATOS: Tema 3. Recursividad
ESTRUCTURA DE DATOS: Tema 3. Recursividad Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido 1. Directa e indirecta
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 detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesTema 2. Concepto de Algoritmo
Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos
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 detallesUNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia
Más detallesRecursividad. Definición. Diseño de Algoritmos Recursivos
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 detallesInteligencia Artificial: Prolog
Inteligencia Artificial: Prolog Aritmética Christopher Expósito-Izquierdo 1, Belén Melián-Batista 2 {cexposit 1, mbmelian 2 }@ull.es Universidad de La Laguna (España) Contenidos Introducción a la Aritmética
Más detallesUna Introducción a la Programación Estructurada en C
Una Introducción a la Programación Estructurada en C Otoño 2013 Índice I 1 Estructura de un programa en C 2 El primer programa en C Lectura de datos Consideraciones adicionales 3 Estructura de control
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 detallesIntroducció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 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 detallesTema: Funciones, Procedimientos y Recursividad en C#.
2 Programación I Programación I. Guía 6 3 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Utilizar la
Más detallesDepartamento de Informática Universidad de Valladolid Campus de Segovia TEMA 1: RECURSIÓN
Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 1: RECURSIÓN ÍNDICE Definición Conceptos básicos Ejemplos recursivos Recursión mútua Recursión e iteración DEFINICIÓN Técnica
Más detallesIntroducción a la programación: Algoritmos
Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,
Más detallesLuis Rodríguez Baena Universidad Pontificia de Salamanca Escuela Superior de Ingeniería y Arquitectura
Fundamentos de Programación II Tema 3. Recursividad Luis Rodríguez Baena (luis.rodriguez@upsam.es) Universidad Pontificia de Salamanca Escuela Superior de Ingeniería y Arquitectura Naturaleza de la recursividad
Más detallesAlgoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño variable y uso de ciclos en otros contextos
Algoritmos y Programación Orientada a Objetos I y uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Motivación En muchos
Más detallesGUÍA DE TRABAJO Tecnología en Sistemas de Información
1. IDENTIFICACIÓN Asignatura Lógica y Programación Guía No. 3 Área Básica de la Ingeniería Nivel II Código LPI24 Pensum 10 Correquisito(s) Prerrequisito(s) Créditos 4 TPS 4 TIS 8 TPT 64 TIT 96 TRABAJO
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 detallesTema 3. Análisis de costes
Tema 3. Análisis de costes http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información
Más detallesProgramación II Recursividad Dr. Mario Rossainz López
5. RECURSIVIDAD 5.1. Introducción La recursividad es una técnica en la que una función o método se hace llamadas a sí misma en el proceso de la realización de sus tareas. La recursividad da al programador
Más detallesTipos 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 detallesTECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote RECURSIVIDAD Y SOBRECARGA DE METODOS
RECURSIVIDAD Y SOBRECARGA DE METODOS RECURSIVIDAD Un método es recursivo cuando se llama a si mismo ya sea directamente e indirectamente. Si un método recursivo se invoca con un caso base, simplemente
Más detallesUNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
FACULTAD DE CS. QUIMICAS, FISICAS Y MATEMATICAS I. DATOS GENERALES DEPARTAMENTO ACADEMICO DE INFORMATICA SILABO 1.1 Asignatura : LENGUAJE DE PROGRAMACION 1.2 Categoría : OE 1.3 Código : IF463AME 1.4 Créditos
Más detallesLENGUAJE DE PSEUDOCÓDIGO
LENGUAJE DE PSEUDOCÓDIGO METODOLOGÍA DE LA PROGRAMACIÓN Ingeniería Informática Primer curso, segundo cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba 1 Contenido 1. Sentencias...
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 detallesGuía práctica de estudio 05: Diagramas de flujo
Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de
Más detalles2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.
Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe
Más detallesDISEÑO ESTRUCTURADO. Herramientas de representación de algoritmos
DISEÑO ESTRUCTURADO Herramientas de representación de algoritmos DISEÑO ESTRUCTURADO Técnica para desarrollar algoritmos Fáciles de escribir Leer Verificar Modificar ALGORITMO ESTRUCTURADO Tiene un solo
Más detallesla solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.
ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente
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 detallesConceptos. Generales ALGORITMOS
Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
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 detallesUNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL COMPUTACION I
UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL COMPUTACION I I. DATOS DE IDENTIFICACIÓN Nombre de la materia: Computación I Código: 2010008 Grupo: 2 Carga horaria: 4 Docencia
Más detallesEstructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Más detallesRECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva:
puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 RECURSION Veremos un nuevo mecanismo, una nueva técnica de diseño, para resolver problemas: L RECURSIÓN. La recursión es una alternativa a la iteración
Más detallesINICIACIÓN A LA PROGRAMACIÓN 1ª parte
TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad,
Más detallesMientras (expresión lógica) Instrucciones a repetir mientras la expresión lógica es verdadera Fin Mientras
Clase teórica 7 Algoritmos en C Página 1 de 5 INSTRUCCIÓN WHILE Una forma más general que el FOR para realizar iteraciones es el WHILE (mientras), el cual permite repetir una serie de instrucciones mientras
Más detallesNombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje
Nombre de la asignatura: Programación Básica Créditos: 2 4-6 Objetivo de aprendizaje Plantear metodológicamente la solución de problemas susceptibles de ser computarizados a través del manejo de técnicas
Más detallesUNIDAD 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 detallesProgramación Inicial. Requisitos previos. Objetivos. Próximos Inicios. Modalidad a Distancia. Costo y formas de pago. Resumen de Contenidos
Programación Inicial con Java y Oracle Requisitos previos Para realizar esta capacitación el único requisito previo es contar con un amplio dominio del manejo del entorno Windows, además de utilizar programas
Más detallesLenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.
Primera Parte Resolución de Problemas y Algoritmos Ing. En Informática e Ing. En Computación Primer Cuatrimestre 2017 1 Lenguajes Algorítmicos Los algoritmos pueden describirse, en mayor o menor detalle,
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesModelo Académico de Calidad para la Competitividad MATP-02 13/22
2.2. Propósito del módulo Manejar técnicas para el desarrollo de programas de cómputo con base en el uso de pseudocódigo, diagramas de flujo, principios de programación estructurada, funcional, orientada
Más detalles5. ESTRUCTURAS DE REPETICIÓN
5. ESTRUCTURAS DE REPETICIÓN Las estructuras de repetición, permiten la ejecución de una lista o secuencia de instrucciones () en varias ocasiones. El número de veces que el bloque
Más detallesPresentación. Programación I. Conceptos Avanzados de Programación. :: Prof. Yeniffer Peña
Presentación Conceptos Avanzados de Programación :: Prof. Yeniffer Peña Unidad I: Conceptos Avanzados de Programación Recursividad: El concepto de recursividad va ligado al de repetición. Son recursivos
Más detallesRecursividad. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile
Recursividad Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Recursividad v Es la técnica de definir un proceso en términos de si
Más detallesUnidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)
Juan Pablo Cobá Juárez Pegueros Programación Básica Bioingeniería Médica Facultad de Medicina Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)
Más detallesEstructura 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 detallesGLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:
Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda
Más detallesAlgorítmica y Lenguajes de Programación. Búsqueda
Algorítmica y Lenguajes de Programación Búsqueda Búsqueda. Introducción Hace dos lecciones se dijo que había tres tratamientos básicos sobre vectores: Recorrido. Ordenación. Búsqueda. Durante las últimas
Más detallesFunciones: Pasos por Referencia Recursividad
Funciones: Pasos por Referencia Recursividad Fundamentos de Programación Fundamentos de Programación I Parámetros por referencia Con la instrucción return sólo se puede devolver un valor calculado. A veces
Más detallesUNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
FACULTAD DE CS. QUIMICAS, FISICAS Y MATEMATICAS I. DATOS GENERALES DEPARTAMENTO ACADEMICO DE INFORMATICA SILABO 1.1 Asignatura : PROGRAMACION DIGITAL 1.2 Categoría : FCB 1.3 Código : IF301AMI 1.4 Créditos
Más detallesSintaxis de PSeInt Tutorial
Sintaxis de Tutorial Introducción a la Programación (T.U.M - T.U.G. - T.U.E. - T.U.T. - Prof) Introducción a la Computación (T.U.R. - T.U.W.) Fundamentos de la Informática (Ing. en Minas - Ing. Electr.)
Más detallesTrabajo Práctico 7 Recursividad Versión 4
Trabajo Práctico 7 Recursividad Versión 4 Para los ejercicios que solicita resolver el problema recursivamente no puede utilizar, en esta materia, ninguna estructura repetitiva de las vistas anteriormente
Más detallesUnidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros
Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros Programación Básica Bioingeniería Médica Facultad de
Más detallesFunciones Tipos de funciones y Recursividad
Funciones Tipos de funciones y Recursividad SESION 4 Definición Una función es una subrutina o subprograma que forman un programa que realiza tareas bien definidas. Todo programa en C consta de una o más
Más detallesIntroducción a los Computadores Funciones y recursividad en C
Introducción a los Computadores Funciones y recursividad en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducción
Más detallesLenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017
Primera Parte Fund. de la Informática Int. a la Programación Int. a la Computación Resolución de Problemas y Algoritmos Segundo Cuatrimestre 2017 1 Etapas en el proceso de resolver un problema: 1- Comprender
Más detallesAnálisis de Algoritmos
Análisis de Algoritmos Amalia Duch Barcelona, marzo de 2007 Índice 1. Costes en tiempo y en espacio 1 2. Coste en los casos mejor, promedio y peor 3 3. Notación asintótica 4 4. Coste de los algoritmos
Más detallesTEMA 1. PROGRAMACIÓN DE UN COMPUTADOR
Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN
Más detallesModelos de Desarrollo de Programas Y Programación Concurrente Clase N 3
PROGRAMACION FUNCIONAL - Un lenguaje de programación funcional tiene gran flexibilidad, es conciso en su notación y su semántica es sencilla. El inconveniente principal de estos lenguajes ha sido la ineficiencia
Más detallesALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y
Más detallesRecursividad... un análisis posterior. Aurelio Sanabria Introducción a la programación
Recursividad... un análisis posterior Aurelio Sanabria Introducción a la programación II semestre, 2016 Construyendo Programas Buscar soluciones a problemas (pensar en un algoritmo) requiere de una etapa
Más detallesEstructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
Más detallesCENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN
DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO: CIENCIAS COMPUTACIONALES ACADEMIA A LA QUE PERTENECE: Programación Básica NOMBRE DE LA MATERIA: Taller de Programación estructurada CLAVE DE LA MATERIA:
Más detallesEstructura de datos. Carrera: SCC Participantes
1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Estructura de datos Ingeniería en Sistemas Computacionales SCC - 0408 4-2-10 2.-
Más detallesMódulo 1. Introducción a los lenguajes de programación
Módulo 1. Introducción a los lenguajes de programación Objetivo - Definir qué es un lenguaje de programación e identificar cómo es su forma de clasificación. Introducción a los lenguajes de programación
Más detallesProgramación Orientada a Objetos
Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Programación Orientada a Objetos Algoritmos y Programación II Junio, 2004 Las tecnologías de objetos hoy
Más detallesPrograma Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Fundamentos de Programación
Ficha Técnica Titulación: Grado en Ingeniería de Organización Industrial Plan BOE: BOE número 75 de 28 de marzo de 2012 Asignatura: Módulo: TICs (Tecnologías de la Información y las Comunicaciones) Curso:
Más detallesDpto. de ATC, Universidad de Sevilla - Página 1 de 16
Dpto. de ATC, Universidad de Sevilla - Página 1 de 16 2 ÍNDICE Fundamentos de Informática E.U.P. Universidad de Sevilla 1 Concepto de Algoritmo Datos: Variables y Constantes Tipo de datos: Vectores Representación
Más detallesGuía práctica de estudio 05: Pseudocódigo
Guía práctica de estudio 05: Pseudocódigo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Autorizado por: M.C. Alejandro Velázquez Mena Guía
Más detallesTEMA 3: Estructuras de Control: Iterativas
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE MATEMÁTICA INTRODUCCIÓN A LA COMPUTACIÓN TEMA 3: Estructuras de Control: Iterativas Estructuras Iterarivas En la programación existen las
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 detallesNombre del Documento: Formato de Planeación e Instrumentación Didáctica
7.1, 7.2.1, 7.5.1, 7.6, 8.1, 8.2.4 Página 1 de 10 CARRERA INGENIERIA EN SISTEMAS COMPUTACIONALES CURSO O ASIGNATURA ESTRUCTURA DE DATOS PERIODO DEL CURSO AGOSTO-ENERO2112 GRUPO 3ASV, 3BSV NOMBRE DEL DOCENTE
Más detallesTEMA 5: Subprogramas, programación modular
TEMA 5: Subprogramas, programación modular 5.1.-Definición de módulo. Programación modular La programación modular está basada en la técnica de diseño descendente, que como ya vimos consiste en dividir
Más detalles