Programacion ii modulo2-leccion3

492 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
492
En SlideShare
0
De insertados
0
Número de insertados
36
Acciones
Compartido
0
Descargas
6
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Programacion ii modulo2-leccion3

  1. 1. PROGRAMACION II MODULO II - FUNDAMENTOS DEL LENGUAJE C LECCION III – BLOQUE DE FUNCIONES 1. Concepto 2. Estructura 3. Declaración de una función 4. Referencia a una función 5. Tipo de parámetros 6. Variables locales 7. Funciones estándar de entrada y salida 8. Recursión TEMA Nº 0 pág. 1/6
  2. 2. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones - Concepto función es una parte de código independiente del programa principal y de otras funciones, que puede ser llamada enviándole unos datos (o sin enviarle nada), para que realice una determinada tarea y/o proporcione unos resultados. -Las funciones son una parte muy importante del lenguaje C. -Mediante el uso de funciones se consigue un código limpio, claro y elegante. -La adecuada división de un programa en funciones constituye un aspecto fundamental en el desarrollo de programas de cualquier tipo. -Las funciones, ya compiladas, pueden guardarse en librerías. Las librerías son conjuntos de funciones compiladas, normalmente con una finalidad análoga o relacionada, que se guardan bajo un determinado nombre listas para ser utilizadas por cualquier usuario.
  3. 3. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones - Concepto
  4. 4. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones - Concepto
  5. 5. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones - Estructura
  6. 6. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones – Parámetros
  7. 7. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones – Parámetros El paso de parámetros se refiere a la acción de transformar los parámetros formales a parámetros reales; es decir, de asignar un contenido a las variables que representan a los argumentos: tipo funcion_llamada( parámetro_formal_1, parámetro_formal_2, ... ); funcion_llamadora( ... ) { /* ... */ funcion_llamada( parámetro_real_1, parámetro_real_2, ... ) /* ... */ } /* funcion_llamadora */ Hay dos posibilidades: que los argumentos reciban el resultado de la evaluación de la expresión correspondiente o que se sustituyan por la variable que se indicó en el parámetro real de la misma posición. El primer caso, se trata de un paso de parámetros por valor, mientras que el segundo, se trata de un paso de variable (cualquier cambio en el argumento es un cambio en la variable que consta como parámetro real).
  8. 8. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones – Parámetros El paso por valor consiste en asignar a la variable del parámetro formal correspondiente el valor resultante del parámetro real en su misma posición. El paso de variable consiste en sustituir la variable del parámetro real por la del parámetro formal correspondiente y, consecuentemente, poder emplearla dentro de la misma función con el nombre del parámetro formal. En C, el paso de parámetros sólo se efectúa por valor; es decir, se evalúan todos los parámetros en la llamada y se asigna el resultado al parámetro formal correspondiente en la función.
  9. 9. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C - Bloque de funciones – Parámetros
  10. 10. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C - Bloque de funciones – Parámetros
  11. 11. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones – Parámetros
  12. 12. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones – Parámetros
  13. 13. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones – variables locales
  14. 14. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Bloque de funciones – Ejemplo /* Fichero: simpson.c */ x = x + dx; #include <stdio.h> } /* for */ #include <math.h> } /* if */ double f( double x ) return result; } /* integral_f */ { return 1.0/(1.0 + x*x); void main( void ) } /* f */ { double a, b; double integral_f( double a, double b, int int n; n) printf( "Integración numérica de f(x).n" ); printf( "Punto inicial del intervalo, a = ? " ); { scanf( "%lf", &a ); double result; printf( "Punto final del intervalo, b = ? " ); double x, dx; scanf( "%lf", &b ); int i; printf( "Número de divisiones, n = ? " ); result = 0.0; scanf( "%d", &n ); if( (a < b) && (n > 0) ) { printf( x = a; "Resultado, integral(f)[%g,%g] = %gn", dx = (b-a)/n; a, b, integral_f( a, b, n ) for( i = 0; i < n; i = i + 1 ) { ); /* printf */ result = result + f(x); } /* main */
  15. 15. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Funciones de entrada/salida de datos
  16. 16. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Funciones de entrada estándar Se ocupan de obtener datos de la entrada estándar que, habitualmente, se trata del teclado. Devuelven algún valor adicional que informa del resultado del proceso de lectura. El valor devuelto no tiene por qué emplearse si no se necesita, pues muchas veces se conoce que la entrada de datos se puede efectuar sin mayor problema. scanf( "formato" [, lista_de_&variables ] ) Para poder depositar los datos leídos en las variables indicadas, esta función requiere que los argumentos de la lista de variables sean las direcciones de memoria en las que se encuentran. Por este motivo, es necesario emplear el operador “dirección de” (&). De esta manera, scanf deja directamente en las zonas de memoria correspondiente la información que haya leído y, naturalmente, la variable afectada verá modificado su contenido con el nuevo dato scanf( "%d", &num_articulos ); La función scanf devuelve el número de datos correctamente leídos. Es decir, todos aquellos para los que se ha encontrado algún texto compatible con una representación de su tipo.
  17. 17. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Funciones de entrada estándar getchar( ) Devuelve un carácter leído por la entrada estándar (habitualmente, el buffer del teclado). En caso de que no pueda leer ningún carácter, devuelve el carácter EOF. Esta constante está definida en stdio.h y, por tanto, puede emplearse para determinar si la lectura ha tenido éxito o, por lo contrario, se ha producido algún error o se ha llegado al final de los datos de entrada. gets( cadena_caracteres ) Lee de la entrada estándar toda una serie de caracteres hasta encontrar un final de línea (carácter n). Este último carácter es leído pero no se almacena en la cadena de caracteres que tiene por argumento. De no leer nada devuelve NULL, que es una constante definida en stdio.h y cuyo valor es 0.
  18. 18. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Funciones salida estándar La salida estándar es el lugar donde se muestran los datos producidos (mensajes, resultados, etcétera) por el programa que se encuentra en ejecución. Normalmente, esta salida es la pantalla del ordenador o una ventana dentro de la pantalla. En este último caso, se trata de la ventana asociada al programa. printf( "formato" [, lista_de_campos ] ) Los especificadores de campo tienen el formato siguiente: %[-][+][anchura[.precisión]]tipo_de_dato printf( "El importe de la factura núm.: %5d", num_fact ); printf( "de Sr./-a. %s sube a %.2f_n", cliente, importe );
  19. 19. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Funciones salida estándar %[-][+][anchura[.precisión]]tipo_de_dato
  20. 20. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Funciones salida estándar putchar( carácter ) Muestra el carácter indicado por la salida estándar. puts( "cadena de caracteres" ) Muestra una cadena de caracteres por la salida estándar. Ejemplo putchar( „n ); Ejemplo puts( "Hola a todos!n" );
  21. 21. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C - Funciones de entrada/salida de datos • No forman parte del lenguaje, están en librería estándar: #include <stdio.h> • Escribir por pantalla: printf printf ( <cadena> ); printf ( <cadena con formato>, <expresión 1>, <expresión 2>, ...); printf("¡Buenos días!"); printf("Un entero: %d y un real: %fn", 27*12, 3.1416);
  22. 22. PROGRAMACION II FUNDAMENTOS DEL LENGUAJE C – Lenguaje C – Ejercicios 1- Muestre en pantalla el mensaje "Bienvenido“. 2- Muestre en pantalla el mensaje "C no tiene misterios". 3- Muestre en pantalla la suma de 100 y 120. 4- Muestre en pantalla el producto de 50 y 51. 5- Guarde en la variable x (entera) el número 23, en la variable y (entera) el número 24, en la variable z (entera) el número 25 y muestre en pantalla la suma de los valores de las tres variables. 6- Guarde en la variable x (entera) el número 10, en la variable y (entera) el número 11, en la variable z (entera) el número 12, calcule su producto y lo guarde en una variable llamada producto, y finalmente muestre en pantalla el valor de la variable producto. 7- Pida al usuario dos números enteros (que se guardarán en las variables a y b) y muestre su suma en pantalla. 8- Pida al usuario dos números enteros (que se guardarán en las variables n1 y n2) y muestre su producto en pantalla. 9- Pida al usuario dos números reales (que se guardarán en las variables dato1 y dato2) y muestre en pantalla el resultado de dividir dato1 entre dato2. 10- Pida al usuario dos números reales (que se guardarán en las variables dato1 y dato2).Si dato2 es cero,deberá mostrar un mensaje de error, y en caso contrario mostrará en pantalla el resultado de dividir dato1 entre dato2.

×