Componentes
- Un programa de C++ está definido por funciones (grupo de instrucciones que pueden o no hacer algún cálculo), donde la función principal debe ser llamada main.
La composición general de un programa en C++ es:
- directivas de preprocesamiento.
- declaraciones globales
- función main.
- funciones definidas por el usuario.
- comentarios para entender el funcionamiento del programa.
Directivas de procesamiento
- las directivas de preprocesamiento son definidas para que el compilador realice algo antes de compilar el programa (revisar si la sintaxis es correcta y generar un código ejecutable por la computadora), como incluir funciones de alguna biblioteca conocida.
Declaraciones Globales
Hasta ahora hemos diferenciado a las variable segun su “tipo” (int, char double, etc), el cual se refería, en última instancia, a la cantidad de bytes que la conformaban. Veremos ahora que hay otra diferenciación de las mismas, de acuerdo a la clase de memoria en la que residen.
Si definimos una variable AFUERA de cualquier función (incluyendo esto a main() ), estaremos frente a lo denominado VARIABLE GLOBAL. Este tipo de variable será ubicada en el segmento de datos de la memoria utilizada por el programa, y existirá todo el tiempo que esté ejecutándose este.
Este tipo de variables son automáticamente inicializadas a CERO cuando el programa comienza a ejecutarse.
Son accesibles a todas las funciones que estén declaradas en el mismo, por lo que cualquiera de ellas podrá actuar sobre el valor de las mismas.
Por ejemplo:
#include <stdio.h>
double una_funcion(void);
double variable_global ;
main()
{
double i ;
printf(“%f”, variable_global ); /* se imprimirá 0 */
i = una_funcion() ;
printf(“%f”, i ); /* se imprimirá 1 */
printf(“%f”, variable_global ); /* se imprimirá 1 */
variable_global += 1 ;
printf(“%f”, variable_global ); /* se imprimirá 2 */
return 0 ;
}
double una_funcion(void)
{
return( variable_global += 1) ;
}
int y; /* Global. Conocida tanto por main() como por MiFuncion() */
main ()
{
int x; /* Esta x es local a main () */
y = 100;
x = 1;
printf (“x=%d, y=%d”, x, y) /* Visualiza x=1, y=100 */
{ /* Comienza bloque */
int x; /* Esta x es local al bloque */
x = 2;
printf (“x=%d, y=%d”, x, y) /* Visualiza x=2, y=100 */
MiFuncion () /* Visualiza x=3, y=100 */
printf (“x=%d, y=%d”, x, y) /* Visualiza x=2, y=100 */
} /* Fin del bloque */
printf (“x=%d, y=%d”, x, y) /* Visualiza x=1, y=100 */
}
MiFuncion ()
{
int x; /* Local a MiFuncion() */
x = 3;
printf (“x=%d, y=%d”, x, y) /* Visualiza x=3, y=100 */
}
La función main se define de la misma forma que cualquier función en C, pero tiene una peculiaridad lo suficientemente fuerte como para que haya que dedicar un apartado entero a hablar de ella: hay que definirla siempre. La función main es un ingrediente que debe encontrarse en todos los programas escritos en lenguaje C, sin excepciones. Define, valga la redundancia, la función principal del programa, esto es, su cometido. Todo programa está hecho para resolver un problema y la función main se encarga de dirigir el algoritmo que da solución al mismo. Es importante hacer énfasis en que main DIRIGE. Dediquemos unos instantes a reflexionar sobre ello.
Existen multitud de problemas susceptibles de ser resueltos con un programa de ordenador. El número de líneas de código necesarias para resolver un problema dado depende, como es lógico, de la complejidad del mismo. En general, cuanto más complicado sea el problema, < número de líneas de código serán necesarias. Un programa extremadamente complejo, por ejemplo un sistema operativo, puede estar compuesto de millones de líneas de código. He aquí la pregunta del millón (de líneas de código), ¿se escriben todas estas líneas dentro de la función main? Es evidente que un programa así escrito sería imposible de depurar o ampliar. Justo en este punto es donde entran las funciones de las que hablábamos en los apartados anteriores. Un problema complejo puede ser descompuesto en muchos problemas pequeños, cada uno de los cuales puede ser resuelto por una función. El papel de main es en general el de coordinar (invocar) a las distintas funciones para que el programa lleve a cabo su cometido exitosamente. En el ejemplo de la empresa que veíamos, main es el presidente de la compañía.
Funciones definidas por el usuario
- Un programa en C++ se forma por una colección de funciones.
- todos los programas se construyen a partir de una o más funciones que se integran para crear una aplicación.
- todas las funciones contienen uno o más estatutos C++ y se crean generalmente para realizar una única tarea.
- la definición de una función se realiza escribiendo primero del tipo de valor de retorno de la función, después el nombre de la función, posteriormente entre paréntesis las variables que utilizará dicha función (parámetros) y finalmente las instrucciones de la función. Las funciones definidas por el usuario se invocan por su nombre y los parámetros opcionales que se puedan tener.
- Todas las funciones tienen nombre y una lista de valores que recibe. Se puede asignar cualquier nombre a la función, pero normalmente se procura que dicho nombre describa el propósito de la función. Una declaración de función indica al compilador el nombre de la función que se está invocando en el programa. Si la función no se defina, el compilador informa de un error.
- Por ejemplo: double promedio( int a, int b, int c) { return (a + b + c ) / 3.0; } Declara a la función promedio, la cual recibe tres valores enteros y calcula y regresa el promedio de ellos.
- Funciones definidas por el usuario int suma( int a, int b) { return (a + b); }Declara a la función suma, la cual recibe dos valores enteros y calcula y regresa la suma de ellos.
No hay comentarios:
Publicar un comentario