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

Цель: познакомиться с командами, которые реагируют на текст, введенный с клавиатуры.

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

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

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

  1. Сначала требуется спросить у пользователя имя.

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

  3. Команда сказать … поможет вывести сообщение на экран.

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

 

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

Усложним нашу программу.

 

Сценарий проекта "Таблица умножения"

  1. Кот спросит имя.

  2. Поздоровается. Чтобы приветствие сразу не исчезло, ждет 3 секунды.

  3. Будет спрашивать "Сколько будет 2 * 2?" до тех пор, пока пользователь не введет правильный ответ.

  4. Когда пользователь введет цифру 4, кот скажет "Правильно!".

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

Соберите такой сценарий: