La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 24.

Presentaciones similares


Presentación del tema: "Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 24."— Transcripción de la presentación:

1 Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 24

2 UD24: Funciones y paso de parámetros Índice  Consideraciones sobre funciones  Estructura de una función  Estructura de un programa en C  Paso de parámetros: C vs. Java  Parámetros de entrada  Parámetros de entrada/salida  Ejemplo  Ejercicio

3 UD24: Funciones y paso de parámetros Consideraciones sobre funciones  Todo programa C está construido en base a funciones.  Las funciones permiten estructurar la codificación de los programas reduciendo su complejidad y como consecuencia, mejorando la eficiencia de su desarrollo.  Las funciones permiten la reutilización de código.  La subdivisión de un programa en varias funciones dependerá, en general, del número de tareas independientes y/o del número de veces que se repita o pueda repetirse una tarea.

4 UD24: Funciones y paso de parámetros Estructura de un programa en C  Estructura general de un programa con funciones definiciones y declaraciones void main(void) { declaración de variables instrucciones } tipo1 nombre_función1 (tipo11 arg11, tipo12 arg12,...){ declaración de variables instrucciones }... tipoN nombre_funciónN (tipoN1 argN1, tipoN2 argN2,...) { declaración de variables instrucciones } tipo1 nombre_función1 (tipo11, tipo12,...); tipo2 nombre_función2 (tipo21, tipo22,...);... tipoN nombre_funciónN (tipoN1, tipoN2,...); Una única función main Las llamadas a funciones son igual que en Java

5 UD24: Funciones y paso de parámetros Estructura de una función  Funciones C Tr nombre (T1 e1,..., Tn en) { Tr r; declaración de variables instrucciones return r; } Estructura igual que en Java. Pero las declaraciones de variables siempre al inicio de la función

6 UD24: Funciones y paso de parámetros Funciones  Llamada a una función En una asignación: variable = nombre_función (lista de parámetros); Dentro de una expresión: E (x, nombre_función (lista de parámetros))

7 UD24: Funciones y paso de parámetros Paso de parámetros: C vs. Java  El paso de parámetros en C es como en Java: se copia el valor de los parámetros reales en los parámetros formales y se ejecuta el cuerpo del método invocado.  Parámetros de entrada: es el caso de parámetros de tipos básicos (int, char, …) y struct.  Parámetros de entrada salida o salida: son los de tipo puntero. Cuando el parámetro es de tipo puntero a un tipo T entonces el valor apuntado por el parámetro es de entrada salida.

8 UD24: Funciones y paso de parámetros Parámetros de entrada double mediaAritmética (int a, int b, int c) { a = a + b + c; return (a / 3.0); } double mediaAritmética (int a, int b, int c) { a = a + b + c; return (a / 3.0); }

9 UD24: Funciones y paso de parámetros Parámetros de entrada salida  Parámetros de entrada salida. A este tipo de paso de parámetros se le suele denominar paso de parámetros por referencia. void intercambio (int *p1, int *p2) { int tmp; tmp = *p1; *p1 = *p2; *p2 = tmp; } void intercambio (int *p1, int *p2) { int tmp; tmp = *p1; *p1 = *p2; *p2 = tmp; } int a = 7,b = 8; intercambio(&a,&b); int a = 7,b = 8; intercambio(&a,&b);

10 UD24: Funciones y paso de parámetros Parámetros de entrada salida #include float media_aritmética (int, int, int); void main (void) { int x = 0, y = 0, z = 0; float media = 0.0; printf (“\n Teclee tres números:”); scanf (“%d%d%d”, &x, &y,&z); media = media_aritmetica (x, y, z); printf(“%d”,media); } #include float media_aritmética (int, int, int); void main (void) { int x = 0, y = 0, z = 0; float media = 0.0; printf (“\n Teclee tres números:”); scanf (“%d%d%d”, &x, &y,&z); media = media_aritmetica (x, y, z); printf(“%d”,media); } La función de lectura scanf es un caso particular de paso de parámetros por referencia. Igualmente ocurre con sscanf y fscanf.

11 UD24: Funciones y paso de parámetros Ejemplo  Llamada a la función C int a, b, f, anyo, ndias; En una asignación: f = factorial (5); f = factorial (a) / factorial (a-b); Dentro de una expresión: if (esBisiesto(anyo)) ndias = 366;

12 UD24: Funciones y paso de parámetros Ejercicios  Realice una función que dado un array de enteros y la longitud del mismo, permita mediante parámetros de entrada/salida el cálculo a la vez de la suma, el máximo, el mínimo y la media de los valores de un array de enteros dado. El prototipo de la función es: void calculaSumMaxMinMed(const Vector, int, IntP, IntP, IntP, IntP, DoubleP) donde #define DIM 20 typedef int Vector[DIM ]; typedef int* IntP; typedef double* DoubleP;

13 UD24: Funciones y paso de parámetros Ejercicios  Realice la función con prototipo void leerDatos(int aTam, IntP aLength, Vector a){ donde aTam es el tamaño máximo del array, aLength es el número real de valores que tiene el array y a es el array a inicializar.  Realice un programa donde se utilice la función anterior para leer los valores del array desde la entrada estándar.


Descargar ppt "Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Unidad Didáctica 24."

Presentaciones similares


Anuncios Google