Funciones – creando tareas específicas

Llegamos al último tema de esta serie Pensar la Programación. Es el último porque hay que ponerse a hacer y vamos a empezar a hacer programando… pero no solos y no en un papel. Vamos a programar con Scratch juntos a nuestros niños. Si , así es. A  partir de la próxima semana vamos a aprender a programar con Scratch… Así que estén atentos, sigan las RRSS, Suscribanse al Boletín de Novedades!

Hoy hablaremos de Funciones 

Volvamos al tema de la torta de cumpleaños de la semana pasada …

  1. Hicimos todos los pasos de la receta del bizcochuelo
  2. Hicimos todos los pasos del glaseado y decoración
  3. Solo nos falta poner las velas y listo !!

( ir a recordar la entrada)

Si ustedes quieren preparar una torta y van a un libro de cocina podrían seguir la receta y tendrán una torta hecha sin problemas. Les darían los pasos para hacer el bizcocho, el relleno y luego cómo hacer el glaseado y cómo hacer la decoración. Bien, esas separación en bloques específicos de trabajo es lo que se denomina en programación funciones.

Las funciones son porciones de código que realizan una actividad concreta, son un algoritmo específico, con lineamientos propios, tienen sus propias variables y son independientes del resto del sistema ( casi al 100% independientes, ya veremos porque). 

Definición de una función

Partes de una función

  1. Nombre :Cada función tiene un nombre que describe su función y es único.
  2. Parámetros : Son valores necesarios para que la función realice su trabajo. Podríamos decir, que son para customizar el resultado. Por ejemplo, si tenemos una función para sumar dos números, los parámetros serían los números que queremos que sume. **
  3. Código : Es la función en sí misma, el procesamiento de los datos que pasamos como parámetros y el resultado que nos devuelve, el algoritmo.
  4. Resultado: Es posible que la función nos devuelva algo luego de “hacer lo suyo”. En el caso de una función que suma dos números, sería el resultado de la suma. **

** Los parámetros y el resultado no son obligatorios, dependen de la tarea que realiza cada función.

Diálogo de las funciones con el resto del algoritmo

Cuando se desarrolla un sistema se crean muchas funciones y cada una de ellas debe definir que hace, que necesita para realizarlo y que devuelve luego de ejecutar su algoritmo.

Sería algo así como un “Acuerdo de Uso” 

  • Yo función me comprometo a sumar correctamente dos números y devolverte el resultado, sí y solo si vos me pasas los dos números.

Es como un diálogo entre el resto del código y la función. Este diálogo hay que pactarlo y se debe saber de cada función que necesita, que hace y que devuelve, esto se denomina declarar la función”.

Usos de las funciones

  • Permite aislar funcionalidad de modo que quede independiente del resto del código. Esto nos permite poder cambiar otras partes del código sin necesidad de tocar el de la función en sí misma. Sí ya anda bien para que tocarlo no?
  • Evitar la redundancia de código . Esto es fundamental tenerlo siempre presente !!! 
  • Facilita el trabajo colaborativo, sí trabajamos con una o más personas podríamos definir funciones y repartir el trabajo entre todos los miembros del equipo, solo habría que definir en conjunto el diálogo “que hace, que parámetros necesita y que devuelve” para poder estar al tanto de todo lo que va a tener el sistema una vez que se complete.

Vamos a ver un ejemplo !!

Volvemos a la torta. Tenemos que hacer un programa que haga una torta y lo llamaremos “hacer_torta” y en ese programa vamos a tener una función para mesclar_ingredientes para hornear la mezcla, para decorar y una para ponerle las velas.

Analicemos la función mezclar_ingredientes

función mesclar_ingredientes y las partes de la funcion

Como pueden observar las partes de la función son claras y se entiende su propósito y utilidad, es importante este punto pensando que el código es algo vivo y que los participantes de un desarrollo pueden cambiar o mismo, nosotros en unos meses quizá ya no entendamos algo que no sea explicito y claro.

Todas las funciones implicadas

Ahora voy a dejar aquí debajo el código de todas las funciones implicadas en este programa para hacer una torta. Hay una que agregue y que no se detallo, me gustaría que como ejercicio me detallaras en comentarios que función es y cual es el motivo porque decidí crear ese código como una función.

El cuerpo del programa hacer_torta

Llegamos al meollo del asunto, tenemos todas esas funciones dando vueltas por ahi y que hacen algo concreto, ahora hagamos uso de ellas y creemos la torta. ¿Se entiende? ¿Que dificultades tienes para entender el código?

Y esto es todo… con las funciones llegamos a el fin del ciclo Pensar la Programación. Estos temas vistos nos permiten entender las bases de la lógica del Pensamiento Computacional, para iniciarnos en el mundo y acompañar a nuestros niños en su aprendizaje o quizá sea el puntapié inicial para nuestra propia formación. 

Me encantaría escuchar sus comentarios y como dije al principio ahora toca programar… Sigan atentos para aprender a programar con Scratch!!