Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Попов_1.doc
Скачиваний:
6
Добавлен:
25.04.2019
Размер:
668.16 Кб
Скачать

2.7. ОбРаботка Символьных данных

Все символы в ПК имеют уникальные коды, значения которых закреплены в ASCII-таблице. С ней можно ознакомиться в любом справочнике.

В Бейсике имеются несколько функций и операторов обработки символьных данных.

LTRIM$(символьное_выражение) – удаляет начальные про­белы в символьном выражении.

RTRIM$(символьное_выражение) – удаляет конечные пробелы в символьном выражении.

SPACE$(числовое_выражение) – возвращает строку пробелов длиной N символов (N в пределах 0-32767).

STRING$(длина_строки, код_символа или символ) – возвращает строку длиной длина строки из символов, заданных непосредственно или своим кодом.

Пример. ?STRING$(6,”+”) Результат: “+++++”

INSTR([начальная_позиция],строка1, строка2) – возвращает позицию первого вхождения строки2 в строку1, начиная с начальной позиции. Если начальная позиция не задана, отсчет производится с начала.

Пример. ?instr(”Саша”,”а”),instr(3,”Саша”,”а”) Результат: 2,4

LEFT$(символьное_выражение, n) – возвращает строку, содержащую n первых символов.

Пример. ?LEFT$(”Саша”,2) Результат: ”Са”

RIGHT$(символьное_выражение, n) – возвращает строку, содержащую n последних правых символов.

Пример. ?RIGHT$(”Саша”,2) Результат: ”ша”

MID$(символьное_выражение, начальная_позиция [,длина]) – возвра­щает фрагмент символьного выражения, с начальной позиции заданной длины.

Пример. ?MID$(”теория”,4), MID$(”теория”,4,2) Результат:”рия”, ”ри”

MID$(строка, начальная_позиция [,длина])=символьное_выражение – символьный оператор, заменяющий фрагмент строки на сим­вольное выражение, начиная с начальной позиции заданной длины.

Пример. x$ = "здесь вход"

MID$(x$, 7, 2) = "выход"

PRINT x$ Результат: "здесь выхо"

STR$(числовое_выражение) – возвращает символьное представление числа или числового выражения.

Пример. STR$(3) Результат: "3"

VAL(символьное_выражение) – возвращает числовое представление символьного выражения. Функция обратна функции STR$().

Пример. STR$("3") Результат: 3

LEN(символьное_выражение) – возвращает длину символь­ного выражения.

Пример. LEN(”теория”) Результат: 6

ASC(символ) – возвращает код символа ПК.

CHR$(число) – возвращает символ по его коду.

Примеры. ASC(“R”) Результат: 82 (код буквы R=82)

CHR(82) Результат: “R”

Т.е. функции эти обратны друг другу.

Текстовые данные можно сравнивать между собой на больше, меньше, равно. Сравниваются, конечно, не сами символы, а их коды. Так верным будет отношение “A”<”R”, поскольку ASCII-код (65) английской буквы А меньше кода (85) буквы R. Сравнивать можно и целые слова. Так верно отношение “TOM”>”JON”. Сравнение начинается с первой пары символов. Здесь код английской T (код 84) больше кода J (74). Остальные символы далее не сравниваются. Если же первая пара букв совпадает, будет проверена следующая пара и т.д. до первого несовпадения. Если число символов в сравниваемых словах различно, сравнение выполняется до исчерпания первого операнда. Рост кодов символов соответствуют их порядку в алфавите. Для русских символов это не совсем так (см. справочник).

Пример. Напечатать символьную переменную X$ в обратном порядке

x$="Внимание": y$ =""

FOR i = LEN(x$) TO 1 STEP -1

y$ = y$ + MID$(x$, i,1)

NEXT

PRINT y$ Результат: “еинаминВ“

Здесь в переменной y$ формируется нужный результат.

Тест. 2.7.1. Чему будет равно Х после завершения программы? 1). 456128, 2).561234, 3).341285.

y$=”123456”

x$= RIGHT$(y$,3)+LTRIM$(STR$(VAL(LEFT$(y$,3))+5))