Урок 7. Диалог с программой

Тема: Введение в Scratch

Языки программирования по сути выполняют те или иные операции над данными (числами, строками, списками и др.). Эти данные в программу может "заложить" программист или же они будут поступать от пользователя в процессе выполнения программы. Например, если программа выполняет умножение числа на само себя, то это число может быть получено от пользователя. Чтобы пользователь ввел число, должна выполниться какая-то встроенная команда, предоставляющая интерфейс для ввода данных.

В Scratch команду, позволяющую пользователю ввести данные, можно найти в разделе сенсоры. Она называется спросить … и ждать. Вместо фразы "Как ваше имя?" можно вписать другую фразу, а также поставить туда переменную или что-то другое. Когда команда спросить … и ждать выполняется, то внизу холста появляется поле для ввода. Пользователь должен туда ввести данные и нажать Enter или галку в конце поля. Проверьте самостоятельно, как работает эта команда.

После того, как команда спросить … и ждать выполнена, текстовое поле исчезает с холста. Куда же попадают данные, которые мы в него вводили? Они оказываются в переменной ответ. Это встроенная переменная (ее не нужно создавать) и находится она в сенсорах.

Попробуем составить сценарий, при выполнении которого кот спрашивает у нас имя, а затем приветствует нас по имени (например, "Привет, Саша").

  1. Сначала требуется спросить у пользователя имя.
  2. Затем следует склеить "Привет, " и то, что ввел пользователь. Это можно сделать с помощью команды слить … …, находящейся в операторах.
  3. Команда сказать … поможет вывести сообщение на экран.

В результате скрипт получится таким:

Диалоговое окно в Scratch

Соберите его и проверьте, как это работает. Обратите внимание, что после слова "Привет" и запятой добавлен также пробел, чтобы разделить слова.

Усложним нашу программу. Пусть после того, как кот поздоровается, он спросит, сколько будет 2*2? Пусть он спрашивает это до тех пор, пока пользователь не даст правильный ответ. Для того, чтобы команда спросить … и ждать выполнялась постоянно до определенного момента, ее необходимо поместить в конструкцию повторять до …. Условием, когда эта конструкция должна прекратить выполняться, будет правдивость результат выполнения операции ответ = 4. Соберите такой сценарий:

Ввод данных пользователем в Scratch

Если теперь его запустить на выполнение, то произойдет следующее:

  1. Кот спросит имя.
  2. Поздоровается. Чтобы приветствие сразу не исчезло, ждет 3 секунды.
  3. Будет спрашивать "Сколько будет 2 * 2?" до тех пор, пока пользователь не введет правильный ответ.
  4. Когда пользователь введет цифру 4, кот скажет "Правильно!".

Самостоятельная работа

  1. Составьте в среде Scratch программу, которая спрашивала бы у пользователя, на сколько процентов увеличить или уменьшить кота. После чего изменяла бы размер объекта на холсте.
  2. Напишите программу в Scratch, запрашивающую у пользователя количество сторон фигуры и угол между сторонами, а затем рисующую полученную фигуру на холсте.

Подсказка. Во втором задании необходимо использовать две переменные.