Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лр12_строк.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
89.09 Кб
Скачать

Лабораторная работа №12

Тема: Обработка текста.

Цель: Освоить программирование алгоритмов обработки строковых и символьных данных.

Оборудование: ПК

Ход работы.

  1. Изучить теоретический материал.

  2. Ответить на вопросы допуска.

  3. Выполнить практическое задание.

  4. Ответить на контрольные вопросы.

  5. Составить отчет.

Теоретическая часть

Строки символов – это некая разновидность массивов

Описание массива символов имеет вид: var M: Array[1..20] of char;

Строка символов является последовательностью, что содержит ноль и более символов из расширенного набора символов кода ASCII, записанную в одной строке программы и заключенную в одиночные кавычки. Строка символов, которая ничего не содержит между апострофами, называется нулевой строкой. Два последовательных апострофа в строке символов помечают один символ - апостроф. Длиной строки символов является количество символов между апострофами.

Паскаль позволяет вставлять в строку символов управляющие символы. Символ # с целой константой без знака в диапазоне от 0 до 255 помечает соответствующий этому значению символ в коде ASCII. Между символом # и целой константой не должно быть никаких разделителей.

Например: 'TURBO', ‘#13#10’

Символьным константам можно присваивать имена. – Const st=’рядок’;

Символьные переменные описываются в разделе описания переменных с описателем String.

Var st1,st2:string[10]; st3:string;

begin

st1:= ’строка’;

end.

По умолчанию для строк определенная максимальная длинная, равная 255 символам, но ее можно изменить, указав при описании: string[число символов]. Если строка длиннее максимальной длины, то символы, которые не поместились, отбрасываются.

К любому символу в строке можно обратится точно так же, как к элементу одномерного массива, то есть указав имя строки и индекс символа в этой строке. При этом нижняя граница индекса равна 1.

Текущее значение длины строковой переменной можно получить с помощью стандартной функции Length – Length(s).

Строки выводятся и вводятся с помощью операторов read, readln, write, writeln. Над строками выполняется операция конкатенации, которая позволяет соединить две или более строк в одну без разделителей.

Пример:

st1:=’Сту’;st2:=’де’;

st3:=st1+st2+’нт;

Результат: st3=’студент’;

Над строками выполняются операции сравнения: = < > <= >= <>.

Строки сравниваются посимвольно слева направо до получения результата или до исчерпания символов строки.

Пример:

’паскаль’=’паскаль’, поскольку все символы поэлементно совпадают.

Пример: ’программа’<’программист’. Результат сравнения (true), поскольку 'а'<'и' и второе слово длинее

Функции обработки строк.

Наименование

Назначение

concat(строка1,строка2….)

Сцепление строк(конкатенация)

copy(подстрока,число1,число2)

Из указанной строки выделяется подстрока, начиная с позиции, заданной числом1, длиной, заданной числом2.

Pos(строка1, строка2)

Отыскивает первое вхождение строки1 в строку2 и возвращает номер начальной позиции вхождения или ноль, если строка1 не входит в строку2.

length(строка)

Возвращает длину строки – аргумента.

Примеры:

1. Начальные данные: a=’код’, b=’ил’.

s:=concat(‘кро’,a,b).

Результат: s=’крокодил’.

2. Начальные данные: s=’крокодил’.

Оператор: b:=copy(s,2,3).

Результат: b=’рок’.

3. Начальные данные: s=’крокодил’.

Оператор: i:=pos(‘око’,s).

Результат: i=3.

Оператор: i:=pos(‘я’,’крокодил’).

Результат: i=0.

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