Programación Unidad 5. Recursividad. Programación TIG - TUP 1. Sede Regional Orán UNIVERSIDAD NACIONAL DE SALTA
|
|
- Benito Soler Espejo
- hace 6 años
- Vistas:
Transcripción
1 Unidad 5 Recursividad 1
2 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 descendencia, podemos hacerla de manera recursiva de la siguiente forma: descediente(x, Y) = si hijo(x, Y) ó hijo(x, Z) siendo descendiente(z, Y)) La expresión anterior puede leerse como: "X es descendiente de Y si es hijo de Y ó es hijo de Z, que a su vez es un descendiente de Y". 2
3 Funciones Recursivas (1) Una función es recursiva, cuando la definición de la función contiene una invocación a esa misma función. En una función recursiva está compuesta por dos partes: El caso base: Es aquella situación que produce un resultado inmediato. El caso general: Cuando la función se invoca nuevamente a sí misma, pero para para realizar un cálculo más "pequeño". 3
4 Funciones Recursivas (2) Por ejemplo: factorial (n) = si (n == 0) entonces 1 sino n * factorial(n 1) Caso base: n = 0 :: factorial(0) 1 Caso general: n 0 :: factorial(n) n * factorial(n 1) 4
5 Funciones Recursivas (3) Si realizamos un seguimiento de factorial(3) observamos que se produce la siguiente secuencia de llamadas recursivas: 1) factorial(3) = 3 * factorial(2) 2) factorial(2) = 2 * factorial(1) 3) factorial(1) = 1 * factorial(0) 4) factorial(0) = 1 Una vez que llegamos al caso base, debemos retornar ese resultado a la llamada anterior, que quedó "esperando" para poder completar su cálculo, y de esa manera devolver también ella su resultado. 5
6 Funciones Recursivas (4) 6
7 Funciones Recursivas (5) El lenguaje C soporta la recursividad. Por ejemplo, si codificamos la versión recursiva de la función factorial en este lenguaje, obtenemos lo siguiente: int factorial (int n){ if (n == 0) return (1); else return (n * factorial(n 1)); 7
8 Recursión vs. Iteración (1) A continuación presentamos la versión iterativa de la función que calcula el factorial de un número: int factorial (int n){ int i,fac = 1; for (i = 1; i <= n; i++){ fac = fac * i; return (fac); 8
9 Recursión vs. Iteración (2) Tanto la iteración como la recursión implican repetición: la iteración utiliza la estructura de repetición en forma explicita. La recursión consigue la repetición mediante sucesivas llamadas de la misma función. Ambas, la iteración y la recursión, involucran una prueba de terminación: la iteración termina cuando es falsa la condición de continuación del ciclo; la recursión termina cuando se llega al caso base. 9
10 Recursión vs. Iteración (3) La principal ventaja de la recursión es que se obtienen soluciones simples, claras y elegantes a problemas complejos. La desventaja fundamental de la recursión es la sobrecarga que producen las sucesivas llamadas a la misma función, lo que resulta costoso tanto en tiempo de procesador como en espacio de memoria, pues cada llamada recursiva genera otra copia de la función. Todo esto puede consumir gran cantidad de memoria, pudiéndose llegar a una situación de saturación ó desborde (overflow en inglés). 10
11 Ejercicios (1) Escribir una función que determine el producto de dos números naturales. Por ejemplo: producto(12, 5) 60 int producto (int a, int b) { if ((a == 0) (b == 0)) return 0; if (a == 1) return b; if (b == 1) return a; else return a + producto(a, b - 1); 11
12 Ejercicios (2) Escribir una función que muestre en forma invertida un número natural. Por ejemplo: invertir(1234) 4321 int invertir(int n){ static int s = 0; s = s * 10 + n % 10; if (n < 10) return (s); else return invertir(n/10); 12
13 Ejercicios (3) La versión recursiva usando el parámetro s como acumulador es la siguiente: int invertir(int n, int s){ if (n == 0) return (s); else return invertir(n/10, s*10+n%10); Encontrándose en la función main() la siguiente llamada a la función: invertir(n, 0) 13
14 Ejercicios (4) Por ejemplo, para invertir(1234): S 0 = 0 S 1 = 10 * = 4 S 2 = 10 * = 43 S 3 = 10 * = 432 S 4 = 10 * = 4321 Es decir que: S = 10 * (10 * (10 * (10 * 0 + 4) + 3) + 2) + 1 =
15 Ejercicios (5) Escribir una función que determine la suma de los elementos de un arreglo V de N números enteros. Por ejemplo: sumavec([5,7,2], 3) 14 int sumavec(int V[], int N){ if (N == 1) else return (V[0]); return (V[N-1] + sumavec(v, N-1)); 15
16 Ejercicios (6) int sumavec(int V[], int N){ if (N == 1) return (V[0]); else return V[N-1] + sumavec(v, N-1); 16
17 Ejercicios (7) Escribir una función que determine el mayor de un arreglo V de N números enteros. Por ejemplo: mayorvec([5,7,2], 3) 7 main(){ int V[10], N = 3, i; for (i = 0; i < N; i++) scanf("%d", &V[i]); printf("mayor: %d", mayorvec(v,n)); 17
18 Ejercicios (8) int mayorvec(int V[], int N){ int max; if (N == 1) return (V[0]); else { max = mayorvec(v, N-1); if (V[N-1] > max) return (V[N-1]); else return(max); 18
19 Ejercicios (9) int mayorvec(int V[], int N){ int max; if (N == 1) return (V[0]); else { max = mayorvec(v+1, N-1); if (V[0] > max) return (V[0]); else return(max); 19
20 Caso Base: Si el arreglo V tiene un solo elemento (N = 1), entonces el mayor es ese único elemento (V[0]).- Caso General: Ejercicios (10) a) Si el valor del elemento que se encuentra en la posición inicial del vector (V[0]) es mayor que el valor máximo del resto de los elementos del vector (max), entonces V[0] es el máximo global.- b) En cambio, si el valor de V[0] es menor que max, entonces el máximo global será el máximo del resto del vector.- 20
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
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
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
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
Estructuración del programa en partes más pequeñas y sencillas
Introducción Estructuración del programa en partes más pequeñas y sencillas Modularización Propósito único Identificable Reusable Mayor claridad: programación, depuración, etc. Construcción de librerías
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
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
Si un número es múltiplo de otro, u dicho de forma, comprobar si un número es divisor de otro.
1.Introducción La programación es una herramienta muy poderosa para resolver todo tipo de problemas, entre ellos los problemas matemáticos. En este artículo se muestra cómo se resuelven algoritmos básicos,
Funciones 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
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
Modularización en lenguaje C. Funciones
Modularización en lenguaje C Funciones Segundo Cuatrimestre 2016 F. de la Informática- Int.a la Computación - Int.a la Programación 1 Ejercicio: Dado el siguiente algoritmo incompleto codificado en Lenguaje
8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Presentació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
RECURRENCIA 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
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
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
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
SESIÓN DE EJERCICIOS E1
SESIÓN DE EJERCICIOS E1 Primera parte: ejercicios test Ejercicio 1 Qué definición de constantes es la correcta en lenguaje C? a) #define N=25; b) #define N 25 c) int N=25; d) int N 25 Ejercicio 2 La expresión
UNIVERSIDAD NACIONAL DE SALTA Sede Regional Orán AÑO: 2013 Carreras: TIG - TUP
TRABAJO PRÁCTICO N 4: Modularidad Ejercicio 1: Dados los siguientes prototipos de módulos, explicar cada elemento que los conforman. a) int suma(int a, int b); b) double area(double base, double altura);
la 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
Sentencias de Procesamiento Iterativo: while y do-while
ESTRUCTURAS CÍCLICAS Se discuten en este documento las sentencias que se utilizan en el lenguaje C++ para representar la tercera de las estructuras utilizadas en la programación estructurada: La Estructura
UAA Sistemas Electrónicos Estructura de Datos Muñoz / Serna
2 Recursividad 2.1 Concepto de recursividad Se dice que una función es recursiva cuando dicha función se define en términos de la misma función. Es importante recordar que no todas la funciones pueden
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
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,
Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL
Ciclos Fundamentos de Programación Recordando Estructuras de Control Básicas: Una secuencia es una serie de estatutos que se ejecutan uno después de otro. Selección (condición) ejecuta diferentes estatutos
FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 )
FUNCIONES Las funciones son el medio básico de que se vale C para construir programas. Un Programa es, básicamente, una colección de funciones entre las que se incluye una especial llamada main(), la función
#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)
Recursión Directa. Una función es de recursión directa si contiene una llamada explícita a si misma. return foo (y 1); Recursión Indirecta
Recursión Directa Una función es de recursión directa si contiene una llamada explícita a si misma int foo (int x) { if ( x
Funciones. Parámetros por valor
Funciones I Parámetros por valor Fundamentos de Programación Fundamentos de Programación I Llamada a la función definición subprograma Subprogramas en C++ Funciones 1 Una función es un subprograma que
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.
Tema: Sobrecarga. Objetivos. Materiales y Equipo. Introducción Teórica. Programación II. Guía No. 7
Programación II. Guía No. 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen con
FACULTADE 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:
Concepto 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
Prueba N o 1. Programación II
UNIVERSIDAD ANDRÉS BELLO 1 Prueba N o 1 Programación II Profesores: José Luis Allende y Carlos Beyzaga. Fecha: 10 de Septiembre de 2013 Nombre: Nota: Instrucciones: Coloque su nombre a todas las hojas.
1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Escuela 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
Tipos de datos algebraicos
Tipos de datos algebraicos Taller de Álgebra I Segundo cuatrimestre de 2013 Programación funcional Recordemos que un tipo de datos es un conjunto dotado con una serie de operaciones sobre los elementos
Alonso Ramírez Manzanares Computación y Algoritmos 10.03
Recursividad mat-151 1 Ejercicio de recursión: dibujando una regla Queremos dibujar las marcas de diferentes tamaños de una regla. Marcas grandes cada 1/2 cm, marcas más pequeñas cada 1/4 cm... hasta una
Una 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
Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.
Programación I, Guía 6 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Objetivos Utilizar la sintaxis de las funciones definidas
Esquema. Condicionales. Ejemplo de condicional. Demostración. P { if (B) uno else dos } Q. P { while (B) cuerpo } Q
Esquema Teórica Imperativo 2 Estructuras de control Instrucción de asignación P{v=e Q // estado 1; vale P: true v:=e; // vale Q: v == e@1 && para toda vi: vi == vi@1 Instrucciones de Control de Flujo P
Tema 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
Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:
Ejercicios De Programación De C++ 1. Muestre en pantalla el mensaje Bienvenido. Algoritmos 1. Inicio 2. muestrer en pantalla el mensaje Bienvenido 3. Fin Lenguaje De Programación C++: #include
Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación
Funciones: 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
Agradecimientos. 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
Recursión. Capítulo 4
Recursión Capítulo 4 Introducción La recursión o recursividad es un concepto amplio, con muchas variantes, y difícil de precisar con pocas palabras.. Actividades Cotidianas; fotografía donde se observa
Algoritmos 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
Programación Dinámica
Leopoldo Taravilse Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Training Camp 2012 Leopoldo Taravilse (UBA) TC 2012 1 / 34 Contenidos 1 Recursión Principio de Optimalidad Ejemplos
Funciones en C++: Nota: Este material es de estudio personal, en clases sólo revisaremos las láminas con. Usted revise todo.
Funciones en C++: Nota: Este material es de estudio personal, en clases sólo revisaremos las láminas con. Usted revise todo. Agustín J. González ELO329 1 Parámetros Un parámetro actual (o valor, argumento)
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
Modelos 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
Introducción a la programación en C eme - Escuela Universitaria de Música
Introducción a la programación en C eme - Escuela Universitaria de Música Hoja de ejercicios Nro 3 Ejercicio 1 Considere la siguiente secuencia de 13 números, [0 5 10 2 7 12 4 9 1 6 11 3 8] La regla de
Tecnología de la Programación
Título de Grado en Ingeniería Informática Curso 2009/10 Fernando Jiménez Barrionuevo Gracia Sánchez Carpena Mari Carmen Garrido Carrera Departamento de Ingeniería de la Información de las Comunicaciones
El concepto de función en programación se fundamenta en el concepto de función matemática 1
FUNCIONES Y PROCEDIMIENTOS OBJETIVOS Aprender a resolver problemas grandes y complejos dividiendo un problema en subproblemas a través del uso de procedimientos y funciones. Distinguir entre parámetros
Programación imperativa. Algoritmos y Estructuras de Datos I. Lenguaje C. Segundo cuatrimestre de 2014
Programación imperativa Algoritmos y Estructuras de Datos I Segundo cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Programación imperativa - clase 4 Modelo de cómputo: Un programa consta
A = A n. = {a n. Georges E. Alfaro Salazar 1
UNICIENCIA 26 pp. 99-111 2012 Cálculo de funciones por recursión de cola y sustitución de parámetros Evaluating functions using tail recursion and parameter substitution Georges E. Alfaro Salazar 1 Resumen
Funciones y Parámetros
Funciones y Parámetros! Funciones! Concepto! Argumentos! Programa Principal! Recursividad El programa principal Es el punto de entrada al programa Imprescindible para conseguir un ejecutable autónomo o
Universidad de Cantabria
Métodos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Conocer la implementación de métodos. Familiarizarse con el concepto
1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
Metodología y Tecnología de la Programación
Tema 4. Abstracción procedimental y de datos 1. Cuál es el error del siguiente programa? import java.util.scanner; class Respuesta{ static Scanner leer=new Scanner(System.in); int valor = lectura(); System.out.println(valor);
Tema 5.- Recursividad
Apuntes elaborados por: Raquel López, Eduardo Quevedo y Aaron Asencio Revado por: Javier Miranda el???? Tema 5.- Recursividad NOTA Todos los ejemplos que se exponen en este tema se pueden realizar utilizando
ANEXO XVII DE LA RESOLUCION N
Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:
Tema 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
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
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
TEMA 4: Programación estructurada
TEMA 4: Programación estructurada 4.1.-Introducción. Teorema de la programación estructurada El principio fundamental de la programación estructurada es que en todo momento el programador pueda mantener
Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010
FUNCIONES Definición: Una función es un subprograma que recibe cero o más valores de entrada y retorna un único objeto de salida. Es una tarea independiente que puede o no depender de variables externas.
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo
Introducción al lenguaje C
Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos
Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
TEMA 4. ESTRUCTURAS DE CONTROL
M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.
Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema
Los esquemas repetitivos permiten implementar iteraciones del lenguaje algorítmico (mientras, repetir, para, hasta). Podemos dividir los esquemas según: - Se conozcan el número de iteraciones a priori,
Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño
Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos
Procedimientos Definidos Localmente
Capítulo 5 Procedimientos Definidos Localmente 5.1 Distinguiendo entre definiciones globales ylocales Todas las primitivas (o procedimientos) disponibles en Scheme (p.ej., car, cons, cdr, etc.) se definen
Tema 10: Árbol binario de búsqueda
Tema 10: Árbol binario de búsqueda M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Árbol binario de
SUBPROGRAMAS FUNCIONES
SUBPROGRAMAS FUNCIONES 1 INTRODUCCIÓN En la mayoría de los casos, un determinado problema complejo lo podemos (y debemos) dividir en problemas más sencillos. (Módulos o Subprogramas) TÉCNICA DE DISEÑO
Programación I Funciones
1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad
Funciones y paso de parámetros
Unidad Didáctica 24 Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Índice Consideraciones sobre funciones Estructura de una función
Lección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
Cátedra I Informática Autor I Carlos Bartó
FCEFyN Departamento de Computación Informática Examen - 07-07-2008 Apellido y Nombres: Matrícula: Carrera: PROBLEMAS: 1) Especifique en el lenguaje C++ una función denominada calc_fecha() que tenga como
CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE
CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE 1 Estructura de Datos 1. Logica de Programación 2. Uso de Algoritmos usando Lenguaje Java 3. Ingreso de datos 4. Sentencias de Control 1.
Prof. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 3 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº3 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi primeras
Informática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Funciones en lenguaje C Funciones en lenguaje C Definición de funciones Declaración de funciones Relación entre variables y funciones Parámetros
Trabajo Práctico N 9 Recursividad
Trabajo Práctico N 9 Recursividad Ejercicio. Implemente en Pascal las siguientes definiciones recursivas. a) h ( N) h( N ) h( N ), N, N 0 0 b) 0 g ( x, z) 0 g( x, z ), x 0, z 0, ( x 0) y ( z 0) c) f (
Examen Principios de Programación Febrero 2012
Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.
Tema 6: Generación de código (parte 2)
Tema 6: Generación de código (parte 2) Procesamiento de Lenguajes Dept de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 6: Generación de código (parte 2) 1 /
Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros
Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros Especificación de TAD s. TAD Pila de Enteros. desapilar 2 7 3 5 apilar Cima de la Pila Cima de la Pila Definición: Estructura de Datos que
Recursividad. Introducción a la programación
Recursividad Introducción a la programación I semestre, 2016 Concepto general Un concepto que está definido utilizando para este propósito el propio concepto que se está definiendo. Es un proceso de repetición
Algoritmos glotones. mat-151
Algoritmos glotones (greedy) mat-151 Alonso Ramirez Manzanares Computación y Algoritmos 04.06.2009 Algoritmos glotones Algoritmos utilizados en problemas de optimización. Estos algoritmos siguen típicamente
Estructura de datos y de la información Boletín de problemas - Tema 10
Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico
Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.
ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.
TEMA 1. Introducción a la programación. CONSIDERACIONES GENERALES.
TEMA 1 Introducción a la programación. CONSIDERACIONES GENERALES. EJERCICIOS AreaTriangulo Escriba un programa que calcule el área de un triángulo rectángulo dadas la altura y la base. El área de un triángulo
Solución - práctico 10
Solución - práctico 10 Complejidad Ejercicio 1 a) Una implementación del algoritmo es la siguiente: /* Procedimiento que se encarga de realizar la unión de los dos conjuntos * ordenados der1 e izq1 son
Ejercicios Tema 6. Funciones
Ejercicios Tema 6. Funciones 1. Programa que calcule el cuadrado de todos los números comprendidos entre dos dados. Usar una función a la que se le pasa como parámetro un valor y retorna su cuadrado. 2.
<tipo> Tipo de dato de los elementos del vector
Vectores y matrices Declaración Vector (array unidimiensional): []; Tipo de dato de los elementos del vector Identificador de la variable.
Introducción a los Computadores Estructuras de control repetitivas en C
Introducción a los Computadores Estructuras de control repetitivas en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013.
Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo
PROGRAMACION MODULAR FUNCIONES
PROGRAMACION MODULAR FUNCIONES Ventajas de la programación modular: Aumentar la legibilidad y comprensión del programa Reducir el tiempo de desarrollo, aprovechando módulos ya existentes Permitir la resolución