martes, 22 de octubre de 2013

LENGUAJE C

                               LENGUAJE C.

 

                                   VARIABLE LOCAL:

Una variable local es, en informática, la variable a la que se le otorga un ámbito local. Tales variables sólo pueden accederse desde la función o bloque de instrucciones en donde se declaran. Las variables locales se contraponen a las variables globales.

En la mayoría de lenguajes de programación las variables locales son variables automáticas almacenadas directamente en la pila de llamadas. Esto significa que cuando una función recursiva se llama a sí misma, las variables locales reciben, en cada instancia de la función, espacio para el direccionamiento de memoria separados. De esta forma las variables con este ámbito se pueden declarar, reescribir y leer sin riesgo de efectos secundarios para los procesos fuera del bloque en el que son declarados.

                                 Variable Global:


Una variable global es, en informática, una variable accesible en todos los ámbitos de un programa informático. Los mecanismos de interacción con variables globales se denominan mecanismos de entorno global. El concepto de entorno global contrasta con el de entorno local donde todas las variables son locales sin memoria compartida (y por ello todas las iteraciones pueden restringirse al intercambio de mensajes).

El uso de variables globales se desaconseja especialmente para lenguajes de programación funcionales (como puede ser Scheme). Viola la transparencia referencial y dificulta la legibilidad del código fuente.



 

                                             FUNCIONES



Al declarar una función en C++, de la misma forma que hacíamos en Hugs, debemos darle un nombre e indicar cuántos y de qué tipo son los parámetros que recibe y de qué tipo es el valor que devuelve.

En C++ declaramos una función de la siguiente manera:

<tipo del valor devuelto por la función> nombre (<lista de parámetros que recibe>)

Los parámetros que recibe la función se separan con comas, y cada parámetro debe tener la siguiente forma:

<tipo del parámetro> nombre

Así, las siguientes son declaraciones posibles de funciones:

int max(int a, int b)

char SexoPersona(int dni_persona)

float producto(float x, int y)

int dame_un_numero_cualquiera( )

Una vez que declaramos una función, debemos indicar qué hace o cómo calcula el valor que devuelve a partir de los valores recibidos. O sea debemos implementar la función, debemos escribir el cuerpo de la función. El mismo consta de una secuencia de operaciones encerradas entre llaves

int max (int a, int b)

{

  ... secuencia de operaciones…

}

Para indicar el valor de retorno de la función, utilizamos la sentencia return< valor>:

int max (int a, int b)

{

  …secuencia de operaciones que calculan el máximo entre a y b y lo guardan en una variable c ...

  return c;

}
 
 
                             DECLARACION DE FUNCIONES
 
La declaración  da a conocer la función al compilador, de forma que a partir del punto de declaración, ya se pueden realizar invocaciones a la misma. A su vez, la definición estará en algún otro punto del programa, tal vez en una librería externa (en forma ya compilada) o en otro módulo de programa (como texto fuente).
Una función puede ser declarada varias veces en un mismo programa, y las declaraciones pueden aparecer en cualquier orden; en un fichero fuente o en varios, pero en cualquier caso antes de su uso, es decir: antes de cualquier invocación a la función . Además de declarar el nombre de la función y el tipo devuelto (por defecto se supone int ) se declaran también el tipo de los parámetros.
§2 Sintaxis:
[externa] <tipo-devuelto> nombre-función ()                         // §2a
[externa] <tipo-devuelto> nombre-función (<tipo>, ...)              // §2b
[externa] <tipo-devuelto> nombre-función (<tipo> <parámetro>, ... ) // §2c
§2.1 Ejemplos:
`externa int funcion1 ();        // no acepta ningún argumento
externa int funcion1 (vid);    // mejor que la anterior
funcion2 (char, int);          // por defecto supone que devuelve int
int funcion2 (char, int);      // mejor que la anterior
char funcion3 (char c, int i); // incluye nombres de parámetros
 

No hay comentarios:

Publicar un comentario