Mgter. Oscar Adolfo Vallejos FaCENA - UNNE

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

Download "Mgter. Oscar Adolfo Vallejos FaCENA - UNNE"

Transcripción

1 Tema VII. Recursividad. Recursividad. Concepto. Recursividad directa e indirecta. Recursividad versus iteración. Recursividad infinita. Ejemplos de problemas de recursividad. Ventajas y desventajas. Mgter. Oscar Adolfo Vallejos FaCENA - UNNE

2 Recursividad Premisas Las definiciones recursivas suelen responder a funciones que se definen en base a un caso menor de sí mismas. Pero la recursividad en programación tiene otras implicaciones. Substancial diferencia entre una función matemática y un función programada. La recursividad en programación, aunque está permitida en prácticamente todos los lenguajes modernos, no es una herramienta demasiado útil en un entorno productivo. Cuándo debo utilizar entonces recursividad?

3 Recursividad Introducción El concepto de recursión aparece en varias situaciones de la vida cotidiana, aunque en muchas no sabemos que estamos en presencia de este concepto, por ejemplo, sacar fotocopias de fotocopias, tomar una fotografía a otra fotografía. La recursión como herramienta de programación permite definir un objeto (por ejemplo una estructura de datos - en términos de si mismo. Un caso concreto de recursión ya visto en apartados anteriores son las listas circulares, en donde una lista se llama a si misma. Un ejemplo clásico en matemática es el factorial de un número, potencia o la serie de Fibonacci.

4 Recursividad Concepto Un programa o subprograma que se llama a si mismo se dice que es recursivo. El concepto de recursividad está ligado, en los lenguajes de programación, al concepto de procedimiento o función. Un procedimiento o función es recursivo cuando durante una invocación a él puede ser invocado a su vez él mismo. La recursividad es una de las formas de control más importantes en la programación. Los procedimientos recursivos son la forma más natural de representación de muchos algoritmos. Un razonamiento recursivo tiene dos partes: la base y la regla recursiva de construcción. La base no es recursiva y es el punto tanto de partida como de terminación de la definición.

5 Recursividad Concepto Entonces: Base: La secuenciación, iteración condicional y selección son estructuras válidas de control que pueden ser consideradas como enunciados. Regla recursiva: Las estructuras de control que se pueden formar combinando de manera válida la secuenciación iteración condicional y selección también son válidos. Un conjunto de objetos está definido recursivamente siempre que: (B) algunos elementos del conjunto se especifican explícitamente (R) el resto de los elementos del conjunto se definen en términos de los lementos ya definidos, donde (B) se llama base (R) se llama cláusula recursiva

6 Recursividad Concepto Observaciones: 1. El procedimiento se llama a si mismo 2. El problema se resuelve, resolviendo el mismo problema pero de tamaño menor 3. La manera en la cual el tamaño del problema disminuye asegura que el caso base eventualmente se alcanzará. Aplicaciones La recursividad es un método poderoso usado en inteligencia artificial, su poder es que algunos conceptos complejos pueden expresarse en una forma simple. Las fórmulas recursivas pueden aplicarse a situaciones tales como prueba teoremas, solución de problemas combinatorios, algunos acertijos, etc. de

7 Recursividad como técnica de Programación Una Técnica de programación que tiene su origen en ciertos cálculos matemáticos. Consiste en describir los cálculos (o acciones) de una manera autoalusiva (resolver problemas describiéndoles en términos de ejemplares mas sencillos de si mismos. Esta técnica puede entenderse como un caso particular de programación estructurada.

8 Un ejemplo de referencia Consideremos el cálculo del factorial de un entero positivo n que se define de la siguiente forma: Como, a su vez, tenemos que n! se puede definir en términos de (n - 1)!, para n > 0, así: siendo por definición 0! = 1, lo que permite terminar correctamente los cálculos. Por ejemplo, al calcular el factorial de 3: Por lo tanto, si n es distinto de cero tendremos que calcular el factorial de n - 1, y si es cero el factorial es directamente 1:

9 La definición anterior podemos escribirla en Diagrama de Flujo, Pseudo y su correspondiente codificación en Pascal

10 Al ejecutarlo sobre el argumento 4, se produce la cadena de llamadas sucesivas a Fac(4), Fac(3), Fac (2), Fac(1) y a Fac(0), así:

11 En resumen Los subprogramas recursivos se caracterizan por la posibilidad de invocarse así mismos. Debe existir al menos un valor del parámetro sobre el que se hace la recursión, llamado caso base, que no provoca un nuevo cálculo recursivo, con lo que finaliza y puede obtenerse la solución; en el ejemplo del factorial, es el cero. Si este valor no existe, el cálculo no termina. Los restantes se llaman casos recurrentes, y son aquéllos para los que sí se produce un nuevo cálculo recursivo; en el ejemplo, se trata de los valores positivos 1, 2, 3... En las sucesivas llamadas recursivas los argumentos deben aproximarse a los casos base,

12 Esquema de llamadas de Fac El proceso de ejecución de un subprograma recursivo consiste en una cadena de generación de llamadas (suspendiéndose los restantes cálculos) y reanudación de los mismos al término de la ejecución de las llamadas

13 Para comprender mejor el funcionamiento de un subprograma recursivo, recordemos el proceso de llamada a un subprograma cualquiera: Se reserva el espacio en memoria necesario para almacenar los parámetros y los demás objetos locales del subprograma. Se reciben los parámetros y se cede la ejecución de instrucciones al subprograma, que comienza a ejecutarse. Al terminar éste, se libera el espacio reservado, los identificadores locales dejan de tener vigencia y pasa a ejecutarse la instrucción siguiente a la de llamada.

14

15 En el caso de un subprograma recursivo, cada llamada genera un nuevo ejemplar del subprograma con sus correspondiente objetos locales. Podemos imaginar cada ejemplar como una copia del subprograma en ejecución. El subprograma comienza a ejecutarse normalmente y, al llegar a la llamada, se reserva espacio para una nueva copia de sus objetos locales y parámetros. Estos datos particulares de cada ejemplar generado se agrupan en la llamada tabla de activación del subprograma. El nuevo ejemplar del subprograma pasa a ejecutarse sobre su tabla de activación, que se amontona sobre las de las llamadas recursivas anteriores formando la llamada pila recursiva. Este proceso termina cuando un ejemplar no genera más llamadas recursivas por consistir sus argumentos en casos básicos. Entonces, se libera el espacio reservado para la tabla de activación de ese ejemplar, reanudándose las instrucciones del subprograma anterior sobre la tabla penúltima. Este proceso de retorno finaliza con la llamada inicial.

16 Recursión Directa e Indirecta Directa: El subprograma se llama directamente a si mismo.

17 Recursión Directa e Indirecta Indirecta: Un programa llama a otro subprograma y este a su vez al primero El subprograma A llama al B y este a su vez llama al primero A, es decir que luego de tantas llamadas el control regresa al subprograma A. Otro caso de recursión indirecta es el caso b) de la figura, que muestra como un subprograma llama a otro y este a un tercero y una vez ejecutado el subprograma vuelve a donde fue llamado. En el ejemplo de la figura el programa A llama al B y este al C; cuando finaliza la ejecución C vuelve a donde fue llamado B y este a su vez al subprograma A programa inicio. En toda definición recursiva de un problema se debe establecer un estado básico. Es decir un estado en el cual la solución no se presente de manera recursiva, sino directamente. Además la entrada (datos) del problema debe ir acercándose al estado básico.

18 Cómo funciona la recursividad? 4!=4*3! 3!=3*2! 2!=2*1! 1!=1*0!=1*1

19 Recursividad Infinita Recursividad Infinita Es muy importante que toda función recursiva tenga un caso en el que no se llame a sí misma, o las llamadas serían infinitas y el programa no tendría fin. Por eso, siempre una función recursiva tiene una condición inicial en la que no debe llamarse a sí misma.

20 Funcionamiento Interno del Ej. Factorial

21 Funcionamiento Interno del Ej. Factorial Cuando esta función es invocada, por ejemplo, para hallar el factorial del número 3, se crean en la memoria de la computadora las siguientes instancias: y al finalizar comienza el retorno a la invocación anterior efectuándose las acciones que habían quedado pendientes.:

22 Ejemplo 2: Serie de Fobonaci

23 Ejemplo 3: Torres de Hanoi Un problema típico a resolver con recursión es el de las Torres de Hanoi, ya que al aplicar esta herramienta el problema se simplifica enormemente. Las Torres de Hanói es un rompecabezas o juego matemático inventado en 1883 por el matemático francés Éduard Lucas Consiste en tres varillas verticales y un número indeterminado de discos que determinarán la complejidad de la solución. No hay dos discos iguales, están colocados de mayor a menor en la primera varilla ascendentemente, y no se puede colocar ningún disco mayor sobre uno menor a él en ningún momento..

24 Llamaremos A, B y C a cada una de las agujas sin importar el orden siempre que se mantengan los nombres. Consideremos inicialmente dos discos en A que queremos pasar a B utilizando C como auxiliar. Las operaciones por realizar son sencillas:

25 Ahora supongamos que tenemos tres discos en A y queremos pasarlos a B. Haciendo algunos tanteos descubrimos que hay que pasar los dos discos superiores de A a C, mover el último disco de A a B y por último pasar los dos discos de C a B. Ya conocemos cómo pasar dos discos de A a B usando C como auxiliar, para pasarlos de A a C usaremos B como varilla auxiliar y para pasarlos de C a B usaremos A como auxiliar:

26 En general, Pasar n discos de A a B, consiste en efectuar las siguientes operaciones siendo 1 el caso base, que consiste en mover simplemente un disco sin generar llamada recursiva. Ahora apreciamos claramente la naturaleza recursiva de proceso, pues para pasar n discos es preciso pasar n-1 discos (dos veces), para n-1 habrá que pasar n-2 (también dos veces) y así sucesivamente.

27 Corrección de subprogramas recursivos En este apartado presentaremos los conceptos y técnicas necesarias para la verificación (o derivación) de subprogramas recursivos. En este sentido, la pauta viene dada por la consideración de que un subprograma recursivo no es más que un caso particular de subprograma en el que aparecen llamadas a sí mismo. Esta peculiaridad hace que tengamos que recurrir a alguna herramienta matemática, de aplicación no demasiado complicada en la mayoría de los casos, que encontraremos en este libro. El proceso de análisis de la corrección de subprogramas recursivos puede ser dividido, a nuestro entender, en dos partes: una primera, en la que consideraremos los pasos de la verificación comunes con los subprogramas no recursivos, y una segunda con los pasos en los que se aplican técnicas específicas de verificación de la recursión.

28 En resumen, para demostrar la corrección de un subprograma recursivo hemos de comprobar: La corrección del caso base. La corrección de los casos recurrentes. Para ello, se supone la de las llamadas subsidiarias, como ocurre en el paso inductivo con la hipótesis de inducción. Que las llamadas recursivas se hacen de manera que los parámetros se acercan al caso base; por ejemplo, en el cálculo del factorial, en las sucesivas llamadas los parámetros son n; n - 1;., que desembocan en el caso base 0, siempre que n > 0, lo cual se exige en la condición previa de la función.

29 Recursión mutua Cuando un subprograma llama a otro y éste a su vez al primero, se produce lo que se denomina recursión mutua o cruzada, que consiste en que un subprograma provoque una llamada a sí mismo, indirectamente, a través de otro u otros subprogramas. En estos casos, se presenta un problema para definir los subprogramas, porque uno de ellos tendrá que ser definido antes del otro, y la llamada que haga al segundo se hace a un identificador desconocido, contraviniendo la norma de Pascal por la que un identificador tiene que ser declarado antes de usarlo.

30 Recursividad versus iteración Si un subprograma se llama a si mismo se repite su ejecución un cierto numero de veces. Los procesos recursivos suelen ocupar más memoria y tardar un poquito más que los iterativos porque cuando el compilador llama a una subrutina guarda todas las variables locales. En consecuencia, Cuáles son las razones para elegir la recursión? La razón fundamental es que existen numerosos problemas complejos que poseen naturaleza recursiva y, en consecuencia, son más fáciles de implementar con algoritmos de este tipo. Sin embargo, en condiciones críticas de tiempo y de memoria, es decir, cuando el consumo de tiempo y memoria sean decisivos o concluyentes para la resolución del problema, la solución a elegir debe ser, normalmente la iterativa.

31 Recursividad versus iteración La recursividad y la iteración (ejecución en bucle) están muy relacionadas, cualquier acción que pueda realizarse con la recursividad puede realizarse con iteración y viceversa. Normalmente, un cálculo determinado se prestará a una técnica u otra, sólo necesita elegir el enfoque más natural o con el que se sienta más cómodo. Tanto la iteración como la recursión se basan en una estructura de control: - la iteración utiliza una estructura repetitiva - la recursión utiliza una estructura de selección. La iteración y la recursión implican ambas repetición: - la iteración utiliza explícitamente una estructura repetitiva - la recursión consume la repetición mediante llamadas repetidas. La iteración y la recursión implican cada una un test mientras que la recursión termina cuando se reconoce un caso base o la condición de salida se alcanza.

32 Recursividad versus iteración

33 Ventajas y desventajas Ventajas de la Recursión Soluciones simples, claras Soluciones elegantes. Soluciones a problemas complejos. Desventajas de la Recursión: INEFICIENCIA Sobrecarga asociada con las llamadas a subalgoritmos Una simple llamada puede generar un gran numero de llamadas recursivas. (Fact(n) genera n llamadas recursivas) La claridad compensa la sobrecarga? El valor de la recursividad reside en el hecho de que se puede usar para resolver problemas sin fácil solución iterativa. - La ineficiencia inherente de algunos algoritmos recursivos. La recursividad se debe usar cuando sea realmente necesaria, es decir, cuando no exista una solución iterativa simple.

34 BIBLIOGRAFIA. Especifica: Fundamentos de programación. Algoritmos, estructuras de datos y objetos; Luis Joyanes Aguilar; 2003; Editorial: MCGRAW-HILL. ISBN: ALGORITMOS, DATOS Y PROGRAMAS con aplicaciones en Pascal, Delphi y Visual Da Vinci. De Guisti. Armando editorial: Prentice Hall. ISBN: ANALISIS Y DISEÑO DE ALGORITMOS: UN ENFOQUE TEORICO PRACTICO. Dr. Jose I. Pelaez Editorial: UMA. ISBN: PROGRAMACIÓN; Castor F. Herrmann,María E. Valesani.; 2001; Editorial: MOGLIA S.R.L..ISBN: ESTRUCTURA DE DATOS; Cairó y Guardati; 2002; Editorial: MCGRAW-HILL. ISBN:

35 BIBLIOGRAFIA. General W. I. Salmon. Introducción a la computación con Turbo Pascal. Addison-Wesley Iberoamericana, J. Castro, F. Cucker, F. Messeguer, A. Rubio, Ll. Solano, y B. Valles. Curso de programación. McGraw-Hill, Se ofrecen buenos enfoques de la programación con subprogramas. El primero de ellos introduce los subprogramas antes incluso que las instrucciones estructuradas. El segundo ofrece una concreción de los conceptos de programación modular explicados en los lenguajes C y Modula-2. S. Alagíc y M.A. Arbib. The design of well-structured and correct programs. Springer Verlag, Es una referencia obligada entre los libros orientados hacia la verificación con un enfoque formal. R. S. Pressman. Ingeniería del Software. Un enfoque práctico. McGraw-Hill, Algunos de los conceptos contenidos en el tema provienen de la ingeniería del software. S. Wiedenbeck. Learning recursion as a concept and as a programming technique. Communications of the ACM, G. Ford. A framework for teaching recursion. SIGCSE Bulletin of the ACM, 14(2):32{39, July La recursión es un concepto difícil de explicar y comprender, que se presenta frecuentemente relacionándolo con la iteración, a partir de ejemplos que admiten versiones iterativas y recursivas similares. L. Rºade y R. D. Nelson. Adventures with your computer. Penguin Books Ltd., Middlesex, Gran Breta~na, Puede leerse la historia completa sobre las torres de Hanoi y los grandes logros del famoso matemático francés E. Lucas, entre otros muchos temas matemáticos, que se presentan con una pequeña introducción histórica. G. G. Early y D. F. Stanat. Chinese rings and recursion. SIGCSE Bulletin of the ACM, 17(4), Existe un problema similar al de las Torres de Hanoi, llamado de los anillos chinos, cuya solución está desarrollada en [ES85] y en [Dew85b]

36 En internet public_html/ Mj29-q_i6QCFdhA2godpQ0oHA ogramacion

37 Ejecución de Soluciones a problemas recursivos implementados en Pascal Función Factorial Serie de Fibonacci Torres de Hanoi

Tema 7. Recursividad. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

Tema 7. Recursividad. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na. Tema 7 Recursividad 7.1 Introducción El concepto de recursión aparece en varias situaciones de la vida cotidiana, aunque en muchas no sabemos que estamos en presencia de este concepto, por ejemplo, sacar

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

Qué es la recursividad?

Qué es la recursividad? Recursividad 1 Ejemplo 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í. Esta muñeca, también contiene otra muñeca dentro.

Más detalles

Tema 06: Recursividad

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

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

Análisis de algoritmos. Recursividad

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

Programación II Recursividad Dr. Mario Rossainz López

Programació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 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

Recursividad. Definición de Recursividad: Técnica de programación muy potente que puede ser usada en lugar de la iteración.

Recursividad. Definición de Recursividad: Técnica de programación muy potente que puede ser usada en lugar de la iteración. Capítulo IV Recursividad Aprende a nacer desde el dolor y a ser más grande que el más grande de los obstáculos, mírate en el espejo de ti mismo y serás libre y fuerte y dejarás de ser un títere de las

Más detalles

UNIVERSIDAD AUTÓNOMA CHAPINGO DPTO. DE PREPARATORIA AGRÍCOLA ÁREA DE FÍSICA RECURSIÓN. Guillermo Becerra Córdova

UNIVERSIDAD AUTÓNOMA CHAPINGO DPTO. DE PREPARATORIA AGRÍCOLA ÁREA DE FÍSICA RECURSIÓN. Guillermo Becerra Córdova UNIVERSIDAD AUTÓNOMA CHAPINGO DPTO. DE PREPARATORIA AGRÍCOLA ÁREA DE FÍSICA RECURSIÓN Guillermo Becerra Córdova E-mail: gllrmbecerra@yahoo.com OBJETIVOS: Este trabajo tiene por objetivo mostrar las características

Más detalles

Recursión. Introducción a la Computación Clase 15 Patricia Borensztejn

Recursión. Introducción a la Computación Clase 15 Patricia Borensztejn Recursión Introducción a la Computación Clase 15 Patricia Borensztejn El concepto de la recursión Recursión, recurrencia o recursividad es la forma en la cual se especifica un proceso basado en su propia

Más detalles

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

TEMA 1. Recursividad. Recursividad CONTENIDO DEL TEMA

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

UNIDAD 7 Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y

UNIDAD 7 Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y 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

Más detalles

Técnicas de prueba y corrección de algoritmos

Técnicas de prueba y corrección de algoritmos Técnicas de prueba y corrección de algoritmos Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera Algoritmos recursivos Aparente circularidad

Más detalles

Programación I Recursividad.

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

ESTRUCTURA DE DATOS: Tema 3. Recursividad

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

Metodología de la Programación II. Recursividad

Metodología de la Programación II. Recursividad Metodología de la Programación II Recursividad Objetivos Entender el concepto de recursividad. Conocer los fundamentos del diseño de algoritmos recursivos. Comprender la ejecución de algoritmos recursivos.

Más detalles

4.1 Definición. Se dice que algo es recursivo si se define en función de sí mismo o a sí mismo. Un objeto (problemas, estructuras de datos) es

4.1 Definición. Se dice que algo es recursivo si se define en función de sí mismo o a sí mismo. Un objeto (problemas, estructuras de datos) es Recursividad 4.1 Definición. Se dice que algo es recursivo si se define en función de sí mismo o a sí mismo. Un objeto (problemas, estructuras de datos) es recursivo si forma parte de sí mismo o interviene

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

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 01/ 2012 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #10 Programación

Más detalles

ESTRUCTURA DE DATOS: Tema 3. Recursividad

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

Hasta ahora sólo hemos visto algoritmos con tratamiento secuencial

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

Estructuras de Repetición

Estructuras de Repetición 1 Estructuras de Repetición 2013 Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas 2 Objetivos Aprender a construir grandes y complejos problemas a través de la ejecución

Más detalles

Tema 3. Recursividad.

Tema 3. Recursividad. Tema 3. Recursividad. E.U. Politécnica Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho: I-326D (Edificio E.U.P)/ 3.2.41 (Teatinos-E.T.S.I.I.)

Más detalles

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

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

Tema: Funciones, Procedimientos y Recursividad en C#.

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

Tema 7: Recursividad

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

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

Tema 4.- Recursión e iteración

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

Introducción Algoritmos de tipo dividir para vencer Algoritmos de rastreo Inverso. Recursividad. Programación Avanzada. 8 de septiembre de 2017

Introducción Algoritmos de tipo dividir para vencer Algoritmos de rastreo Inverso. Recursividad. Programación Avanzada. 8 de septiembre de 2017 Recursividad Programación Avanzada 8 de septiembre de 2017 Contenido Introducción Objetivos Definición y características Caso de análisis: factorial Contenido Introducción Objetivos Definición y características

Más detalles

DEPARTAMENTO DE: Ciencias Básicas CARRERA/S: Licenciatura en Sistemas de Información (RES.HCS. Nº676/11)

DEPARTAMENTO DE: Ciencias Básicas CARRERA/S: Licenciatura en Sistemas de Información (RES.HCS. Nº676/11) Universidad Nacional de Luján República Argentina ------ Ruta 5 y Av. Constitución C.C. 221-6700 LUJÁN (Bs. As.) Nº DISPOSICIÓN:... DEPARTAMENTO DE: Ciencias Básicas CARRERA/S: Licenciatura en Sistemas

Más detalles

Estructura de Datos. Recursividad. Primer Semestre, Indice

Estructura de Datos. Recursividad. Primer Semestre, Indice Estructura de Datos Recursividad Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2 Indice Introducción Definición Condiciones para la Recursividad Tipos de Recursividad Aplicaciones Ejemplo

Más detalles

Recursividad. Definición. Diseño de Algoritmos Recursivos

Recursividad. 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 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

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

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

Introducción a los Computadores Funciones y recursividad en C

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

INSTITUTO POLITECNICO NACIONAL SECRETARIA ACADEMICA DIRECCION DE ESTUDIOS PROFESIONALES EN INGENIERIA Y CIENCIAS FISICO MATEMATICAS

INSTITUTO POLITECNICO NACIONAL SECRETARIA ACADEMICA DIRECCION DE ESTUDIOS PROFESIONALES EN INGENIERIA Y CIENCIAS FISICO MATEMATICAS ESCUELA: UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS CARRERA: LICENCIATURA EN CIENCIAS DE LA INFORMÁTICA LÍNEA CURRICULAR: COORDINACIÓN: ACADEMIAS DE COMPUTACIÓN

Más detalles

Recursividad. Facultad de Ciencias de la Computación. Juan Carlos Conde R. Object-Oriented Programming I

Recursividad. Facultad de Ciencias de la Computación. Juan Carlos Conde R. Object-Oriented Programming I Recursividad Facultad de Ciencias de la Computación Juan Carlos Conde R. Object-Oriented Programming I Contenido 1 Introducción 2 Escritura de Funciones 3 Tipos de Recursión 1 / 23 Contenido 1 Introducción

Más detalles

UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO DIVISIÓN ACADÉMICA DE CIENCIAS BIOLÓGICAS LICENCIATURA EN INGENIERÍA AMBIENTAL

UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO DIVISIÓN ACADÉMICA DE CIENCIAS BIOLÓGICAS LICENCIATURA EN INGENIERÍA AMBIENTAL UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO DIVISIÓN ACADÉMICA DE CIENCIAS BIOLÓGICAS LICENCIATURA EN INGENIERÍA AMBIENTAL Materia: Nivel: Programación Aplicada Área de formación sustantiva profesional Horas

Más detalles

Conceptos de Algoritmos, Datos y Programas

Conceptos de Algoritmos, Datos y Programas Conceptos de Algoritmos, Datos y Programas Año 2015 Carreras: Lic. en Informática P2015 Lic. en Sistemas P2015 APU P2015 Año: 1 Duración: Cuatrimestral Coordinador: Ing. Armando De Giusti Profesores: Esp.

Más detalles

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: DISEÑO DE ALGORITMOS FECHA DE ELABORACIÓN: ENERO 2005 ÁREA DEL PLAN DE ESTUDIOS: AS ( ) AC (

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

Temario de estudio para Cibernética y Computación II (1604)

Temario de estudio para Cibernética y Computación II (1604) UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO SECRETARÍA GENERAL DIRECCIÓN GENERAL DE INCORPORACIÓN Y REVALIDACIÓN DE ESTUDIOS Temario de estudio para Cibernética y Computación II (1604) Plan CCH - 1996 Modificado

Más detalles

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

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: PROGRAMACIÓN ORIENTADA A OBJETOS FECHA DE ELABORACIÓN: ENERO 2005 ÁREA DEL PLAN DE ESTUDIOS:

Más detalles

UNIVERSIDAD SIMÓN BOLÍVAR Vicerrectorado Académico

UNIVERSIDAD SIMÓN BOLÍVAR Vicerrectorado Académico UNIVERSIDAD SIMÓN BOLÍVAR Vicerrectorado Académico 1.Departamento: COMPUTACIÓN Y TECNOLOGÍA DE LA INFORMACIÓN 2. Asignatura: Programa de Algoritmos y Estructuras I 3. Código de la asignatura: CI 2611 No.

Más detalles

Subrutinas. Subrutinas. Erwin Meza Vega

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

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN

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

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5 Planificaciones 7540 - Algoritmos y Programación I Docente responsable: AZCURRA DIEGO ANDRES 1 de 5 OBJETIVOS Objetivos estratégicos: -Desarrollar el concepto algorítmico. -Aplicar técnicas de programación

Más detalles

Tema 5- Diseño Recursivo y. Objetivos Principales. Bibliografía Básica

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

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

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

EI MT1008 Programación II

EI MT1008 Programación II GRADO EN INGENIERÍA INFORMÁTICA GRADO EN MATEMÁTICA COMPUTACIONAL EI1008 - MT1008 Programación II Curso 2010-2011 Departamento de Lenguajes y Sistemas Informáticos 1. Datos de la asignatura Carácter: Formación

Más detalles

Tema 9. Recursividad

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

Cursosindustriales. Curso de C / C++ Por Deimos_hack

Cursosindustriales. Curso de C / C++ Por Deimos_hack MÓDULO 1. ESTRUCTURAS Y FUNCIONES. En los capítulos anteriores has visto como los arrays permiten almacenar diferentes datos, pero todos del mismo tipo de dato. En la práctica esto no compensa debido a

Más detalles

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

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

TEMA 5: Subprogramas, programación modular

TEMA 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

Etapas en la vida del software

Etapas en la vida del software Etapas en la vida del software La necesidad del software suele expresarse inicialmente en lenguaje natural de una manera informal y, por tanto, imprecisa. A partir de la expresión de la necesidad, la vida

Más detalles

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA ELECTRÓNICA SÍLABO PLAN DE ESTUDIOS 2000

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA ELECTRÓNICA SÍLABO PLAN DE ESTUDIOS 2000 UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA ESCUELA ACADÉMICO PROFESIONAL DE INGENIERÍA ELECTRÓNICA SÍLABO PLAN DE ESTUDIOS 2000 I. DATOS GENERALES Nombre del curso : Programación I Código del curso

Más detalles

Asignatura: Introducción a la Programación Código: Año académico: 2007/2008 Centro:

Asignatura: Introducción a la Programación Código: Año académico: 2007/2008 Centro: Asignatura: Introducción a la Programación Código: 41001106 Año académico: 2007/2008 Centro: Escuela Politécnica Departamento: Lenguajes y Computación Área: Lenguajes y Sistemas Informáticos Titulación:

Más detalles

Luis Rodríguez Baena Universidad Pontificia de Salamanca Escuela Superior de Ingeniería y Arquitectura

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

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas INDICE Prologo a la tercera edición xiii Prologo a la segunda edición xxvii Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación 3 1.1. Organización de

Más detalles

RECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva:

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

TEMA2:LAS HERRAMIENTAS DE PROGRAMACION

TEMA2:LAS HERRAMIENTAS DE PROGRAMACION TEMA2:LAS HERRAMIENTAS DE PROGRAMACION 1.Las herramienta de programación. 1.1.Análisis de problemas. 1.2.Diseño de algoritmos. 1.3.Introducción a la plataforma.net Framework Objetivos Definir y comprender

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURA DE INGENIERÍA INDUSTRIAL

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURA DE INGENIERÍA INDUSTRIAL UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LICENCIATURA DE INGENIERÍA INDUSTRIAL PROGRAMA DE LA ASIGNATURA DE: Programación Aplicada a la Ingeniería IDENTIFICACIÓN

Más detalles

FACULTAD DE INGENIERIA

FACULTAD DE INGENIERIA i FACULTAD DE INGENIERIA AUTORES DEL CONTENIDO INGENIERO ELKIN GERMAN RODRIGUEZ VASQUEZ ID Facebook: www.facebook.com/elkinrodriguezv Correo: elking_r88@hotmail.com INGENIERO ARIEL LEONARDO MOLINA VITERI

Más detalles

Universidad Nacional Autónoma de México Centro de Investigación en Energía. Programa de Estudio

Universidad Nacional Autónoma de México Centro de Investigación en Energía. Programa de Estudio Universidad Nacional Autónoma de México Centro de Investigación en Energía Programa de Estudio Herramientas Computacionales 3 8 Asignatura Clave Semestre Créditos Formación Profesional Ciclo Técnicas de

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Fundamentos de Programación

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

Matemáticas Discretas II clase 6: Ecuaciones de recurrencia Universidad del valle

Matemáticas Discretas II clase 6: Ecuaciones de recurrencia Universidad del valle Matemáticas Discretas II clase 6: Ecuaciones de recurrencia Universidad del valle Profesor: Jairo Ernesto Maldonado G. http://eisc.univalle.edu.co/cursos/ http://eisc.univalle.edu.co/~jaerma/ jaerma@eisc.univalle.edu.co

Más detalles

Tema: Funciones, Procedimientos y Recursividad en C#.

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

Tema: Funciones, Procedimientos y Recursividad en C#.

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

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION VICERRECTORADO ACADÉMICO DIRECCIÓN DE GESTIÓN, DESARROLLO E INNOVACIÓN CURRICULAR FACULTAD: INGENIERIA ESCUELAS: COMPUTACION - SISTEMA UNIDAD CURRICULAR: ALGORITMOS, ESTRUCTURAS Y PROGRAMACION FECHA DE

Más detalles

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL PROGRAMA: PROGRAMACION I CÓDIGO ASIGNATURA: 1215-208 PRE-REQUISITO: 1215-102 SEMESTRE: II (SEGUNDO) UNIDADES

Más detalles

Nº DISPOSICIÓN:... DEPARTAMENTO DE: Ciencias Básicas CARRERA/S: Licenciatura en Sistemas de Información

Nº DISPOSICIÓN:... DEPARTAMENTO DE: Ciencias Básicas CARRERA/S: Licenciatura en Sistemas de Información Nº DISPOSICIÓN:... Universidad Nacional de Luján República Argentina ------ Ruta 5 y Av. Constitución C.C. 221-6700 LUJÁN (Bs. As.) DEPARTAMENTO DE: Ciencias Básicas CARRERA/S: Licenciatura en Sistemas

Más detalles

Módulo 1. Introducción a los lenguajes de programación

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

Universidad Salesiana de Bolivia

Universidad Salesiana de Bolivia Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN I - 2014 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelían

Más detalles

Seminario de problemas Curso Estrategias matemáticas: recurrencias.

Seminario de problemas Curso Estrategias matemáticas: recurrencias. Seminario de problemas Curso 017-18. Estrategias matemáticas: recurrencias. Contar cosas es uno de los problemas más típicos de las matemáticas y la habilidad para contar bien es una de las más valoradas

Más detalles

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

Recursividad. Figura 1. Cálculo del factorial de un número determinado.

Recursividad. Figura 1. Cálculo del factorial de un número determinado. Recursividad La recursividad es una metodología de programación que en la práctica suele ser muy compleja, es por ello que este tema es tratado en cursos universitarios de programación avanzada. Por lo

Más detalles

Unidad 4. Estructuras de control Tema. Estructuras de Iteración (do-while)

Unidad 4. Estructuras de control Tema. Estructuras de Iteración (do-while) Unidad 4. Estructuras de control Tema. Estructuras de Iteración (do-while) Juan Pablo Cobá Juárez Pegueros Programación Avanzada Bioingeniería Médica Facultad de Medicina 05/09/2017 Contenido Qué son las

Más detalles

INSTITUTO TECNOLÓGICO SUPERIOR DEL SUR DEL ESTADO DE YUCATAN SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE INGENIERÍA INDUSTRIAL

INSTITUTO TECNOLÓGICO SUPERIOR DEL SUR DEL ESTADO DE YUCATAN SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE INGENIERÍA INDUSTRIAL Referencia a la Norma ISO 9001:008 7.1, 7..1, 7.5.1, 7.6, 8.1, 8..4 Página 1 de 18 INSTITUTO TECNOLÓGICO SUPERIOR DEL SUR DEL ESTADO DE YUCATAN SUBDIRECCIÓN ACADÉMICA DEPARTAMENTO DE INGENIERÍA INDUSTRIAL

Más detalles

Metodología de la Programación (12016)

Metodología de la Programación (12016) Metodología de la Programación (12016) Fernando Tricas García Dpto. de Informática e Ingeniería de Sistemas del Centro Politécnico Superior Área de Lenguajes y Sistemas Informáticos Universidad de Zaragoza,

Más detalles

Elementos de Programación (P02) Ing. Alvaro Torres Tatis

Elementos de Programación (P02) Ing. Alvaro Torres Tatis Página 1 de 6 I. OBJETIVOS II. TEMARIO Elementos de Programación (P02) Ing. Alvaro Torres Tatis 1. Saber hacer una descripción completa de un problema de programación medianamente complejo. 2. Resolver

Más detalles

ASIGNATURA: FUNDAMENTOS DE PROGRAMACIÓN

ASIGNATURA: FUNDAMENTOS DE PROGRAMACIÓN ASIGNATURA: FUNDAMENTOS DE PROGRAMACIÓN 1. Presentación El objetivo de esta guía es orientar al alumno en el estudio de la asignatura de Fundamentos de Programación. Se recomienda la lectura completa de

Más detalles

Tema: Funciones, Procedimientos y Recursividad en C#.

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

Conceptos Básicos Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE

Conceptos Básicos Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE Conceptos Básicos Programación I (Plan 1999) Algoritmos y Estructuras de Datos II (Plan 2009) Mgter. Oscar Adolfo Vallejos FaCENA - UNNE Solución de problemas mediante programas Los computadores desempeñan

Más detalles

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN MATERIA : ESTRUCTURAS DE DATOS NIVEL : TERCER SEMESTRE FECHA DE ELABORACIÓN: Julio 19, 1999. DURACIÓN:

Más detalles

Programación I. Programa de la asignatura

Programación I. Programa de la asignatura Programación I Programa de la asignatura Página Web: http://www.ctr.unican.es/asignaturas/programacion1 Curso 2009-2010 DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 1 4 Profesores

Más detalles

DATOS GENERALES PRERREQUISITOS : SE CURSA SIMULTÁNEAMENTE CON LA MATERIA DE TALLER DE PROGRAMACIÓN ESTRUCTURADA CC103

DATOS GENERALES PRERREQUISITOS : SE CURSA SIMULTÁNEAMENTE CON LA MATERIA DE TALLER DE PROGRAMACIÓN ESTRUCTURADA CC103 UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS DIVISIÓN DE ELECTRÓNICA Y COMPUTACÓN DEPARTAMENTO DE CIENCIAS COMPUTACIONALES DATOS GENERALES CLAVE : CC102 NOMBRE DE LA

Más detalles

Programación Estructurada. Complementos de Informática Tema 2: Programación Estructurada y Programación Modular. Números Amigos

Programación Estructurada. Complementos de Informática Tema 2: Programación Estructurada y Programación Modular. Números Amigos Programación Estructurada Complementos de Informática Tema 2: Programación Estructurada y Programación Modular Álo Romero Jiménez Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad

Más detalles

Nombre de la asignatura : Programación III. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-9319

Nombre de la asignatura : Programación III. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-9319 . D A T O S D E L A A S I G N A T U R A Nombre de la asignatura : Programación III Carrera : Ingeniería en Sistemas Computacionales Clave de la asignatura : SCB-939 Horas teoría-horas práctica-creditos

Más detalles

PROGRAMACION ESTRUCTURADA: Tema 3. Funciones

PROGRAMACION ESTRUCTURADA: Tema 3. Funciones PROGRAMACION ESTRUCTURADA: Tema 3. Funciones Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido 1. Definiciones

Más detalles

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA DIRECCIÓN GENERAL DE ASUNTOS ACADÉMICOS PROGRAMA DE ASIGNATURA I. DATOS DE IDENTIFICACIÓN.

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA DIRECCIÓN GENERAL DE ASUNTOS ACADÉMICOS PROGRAMA DE ASIGNATURA I. DATOS DE IDENTIFICACIÓN. 1.- Unidad Académica: Facultad de Ingeniería UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA DIRECCIÓN GENERAL DE ASUNTOS ACADÉMICOS PROGRAMA DE ASIGNATURA I. DATOS DE IDENTIFICACIÓN 2.- Programa (s) de estudio:

Más detalles

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACIÓN PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA INGENIERÍA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA: Área

Más detalles

Guía práctica de estudio 04: Diagramas de flujo

Guía práctica de estudio 04: Diagramas de flujo Página 63/214 Guía práctica de estudio 04: Diagramas de flujo 63 Página 64/214 Guía práctica de estudio 04: Diagramas de flujo Objetivo: Elaborar diagramas de flujo que representen soluciones algorítmicas

Más detalles