2. OBJETIVO DE LA
SESIÓN
Identificar los
componentes de
una función en
lenguaje C.
Competencias a
Desarrollar
Escucha, interpreta y emite
mensajes
pertinentes
en
distintos contextos mediante
la
utilización
de
medios,
códigos
y
herramientas apropiados.
Desarrolla
software
de
aplicación básica utilizando
programación estructurada en
lenguaje C a fin de cubrir
requerimientos y necesidades
establecidas por el usuario.
3.
4. CONOCIMIENTOS PREVIOS
¿Cuál es la función principal de
un programa en lenguaje C?
¿Qué es una macro?
¿Sería más fácil programar una
aplicación si se divide en
pequeñas partes?
5. ACTIVIDAD DE CONSULTA
Realizar
una búsqueda en
Internet
acerca de lo
siguiente:
1. ¿Qué es una función?
2. Estructura de una función.
3. Parámetros por valor y por
referencia.
4. Ejemplo de una función
6. Una macro consiste en una plantilla o meta-expresión que
define un patrón de sustitución formado por unas variables
libres y unas expresiones textuales que se realizan en la
parte de preprocesamiento por lo que son mucho más
rápidas en cuanto al retorno del resultado.
La directiva #define se utiliza para definir una macro.
#define AREA_CIRCULO(x) 3.1416 * (x * x)
void main() {
int a;
a = AREA_CIRCULO(3);
}
7. Un ejemplo más sería una solución
más simple a un punto del programa
de evaluación 1.2
#include <stdio.h>
#include <stdlib.h>
#define VOL_ESF(x) 1.3333 * 3.1416 * (x * x * x)
int main()
{
float a;
printf("PROGRAMA DE VOLUMENES DE ESFERA nn");
for (a=0;a<=3.0;a=a+0.3)
{
printf("n El volumen de la esfera con radio %.2f= %.2f",a,VOL_ESF(a));
}
printf("nnntt");
system("pause");
}
8. Con base en lo anterior, elabora una macro que permita
obtener el valor de un número elevado a la 4ta. Potencia.
9. En C, se conocen como funciones a aquellos trozos de códigos utilizados
para dividir un programa con el objetivo que, cada bloque realice una tarea determinada.
Todo problema se puede resolver con funciones o sin ellas, pero su uso
adecuado hace que el programa sea más eficiente, fácil de leer y probar.
VENTAJAS
Facilitan el desarrollo y mantenimiento de los programas.
Evitan errores
Ahorran memoria y trabajo innecesario.
Una misma función puede ser utilizada por diferentes
programas, y por tanto no es necesario reescribirla.
10. La definición de una función se hace de forma similar a la de la función main.
Consta básicamente de dos partes: un línea llamada cabecera donde se
especifica el nombre de la función, el tipo del resultado que devuelve y los
parámetros que recibe; y un conjunto de sentencias encerrado entre llaves
formando el cuerpo de la misma.
tipo nombre_función(lista de argumentos con tipos)
{
declaración de variables locales y/o de otras funciones
codigo ejecutable
return (expresión); // optativo
}
11. tipo : especifica el tipo de valor que devuelve la función. Si no se
especifica tipo, el compilador asume que es entero (int).
nombre función: identificador que se usará posteriormente para
llamar a la función.
lista de argumentos con tipos : es la lista de nombres de
variables separados por comas con sus tipos asociados que
reciben los valores de los argumentos actuales de la llamada a la
función.
12. Si en el punto del programa donde se va a realizar una llamada a
una función, dicha función ya ha sido definida
previamente, entonces ya se conocen sus características (tipo del
resultado, número y tipo de los parámetros, etc.), por lo que la
llamada puede realizarse sin problemas.
Sin embargo, si la función que se va a llamar se halla definida
después del main, entonces debe crearse un prototipo de la
función a la cual se desea llamar. Dicho prototipo deberá
colocarse antes del punto donde se haga la primer llamada a la
función, y consta únicamente de la cabecera.
long int fact ( int x ); /* Prototipo */
14. Finalmente, la llamada a una función se realiza con el nombre de la misma
y una lista de parámetros (si es que los requiere) entre paréntesis.
Adicionalmente, si la función devuelve algún valor (es decir, no es de tipo
void) la llamada a la función debe estar incluida en una expresión que
recoja el valor devuelto, por ejemplo, una variable.
int main()
{
int i,resultado;
for (i=0;i<8;i++){
resultado = cuadrado (i);
printf("Cuadrado de %d: %dn",i,resultado);
}
system(“pause”);
return 0;
}