(пауза)
Скорее всего первое, что вам придёт в голову -- что она детерминирована, ведь хотя эта функция имеет бесконечное количество возможных пользовательских входных данных, но для каждого входного сигнала
Однако подобный подход начинает выглядеть более недетерминированным при моделировании такой например системы, как сервер, который запускает некоторый фиксированный сценарий (например, конвертор формата) всякий раз, когда пользователь загружает файл. Тут нам придётся применять смесь недетерминизма и параллелизма: у нас есть одно серверное "выполнение" как параллельная система, и одно недетерминированное выполнение, которое представляет результаты работы каждого запроса. Почему недетерминированное? Потому что цепочка клиент-сервер-клиент по определению содержит множество побочных недетерминированных эффектов. Вы же это всегда учитываете, правда? :)
Совсем на пальцах: даже когда программа запрашивает с консоли ввод подтверждения yes/no, исход на самом деле имеет три варианта: да, нет или пользователь встаёт и уходит, так и не выбрав вариант, что надолго/навсегда останавливает выполнение.
Как об этом всём правильно рассуждать и поступать (5 типов недетерминизма), разбираем с ментатами в СильныхИдеях.
upd. спрашивают, так вер-ть же не изменится? ахаха, т.к. председатель комиссии точно знал кто есть кто, вер-ть повысится, гуглите монти холл.
