Понятие о символьных переменных
Обработка символьных переменных
Остановки в программе
Пример 9.4.33. Подпрограмма выбора пунктов меню
Пример 9.4.32. Обработка пунктов меню оператором SELECT СASE
Оператор SELECT CASE, так же как и многострочный IF позволяет сформировать хорошо читаемую программу.
OPM3: REM подпрограмма обработки пунктов меню
GOSUB ONK : REM вызов подпрограммы выбора пунктов меню
SELECT CASE nkl : REM nkl - переключающее выражение
CASE 1 : REM 1 - условие выборки
GOSUB M1 : REM M1, M11 ..- подпрограммы, вызываемые
GOSUB M11 : REM при выполнении первого пункта меню
GOSUB MENU
CASE 2
GOSUB M2
GOSUB M21
...
CASE ELSE
LOCATE 1,1: PRINT "Неправильный ввод. Введите пункт меню"
BEEP 1: REM Выдача звукового сигнала
SLEEP 3: REM Останов на 3 секунды и очистка строки сообщения
LOCATE 1,1: PRINT“ ”
GOTO OPM1: REM Возврат для ожидания ввода пунктов меню"
END SELECT
ONK: REM Подпрограмма обработки нажатия клавиши
msg1=" Введите правильно номер требуемого пункта меню "
LOCATE 23,1: REM Перемещение курсора в 23 строку
c$=SPACE$(80): PRINT c$: REM Очистка 23 строки
a=(40-LEN(msg1))/2: REM центрирование сообщения
LOCATE 23,10:?TAB(a);msg1 :REM Вывод сообщения в 23 строку
1000 IF INKEY$="" THEN GOTO 1000: REM Пустой цикл до нажатия
REM любой клавиши
nkl=VAL(c$)
RETURN
В ряде случаев при выполнении программы необходимо задержать ее выполнение на некоторое время, например, чтобы просмотреть результаты промежуточных вычислений, вывести сообщение программы, необходимое пользователю, и так далее. Такие остановки можно реализовать с помощью подпрограмм.
Пример 9.4.34.
OSTANOWKA1: REM остановка до нажатия любой клавиши
LOCATE 23,1: PRINT "Для продолжения нажмите любую клавишу"
1000 IF INKEY$="" THEN GOTO 1000 : REM пустой цикл
RETURN
Пример 9.4.35.
OSTANOWKA2: REM остановка до нажатия любой клавиши
LOCATE 23,1: PRINT "Для продолжения нажмите любую клавишу"
A$=INPUT$(1) : REM ожидание ввода одного символа
RETURN
Пример 9.4.36.
OSTANOWKA3: REM остановка на заданное время
LOCATE 23,1 : REM комментарий отсутствует
SLEEP 5 : REM остановка на 5 секунд
RETURN
Пример 9.4.37.
OSTANOWKA4: REM остановка на заданное время
LOCATE 23,1: PRINT " Ждите. Идут вычисления"
REM функция TIMER хранит количество секунд, прошедших после полуночи
Т=TIMER: REM переменной t присвоено текущее время
1000 IF TIMER-Т<5 THEN GOTO 1000: REM остановка на 5 секунд
RETURN
Символьные переменные представляют собой цепочки любых символов заключенных в кавычки. Максимальная длина строки – 32767 символов, минимальная – ноль, пустая строка.
Для объявления символьных переменных используется суффикс – знак доллара "$". Тип символьных переменных может быть объявлен также с помощью оператора DEFSTR:
A$, C1$ - символьные переменные;
DEFSTR C, S - все переменные имена которых начинаются с символов С и S считаются переменными символьного типа.
Тип переменной объявленный оператором DEFSTR можно изменить с помощью суффикса $. Символьные переменные можно объединять, используя операцию конкатенации “&” или “+”: C2$ = C$ & C1$ или C$ +C1$.