Понятие о символьных переменных

Обработка символьных переменных

Остановки в программе

Пример 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$.