A placa micro:bit pode executar códigos ou instruções com Textos. Os textos são como sequências de caracteres armazenadas na memória da placa micro:bit. Neste artigo, mostramos como isso pode ser feito.
MIC056S
Observe a seguinte figura:
Como podemos ver, existem alguns textos. A memória do cartão micro:bit é muito semelhante a uma série de gavetas ou escaninhos. Cada gaveta representa um byte e um caractere pode ser armazenado em cada byte. Neste capítulo, vamos estudar os blocos de programação ou funções que podem manipular textos. Para acessar tais blocos, pode-se ir até a função: Avançado, conforme mostrado na figura a seguir:
![](/images/stories/artigo2021/mic0573_0002.png)
Um menu como o seguinte será exibido, no qual a função TEXTO é encontrada:
![](/images/stories/artigo2021/mic0573_0003.png)
COMO CRIAR UM TEXTO.
Para criar um texto, vá até a função "Variáveis" e crie uma nova variável. Por exemplo: "INCB".
![](/images/stories/artigo2021/mic0573_0004.png)
No bloco: "no iniciar", encaixe um bloco: "configure" conforme mostrado nas seguintes figuras:
![](/images/stories/artigo2021/mic0573_0005.png)
![](/images/stories/artigo2021/mic0573_0006.png)
Por padrão, o programa "MakeCode" cria a variável do tipo numérico. Para tornar esta variável do tipo Texto, vá até a função: Texto, arraste e ajuste o seguinte bloco conforme mostrado na figura a seguir:
Depois disso, o número que estava por padrão será alterado por aspas duplas (“”), conforme mostrado na figura a seguir:
![](/images/stories/artigo2021/mic0573_0008.png)
Pronto, você pode digitar letras e mostrá-las no display conforme mostrado no seguinte programa:
CARACTERE IN
O seguinte é um bloco que permite que você descubra qual caractere está em uma determinada posição no texto.
![](/images/stories/artigo2021/mic0573_0010.png)
Os textos são como cadeias de caracteres em que cada caractere está em uma determinada posição (índice). Para entender melhor esse conceito, observe a seguinte figura:
Observe no Texto 1 que a letra “u” da palavra “mundo” está na posição 6. A letra “d” da palavra “mundo” está na posição 8. Observe no Texto 2 que a letra “M” da palavra “Maria” Está na posição 0. A letra:“e ”está na posição 6. O seguinte programa mostra a letra“ M ”do texto“ Saudação ”no visor:
![](/images/stories/artigo2021/mic0573_0013.png)
COMPRIMENTO DE.
É possível saber quantos caracteres um texto possui. O bloco a seguir permite que você descubra esse valor:
![](/images/stories/artigo2021/mic0573_0014.png)
Vejamos um exemplo prático para ver como esse bloco funciona. No bloco de código: "para sempre", ajuste o bloco: "comprimento de" como mostra o seguinte programa:
![](/images/stories/artigo2021/mic0573_0015.png)
Execute o programa e veja o resultado é 3. Experimente digitar seu nome para ver quantos caracteres você tem no cartão micro:bit.
LIGAÇÃO.
O bloco: JOIN permite que 2 textos sejam concatenados ou unidos, para formar um único texto. A imagem a seguir mostra o bloco JOIN:
![](/images/stories/artigo2021/mic0573_0016.png)
Experimente o programa de exemplo a seguir e veja os resultados na matriz de LED:
![](/images/stories/artigo2021/mic0573_0017.png)
CONVERTER DE TEXTO EM NÚMEROS.
O próximo bloco permite converter um texto que contém apenas valores numéricos em um número. Este bloco recebe um texto como parâmetro e retorna um número. A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0018.png)
O programa de exemplo a seguir mostra como podemos inserir o bloco: parse, no bloco: show number.
![](/images/stories/artigo2021/mic0573_0019.png)
Este bloco também permite converter números de ponto flutuante, como: 7,9 ou 0,8. A conversão para números negativos também é possível, ou seja, o texto pode incluir o caractere “-”.
SEPARAR (SPLIT).
O próximo bloco permite dividir um texto em textos menores usando uma string separadora. A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0020.png)
Por exemplo, o bloco a seguir retorna ou retorna uma matriz de textos, uma vez que o texto que separa é a vírgula (,).
![](/images/stories/artigo2021/mic0573_0021.png)
INCLUI.
O próximo bloco permite determinar se um texto contém ou inclui uma sequência de caracteres específica (subtexto). Este bloco retorna verdadeiro, se o subtexto estiver no texto que está sendo examinado. Se o subtexto não for encontrado, o bloco retorna falso. A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0022.png)
Vejamos um programa de exemplo para entender melhor este bloco. Observe que usamos o bloco lógico condicional IF (if), para verificar se o bloco: "includes" é cumprido.
![](/images/stories/artigo2021/mic0573_0023.png)
Este programa de exemplo mostra a seguinte imagem:
![](/images/stories/artigo2021/mic0573_0024.png)
porque o subtexto "suco" está incluído na variável Bebidas. No entanto, o seguinte programa:
![](/images/stories/artigo2021/mic0573_0025.png)
mostra a imagem a seguir porque o subtexto "suco" não foi encontrado na variável Bebidas.
![](/images/stories/artigo2021/mic0573_0026.png)
Outro problema a ter em mente é que o bloco: "inclui" distingue entre letras maiúsculas e minúsculas (diferencia maiúsculas de minúsculas). Se buscarmos o subtexto "Suco", o resultado será falso, pois na variável: "Bebidas", o subtexto "suco" está com letra minúscula.
ENCONTRE O ÍNDICE DE.
O próximo bloco permite obter o índice (posição) da primeira ocorrência de um subtexto, no texto. Este bloco retorna um número que é a posição no texto, onde o subtexto é encontrado. Este número é -1 se o subtexto não puder ser encontrado em qualquer lugar do texto. A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0027.png)
Vejamos um programa de exemplo para entender o uso deste bloco.
![](/images/stories/artigo2021/mic0573_0028.png)
Este programa mostra o número 13 na matriz de LEDs, uma vez que o subtexto "leite" está nesta posição. Se o subtexto não estiver dentro do texto, o valor retornado pelo bloco será -1.
ESTÁ VAZIO.
O próximo bloco determina se uma string de texto contém caracteres ou não. Este bloco retorna um valor booleano verdadeiro (verdadeiro), se o texto não possuir caracteres, ou falso (falso), se houver um ou mais caracteres. A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0029.png)
O programa a seguir mostra como usar este bloco:
![](/images/stories/artigo2021/mic0573_0030.png)
Este programa mostrará o texto: "Vazio", na matriz de LEDs, pois a variável: Bebidas, foi inicializada sem nenhum caractere, ou seja, está vazio, portanto o bloco: "está vazio", retorna verdadeiro.
SUBCADEIA
O bloco a seguir faz parte de um texto para formar uma string de texto menor (substring), por isso esse bloco é denominado: “substring de”. Este bloco tem 3 parâmetros:
- O texto principal.
- A posição de onde você deseja obter a substring.
- A largura ou quantidade de caracteres a serem copiados.
A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0031.png)
Por exemplo, se tivermos um texto: "Olá Mundo". Podemos obter qualquer parte deste texto com o bloco: "substring de". O programa de exemplo a seguir mostra como extrair a substring ou substring: World.
Você pode experimentar diferentes posições e comprimentos para ver os resultados no display LED 5x5.
COMPARAR.
O próximo bloco permite que você compare 2 textos para ver se eles são iguais. Este bloco é denominado "comparar". A figura a seguir mostra o bloco:
![](/images/stories/artigo2021/mic0573_0033.png)
Este bloco retorna um número para indicar a comparação da seguinte maneira:
-1: Este texto é menor que o texto comparado.
0: Este texto é igual ao texto comparado.
1: Este texto é maior do que o texto comparado.
A comparação é baseada na ordem de seus personagens. Por exemplo: se compararmos “bom” com “mau”, o texto bom vem primeiro porque o caractere “b” está localizado no alfabeto, antes do caractere “m”. Se os 2 textos forem iguais, então o valor retornado será igual a 0. Vamos ver um programa prático para entender melhor este bloco.
![](/images/stories/artigo2021/mic0573_0034.png)
Experimente modificar os textos para ver os resultados.
CONVERTER UM NÚMERO EM TEXTO.
O bloco a seguir permite converter qualquer tipo (booleano, inteiro, etc) em um texto. O bloco é denominado: "converter em texto". A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0035.png)
Este bloco recebe um parâmetro que é um valor de qualquer tipo, para converter em texto. O bloco retorna um texto que representa o valor passado como parâmetro. Vejamos um exemplo prático:
![](/images/stories/artigo2021/mic0573_0036.png)
No programa anterior, criamos uma variável inteira chamada: "Idade" e foi atribuído o valor de 37. Em seguida, criamos uma variável de texto chamada: "Minha_Idade" e convertemos o valor da variável: "Idade” Para o texto. Em seguida, no bloco: "para sempre", mostramos o texto que foi armazenado na variável: "Minha_Idade". Você pode experimentar diferentes valores para observar os resultados.
CRIAR TEXTO.
O próximo bloco permite fazer um texto com um único caractere, a partir do número do código do caractere. Cada letra ou número do alfabeto precisa de um número para identificá-lo das outras letras. Esses números são baseados no conjunto de caracteres ASCII. A figura a seguir mostra este bloco:
![](/images/stories/artigo2021/mic0573_0037.png)
EXEMPLO DE PROGRAMA COM TEXTO.
O programa a seguir permite concatenar ou juntar vários tipos de variáveis, que serão mostradas no display de LED.
![](/images/stories/artigo2021/mic0573_0038.png)
![](/images/stories/artigo2021/mic0573_0039.png)
No bloco: "na inicialização" criamos e atribuímos 3 variáveis chamadas: "Nome" do tipo texto, "Profissão" do tipo texto e "Idade" do tipo inteiro. Então, no loop: "para sempre", usamos o bloco: "join" para concatenar as 3 variáveis. Observe que para a variável: "Idade" do tipo inteiro, é necessário utilizar o bloco: "converter em texto" para convertê-la em texto. O texto concatenado é salvo ou atribuído à variável: "Tudo_Junto" e finalmente exibido no display LED. Experimente alterar os valores das variáveis ou dos textos que o bloco contém: “join”. Normalmente, em sistemas microcontrolados, este tipo de junção de texto é denominado “texto de formatação”.