Funciones Fundamentos de Programación II Namuel Solórzano Peralta Ing. De Sistemas CECAR Tú eres lo que es el profundo deseo que te impulsa. Tal como es tu deseo es tu voluntad. Tal como es tu voluntad son tus actos. Tal como son tus actos es tu destino. Brihadaranyaka Upanishad
Entrada Salida Proceso Los proceso inmersos en la realidad tienen tres aspectos fundamentales: Entradas Proceso Salida Entrada Salida Proceso
Observemos un primer ejemplo: Proceso Digestivo Ingestión Digestión mecánica Digestión química Absorción Alimentos Nutrientes Proceso
Observemos un segundo ejemplo: Proceso Respiratorio Inhalar el aire por la nariz Calentar y humedecer aire Trasladarlos a la laringe Trasladarlo a las tráqueas Trasladarlos a los bronquios Realizar intercambio con la sangre Oxigeno s Gas carbónico Proceso
Preparación AREPAS BLANCAS CON QUESO Observemos un tercer ejemplo: Preparación AREPAS BLANCAS CON QUESO En un tazón profundo mezcle la harina de maíz, agua y la mantequilla derretida; amase, luego agregue el queso, sal y azúcar. Si es necesario, agregue agua hasta que la masa sea suave y menos pegajosa. Haga bolas de masa de cerca de 1 onza y presione entre hojas de plástico de 8”X8” con un rodillo hasta que la arepa sea de 2 a 3 pulgadas de diámetro y relativamente gruesa. Déles forma redonda con las manos húmedas. Remoje una sartén o freidor con aceite; cocine las arepas 2 a 3 minutos por lado o hasta que se doren. Cúbralas con un trapo para conservarlas calientes. Harina maíz Agua Arepas blancas Con queso Mantequilla Queso sabanero Sal y Azúcar Proceso
Observemos un cuarto ejemplo: Pagar una factura Entregar la factura al cajero El cajero recibe el monto y solita el dinero El usuario entrega el dinero El cajero registra el pago de la factura en el sistema El cajero devuelve la factura debidamente timbrada y el cambio (si es necesario) El usuario recibe y se marcha Factura Factura cancelada Dinero Proceso
Calcular área del Triangulo Observemos un quinto ejemplo: Base Calcular área del Triangulo Se multiplica la base por la altura El resultado anterior se divide entre dos Área triangulo Altura Proceso
Calcular el monto de intereses a un año Observemos un sexto ejemplo: Capital Calcular el monto de intereses a un año Multiplicar el capital por el interés pactado Multiplicar el resultado anterior por 12 (meses) Monto a pagar Tasa interés Proceso
Para realizar estos proceso y cálculos en el contexto de la computadora, debemos recurrir al concepto de: Función
En el ámbito de la programación, una función es un tipo subalgoritmo, es el término para describir una secuencia de órdenes que hacen una tarea específica de una aplicación más grande.
¿Cómo escribimos una función en lenguaje C? tipoDevuelto 1 nombreFunción 2 ([parámetros]) 3 { código…. [return valor;] } 4
Tipo de dato del valor que la función devolverá al terminar su ejecución. Puede ser: int – float – double – char – bool, etc 1 Nombre de la función con el que se identifica y se distingue de otras. No podrá haber otra función ni procedimiento con ese nombre 2
Una lista de parámetros Una lista de parámetros.- Especificación del conjunto de argumentos (pueden ser cero, uno o más) que la función debe recibir para realizar su tarea 3 El código u órdenes de procesamiento.- Conjunto de ordenes y sentencias que debe ejecutar la función. 4
Ejemplo de una función int calcularFactorial(int numero){ int factorial = 1; int secuencia = 1; if(numero == 0){ return 1; } else{ do{ factorial = factorial * secuencia; secuencia = secuencia + 1; while(secuencia <= numero); return factorial;
Identifiquemos los elementos de una función ¿Tipo de retorno? ¿Nombre de la función? ¿Parámetros? ¿Código?
tipoDevuelto nombreDeFunción([parámetros]){ Tipo de funciones tipoDevuelto nombreDeFunción([parámetros]){ codigo… [return valor;] } void nombre( ){ } void nombre(parámetros){ } tipoDevuelto nombre( ){ } 1 tipoD nombre(parámetros){ } 2 3 4
Funciones que no devuelven ni reciben datos void nombre( ){ } Función: Tipo 1 1 Funciones que no devuelven ni reciben datos void dibujarTriangulo(){ cout<<“ *”; cout<<“ * *”; cout<<“* *”; cout<<“*******”; } void dibujarAsterisco(){ cout<<“*”; }
Funciones que no devuelven pero si reciben datos void nombre(parámetros){ } Función: Tipo 2 2 Funciones que no devuelven pero si reciben datos void exit(int estado){ } void esPositivo(int numero){ if(numero>0) cout<<“Positivo”; else cout<<“Negativo”; }
Funciones que devuelven pero no reciben datos tipoDevuelto nombre( ){ } Función: Tipo 3 3 Funciones que devuelven pero no reciben datos int getche(){ }
Funciones que devuelven y reciben datos tipoDevuelto nombre(parámetros){ } Función: Tipo 4 4 Funciones que devuelven y reciben datos bool esPar(int numero){ if(numero%2 == 0) return true; else return false; } float areaCuadrado(float lado){ float area=0.0; area = lado * lado; return lado; }