Информатика |
Глава 10. Описание языка Basic | назад оглавление вперед |
10.6. Символьные переменные
До сих пор мы имели дело только с переменными, значениями которых являются числа. Их называют числовыми переменными. В Basic имеется возможность использовать также переменные, значениями которых являются строки символов — так называемые символьные (или строковые) переменные.
Символьные переменные обозначаются так же, как и числовые, т. е. буквой или буквой и цифрой с добавлением символа $ (знак доллара). Например, A$, В1$ и т. д. Длина символьной переменной (количество составляющих ее символов) может изменяться от 0 (пустая строка) до 255 символов.
Задание значений символьных переменных осуществляется:
1. При помощи операторов ввода INPUT или READ,DATA.
В операторе DATA строка символов заключается в кавычки. При использовании оператора INPUT значение символьной переменной при вводе должно заключаться в кавычки, если среди составляющих ее символов есть запятая (,). В остальных случаях использование кавычек не обязательно.
2. Оператором присваивания. Например,
A$= "МОСКВА"
Строка символов в правой части оператора задается в кавычках.
Значения символьных величин, как и числовых, можно вывести при помощи операторов PRINT и PRINT USING. В списке вывода может быть указано имя символьной переменной или константа (строка символов), заключенная в кавычки или апострофы. Например, если A$= "ИВАНОВ”, B$= "ПЕТРОВ", то при выполнении оператора
PRINT A$; "И"; В$
будет выведено
ИВАНОВ И ПЕТРОВ
В операторе PRINT USING для вывода символьных величин используются следующие символы форматирования:
& - выводится вся строка;
! - выводится только первый символ строки;
\ \ - выводится n символов, где n равно количеству пробелов между символами \ (обратный слэш) плюс 2.
Пример 10.11.. Ниже приведена программа, иллюстрирующая применение символов форматирования для вывода символьных данных.
Программа 10.11
A$=”ABCDEFGH”
PRINT USING “&”; A$
PRINT USING “!”; A$
PRINT USING “\ \”; A$
END
ABCDEFGH
A
ABCD
В третьем операторе PRINT USING между символами \ введены два пробела, поэтому n=4, и на экран выводятся 4 символа строки A$.
Символьные переменные можно сравнивать в условных операторах. Сравнение основано на том, что каждый символ в памяти ЭВМ представляется двоичным кодом и при сравнении символьных переменных происходит сравнение кодов составляющих их символов.
Сравнение символьных переменных осуществляется посимвольно, начиная с первого символа. Если первые символы обеих переменных совпадают, то сравниваются вторые и т.д. Если длины (количество символов) сравниваемых переменных не совпадают, то меньшее дополняется пробелами (пробел является самым младшим символом).
Например, при выполнении оператора
IF A$ > B$ THEN PRINT A$
если A$="ИВАНОВ", B$="АНДРЕЕВ", условие выполняется и происходит вывод содержимого переменной A$.
Операции и стандартные функции для символьных величин. Для символьных переменных определена одна операция: конкатенация (обозначается символом +). При выполнении этой операции две переменные объединяются в одну.
Например, в результате выполнения операторов
A$ =”МОС”
: B$=”КВА”
C$ =A$ + B$
PRINT C$
на экране будет выведено
МОСКВА
Кроме операции конкатенации, для символьных переменных определены стандартные функции.
Например,
X$=”Q”
PRINT ASC(X$)
В результате будет напечатано
81
Например,
T$=”МОСКВА”
X=LEN(T$)
В результате будет напечатано Х=6.
Например,
X$=”126”
S=1
P=S+VAL (X$)
В результате выполнения этих операторов будет Р=127. Если последовательность символов не является числом, то выдается сообщение об ошибке.
Например,
A$ =
” BASIC ”
PRINT “*” + A$ + “*”
PRINT “*” + LTRIM(A$) + “*”
PRINT “*” +
RTRIM(A$) + “*”
В результате выполнения этих операторов будет выведено:
* BASIC
*
*BASIC *
* BASIC*
Например,
A$ =
”MICROSOFT BASIC”
PRINT LEFT$(A$,
5)
PRINT RIGHT$(A$,
5)
В результате выполнения этих операторов будет выведено:
*MICRO*
*BASIC*
Например,
A$ =
”MICROSOFT BASIC”
PRINT MID$(A$,
6, 4)
В результате выполнения этих операторов будет выведено:
SOFT