Как уже говорилось выше, символьная величина — это цепочка символов, заключенная в кавычки, длина которой не более 255 символов. Имя строковой величины заканчивается знаком “$”(или описывается в операторе DEFSTR).
Например, А$ — читается “А символьное”.
Основными операциями над строками являются сцепление слов и выделение подслов.
Сцепление (конкатенация) символьных величин осуществляется знаком “+”. Например,
PRINT “ПРО”+”ГРАММ”+”МА”
РЕЗУЛЬТАТ:
Для выделения подслов предусмотрены специальные функции:
MID$(S$, K,L), где S$ — символьная величина,
K — натуральное число,
L — натуральное число.
Эта функция копирует из S$ L символов, начиная с символа с номером К.
Например, MID$(“ИНФОРМАТИКА”, 3,5) — скопировать из строки “ИНФОРМАТИКА” 5 символов, начиная с символа 3® ФОРМА.
1 Дополнительная информация:
MID$ можно использовать в качестве оператора для замены подстроки. Выделяется она также, как и при работе с функцией MID$, только дополнительно указывается новая подстрока, заменяющая старую. По длине она должна совпадать со старой подстрокой. При этом аргументом MID$, хранящим значение основной строки, должна быть только переменная.
Например, A$=“ЛОГ“
МID$(A$, 2)= “A”
PRINT A$
Результат:
LEFT$(S$,L), где S$ — символьная величина,
L — натуральное число.
Эта функция копирует из S$ L символов слева.
Например, LEFT$(“ЛЕСТНИЦА”, 3) — скопировать из слова “ЛЕСТНИЦА” 3 символа слева ® ЛЕС.
RIGHT$(S$,L), где S$ — символьная величина,
L — натуральное число.
Эта функция копирует из строковой величины L символов справа.
Например, RIGHT$(“ФАСОЛЬ”, 4) — копирует из слова “ФАСОЛЬ” cимвола справа ® СОЛЬ.
Для преобразования величин служат функции:
LEN(S$) — преобразует строку S$ в число, равное длине строки (т.е. считает длину строки).
Например, PRINT LEN(“ФОРМА”)
результат:
INSTR(N, A$, S$) — определяет содержит ли строка А$ строку S$. Если не содержит, то значение функции будет равно 0, в противном случае значение функции равно номеру позиции, с которого начинается срока S$ в строке A$.
N — это номер символа, с которого начинается поиск.
Например:
PRINT INSTR(1, “ПРОГРАММИРОВАНИЕ”, “МИР”)
результат:
PRINT INSTR(1, “ПРОГРАММИРОВАНИЕ”, “ПРОГРАММА”)
результат:
1 Дополнительная информация:
INKEY$ — считывает код клавиши. нажатой в данный момент. Как работает эта функция будет рассказано ниже, в §11.4.
VAL(S$) — преобразует цепочку цифровых литер в число.
Например, PRINT VAL(“12”)+ VAL(“3”) ®12+3=15.
Результат:
STR$(X) — преобразует число Х в цепочку цифровых литер.
Например, PRINT STR$(54) + STR$(65)
Результат:
Задача 1.
Путем копирования и склейки выделить из слова “АЛГОРИТМ” слова “РИТМ”, “ГОРА”,”РОГ”.
Примечание: Для удобства буквы в слове лучше пронумеровать.
1 2 3 4 5 6 7 8
А Л Г О Р И Т М
CLS
A$=”АЛГОРИМТ”
PRINT RIGHT$(A$, 4) ® РИТМ
PRINT MID$(A$, 3, 3)+LEFT$(A$,1) ® ГОРА
PRINT MID$(A$, 5, 1)+ MID$(A$, 4, 1)+ MID$(A$, 3, 1) ® РОГ
END
Задача 2.
Определите, не выполняя программы, что будет изображено на экране после ее выполнения.
а) CLS 1 2 3 4 5 6 7 8
S$=“ОПЕРАЦИЯ” О П Е Р А Ц И Я
A$= MID$(S$, 2, 3)+LEFT$(S$,1): ‘ ПЕР+О ® ПЕРО
PRINT A$: ‘ вывод A$, то есть слово “ПЕРО”
END
б) DATA 1, 2, 3, 4, 5
READ a$, b$, c$, d, e, f
PRINT a$+b$+c$
PRINT d+e+ f
Примечание: переменные a$, b$, c$ — символьные, поэтому числа 1, 2 и 3 считываются как символы и на экране появится строка “123”. Переменные d, e, f — вещественные, а значит результатом работы оператора PRINT d+e+ f будет число 12.