¿Qué es una función?

¿Qué es una función?

Tags
Published
Published March 7, 2022
Author
¿Qué es una función?
¿Qué es una función?
A partir de este capítulo comenzamos con conceptos de programación. Por eso te quiero invitar a tomarte tu tiempo para leer cada capítulo. Cada capítulo te ayudará a entender los conceptos a través de analogías del mundo real y ejemplos prácticos.
Empecemos con el título de este capítulo. ¿Qué es una función?

Definición de función

💡
Rutina almacenada para ser ejecutada en cualquier momento por cualquier actor.
Sí, a mí tampoco me queda claro. Tratemos de desmenuzar la definición.

Rutina almacenada

Imagina una acción que practicas todos los días: Caminar, hablar, respirar. Sencillo? Bien. Todas estas son rutinas de algunos seres humanos. Digo algunos porque no todos podemos hablar, caminar o incluso respirar. Pero, ¿Tú si puedes? ¿Por qué?
En algún momento de tu vida alguien te enseñó a caminar, hablar, pero, ¿Quién te enseñó a respirar? Bueno, eso viene en tu ADN. Sin entrar en detalles, tus antepasados dejaron escrito en su ADN que era necesario respirar para sobrevivir.
Todas estas rutinas están almacenadas en tu ADN y tu cerebro.

Para ser ejecutada en cualquier momento

Retomando las rutinas. Si tú puedes caminar, no es como que todo el tiempo estés caminando. Así mismo las funciones necesitan ser ejecutadas para llevarse a cabo. Quiero decir que no caminas sin pensarlo. Tu cerebro le dice a tus pies y tu cuerpo como mantener el equilibrio.
Y ¿Qué pasa con la respiración? ¿Esa si es automática? Pues, sí y no. Por su puesto que puede ser automática, pero aún la respiración es una rutina aprendida por tus pulmones, corazón, nariz, etc. Tu cerebro le dice a tus órganos cómo y cuánto respirar.

Por cualquier actor

Lo venimos diciendo anteriormente, en la mayoría de los casos, nuestro cerebro sabe cómo realizar cada rutina, pero no todo el tiempo actúa sin tu permiso. Digamos que además de respirar y hacer funcionar tus órganos internos, tu cerebro necesita que tu le digas qué hacer en todo momento.

Ejemplo completo

Imagina que te despiertas por las mañanas, ¿Quién te despertó? ¿La alarma? ¿El ruido de los vecinos? Así es, tu cerebro. Tu cerebro sabe como despertarte. Por eso, cuando tu intentas despertarte por tu propia cuenta, pero el cerebro aún no da la orden, puedes sufrir de la parálisis del sueño. Lo mejor que puedes hacer es esperar a que tu cerebro de la orden de despertar al resto de tu cuerpo.

¿Cómo lo hacen las computadoras?

Las computadoras también tienen memorias que utilizan como cerebros. Aunque son considerablemente más primitivos que los cerebros humanos.
Para que una computadora encienda (O despierte), necesita tener almacenada una rutina de encendido. Lo mismo con el apagado. A estas rutinas les llamamos funciones. Es por eso que decimos que una computadora no funciona cuando no prende o no se puede apagar.

Funciones en programación

Pero, ¿Cómo le hace la computadora para saber la hora, o para imprimir mis documentos, o reproducir videos? Bueno, eso es fácil de explicar, difícil de hacer.
Las computadoras son tontas. Necesitan que se les enseñe a hacer todo. Sin intervención humana, las computadoras no pueden aprender.
Entonces, podemos decir que los programadores escriben funciones para que la computadora pueda cumplir con sus deberes.
Cuando la tarea que se quiere completar es muy grande, por ejemplo: Una calculadora, no basta con una función que haga todo. Mas bien los programadores crean una gran cantidad de funciones para que la computadora sepa calcular. A este conjunto de funciones le llaman programa de computadora o aplicación. Así es como se crean las aplicaciones de calculadora.

Función para sumar dos números en Kotlin

Para que tú puedas probar estos ejemplos te invito a que visites el área de juegos oficial de Kotlin.
Veamos el siguiente ejemplo:
/** * 1 Función principal. Esta es la función que se ejecuta cuando le damos click al botón de play. * click al botón de play. */ fun main() { // 2 Dos valores para ser utilizados por nuestra función sumOf val a = 2 val b = 2 // 4 El resultado de la suma se guarda en aPlusB val aPlusB = sumOf(a, b) // 5 Imprimimos el valor print("a + b = $aPlusB") } /** * 3 Nuestra función de suma "sumOf" * * @param a El primer valor para ser sumado * @param b El segundo valor par aser sumado * * @return La suma de a + b */ fun sumOf(a: Int, b: Int): Int { return a + b }
Función para sumar dos números en Kotlin
  1. Al darle click al botón de play, se ejecuta nuestra función main.
  1. Se crean dos valores para ser sumados por nuestra función sumOf, a y b.
  1. Se ejecuta nuestra función sumOf utilizando los valores a y b.
  1. El resultado de la suma se guarda en aPlusB.
  1. Imprimimos el valor en la consola.
¡Inténtalo tú mismo! Visita el area de juegos de Kotlin y copia y pega el ejemplo anterior. Dale play y mira lo que pasa.

Anatomía de una función

Algunos lenguajes de programación son similares por la manera en la que se escriben. A esto le llamamos sintaxis. Sin embargo, las funciones no se escriben igual en todos los lenguajes de programación. La anatomía de una función es siempre la misma, pero la forma de escribirlas cambiará de lenguaje en lenguaje.
En el siguiente ejemplo veremos la anatomía de una función escrita en Kotlin:
fun /* <- 1. Palabra clave que indica que esto es una función */ sumOf /* <- 2. Nombre de la función */ ( /** <- * 3. Parentesis que indican en donde escribir los argumentos * necesarios para escribir la función */ a: Int /* 4. El primer argumento de la función */, b: Int /* El segundo argumento escrito después de la coma */ /** * Si queremos otro argumento, sólo tenemos que agregar una coma antes. */ ): Int /* <- 5. El tipo de dato que regresa la función cuando termina */ { /** * 6. Llaves que determinan en donde empieza y termina la ejecución de una * función */ return Unit /* <- 7. Palabra clave que indica que la función regresará un valor */ }
Anatomía de una función en Kotlin

1. Palabra clave fun

Cada lenguaje tiene palabras reservadas para indicar diferentes cosas. A esto le llamamos palabras claves o palabras reservadas.
Kotlin utiliza la palabra clave fun para indicar que lo que estás escribiendo es una función.

2. Nombre de la función

En Kotlin, puedes utilizar casi cualquier signo para nombrar tus funciones. Sin embargo, existen algunas convenciones de código para nombrar las variables, funciones, y otras cuestiones.
Si quieres aprender más sobre convenciones de código en kotlin, te invito a leer el siguiente artículo.

3. Paréntesis

Todas las funciones en Kotlin utilizan los paréntesis para determinar el área en donde debes defir los argumentos. Si bien, no es obligatorio que tus funciones tengan argumentos, todas las funciones necesitan llevar los paréntesis.

4. Argumentos de una función

Cada argumento debe de contener el nombre y el tipo de dato del argumento. Esto lo veremos en el siguiente capítulo, pero el tipo de dato define lo que es tu argumento, por ejemplo, un número o texto, etc.

5. Tipo de dato de retorno

Al terminar de ejecutarse, la función puede o no regresar un valor. Si la función regresa algún valor, debes indicar el tipo de dato de este valor, por ejemplo, un número o texto, etc. Si la función no indica el tipo de dato, la función regresará automáticamente un tipo de dato llamado Unit, el cual es utilizado para indicar que esta función no regresa nada especial al terminar su ejecución.

6. Llaves

Las llaves en Kotlin son utilizadas para determinar bloques de código. Algo así como párrafos al escribir.

7. Palabra clave return

Esta palabra clave se utiliza para indicar que el valor que se escriba a su derecha será devuelto por la función al terminar. Por ejemplo, la suma de nuestros argumentos.

Conclusión

¿Muy complicado? no te preocupes, puedes repetir este capítulo cuantas veces te haga falta. Te invito a que me compartas tus dudas en los comentarios.
Recuerda que la mejor forma de aprender a programar es practicando. Te invito a copiar y pegar el código en el área de juegos oficial de kotlin para que puedas ponerlo a prueba tú mismo.
¡Intenta modificar el código y ver qué es lo que pasa!

Programación desde 0 – Kotlin para no programadores

Video preview
¿Qué es una función?
En la siguiente lista podrás encontrar en enlace a cada uno de los videos conforme los vaya publicando.
  1. Introducción – Programación desde 0 – Kotlin para no programadores
  1. ¿Qué es la programación?
  1. ¿Qué puedo hacer con la programación?
  1. ¿Cómo puedo empezar a programar?
  1. Herramientas recomendadas para empezar a programar
  1. ¿Qué es una función?
  1. ¿Qué es un dato?
  1. ¿Qué es un algoritmo?
  1. ¿Qué es un operador?
  1. ¿Qué es una condición?
  1. ¿Qué es un ciclo?
  1. ¿Qué es una estructura de datos?
  1. Mi primer aplicación móvil – Kotlin para no programadores