
- •62. Работа с символьными переменными в Турбо Бейсике: функции space, lcase,ucase.Функции преобразования данных в Турбо Бейсике.
- •59. Функция instr: назначение, формат и пример использования.
- •58. Работа с символьными переменными: функции «вырезки строки». Пример применения.
- •57. Функции преобразования символьных переменных в ascii-коды и наоборот. Пример применения.
- •56. Фактические параметры в процедуре: передача по ссылке и по значению. Пример.
- •55. Особенности функционирования механизма передачи параметров в процедуре и функции в Турбо Бейсике.
- •54. Область действия переменных в процедуре и функции Турбо Бейсика.
59. Функция instr: назначение, формат и пример использования.
lNSTR([u,]X$,yS).
значение функции - номер позиции, начиная с которой строка у$ входит в строку Х$. Вхождение ищется, начиная с позиции п. Если начальная позиция номера п больше длины исходной строки, или длина исходной стоки равна нулю, или подстрока не найдена в исходной строке, то результат функции INSTP будет 0. Если длина подстроки равна нулю, то результат - числовое значение п. Если п не задано, то по умолчанию п Т. 1[ример 1.
INSTR ( " 123456789012"," 12")--> 1 Пример 2.
INSTR (2, "123456789012", "12") -И.1 Пример 3. 10 ST$= "Выделить слово из предложения"
20 IF LEN (ST$) = О THEN END
30FL=i
40 N1=1
50 WHILE FL
60N2=TNSTR(N1,ST$,"")
70 IF N2-0 THEN FL=0: N2=LEN (ST$)+l
80 IF N2-N1 ol OR MID$(ST$, N1, l)o " " THEN PRINT MID$(ST$,N1,_
N2-N1+1)
90 N1 =N2+1
100 WEND
RUN
Вьщелить
слово
из
предложения
В этом примере проверяется длина исходной строки (оператор 20): устанавливается маска для цикла WHILE (оператор 30); организуется цикл до окончания строки (оператор 50); отыскивается разделяющий слова пробел (оператор 60); если достигнут конец строки, снимается маска для цикла (оператор 70). Если очередное выделенное слово не пробел, то оно выводится на дисплей (оператор 80). Устанавливается начало очередного слова (оператор 50).
58. Работа с символьными переменными: функции «вырезки строки». Пример применения.
LEFT$(X$, n),
где Х$ - символьное выражение, n - число в диапазоне: в ТВ - от 0 до 32767,
в Бейсике - от 0 до 255.
Функция выделяет заданное число п левых символов из символьной строки,
заданной символьным выражением Х$. Если п превышает длину Х$, то
значение функции будет Х$, а при п=0- пустая строка.
Пример:
ST$= "Время не ждет"
LS$=LEFT$(ST$,5)
PRINT LS$
RUN
Ответ:
ВРЕМЯ
OK
RIGHT$(X$,a),
где XS - любое символьное выражение, п -число, в ТВ - от 0 до 32767, в
Бейсике - от 0 до 255. Выделяет п правых символов из символьной строки,
данной символьным выражением Х$. При п больше длины Х$ значение
функций равно Х$, а при n=0 - пустая строка.
Пример:
ST$= " ВРЕМЯ НЕ ЖДЕТ"
RS$=RIGHT$(ST$,7)
PRINT RS$
RUN
Ответ:
HE ЖДЕТ
OK
57. Функции преобразования символьных переменных в ascii-коды и наоборот. Пример применения.
ASC(X$), где Х$- символьное выражение, которое должно иметь непустое значение. Значение функции - целое число из диапазона [0,255], представляющее собой код первого символа строки. Если Х$ имеет пустое значение, результатом будет ошибка "неверный вызов функции".
Таким образом, назначение этой функции - формировать целочисленное значение ASCII-кода, соответствующее первому символу значения заданного символьного выражения Х$. Если длина строки равна нулю, выдается сообщение об ошибке. Функция ASC может быть использована для обработки ASCII- кодов функциональных и специальных клавиш клавиатуры.
CHR$(N), где N-числовое выражение со значением от 0 до 255. Значение функции -строка, состоящая из единственного символа, код которой равен N. Функция CHR$ является обратной к функции ASC. Функция CHR$ обычно используется для вывода специальных знаков. Если N имеет значение вне диапазона [0, 255], при выполнении программы возникает ошибка. Таким образом, назначение этой функции - формировать символ, соответствующийASCII- коду, равному значению заданного числового выражения (0<Х<255).
Нецелочисленное значение при выполнении функции автоматически
преобразуется к целому типу. Функция CHR$ может быть использована для
формирования символов, отсутствующих на клавиатуре ПЭВМ. Функцию
CHR$ можно использовать также для посылки на печатающее устройство
управляющих кодов.
Пример.
FORI=32 T0 176
PRINT CHR$(I)
IF POS (О) =32 THEN PRINT
NEXT I
RUN
Ответ:
!"#$%2'0*+,-/0123456789:;
?ABCDEFGНIJKLMNOPQRSTUVXWZ[\]
-abcdefghjklmnopqrstuvwxz {:}
-АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯфбвгдежзиклмноп
ОК
В результате выполнения этой программы на дисплее высветятся символы с номерами 32-255 из ASCII-таблицы. Эта функция удобна при работе с непечатными символами (например, с клавишами перемещения курсора).
LEN(A$),
А$- любое символьное выражение.
Значение функции - число символов в значении выражения А$ (длина
строки).
Пример 1. LEN("C ТРОКА")-»дает 6
Пример2. ST$= "Время не"
L=LEN(ST$+ "ждет")
PRINT L
RUN
Ответ:
13
OK
Пример 3 (проверка пароля).
CLS
DATA ПАРОЛЬ
INPUT "ВВЕДИТЕ ПАРОЛЬ"; SL$
READpr$
IF SL$=pr$ THEN PRINT "ПРИВЕТ" ELSE PRINT "НЕВЕРНО"