В Бейсике
сильно развиты команды и функции ввода-вывода данных, позволяющие осуществлять диалог (интерактивный интерфейс) с пользователем.
Для осуществления клавиатурного управления программой, помимо уже известных операторов ввода INPUT и вывода PRINT, используют функцию INPUT$(n), возвращающею значение введенной символьной строки из п символов с ожиданием, функцию INKEYS, принимающею символьное значение нажатой клавиши без ожидания, функции STICK(n), STRIG(O), определяющие коды стрелок или направления джойстика (внешнего управляющего устройства для компьютерных игр и тренажеров).
Часто при разработке компьютерных программ необходимо использовать коды клавиш в ASCI-представлении. Следующая программа печатает код нажатой клавиши и может оказаться полезной при отсутствии под рукой таблицы ASCI кодов.
Программа 77 5 ' ************ коды символов ************
10 cls
20 f$ =
INPUT$(1)
30 PRINT "символ="; f$; "код="; ASC(f$)
40 PRINT 50 GOTO 20
Полную таблицу кодов символов можно получить и другим способом, см. программу 78.
Программа 78 5 ************ до коду печать символа **************
10 FOR i = 1 ТО 256
20 PRINT "код="; i, "символ="; CHR$(i)
30 a$ = INPUT$(1)
40 NEXT I
Функцию INPUTS часто используют для приостановки выполнения программы до нажатия любой клавиши:
п г$ = INPUTS(l): IF r$ = "" THEN n
В отличие от оператора INPLT ф\ нкцпя не ставит знак "?"и не высвечивает вводимые символы. Это свойство удобно использовать для защиты доступа к какой-либо информации. В следующем примере демонстрируется фрагмент проверки «своего» клиента с помощью пароля. Если при вводе четырехсимвольного пароля ("") трижды допущена ошибка, программа приостанавливает работу.
Программа 79 ;
5 ********** пароль *********'**
7 CLS
8 PRINT "нажми любую клавишу"
9 r$=INPUT$(l) : IF r$=""THEN 9
10 code$ = "1996" : k = О
20 INPUT "Имя"; а$