Информатика
Глава 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


назад оглавление вперед

 

Яндекс.Метрика