Обработка символьной информации



ТБ позволяет обрабатывать нецифровую информацию, которую в дальнейшем будем называть символьной. Переменные, хранящие символьную информацию, называют символьными переменными, или строковыми. Такие переменные в тексте программы обозначаются идентификаторами, но в отличие от переменных арифметического типа справа имеют специальный символ - $. Например: a$, t1y$ и т. п.

Под обработкой символьной будем понимать участие символьных переменных в операторах ввода/вывода, ветвления цикла. Как уже рассказывалось в первой части учебного пособия, все правила использования переменных арифметического типа сохраняются и на символьные переменные, так, ввод переменных разных типов может быть записан в одном операторе: input a , b $, c %

здесь:

1. a , c % - арифметические переменные вещественного и целого типа соответственно;

2. b$ - символьная переменная.

Аналогично может быть записан и оператор вывода – print . Если окружить набор символов слева и справа кавычками, то такой набор носит название символьная константа. Она может присутствовать непосредственно в списке ввода и вывода:

……………………..

print a,b,”a+b=”;a+b

……………………..

Если несколько символьных переменных связаны между собой знаком «+», то это означает присоединение значений более правых переменных к значениям левых переменных, такое объединение значений называют операцией конкатенации.

Рассмотрим фрагмент работы программы:

 

………………

a$=”легковая”

b$=”машина”

с$=”Жигули”

d$=a$+b$+c$

print d$

………………

На экране монитора будет высвечено значение переменной d$: легковая машина Жигули

ТБ обрабатывает также и символьные массивы. Правила ввода и вывода значений символьных массивов аналогичны арифметическим.

Для сравнения символьных переменных используется условный оператор if и обычные операции сравнения: <, >, =, <=, >=, <>. Дело в том, что любой символ (если набор символов, то первый символ) представляется в виде целочисленного значения и храниться в памяти в соответствии с кодом ASCII (American Standart Code for Information Interchange) от 0 до 255. Так, латинская буква а соответствует коду 97, b – 98 и далее, русская буква соответствует коду 160, б -161 и далее, поэтому в сравнении символов фактически участвуют их числовые коды. Та буква больше чей код больше. Рассмотрим небольшую программу, иллюстрирующую сравнение двух символьных переменных.

 

rem обработка символьной информации. Сравнение двух переменных. Cls print “введите два значения символьных переменных s1$ и s2$” input “s1$=”s1$ input “s2$=”s2$ if s1$>s2$ then print “s1$>s2$” else print “s1$<s2$” end if stop

 

Основные встроенные функции по обработке символьной информации

 

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

К основным встроенным функциям относятся следующие функции:

1. len ( str ) – определяет длину символьной переменной;

2. left $( str , n ) – выделяет n левых символов в переменной str;

3. right $( str , n ) – выделяет n правых символов в переменной str;

4. mid $( str , n ,1) – выделяет в переменной str, начиная с позиции n, набор символов длинной 1 (иногда для краткости названия этой функции говорят – выделение подстроки в строке);

5. instr ( str , substr ) – определяет номер позиции в переменной str, начиная с которой подстрока substr целиком и полностью находиться в исходной строке str (иногда говорят – поиск строки в строке). Поиск подстроки начинается с первого символа строки str, если подстроки не обнаружено, то функция возвращает (результат работы) нулевое значение;

6. string $( number , char ) – формирует новую строку из повторяющихся символов char, количество повторений задается первым аргументом number. Второй аргумент может быть записан как в виде символьной константы (в кавычках), так и в виде идентификатора символьной переменной;

7. spa с e $( n ) – формирует строку, состоящую из n пробелов;

8. asc ( char ) – возвращает численное значение первого символа строки char, равное ASCII-кода. Строка char может быть записан как в виде символьной константы, так и в виде идентификатора;

9. chr $( x ) – формирует символ, соответствующий указанному числовому значению x, трактуя его как ASCII-код;

10. str $( x ) – преобразует числовое значение x в строку цифровых символов;

11. val ( str ) – преобразует символьную переменную str в число, причем в str не должно быть символов, отличных от цифр, разрешается десятичная точка в середине и знак минус перед числовым эквивалентом;

12. oct $( x ) – преобразует число x в строку восьмеричных цифровых символов;

13. hex $( x ) – преобразует число x в строку шестнадцатеричных цифровых символов;

14. bin $( x ) – преобразует число x в строку двоичных цифровых символов;

15. ucase $( str ) – преобразует все буквы строки str в заглавные (прописные);

16. lcase $( str ) – преобразует все буквы строки str в строчные.

Легко заметить что некоторые из перечисленных функций по обработке символьных переменных справа от названия имеют символ $, а другие – нет. Это объясняется типом возвращаемого значения результата. Если возвращаемым значением является строка (набор символов), то такая функция записывается с символом $, если – числовое значение, этот символ отсутствует. Функции по обработке символьной информации, в отличие от арифметических, могут иметь несколько аргументов, в таком случае они перечисляются через запятую, например: left$, mid$, right$, instr, string$.

Отдельно выделим функции, обслуживающие таймер – электронное устройство, встроенное в персональный компьютер, фиксирующее время в часах, минутах, секундах и сотых долях секунд:

1. time $ - определяет текущее время в форме – чч:мм:сс, где чч – часы в диапазоне от 00 до 23, мм – минуты (00 до 59), сс - секунды (00 до 59). Функция может использоваться и в правой части оператора присваивания, тогда пользователь может устанавливать новое текущее время;

2. date $ - определяет ткущую дату в форме: мм-дд-гггг, где мм – номер месяца в диапазоне от 1 до 12, дд – день месяца (1-31), гггг – год. Как правило, дата устанавливается при загрузке операционной системе. Устанавливать новое значение текущей даты можно и в операторе присваивания, где функция date$ записывается в левой части;

3. timer – определяет текущее время в секундах в виде числовой константы с точностью до сотых долей.

 


Дата добавления: 2021-11-30; просмотров: 15; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!