Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GLAVA_10_Algoritmy_i_programmy.doc
Скачиваний:
7
Добавлен:
22.09.2019
Размер:
797.7 Кб
Скачать

6.15. Работа с символьной информацией

Символьная информация в программах описывается данными двух типов: символьным и литерным. Значением символьной переменной является одиночный символ, а литерной - строка символов. Строка рассматривается как группа символов. Строковая константа в программе – это последовательность символов, заключенная в кавычки в языке Basic или в апострофы - в языке Pascal.

Присваивание последовательности символов строковым переменным можно с помощью оператора присваивания.

Две строки можно сравнить с помощью операций отношения > (больше) >= (больше или равно) < (меньше) <= (меньше или равно) = (равно) <> (не равно). Строки сравниваются посимвольно в лексикографическом (алфавитном) порядке, символ ‘A’ по алфавиту меньше символа ‘B’. Каждый символ имеет числовой код, символы в строках сравниваются по их числовым кодам. Например,

‘A’ > ‘F’ истина

‘ab’ > ‘Ab’ истина, т.к. код строчной буквы больше, чем заглавной;

‘ ’ = ‘ ’ истина (сравниваются две строки, равные символу пробел)

‘Jaz’ > ‘Janna’ истина, т.к. код символа ‘z’ больше, чем код символа ‘n’.

Например, справедливы соотношения

‘CAR’ < ‘CARD’ < ‘CARTA’ < ‘CAT’

а также

‘0’ < ‘1’ < ‘2’.

Над строками возможно применение операции конкатенации (или сцепки, или соединения) строк. Операция конкатенации обозначается символом +.

Например, ‘КАИ’ + ‘-’ + ‘КГТУ’, в результате получим строку

‘КАИ-КГТУ’

Для расширения операций над строками в языках программирования есть стандартные функции работы со строками.

Таблица 6.4. Некоторые стандартные функции и процедуры работы со строками

Функции и процедуры языка Pascal

Функции языка Basic

Действие функции или процедуры

Length (S: String): Byte

LEN (S$)

Возвращает количество символов в строке S

Ord (S: Char): LongInt

ASC(S$)

Возвращает ASCII код первого символа строки S

Chr (N: Byte): Char

CHR$(N)

Возвращает символ с кодом ASCII, равным числу N

LEFT$ (S$, N)

Возвращает подстроку из N первых символов строки S

RIGHT$ (S$, N)

Возвращает подстроку из N последних символов строки S

Copy(S:String; N,M:Integer):String

MID$(S$,N,M)

Возвращает подстроку из M символов строки S, начиная с символа номер N

Процедура

Str(N: Integer; Var S: String)

STR$(N)

Возвращает представление числа N в символьной форме – в виде строки S

Процедура

Val(S:String;

Var N,C:Integer), где С = 0, если нет ошибки преобразования

VAL (S$)

Возвращает представление символов строки S в числовой форме N

6.15.1. Работа с символьной информацией в языке Basic

В языке Basic строка – это заключенная в кавычки группа символов. Особенно часто строки используются в операторе PRINT, например:

PRINT “Результат = ”; S; “литров.”

Строка может содержать любые символы, в строке учитываются и символы пробел. Для хранения строк используются переменные типа строка, так называемые литерные (текстовые) переменные. Строковую переменную можно объявить с помощью оператора DIM, например DIM S AS STRING*80, переменная S объявлена как строка длиной до 80 символов. Если переменная явно не объявлена, то в конец имени литерной переменной добавляется символ $. Например, A$ = ”Изучаем литерные величины”; p$ = “” (пустая строка).

Объявим литерные величины, длиной по 10 символов:

DIM S, T, P, M AS STRING*10

Выполним следующие операторы:

S = “1234”

T = “5678”

P = S + T

M = VAL(S) + VAL(T)

В результате P получит значение “12345678”, а M – значение 1234+5678 = 6912.

После выполнения оператора A$ = MID$ (P, 2, 3), строка A$ получит значение ”234” (подстрока длиной 3 символа, начиная со второго символа строки P)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]