Функция поиска подстроки в строке
Функция INSTR возвращает позицию первого вхождения одной строки внутри другой. Общий вид функции:
INSTR ([начало,]строковое выражение1, строковое выражение2 )
где: начало — задает позицию в строке, с которой начинается поиск. Если этот параметр не задан, то поиск начинается с первой позиции строковое выражение1; начало должно быть в интервале от 1 до 32767;
строковое выражение1 — строка, в которой выполняется поиск;
строковое выражение2 — строка, которая ищется.
Функция INSTR возвращает 0, если:
- строковое выражение2 не найдено;
- если значение параметра начало больше длины текста;
- длина строкового выражения 1 нулевая.
Пример. Использование функции INSTR
CLS
EXAMPLE$ = “КАТЯ, ЖЕНЯ, АНЯ, МАША - МОИ ДРУЗЬЯ”
PRINT “ИМЯ ЖЕНЯ НАЧИНАЕТСЯ С ПОЗИЦИИ”;
INSTR (EXAMPLE$, “ЖЕНЯ”)
END
Результат:
ИМЯ ЖЕНЯ НАЧИНАЕТСЯ С ПОЗИЦИИ 7
Функции различных вариантов написания текста
Функция LCASE$ преобразует все буквы строки в строчные, а функция UCASE$ преобразует все буквы в прописные. Общий вид функций:
LCASE$ (текст) ;
UCASE$ (текст) ,
где: текст - текстовое выражение (переменная), предназначенное для изменения регистра.
Эти функции работают только с буквами латинского алфавита.
Пример 1.
CLS
READ WORDS
PRINT LCASE$ ( WORDS );
DATA “THIS IS THE STRING IN LOWER CASE “.
END
Результат: this is the string in lower case
Пример 2. Определить пол человека, если дано полное английское написание фамилии.
CLS
DO
INPUT “Введите имя: “, NM$
LOOP UNTIL LEN (NM$) >= 3
NM$ = UCASE$ (NM$)
‘Ищем MS, MRS, или MR для установки SEX$
IF INSTR (NM$, “MS“ ) > 0 OR INSTR (NM$, ”MRS“ )>0
THEN SEX$ =”W”: PRINT “Леди“
ELSE IF INSTR (NM$, ”MR“) >0 THEN SEX$ =”M“:
PRINT “Джентльмен “
Результат:
Введите имя: MRS TEYLOR
Леди
Функции преобразования типа данных
Функция STR$ (числовое выражение) преобразует значение заданного числового выражения в символьную строку.
Функция VAL (строковое выражение) переводит строковое представление числа в число.
Пример.
X$=“126”: S=1
P=S+VAL(X$)
Результат: P = 127
Сравнение текстовых переменных
Сравнивать можно не только числовые, но и текстовые выражения. Текстовые значения считаются равными, если они состоят из одной и той же последовательности символов.
Пример.
“Улица Мира”=“Улица Мира” или “Дом 1”<> “Дом 2”
Когда QBASIC сравнивает два текста, он сравнивает ASCII коды каждого символа.
Пример.
“w”<“z” “Yes”>“No”
Коды ASCII букв “w” - 119, “z” – 122, “Y” – 89, “N” - 78
Нет необходимости запоминать коды всех символов. Достаточно знать два правила:
- коды прописных букв меньше, чем у строчных;
- поскольку буквы расположены в алфавитном порядке, то и коды возрастают в том же порядке.
Пример.
“missis”<“mister”
Дата добавления: 2016-04-02; просмотров: 698;