Tema 6, bloques ou funcións

Un bloque sinxelo

Para rematar cos contidos, non cos retos, do bloque de programación como robot, imos a ver que e un bloque de código ou función.

En ocasións haberá algún bloque de código que sexa repetitivo, e decir, que o teñamos que realizar en varias situacións ao longo do programa, e que polo tanto estaremos a repetir código en distintas situacións.

Como exemplo imos a xerar un programa que use unha función que permita acender os seis primeiros leds en vermello, facendo así que cada vez que se queiran poñer nesa cor, tan só se teña que chamar á función.

Para xerar a función ou bloque, teremos que ir ao apartado "Datos y bloques" e premer sobre "crear un bloque, tras ese momento aparecerá a seguinte fiestra:
Fiestra de xeración dun novo bloque

Polo de agora introduciremos nada máis o nome da función ou bloque, tentando que sexa o máis descritivo posible.
Xa lle temos nome á función

Unha vez xerada a función, apareceranos este novo inicio de bloque na zona de código, como se pode ver, ten o nome que lle acabamos de escribir ao bloque, e permitindo que lle digamos que e o que vai facer o bloque.
Inicio do bloque que nos aparece na pantalla de codificación.

A continuación definimos a funcionalidade que terá o noso bloque, no noso exemplo poñer os seis primeiros bloques a vermello (tamén se podía haber feito cun bucle).

Código do bloque de "seisPrimeirosVermello"

Unha vez temos o bloque, tan só o temos que "chamar" para que este se execute, pero cómo se chama? A solucíon ven do propio panel de "Datos y bloques" xa que nos apareceu unha nova orde co nome xusto da nosa función.

Orde de chamada ao bloque recén creado

Tan só teremos que incluir esa chamada ao bloque no programa principal ou notro bloque e executaranse as ordes que incluimos no mesmo.

Chamada ao noso bloque de código

Xerando bloques, recibindo variables.

Un dos motivos dos bloques e que sexan o máis adaptables posibles co fin de que poidan realizar unha función específica pero con unha pequena adaptabilidade ás necesidades que o programa lle esixa (non e o caso do exemplo anterior xa que como vimos, a función tan só iluminaba os primeiros seis leds en vermello, algo non moi útil en moitos programas).

A capacidade de adaptación do bloque ás esixencias do programa virá dada polas variables ou valores que se lle poidan pasar a este para que se adapte. As variables (numéricas, de texto e lóxicas) pararanse se ao crear o bloque despregamos "opciones".

Imos a plantexar un novo exemplo, que será unha función que faga que todos os leds se iluminen na cor especificada, esa cor virá en formato texto, e non só será o vermello, azul e verde (que de feito non se contempla no exemplo), senón outros como amarelo, rosa...

O primeiro de todo será crear o bloque e engadirlle que recibirá unha entrada de texto (recibirá o valor na variable string1) 

Xerando un bloque que recibe variables
Unha vez que nos aparece o bloque, xa podemos definir a súa funcionalidade dependendo da variable recibida, nótese que estamos usando estruturas condicionais sinxelas, sen dúbida cunha múltiple sería moito máis eficiente, pero o entorno non nos ofrece esa estrutura de control.
Bloque de corEspecial co código xa xerado

Nótese ademáis que á hora de comparar a variable string1 cos valores, estes deben ir entre comillas "" indicando deste xeito que o valor e un grupo de caracteres.

Arestora xa podemos chamar ao noso bloque dende o programa principal, pasándolle cores especiais e que o robot entenderá e se iluminará coas que lle digamos (no noso caso tan só coas tres que xeramos).

Chamada dende o programa principal ao bloque corEspecial

E para rematar... si, un pequeno reto.







No hay comentarios:

Publicar un comentario