ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

DEFINICION DE FUNCION


Enviado por   •  27 de Octubre de 2014  •  Ensayos  •  2.103 Palabras (9 Páginas)  •  160 Visitas

Página 1 de 9

DEFINICION DE FUNCION

En programación, una función es un grupo de instrucciones con un objetivo en particular y que se ejecuta al ser llamada desde otra función o procedimiento. Una función puede llamarse múltiples veces e incluso llamarse a sí misma (función recurrente).

Las funciones pueden recibir datos desde afuera al ser llamadas a través de los parámetros y deben entregar un resultado.

Se diferencian de los procedimientos porque estos no devuelven un resultado.

En general las funciones deben tener un nombre único en el ámbito para poder ser llamadas, un tipo de dato de resultado, una lista de parámetros de entrada y su código.

ESTRUCTURA DE FUNCION

Una función es, sencillamente un conjunto de sentencias que se puede llamar desde cualquier parte de un programa. Las funciones permiten al programador un grado de abstracción en la resolución de un problema.

Consideraciones acerca de las funciones

• Las funciones NO se pueden anidar: esto significa que una función no se puede declarar dentro de otra función.

• En C++ todas las funciones son externas o globales, es decir pueden ser llamadas desde cualquier punto del programa.

Sintaxis

tipo_de_retorno nombreFunción (listaDePárametros)

{

cuerpo de la función

return expresión

}

tipo_de_retorno Tipo de valor devuelto por la función ola palabra reservada void si la función no devuelve ningún valor

nombreFunción Indentificador o nombre de la función

listaDePárametros Lista de declaraciones de los prarametros de la función separaados por comas

Expresión Valor que devuelve a función

Funcion de parametro

Un parametro en C++ es una variable que puede pasar su valor a un procedimiento desde el principal o desde otro procedimiento.

Existen ocasiones en que es necesario mandar al procedimiento ciertos valores para que los use en algún proceso.

Estos valores que se pasan del cuerpo principal del programa o de un procedimiento a otros procedimientos se llaman parametros.

Funcion de ambito

En C++ hay siete categorías de ámbitos: De sentencia; de bloque (o local); de función; de prototipo de función; de fichero; de clase y de espacio de nombres. El ámbito depende de como y donde es declarado el identificador.

Clases de almacenamiento

Para especificar el tipo de almacenamiento automático se usa el especificador auto.

Sintaxis:

[auto] <tipo> <nombre_variable>;

Sirve para declarar variables automáticas o locales. Es el modificador por defecto cuando se declaran variables u objetos locales, es decir, si no se especifica ningún modificador, se creará una variable automática.

Estas variables se crean durante la ejecución, y se elige el tipo de memoria a utilizar en función del ámbito temporal de la variable. Una vez cumplido el ámbito, la variable es destruida. Es decir, una variable automática local de una función se creará cuando sea declarada, y se destruirá al terminar la función. Una variable local automática de un bucle será destruida cuando el bucle termine.

Debido a que estos objetos serán creados y destruidos cada vez que sea necesario, usándose, en general, diferentes posiciones de memoria, su valor se perderá cada vez que sean creadas, perdiéndose el valor previo en cada caso.

Por supuesto, no es posible crear variables automáticas globales, ya que son conceptos contradictorios.

Almacenamiento estático

^

Para especificar este tipo de almacenamiento se usa el especificador static.

Sintaxis:

static <tipo> <nombre_variable>;

static <tipo> <nombre_de_función>(<lista_parámetros>);

Cuando se usa en la declaración de objetos, este especificador hace que se asigne una dirección de memoria fija para el objeto mientras el programa se esté ejecutando. Es decir, su ámbito temporal es total. En cuanto al ámbito de acceso conserva el que le corresponde según el punto del código en que aparezca la declaración.

Debido a que el objeto tiene una posición de memoria fija, su valor permanece, aunque se trate de un objeto declarado de forma local, entre distintas reentradas en el ámbito del objeto. Por ejemplo si se trata de un objeto local a una función, el valor del objeto se mantiene entre distintas llamadas a la función.

Hay que tener en cuenta que los objetos estáticos no inicializados toman un valor nulo.

Por el contrario, si se le da un valor inicial a una variable estática, la asignación sólo afecta a la primera vez que es declarada.

#include <iostream>

using namespace std;

int funcion();

int main() {

for(int i = 0; i < 10; i++)

cout << "Llamada " << i+1 << ": " << funcion() << endl;

return 0;

}

int funcion() {

static int x=10;

x++;

return x;

}

La salida de este programa será:

Llamada 1: 11

Llamada 2: 12

Llamada 3: 13

...

Descargar como (para miembros actualizados)  txt (13.6 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com