Semana 11

Page 1

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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.