# Переменные

Мы используем понятие переменной так же, как оно используется в математике и других языках программирования, то есть понимаем под переменной именованное значение, которое может изменяться. Существуют разные способы создания переменных.

- Некоторые блоки, например **считать с** и **для каждого**, используют переменную и определяют ее значения. Традиционно в информатике для обозначения таких переменных используется понятие «переменная цикла».
- Пользовательские функции (также именуемые «процедурами») могут задавать вводимые данные, вследствие чего генерируются переменные, которые можно использовать только в данной функции. Такие переменные традиционно называют «параметрами» или «аргументами».
- Пользователи могут в любой момент изменять переменные при помощи блока **setze (присвоить)**. Их традиционно называют «глобальными переменными». Они используются во всем коде ROBO Pro Coding.

#### Выпадающее меню

При щелчке по символу выпадающего меню (маленький треугольник) переменной появляется следующее меню:

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

Это меню содержит следующие опции:

- отображение имен всех существующих переменных, заданных в этой программе.
- «Variable umbenennen...» («Переименовать переменную...»), т. е. изменение имени этой переменной во всей программе (при выборе этой опции программа спросит тебя о новом имени)
- «Variable löschen...» («Удалить переменную ...»), т. е. удаление всех блоков, ссылающихся на эту переменную, во всей программе.

### Блоки

#### Задать

Блок **присвоить** присваивает переменной какое-либо значение и создает эту переменную, если она еще не существует. Например, здесь переменной **Alter (возраст)** присваивается значение 12:

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

#### Вызвать

Блок **rufe ab (вызвать)** выдает значение, сохраненное в переменной, не изменяя его:

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

Можно (хотя это и плохая идея) написать программу, в которой перед блоком **вызвать** не будет соответствующего блока **установить**.

#### Изменить

Блок **ändere (изменить)** прибавляет к переменной число.

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

Блок **изменить** является сокращением следующей конструкции:

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

#### Пример

Посмотри на следующий пример кода:

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

Первый ряд блоков создает переменную под названием **Alter (возраст)** и **присваивает** ей начальное значение 12. Второй ряд блоков **вызывает** значение 12, прибавляет к нему 1 и сохраняет полученную сумму (13) в переменной. В последней строке выдается сообщение: «Herzlichen Glückwunsch! Du bist jetzt 13» (Поздравляю! Тебе исполнилось 13 лет»).