Saltar navegación

3.2. Variables numéricas

 

Glosario

Ler (unha variable)

Imaxe cunha persoa lendo

Definición:

En programación é referido a consultar o valor dunha variable, é dicir, o dato gardado nun intre determinado.

Exemplo:

O valor da variable de Tª ao iniciar o programa deu unha lectura de 25 graos Celsius.

Asignar (un valor a unha variable)

Imaxe na que se introduce unha moeda nun cesto

Definición:

Sinónimo de dar, outorgar. En concreto, refírese a introducir un valor determinado nunha variable, por exemplo, ao inicio do programa.

Exemplo:

O programa asigna o valor de 1 g á variable "aceleración" e o compara co valor real da controladora.

Variables propias das placas

Os sensores das placas Adafruit PCE e micro:bit proporcionan datos numéricos que podes ler nas variables que MicroBlocks xa ten preparadas para cada sensor. Ademais destas variables, tamén podes crear as túas propias para gardar valores que calcule o programa ou datos que necesites empregar máis tarde.

Luz, temperatura e son

Iconas para escoller a variable de luz, temperatura e son en MicroBlocks

Inclinación

Sensor x, y e z (indicacións de como rotalos)

Aceleración

Diferentes medidas do sensor de aceleración, coa placa en repouso (98), en caída libre (0) e axitando a placa (200)

As túas propias variables

Para crear unha variable só tes que ir ao menú de variables e poñerlle un nome. Unha vez creada, debes asignarlle un valor inicial. A partir dese momento, poderás utilizar esa variable no programa para gardar información e facer operacións con ela.

Menús de MicroBlocks deseñados para crear variables

Lectura facilitada

Os sensores das placas dan datos numéricos.

MicroBlocks xa ten variables para eses datos.

Ti tamén podes crear variables novas.

Esas variables serven para gardar datos do programa.

Eses datos pódense usar máis tarde.

Transcrición das infografías

Luz, temperatura e son

A imaxe mostra tres exemplos de variables que se obteñen cos sensores dunha placa en MicroBlocks.

  • Medición da variable "nivel de luz", que se atopa no menú "Sensores básicos". Está representada cun debuxo dun sol.
  • Medición da variable "temperatura" (°C), que tamén se atopa no menú "Sensores básicos". Está representada cun termómetro.
  • Medición da variable "nivel sonoro", que se atopa no menú "Micrófono." Este menú pertence á librería "Sensores", que hai que engadir previamente no programa. Está representada cun altofalante emitindo son.

Inclinación

A imaxe mostra tres exemplos de variables que indican a inclinación da placa en MicroBlocks.

  • Medición da variable "inclinación x", que indica a inclinación da placa cara adiante ou cara atrás. Represéntase co exemplo dunha regadeira que se inclina para botar auga.
  • Medición da variable "inclinación y", que indica a inclinación da placa cara arriba ou cara abaixo. Represéntase co exemplo dun avión que sobe ou baixa.
  • Medición da variable "inclinación z", que indica a inclinación da placa sobre o eixo z. Represéntase co exemplo da inclinación da panca de un joystick.

Aceleración

A imaxe mostra tres situacións para entender a variable aceleración medida polo acelerómetro da placa en MicroBlocks.

  • Medición da variable "aceleración" cando a placa está quieta sobre unha mesa. O valor aproximado é 98, que corresponde á aceleración da gravidade.
  • Medición da variable "aceleración" cando a placa cae en caída libre. O valor é 0, porque durante a caída non hai apoio que exerza forza sobre o sensor.
  • Medición da variable "aceleración" cando a placa recibe un golpe ou un movemento forte, por exemplo ao golpeala coa man. O valor pode subir moito, por exemplo ata 200.

As túas propias variables

  • Crear unha variable. Ábrese unha xanela onde escribes o nome da variable, por exemplo "a_miña_variable", e premes "Aceptar".
  • Bloque "asignar a_miña_variable a 0". Este bloque serve para dar un valor inicial á variable.
  • Bloque "aumenta a_miña_variable en 1". Este bloque serve para incrementar o valor da variable, por exemplo nun contador.
  • Bloque "a_miña_variable". Este bloque serve para ler ou usar o valor actual da variable dentro dun programa.

Para crear unha variable só tes que ir ao menú de variables e poñerlle un nome á nova variable. Unha vez creada, debes asignarlle un valor inicial. A partir dese momento, poderás utilizar esa variable no programa para gardar información e facer operacións con ela.

Variable ou variábel?

Durante todas as explicacións, verás escrito o termo "variable". No programa MicroBlocks aparece o termo "variábel". Cal dos dous é correcto?

En realidade, a Real Academia Galega acepta as dúas formas. Polo tanto, podes empregar "variable" ou "variábel", segundo prefiras.

Lectura facilitada

Nas explicacións aparece a palabra "variable".

En MicroBlocks aparece a palabra "variábel".

As dúas formas son correctas.

Podes usar a que prefiras.

Estuda o comportamento das variables

Duración: 30 minutos Agrupamento: pequeno grupo
Robots sostendo unha placa Adafruit e outra micro:bit

Traballa co teu grupo para medir e representar variables. Realiza as medicións de todas as situacións que aparecen na táboa para poder completala. Anota no caderno o valor máis representativo de cada caso. Nalgunhas medidas o valor pode oscilar bastante, así que escolle un valor aproximado ou medio.

Variable Situación Valor Variable Situación Valor
Luz Luz de aula Aceleración En repouso
Placa tapada Caída libre
Luz de lanterna Axitando
Son Son de aula Inclinación eixo X En repouso
Un aplauso Xiro 90º á dereita
Aplausos e berros da aula Xiro 90º á esquerda
Temperatura Temperatura da placa Inclinación eixo Y En repouso
Tocando o sensor coa man Despega 90º
No radiador Aterra 90º
Inclinación eixo Z En repouso
Inclina 90º 
Pon a placa cara abaixo

Lectura facilitada

Traballa co teu grupo.

Medide as situacións da táboa.

Completade a táboa cos resultados.

Anotade no caderno un valor representativo.

Se o valor cambia moito, escollede un valor aproximado ou medio.

Variable Situación Valor Variable Situación Valor
Luz Luz de aula Aceleración En repouso
Placa tapada Caída libre
Luz de lanterna Axitando
Son Son de aula Inclinación eixo X En repouso
Un aplauso Xiro 90º á dereita
Aplausos e berros da aula Xiro 90º á esquerda
Temperatura Temperatura da placa Inclinación eixo Y En repouso
Tocando o sensor coa man Despega 90º
No radiador Aterra 90º
Inclinación eixo Z En repouso
Inclina 90º 
Pon a placa cara abaixo

Como visualizar os valores en directo?

MicroBlocks permite representar graficamente os valores das variables en tempo real. Para observar como cambian, utiliza o seguinte código e substitúe nel o nome da variable que vaias analizar. Observa no seguinte gráfico como obter esta representación:

Indicacións para representar graficamente os valores dos sensores de Adafruit PCE
Transcrición da infografía

A imaxe mostra a xanela do gráfico de datos de MicroBlocks, que permite visualizar valores que cambian co tempo.

Na parte superior da pantalla aparece unha frecha cun texto que indica: "O gráfico de datos abre aquí". Refírese ao botón da barra superior que abre a xanela do gráfico.

No centro da pantalla aparece o gráfico de datos, cunha liña vermella que representa a evolución dun valor ao longo do tempo.

Na parte inferior dereita do gráfico aparece outro aviso que indica: "Aquí axustas o tamaño". Refírese aos botóns con lupa que permiten ampliar ou reducir a escala do gráfico.

Na parte inferior da imaxe aparece un pequeno programa formado por dous bloques:

  • Por sempre.
  • Engadir á gráfica nivel de luz.

Este programa fai que o valor da variable "nivel de luz" se engada continuamente ao gráfico.

Ao lado aparece unha indicación que di: "Emprega este programa para representar os datos".

Operacións con variables numéricas

Para programar mellor non chega con crear variables. Tamén tes que saber como traballar con elas. É dicir, como cambiar o seu valor, comparalo con outro ou combinalo con máis datos. Aquí entran en xogo os operadores.

Un operador é un símbolo ou unha instrución que permite realizar unha acción sobre un ou varios datos. Grazas aos operadores, podes modificar o valor dunha variable, facer cálculos ou comprobar se se cumpre unha condición. Observa os seguintes exemplos:

Calcular

Exemplos de operadores de cálculo

Comparar

Exemplos de programas cos operadores de comparación

Aumentar

Empregando os operadores que acabas de ver, tamén podes traballar coas túas propias variables. Por exemplo, podes crear un programa que conte cantas veces destapas o sensor de luz. Cada vez que destapes o sensor, o programa gardará ese número nunha variable chamada "destapar".

Bloques dun programa que destapa a placa 10 veces

Módulo

Os operadores anteriores xa os coñeces do traballo en Matemáticas. O operador "módulo", en cambio, é un operador novo. En programación emprégase con moita frecuencia e serve para obter o resto dunha división.

Neste exemplo aplícase o operador "módulo" aos números 14 e 4. O que fai este operador é calcular o resto da división enteira entre ambos. Se dividimos 14 entre 4, obtemos 3 e sobra 2. Por iso, o resultado da operación "14 módulo 4" é 2.

Explicación gráfica do operador módulo

Lectura facilitada

Os operadores permiten facer accións cos datos.

Por exemplo, serven para calcular, comparar ou cambiar valores.

Calcular

Algúns operadores serven para facer cálculos.

Exemplos de operadores de cálculo

Comparar

Outros operadores serven para comparar datos.

Exemplos de programas cos operadores de comparación

Aumentar

Os operadores tamén serven para cambiar variables.

Por exemplo, podes contar cantas veces destapas o sensor de luz.

Bloques dun programa que destapa a placa 10 veces

Módulo

O operador "módulo" dá o resto dunha división.

Por exemplo, "14 módulo 4" é 2.

Explicación gráfica do operador módulo

Transcrición das infografías

Calcular

A imaxe mostra exemplos de operacións matemáticas e de programas en MicroBlocks que empregan sensores de inclinación.

Na parte esquerda aparecen exemplos de operacións matemáticas que se poden usar nos programas:

  • 10 + 2
  • 10 − 2
  • 10 × 2
  • 10 ÷ 2
  • valor absoluto de −10

Estas operacións poden utilizarse dentro das condicións dos programas.

No primeiro exemplo de programa aparece a seguinte estrutura:

  • Ao comezar.
  • Por sempre.
  • Se valor absoluto de inclinación x é menor que 45.
  • Tocar a nota dó durante 500 milisegundos.
  • Se non.
  • Tocar a nota sol durante 500 milisegundos.

O programa comproba que a placa estea inclinada menos de 45 graos. Se ocorre iso toca a nota dó. Se non ocorre toca a nota sol. O uso do valor absoluto permite que a placa poida inclinarse cara calquera lado.

No segundo exemplo aparece outro programa que compara dúas inclinacións:

  • Ao comezar.
  • Por sempre.
  • Se inclinación x é menor que inclinación y dividida entre 4.
  • Tocar a nota dó durante 500 milisegundos.
  • Se non.
  • Tocar a nota sol durante 200 milisegundos.
  • Tocar a nota mi durante 200 milisegundos.

Este programa compara a inclinación en x coa inclinación en y. A inclinación en x debe ser catro veces menor que a inclinación en y.

No terceiro exemplo aparece unha variante do programa anterior:

  • Ao comezar.
  • Por sempre.
  • Se valor absoluto de inclinación x é menor que valor absoluto de inclinación y dividido entre 4.
  • Tocar a nota dó durante 500 milisegundos.
  • Se non.
  • Tocar a nota sol durante 200 milisegundos.
  • Tocar a nota mi durante 200 milisegundos.

Neste caso úsase o valor absoluto das dúas inclinacións para que a comparación funcione independentemente de cara a que lado se incline a placa.

Comparar

A imaxe mostra exemplos de comparacións matemáticas e de programas en MicroBlocks que utilizan o sensor de luz.

Na parte esquerda aparecen exemplos de comparacións que se poden usar nas condicións dos programas:

  • 3 < 4
  • 3 ≤ 4
  • 3 = 4
  • 3 ≠ 4
  • 3 ≥ 4
  • 3 > 4

Estas comparacións permiten comprobar se un valor é menor, maior ou igual ca outro.

No primeiro exemplo aparece un programa co seguinte funcionamento:

  • Ao comezar.
  • Agardar ata que o nivel de luz sexa menor ou igual que 150.
  • Tocar a nota dó durante 500 milisegundos.

O programa está a esperar a que escureza. Cando o nivel de luz baixa ata ese valor execútase unha nota.

No segundo exemplo aparece outro programa:

  • Ao comezar.
  • Por sempre.
  • Se nivel de luz é igual a 150.
  • Tocar varias notas formando unha pequena melodía.

O programa comproba continuamente se o nivel de luz é exactamente 150. Nese momento execútase unha melodía.

No terceiro exemplo aparece unha condición con varias posibilidades:

  • Ao comezar.
  • Por sempre.
  • Se o nivel de luz é menor que 150.
  • Tocar unha nota.
  • Se non, se o nivel de luz é menor que 200.
  • Tocar outra nota.
  • Se non.
  • Tocar unha terceira nota.

O programa comproba continuamente o nivel de luz. Se é menor de 150 executa unha nota. Se está entre 150 e 200 executa outra. Se é maior executa unha terceira.

Aumentar

A imaxe mostra un programa en MicroBlocks que conta cantas veces tapas e destapas o sensor de luz da placa.

O programa ten a seguinte estrutura:

  • Ao comezar.
  • Asignar "destapar" a 0.
  • Repetir 10 veces.

Dentro da repetición aparecen varias instrucións:

  • Agardar ata que o nivel de luz sexa menor que 20.

Neste momento o programa detense ata que o sensor queda tapado e o nivel de luz baixa.

  • Aumenta "destapar" en 1.

Cada vez que pasa por este punto a variable aumenta un punto.

  • Agardar ata que o nivel de luz sexa maior que 40.

O programa volve deterse ata que entra luz no sensor.

Cando rematan as 10 repeticións execútase o bloque final:

  • Dicir "destapar".

Nese momento o programa mostra o valor da variable. Se todo ocorreu correctamente o valor será 10.

Módulo

Bloque verde de operación matemática co texto "14 módulo 4". O programa calcula o resto de dividir 14 entre 4. Nun globo gris, á dereita do bloque, aparece o resultado: 2.

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?

Opción A: Reaccionar ante temperaturas

Robot Ada con placa Adafruit e placa micro:bit nas mans


Programa a placa para que reaccione a tres temperaturas creando un semáforo:

Icona da placa Adafruit.  Se a placa é Adafruit PCE:

  1. A placa acende en verde se a temperatura é inferior a 34 graos.
  2. A placa acende en amarelo se a temperatura é igual ou superior a 34 graos e inferior ou igual a 35 graos.
  3. A placa acende en vermello se a temperatura é superior a 35 graos.

Icona da placa micro:bit Se a placa é micro:bit:

  1. A pantalla LED mostra unha icona de aprobación se a temperatura é inferior a 34 graos.
  2. A pantalla LED mostra unha cara seria se a temperatura é igual ou superior a 34 graos e inferior ou igual a 35 graos.
  3. A pantalla LED mostra unha cara triste se a temperatura é superior a 35 graos.

Lectura facilitada

Programa a placa para que reaccione á temperatura.

O programa funcionará como un semáforo.

Se a placa é Adafruit PCE:

  1. Acéndese unha luz verde se a temperatura é inferior a 34 graos.
  2. Acéndese outra luz amarela se a temperatura está entre 34 e 35 graos.
  3. Acéndese outra luz vermella se a temperatura é superior a 35 graos.

Se a placa é micro:bit:

  1. A pantalla mostra aprobación se a temperatura é inferior a 34 graos.
  2. A pantalla mostra cara seria se a temperatura está entre 34 e 35 graos.
  3. A pantalla mostra cara triste se a temperatura é superior a 35 graos.

Emprega o diagrama de fluxo para orientarte

A continuación tes o diagrama de fluxo e algunhas das ordes que deberás empregar. Hai unha nova orde, que é o comparador que atoparás no menú verde de "Operadores":

Diagrama de fluxo que explica como programar un semáforo que reaccione a tres temperaturas diferentes

Transcrición

A imaxe mostra un exemplo de como transformar un diagrama de fluxo nun programa en MicroBlocks para controlar luces segundo a temperatura.

Na parte esquerda aparece o diagrama de fluxo:

  • Inicio.
  • Se a temperatura é inferior a 33 graos Celsius, acéndense luces en verde.
  • Se a temperatura non é inferior a 33, pero é inferior a 34 graos Celsius, acéndense luces en amarelo.
  • Se a temperatura é maior ou igual a 34 graos Celsius, acéndense luces en vermello.

Este diagrama indica que a acción depende do valor da variable temperatura.

Na parte dereita da imaxe aparecen as ordes que se van utilizar no programa.

  • Un bloque de condición "se".
  • Un bloque "se non".
  • Comparacións entre valores numéricos.
  • A variable "temperatura (°C)".

Estas pezas permiten construír o programa que comproba a temperatura e executa unha acción diferente segundo o valor que detecta o sensor.

Lectura facilitada

A continuación tes o diagrama de fluxo e algunhas das ordes que deberás empregar. Hai unha nova orde, que é o comparador que atoparás no menú verde de "Operadores":

Diagrama de fluxo que explica como programar un semáforo que reaccione a tres temperaturas diferentes

Transcrición

A imaxe mostra un exemplo de como transformar un diagrama de fluxo nun programa en MicroBlocks para controlar luces segundo a temperatura.

Na parte esquerda aparece o diagrama de fluxo:

  • Inicio.
  • Se a temperatura é inferior a 33 graos Celsius, acéndense luces en verde.
  • Se a temperatura non é inferior a 33, pero é inferior a 34 graos Celsius, acéndense luces en amarelo.
  • Se a temperatura é maior ou igual a 34 graos Celsius, acéndense luces en vermello.

Este diagrama indica que a acción depende do valor da variable temperatura.

Na parte dereita da imaxe aparecen as ordes que se van utilizar no programa.

  • Un bloque de condición "se".
  • Un bloque "se non".
  • Comparacións entre valores numéricos.
  • A variable "temperatura (°C)".

Estas pezas permiten construír o programa que comproba a temperatura e executa unha acción diferente segundo o valor que detecta o sensor.

Opción B: Tapar e destapar

Robot Ada con placa Adafruit e placa micro:bit nas mans

Deseña un xogo que pida tapar e destapar a placa 10 veces en menos de 5 segundos. Para iso combina un programa onde contas as veces que tapas e destapas a placa e engádelle un cronómetro:

Pistas para facer o programa para tapar e destapar nun tempo determinado

Lectura facilitada

Deseña un xogo para tapar e destapar a placa.

Hai que facelo 10 veces.

Hai que facelo en menos de 5 segundos.

Usa o programa anterior para contar.

Agora engádelle un cronómetro.

Pistas para facer o programa para tapar e destapar nun tempo determinado

Transcrición da infografía

A imaxe mostra dúas partes dun programa que se combinan para crear unha nova actividade coa placa.

Na parte esquerda aparece o programa que conta cantas veces tapas e destapas o sensor de luz:

  • Ao comezar.
  • Asignar "destapar" a 0.
  • Repetir 10 veces.
  • Agardar ata que o nivel de luz sexa menor que 20.
  • Aumenta "destapar" en 1.
  • Agardar ata que o nivel de luz sexa maior que 40.

No centro aparece outra parte do programa:

  • Reinicia cronómetro.
  • Se cronómetro < 4.

Esta condición serve para comprobar o tempo que pasa mentres se realiza a actividade.

Na parte dereita aparece unha ilustración dunha man tapando e destapando unha placa.

Opción C: Cantos saltos dás?

Robot Ada con placa Adafruit e placa micro:bit nas mans

Fai un programa para medir o número de saltos nun tempo determinado. Para iso empregarás a variable "aceleración".

A aceleración permíteche saber se a placa está en movemento. Normalmente, cando a placa está parada ou cando a moves coa man, a aceleración non é cero. Pero hai un momento especial no que os valores da aceleración son moi próximos a cero: cando a placa está en caída libre. Podes comprobalo facilmente: colle a placa e dá un pequeno salto. Durante un instante, mentres estás no aire, a placa tamén está en caída libre e o valor da aceleración baixa moito.

Lectura facilitada

Fai un programa para contar saltos.

Usarás a variable "aceleración".

A aceleración indica se a placa está en movemento.

Cando a placa está parada, a aceleración non é cero.

Cando a placa cae libremente, a aceleración baixa moito.

Isto pasa tamén cando saltas coa placa na man.

As ordes que vas empregar

Ordes para contar saltos tanto na controladora Adafruit como na micro:bit

A secuencia do programa

  1. Crea unha variable, por exemplo chamada "saltos", que garde o número de saltos.
  2. Inicia a variable co valor 0 cando comece o programa.
  3. Nun bucle continuo, le o valor da aceleración da placa.
  4. Cando a aceleración sexa moi pequena (próxima a cero), significa que a placa está en caída libre.
  5. Nese momento, suma 1 á variable "saltos".
  6. Engade unha pequena espera ou unha condición para evitar contar o mesmo salto varias veces.
  7. Mostra o valor da variable "saltos" para ver cantos saltos levas.

Se o programa funciona ben, cada vez que saltes coa placa na man, o contador de saltos aumentará.

Lectura facilitada

As ordes que vas empregar

Ordes para contar saltos tanto na controladora Adafruit como na micro:bit

A secuencia do programa

  1. Crea unha variable chamada "saltos".
  2. Pon a variable en 0 ao empezar.
  3. Le a aceleración da placa nun bucle.
  4. Se a aceleración é moi baixa, a placa está en caída libre.
  5. Nese momento, suma 1 á variable "saltos".
  6. Engade unha espera para non contar o mesmo salto varias veces.
  7. Mostra o valor da variable "saltos".

Se o programa funciona ben, o contador aumenta en cada salto.

Transcrición da infografía

Ordes que se empregan neste programa:

  • Reinicia cronómetro.
  • Asignar saltos a 0.
  • Repetir ata que.
  • Se
  • Aumenta saltos en 1.
  • Agardar 1000 milisegundos.
  • Cronómetro > 10000.
  • Aceleración < 20.
  • Anima o texto "saltos" (se empregas a placa micro:bit).
  • Pon o NeoPíxel "saltos" de cor (se empregas a placa Adafruit PCE).

Feito con eXeLearning (Nova xanela)