# 3.3. Variables lóxicas

# Verdadeiro ou falso?

As variables lóxicas, tamén chamadas binarias, só teñen dous valores posibles. Representan situacións nas que algo pode estar nun estado ou noutro: aceso ou apagado, si ou non, 1 ou 0. Nas linguaxes de programación, estes valores adoitan representarse como "True" (verdadeiro) ou "False" (falso).

Nas placas que estás a utilizar tamén podes atopar este tipo de variables. Por exemplo, o valor é "verdadeiro" cando o botón A ou B está premido e "falso" cando non o está.

Ademais, na placa Adafruit PCE tamén podes atopar unha variable lóxica no interruptor da placa, que só pode ter dous estados: activado ou desactivado.

## Lectura facilitada

As variables lóxicas só teñen dous valores.

Poden indicar dous estados distintos.

Por exemplo: aceso ou apagado.

Por exemplo: si ou non.

En programación escríbense como "True" ou "False".

Nas placas tamén hai variables lóxicas.

Un botón ten valor "verdadeiro" cando está premido.

Un botón ten valor "falso" cando non está premido.

O interruptor da placa tamén ten dous estados.

## Audio

audio/mpeg

## Transcrición da infografía

A imaxe mostra exemplos de entradas dixitais nunha placa compatible con MicroBlocks.

Na parte esquerda aparecen dous botóns da placa:

- Botón A. Cando está premido o valor é "True". Cando non está premido o valor é "False".
- Botón B. Cando está premido o valor é "True". Cando non está premido o valor é "False".

Estes botóns atópanse no menú Entrada.

No medio aparece o interruptor da Adafruit PCE.

- Cando o interruptor está activado o valor é "True".
- Cando o interruptor está desactivado o valor é "False".

Este interruptor atópase no menú "Circuit Playground".

Na dereita aparece o sensor "TouchPin" da placa micro:bit.

- Cando se toca o logo o valor é "True".
- Cando o logo non se toca o valor é "False".

Esta orde atópase na biblioteca "TouchPin".

## Audio

audio/mpeg

# Operadores lóxicos

Ás veces, cando programas, non abonda con comprobar unha única condición. Moitas veces precisas combinar varias condicións para tomar unha decisión. Para iso utilizas os operadores lóxicos. Estes operadores permítenche relacionar diferentes condicións e saber se se cumpren ou non.

Os operadores lóxicos máis habituais son "E", "OU" e "NON". Cada un deles funciona dun xeito diferente.

## Lectura facilitada

Os operadores lóxicos máis usados son "E", "OU" e "NON".

Cada operador funciona dun xeito diferente.

## Audio

audio/mpeg

## Operador E

Este operador significa que todas as condicións teñen que cumprirse ao mesmo tempo para que a regra se aplique.

Por exemplo, no xogo da oca, para gañar a partida deben cumprirse dúas condicións á vez:

Chegar co número exacto
E
Chegar antes ca ninguén

Se non se cumpre algunha destas condicións, a partida continúa.

## Operador OU

Este operador significa que abonda con que se cumpra unha das condicións para que a regra se aplique.

Por exemplo, no xogo da oca, poden existir casas especiais que fan avanzar máis rápido:

Caer nunha oca
OU
Caer nunha ponte

Se se cumpre calquera destas condicións, aplícase a regra correspondente.

## Operador NON

Este operador serve para indicar o contrario dunha condición.

Por exemplo, na mariola podes seguir xogando mentres se cumpra esta condición:

NON
Pisar unha liña

Se se pisa unha liña, pérdese a quenda.

## Lectura facilitada

## Operador E

O operador "E" significa que se teñen que cumprir todas as condicións.

No xogo da oca, para gañar, teñen que pasar dúas cousas á vez:

1. Hai que chegar co número exacto.
2. Hai que chegar antes ca ninguén.

## Operador OU

O operador "OU" significa que chega con cumprir unha condición.

No xogo da oca, isto pode pasar nunha casa especial.

Pode ser unha oca.

Pode ser unha ponte.

## Operador NON

O operador "NON" indica o contrario dunha condición.

Na mariola, podes seguir xogando se non pisas unha liña.

Se pisas unha liña, pérdese a quenda.

## Audio

audio/mpeg

# Operar con variables lóxicas e numéricas

Se agora combinas os dous tipos de variables que aprendiches empregando os operadores lóxicos, poderás crear programas moito máis interesantes para o xogo. Así, o programa poderá tomar decisións segundo o que ocorre cos botóns e co que detectan os sensores da placa. Por exemplo:

## Lectura facilitada

Agora xa coñeces dous tipos de variables.

Se as combinas cos operadores lóxicos, poderás facer programas mellores.

O programa poderá tomar decisións.

Esas decisións dependerán dos botóns e dos sensores.

Agora verás un exemplo.

## Audio

audio/mpeg

## Reaccionar ante as notas

Este xogo consiste en reaccionar rápido cando escoites unha nota determinada. Se escoitas un dó grave, terás que premer ao mesmo tempo o botón A e o botón B. Se escoitas un sol, terás que premer só A. Se escoitas un dó alto, terás que premer só o botón B.

## Saltar e inclinar

Deberás saltar e inclinar a placa polo menos 5 veces para gañar a partida.

## Lectura facilitada

## Reaccionar ante as notas

Neste xogo tes que reaccionar rápido.

Se escoitas un dó grave, premes A e B.

Se escoitas un sol, premes só A.

Se escoitas un dó alto, premes só B.

## Saltar e inclinar

Neste xogo tes que saltar e inclinar a placa.

Hai que facelo polo menos 5 veces para gañar.

## Audio

audio/mpeg

## Transcrición das infografías

## Reaccionar ante as notas

A imaxe mostra un programa en MicroBlocks que crea un xogo de reacción cos botóns A e B da placa.

O programa comeza coas seguintes ordes:

- Ao comezar.
- Detén o son.
- Apaga os NeoPíxeles.
- Reinicia o cronómetro.

Estas instrucións preparan o programa. O son detense, as luces apáganse e o cronómetro ponse a cero.

Despois aparece unha repetición de catro pasos musicais:

- Tocar a nota dó durante 1000 milisegundos e agardar ata que se preman ao mesmo tempo o botón A e o botón B.
- Tocar a nota sol durante 1000 milisegundos e agardar ata que se prema o botón A.
- Tocar a nota dó agudo durante 1000 milisegundos e agardar ata que se prema o botón B.

Estas instrucións forman unha pequena secuencia na que a persoa debe premer os botóns correctos.

Ao rematar a secuencia, o programa comproba o tempo:

- Se o cronómetro é menor que 20000 milisegundos.

Se se completou a secuencia en menos de vinte segundos:

Coa placa Adafruit PCE:

- Se gaña, acéndense todos os NeoPíxeles en verde.
- Se non gaña, acéndense todos os NeoPíxeles en vermello.

Se tes a placa micro:bit:

- Se o cronómetro é menor que 20000 milisegundos, móstrase o texto BEN.
- Se non, móstrase o texto MAL.

## Saltar e inclinar

O programa comeza preparando a placa:

- Ao comezar.
- Asignar veces a 0.
- Detén o son.
- Apaga os NeoPíxeles.
- Agardar 500 milisegundos.

Estas instrucións poñen a cero a variable e preparan o dispositivo para comezar.

Despois o programa repite varias veces unha comprobación:

- Repetir 10 veces.

Dentro desta repetición o programa comproba unha condición:

- Se aceleración > 150 e inclinación x > 45.

Isto significa que a placa está a detectar un salto e ademais está inclinada.

Cando se cumpre esta condición:

- Aumenta a variable veces en 1.

Despois o programa fai unha pequena pausa:

- Agardar 1000 milisegundos.

Ao final o programa comproba cantas veces se cumpriu a condición:

- Se veces > 5.

Segundo o resultado, se tes placa Adafruit PCE:

- Se é maior que 5, pinta todos os NeoPíxeles en verde.
- Se non, pinta todos os NeoPíxeles en vermello.

No caso de que esteas a empregar a placa micro:bit:

- Se veces > 5, anímase o texto "BEN".
- Se non, anímase o texto "MAL".

## Audio

audio/mpeg

# Atrévete a programar

Cada opción corresponde a un nivel de dificultade diferente. Escolle o nivel que prefiras e pon a proba as túas habilidades de programación. Ata onde queres chegar?

## Audio

audio/mpeg

# Opción A: Cantas veces es quen de saltar e inclinar a cabeza?

Modifica o programa de saltar e inclinar para que, cando remate o tempo, indique na placa cantas veces o conseguiches facer.

A forma de mostrar o resultado dependerá da placa que esteas a usar:

- Na micro:bit, emprega a pantalla LED.
- Na Adafruit, utiliza os NeoPíxeles.

## Lectura facilitada

Modifica o programa de saltar e inclinar.

Cando remate o tempo, a placa debe mostrar o resultado.

A placa debe indicar cantas veces o conseguiches facer.

O resultado móstrase de forma distinta segundo a placa.

- Na micro:bit, usa a pantalla LED.
- Na Adafruit, usa os NeoPíxeles.

## Audio

audio/mpeg

## Transcrición do programa

O programa comeza preparando a placa:

- Ao comezar.
- Asignar "veces" a 0.
- Detén o son.
- Apaga os NeoPíxeles.
- Agardar 500 milisegundos.

Estas instrucións poñen a cero a variable e preparan o dispositivo para comezar.

Despois o programa repite varias veces unha comprobación:

- Repetir 10 veces.

Dentro desta repetición o programa comproba unha condición:

- Se aceleración > 150 e inclinación x > 45.

Isto significa que a placa está a detectar un salto e ademais está inclinada.

Cando se cumpre esta condición:

- Aumenta a variable "veces" en 1.

Despois o programa fai unha pequena pausa:

- Agardar 1000 milisegundos.

Ao final o programa comproba cantas veces se cumpriu a condición:

- Se veces > 5.

Segundo o resultado, se tes placa Adafruit PCE:

- Se é maior que 5, pinta todos os NeoPíxeles en verde.
- Senón, pinta todos os NeoPíxeles en vermello.

No caso de que esteas a empregar a placa Micro:bit:

- Se veces > 5, anímase o texto "BEN".
- Senón, anímase o texto "MAL".

## Audio

audio/mpeg

# Opción B: Piano en movemento

Crea un programa que converta a placa nun piano utilizando a inclinación no eixo X. A placa deberá funcionar como unha pequena escala musical.

Por exemplo, cando a inclines totalmente cara á esquerda (aproximadamente −90º no eixo X) deberá soar o dó grave. A medida que vaias enderezando a placa e inclinándoa pouco a pouco cara á dereita, o son deberá ir cambiando por intervalos: dó, re, mi, fa, sol, la, si, ata chegar ao dó agudo cando estea inclinada totalmente cara á dereita (aproximadamente +90º).

Para conseguilo, divide o rango de inclinación (de −90º a +90º) en varios intervalos e asigna unha nota diferente a cada tramo. Así, segundo a posición da placa, soará unha nota distinta da escala.

Experimenta cos valores para axustar ben os límites de cada nota e conseguir que a transición entre sons sexa clara e progresiva.

## Lectura facilitada

Crea un programa para converter a placa nun piano.

Usa a inclinación no eixo X.

A placa debe funcionar como unha escala musical.

Se inclinas a placa cara á esquerda, soa unha nota grave.

Se inclinas a placa cara á dereita, soa unha nota máis aguda.

Divide a inclinación en varios tramos.

Asigna unha nota a cada tramo.

Proba os valores ata que o cambio de sons sexa claro.

## Audio

audio/mpeg

## Transcrición da infografía

Na imaxe vese unha correspondencia entre algunhas teclas dun piano e as ordes para tocar notas na placa.

- A tecla correspondente ao dó agudo executa a orde: tocar a nota dó na oitava 1 durante 500 ms.
- A tecla correspondente ao sol executa a orde: tocar a nota sol na oitava 0 durante 500 ms.
- A tecla correspondente ao mi executa a orde: tocar a nota mi na oitava 0 durante 500 ms.
- A tecla correspondente ao dó grave executa a orde: tocar a nota dó na oitava 0 durante 500 ms.

Á dereita aparecen tamén bloques de sensores que permiten detectar a inclinación da placa no eixe x, que se poden usar para controlar cando se reproduce cada nota.

## Audio

audio/mpeg

# Opción C: Piano tamén con teclas negras

Esta é a opción máis avanzada. Crea un programa que converta a placa nun piano utilizando a inclinación no eixo X e a inclinación no eixo Y. Emprega a inclinación no eixo X para as notas principais e engade as notas sostidas utilizando a inclinación no eixo Y.

Para facelo máis sinxelo, considera só o tamaño da inclinación en Y, sen importar se é cara arriba ou cara abaixo. Se a inclinación en Y supera un determinado valor, deberá activarse a versión sostida da nota.

Por exemplo, cando a inclinación en Y sexa pequena, soará a nota normal (dó, re, mi...). Cando a inclinación en Y sexa grande, soará a mesma nota pero en versión sostida (dó#, re#, fa#, sol#, la#), segundo corresponda.

## Lectura facilitada

Esta é a opción máis avanzada.

Crea un programa para converter a placa nun piano.

Usa a inclinación no eixo X e no eixo Y.

O eixo X servirá para as notas principais.

O eixo Y servirá para as notas sostidas.

Se a inclinación en Y é pequena, soa a nota normal.

Se a inclinación en Y é grande, soa a nota sostida.

Proba os valores ata que o cambio de sons funcione ben.

## Audio

audio/mpeg

## Transcrición da infografía

Na imaxe represéntase a relación entre algunhas teclas dun piano e as ordes que permiten reproducir esas notas na placa.

- A primeira tecla corresponde á orde: tocar a nota dó na oitava 1 durante 500 milisegundos.
- A segunda tecla corresponde á orde: tocar a nota fa sostido (fa#) na oitava 0 durante 500 milisegundos.
- A terceira tecla corresponde á orde: tocar a nota dó sostido (do#) na oitava 0 durante 500 milisegundos.

Á dereita da imaxe aparecen bloques relacionados coa inclinación da placa, que se poden empregar para controlar cando se executa cada nota.

- Sensor de inclinación no eixo x.
- Sensor de inclinación no eixo y.

Estes sensores permiten detectar cara a que lado está inclinada a placa e utilizar esa información no programa para decidir que nota tocar.

## Audio

audio/mpeg

Licenciado baixo a Licenza Creative Commons Atribución Non-comercial Compartir igual 4.0

Feito con eXeLearning (Nova xanela)