3

Click here to load reader

4 funcions sense retorn

Embed Size (px)

Citation preview

Page 1: 4  funcions sense retorn

Programando: Introducción a las funciones y funciones sin retorno

Ejecuten la orden 66…

Hoy vamos a aprender todo lo relacionado con los bloques Funciones. ¿Qué son? ¿Para qué sirven? ¿Porqué tienen tantas

palabras raras? Las respuestas a estas preguntas, a continuación:

Imaginaos que nuestro programa tiene que hacer una cosa muchas veces, por ejemplo, hacer parpadear dos leds en muchos

casos, o hacer que suene una melodía de más de 25 bloques que hemos creado. Si cada vez que quisiéramos que sonase

nuestra melodía tuviéramos que volver a escribirla, ¡acabaríamos con los ojos cuadrados de tanto bloque!

¿Y si pudiéramos de alguna forma crear la melodía una sola vez, darle un nombre a esa acción (como “Hacer sonar la

melodía”) y luego, mediante un único bloque, hacer que suene?

¡En eso consisten las funciones precisamente! Sirven para ahorrarnos tiempo y bloques.

Cuando tenemos una tarea que se repite mucho, o cuando queramos organizar mejor nuestro proyecto, crearemos una función

que realice algo cada vez que la llamemos.

Pero si queréis que las funciones os eviten dolores de cabeza en vez de dároslos, estad muy atentos, pues empezamos:

Para realizar los ejemplos de hoy, necesitarás:

1 LED

1 motor

1 Zumbador

1 Pulsador

Page 2: 4  funcions sense retorn

1 x Servo rotación continua

Una placa Arduino

Un cable USB

Volveré…

Lo primero que hay que explicar es que las funciones en bitbloq pueden ser de dos tipos: Funciones sin retorno y funciones con

retorno. Tranquilos, las funciones sin retorno no se van a escapar y no volver cuando las ejecutes por primera vez, “sin retorno”

significa que no retornan ningún valor al final de su ejecución.

Cuando queramos hacer una función que realice muchas operaciones matemáticas (sumar, luego restar, volver a sumar,

multiplicar, restar y multiplicar, por ejemplo) al final nos interesará que la función nos retorne que valor final ha resultado. Por

ello en este caso usaremos una función con retorno, que nos retornará el valor final de las operaciones.

Pero cuando queramos que nuestra función realice una serie de acciones que nada tienen que ver con un valor final, como

hacer sonar esa larga melodía, usaremos una función sin retorno.

El bloque “función sin retorno” y el bloque “llamar a función sin retorno”

Como hemos explicado justo antes, el bloque función sin retorno (arriba a la izquierda) sirve para agrupar una serie de bloques

y ejecutarlos cuando nosotros llamemos a la función.

Podría decirse entonces que cuando creamos una función estamos creando un mini programa y dándole un nombre, para que,

cuando lo llamemos, el programa principal “entre” en la función, la recorra entera, y salga de la función para continuar con el

programa principal(en este caso, sin retornar ningún valor).

-¡Pero esto qué es! ¿¡Dos columnas de bloques no unidos!? Pero si me dijisteis que tenían que estar todos unidos o no

funcionaría correctamente…

Esto es cierto, tienen que estar todos los bloques unidos en nuestro programa principal. Cuando ponemos un bloque de crear

una función estamos creando al lado otro pequeño programa que estará contenido dentro del programa principal.

Vamos a entender esto mucho mejor cuando analicemos el siguiente ejemplo.

Page 3: 4  funcions sense retorn

Otro ejemplo con los bloques de funciones sin retorno.

Programa que hace moverse un servo si pulsamos el botón, avisando con un parpadeo y sonido.

Como a estas alturas ya seréis unos expertos con el bloque de control “Si…ejecutar” y habréis realizado más de una vez el

ejemplo de hacer una cosa si pulsamos el botón y otra si no lo pulsamos, estoy seguro de que entenderéis bastante bien el

programa si quitamos los bloques rosas que pone “Parpadeo_con_sonido” y los bloques de la derecha.

Vamos a empezar viendo la parte derecha del programa. Lo primero que vemos es el bloque “función sin retorno”. Este bloque

es el encargado de empezar a crear una función sin retorno. Cuando lo ponemos en nuestra zona de trabajo lo primero que

debemos hacer es darle un nombre (como hacíamos con las variables). Así se llamará nuestra función y por ese nombre la

llamaremos con el bloque “llamar a función sin retorno” (como vemos en la parte izquierda del programa).

Dentro del bloque “función sin retorno” podemos crear un programa que sepamos que vamos a repetir varias veces. El bloque

se irá haciendo cada vez mas grande para introducir todas los bloques que desees en tu función.

Y cuando queramos que nuestro programa principal haga lo que hemos programado en la función, por larga que sea esta, solo

necesitaremos colocar un bloque de “llamar a función sin retorno” y cambiarla de nombre como hacemos con las variables.

Como vemos en el ejemplo, cada ciclo del programa revisa si el botón esta pulsado para hacer mover el servo o pararlo, pero

además, antes del bloque del servo estamos llamando a la función, de tal forma que cada vez que pasamos por el bloque rosa

que pone “Parpadeo_con_sonido”, estamos ejecutando todos los bloques de la función, de arriba a abajo.

Dos mejor que uno

También podemos realizar programas con más de una función. ¿No os parece un programa principal mucho más bonito?

Al pulsar el botón, se ejecutará la función Parpadeo, luego la función Melodía y luego la función Parpadeo.