Обработка
строк
В этой главе рассмотрим функции, которые осуществляют обработку строк. В
QBASIC функция состоит из имени и аргументов, которые заключаются в
круглые скобки и располагаются всегда за именем функции. Значения функций
обработки строк могут быть или типа STRING, или принадлежать к группе
арифметических типов данных. Функции, наряду с переменными и константами,
применяют в качестве составляющих оператора или используют при составлении
выражений или логических условий. Естественно, зна- чение функции должно
быть совместимо с остальными составляющими оператора, например, в
арифметическое выражение нельзя встраивать функцию, значение которой
является строковым выражением.
1. Определение длины строки
Функция LEN выдает длину строки, т.е.
количество символов в строковом выражении.
Пример:
DIM a$, 1аеngе%
PRINT LEN("Сегодня понедельник")
INPUT "Ввести текст ";а$
1aenge% = LEN(a$)
PRINT a$; "Длина ";1аеnge," символов "
2.
Получение символов кода ASCII
Функция CHR$ преобразует ASCII-код в
соответствующий символ (ASCII=American Standard Code for Information
Interchange — Американский стандартный код для обмена информацией).
Аргумент функции — число типа INTEGER в диапазоне от 0 до 255.
Соответствие кодов ASCII определенным символам дано в ASCII-таблице,
размещенной в справочнике (Help) OBASIC. Также можно воспользоваться
следующей программой:
'ASCII-символьное предложение
DIM ascll%
DO
INPUT "Ввести ASCII-значение ", ascii%
LOOP UNTIL ascii% > 0 AND ascii% <= 256
PRINT "Код ASCII "; ascll%;" соответствует символу ";CHR$(ascii%)

3. Получение ASCII-кода символа
Функция ASC — обратная по отношению к
функции CHR$. Аргумент функции ASC — символ, а значение функции —
соответствующий этому символу ASCII-код.
Пример: PRINT ASC ("А")
4.
Выделение левых крайних символов строки
Функция LEFT$ выделяет крайние слева
символы строки. Вызов функции:
LEFT$ (Строка, Число)
Строка - Строка, из которой выделяются символы.
Число - Величина типа INTEGER, которая задает количество выделяемых
символов.
Пример: PRINT LEFT$ ("Хелло, QBASIC", 5)
5. Выделение правых крайних символов строки
Функция RIGHT$ выделяет крайние справа
символы строки. Вызов функции:
RIGHT$ (Строка, Число)
Строка- Строка, из которой выделяются символы.
Число- Значение типа INTEGER, в котором указывается количество
выделяемых справа символов.
Пример: PRINT RIGHTS ("Хелло, OBASIC, 5)
6. Выбор подстроки
Функция MID$ копирует из строки любой
ее фрагмент.
MID$ (Строка, Начало, Длина)
Строка - Строка, из которой должны выделятся символы.
Начало - Позиция, с которой начинается выбор фрагмента.
Длина - Длина подстроки.
Пример:
' MID$ - функция
DIM A$, i%, j%
А$=" Доброе утро"
1%=3
J%=5
PRINT MID$ ("Хелло, QBASIC",4,4)
PRINT MID$(aS,i%,j%)

7.
Получение строчных символов
Функция LCASE$ возвращает заданную
строку в виде строчных букв. Пользуясь этой функцией, следует принять во
внимание, что аргументы для LCASE$ расположены в подмножестве символов,
коды которых лежат в диапазоне от 32 до 127. Следующие 128 символов (от
128 до 256) предназначены для кодирования символов национальных алфавитов,
псевдографики, математических и др.
Пример:
‘LCASE$
PRINT LCASE$ ("HUT OF BROWN NOW SIT DOWN")
8. Получение заглавных символов
Функция UCASE$ противоположна функции
LCASE$ и возвращает заданную строку в виде заглавных букв. Следует
принимать во внимание тот факт, что аргументом для UCASE$ могут быть лишь
символы, коды которых расположены в диапазоне от 32 до 127.
Пример:
‘UCASE$
PRINT UCASE$ ("hut of brown now sit down")
9.
Устранение ведущих пробелов
Функция LTRIM$ устраняет в строке
ведущие пробелы. Возвращенное значение сдвинуто влево.
Пример:
'LTRIM$
DIM wort$, lwort$
wort$ = " Сдвиг влево"
Iwort$= LTRIM$(wort$)
PRINT wort$
PRINT LEN(wort$)
PRINT
PRINT Iwort$
PRINT LEN(lwort$)

10. Устранение последних пробелов
Функция RTRIM$ убирает в строке
последние пробелы.
Пример:
‘RTRIM$
DIM wort1$, wort2$
wort1$= "левый
wort2$=" и правый"
PRINT wort1$+wort2$
PRINT PTRIM$(wort1$)+wort2$
11. Создание строки из пробелов
Функция SPACE$ создает строку из
пробелов. Аргумент функции — длина этой строки.
Пример:
DIM leer$
leer$-SPACES$(45) PRINT LEN(leer$)
12.
Преобразование строки в число
Функция VAL преобразует
число из строкового представления в числовое. Предполагается, что
преобразуемая строка содержит допустимые для представления чисел символы.
Если нецифровой знак встречается первым в строке, то преобразование
невозможно и значение функции равно нулю.
Пример:
PRINT VAL("234.23) PRINT VAL("Hallo") PRINT VAL("43D12)

|