Programación I E. U. Estadística, U. Complutense de Madrid Primer curso, Grupo B Curso 2009-2010 Programación modular.
Views 82 Downloads 3 File size 197KB
Programación I E. U. Estadística, U. Complutense de Madrid Primer curso, Grupo B Curso 2009-2010
Programación modular. Funciones en C++
Yolanda García Ruiz D17C [email protected] yg @ http://gpd.sip.ucm.es/yolanda/ Departamento de Sistemas Informáticos y Computación (UCM)
1
Contenidos 1. Introducción al concepto de subrutina o subprograma. 2. Definición de función C++. 3. Estructura de una función. a) Nombre de una función b) Tipo de retorno (tipo del valor devuelto) c) Valor retorno d)) Lista de pparámetros - Paso por valor - Paso por referencia 4. Los arrays y las estructuras como parámetros. 5. Declaración de funciones: Prototipos. Programación modular. Funciones
Yolanda García Ruiz
2009/2010
2
Introducción En la mayoría de los casos, un determinado problema complejo lo podemos (y debemos) dividir en problemas más sencillos. Estos subproblemas p se conocen en el contexto de la programación p g como “Módulos” o subprogramas. Técnica de diseño conocida como
D d ell punto Desde t de d vista i t del d l diseño: di ñ
TOP DOWN
♦ Se tratará de descomponer el problema original en partes. ♦ Se pueden codificar de forma independiente e incluso por diferentes personas. ♦ El problema bl final fi l queda d resuelto lt y estructurado t t d en forma f de d módulos, lo que hace más sencilla su lectura y mantenimiento. Programación modular. Funciones
Yolanda García Ruiz
2009/2010
3
Diseño de algoritmos (diagramas de flujo) Ejemplo Diseñar un algoritmo que lea por consola una serie de números enteros y calcule la media. Además se visualizarán los siguientes datos por pantalla: Media, I i i Inicio Nú Número de d datos d t mayores que la l media, di Datos mayores que la media. Lectura y almacenamiento de datos
La solución a este problema se podía descomponer en cuatro partes diferentes: Ventajas: - ahorro de espacio. - más fácil entender lo que hace el algoritmo. - más á fácil fá il de d codificar. difi
Calcular la media Determinar cuántos son mayores que la media Visualizar los datos mayores que la media Fin
Programación modular. Funciones
Yolanda García Ruiz
2009/2010
4
Subprogramas Un subprograma es una serie de instrucciones escritas independientemente del programa principal. Este subprograma está ligado al programa principal mediante un proceso de t transferencia/retorno. f i / t Programa Principal
Subprograma
Transferencia El control de ejecución se pasa al subprograma en el momento en que se q sus servicios. requieren Transferencia/retorno de control y datos Retorno
El control de ejecución se devuelve al programa principal cuando el subprograma termina
Programación modular. Funciones
Yolanda García Ruiz
2009/2010
5
Definición de FUNCIÓN z C++ es un lenguaje modular, modular y por esta razón, razón se puede dividir en varios módulos, cada uno de los cuales realiza una tarea determinada. Cada módulo es un subprograma llamado función. z Una función es un miniprograma dentro de un programa. Es un conjunto de sentencias que se pueden llamar desde cualquier parte del programa. p g z Las funciones sirven para: Ö realizar tareas concretas y simplificar el programa Ö sirven i para evitar i escribir ibi ell mismo i código ódi varias i veces. Ventajas de utilizar funciones:
11.- Aislar Ai l mejor j los l problemas bl 2.- Escribir programas más rápido 3.- Programas más fáciles de mantener (más legibles y más cortos) Programación modular. Funciones
Yolanda García Ruiz
2009/2010
6
Ejemplo de uso de funciones: El ejemplo anterior se podría codificar de la siguiente manera: ... void main() { …. lectura_datos(); calcular_media(); mayores_media(); imprimir_mayores(); }
Frente a como lo estamos haciendo ahora Programación modular. Funciones
Yolanda García Ruiz
... void main() { ... ... do cin >> dato; … }while (…); … for (int i=0; i> y ; mayor = maximo( x, y); cout