Символьные переменные Переменные в Бейсике ГБОУ СОШ 840
До сих пор мы имели дело только с переменными, значениями которых являются числа. Их называют числовыми переменными. В Basic имеется возможность использовать также переменные, значениями которых являются строки символов так называемые символьные (или строковые) переменные. Символьные переменные обозначаются так же, как и числовые, т. е. буквой или буквой и цифрой с добавлением символа $ (знак доллара). Например, A$, В1$ и т. д. Длина символьной переменной (количество составляющих ее символов) может изменяться от 0 (пустая строка) до 255 символов. ГБОУ СОШ 840
Задание значений символьных переменных осуществляется: 1. При помощи операторов ввода INPUT или READ,DATA. В операторе DATA строка символов заключается в кавычки. При использовании оператора INPUT значение символьной переменной при вводе должно заключаться в кавычки, если среди составляющих ее символов есть запятая (,). В остальных случаях использование кавычек не обязательно. 2. Оператором присваивания. Например, A$= "МОСКВА" Строка символов в правой части оператора задается в кавычках. ГБОУ СОШ 840
Значения символьных величин, как и числовых, можно вывести при помощи операторов PRINT и PRINT USING. В списке вывода может быть указано имя символьной переменной или константа (строка символов), заключенная в кавычки или апострофы. Например, если A$= "ИВАНОВ, B$= "ПЕТРОВ", то при выполнении оператора PRINT A$; "И"; В$ будет выведено ИВАНОВ И ПЕТРОВ В операторе PRINT USING для вывода символьных величин используются следующие символы форматирования: & - выводится вся строка; ! - выводится только первый символ строки; \ \ - выводится n символов, где n равно количеству пробелов между символами \ (обратный слэш) плюс 2. ГБОУ СОШ 840
Пример. Ниже приведена программа, иллюстрирующая применение символов форматирования для вывода символьных данных. Программа A$=ABCDEFGH PRINT USING &; A$ PRINT USING !; A$ PRINT USING \ \; A$ END ABCDEFGH A ABCD В третьем операторе PRINT USING между символами \ введены два пробела, поэтому n=4, и на экран выводятся 4 символа строки A$. ГБОУ СОШ 840
Символьные переменные можно сравнивать в условных операторах. Сравнение основано на том, что каждый символ в памяти ЭВМ представляется двоичным кодом и при сравнении символьных переменных происходит сравнение кодов составляющих их символов. Сравнение символьных переменных осуществляется посимвольно, начиная с первого символа. Если первые символы обеих переменных совпадают, то сравниваются вторые и т.д. Если длины (количество символов) сравниваемых переменных не совпадают, то меньшее дополняется пробелами (пробел является самым младшим символом). Например, при выполнении оператора IF A$ > B$ THEN PRINT A$ если A$="ИВАНОВ", B$="АНДРЕЕВ", условие выполняется и происходит вывод содержимого переменной A$. ГБОУ СОШ 840
Операции и стандартные функции для символьных величин. Для символьных переменных определена одна операция: конкатенация (обозначается символом +). При выполнении этой операции две переменные объединяются в одну. Например, в результате выполнения операторов A$ =МОС : B$=КВА C$ =A$ + B$ PRINT C$ на экране будет выведено МОСКВА Кроме операции конкатенации, для символьных переменных определены стандартные функции. ГБОУ СОШ 840
Кроме операции конкатенации, для символьных переменных определены стандартные функции. ASC(X$)переводит двоичный код символа в 10-ичное число. Функция применима только для переменной Х$, содержащей один символ. Например, X$=Q PRINT ASC(X$) В результате будет напечатано 81 LEN(X$) находит длину символьной переменной (т.е. количество составляющих её символов, включая конечные пробелы). Например, T$=МОСКВА X=LEN(T$) В результате будет напечатано Х=6. ГБОУ СОШ 840
LEFT(Х$, N) возвращает первые N символов строки Х$. RIGHT(Х$, N) возвращает последние N символов строки Х$. Например, A$ = MICROSOFT BASIC PRINT LEFT$(A$, 5) PRINT RIGHT$(A$, 5) В результате выполнения этих операторов будет выведено: *MICRO* *BASIC* ГБОУ СОШ 840
MID$(Х$, N, [M])возвращает последние M символов строки Х$, начиная с символа, позиция которого равна N. Если параметр M опущен, то функция возвращает все символы строки Х$, начиная с символа, позиция которого равна N. Например, A$ = MICROSOFT BASIC PRINT MID$(A$, 6, 4) В результате выполнения этих операторов будет выведено: SOFT ГБОУ СОШ 840
Например: Комбинируя операции + и MID$ можно из слова ЖЕЛЕЗНОДОРОЖНИК получить слово ДОЗОР: 10 А$ = »ЖЕЛЕЗНОДОРОЖНИК» 20 D$ = MID$(A$,8,2)+ MID$(A$,5,1)+ MID$(A$,9,2) Для вывода полученного результата существует, уже знакомый вам, оператор PRINT. 30 PRINT D$ Задача: Из слов «АРИФМЕТИКА» и «ОПЕРА» с помощью операций + и MID$ составить слово «АРИФМОМЕТР» Кроме слов мы можем также собирать предложения. Чем слово отличается от предложения? Предложение состоит из слов, пробелов и знаков препинания.
ГБОУ СОШ 840 Например: Из слов секрет, материя, сериалы, волшебные с помощью операций + и MID$ составить предложение: Секретные материалы. 10 A$= »СЕКРЕТ» 20 B$= МАТЕРИЯ 30 C$= СЕРИАЛЫ 40 D$= ВОЛШЕБНЫЕ 50 E$= 60 F$= A$+MID$(D$,7,3) 70 X$= MID$(B$,1,5)+ MID$(C$,4,4) 80 Y$= F$+E$+X$ 90 PRINT Y$
ГБОУ СОШ 840 Задача: Из слов солнце, небыль, округ, вечный с помощью операций + и MID$ составить предложение: Солнечный круг, небо вокруг!