Урок №17. Переменные.
Построим на экране на одинаковом расстоянии ряд столбиков увеличивающейся длины, как на рис. 3.7. Высота первого столбика — 20 шагов Черепахи, каждый следующий на 10 шагов выше, чем предыдущий. Такие столбики нередко используются для того, чтобы показать установленный уровень громкости (например, у телефона).

Начнем с более простой задачи, в которой все столбики имеют одинаковую высоту 20 шагов и расположены на одинаковом расстоянии, тоже 20 шагов (рис. 3.8).

Несложно написать такую программу с использованием цикла:
использовать Черепаха
алг
нач
нц 5 раз
опустить хвост
вперед(20)
назад(20)
поднять хвост
вправо(90)
вперед(20)
влево(90)
кц
кон
Чем же будет отличаться программа, которая решает первую задачу (см. рис. 3.7)? Только тем, что высоты всех столбиков разные. Это значит, что числа, выделенные фоном в тексте программы, должны изменяться. При каждом повторении цикла они будут другие: сначала 20, потом 30, 40 и т. д.
Величину, которая изменяется во время работы программы в программировании называют переменной.
Каждая переменная имеет имя и значение. Имя переменной во время работы программы не изменяется, а значение может изменяться именно поэтому она и называется переменной.
Лучше выбирать «говорящие» имена переменных, связанные с их смыслом. Например, переменную, которая обозначает расстояние, можно назвать S — так обычно обозначают растояние в математике.
Переменная — это величина, значение которой может изменяться во время работы программы. К переменной обращаются по имени.
Назовём нашу переменную L (от английского слона lenght длина). Имя переменной — это одно слово или несколько слов соединённых знаком подчёркивания. В именах можно использовать цифры, но не на первом месте.
Сначала нужно присвоить переменной начальное значение, равное высоте первого столбика:
L = 20;
Знак = обозначает оператор (команду) присваивания. Переменной, имя которой указано слева от знака =, присваивается новое значение, равное значению выражения справа от знака =.
Оператор присваивания — это команда, которая задаёт новое значение переменной.
Итак, мы обозначили переменную именем L. Теперь числа, выделенные в программе фоном, нужно заменить на имя переменной. Вот строки, которые изменятся:
вперед( L );
назад( L );
После очередного выполнения цикла значение L требуется увеличить на 10. Для этого нужно дать Черепахе примерно такую команду: «возьми последнее значение L, добавь к нему 10
и присвой результат переменной L». На языке программирования это записывается так:
L = L + 10;
Имя переменной L здесь используется как слева, так и справа от знака :=. В правой части команды оно означает: «значение переменной L до выполнения команды». Это значение используется для вычислений. Имя L в левой части говорит о том, что вычисленное справа значение присваивается переменной L, при этом её предыдущее значение стирается.
Переменная может иметь только одно значение. Когда переменной присваивается новое значение, предыдущее значение стирается.
Вот цикл, в котором оставлены только строки, где участвует переменная L:
L:=20
нц 5 раз
...
вперед(L)
назад(L)
...
L:=L+10
кц
Команды, которые нас сейчас не интересуют, заменены многоточиями. Сначала переменной L присваивается значоиие 30. После первого выполнения команды L := L + 10; оно изменяется на 30, затем — на 40, потом — на 50 и т. д. При каждом повторении цикла длина отрезка изменяется.
Во многих языках программирования, в том число в языка управления Черепахой, переменные нужно объявлять.
Объявить переменную — это значит дать ей имя, выделить для неё место в памяти и определить тип данных, которые можно хранить в переменной.
Объявление переменной часто называют описанием переменной.
При объявлении выделяется память для хранения значения переменной. Тип данных определяет, сколько места в памяти выделяется для хранения переменной и какие операции можно выполнять со значением этой переменной (например, можно ли её умножать на число).
Значение нашей переменной L — длина отрезка, который рисует Черепаха. Это целое число, так как длина линии на экране измеряется в пикселях. Поэтому объявление паременной в начале программы выглядит так:
цел L
Это означает, что в программе будет использоваться переменная с именем L, в которую можно записывать только целый числа. Если мы попробуем записать туда число с дробной частью или букву, программа сообщит об ошибке.
Переменная должна быть объявлена до того, как она в первый раз используется в программе. Часто все переменные описывают в самом начале программы. При объявлении им автоматически присваиваются нулевые значения.
Теперь можно записать полную программу. Фоном в ней выделены строки, в которых используется переменная L.
использовать Черепаха
алг
нач
цел L
L:=20
нц 5 раз
опустить хвост
вперед(L)
назад(L)
поднять хвост
вправо(90)
вперед(20)
влево(90)
L:=L+10
кц
кон