Definición de procedimientos y funciones
Los procedimientos y funciones son conjuntos de instrucciones agrupadas, que nos permiten separar un programa complejo en pequeños subprogramas con una determinada tarea. Esto nos ayudará a estructurar un programa de forma que sea más fácil de entender y editar.
Los procedimientos y funciones tienen una estructura muy parecida; la única diferencia entre ellas es que los procedimientos son de tipo «void» (que significa vació, por lo tanto no devuelve nada), en cambio, las funciones tienen un tipo determinado: el tipo de valor a devolver al subprograma que la ha llamado, por ejemplo «bool», «int», «char», etc., además han de contener la instrucción «return» junto a la variable o dato que queramos devolver. (Este dato ha de ser del mismo tipo con el que has definido la función).
Ejemplos de procedimientos y funciones
Procedimiento:
#include<iostream>
using namespace std;
void swap2(int&a,int&b){
int aux;aux=a;a=b;b=aux;}
int main(){int a,b;cin >> a >> b;swap2(a,b) ;cout << a << b << endl;}
El procedimiento swap2 modifica las variables a y b intercambiando entre ellas su valor, y el programa principal crea e introduce las variables, llama al procedimiento e imprime el resultado.
(El signo «&» se utiliza para pasar por referencia las variables. Esto sirve para poder modificar las variables y que guarde la modificación, para que, al volver al programa principal o a otro subprograma, estas variables mantengan los cambios realizados. En el caso de no poner este signo las variables las pasas por valor, es decir, que puedes usarlas y modificarlas pero no guardarán los cambios realizados en ellas).
Función:
#include<iostream>
using namespace std;
int mayor(int a,int b){
if(a > b) return a;else return b;}
int main(){int a,b;cin >> a >> b;int r;r = mayor(a,b) ;cout << r << endl;}
En este ejemplo, el programa principal crea las variables a y b para introducir los valores y la variable r para guardar el resultado de la función. La función sólo hace una comparación entre a y b para saber cuál es mayor de los dos.