Строковые переменные


Опр:Последовательность из нескольких литерных переменных образует переменные типа string (строка).

Свойства:

1. строгая последовательность размещения в памяти;

2. плотность размещения в памяти;

3. известная длина, т.е. количество символов внесенных в строку.

Переменные типа string позволяют обрабатывать информацию в виде текстов на естественном языке.

Пример: Var s1, bb, t: string [200];

Семантика: разместить в памяти три переменные строкового типа с именами s1, bb, t! Максимальное количество символов, которые планируется размещать в этих переменных, ограничено числом 200.

Размещение этих информационных объектов в оперативной памяти:

Адрес Адрес Адрес

переменной s1 переменной bb t

201 байт памяти переменной s1 201 байтпамяти переменной bb

Реальный объем памяти, отводимой для переменных типа STRING, ровно на один байт больше указываемого в описании числа. В самом первом байте (правильнее говорить в нулевом байте!) размещается информация о количестве символов, которые фактически содержатся в этой строке.

Опр.Индекс – порядковый номер элемента в упорядоченной совокупности однотипных элементов.

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

Если s1 – имя строки, т.е. имя всего структурного объекта, а j – имя некой переменной типа integer, то s1[j] – имя конкретного j-ого элемента (символа) строки.

Стандартные процедуры обработки переменных типа STRING.

Все операции порождения (создания подобного из подобного) для информационных объектов типа String, допускают наглядную механическую интерпретацию: новые строки можно образовать

- путем последовательного «склеивания» нескольких строк,

- путем «вставки» внутрь одной строки другой (разрезали и склеили),

- путем удаления (вырезания) из строки ее фрагмента, т.е. некой последовательности символов.

Опр. Последовательности символов, заключенных в простые кавычки, являются литерными константами.

Пример: { присвоение строковой переменной s1 явной строковой константы}

s1:=’Вычислить sin(0.3)’;

занятые позиции

строки s1 (всего 19):

В литерной переменной s1[2] находится символ ’ы’, в s1[8] находится символ ’т’.

В литерной переменной s1[0] находится числовой код 19, что соответствует фактическому наполнению символами данной строки.

Для определения фактического количества символов содержащихся в строке можно воспользоваться стандартными функциями ORD(s1[0]) или Length(s1), которые возвращают соответствующую переменную целочисленного типа.

Важно: Все переменные типа string, несмотря на то, каков размер фрагмента памяти им изначально отведен, относятся к одному и томуже типу, т.е. для переменных string понятие класса и типа совпадают.

Пример: операции сложения строк

а:= ’первое слово’; b:= ‘второго’;

с:= а + ‘_дороже_’ + b + ‘_!’;

Получаем строку с: ‘первое слово_дороже_второго!’

Операции преобразования типа представления информации.

Процедура Str(f, a) преобразует содержимое числовой переменной f в символьную форму. Результат размещается в строковой переменной а.

Пример: Var а: string [20]; f: real; .................

f:=25.43;

Str(f:8:3, a);{форматированная запись f:8:3 означает, что число f следует разместить в восьми позициях строки а, последние три из которых отводятся под дробную часть числа }

Результат: в строке а будут размещены восемь символов ’_ _ 25.430’.

Процедура Val(s, t, i) производит обратное действие: преобразует s- заданную строку символов (из цифр, точки, буквы Е и знаков минус или плюс) в формат числовой переменной t, задаваемой в качестве второго параметра. Третий параметр i (целочисленная переменная)нужен для сообщения пользователю об ус пешности выполнения данной операции: если последовательность символов действительно соответствует правилам записи чисел, то i=0, в противном случае i≠0.

Пример: Var t: real; i: integer;

. . . . . . . . .

Val (’-275.04’, t, i);

Writeln (i); Writeln (t: 10: 3);

На экране монитора будет следующее отображение:

0 {печать числа i}

- 2 7 5 . 0 4 0 {печать числа t}

Позиции: 1 2 3 4 5 6 7 8 9 10

 

 



Дата добавления: 2021-12-14; просмотров: 188;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.