Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad II Modularidad"
2.2 El concepto de funcin, procedimiento y modulo
Estructuras de datos (Prof. Edgardo A. Franco)
Contenido
Funciones y procedimientos Concepto de funcin en C
Funciones en C Funciones y procedimientos en C
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Estructura de una funcin en C Llamada o invocacin a una funcin Prototipo o declaracin de funciones Definicin de funciones
Funciones
Son elementos que realizan una tarea en particular y retornan un valor a la salida. Son utilizadas como expresiones primarias y por lo tanto formar parte de expresiones ms complejas, es decir, se pueden utilizar para realizar operaciones con el valor que retornan a la salida. Por ejemplo, sumarse, restarse, multiplicarse, dividirse, etc.
float valor; valor = 2*pow(x,y)+sqrt(4.23245)+7*sin(2*3.1416);
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Procedimientos
Son elementos que realizan una tarea en particular pero que no retornan un valor a la salida y pueden recibir o no parmetros a la entrada. Son utilizadas como expresiones instruccin y se invocan cuando se requiere que el programa realice esa tarea en particular.
printf( Imprimir una cadena de caracteres ); scanf( %f, &x );//Capturar el valor de una variable
4
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Concepto de funcin en C
Una funcin es un miniprograma dentro de un programa ms general, en otras palabras, una funcin es un pequeo fragmento de cdigo funcional que realiza una tarea especifica.
Desarrollar un programa utilizando funciones ayuda a: Ahorrar espacio eliminando el cdigo repetido. Hace ms fcil la programacin. Proporcionan un medio para dividir un proyecto grande en pequeos mdulos ms entendibles y manejables. Permiten construir nuevos sistemas a partir de otros ya desarrollados. Facilitan la labor de planeacin, desarrollo y documentacin de los programas.
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Funciones en C
Un programa en C puede constar de una o varias definiciones de funciones. Cada una de estas funciones realiza una tarea en particular. Las funciones en C no se pueden anidar, es decir, no se puede declarar el cuerpo de una funcin dentro de otra funcin. En C todas las funciones son externas y globales, es decir, pueden ser invocadas desde cualquier parte del programa, incluso dentro de otra funcin.
6
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Funciones y procedimientos en C
Las funciones en C provienen de las llamadas a subrutinas de Fortran, sin embargo, su uso intensivo se introdujo con los procedimientos y funciones de Algol y Pascal. Las funciones en C se pueden utilizar para modelar los conceptos de la modularidad como:
Funciones (Retornando un valor y recibiendo o no parmetros) Procedimientos (No retornando ningn valor y recibiendo o no
parmetros)
7
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Donde:
tipo_de_retorno: Es el valor devuelto por la funcin o la palabra reservada void por si la funcin no retorna ningn valor.
nombreFuncion: Es el identificador o nombre de la funcin.
listaParametros: Es la lista de parmetros que la funcin recibe como entrada, separados por comas.
8
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Una llamada a una funcin produce la ejecucin de las expresiones del cuerpo de la funcin y un retorno a la unidad de programa invocadora despus de que la ejecucin de la funcin haya terminando, normalmente cuando se encuentra una sentencia return.
Por convencin el nombre de una funcin debe comenzar con una letra en mayscula o con un guin bajo ( _ ) y puede estar formado de una longitud n se recomienda una longitud no mxima de 32 caracteres alfanumricos, maysculas, minsculas y guiones bajos, pero sin espacios intermedios.
Tipo de retorno:
Una funcin siempre devuelve un tipo de valor a la salida, este tipo de retorno puede ser uno de los datos simples de C o un apuntador a cualquier tipo de dato, sin embargo, si una funcin no devuelve un resultado, se utiliza el tipo void, que se considera como un tipo de dato nulo.
10
Una funcin puede tener cualquier numero de sentencias return, en el momento que el programa encuentre una de estas sentencias, devolver el control a la sentencia invocadora. S no se encuentra ninguna sentencia return la ejecucin de la funcin continuar hasta el final de dicha funcin, es decir, hasta que se encuentre la llave de cerrado }, en ese momento se devolver el control a la sentencia invocadora.
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Una funcin devuelve un nico valor, el valor devuelto (expresin) puede ser cualquier tipo de dato conocido en C (simple o estructurado). Sin embargo, tambin se puede retornar valores mltiples devolviendo un apuntador a una estructura o un arreglo.
11
En C slo se permite el paso de parmetros por valor y nicamente de los tipos de datos bsicos. No obstante, C utiliza el paso de apuntadores para el paso de parmetros por referencia, es decir, se puede pasar apuntadores a tipos de datos simples, estructuras, arreglos e incluso a funciones. (Se retomar con el tema de apuntadores).
El paso de parmetros en una funcin es opcional, pero si se incluyen, deben estar declarados entre los parntesis de la declaracin de la funcin y separados por comas, es decir, cada parmetro debe tener una declaracin independiente.
12
13
14
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Cuando se realiza una invocacin a una funcin, el compilador ya conoce cuales son el numero y los tipos de dato que la funcin debe recibir, confirma que los datos enviados a la funcin coincidan con los que conoce previamente y si no coinciden se generara un error en tiempo de compilacin. El compilador slo utiliza la informacin de los tipos de dato que debe recibir una funcin. Los identificadores de dichos datos son irrelevantes para tal proceso, sin embargo, se recomienda utilizarlos con propsito de hacer ms comprensible la utilidad de la funcin.
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
El prototipo de la funcin sirve para que el compilador realice la comprobacin de tipos de dato de retorno y envo.
16
Definicin de funciones
La declaracin de un prototipo de funcin es diferente a la definicin de dicha funcin.
La declaracin contiene slo la cabecera de la funcin, es decir, su prototipo y se listan sus caractersticas. La definicin significa colocar el cuerpo de la funcin, es decir, definir la estructura del cdigo de la funcin en alguna parte del programa, pero fuera del mtodo principal main().
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
La declaracin del prototipo de la funcin sirve para el compilador pueda validar que nmero y el tipo de datos de entrada de la funcin coincidan con los que se utilizan en la llamada o invocacin a dicha funcin.
17
int main( void ) { double x = 11.5; double resultado; resultado = calcularCuadrado( x ); printf( "El cuadrado de x es: %8.4lf \n", resultado ); return 0; Definicin de la funcin, } en este momento se double calcularCuadrado( double numero ) colocan los { identificadores en los return numero*numero; tipos de dato }
Algoritmia y programacin estructurada 2.2 El concepto de funcin, procedimiento y modulo Autor: M. en C. Edgardo Adrin Franco Martnez
Cuando se define el cdigo de la funcin, es este momento, si es necesario colocar tanto tipo de datos y sus identificadores ya que se le estar indicando al compilador que utilice dichos identificadores como elementos de procesamiento para que la funcin realice la tarea especificada.
18