Programacion U 6
Enviado por sorcero • 17 de Junio de 2015 • 1.225 Palabras (5 Páginas) • 128 Visitas
FUNCIONES Y PROCEDIMIENTOS
En su concepción más simple, un procedimiento es una construcción que permite dar nombre a un conjunto de sentencias y declaraciones asociadas que se usan para resolver un subproblema dado. Los procedimientos no siempre realizan la misma función y pueden recibir parámetros. No repetir código no es la única razón para estructurar un programa usando procedimientos. Puesto que un subproblema puede codificarse como un procedimiento, un problema complejo puede dividirse en subproblemas mássimples, quienes a su vez pueden ser de nuevo subdivididos hasta llegar a la descripción de subproblemas muy simples que se puedan codificar como procedimientos escritos en C++.
En C++ no hay diferencias entre procedimientos y funciones: todos son funciones, con la diferencia de que un procedimiento es una función que no devuelve nada (void). Tanto procedimientos como funciones, deben ser declarados antes de poder ser usados. Esto es posible de dos formas: indicando su cabecera (nombre, parámetros y tipo de retorno) después de la zona de constantes y antes del programa principal, o bien escribir el procedimiento o la función entera en dicha zona. Se recomienda la primera opción, ya que evita problemas de orden de implementación para solucionar problemas de ámbito. Mientras que un procedimiento ejecuta un grupo de sentencias, una función además devuelve un valor al punto donde se llamó.
Una llamada a una función puede aparecer como operando de alguna expresión. El valor de la función se usa, por tanto, para calcular el valor total de la expresión. El uso de una función puede ser algo como 2.0+Maximo(3.0,p)/6.90, de forma que la llamada devolverá el mayor valor entre 3.0 y el contenido de la variable p y con dicho valor se evaluará el resto de la expresión. Otro ejemplo puede ser: p = Maximo( 3.0, p ). Obsérvese que el tipo del resultado que devolverá la función aparece declarado en la cabecera sustituyendo a la palabra void que identifica a un procedimiento. En este sentido, en C++, puede verse a un procedimiento como un tipo especial de función que devuelve un valor void (nulo).
• Las funciones en C++ pueden devolver cualquier tipo menos arrays.
• Toda función debe ejecutar una sentencia return.
Sintaxis de una Función:
• Cabecera: <tipo> <identificador> ( <parámetros> ) ;
Ejemplo: int mi_funcion( int x);
• Implementación: <tipo> <identificador> ( <parámetros> )
{
<sentencias>
return <valor>;
}
Ejemplo: int mi_funcion( int x)
{//bloque de sentencias
return 0;
}
FUNCIONES Y PROCEDIMIENTOS CON PARÁMETROS
1.- En procedimientos
Los parámetros de entrada (valor) se usan para proporcionar información de entrada a un procedimiento. Dentro de éste pueden considerarse como variables cuyo valor inicial es el resultado de evaluar los parámetros actuales. Como parámetro actual debe aparecer una expresión cuyo resultado sea un valor de un tipo asignable al correspondiente parámetro formal. Puesto que las variables usadas como parámetros formales de entrada no sirven para cambiar a los parámetros actuales (sólo para conocer su valor en el momento de la llamada y asignarle un nombre a ese valor dentro del procedimiento) se les suele denominar Parámetros por valor. Ejemplo:
void dibLineas( int anchura, int altura )
{
int nFila;
int nColumna;
for( nFila = 1 ; nFila <= altura; ++nFila )
{
for( nColumna = 1; nColumna <= anchura; ++nColumna )
{
lcd_putstr("-");
}
lcd_putstr("fin");
}
}
Parámetros de entrada/salida (referencia)
Para usar parámetros de entrada/salida, el parámetro formal debe estar precedido por el símbolo "&" (Ampersand) y el parámetro actual debe ser una variable (no una expresión cualquiera). Los parámetros de entrada/salida se usan cuando se desea que un procedimiento MODIFIQUE el contenido de la variable actual. El hecho de definir estos parámetros explícitamente
...