(495)240-8280ПН-СБ с 12:00 до 20:00
We speak English

Урок 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, которые вы можете применить:

  1. Назначить ограниченное число попыток.
  2. Отобразить список числа попыток. Сможете это сделать?

Программа

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;