Вы находитесь на странице: 1из 15

INTRODUCCIN

En la siguiente investigacin se tocaron los siguientes temas variables locales y globales, funciones y sus diferentes caractersticas., una variable local se puede definir como aquella cuyo mbito se restringe a la funcin que la ha declarado se dice entonces que la variable es local a esa funcin. Y una variable global se puede definir como aquella que se define fuera del cuerpo de cualquier funcin, normalmente al principio del programa, despus de la definicin de los archivos de biblioteca (#include), de la definicin de constantes simblicas y antes de cualquier funcin. Una funcin por otra parte podra considerarse como una variable que encierra cdigo dentro de s. Por lo tanto cuando accedemos a dicha variable (la funcin) en realidad lo que estamos es diciendo al programa que ejecute un determinado cdigo predefinido anteriormente. La razn por la cual al hablar de funcin se habla de variable es porque la funcin engloba al tipo de variable, para tratar de explicar el funcionamiento de este tipo de datos es necesaria la investigacin de las dos en conjunto. Tambin se hablara de los argumentos que es el medio a partir del cual podemos expandir el mbito de variables locales de funciones, hacia otras funciones y adems quienes nos permiten establecer comunicaciones entre funciones. En si el fin de esta investigacin es el indagar a profundidad el tema de funciones para tener un mejor manejo de ellas desde lo ms simple como lo es la variable hasta lo ms complejo que es la declaracin de las mismas. Sin ms que agregar esperamos que el documento sea de su agrado y le sirva de apoyo y gua para reforzar sus conocimientos en programacin.

OBJETIVOS
Objetivo general: Analizar la forma en que est estructurada la programacin modular, conocer los elementos que intervienen en ella, para comprender su funcionamiento. Objetivos especficos: 1. Conocer la diferencia entre las variables locales y variables globales que se utilizan a la hora de programar 2. Identificar la utilizacin de las funciones y los diferentes tipos de devoluciones de funcin que existen. 3. Analizar y conocer todos los argumentos fundamentales, as como, identificar el momento de emplear declaracin de funciones.

VARIABLES LOCALES
Una variable local es aquella cuyo mbito se restringe a la funcin que la ha declarado, se dice entonces que la variable es local a esa funcin. Esto implica que slo se podr manipular la variable desde dicha funcin y no se podr hacer referencia a ella desde fuera de sta. Cualquier variable definida dentro de las llaves del cuerpo de una funcin se interpreta como una variable local a esa funcin. El mbito de un argumento formal es idntico al de una variable local; el argumento formal definido en la cabecera de una funcin slo podr ser accedido dentro del cuerpo de esa funcin y no en otros lugares del programa. Cuando declaramos variables dentro de la funcin principal del programa, es decir, dentro de la funcin main, estn nicamente asociadas a esta funcin, en otras palabras, son variables locales de la funcin main y no se puede acceder a ellas a travs de ninguna otra funcin. Al igual que sucede con las variables declaradas dentro de la funcin main, cualquier variable que declaremos dentro de una funcin, es local a esa funcin, es decir, su mbito est confinado a dicha funcin. Esta situacin permite que existan variables con el mismo nombre en diferentes funciones y que no mantengan ninguna relacin entre s.

Variables locales: son aquellas cuyo mbito de actuacin se reduce a la funcin o procedimiento donde estn definidas. Fuera de su funcin o procedimiento, estas variables no sern conocidas.
VARIABLE LOCAL #include <stdio.h> int main () { int x; }

VARIABLES GLOBALES
A diferencia de las variables locales cuyo mbito estaba confinado a la funcin donde estaban declaradas, el mbito de las variables globales se extiende desde el punto en el que se definen hasta el final del programa. En otras palabras, si definimos una variable al principio del programa, cualquier funcin que forme parte de ste podr utilizarla simplemente haciendo uso de su nombre. Una variable global es aquella que se define fuera del cuerpo de cualquier funcin, normalmente al principio del programa, despus de la definicin de los archivos de biblioteca (#include), de la definicin de constantes simblicas y antes de cualquier funcin. El mbito de una variable global son todas las funciones que componen el programa, cualquier funcin puede acceder a dichas variables para leer y escribir en ellas. Es decir, se puede hacer referencia a su direccin de memoria en cualquier parte del programa.

Una variable global se declara fuera de todas las funciones, incluyendo a la funcin main (). Por ejemplo:
VARIABLE GLOBAL #include<stdio.h> short numero, suma; int numerogr, sumagr; char letra; main () { ... }

#include <stdio.h> int x; int main ( ) { .. {

FUNCIN

Una funcin es un conjunto de instrucciones independientes cuyo objetivo es el de minimizar la complejidad de un problema, descomponindolo en subproblemas ms fciles de resolver. Una funcin debe realizar una tarea especfica si le damos a una funcin ms de una puede que no estemos analizando del todo el problema. En el lenguaje C, la tcnica de programacin modular se implementa mediante la utilizacin de funciones. Una tcnica permite agrupar un conjunto de instrucciones en un bloque que tpicamente realizar un atarea elemental. En la resolucin de un problema particular es necesario identificar previamente las tareas que debe realizar el programa y, posteriormente, estas se implementarn como funciones. Todo programa en C contiene una funcin principal o funcin main, la cual es la encargada de llevar el control de ejecucin del programa (secuencia de ejecucin de instrucciones) y de llamar a ejecucin a las funciones pertinentes en los puntos del programa donde se necesiten. Un programa siempre empieza a ejecutarse desde la funcin main, siendo ste el mdulo o funcin principal del programa. Para que una funcin (excepto la funcin main) se ejecute, debe ser siempre llamada por otra funcin. A una funcin que llama a otra se le denomina funcin invocadora y a la funcin llamada funcin invocada. Cuando una funcin invocadora (F1) realiza una llamada a otra funcin (F2), se transfiere el control de ejecucin de F1 a F2, lo que quiere decir que la funcin que pasa ahora a ejecutarse es F2. Adicionalmente, F1 puede transferir ciertos datos a la funcin F2 en el momento de realizar la llamada. A estos datos se le denominan argumentos de entrada de la funcin F2.

La estructura de una funcin en c se divide en dos partes: LA CABECERA DE LA FUNCION. EL CUERPO DE LA FUNCION.

En la cabecera de una funcin se define el nombre de la funcin y el modo en el que se va a realizar la transferencia de informacin con dicha funcin (argumentos de entrada y tipo de dato se salida): Tipo de dato: Representa el tipo de dato del valor que devuelve la funcin (int, float, char,...). En caso de que la funcin no devuelva ningn resultado, en este parmetro debe especificarse la palabra void. Nombre de la funcin: denota el nombre con la que debe llamarse a la funcin. Lista de argumentos: Conjunto de tuplas tipo_dato nombre_variable separados por comas, a los que se le denomina argumentos formales; dichos permiten la transferencia a la funcin desde el punto del programa donde se invoca. Tipo_dato es el tipo de dato, simple o compuesto, del argumento formal (variable) que sigue a continuacin. Nombre_variable es el nombre de la variable donde se almacena el dato que se transfiere desde la funcin invocadora. Cuerpo de la funcin: Entre llaves se declaran las variables locales y luego se escriben las instrucciones. El cuerpo de la funcin termina con la sentencia return ( ) que marca el final de la funcin. Slo se puede incluir una expresin (variable u operacin) en la sentencia return.

ARGUMENTOS FORMALES
Un argumento o parmetro es el medio a partir del cual podemos expandir el mbito de variables locales de funciones, hacia otras funciones y adems quienes nos permiten establecer comunicaciones entre funciones. Si nos vemos ante la necesidad de visualizar o modificar el valor de una variable local en otra funcin que llamaremos, debemos invocar a dicha funcin haciendo referencia de su nombre, seguido de los parmetros o nombres de variables para las cuales, en teora ampliaramos su mbito. Las palabras parmetro y argumento, aunque de significado similar, tiene distintas connotaciones semnticas: Se denominan parmetros los tipos declarados en el prototipo (que deben corresponder con los declarados en la definicin). Cuando se realiza una llamada a la funcin, los "valores" pasados se denominan argumentos. A veces se utilizan tambin las expresiones argumentos formales, para los parmetros y argumentos actuales para los valores pasados. Los parmetros tambin son llamados argumentos y se corresponden con una serie de valores que se especifican en la llamada a la funcin, o en la declaracin de la misma, de los que depende el resultado de la funcin: dichos valores permiten la comunicacin entre dos funciones. Los parmetros o argumentos de una funcin se pueden clasificar en: 1. Parmetros formales. Son los que se encuentran en la definicin de la funcin, si una funcin utiliza argumentos, estos se comportan como variables locales de la funcin. Son variables de la funcin que toman los valores que se le pasan desde fuera de ella. Los parmetros formales son aquellos especificados en la cabecera de la funcin. Al declarar un parmetro formal hay que especificar su tipo de dato. Los parmetros formales slo se conocen dentro de la funcin 2. Parmetros actuales. Se emplean en la llamada a la funcin, pueden ser variables o expresiones cuyos valores se pasan a los argumentos formales. Generalmente se usan las palabras "argumento" y "parmetro" de forma intercambiable cuando definimos o llamamos a una funcin. Para distinguir si es en definicin o en llamada usamos los adjetivos "formal" o "actual". Entonces: int f (int a, int b) //Parmetros o argumentos formales f (3, 4) //Parmetros o argumentos actuales

FUNCIN QUE NO DEVUELVE UNA EXPRESIN Y NO TIENE ARGUMENTOS.


Son funciones que realizan una tarea especfica pero que no devuelven valores al programa principal o a la funcin que la llam. Si se desea realizar una funcin que no devuelva nada se debe usar el tipo void, esta nos permite indicar que la funcin no devuelve ningn valor, cuando este sea el caso la palabra reservada return se utiliza sola, sin ningn valor a continuacin de esta. Ejemplo: Funcin sin argumentos que no devuelve nada.

Este programa llama a la funcin borra_pantalla que despeja la pantalla mediante la orden clrscr () (clear screen) y muestra el mensaje "la pantalla est limpia".
#include <stdio.h> #include <conio.h> void borra_pantalla(); main() { borra_pantalla(); } void borra_pantalla() /* No se debe poner punto y coma aqu */ { clrscr(); printf( "La pantalla est limpia\n" ); return; } /* No hace falta devolver ningn valor, mucha gente ni siquiera pone este return */ /* Llamamos a la funcin */

/*Una funcin que no toma argumentos y no devuelve nada*/ Void f1 ( ); /*Una funcin que no toma argumentos y no devuelve nada*/ Float random ( );

FUNCIN QUE NO DEVUELVE UNA EXPRESIN Y SI TIENE ARGUMENTOS.

Funcin con argumentos, no devuelve ningn valor

En este ejemplo la funcin compara toma dos nmeros, los compara y nos dice cul es mayor.
#include <stdio.h> void compara( int, int); main() { int num1, num2; printf( "Introduzca dos nmeros: " ); scanf( "%i %i", &num1, &num2 ); compara( num1, num2 ); /* Llamamos a la funcin con sus dos argumentos */ } void compara( int a, int b ) /* Pasamos los parmetros a y b a la funcin */ { if ( a>b ) printf( "%i es mayor que %i\n" , a, b ); else printf( "%i es mayor que %i\n", b, a ); return; }

FUNCIN QUE SI DEVUELVE UNA EXPRESIN Y NO TIENE ARGUMENTOS.


Cuando una funcin se ejecuta y termina debe devolver un valor. Este valor puede ser cualquiera de los tipos de variables, tipo de datos (int, char, float, doubl) o un tipo de dato definido por nosotros. El valor que devuelve la funcin suele ser el resultado de las operaciones que se realizan en la funcin, o si han tenido xito o no. La sentencia return se usa para esto. El dato que se pone despus de return es el que devuelve. Puede ser una constante o una variable. Pedir los nmeros en la funcin, pero mostrar el resultado en el main. Para eso necesitamos una funcin que retorne. Recibir es enviar datos del main a la funcin. Retornar es enviar datos de la funcin al main. Para retornar datos hay que hacer dos cosas: no usar void como tipo y usar return. De forma general:
tipo nombre() { return var; }

El tipo tiene que ser del tipo de variable que queremos retornar, si nuestra variable retorna una variable int, pues el tipo de la funcin es int. Para indicar qu variable estamos retornando usaremos la palabra return seguido de la variable. Usualmente esto va al final de la funcin. Para llamar a la funcin hay que preparar un colchn en donde caiga la variable que est retornando. var = nombre(); La variable que est retornando nuestra funcin se va a almacenar en la variable var. Nuestro programa quedara as:
# include <iostream.h> int sumar() { int num1, num2, r; cout << "Numero 1: "; cin >> num1; cout << "Numero 2: "; cin >> num2; r = num1 + num2; return r; } int main() { int r; r = sumar (); cout << "La suma es " << r; }

FUNCIN QUE SI DEVUELVE UNA EXPRESIN Y SI TIENE ARGUMENTO.


Funcin con argumentos que devuelve un valor

Este ejemplo la funcin compara toma dos nmeros, los compara y devuelve como resultado el mayor de los dos nmeros.
#include <stdio.h> int compara( int a, int b); int main() { int num1, num2; int resultado; printf (Introduzca dos nmeros: " ); scanf (%i %i", num1, num2 ); resultado = compara( num1, num2 ); /* Almacenamos en resultado el valor que devuelve la funcin */

printf( "El mayor de los dos es %i\n", resultado ); } int compara( int a, int b ) funcin */ { int mayor; if ( a>b ) mayor = a; else mayor = b; return mayor; } /* Metemos los parmetros a y b a la /* Esta funcin define su propia variable; esta variable slo se puede usar aqu */

DECLARACIN DE FUNCIONES

Antes de empezar a utilizar una funcin debemos declararla. La declaracin de una funcin se conoce tambin como prototipo de la funcin. En el prototipo de una funcin se tienen que especificar los parmetros de la funcin, as como el tipo de dato que devuelve. Los prototipos de las funciones que se utilizan en un programa se incluyen generalmente en la cabecera del programa y presentan la siguiente sintaxis:

Donde los parntesis y el punto y como son obligatorios. El tipo de retorno se puede omitir pero el compilador asume que es int. En C una funcin sin lista de parmetros se considera que tiene un nmero de parmetros indefinidos, mientras que en C++ se entiende que no se le pasa nada. Lo ms recomendable es poner void como parmetro cuando no vamos a pasar nada. En el prototipo de una funcin no se especifican las sentencias que forman parte de la misma, si no sus caractersticas. Por ejemplo:

En este caso se declara la funcin cubo que recibe como parmetro una variable de tipo entero (numero) y devuelve un valor del mismo tipo. En ningn momento estamos especificando qu se va a hacer con la variable nmero, slo declaramos las caractersticas de la funcin cubo. Los prototipos de las funciones son utilizados por el compilador para verificar que se accede a la funcin de la manera adecuada con respecto al nmero y tipo de parmetros, y al tipo de valor de retorno de la misma. Veamos algunos ejemplos de prototipos de funciones:

Las funciones de biblioteca se declaran en lo que se conocen como ficheros de cabecera o ficheros.h. Cuando deseamos utilizar alguna de las funciones de biblioteca, debemos especificar el fichero .h en que se encuentra declarada la funcin, al inicio de nuestro programa. Por ejemplo, si deseamos utilizar la funcin printf en nuestro programa, debemos incluir el fichero stdio.h que contiene el prototipo de esta funcin.

CONCLUSIN

BIBLIOGRAFA
http://www.mcgraw-hill.es/bcv/guide/capitulo/8448148681.pdf http://www.nebrija.es/~abustind/Informatica/MetodologiaI/funciones.pdf http://trevinca.ei.uvigo.es/~lborrajo/ProgramacionModular.pdf http://www.hep.uniovi.es/iglez/IFC/C/6-Funciones.pdf http://arco.esi.uclm.es/~david.villa/pensar_en_C++/vol1/C03.html http://codigoc.org/541-tipos-de-funciones-en-c