# 3.4. Variables con texto

## Glosario

## Carácter

Definición:

  Unidade mínima de información e escritura; cada unha das letras, números e símbolos que pode escribir un teclado en informática.

Exemplo:

  As cadeas de texto teñen un ou máis caracteres.

# Traballar con texto en variables

Nas variables pódense gardar datos simples como texto: letras, caracteres, símbolos (# ou !) e frases. A este tipo de datos chámaselles cadeas (string en inglés) porque son a unión de varios elementos, como os elos dunha cadea.

O máis importante dunha cadea adoita ser cantos elementos ten, é dicir, a súa lonxitude. En xeral usamos a instrución de saída "Dicir" para mostrar o valor da variable de texto ou a súa lonxitude. MicroBlocks amosa o resultado desta orde ao inicio do programa no que estea inserida.

## Crear unha cadea

É o mesmo que crear unha variable numérica: primeiro indicas o nome da variable e despois asignas o seu valor inicial coa orde correspondente. O nome da variable aparece dentro dunha elipse (fíxate en "cadea" na imaxe inferior") que podes usar nas instrucións que necesites.

## Lonxitude da cadea

A orde "lonxitude da cadea", que podes atopar no bloque de "Datos", permite saber o número de elementos dunha cadea. Nunha variable de texto indica o número de caracteres, incluídos os espazos en branco. É unha orde moi usada en programación e convén coñecela.

## Lectura facilitada

Nunha variable tamén se pode gardar texto.

Ese texto pode ter letras, símbolos ou frases.

A este tipo de dato chámaselle "cadea".

Nunha cadea é importante saber cantos elementos ten.

Iso chámase "lonxitude".

MicroBlocks pode mostrar o texto ou a súa lonxitude.

## Crear unha cadea

Crear unha cadea é parecido a crear unha variable numérica.

Primeiro escolles o nome da variable.

Despois gardas nela un valor.

## Lonxitude da cadea

A orde "lonxitude da cadea" indica cantos caracteres ten un texto.

Nesa conta tamén entran os espazos en branco.

## Audio

audio/mpeg

## Transcrición das infografías

## Crear unha cadea

No menú "Variábeis" podes crear unha nova variábel.

Preme en "Crear unha variábel" e escribe o nome. Por exemplo, cadea.

Unha variábel pode gardar diferentes valores.

- Podes asignarlle un valor inicial.
- Podes cambiar o seu valor durante o programa.
- Podes usar a variábel noutras instrucións.

Existen bloques para traballar coas variábeis:

- asignar cadea a 0 cambia o valor da variábel.
- aumenta cadea en 1 incrementa o valor.

Unha variábel tamén pode gardar texto.

No exemplo, ao comezar o programa:

- asígnase á variábel "cadea" o texto "Ola mundo".
- despois úsase o bloque "dicir cadea" para mostrar ese texto.

## Lonxitude da cadea

No menú "Datos" atopas o bloque "lonxitude de".

Este bloque permite saber cantos caracteres ten un texto.

No exemplo úsase unha variábel chamada "cadea".

Ao comezar o programa:

- asígnase á variábel "cadea" o texto "Ola mundo"
- despois úsase o bloque "dicir lonxitude de cadea"

O resultado é 9, porque o texto ten 9 caracteres.

## Audio

audio/mpeg

# Operacións con texto en variables

Cos textos pódense facer operacións distintas ás dos números. Algunhas son as seguintes:

## Unir

Para escribir unha frase usando o valor dunha variable (tanto se é numérica como de texto) debes usar unha operación chamada "unir" ou "concatenar" (verbo que significa unir elos nunha cadea).

## Identificar

Para saber que letra ou carácter hai nunha posición determinada dunha cadea podes usar a instrución "elemento" e indicar o número de orde.

## Modificar

Unha cadea non se pode modificar por partes. Non podes cambiar só un elemento. Pero si podes asignarlle un novo valor completo cando o precises.

## Converter

En ocasións tes datos numéricos en formato de texto, pero precisas convertelos en números para poder facer operacións matemáticas con eles. Tamén pode pasar ao revés: ter un número e querer pasalo a texto para traballar con el como cadea.

Neste exemplo, a secuencia 123 aparece primeiro como texto e despois convértese en número. Ao multiplicalo por 2, o resultado é 246. Para realizar estas operacións empregarás novas ordes que se atopan ao final no menú de operadores:

## Atopar

A orde "atopa" permite buscar caracteres dentro dunha cadea. Indica a posición na que aparece ese carácter ou grupo de caracteres. Se non o atopa, devolve -1. Se aparece varias veces, indica só a primeira posición. Tamén permite buscar máis dun carácter á vez, por exemplo “mu”.

## Dividir

Ás veces pode interesarche separar unha frase nas palabras que a forman para identificar a posición concreta de unha delas. Para iso úsase a orde "dividir".

## Lectura facilitada

Cos textos pódense facer operacións distintas ás dos números.

## Unir

Podes unir textos e variables nunha mesma frase.

Esta operación chámase "unir" ou "concatenar".

## Identificar

Podes saber que letra hai nunha posición dunha cadea.

Para iso úsase a instrución "elemento".

## Modificar

Unha cadea non se cambia por partes.

Podes poñerlle un valor novo completo.

## Converter

Podes converter texto en número.

Tamén podes converter número en texto.

## Atopar

A orde "atopa" busca letras ou grupos de letras nun texto.

Se o texto aparece, indica a posición.

Se non aparece, devolve -1.

## Dividir

A orde "dividir" separa unha frase nas súas palabras.

Así podes traballar con cada palabra por separado.

## Audio

audio/mpeg

## Transcrición das infografías

## Unir

Ao comezar.

Asignar "cadea" a "mundo".

Dicir une Ola cadea.

Resultado mostrado: "Ola mundo".

Podes unir varios une MicroBlocks.

Ao comezar.

Asignar "cadea" a "Adeus".

Dicir une cadea une ríos cadea fontes.

Resultado mostrado: "Adeus ríos, Adeus fontes".

## Identificar

Neste exemplo aprendes a obter caracteres concretos dunha cadea de texto.

Ao comezar.

Asignar cadea a "Ola mundo".

Dicir elemento 1 de cadea.

Dicir elemento 5 de cadea.

Dicir elemento último de cadea.

## Modificar

Neste exemplo aprendes a cambiar o valor dunha variábel.

Ao comezar.

Asignar cadea a "Ola mundo".

Dicir cadea.

Asignar cadea a "Adeus mundo".

Dicir cadea.

## Converter

Operadores:

- "123".
- 123 é un número.
- 123 convertido en número.

Converter número en cadea.

Converter cadea en número.

Ao comezar.

Asignar cadea a "123".

Dicir une "Eu son" o número cadea.

Asignar cadea a cadea convertido en número.

Dicir une "Eu tamén son" o número cadea * 2.

## Atopar

Datos:

- Atopa a en gato.

Ao comezar.

Asignar cadea a "ola mundo".

Dicir "atopa m" en cadea.

Resultado mostrado: 5.

A letra "m" na cadea "ola mundo" está na posición 5.

Ao comezar.

Asignar cadea a "ola mundo".

Dicir atopa z en cadea.

Resultado mostrado: -1.

A letra z na cadea "ola mundo" non está.

## Dividir

Datos:

- Divide A,B,123 entre espazo en branco.
- Elemento 1 de Rosa.

Ao comezar.

Asignar canción a divide "Teño tres pitas brancas e un galo negro" entre espazo en branco.

Dicir elemento 7 de canción.

Resultado mostrado: "galo".

Aquí hai un espazo en branco.

O espazo en branco serve para dividir en elementos a cadea.

Identifico que elemento está na posición 7.

## Audio

audio/mpeg

# As cadeas en Adafruit PCE e micro:bit

Agora vas aprender a aproveitar as operacións con cadeas mediante exemplos prácticos coas placas Adafruit PCE e micro:bit.

## Inclinación da placa

Se empregas a placa Adafruit PCE, podes usar a orde "Dicir" para que informe do valor cualitativo dun sensor. Por exemplo, o sensor de inclinación do eixo Z pode indicar se a placa está cara arriba (valor positivo) ou cara abaixo (valor negativo) con seguinte programa. Se empregas micro:bit, podes usar a pantalla LED para ver o resultado.

## Luminosidade sobre a placa

Co sensor de luminosidade, a placa pode dicir se está iluminada ou a escuras (por exemplo, tapada coa man).

Fíxate que o seguinte programa é igual que o anterior, agás que o valor de referencia para distinguir luz de escuridade fixouse en 50.

## Tocar unha canción

Na fase 2 viches que para tocar unha canción precisabas poñer unha a unha as notas da partitura. Porén, en partituras sinxelas, nas que a duración das notas é similar, podes aforrar este paso se copias as notas seguidas e despois convertes cada nota nun elemento da cadea. Neste exemplo podes ver como tocar a popular canción infantil “Frei Felipe”.

## Lectura facilitada

Agora vas practicar coas cadeas.

Faralo con exemplos nas placas Adafruit PCE e micro:bit.

## Inclinación da placa

A placa pode indicar se está cara arriba ou cara abaixo.

Na Adafruit PCE pódese usar a orde "Dicir".

Na micro:bit pódese usar a pantalla LED.

## Luminosidade sobre a placa

A placa tamén pode indicar se hai luz ou escuridade.

Neste caso o valor de referencia é 50.

## Tocar unha canción

As notas dunha canción poden gardarse nunha cadea.

Despois pódense tocar unha a unha.

Neste exemplo úsase a canción “Frei Felipe”.

## Audio

audio/mpeg

## Transcrición dos programas

## Inclinación da placa

Programa para Adafruit Circuit Playground Express:

Ao comezar.

Por sempre.

Se inclinación z menor que 0.

Asignar texto a "ABAIXO".

Se non.

Asignar texto a "ARRIBA".

Agardar 500 milisegundos.

Anima o texto texto.

Programa para micro:bit:

Ao comezar.

Por sempre.

Se inclinación z menor que 0.

Asignar texto a "ABAIXO".

Se non.

Asignar texto a "ARRIBA".

Agardar 500 milisegundos.

Anima o texto texto.

## Luminosidade sobre a placa

Programa para Adafruit Circuit Playground Express:

Ao comezar.

Por sempre.

Se 50 menor que nivel de luz.

Asignar texto a "Iluminado".

Se non.

Asignar texto a "Escuro".

Agardar 500 milisegundos.

Dicir texto.

Programa para micro:bit:

Ao comezar.

Por sempre.

Se 50 menor que nivel de luz.

Asignar texto a "Iluminado".

Se non.

Asignar texto a "Escuro".

Agardar 500 milisegundos.

Anima o texto texto.

## Tocar unha canción

Ao comezar.

Asignar texto a dó, re, mi, dó, dó, re, mi, dó, mi, fa, sol, mi, fa, sol, sol, la, sol, fa, mi, dó, sol, la, sol, fa, mi, dó, dó, sol, dó, dó, sol, dó.

Asignar posición a 1.

Creo unha variable que indique a posición dos elementos na cadea.

Asignar texto a divide texto entre coma.

Divido o texto nas notas da canción, que están separadas por comas.

Repetir lonxitude de texto veces.

A lonxitude do texto é o número de notas.

Tocar a nota elemento posición de texto na oitava 0 durante 500 ms.

Toco a nota da posición 1.

Aumenta posición en 1.

Cambio á seguinte posición (a medida que repita posicións irei á seguintes notas).

## 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: Tocar unha canción

Modifica o seguinte código para tocar unha nova canción. Proba con cancións moi sinxelas, como "Parabéns para ti", "Estreliña do lugar"...

## Audio

audio/mpeg

# Opción B: Canto tempo tardas en cansar?

Realiza un programa no que teñas que axitar a placa ata que te canses. Mentres axitas con forza, o programa animarate indicando “segue así de rápido”. Cando deixes de axitar con tanta intensidade, o programa deterase e indicarache canto tempo tardaches en cansar. Se non sabes como empezar, segue estas indicacións:

## Instrucións

### 1. Explica en que consiste o xogo

Empeza por indicar na pantalla en que consiste o xogo. En micro:bit tamén podes mostralo na pantalla LED.

### 2. Agarda ata detectar axitación

Despois, indica que o programa debe agardar ata que haxa axitación. Isto ocorre cando a aceleración é maior de 100. Nese momento, dálle un pouco de tempo á persoa xogadora para coller folgos e pon o cronómetro a 0.

### 3. Repite a mensaxe ata que te canses

Agora empeza a parte principal do programa. Emprega a orde "repetir ata que a aceleración sexa menor que 100". Mentres a aceleración sexa alta, o programa repetirá a frase "segue así de rápido". Cando a aceleración baixe de 100, o programa dirá canto tempo tardaches en cansar.

## Lectura facilitada

Fai un programa para axitar a placa.

O xogo remata cando te cansas.

Mentres axitas forte, o programa anima.

Cando deixas de axitar forte, o programa para.

Ao final indica o tempo.

## Instrucións

### 1. Explica en que consiste o xogo

Primeiro, explica o xogo na pantalla.

En micro:bit tamén podes usar a pantalla LED.

### 2. Agarda ata detectar axitación

Despois, o programa espera ata detectar axitación.

Isto pasa cando a aceleración é maior de 100.

Nese momento, pon o cronómetro a 0.

### 3. Repite a mensaxe ata que te canses

Agora comeza a parte principal.

O programa repite a mensaxe mentres a aceleración é alta.

Cando a aceleración baixa de 100, o programa para.

Ao final di canto tempo tardaches en cansar.

## Audio

audio/mpeg

# Opción C: Programa que reacciona ante os múltiplos de 3

Fai un no programa que, logo de introducirlle unha lista de números, sexa quen de reaccionar ante os múltiplos de 3. Se traballas con Adafruit PCE, fai que se modifique a cor dos LEDs. Se traballas con micro:bit pon cara contenta. Se non sabes como comezar, emprega estas indicacións:

## Instrucións

### 1. Introduce a secuencia e sepáraa en elementos

Introduce a secuencia de números nunha variable de texto separados por comas. Despois divide a secuencia en elementos para poder traballar con cada número por separado.

### 2. Percorre toda a lista cun contador

Agora usa un bucle cunha variable contadora. Neste caso, a variable vai dende 1 ata a lonxitude da cadea, que vale 10. Así, o programa vai pasando por todos os números: 1, 2, 3... ata 10. Engade tamén unha orde de agardar 1 segundo (ou 1000 milisegundos) para que dea tempo a ver cada número.

### 3. Comproba se cada número é múltiplo de 3

Agora calcula se cada número é múltiplo de 3. Se é múltiplo de 3, en Adafruit PCE acenderase a luz vermella e en micro:bit mostrarase unha cara contenta. Se non é múltiplo de 3, en Adafruit PCE acenderase a luz verde. Lembra que, para saber se un número é múltiplo doutro, basta dividilo e comprobar que o resto é cero.

Con isto xa tes case todo o programa. Mellórao para que, cando aparezan dous números seguidos que acenden a mesma cor, haxa unha pequena pausa entre eles para poder distinguilos e saber que son dous.

## Lectura facilitada

Fai un programa cunha lista de números.

O programa debe reaccionar aos múltiplos de 3.

Na Adafruit PCE cambia a cor dos LEDs.

Na micro:bit aparece unha cara contenta.

## Instrucións

### 1. Introduce a secuencia e sepáraa en elementos

Escribe os números nunha variable de texto.

Separa os números con comas.

Despois divide a secuencia en elementos.

### 2. Percorre toda a lista cun contador

Usa un bucle cunha variable contadora.

Así o programa revisa todos os números.

Engade unha espera de 1 segundo.

### 3. Comproba se cada número é múltiplo de 3

Agora comproba cada número.

Se é múltiplo de 3, a placa reacciona.

Na Adafruit PCE acéndese a luz vermella.

Na micro:bit aparece unha cara contenta.

Se non é múltiplo de 3, na Adafruit PCE acéndese a luz verde.

Ao final, mellora o programa.

Pon unha pequena pausa cando saian dous números seguidos coa mesma cor.

## Audio

audio/mpeg

## Paréceche pouca complicación?

Se che pareceu doado o exercicio, podes complicalo e facer un xogo de habilidade. Cando o número non é múltiplo de 3 (1, 2, 4, 5, 7, 8...), tes que premer no botón B. Cando é múltiplo de 3 (3, 6, 9), tes que premer no botón A. Se non o fas a tempo, perdes porque o programa se detén.

## Lectura facilitada

Se o exercicio che pareceu doado, podes facelo máis difícil.

Podes crear un xogo de habilidade.

Se o número non é múltiplo de 3, preme o botón B.

Se o número é múltiplo de 3, preme o botón A.

Se non respondes a tempo, perdes.

Nese caso, o programa detense.

## Audio

audio/mpeg

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

Feito con eXeLearning (Nova xanela)