Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа со строками_лекция.docx
Скачиваний:
1
Добавлен:
18.09.2019
Размер:
52.08 Кб
Скачать

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

1 путь - обработка всей строки как единого целого.

Пример: stroka:= ‘это - строка!’;

2 путь - строка, как составной объект, состоящий из отдельных символов.

Пример: stroka:= ‘это’ + ‘ - ‘ + ‘строка’ + ‘ ! ‘;

(объединение или сцепление строк).

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

Пример:

stroka [5] - пятый символ в переменной stroka.

F:= stroka [1]

Троковые процедуры и функции

1

  1. Length (<имя переменной>) - определяет фактическую длину текстовой строки, хранящейся в указанной переменной, включая все пробелы (а не величину предельного размера строки, установленную при описании).

Пример:

Var St:string[20];

Значение St

Выражение

Значение

St :=‘123456789’

Length (St)

9

St := ‘Лето’

Length (St)

4

П

word - 255 симв

word := ‘лето’

length (word) - 4 симв

ример
:

var word: string;

begin

writeln ('введите слово -');

readln (word);

writeln ('это слово состоит из ', length (word), ‘ букв‘);

end.

2

  1. UpCase (<буква>) - преобразует любой символ из строчного в прописной (т.е. работает с каждым отдельным символом).

(Русские литеры не обрабатываются!)

Пример:

Значение Ch

Выражение

Значение

Ch :=‘d’

UpCase (Ch)

D’

Ch := ‘w’

UpCase (Ch)

W’

F := UpCase (Ch)

Пример:

var

word: string;

i,к: byte;

begin

word:=’урок informatiki‘;

к := length (word);

for i:=l to к do

word[i]:=upcase(word[i]);

writeln (word);

end. {выводится текст "урок INFORMATIKI"}

3

  1. Copy( St,Poz,N) - копирует из строки St фрагмент (подстроку) длиной в N символов, начиная с позиции Poz.

Пример:

Значение St

Выражение

Значение

‘Пришел’

Copy (St,4,3)

шел

‘Классификация’

Copy (St,1,5)

‘Класс

Пример:

Program zadacha (input,output);

var

word: string [20];

word1, word2, word3: string [20];

begin

word : = ‘форматирование’ ; writeln (word); wordl : = copy (word,1,5); writeln (wordl); {форма}

word2 := copy (word,6,3); writeln (word2); {тир}

word3 := copy (word,8,3); writeln (word3); {ров}

end.

4

  1. Pos (St1,St2) - поиск в строке St1 подстроки St2 (фрагмента) и возвращает номер позиции, с которой этот фрагмент начинается.

Пример:

Program zadacha;

var

word: string [100]; wordl: string [20];

position: byte;

begin

word : = ‘форматирование’ ;

word1 : = ‘тир’ ;

position := pos (word, word1);

if position <>0 then

writeln ('Фрагмент', wordl, 'содержится в слове', word, 'начиная с позиции', position,'. ')

end. {на экране:

Фрагмент тир содержится в слове форматирование начиная с позиции 6.}

! Большие и маленькие буквы считаются различными символами !

  1. INSERT и DELETE - позволяют вставлять фрагмент из одной строки в другую или удалять его из строки.

Insert (St1,St2, Poz) - вставка строки St1 в строку St2, начиная с позиции Poz.

Delete (St,Poz,N) - удаляет из строки St фрагмент, состоящий из N символов, начиная с позиции Poz.

Пример:

Program zadacha;

Var

Word: string [100]; Wordl: string [20];

Begin

Word : = ‘Математика‘;

W

Математика

тематика

система

система

riteln
(Word);

Delete (Word, 1, 2);

Writeln (Word); {тематика}

Delete (Word, 5, 4);

Writeln (Word); {тема}

Wordl :='сис';

Insert (Wordl, Word, 1);

Writeln (Word); {система}

END.