Урок 3.1. Команды WHILE, INPUT, KILL
Это третий урок из курса обучения программированию на калькуляторе HP Prime, написанного Эдвардом Шором. В этом уроке будет описано много новых команд и функций, о которых мы еще не говорили. Надеюсь, что вы готовы окунуться в обучение с головой! Если у вас есть опыт программирования на калькуляторах модели HP 39g, 39g или 39gII, вам будет проще, так как язык программирования (HPPPL) во многом схож с работой на этих моделях. В этом курсе мы используем самую последнюю версию встроенных программ, которую можно скачать на сайте.
Команды WHILE, INPUT, KILL
Программа TARGET на калькуляторе HP Prime
Программа TARGET - это игра, где вам нужно угадать число с помощью подсказок. Если вы ошибетесь, калькулятор подскажет вам, большее или меньшее число вам нужно угадать. В конце игры калькулятор выдает информацию о том, сколько попыток вам понадобилось, чтобы угадать загаданное число.
Команда WHILE: Повторяет определенное число команд при соблюдении условия.
WHILE условие верно DO
команды
END;
Доступ: (Loop) (WHILE)
Внимание: Будьте внимательны с командами END! Убедитесь, что команда END есть после каждого цикла и в конце программы. Нажмите на виртуальную кнопку , чтобы проверить свой код.
Команда INPUT: Создает экран ввода для переменных. На калькуляторе HP Prime можно запрашивать более одного ввода данных.
Программа TARGET демонстрирует использование команды INPUT с одной подсказкой.
Одна переменная:
INPUT(variable, " title", " label", " help text")
Несколько переменных:
INPUT(list of variables, "title", list of "labels", list of "help text")
Примечание: Нажатие на Cancel сохранит 0 как значение переменной. Вы можете написать код того действия, которое произойдет после того, как пользователь нажмет на кнопку Cancel, но нам пока это не нужно.
Доступ: , (I/O) (INPUT)
Команда KILL: Завершает программу. Никто при этом не умрет, гарантирую.
Доступ: (Block) (KILL)
Конечно, вы можете попробовать задать больший лимит. Ниже я предлагаю некоторые изменения в программе TARGET, которые вы можете применить:
- Назначить ограниченное число попыток.
- Отобразить список числа попыток. Сможете это сделать?
Программа
EXPORT TARGET()
BEGIN
LOCAL C := 0, N := RANDINT(1, 20), G := -1;
WHILE G ≠ N DO
C := C+1;
INPUT(G, "Guess?", "GUESS:", "1 - 20");
IF G == 0 THEN
KILL;
END;
IF G < N THEN
MSGBOX("Higher");
END;
IF G > N THEN
MSGBOX("Lower");
END;
END;
MSGBOX("Correct! Score: "+C);
END;