Unidad 2 funciones
Transcript of Unidad 2 funciones
![Page 1: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/1.jpg)
PROGRAMACIÓN BÁSICALENGUAJE C
![Page 2: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/2.jpg)
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.
![Page 3: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/3.jpg)
UNIDAD II: Aplicación de funciones desarrolladas en lenguaje c. 2.1. Automatiza
operaciones mediante la creación de funciones para la agilización de procesos.
A. Identifica los componentes de una
función.
![Page 4: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/4.jpg)
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?
![Page 5: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/5.jpg)
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
C++
![Page 6: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/6.jpg)
MACROSUna 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); }
Ejemplo
![Page 7: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/7.jpg)
MACROS 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 \n\n"); 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("\n\n\n\t\t"); system("pause");}
![Page 8: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/8.jpg)
HAZ TU PROPIA MACROCon base en lo anterior, elabora una macro que permita obtener el valor de un número elevado a la 4ta. Potencia. Solución
![Page 9: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/9.jpg)
FUNCIONESEn C, se conocen como funciones a aquellos trozos de códigos utilizados para dividir un programa con el objetivo que, cada bloque realice una ta-rea 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.
![Page 10: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/10.jpg)
ESTRUCTURA DE UNA FUNCIÓNLa 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 ejecutablereturn (expresión); // optativo
}
![Page 11: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/11.jpg)
LOS ELEMENTOS DE LA FUNCIÓNtipo : 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.
![Page 12: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/12.jpg)
FUNCIÓN PROTOTIPOSi 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 */
![Page 13: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/13.jpg)
EJEMPLO DE UNA FUNCIÓN
int cuadrado(int x){ int r;r=x*x;return r;
}
![Page 14: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/14.jpg)
PARA MANDAR LLAMAR A LA FUNCIÓN
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: %d\n",i,resultado);
}system(“pause”);return 0;}
![Page 15: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/15.jpg)
¿TIENES ALGUNA PREGUNTA?
![Page 16: Unidad 2 funciones](https://reader035.fdocumento.com/reader035/viewer/2022062901/58f262de1a28abb37f8b45d1/html5/thumbnails/16.jpg)
¡GRACIAS POR TU ATENCIÓN!