Funciones y recursividad

Slides:



Advertisements
Presentaciones similares
Estructuras de control Secuenciales y selectivas
Advertisements

Estructuras de decisión en C
Ejemplo de Programa C++
MANUAL EXPRESS DE C J.M.sevilla.
LOGROS DEL PERÍODO Utiliza de forma correcta las funciones para entrada y salida de datos en c++. Utiliza los elementos básicos de un programa en c++.
Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
Procedimientos y Funciones
Programacion de Computadora Prof. Obadiah Oghoerore.
Informática I Código Semestre Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza.
Programación I Teoría IV
Programación, Algoritmos y Estructuras de Datos
Funciones. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
FUNCIONES EN C.
INFORMATICA I Funciones CLASE 13.
Tratamiento de listas en Java
ESTRUCTURA DEL LENGUAJE C
SOBRECARGA DE FUNCIONES
Estructuras de Datos Manipulación de la Especificación de la Lista en C++
Curso Práctica 3 1 Funciones CONTENIDO Consideraciones sobre funciones Estructura de un programa en C Uso de funciones Paso de parámetros Punteros.
Tablas y Cadenas CONTENIDO Tablas
Acciones y funciones Concepto
Método en Java.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones en lenguaje C
FUNCIONES EN C.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Programación I Teoría II
El lenguaje de programación C - Funciones -
Programación I Teoría VI: Recursividad
Programa “Coordenadas” Ing. Arturo Díaz Vargas Departamento de Sistemas División de Ciencias Básicas e Ingeniería UNIVERSIDAD AUTONOMA METROPOLITANA.
Tema 9 Estructuras.
Paso de Vectores como Parámetros
Semana 5 Subprogramas..
Tema 7c Entrada y salida de funciones. Funciones Funcion Entradas SalidasTareas.
Clase Teórica No. 4 Programación IV
Programación III Clase 07 Funciones.
Introducción a los punteros
FUNCIONES EN C.
Programación III Clase 06 Funciones.
Funciones1 PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO Profr. Miguel Rodríguez Hernández PROGRAMACIÓN MODULAR O FUNCIONAL.
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
APUNTADORES EN C. MENU DEL DIA Repaso clase anterior Apuntadores. Eso pa que? Solución al problema: Funciones. Ventajas de trabajar un programa usando.
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Descomposición Modular. Funciones
El lenguaje de programación C - Vectores y matrices -
Introducción a la Programación “El lenguaje C” Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Punteros.
Trazado. 1 Intercambio sin error #include void intercambio(int *, int *); /* prototipo */ main(){ int a=1,b=2; printf("a=%d b=%d\n",a,b); intercambio(&a,&b);
APUNTADORES.
Definición de subprogramas en C
Radio Volumen esfera m. m #include.
Fundamentos de Programación
INTRODUCCIÓN AL LENGUAJE C++
LENGUAJE “C” Programación.
ESTRUCTURAS SELECTIVAS
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Unidad V Recursión. Objetivos del Aprendizaje Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que.
Una función es un bloque de instrucciones que se ejecuta al ser llamada desde algún punto del programa, con nombre, que ejecuta una tarea específica y.
Las funciones son librerías ya estandarizadas que permiten al usuario realizar sus respectivas programaciones. Una función es un conjunto de líneas de.
TIPOS DE DATOS PARCIAL III FUNCIONES. Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman ciertos valores.
Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.
Integrantes:  Gómez Desire  Orgelys Linares  Oriannys Linares  Sánchez Alfredo  Wendher Villasmil.
Gabriela Araya Baez Estudiante Ingenieria Civil Industrial.
TIPOS DE DATOS Estructuras de control y repetición PARCIAL III.
Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 24.
Transcripción de la presentación:

Funciones y recursividad Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Funciones. Funciones y recursividad

Programación, Algoritmos y Estructuras de Datos Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Funciones. Definición Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Propiedades: Pueden tomar parámetros que modifiquen su funcionamiento. Los mismos pueden ser pasados por valor o por referencia para permitirle a la función (o no) modificar las variables que se le pasan. Son utilizadas para descomponer grandes problemas en tareas simples o para reemplazar tareas repetitivas y así reducir el código. Cuando se llama a la función, se le pasa el control a la misma y una vez que la función termina se retorna el control al punto desde donde se llamo.

Programación, Algoritmos y Estructuras de Datos Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Funciones. Pasaje de parámetros por valor En este caso, los parámetros que recibe la función son copias de los valores de las variables con las que se realiza el llamado. Esto permite que la función opere con dichos valores pero no podrá modificar las variables originales. Las funciones solo pueden retornar un valor mediante el comando return. Si se necesita retornar mas valores es necesario usar pasaje por referencia. float absoluto(float numero); int main(void) { float valor,resultado; valor=-5; resultado=absoluto(valor); printf("\nel valor absoluto es:%f",resultado); return(0); } float absoluto(float numero) if(numero<0) numero=-numero; return(numero); Se llama a la función pasándole -5 como parámetro. Dentro de la función el parámetro se pasa a llamar «numero» y toma el valor -5 Notar que cuando se cambia el valor de ¨numero¨, el valor de ¨valor¨ permanece inalterado (es una copia!) Cuando se realiza el return, se coloca el valor de ¨numero¨ dentro de ¨resultado¨. (notar que ambos son tipo float)

Programación, Algoritmos y Estructuras de Datos Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Funciones. Pasaje de parámetros por referencia Se dice que un parámetro es pasado por referencia cuando se pasa la dirección de una variable. Al conocer la dirección, la función es capaz de leer y modificar la variable. void suma_imaginarios(int real1,int img1,int real2,int img2,int *real_resp,int *img_resp); int a=1,b=2,c=3,d=4,resp1,resp2; int main(void) { suma_imaginarios(a,b,c,d,&resp1,&resp2); printf("\n\n %d+%di + %d+%di = %d+%di",a,b,c,d,resp1,resp2); return(0); } void suma_imaginarios(int real1,int img1,int real2,int img2,int *real_resp,int *img_resp) *real_resp=real1+real2; *img_resp=img1+img2; return; La función tiene 2 parámetros por referencia donde la misma guarda el resultado. Al llamar a la función le paso la dirección de las variables pasadas por referencia además de las pasadas por valor. Como la función conoce la dirección de las variables, en el mismo momento que se modifica ¨real_resp¨ se cambia ¨resp1¨ Nota: el pasaje de parámetros por referencia es especialmente útil cuando se necesita devolver múltiples resultados en una función.

Programación, Algoritmos y Estructuras de Datos Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Funciones. Arreglos y funciones Para operar sobre arreglos se utiliza una combinación de pasaje por valor y referencia. Primero se pasa la dirección del comienzo del arreglo y además se pasa el tamaño del arreglo por valor. Dirección del primer elemento pasada por referencia C[0] -45 C[1] 6 Cantidad de elementos del arreglo para que la función sepa hasta que dirección puede avanzar C[2] C[3] 72 C[4] 1543 C[5] -89

Programación, Algoritmos y Estructuras de Datos Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Recursividad Definición Se dice que una función es recursiva cuando existe algún llamado a si misma dentro del código. Estas funciones no pueden llamarse a si mismas de manera infinita por lo que es necesario que se cuente con una condición de salida la cual termine con la recursividad.

1!=1 N!=(N-1)! x N N!=1x2x3……….xN 3!=1x2x3 4!=1x2x3x4 =3! x 4 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Recursividad. Càlculo del factorial de un nùmero N!=1x2x3……….xN 3!=1x2x3 4!=1x2x3x4 =3! x 4 3! 1!=1 N!=(N-1)! x N

Programación, Algoritmos y Estructuras de Datos Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 5. Tema: Recursividad fac (4) { ….. res=fac (n-1)*n; return(res); } #include <stdio.h> int fac(int n); int main(void) { printf("%d", fac(4)); return(0); } int fac(int n) int res; if(n==1) return(1); else res=fac (n-1)*n; return(res); fac(3) { ….. res=fac (n-1)*n; return(res); } 6 * 4 2 * 3 fac(2) { ….. res=fac (n-1)*n; return(res); } 1 * 2 fac(1) { ……. return(1); …….. } 1