Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRosa Naranjo Palma Modificado hace 7 años
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.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.