Слайд 2
Программирование обработки строк
Слайд 3
Строка – последовательность символов (длина от 1 до
255), которая при использовании в выражениях, заключается в апострофы
Тип
данных :
VAR
S: STRING[50]; {длина до 50 символов}
S1: STRING; {длина до 255 символов}
Обращение к элементу строки – по индексу, как в массиве:
S:=‘qwertyuio’;
S[6]:=‘z’; → S:=‘qwertzuio’;
Распределение памяти строковой переменной:
Слайд 4
Операции со строками
Операция присваивания:
Var S1:string; s2:string[3];
s:string;
begin
…
S1:=‘qwertyuiop’;
S2:=S1; {S1=‘qwe’}
Операция сцепления, конкатенации:
S:= ‘TURBO’+’ PASCAL’;
{=‘TURBOPASCAL’}
Слайд 5
Операции со строками
Операции отношения:
Сравнение слева-направо до несовпадения :
Слайд 6
Функции и процедуры работы с символами и строками
CHR(S) – возвращает значение символа по коду:
S:=
CHR(60) → S=‘<’
ORD(C) – возвращает код символа:
X:=ORD(‘+’) → X=43
Слайд 7
LENGTH(S) – возвращает длину строки:
L:= LENGTH(‘QQQ’)
→ 3
COPY(S,P,L) – возвращает строку длиной L,
начиная с позиции P
S1:=COPY(‘asdfghjkl;’,4,3) → ‘fgh’
INSERT(S,S1,P) – вставляет в строку S строку S1, начиная с позиции P
INSERT(‘asdfgh’,’A13’,3) → ‘asdA13fgt’
DELETE(S,P,N) – удаляет из строки N символов, начиная с позиции P
DELETE(‘QWERTYUIOP’, 5, 2) → ‘QWERTIOP’
Слайд 8
POS(S1, S) – возвращает номер позиции строки S,
в которой обнаружен первый символ S1:
X:= POS(‘67’,’123456789’)
→X=6
STR(X[:m:n], S) – преобразует число Х в строку S:
STR(12.564567:0:3, S) →’12.564’
VAL(S, X, ERR) – преобразует строку S в число Х, если ошибка – в переменную ERR (Int) возвращается номер позиции ошибки
VAL(’12.5678’,X, O) → X=12.5678
VAL(’12.567D8’,X, O) → O=7
Слайд 9
Написать программу, сортирующую строки массива строк по алфавиту
FOR
I:=1 TO N-1 DO
FOR J:=I+1 TO N DO
IF M[I,1]>M[J,1]
THEN
BEGIN
S:=M[I];
M[I]:=M[J]:
M[J]:=S;
END;
Слайд 10
Написать программу, удаляющую пробелы из введенной строки:
Начальные
WHILE
S[1]=' ' DO
DELETE(S,1,1);
Конечные
WHILE S[LENGTH(S)]=' ' DO
DELETE(S,LENGTH(S),1);
Сдвоенные
WHILE POS('_ _',S)>0 DO
DELETE (S,POS('_ _',S),1);
Слайд 11
СТРУКТУРИРОВАННЫЕ ДАННЫЕ.
Множества
Множества – набор элементов одинакового типа, которые
рассматриваются как единое целое
Количество элементов - мощность
Тип элементов множества
– базовый тип
Может быть:
Стандартным :char, byte, boolean
Перечисляемым
Диапазоном
Не более 256 элементов
Слайд 12
ОПИСАНИЕ:
: SET OF БАЗОВЫЙ ТИП;
Пример:
VAR
DAY : SET OF (SUN, MON, TUE, WED,
THU, FRI, SAT);
CHARSET : SET OF CHAR;
DIGITS : SET OF 0..9;
В МНОЖЕСТВЕ НЕ МОЖЕТ БЫТЬ ОДИНАКОВЫХ ЭЛЕМЕНТОВ
Слайд 13
Задание элементов множества
При задании значений элементов множества используются
квадр.скобки:
[1,2,3,4]; [‘a’,’b’,’c’], [‘a’..’z’]
Если множество не имеет элементов, оно
называется пустым и обозначается [ ]
Слайд 14
ТИП «МНОЖЕСТВО» ЗАДАЕТ НАБОР ВСЕХ ВОЗМОЖНЫХ ПОДМНОЖЕСТВ ЭЛЕМЕНТОВ
(ВКЛЮЧАЯ ПУСТОЕ).
ЗНАЧЕНИЕ ПЕРЕМЕННОЙ СОДЕРЖИТ ОДНО КОНКРЕТНОЕ ЗНАЧЕНИЕ ПОДМНОЖЕСТВА
ПРИМЕР:
VAR
X : 1..3; { X – МОЖЕТ БЫТЬ 1 ИЛИ 2 ИЛИ 3}
X_SET : SET OF 1..3;
{X_SET – МОЖЕТ БЫТЬ [],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3] }