Строки в Pascal

Содержание

Слайд 2

Строки в Паскале – это данные типа string. Они используются для

Строки в Паскале – это данные типа string. Они используются для хранения

последовательностей символов

Примеры описания строк:
type
str_type = string[12];
Const
n = 50;
var
s1: string;
s2, s3: str_type;
s4: string[n];
s5, s6, s7: string[7]; …

Слайд 3

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

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

 Строкой

в Паскале называется последовательность из определенного количества символов
В Паскале строке соответствует тип данных String.
var Имя : string [Длина];
Если длина не указана, выделяется память под строку до 255 символов.
var s1:string; строка 255 символов
var s2:string[20]; строка 20 символов
Слайд 4

Объявление типизированной константы для типа string осуществляется так: const s: string = 'FreePascal'

Объявление типизированной константы для типа string осуществляется так: const s: string = 'FreePascal'

Слайд 5

Слайд 6

Функции и процедуры строковых величин.

Функции и процедуры строковых величин.

Слайд 7

Операции над строками

Операции над строками

Слайд 8

Строки можно присваивать друг другу. Если максимальная длина переменной слева меньше

Строки можно присваивать друг другу. Если максимальная длина переменной слева меньше

длины присваиваемой строки, то лишние символы справа отбрасываются


s1 := 'this is text';
s2 := s1;

Слайд 9

Строки можно объединять с помощью операции конкатенации, которая обозначается знаком +.

Строки можно объединять с помощью операции конкатенации, которая обозначается знаком +.


s1

:= 'John';
s2 := 'Black';
s1 := s1 + ' ' + s2;

Слайд 10

Строки можно сравнивать друг с другом с помощью операций отношения. При

Строки можно сравнивать друг с другом с помощью операций отношения. При сравнении

строки рассматриваются посимвольно слева направо, при этом сравниваются коды соответствующих пар символов. Строки равны, если они имеют одинаковую длину и посимвольно эквивалентны. В строках разной длины существующий символ всегда больше соответствующего ему отсутствующего символа. Меньшей будет та строка, у которой меньше код первого несовпадающего символа (вне зависимости от максимальных и текущих длин сравниваемых строк).

'abc' > 'ab' (true)
'abc' = 'abc' (true)
'abc' < 'abc ' (false)

Слайд 11

Имя строки может использоваться в процедурах ввода-вывода. При вводе в строку

Имя строки может использоваться в процедурах ввода-вывода. При вводе в строку

считывается из входного потока количество символов, равное длине строки или меньшее, если символ перевода строки (который вводится нажатием клавиши Enter) встретится раньше. При выводе под строку отводится количество позиций, равное ее фактической длине.


readln (s1);
write (s1);

Слайд 12

К отдельному символу строки можно обращаться как к элементу массива символов,

К отдельному символу строки можно обращаться как к элементу массива символов,

например s1[3]. Символ строки совместим с типом char, их можно использовать в выражениях одновременно, например:


s1[3] := 'h';
writeln (s2[3] + 'r');

Слайд 13

Можно осуществлять коррекцию любого символа строковой переменной, для чего в соответствующем

Можно осуществлять коррекцию любого символа строковой переменной, для чего в соответствующем

операторе достаточно указать имя переменной типа string, вслед за которым в квадратных скобках задается номер ее элемента 

str[3]:='j'

Слайд 14

Элементы строки нумеруются с единицы, т.к. в каждой строковой переменной имеется

Элементы строки нумеруются с единицы, т.к. в каждой строковой переменной имеется

элемент с номером 0, в котором в виде символа хранится длина текущей строки. Чтобы узнать текущую длину, достаточно применить функцию ord к нулевому элементу строки. 


writeln(ord(st[0]))

Слайд 15

Нулевой элемент строковой переменной можно корректировать. При этом будет изменяться текущая

Нулевой элемент строковой переменной можно корректировать. При этом будет изменяться текущая

длина строки. 

Например, выражение str[0]:=#50 устанавливает текущую длину равной 50.