Semana 11 12

Page 1

Ing. Edson RaĂşl Lazo Alvarez


Rafael Nadal


Programación Estructurada

Funciones y Procedimientos en C++ Computación Ing. Edson Raúl Lazo Alvarez

Semana 11 – Semana 12

Ing. Edson Raúl Lazo Alvarez


Propósito

 Al finalizar el estudiante podrá desarrollar programas en C++ aplicando funciones y procedimientos.

Ing. Edson Raúl Lazo Alvarez


Agenda del dĂ­a Subprogramas Funciones Procedimientos Funciones Vs Procedimientos 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. .

Ing. Edson RaĂşl Lazo Alvarez


Subprogramas

Ing. Edson RaĂşl Lazo Alvarez


Subprogramas – Funciones y Procedimientos Principal Main()

Subproceso A

Subproceso A

Inicio

Inicio

Inicio

Subproceso A

Proceso

Proceso

Subproceso B

Fin

Fin

Fin


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


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


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


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 decimales y regresará una respuesta como número decimal.

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


3 PROCEDIMIENTOS

ING. Edson Raúl Lazo Alvarez


Procedimientos en C++ Es un subprograma que ejecuta un proceso específico. Ningún valor está asociado con el nombre del procedimiento; por consiguiente, no puede ocurrir en una expresión.

ING. Edson Raúl Lazo Alvarez


Función en C++ Cuando se invoca el procedimiento, los pasos que lo definen se ejecutan y a continuación se devuelve el control al programa que le llamó.

Ing. Edson Raúl Lazo Alvarez


Sintaxis //Prototipo o Declaración void procedimiento(tipo_1 parámetro_1,…,tipo_n parámetro_n); //Definición void procedimiento(tipo_1 parámetro_1,…,tipo_n parámetro_n) { sentencias del procedimiento (sin valor de retorno); }

ING. Edson Raúl Lazo Alvarez


Ejemplo

Elaborar un procedimiento que reciba como parámetro una nota y también indique si es aprobada o desaprobada. Luego escribir el programa principal que invoque a este procedimiento.

ING. Edson Raúl Lazo Alvarez


ING. Edson RaĂşl Lazo Alvarez


4 Procedimiento Vs Función

Ing. Edson Raúl Lazo Alvarez


Procedimiento vs. Función Aunque las funciones son herramientas de programación muy útiles para la resolución de problemas, su alcance está muy limitado. Con frecuencia se requieren subprogramas que calculen varios resultados en vez de uno solo. En estas situaciones la función no es apropiada y se necesita disponer del otro tipo de subprograma: el procedimiento o subrutina.

Ing. Edson Raúl Lazo Alvarez


Procedimiento vs. Función Los procedimientos y funciones son subprogramas cuyo diseño y misión son similares; sin embargo, existen unas diferencias esenciales entre ellos: • Las funciones devuelven un valor, los procedimientos no. • El procedimiento se declara igual que la función, pero su nombre no está asociado a ninguno de los resultados que obtiene. • Los procedimientos se declaran y definen antes del programa principal. ING. Edson Raúl Lazo Alvarez


5 Recapitulando

Ing. Edson RaĂşl Lazo Alvarez


Prototipo de Función Prototipo de Procedimiento

Main() Función Principal Desde aquí se invocan las funciones y procedimientos Código Fuente C++ Definición de la Función Definición del Procedimiento 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.