Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Funciones en Programacion Estructurada

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

PROGRAMACION ESTRUCTURADA 2023

Funciones en C++

Básicamente una función puede realizar las mismas acciones que un programa:

 aceptar datos
 realizar unos cálculos determinados y, finalmente,
 devolver resultados
Las funciones son invocadas desde otras funciones, con una excepción: la
función global main() , que tienen todos los programas en C++. Permite al compilador
conocer donde está el punto inicial de un programa. Por razones obvias, main() no
puede ser invocada desde otras funciones.

Podemos distinguir 3 características de las funciones en C++:

 la definición
 la declaración
 la llamada

Definición de una función

Es el código que realiza las tareas para las que la función ha sido prevista.

La primera línea de la definición recibe el nombre de encabezamiento y el resto, un


bloque encerrado entre llaves, es el cuerpo de la función.

La definición de una función se debe realizar en alguno de los ficheros que forman
parte del programa.

La sintaxis habitual de una definición de función es la siguiente

tipo nombre_funcion(tipo_1 arg_1, ..., tipo_n arg_n)


{
sentencias;
return expresion; // optativo
}
 tipo : indica el tipo de valor ( int , float , etc.) devuelto por la función.
 nombre_funcion : es el identificador usado para la función.
 la lista de argumentos es una secuencia de declaración de
parámetros separados por comas y encerrados entre paréntesis. Son los
llamados parámetros formales de la función.
 return expresion es un salto incondicional que permite evaluar una

expresión y devolver su valor a la función llamante.


Veamos un ejemplo de definición de función que calcula la media de dos números
reales.

Ejemplo

double calcula_media(double num1, double num2)


{
double media;
media = (num1 + num2)/2.;
return media;
}

El tipo de una función

Una función devuelve, como mucho, un único valor a través de la sentencia return .

Este valor tendrá el mismo tipo que el de la función.

La palabra reservada return permite realizar un salto incondicional, de la misma forma


que break . En este caso, devuelve desde el interior de la función actual el control del
programa a la función que la llamó.

Una función puede tener varios puntos en los que se devuelve un valor con return y,
lógicamente, finalizará en el primero que se ejecute.
Al igual que con los break , la legibilidad del código debe ser la decisión que determine
que haya un único return (preferible) o varios.

Declaración de una función

Al igual que ocurre con otros identificadores, en C++ no podemos llamar a una
función en una sentencia sin que esté declarada previamente.

Una declaración explícita de una función, también denominada prototipo de la


función, tiene la expresión general:

tipo nombre_funcion(tipo_1, tipo_2, ..., tipo_n);


En el ejemplo anterior el prototipo de la función es:

double calcula_media(double, double);


Es habitual encontrar prototipos acompañados de identificadores, en aras a mejorar la
legibilidad del código. En cualquier caso es opcional. Así, el ejemplo anterior podría
programarse como:

double calcula_media(double x, double y);


Recordemos que en C++, una declaración permite al compilador:

 conocer de antemano las necesidades de memoria

(se enviarán a la función dos double y se recibirá un double )

 gracias al tipado estático, detectar errores en tiempo de compilación

por ejemplo, si utilizamos la función con argumentos cuyos tipos no son


compatibles con los explicitados en su prototipo.

LLamada a la función

La llamada a una función se hace especificando su nombre y, entre paréntesis, las


expresiones cuyos valores se van a enviar como argumentos de la función.

Estos parámetros pueden ser identificadores o cualquier otra expresión válida.

La llamada a una función se escribe de forma general como sigue:

salida = nombre_funcion(arg_1, arg_2, ..., arg_n);


En nuestro ejemplo podría ser:

double resultado = calcula_media(numero1, numero2);


o, por ejemplo:
double resultado = calcula_media(numero1+numero2, 7);
Veamos un ejemplo completo con la función calcula_media()

EJERCICIO

1. Ingrese a la siguiente URL

https://www.onlinegdb.com/online_c++_compiler

2. Copie y pegue el ejercicio que se detalla a continuación :

// Cálculo de la venta
#include <iostream>
using namespace std;

double calcula_venta(double, double); // Declaración

int main()
{
double vunitario, cantidad;
cout << "Introduzca el número de articulos a comprar: ";
cin >> cantidad;
cout << "Introduzca el valor unitario del articulo: ";
cin >> vunitario;

double resultado = calcula_venta(vunitario, cantidad); // Llamada


cout << "El valor total de la venta de "<< cantidad << " unidades, cada una con un valor de $ "
<< vunitario
<< " , tiene un costo de $ " << resultado << ".\n";
}

// Definición
double calcula_venta(double num1, double num2)
{
double venta;
venta = (num1*num2);
return venta;
}

También podría gustarte