SlideShare una empresa de Scribd logo
4
Lo más leído
5
Lo más leído
7
Lo más leído
FUNCIONES 
Definición de función y su sintaxis 
Llamado y Retorno 
Funciones sin tipo. Uso de void 
Retornar el valor a la función principal 
Argumentos pasados por valor y referencia 
Consideraciones de eficiencia 
Funciones en linea 
Valores por defecto en parametros 
Declaración de funciones 
Recursividad 
Introducción a la Informática 
I Semestre de Ing. Automática 
Universidad del Cauca 
Docente: Felipe Cruz Eraso
FUNCION - DEFINICION 
Le permite al programador estructurar los programas 
en pequeños segmentos de código que realizan una 
tarea individual. 
En C++ es un grupo de sentencias o declaraciones 
Al cual se le asigna un nombre que puede ser llamado 
Desde cualquier punto del programa. 
Sintaxis 
Tipo nombre (parametro1, parametro2, …) 
{ Declaraciones}
FUNCION - SINTAXIS 
Tipo nombre (parametro1, parametro2, …) 
{ Declaraciones} 
Tipo, es el tipo de dato del valor retornado por la función 
Nombre, es el identificador con el cual se va a llamar la 
Función 
Parámetro, es un valor que tiene un tipo de dato y un 
Identificador nombre, se convierte en una variable que se 
Declara localmente en la función, y externamente sirve 
Para pasarle argumentos donde la función es llamada. 
Declaraciones: Bloque de instrucciones que implementan 
Lo que hará la función y van entre { }
FUNCION - SINTAXIS 
Ejemplo: 
// Ejemplo de función 
#include <iostream> 
using namespace std; 
int suma (int a, int b) 
{ 
int r; r=a+b; return r; 
} 
int main () 
{ 
int z; z = suma (5,3); 
cout << "El resultado es" << z; 
system("pause"); 
} 
Tipo de dato del valor retornado 
Nombre con el que se llamará la función 
Parámetros que actuan como variables 
Locales, pero externamente permiten 
Capturar los argumentos con los cuales 
Se realizará un computo o calculo. 
Sentencias o instrucciones 
Realizan la tarea de la función
FUNCION - SINTAXIS 
Funcion main () es la funcion principal 
Desde esta función se llaman las demás funciones 
No importa el orden como se escriban las funciones, el 
Programa siempre llamará primero a la función main 
automáticamente. 
El codigo de otra función solo se ejecuta si es llamada por 
La función main.
Llamado y retorno 
La función main llama 
a la funcion suma 
despues de la 
Declaración de la 
variable z y la función 
suma retorna un 
Valor entero que se 
asignará a z. 
Una función puede ser 
Llamada varias veces
Llamado y retorno 
// function example 
#include <iostream> 
using namespace std; 
int resta (int a, int b) 
{ 
int r; 
r=a-b; 
return r; 
} 
int main () 
{ 
int x=5, y=3, z; 
z = resta (7,2); 
cout << "El primer resultado es " << z << 'n'; 
cout << "El segundo resultado es " << resta (7,2) 
<< 'n'; 
cout << "El tercer resultado es " << resta (x,y) << 
'n'; 
z= 4 + resta (x,y); // lo mismo que decir z= 4 + 2 
cout << "El cuarto resultado es " << z << 'n'; 
system ("pause"); 
}
USO DE VOID 
La función podria no 
retornar valores en este 
caso es de tipo Void. 
Cuando se escribe con 
(void), se especifica que 
cuando se llame esta no 
tomará ningún valor de 
parametro 
// void function example 
#include <iostream> 
using namespace std; 
void mensaje () //podría ser también 
void mensaje (void) 
{ 
cout << "Hola estudiantes Ingeniería 
automatica!"; 
} 
int main () 
{ 
mensaje (); 
system ("pause"); 
}
Retorno de valor a main() 
Generalmente la función main es de tipo int. 
Se entiende que cuando todo el proceso está bien, 
manera implícita o explicita se retorna un cero 
El entorno entiende un cero como proceso exitoso. 
Las demás funciones con tipo, deberían especificar un 
valor de retorno aun si no se usa
Argumentos pasados por 
valor y por referencia 
En el siguiente ejemplo los argumentos se pasan por 
valor. 
Las variables a y b pueden ser modificadas 
internamente, y no tener ningún efecto en el exterior. 
Pero para acceder externamente, los valores de una 
variable que se encuentra dentro de una función se debe 
pasar por referencia. 
Veamos el siguiente ejemplo
Argumentos pasados por 
valor y por referencia 
// passing parameters by reference 
#include <iostream> 
using namespace std; 
void duplicar (int& a, int& b, int& c) 
{ 
a*=2; 
b*=2; 
c*=2; 
} 
int main () 
{ 
int x=1, y=3, z=7; 
duplicar (x, y, z); 
cout << "x=" << x << ", y=" << y << ", z=" << z; 
//return 0; 
system ("pause"); 
} 
En este caso se la función duplicar 
Define por referencia las variables 
a, b, y c 
Cualquier modificación de las variables 
A,b o c modificará las variables 
X, y o z. 
Si la función duplicar se definiera así: 
void duplicar (int a, int b, int c) 
No se pasaría por referencia ningun valor 
Y esto provocaria que salgan como 
Resultado los mismos valores dentro 
De main para x, y o z (1, 3 y 7).
Consideraciones de eficiencia 
y referencia a constantes 
El paso de argumentos por valor a parámetros definidos de tipo entero por 
ejemplo, puede causar una sobre carga de memoria, y esto afecta el 
desempeño de un programa, debido que pasar parámetros por valor genera 
una copia de los datos. 
string concatenar (string a, string b) 
{ 
return a+b; 
} 
En el ejemplo anterior se concatena dos cadenas a y b en una sola, cuando 
la función sea llamada desde otra ubicación del programa se creará una 
copia de la información y esto puede tomar varias celdas de memoria. 
Esto puede evitarse si se hace por referencia, con lo cual no se copian los 
datos 
string concatenar (string& a, string& b) 
{ return a+b; }
Consideraciones de eficiencia 
y referencia a constantes 
Sin embargo el uso de argumentos por referencia puede 
provocar que se cambie los valores de los parámetros, en 
cualquier momento 
Para evitar esto se declaran los argumentos como 
constantes. 
string concatenate (const string& a, const string& b) 
{ return a+b; }
Funciones en línea 
El proceso de llamar funciones puede provocar 
ineficiencia debido al apilamiento de parámetros y 
cambios o saltos dentro del programa. 
El escribir la palabra inline antes de la función obliga al 
compilador que copie el código en el sitio de ejecución. 
inline string concatenar (const string& a, const string& b) { 
return a+b; } 
Inline le da la posibilidad al compilador que realice una 
expansión en línea del código de la función en todos 
los sitios donde sea llamada.
Valores por defecto en 
los parámetros 
// default values in functions 
#include <iostream> 
using namespace std; 
int divide (int a, int b=2) 
{ 
int r; 
r=a/b; 
return (r); 
} 
int main () 
{ 
cout << divide (12) << 'n'; 
cout << divide (20,4) << 'n'; 
//return 0; 
system("pause"); 
} 
El parámetro b, asume un valor 
por defecto 
También se puede pasar un 
parámetro por valor y tiene 
precedencia este que el 
asignado por defecto.
Valores por defecto en 
los parámetros 
// default values in functions 
#include <iostream> 
using namespace std; 
int divide (int a, int b=2) 
{ 
int r; 
r=a/b; 
return (r); 
} 
int main () 
{ 
cout << divide (12) << 'n'; 
cout << divide (20,4) << 'n'; 
//return 0; 
system("pause"); 
} 
El parámetro b, asume un valor 
por defecto 
También se puede pasar un 
parámetro por valor y tiene 
precedencia este que el 
asignado por defecto.
Declarando funciones 
La declaración de una función 
debe realizarse antes de su 
llamado. 
Es posible declarar su tipo y 
los tipos de datos de los 
parámetros y definirla después. 
Sin embargo la función main 
siempre deberá ir después de 
la declaración de las funciones 
para que pueda ser llamada 
dentro de main. 
Ejemplo
Recursividad 
La recursividad es la propiedad mediante la cual las funciones 
tienen la capacidad de llamarse por si mismas. 
Esto es util en procesos de ordenamiento, cálculos de factorial, 
// factorial calculator 
#include <iostream> 
using namespace std; 
long factorial (long a) 
{ 
if (a > 1) 
return (a * factorial (a-1)); 
else 
return 1; 
} 
int main () 
{ 
long numero; 
cout << "Calculo de factorial, ingrese su numero:" << std::endl; 
cin >> numero; 
cout << numero << "! = " << factorial (numero); 
//return 0; 
system("pause"); Ejemplo

Más contenido relacionado

DOC
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
PPTX
Sintaxis del lenguaje c++
PPTX
Lenguaje c++
PPTX
Librerias Básicas y sus Funciones Lenguaje de Programación C
PPT
Estructura programa arduino
PPT
Estructuras Selectivas y Repetitivas en C++
PPT
Diagramas De Flujo
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Sintaxis del lenguaje c++
Lenguaje c++
Librerias Básicas y sus Funciones Lenguaje de Programación C
Estructura programa arduino
Estructuras Selectivas y Repetitivas en C++
Diagramas De Flujo

La actualidad más candente (20)

PPTX
Estructura de un metodo
PPTX
PDF
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
PPT
Pilas En C++
PDF
Palabras Reservadas en C++
PPTX
Elementos basicos de un programa
PPTX
Tipos de datos en programacion
PDF
maquinas de turing
PPT
Estructuras en c++
PDF
Alfabetos-Lenguajes y Automatas 1
PDF
Ejercicio 2 diagrama de flujo
PPSX
Lenguaje c diapositivas
PDF
Estructuras basicas de un algoritmo
PPTX
Estructura básica de un programa en C++
PDF
Ejercicio no. 8 aeropuerto
PPTX
Colas en programacion
PPTX
Listas doblemente enlazadas
PPTX
Tipos de gramatica y arboles de derivacion
PPTX
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
PPTX
Programación 3: clases derivadas y polimorfismo
Estructura de un metodo
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Pilas En C++
Palabras Reservadas en C++
Elementos basicos de un programa
Tipos de datos en programacion
maquinas de turing
Estructuras en c++
Alfabetos-Lenguajes y Automatas 1
Ejercicio 2 diagrama de flujo
Lenguaje c diapositivas
Estructuras basicas de un algoritmo
Estructura básica de un programa en C++
Ejercicio no. 8 aeropuerto
Colas en programacion
Listas doblemente enlazadas
Tipos de gramatica y arboles de derivacion
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Programación 3: clases derivadas y polimorfismo
Publicidad

Destacado (20)

PPT
Lenguajec diapositivas
PPTX
Funciones C++ modificado
PPT
Introducción c++
PPTX
Presentacion de c++
PDF
Manual c++
PPT
Funciones store proc_triggers
PPS
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
PPS
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
DOCX
(Meta 5.1)función sin parámetros que no retorna valor dev c++
PPTX
0.2 Conceptos Basicos C++ II
PDF
Aprenda C++ Como Si Estuviera En Primero
PDF
Clase 5
PPT
Lenguaje c++
PDF
Capítulo 6 funciones y procedimiento
PDF
Revista digital
PDF
Funciones y procedimientos
PPTX
Programación en c++
PDF
Curso de C++ (2014)
PDF
Punteros a Funciones en C
PPT
Presentación de C++
Lenguajec diapositivas
Funciones C++ modificado
Introducción c++
Presentacion de c++
Manual c++
Funciones store proc_triggers
Lenguajesdeprogramacion c nivel1-unidad1-02-declaracion de variables
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
(Meta 5.1)función sin parámetros que no retorna valor dev c++
0.2 Conceptos Basicos C++ II
Aprenda C++ Como Si Estuviera En Primero
Clase 5
Lenguaje c++
Capítulo 6 funciones y procedimiento
Revista digital
Funciones y procedimientos
Programación en c++
Curso de C++ (2014)
Punteros a Funciones en C
Presentación de C++
Publicidad

Similar a Funciones en C++ (20)

PPTX
Funciones en c++
PPT
Funcionesclase1
PDF
Metodos funciones
DOCX
Funciones en C.docx
PDF
funciones con c++
PDF
Guía funciones
DOCX
Indentificacion de funciones
PPT
PDF
Funciones con arrays y vectores en c
DOCX
Funciones lenguaje c modulo4
PDF
Funciones con vectores y matrices1
PDF
vectores y matrices
DOCX
FUNCIONES EN LENGUAJE C
PPTX
Presen iii 26 funciones
PDF
Algoritmos y lenjuage de programacion
PDF
Funciones en lenguage c
PPTX
Funciones y procedimientos
PPT
Funcionesenlenguaje c
PPT
Funciones
Funciones en c++
Funcionesclase1
Metodos funciones
Funciones en C.docx
funciones con c++
Guía funciones
Indentificacion de funciones
Funciones con arrays y vectores en c
Funciones lenguaje c modulo4
Funciones con vectores y matrices1
vectores y matrices
FUNCIONES EN LENGUAJE C
Presen iii 26 funciones
Algoritmos y lenjuage de programacion
Funciones en lenguage c
Funciones y procedimientos
Funcionesenlenguaje c
Funciones

Último (9)

PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
Control de seguridad en los sitios web.pptx
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PDF
Presentacion de compiladores e interpretes
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Implementación equipo monitor12.08.25.pptx
Control de seguridad en los sitios web.pptx
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Fundamentos de Python - Curso de Python dia 1
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Presentacion de compiladores e interpretes
Conceptos basicos de Base de Datos y sus propiedades
AutoCAD Herramientas para el futuro, Juan Fandiño

Funciones en C++

  • 1. FUNCIONES Definición de función y su sintaxis Llamado y Retorno Funciones sin tipo. Uso de void Retornar el valor a la función principal Argumentos pasados por valor y referencia Consideraciones de eficiencia Funciones en linea Valores por defecto en parametros Declaración de funciones Recursividad Introducción a la Informática I Semestre de Ing. Automática Universidad del Cauca Docente: Felipe Cruz Eraso
  • 2. FUNCION - DEFINICION Le permite al programador estructurar los programas en pequeños segmentos de código que realizan una tarea individual. En C++ es un grupo de sentencias o declaraciones Al cual se le asigna un nombre que puede ser llamado Desde cualquier punto del programa. Sintaxis Tipo nombre (parametro1, parametro2, …) { Declaraciones}
  • 3. FUNCION - SINTAXIS Tipo nombre (parametro1, parametro2, …) { Declaraciones} Tipo, es el tipo de dato del valor retornado por la función Nombre, es el identificador con el cual se va a llamar la Función Parámetro, es un valor que tiene un tipo de dato y un Identificador nombre, se convierte en una variable que se Declara localmente en la función, y externamente sirve Para pasarle argumentos donde la función es llamada. Declaraciones: Bloque de instrucciones que implementan Lo que hará la función y van entre { }
  • 4. FUNCION - SINTAXIS Ejemplo: // Ejemplo de función #include <iostream> using namespace std; int suma (int a, int b) { int r; r=a+b; return r; } int main () { int z; z = suma (5,3); cout << "El resultado es" << z; system("pause"); } Tipo de dato del valor retornado Nombre con el que se llamará la función Parámetros que actuan como variables Locales, pero externamente permiten Capturar los argumentos con los cuales Se realizará un computo o calculo. Sentencias o instrucciones Realizan la tarea de la función
  • 5. FUNCION - SINTAXIS Funcion main () es la funcion principal Desde esta función se llaman las demás funciones No importa el orden como se escriban las funciones, el Programa siempre llamará primero a la función main automáticamente. El codigo de otra función solo se ejecuta si es llamada por La función main.
  • 6. Llamado y retorno La función main llama a la funcion suma despues de la Declaración de la variable z y la función suma retorna un Valor entero que se asignará a z. Una función puede ser Llamada varias veces
  • 7. Llamado y retorno // function example #include <iostream> using namespace std; int resta (int a, int b) { int r; r=a-b; return r; } int main () { int x=5, y=3, z; z = resta (7,2); cout << "El primer resultado es " << z << 'n'; cout << "El segundo resultado es " << resta (7,2) << 'n'; cout << "El tercer resultado es " << resta (x,y) << 'n'; z= 4 + resta (x,y); // lo mismo que decir z= 4 + 2 cout << "El cuarto resultado es " << z << 'n'; system ("pause"); }
  • 8. USO DE VOID La función podria no retornar valores en este caso es de tipo Void. Cuando se escribe con (void), se especifica que cuando se llame esta no tomará ningún valor de parametro // void function example #include <iostream> using namespace std; void mensaje () //podría ser también void mensaje (void) { cout << "Hola estudiantes Ingeniería automatica!"; } int main () { mensaje (); system ("pause"); }
  • 9. Retorno de valor a main() Generalmente la función main es de tipo int. Se entiende que cuando todo el proceso está bien, manera implícita o explicita se retorna un cero El entorno entiende un cero como proceso exitoso. Las demás funciones con tipo, deberían especificar un valor de retorno aun si no se usa
  • 10. Argumentos pasados por valor y por referencia En el siguiente ejemplo los argumentos se pasan por valor. Las variables a y b pueden ser modificadas internamente, y no tener ningún efecto en el exterior. Pero para acceder externamente, los valores de una variable que se encuentra dentro de una función se debe pasar por referencia. Veamos el siguiente ejemplo
  • 11. Argumentos pasados por valor y por referencia // passing parameters by reference #include <iostream> using namespace std; void duplicar (int& a, int& b, int& c) { a*=2; b*=2; c*=2; } int main () { int x=1, y=3, z=7; duplicar (x, y, z); cout << "x=" << x << ", y=" << y << ", z=" << z; //return 0; system ("pause"); } En este caso se la función duplicar Define por referencia las variables a, b, y c Cualquier modificación de las variables A,b o c modificará las variables X, y o z. Si la función duplicar se definiera así: void duplicar (int a, int b, int c) No se pasaría por referencia ningun valor Y esto provocaria que salgan como Resultado los mismos valores dentro De main para x, y o z (1, 3 y 7).
  • 12. Consideraciones de eficiencia y referencia a constantes El paso de argumentos por valor a parámetros definidos de tipo entero por ejemplo, puede causar una sobre carga de memoria, y esto afecta el desempeño de un programa, debido que pasar parámetros por valor genera una copia de los datos. string concatenar (string a, string b) { return a+b; } En el ejemplo anterior se concatena dos cadenas a y b en una sola, cuando la función sea llamada desde otra ubicación del programa se creará una copia de la información y esto puede tomar varias celdas de memoria. Esto puede evitarse si se hace por referencia, con lo cual no se copian los datos string concatenar (string& a, string& b) { return a+b; }
  • 13. Consideraciones de eficiencia y referencia a constantes Sin embargo el uso de argumentos por referencia puede provocar que se cambie los valores de los parámetros, en cualquier momento Para evitar esto se declaran los argumentos como constantes. string concatenate (const string& a, const string& b) { return a+b; }
  • 14. Funciones en línea El proceso de llamar funciones puede provocar ineficiencia debido al apilamiento de parámetros y cambios o saltos dentro del programa. El escribir la palabra inline antes de la función obliga al compilador que copie el código en el sitio de ejecución. inline string concatenar (const string& a, const string& b) { return a+b; } Inline le da la posibilidad al compilador que realice una expansión en línea del código de la función en todos los sitios donde sea llamada.
  • 15. Valores por defecto en los parámetros // default values in functions #include <iostream> using namespace std; int divide (int a, int b=2) { int r; r=a/b; return (r); } int main () { cout << divide (12) << 'n'; cout << divide (20,4) << 'n'; //return 0; system("pause"); } El parámetro b, asume un valor por defecto También se puede pasar un parámetro por valor y tiene precedencia este que el asignado por defecto.
  • 16. Valores por defecto en los parámetros // default values in functions #include <iostream> using namespace std; int divide (int a, int b=2) { int r; r=a/b; return (r); } int main () { cout << divide (12) << 'n'; cout << divide (20,4) << 'n'; //return 0; system("pause"); } El parámetro b, asume un valor por defecto También se puede pasar un parámetro por valor y tiene precedencia este que el asignado por defecto.
  • 17. Declarando funciones La declaración de una función debe realizarse antes de su llamado. Es posible declarar su tipo y los tipos de datos de los parámetros y definirla después. Sin embargo la función main siempre deberá ir después de la declaración de las funciones para que pueda ser llamada dentro de main. Ejemplo
  • 18. Recursividad La recursividad es la propiedad mediante la cual las funciones tienen la capacidad de llamarse por si mismas. Esto es util en procesos de ordenamiento, cálculos de factorial, // factorial calculator #include <iostream> using namespace std; long factorial (long a) { if (a > 1) return (a * factorial (a-1)); else return 1; } int main () { long numero; cout << "Calculo de factorial, ingrese su numero:" << std::endl; cin >> numero; cout << numero << "! = " << factorial (numero); //return 0; system("pause"); Ejemplo