Programacion Modular. Funciones en C Con

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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