# Variáveis

Usamos o termo variável como é usado em matemática e em outras linguagens de programação: um valor nomeado que pode ser alterado (variado). As variáveis podem ser criadas de diversas maneiras.

- Alguns blocos, como **contar com** e **para cada** usam uma variável e definem seus valores. Um termo tradicional da ciência da computação para essas variáveis é o termo variáveis de loop.
- Funções definidas pelo usuário (também conhecidas como "procedimentos") podem definir entradas, criando variáveis que só podem ser usadas dentro daquela função. Tais variáveis são tradicionalmente chamadas de "parâmetros" ou "argumentos".
- Os usuários podem alterar as variáveis a qualquer momento usando o bloco **definir**. Essas são tradicionalmente chamadas de "variáveis globais". Elas podem ser usadas em qualquer lugar no código ROBO Pro Coding.

#### Menu suspenso

Ao clicar no símbolo suspenso (triângulo pequeno) de uma variável, o seguinte menu aparecerá:

[![Bild1_por.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/dkMbild1-por.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/dkMbild1-por.PNG)

O menu oferece as seguintes opções.

- a exibição dos nomes de todas as variáveis existentes definidas no programa.
- "Renomear variável ...", ou seja, alterar o nome desta variável onde quer que ela apareça no programa (selecionar esta opção abre uma consulta para o novo nome)
- "Excluir variável ...", ou seja, a exclusão de todos os blocos que se referem a esta variável, onde quer que ela ocorra no programa.

### Blocos

#### Determinar

O bloco **definir** atribui um valor a uma variável e cria a variável caso ela ainda não exista. Por exemplo, o valor da variável **idade** é definido como 12:

[![Bild2_por.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/V3nbild2-por.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/V3nbild2-por.PNG)

#### Lembrar

O bloco **recuperação** fornece o valor armazenado em uma variável sem alterá-lo:

[![Bild3.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/xTAbild3.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/xTAbild3.PNG)

É possível, porém uma má ideia, escrever um programa em que um bloco **recuperação** sem um conjunto de blocos anterior correspondente.

#### Alterar

O blcco **alterar** adiciona um número a uma variável.

[![Bild4_por.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/v7Sbild4-por.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/v7Sbild4-por.PNG)

O bloco **alterar** é uma abreviatura para a seguinte construção:

[![Bild5_por.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/LSpbild5-por.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/LSpbild5-por.PNG)

#### Exemplo

Observe o seguinte código de exemplo:

[![Bild6_por.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/TSMbild6-por.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/TSMbild6-por.PNG)

O primeiro conjunto de blocos cria uma variável chamada **idade** e **define** seu valor inicial para o número 12. A segunda linha de blocos **recupera** um valor de 12, adiciona 1 a isso e armazena a soma (13) na variável. A mensagem é emitida na última linha: "Parabéns! Agora você tem 13 anos".