La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones.

Presentaciones similares


Presentación del tema: "Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones."— Transcripción de la presentación:

1 Funciones Copyright © 2005 Unidad 1

2 Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones incorporadas de C y explicar cómo se usan. Identificar las diferentes partes del encabezado de una función. Describir los diferentes tipos de argumentos. Definir los prototipos de funciones y sus usos. Explicar cómo usar las funciones para solucionar problemas.

3 Copyright © 2005 Introducción Una función es un programa autocontenido que lleva a cabo una tarea específica. Un programa en C es realmente una colección de una o más funciones. Así, main() es en efecto una función. Todos los programas en C deben tener una función main. Los programas en C se inician con la ejecución de la función main. Una función toma cero o más entradas, lleva a cabo una tarea específica y retorna un solo valor como resultado.

4 Copyright © 2005 Funciones Incorporadas en C Las funciones incorporadas son aquellas que son parte de la librería estándar de C. Son diferentes a las funciones definidas por el usuario las cuales son diseñadas y escritas por el programador para un uso específico en las aplicaciones. Algunas funciones incorporadas en C son: printf scanf toupper sqrt

5 Copyright © 2005 Más acerca de Funciones Una función tiene las siguientes características : - Tiene un nombre único o un identificador. - Trabaja con cero o más entradas (parámetros). Las funciones también se pueden invocar dentro de otras funciones y se conoce como llamar a una función (calling). La función invocada desde otra función se conoce como la función llamada (called). La función llamada ejecuta las sentencias que son parte de la función, llevando a cabo la tarea deseada y retorna a la función que la invocó. La ejecución se reanuda en la sentencia que sigue inmediatamente después a la llamada de la función.

6 Copyright © 2005 Características de las Funciones en C Algunas características relacionadas con Funciones en C son: Se pueden crear funciones definidas por el usuario. Ofrece diferentes mecanismos para: 1.Pasar entradas a la función. 2.Aceptar las entradas para luego procesarlas. 3.Retornar un solo valor como resultado. 4.Controlar tareas internas involucradas en el proceso de invocar, transferir el control, ejecutar y retornar a la función que la invocó.

7 Copyright © 2005 Ventajas de las Funciones Permite descomponer un programa grande en partes más pequeñas, manejables y autocontenidas, y el proceso se denomina modularización. La modularización se puede lograr en C sólo a través de las funciones. Se logra una claridad lógica de los programas al descomponerlo en pequeñas unidades. Ayudan a evitar repetir la programación de las mismas instrucciones que necesitan otros programas o partes de un programa. Ayuda a los programadores a construir sus propios conjuntos de funciones en una librería personalizada. Permiten que porciones del programa que son dependientes de la máquina sean separadas de las otras para facilitar la portabilidad de los programas.

8 Copyright © 2005 Partes de una Función Una función tiene dos partes principales: Encabezado de la función. Cuerpo de la función. El encabezado de función tiene: Especificación del tipo del valor a ser retornado por la función. Un nombre de función, que sigue las reglas para crear un identificador. Un conjunto de argumentos, datos pasados como entrada a la función, que están separados por comas. El conjunto de argumentos en un encabezado de función es opcional. Si una función no toma ninguna entrada, el encabezado tendrá un nombre de función seguido por ().

9 Copyright © 2005 Partes de una Función...2 El cuerpo de la función es el conjunto de sentencias encerradas entre llaves { }. El conjunto de sentencias define la tarea que lleva a cabo la función. El cuerpo de la función puede contener los siguientes tipos de sentencias: -Sentencias Declarativas. -Sentencias de Asignación. -Sentencias Compuestas. -Llamadas a Funciones.

10 Copyright © 2005 El cuerpo puede contener cero o más sentencias return. Las sentencia return ayudan a pasar el valor del resultado único al programa que hizo la llamada. Ejemplo: nombreFuncion(){ sentencias; return; } La sentencia return causa que el programa que llama inicie la ejecución a partir de la sentencia que sigue inmediatamente después a la llamada de la función. Uso de Funciones en la Solución de Problemas

11 Copyright © 2005 Funciones y Sentencias return Las funciones con tipo de retorno void no necesitan tener la sentencia return explícitamente. La sentencia return en este caso se mantiene por dos razones: La sentencia return se usa cuando hay múltiples condiciones verificadas en una función y la función debe finalizar su ejecución, cuando una de sus condiciones se satisface. Se considera una buena práctica de programación insertar una sentencia return aún cuando hay un solo punto de retorno en la función.

12 Copyright © 2005 Funciones...Ejemplo 1 Determinar el Máximo de Dos Números Enteros: /* Versión 1 */ int max(int x, int y){ if(x >= y) return (x); else return (y); } /* Versión 2 */ int max(int x, int y){ int maximo; if(x >= y) maximo=x; else maximo=y; return maximo; } La función llamada max retorna int como resultado. El cuerpo de la función verifica cuál de las variables es mayor y retorna el valor.

13 Copyright © 2005 Determinar si un Entero es Impar: int esImpar(int x){ if(x % 2 != 0) return (1); else return (0); } Verifica si el residuo de la división entre 2 es 0. Si el residuo no es 0 entonces es un número impar y retorna el valor de verdadero. En C el valor de 1 se considera VERDADERO y el valor 0 FALSO. Funciones...Ejemplo 2

14 Copyright © 2005 Convertir un Carácter de Minúscula a Mayúscula. char min_a_may(char en){ if(en >= 'a' && en <= 'z'){ return (en - 'a' + 'A'); } else{ return(en); } Proponer una Segunda Versión para dicha coversión. Funciones...Ejemplo 3

15 Copyright © 2005 Funciones... Ejemplo 4 Determinar el Factorial de un Entero. int factorial(int x){ int k,fact; fact = 1; if(x == 0 || x == 1) return (1); else{ for(k = 2; k <= x; k++) fact = fact * k; return (fact); }

16 Copyright © 2005 Clases de Almacenamiento En C se puede especificar una clase de almacenamiento en la declaración. Las clases de almacenamiento se usan en C para definir la visibilidad y el tiempo de vida de las variables. El formato es: nom-var; C tiene cuatro clases de almacenamiento: automatic extern register static

17 Copyright © 2005 Clase de Almacenamiento tipo automatic Las variables definidas dentro de una función se denominan variables locales Por defecto las variables locales corresponde a la clase de almacenamiento automatic. int f1(){ int i; /* Variable automatic */ float f; sentencia1; sentencia2; … sentencian; }

18 Copyright © 2005 Clase de Almacenamiento tipo register La clase de almacenamiento register asigna memoria en los registros de alta-velocidad de la CPU. Se usa para sugerirle al compilador que una variable local automática sea guardada en un registro del procesador, en vez de la memoria regular. int f1(register int a}{ register int i; … }

19 Copyright © 2005 Clase de Almacenamiento tipo static La clase de almacenamiento static le informa al compilador que los valores almacenados en las variables están disponibles entre llamadas a funciones. main(){ int i; /* El bucle invoca la función generarIdno */ for(i = 1; i <= 10; i++) printf("idno es %d\n", generarIdno()); } /* La función generarIdno inicia aquí */ generarIdno(){ static int idno = 0; return ++idno; }

20 Copyright © 2005 Clase de Almacenamiento tipo extern Las variables cuya definición está fuera de cualquier función (incluyendo la función main())pertenecen a la clase de almacenamiento extern. Las variables de tipo extern son visibles a través del programa, a partir del punto en que son definidas hasta el final del ámbito establecido para ellas. Cualquier cambio que se haga a los valores de las variables de tipo extern afectan al resto del programa. ¿Se puede tener una variable declarada como extern en otro archivo? La respuesta es sí.

21 Copyright © 2005 Clase de Almacenamiento tipo extern...2 /* Archivo1.c */ int k, m; main(){ … } /* Archivo2.c*/ int k,j; extern int m; int f1(){ … } int n; int f2(){ … } /* Archivo3.h */ /* Los prototipos de funciones están en éste archivo */ int f1(); int f2();

22 Copyright © 2005 Archivos de Encabezados (header) Los archivos de Encabezados (header) centralizan las definiciones y declaraciones. Permite tener una sola copia mientras se desarrolla el programa facilitando el mantenimiento. En el ejemplo, el contenido común se coloca en Archivo3.h conocido como un archivo header que se incluye a través de la sentencia #include “Archivo3.h” en los archivos Archivo1.c y Archivo2.c. El mecanismo de cómo compilar y cargar un programa en C que reside en varios archivos fuente varía de un sistema a otro. En UNIX, el comando cc realiza el enlace: cc Archivo1.c Archivo2.c Archivo3.h

23 Copyright © 2005 Resumen Se explicó la naturaleza y uso de las funciones. Se describieron algunas funciones incorporadas de C y cómo se usan. Se identificaron las diferentes partes del encabezado de una función. Se estudiaron los diferentes tipos de argumentos. Se definió el concepto de prototipos de funciones y y se estableció sus usos. Se estudiaron los tipos de almacenamiento. Se discutió las ventajas de los archivos de encabezado.

24 Copyright © 2005 Resumen Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que las funciones recursivas trabajen correctamente. Describir cómo una función recursiva trabaja cuando se ejecuta. Definir el rol de la pila en la ejecución de las funciones recursivas.


Descargar ppt "Funciones Copyright © 2005 Unidad 1. Copyright © 2005 Objetivos del Aprendizaje Explicar la naturaleza y usos de las funciones. Describir algunas funciones."

Presentaciones similares


Anuncios Google