Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 13.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
110.59 Кб
Скачать

Практическое занятие 13

Обработка строковых данных

(I вариант)

Цель

Научиться использовать в программах процедуры и функции обработки строковых и символьных данных

Принадлежности

1 Методические указания

2 Конспект по дисциплине

3 Компьютеры с установленной средой программирования Turbo Pascal 7.0

Порядок выполнения

1 Получить у преподавателя вариант с заданием для выполнения

2 Выбрать алгоритм решения предложенных задач

3 Написать программы на языке программирования Turbo Pascal и отладить их в среде Turbo Pascal 7.0

4 Сдать преподавателю результаты работы (в тетради и отлаженные программы в индивидуальных папках на сервере «Студент»).

Исходные данные

По заданному варианту

Содержание отчета

1 Краткие теоретические сведения

2 Отлаженные программы в среде Turbo Pascal 7.0

Вывод

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

Строки в Паскале – это данные типа string.

Примеры описания строк:

type

str_type = string[12];

const

n = 50;

var

s1: string;

s2, s3: str_type;

s4: string[n];

s5, s6, s7: string[7];

При работе со строками, как правило, возникает необходимость выполнять их копирование, вставку, удаление или поиск. В Паскале предусмотрены стандартные процедуры и функции:

Concat (s1, s2, ..., sn) вычисляет строку, являющуюся слиянием строк s1, s2, ..., sn.

Copy (s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s.

Delete (s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.

Insert (subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.

Length (s) возвращает фактическую длину строки s, результат имеет тип byte.

Pos (subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или нуль, если subs не содержится в s.

Str (x, s) преобразует числовое значение x в строку s, при этом для x может быть задан формат, как в процедурах вывода write и writeln. Например:

x: = 123;

s: = str (x:6,s);

Результат: s = ' 123'.

Val (s, x, errcode) преобразует строку s в значение числовой переменной x, при этом строка s должна содержать символьное представление числа.

Задача: Вставить в заданную позицию строки другую строку.

var

s1,s2: string;

i: byte;

begin

write('Input string 1: ');

readln(s1);

write('Input string 2: ');

readln(s2);

write('Input position: ');

readln(i);

insert(s2,s1,i);

writeln(s1);

readln

end.

Задача: Найти в строке определенную последовательность символов и заменить ее другой.

var

s,s_old,s_new: string;

i,l_old: byte;

begin

write('Insert string: ');

readln(s);

write('What change? ');

readln(s_old);

l_old := length(s_old);

write('What to replace? ');

readln(s_new);

i := pos(s_old,s);

delete(s,i,l_old);

insert(s_new,s,i);

writeln(s);

readln

end.

Задача: Скопировать часть строки с определенной позиции и определенной длины в другую строку.

var

s1,s2: string;

n,len: byte;

begin

write('Input string: ');

readln(s1);

write('Place of start of copy: ');

read(n);

write('Length of copy: ');

readln(len);

s2 := copy(s1,n,len);

writeln('Your copy: ',s2);

readln

end.

Задача: Определить длину строки, введенной пользователем.

var

s: string;

len: byte;

begin

write('Input string: ');

readln(s);

len := length(s);

writeln('Its lenght is ', len,' characters.');

readln

end.

Задача: Удалить из строки ее часть с заданной позиции и заданной длины.

var

s: string;

i,len: byte;

begin

write('Input string: ');

readln(s);

write('Place of start to delete: ');

readln(i);

write('Length to delete: ');

readln(len);

delete(s,i,len);

writeln(s);

readln

end.