Variables Locales y Globales

INTRODUCCIÓN En la siguiente investigación se tocaron los siguientes temas variables locales y globales, funciones y su

Views 71 Downloads 1 File size 491KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INTRODUCCIÓN

En la siguiente investigación se tocaron los siguientes temas variables locales y globales, funciones y sus diferentes características., una variable local se puede definir como aquella cuyo ámbito se restringe a la función que la ha declarado se dice entonces que la variable es local a esa función. Y una variable global se puede definir como aquella que se define fuera del cuerpo de cualquier función, normalmente al principio del programa, después de la definición de los archivos de biblioteca (#include), de la definición de constantes simbólicas y antes de cualquier función. Una función por otra parte podría considerarse como una variable que encierra código dentro de sí. Por lo tanto cuando accedemos a dicha variable (la función) en realidad lo que estamos es diciendo al programa que ejecute un determinado código predefinido anteriormente. La razón por la cual al hablar de función se habla de variable es porque la función engloba al tipo de variable, para tratar de explicar el funcionamiento de este tipo de datos es necesaria la investigación de las dos en conjunto. También 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 además quienes nos permiten establecer comunicaciones entre funciones. En si el fin de esta investigación es el indagar a profundidad el tema de funciones para tener un mejor manejo de ellas desde lo más simple como lo es la variable hasta lo más complejo que es la declaración de las mismas. Sin más que agregar esperamos que el documento sea de su agrado y le sirva de apoyo y guía para reforzar sus conocimientos en programación.

OBJETIVOS Objetivo general: Analizar la forma en que está estructurada la programación modular, conocer los elementos que intervienen en ella, para comprender su funcionamiento. Objetivos específicos: 1. Conocer la diferencia entre las variables locales y variables globales que se utilizan a la hora de programar 2. Identificar la utilización de las funciones y los diferentes tipos de devoluciones de función que existen. 3. Analizar y conocer todos los argumentos fundamentales, así como, identificar el momento de emplear declaración de funciones.

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

Variables locales: son aquellas cuyo ámbito de actuación se reduce a la función o procedimiento donde están definidas. Fuera de su función o procedimiento, estas variables no serán conocidas. VARIABLE LOCAL #include int main () { int x; }

VARIABLES GLOBALES A diferencia de las variables locales cuyo ámbito estaba confinado a la función 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 función 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 función, normalmente al principio del programa, después de la definición de los archivos de biblioteca (#include), de la definición de constantes simbólicas y antes de cualquier función. El ámbito de una variable global son todas las funciones que componen el programa, cualquier función puede acceder a dichas variables para leer y escribir en ellas. Es decir, se puede hacer referencia a su dirección de memoria en cualquier parte del programa.

Una variable global se declara fuera de todas las funciones, incluyendo a la función main (). Por ejemplo: VARIABLE GLOBAL

#include int x; int main ( ) { .. {

#include short numero, suma; int numerogr, sumagr; char letra; main () { ... }

FUNCIÓN

Una función es un conjunto de instrucciones independientes cuyo objetivo es el de minimizar la complejidad de un problema, descomponiéndolo en subproblemas más fáciles de resolver. Una función debe realizar una tarea específica si le damos a una función más de una puede que no estemos analizando del todo el problema. En el lenguaje C, la técnica de programación modular se implementa mediante la utilización de funciones. Una técnica permite agrupar un conjunto de instrucciones en un bloque que típicamente realizará un atarea elemental. En la resolución de un problema particular es necesario identificar previamente las tareas que debe realizar el programa y, posteriormente, estas se implementarán como funciones. Todo programa en C contiene una función principal o función main, la cual es la encargada de llevar el control de ejecución del programa (secuencia de ejecución de instrucciones) y de llamar a ejecución a las funciones pertinentes en los puntos del programa donde se necesiten. Un programa siempre empieza a ejecutarse desde la función main, siendo éste el módulo o función principal del programa. Para que una función (excepto la función main) se ejecute, debe ser siempre llamada por otra función. A una función que llama a otra se le denomina función invocadora y a la función llamada función invocada. Cuando una función invocadora (F1) realiza una llamada a otra función (F2), se transfiere el control de ejecución de F1 a F2, lo que quiere decir que la función que pasa ahora a ejecutarse es F2. Adicionalmente, F1 puede transferir ciertos datos a la función F2 en el momento de realizar la llamada. A estos datos se le denominan argumentos de entrada de la función F2.

La estructura de una función en c se divide en dos partes:  

LA CABECERA DE LA FUNCION. EL CUERPO DE LA FUNCION.

En la cabecera de una función se define el nombre de la función y el modo en el que se va a realizar la transferencia de información con dicha función (argumentos de entrada y tipo de dato se salida): Tipo de dato: Representa el tipo de dato del valor que devuelve la función (int, float, char,...). En caso de que la función no devuelva ningún resultado, en este parámetro debe especificarse la palabra void. Nombre de la función: denota el nombre con la que debe llamarse a la función. 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 función 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 continuación. Nombre_variable es el nombre de la variable donde se almacena el dato que se transfiere desde la función invocadora. Cuerpo de la función: Entre llaves se declaran las variables locales y luego se escriben las instrucciones. El cuerpo de la función termina con la sentencia return ( ) que marca el final de la función. Sólo se puede incluir una expresión (variable u operación) en la sentencia return.

ARGUMENTOS FORMALES Un argumento o parámetro es el medio a partir del cual podemos expandir el ámbito de variables locales de funciones, hacia otras funciones y además 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 función que llamaremos, debemos invocar a dicha función haciendo referencia de su nombre, seguido de los parámetros o nombres de variables para las cuales, en teoría ampliaríamos su ámbito. Las palabras parámetro y argumento, aunque de significado similar, tiene distintas connotaciones semánticas: Se denominan parámetros los tipos declarados en el prototipo (que deben corresponder con los declarados en la definición). Cuando se realiza una llamada a la función, los "valores" pasados se denominan argumentos. A veces se utilizan también las expresiones argumentos formales, para los parámetros y argumentos actuales para los valores pasados. Los parámetros también son llamados argumentos y se corresponden con una serie de valores que se especifican en la llamada a la función, o en la declaración de la misma, de los que depende el resultado de la función: dichos valores permiten la comunicación entre dos funciones. Los parámetros o argumentos de una función se pueden clasificar en: 1. Parámetros formales. Son los que se encuentran en la definición de la función, si una función utiliza argumentos, estos se comportan como variables locales de la función. Son variables de la función que toman los valores que se le pasan desde fuera de ella. Los parámetros formales son aquellos especificados en la cabecera de la función. Al declarar un parámetro formal hay que especificar su tipo de dato. Los parámetros formales sólo se conocen dentro de la función 2. Parámetros actuales. Se emplean en la llamada a la función, pueden ser variables o expresiones cuyos valores se pasan a los argumentos formales. Generalmente se usan las palabras "argumento" y "parámetro" de forma intercambiable cuando definimos o llamamos a una función. Para distinguir si es en definición o en llamada usamos los adjetivos "formal" o "actual". Entonces: int f (int a, int b) //Parámetros o argumentos formales f (3, 4) //Parámetros o argumentos actuales

FUNCIÓN QUE NO DEVUELVE UNA EXPRESIÓN Y NO TIENE ARGUMENTOS. Son funciones que realizan una tarea específica pero que no devuelven valores al programa principal o a la función que la llamó. Si se desea realizar una función que no devuelva nada se debe usar el tipo void, esta nos permite indicar que la función no devuelve ningún valor, cuando este sea el caso la palabra reservada ‘return’ se utiliza sola, sin ningún valor a continuación de esta. Ejemplo: 

Función sin argumentos que no devuelve nada.

Este programa llama a la función borra_pantalla que despeja la pantalla mediante la orden clrscr () (clear screen) y muestra el mensaje "la pantalla está limpia". #include #include void borra_pantalla(); main() { borra_pantalla();

/* Llamamos a la función */

} void borra_pantalla() /* No se debe poner punto y coma aquí */ { clrscr(); printf( "La pantalla está limpia\n" ); return;

/* No hace falta devolver ningún valor, mucha gente ni siquiera pone este return */

}

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

FUNCIÓN QUE NO DEVUELVE UNA EXPRESIÓN Y SI TIENE ARGUMENTOS. 

Función con argumentos, no devuelve ningún valor

En este ejemplo la función compara toma dos números, los compara y nos dice cuál es mayor. #include void compara( int, int); main() { int num1, num2; printf( "Introduzca dos números: " ); scanf( "%i %i", &num1, &num2 ); compara( num1, num2 ); /* Llamamos a la función con sus dos argumentos */ } void compara( int a, int b ) /* Pasamos los parámetros a y b a la función */ { if ( a>b ) printf( "%i es mayor que %i\n" , a, b ); else printf( "%i es mayor que %i\n", b, a ); return; }

FUNCIÓN QUE SI DEVUELVE UNA EXPRESIÓN Y NO TIENE ARGUMENTOS. Cuando una función 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 función suele ser el resultado de las operaciones que se realizan en la función, o si han tenido éxito o no. La sentencia return se usa para esto. El dato que se pone después de return es el que devuelve. Puede ser una constante o una variable. Pedir los números en la función, pero mostrar el resultado en el main. Para eso necesitamos una función que retorne. Recibir es enviar datos del main a la función. Retornar es enviar datos de la función 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 función es int. Para indicar qué variable estamos retornando usaremos la palabra return seguido de la variable. Usualmente esto va al final de la función. Para llamar a la función hay que preparar un colchón en donde caiga la variable que está retornando. var = nombre(); La variable que está retornando nuestra función se va a almacenar en la variable ‘var’. Nuestro programa quedaría así: # include int sumar() { int num1, num2, r; cout > num1; cout > num2; r = num1 + num2; return r; } int main() { int r; r = sumar (); cout