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

Лабораторная работа №7. Строковые переменные

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

Строковый тип  последовательность символов произвольной длины (до 255). Например, 'a', 'ABC', 'Паскаль', '12345'. Фактически строковые переменные аналогичны одномерным массивам с элементами типа char. Их отличием является то, что число символов (длина строковой переменной) может динамически меняться в интервале от единицы до заданного верхнего значения.

В разделе описания переменных и констант строковые величины описываются с помощью служебного слова string, за которым в квадратных скобках может быть указано максимальное количество символов, помещаемых в данную переменную. Если размер не указан, то он считается равным 255:

Var <имя строковой переменной>: String [n];

Например:

Var z: String [10]; {В переменной z может содержаться до 10 символов}

t: String; {В переменной t может содержаться до 255 символов}

Любой символ в строке можно обрабатывать независимо, обращаясь к нему по его номеру. Например:

z:='Паскаль'; {Переменной z присваивается значение-строка}

Writeln(z[4]); {В результате будет напечатан 4-ый символ "к"}

При работе со строками используются следующие процедуры и функции:

Length(S)  возвращает длину строки S, имеет тип Integer.

Copy(S, I, N)  возвращает подстроку из N символов строки S, начиная с позиции I.

Concat(S1, S2,…, SN)  возвращает строку, полученную слиянием строк S1, S2,…,SN, имеет тип String.

Delete(S, I, N)  удаляет N символов из строки S, начиная с позиции I.

Insert(S1, S, I)  вставляет подстроку S1 в строку S, начиная с позиции I.

Pos(S1,S)  возвращает номер позиции первого вхождения подстроки S1 в строку S, имеет тип Integer.

Str(X, S)  преобразует число X целого или вещественного типа в строку S.

Val(S, X, K)  преобразует строку S в целое или вещественное число Х. Параметр К равен нулю, если преобразование прошло успешно, в противном случае он содержит номер ошибочной позиции в строке.

Важно!

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

Рассмотрим примеры типичных задач, связанных с обработкой строковых величин.

Задание 1. Проверка на совпадение первой и последней букв строки

Составить программу, проверяющую совпадают ли первая и последняя буквы слова Х, введенного с клавиатуры.

Решение задачи строится на нахождении первой и последней букв слова при помощи операции копирования одного символа и дальнейшего сравнения букв между собой.

Запустите Turbo Pascal. В окне редактирования наберите текст программы:

Program slovo_1;

var X: String[15];

d: Integer;

begin

Writeln ('Введите слово');

Read (X);

d:=Length(x); {Находим длину слова Х}

If Copy(X,1,1)=Copy(X,d,1)

Then Writeln('Первая и последняя буквы совпадают')

Else Writeln ('Первая и последняя буквы не совпадают');

end.

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