Занятие №16 "Тип данных"
Здесь, наверное, вы удивитесь: «Но откуда Scratch знает, какой тип данных у этой переменной?» Ответ будет прост: «А он и не знает!»
Когда вы создаете переменную, Scratch понятия не имеет, для чего она вам нужна: чтобы сохранять численное значение, строку или логическую величину. Любая переменная может иметь дело с любым типом данных. Например, все нижеследующие команды в Scratch допустимы.
Вам решать, какие значения сохранять в ваших переменных. Scratch попытается конвертировать одни типы данных в другие в зависимости от контекста. Чтобы посмотреть, что происходит, когда вы сохраняете неподходящий тип данных в своей переменной, проанализируем два примера.
Поскольку команда идти ожидает числовой параметр, Scratch автоматически попытается конвертировать величину, сохраненную в переменной сторона, в число, прежде чем передать информацию команде идти. В первом скрипте (слева) Scratch не может конвертировать строку «нонсенс» в число. Но вместо того чтобы выводить сообщение об ошибке, Scratch, не говоря ни слова, выставит ноль в качестве результата конвертации и передаст эту величину команде идти. В результате спрайт останется стоять на месте. А в случае второго скрипта (справа) Scratch не будет обращать внимания на пробелы в строке и передаст полученное число блоку идти, так что спрайт сделает 100 шагов вперед. Если бы результирующий блок ожидал получить строку, а не число, Scratch передал бы ее как есть, со всеми пробелами
Изменение переменных

Scratch имеет два блока-команды, которые позволяют изменять переменные. Команда задать значение прямо присваивает новое значение, независимо от текущего. Команда изменить на используется для того, чтобы изменить текущее значение переменной на определенную вели- чину. Три скрипта показывают, как применять эти команды, чтобы разными способами достичь одной цели.
Все три скрипта на рисунке начинаются с того, что мы задаем значения двух переменных, сумма и дельта, равными 0 и 5 соответственно. Первый скрипт использует команду изменить, чтобы изменить величину сумма на величину дельта (с 0 на 5). Второй использует команду задать, чтобы прибавить текущее значение переменной к значению дельта (0 + 5) и сохранить полученный результат (5) в переменной сумма. Третий добивается того же результата с помощью переменной врем.
Он складывает значения переменных сумма и дельта, сохраняет резуль- тат в врем и копирует величину врем в сумма.

После исполнения любого из скриптов, величина переменной сумма будет равна 5. Все эти скрипты функционально эквивалентны друг другу. Метод, использованный во втором скрипте, — общепринятый в программировании, и я рекомендую вам получше к нему приглядеться. Теперь посмотрим, как работает команда изменить.

Паутина

Мы можем создать паутину, рисуя шестиугольники, которые постепенно увеличиваются в размере. Процедура Треугольник рисует равносторонний треугольник с переменной длиной стороны, а Шестиугольник вызывает Треугольник шесть раз, шесть раз поворачивая его на 60 градусов (360 градусов, деленные на 6) направо при каждом обращении. На рисунке показано, как шестиугольник собирается из шести треугольников.
Процедура Паутина несколько раз обращается к Шестиугольнику, каждый раз меняя величину переменной длинаСтороны. В результате получаются концентрические (имеющие общий центр) шестиугольники. Обратите внимание, как команда изменить использована, чтобы задать величину длинаСтороны внутри цикла повторить. Воспроизведите алгоритм Паутина, запустите его и посмотрите, как он работает.

Scratch - Учись играая!
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website