Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Сравнение текстовых переменных




Сравнение текстовых переменных проводится с помощью стандартных операторов сравнения: =, >, <, >=, <=, <>. В ходе сравнения компьютер анализирует три основных параметра: количество символов, последовательность ASCII кодов и номера ASCII - кодов. Программа анализирует только соответствующие знаки: первый знак первой переменной сравнивается с первым знаком второй переменной, второй знак со вторым и так далее.

Переменные равны, если они содержат равное количество одинаковых знаков, расположенных в одинаковой последовательности.

Сравнение текстовых переменных: равенство
Равны Не равны Причина
"aa"="aa" "aa"¹" aa" Разное число знаков
"10"="10" "10"¹"01 Нарушена последовательность знаков
"Аврора"="Аврора" "Аврора"¹"аврора" "А" и "а" имеют разный код
"QB" = "Q" + "B" "norma"¹"почта" На разных языках

 

 

Сравнивать переменные на равенство и выводить сообщение о результате можно в алгоритмах на основе оператора IF: INPUT A$: INPUT B$ IF A$ - В$ THEN PRINT "Равны" ELSE PRINT "He равны"

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

Этот же принцип используется при сортировке списков. Сначала машина сравнивает первые знаки. Если они равны, то сравниваются вторые, третьи и так далее. Таким образом, сортируют даже строки, имеющие в начале одинаковые наборы символов.

 

Сравнение текстовых переменных: неравенство
Больше Причина
"ww2" > "ww" Три знака больше двух, если первые два знака равны
"ww2" > "wwO" ASII-код 2 (50), больше ASII-кода 0 (48)
"f > "p" ASII-код буквы f (102) больше F (70)
"A" > "A" ASII-код русской буквы А (128) больше ASII-кода латинской буквы А (65)
"file.dat" > "file.bas" ASII-код буквы d больше b
"21" > "2"+"00" ASII-код цифры 1 больше, чем ASII-код цифры 0

 

Инструменты обработки текстовых величин

Существует ряд функций и операторов, предназначенных для анализа и обработки строк. Принципы их действия, допусти­мые аргументы, практика использования очень похожи, по­этому рассмотрим большинство инструментов в одном пара­графе, чтобы он стал справочной базой данной главы.

Оператор Описание
1. Функция LEN Функция предназначена для определения количества симво­лов в текстовой переменной
2. Функция LEFT$ Функция применяется для выделения заданного количества левых (первых) символов текстового выражения.
3. Функция RIGHT$ Функция аналогична функции LEFT$, только предназначена для выделения указанного количества правых (последних) символов переменной.
4. Функция MID$ Функция предназначена для выделения n символов из сим­вольного выражения, начиная с k-го.
5. Оператор MID$ Оператор предназначен для замены n символов тексто­вой переменной, начиная с k-го, на знаки другого символьно­го выражения.
6. Функция INSTR Функция определяет, входит ли одна текстовая переменная в другую
7. Функции LTRIM$ и RTRIM$ Эти функции используются для удаления первых (левых) и последних (правых) пробелов текстового выражения, если начальные или концевые пробелы есть.
8. Функция ASC Функция возвращает код ASCII, соответствующий указан­ному знаку.
9. Функция CHR$ Выводит на экран символ, соответствующий определенному номеру в таблице ASCII.

Функция LEN

Функция предназначена для определения количества симво­лов в текстовой переменной.

LЕN (символьное_выражение)

Символьное_выражение — выражение, результат которого пред­ставлен величиной текстового типа. Символьным выражением может быть отдельная текстовая переменная, текст в кавыч­ках, сумма переменных, символьная функция с соответствую­щим аргументом и пр.

Пример1. Определить количество знаков в текстовой переменной и в сумме текстовой переменной и строки текста в кавычках.

A$ = “Информатика”

X = LEN (A$): PRINT X

PRINT LEN(A$ + “BASIC”)

Результат пример 1:

Работа программы. Первая функция LEN вернула количество символов в переменной А$. Затем это значение было при­своено переменной X и выведено, на экран. Вторая функция LEN определила количество символов в сумме переменной А$ и строки текста в кавычках.

Функция LEFT$

Выделен­ные символы можно присвоить другой переменной или использовать как часть общего выражения. Содержание исход­ной строки не изменяется.

LЕFТ$ (символьное_выражение. N)

Здесь символьное_выражение — текстовая переменная, символы в кавычках или выражение, результатом вычисления которых является строковое значение;

N — количество левых знаков символьного выражения. N может быть числом, переменной или математическим выражением с целым положительным результатом.

Пример 2. Примеры работы функции LEFT$.

А$ = "Microsoft"

В$ = LEFT$(A$. 5): PRINT B$ '1

PRINT LEFT$(A$, LEN(A$) - 4) '2

PRINT LEFT$("Computer". 4) + "IBM" '3

Результат:

Micro

Micro

CompIBM

Работа программы. Первая строка иллюстрирует простейший случай. Функция LEFT$ выделяет первые 5 символов тексто­вой переменной и присваивает их переменной В$. В строке '2 число выделяемых символов задано выражением с участием текстовой функции. Запись LEN(A$) - 4 дает возможность вы­делить все первые знаки переменной А$, кроме последних четырех. Строка '3 показывает, что выделенные знаки могут использоваться как часть общего выражения, в примере они участвуют в сумме.

Функция RIGHT$

Функция аналогична функции LEFT$, только предназначена для выделения указанного количества правых (последних) символов переменной.

RIGHT$ (сиивольное_выражение. N)

Описание аргументов функции соответствует описанию аргументов функции LEFT$, приведенных выше.

Функция MID$

Функция предназначена для выделения n символов из сим­вольного выражения, начиная с k-го.

МID$ (символьное_выражение. k [. n])

Здесь символьное_выражение — строка, из которой выделяется указанное число символов, k — номер символа, с которого начинается выделение. Если значение k больше, чем количе­ство символов в анализируемом тексте, то МID$ возвращает строку нулевой длины (""). Если значение k равно нулю или отрицательно, то появляется сообщение Illegal function call (Неверный вызов функции). n — количество последователь­ных символов, которое нужно выделить. Если n не указано или n < k, то выделяются все символы, с k-го и до конца стро­ки. При n = 0 функция возвращает, пустую строку.

В качестве k и n можно ставить числа, переменные или расчетные выражения с числовым результатом. Дробные зна­чения автоматически округляются до целых чисел по прави­лам математики.

Пример 3. Примеры работы, функции МID$.

А$ = "ИНФОРМАТИКА"

M$ = MID$(A$, 3, 6)

PRINT M$

PRINT MID$(A$, 3)

Результат:

ФОРМАТ

ФОРМАТИКА

Работа программы. Первая функция MID$ выделяет 6 после­довательных знаков, начиная с третьего, из текстовой пере­менной А$ и присваивает их переменной М$. Вторая функция MID$ возвращает все символы А$, начиная с третьего, потому что не указано количество выделяемых знаков.

Оператор MID$

Оператор MID$ предназначен для замены n символов тексто­вой переменной, начиная с k-го, на знаки другого символьно­го выражения. Оператор изменяет значение текстовой пере­менной. Согласно формату он замещает n знаков текстовой переменной, начиная с k-го, на первые n знаков текстового выражения, стоящего справа от знака равенства.

Пример 4:

А$ = "123456"

МID$(А$, 3, 2) = "abc"

PRINT A$

Результат:

12аb56

Два знака переменной А$, начиная с третьего, были заме­щены первыми двумя знаками выражения abc.

Формат оператора:

МID$ (текст._перем.., k[,n]) = символьное_выражение

k — номер знака в текстовой_переменной, с которого начинает­ся замещение. Если номер k больше длины текстовой пере­менной, равен нулю или имеет отрицательное значение, то выводится сообщение об ошибке Illegal function call (Невер­ный вызов функции), n — количество замещаемых символов. Если оно не указано или k + n больше длины текстовой пере­менной, то замещаются все символы переменной, начиная с k-го, но длина полученной строки не может превышать исходной длины текстовой_переиённой. символьное_выражение - строка, первые n символов которой внедряются в текстовую переменную. Если символов в выражении меньше n, то ис­пользуется столько знаков, сколько есть.

Пример 5. Примеры работы оператора MID$.

A$ = "123456": MID$(A$, 1, 3) = "abc" '1

PRINT A$

A$ = "123456": MID$(A$, 5, 3) = "abc" '2

PRINT A$

A$ = "123456": MID$(A$, 2) = "abcdefghijk" '3

PRINT A$

A$ = "123456": MID$(A$, 4!, 2) = MID$("abc", 2, 1) '4

PRINT A$

Результат:

abc456

1234ab

1abcde

123b56

Работа программы, В строке '1 три символа, начиная с пер­вого, заменяются тремя символами выражения abc. В строке '2 размещена попытка заменить три символа, начиная с пято­го, но в исходной переменной всего 6 знаков, поэтому заме­щены только пятый и шестой. В строке '3 не указан второй параметр оператора MIDS (количество замещаемых знаков). Программа заменяет все знаки от второго до конца строки. Итоговое значение содержит 6 символов, потому что именно столько знаков содержала переменная А$ в начале работы оператора. В строке '4 использованы оператор и функция MID$. Функция выделяет второй знак в abc, а оператор ставит его на место четвертого знака в переменной А$. Согласно ар­гументам оператора, замещаться должно два знака, но так как функция возвращает только один, то четвертый символ А$ замещен, а пятый остался без изменений.

Функция INSTR

Функция определяет, входит ли одна текстовая переменная в другую. Если результат положительный, то функция возвращает номер символа, с которого начинается вхождение. В противном случае функция возвращает нуль

INSTR ([k], текст_выраж_1. текст_выраж_2)

Функция проверяет наличие текстового_выражения_2 в текстовом_выражении_1. Число k задает номер символа, с которого начинается поиск вхождения. Если число не указано, то по­иск начинается с первого знака.





Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 856 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

2529 - | 2189 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.