Ing. Edson RaĂşl Lazo Alvarez
Programaci贸n Estructurada
Funciones en C++
Computaci贸n Ing. Edson Ra煤l Lazo Alvarez
Semana 11
Ing. Edson Ra煤l Lazo Alvarez
Propósito
Al finalizar el estudiante podrá desarrollar programas en C++ aplicando funciones.
Ing. Edson Raúl Lazo Alvarez
Agenda del dĂa
Subprogramas Funciones
Conceptos adicionales Ejercicios Ing. Edson RaĂşl Lazo Alvarez
1 Subprogramas
Ing. Edson RaĂşl Lazo Alvarez
¿Qué son los subprogramas? Los subprogramas se implementan en respuesta al diseño modular. Su principal objetivo consiste en facilitar la depuración de errores en el software y en facilitar la reutilización de componentes de software para lograr mayor productividad. Hacen más sencilla la programación.
Tipos de Subprogramas Todos los lenguajes de programaci贸n admiten subprogramas. Se los denomina funciones, procedimientos, subrutinas. C++ emplea el subprograma funci贸n.
Ing. Edson Ra煤l Lazo Alvarez
Subprogramas
Ing. Edson RaĂşl Lazo Alvarez
Subprogramas
2 Funciones en C++
Ing. Edson RaĂşl Lazo Alvarez
Función en C++ Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento.
Ing. Edson Raúl Lazo Alvarez
Funci贸n en C++ Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son com煤nmente utilizadas durante un programa y de esta manera reducir la cantidad de c贸digo.
Ing. Edson Ra煤l Lazo Alvarez
Función en C++ Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.
Ing. Edson Raúl Lazo Alvarez
Sintaxis //Prototipo o Declaración tipo función(tipo_1 parámetro_1, tipo_n parámetro_n ); //Definición tipo función(tipo_1 parámetro_1, tipo_n parámetro_n ) { sentencias de la función } Las declaraciones de funciones tienen un nombre específico: se denominan prototipo Ing. Edson Raúl Lazo Alvarez
Declaración y definición de funciones En C++ hay que distinguir entre lo que es un declaración y una definición de una función. En la declaración de una función tan sólo se incluye la cabecera o prototipo de la misma, y siempre tiene que aparecer antes de ser utilizada. En la definición de la función aparecen las sentencias que ejecuta dicha función, y puede aparecer en cualquier parte del programa.
Ing. Edson Raúl Lazo Alvarez
Ejemplo 1 – cuadrado de un número Para comenzar, vamos a considerar el caso en el cual se desea crear la función cuadrado(), que deberá devolver el cuadrado de un número real (de punto flotante), es decir, cuadrado() aceptará números de punto flotante y regresará una respuesta como número flotante.
Ing. Edson Raúl Lazo Alvarez
Ejemplo – Cuadrado()
Nota: aunque para la función que veremos el tipo de retorno coincide con el tipo de parámetro pasado, algunas veces las cosas pueden cambiar, es decir, no es obligatorio que una función reciba un parámetro de un tipo y que tenga que regresar una respuesta de dicho tipo. Ing. Edson Raúl Lazo Alvarez
Ing. Edson RaĂşl Lazo Alvarez
Ejemplo 2 - Factorial
Ing. Edson RaĂşl Lazo Alvarez
Ing. Edson RaĂşl Lazo Alvarez
2 Conceptos adicionales
Ing. Edson RaĂşl Lazo Alvarez
Funciones en C++ Prototipos , tipos de resultados y argumentos.
Funciones en C++ Prototipos , tipos de resultados y argumentos.
Funciones en C++ Parámetros formales y actuales
Parámetros formales o de diseño
Parámetros actuales o de llamada
Sobrecarga de funciones
Recursividad La recursividad es una técnica que permite a definir a una función en términos de sí misma. En otras palabras: una función es recursiva cuando se invoca a sí misma. Ejemplos:
• Factorial: 5!= 5*4!
n!= n * (n-1)!
• Potencia: 27 = 2*26
an = a*a(n-1)
• Fibonacci: 1,1,2,3,5,8,13,... ;
tn=t(n-1)+t(n-2)
Recursividad
Condiciones para que una función sea recursiva Toda función recursiva debe Realizar llamadas a sí misma para efectuar versiones reducidas de la misma tarea. Incluir uno o más casos donde la función realice su tarea sin emplear una llamada recursiva, permitiendo detener la secuencia de llamadas (condición de detención o stop).
A construir programas - Ejercicios
Ing. Edson RaĂşl Lazo Alvarez
Ejercicios Escribe un programa que implemente y utilice una función para determinar si un número es positivo o negativo. Lee un número entero por teclado e imprime por pantalla si el número leído es positivo o negativo haciendo uso de la función definida. Programa que calcula el cubo de los números del 1 al 5 utilizando una función definida por el usuario.
Ing. Edson Raúl Lazo Alvarez
Que las dudas no te atormenten – Pregunta.
Ing. Edson RaĂşl Lazo Alvarez
Reflexionemos
Ing. Edson RaĂşl Lazo Alvarez
Ing. Edson RaĂşl Lazo Alvarez elazo@continental.edu.pe