Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тихоненко_Програмування.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
599.55 Кб
Скачать

Write(copy('трансформатор',6,5))

видає слово 'форма', а оператор

write(copy(S,length (S)-1,2))

видає два останніх символи строкової змінної S.

Відзначимо деякі особливості цієї функції:

- якщо P > length(S), те результатом буде порожній рядок;

- якщо P+L > length(S), то результатом будуть символи, що належать рядкові S з позици P.

  • Процедура DELETE(S,I,J) видаляє подстроку довжиною в J символів, починаючи з позиції I вихідного рядка S. Tак, після виконання операторів:

x:='трансформатор';

delete(x,6,5);

writeln(x);

буде виведений рядок 'транстор'.

  • Процедура INSERT(S1,S2,I) уставляє вміст рядка S1 у рядок S2 перед символом з номером I.

Наприклад, після виконання операторів:

a:='автокросс';

b:='мото';

c:=insert(b,a,5);

write(c);

на екрані буде виведений рядок 'автомотокросс'.

Зауваження.

Звертання до функцій і процедур для роботи зі строковими даними відбувається також як і до стандартних функцій і процедур користувача.

Розглянемо приклади задач для роботи з рядками і реалізуємо їхнє рішення у виді програм.

Приклад 1. Скласти програму, що визначає, чи є дане слово словом 'перевертышем' чи ні, якщо ні, те на екран виводиться перевернене слово.

program Invert;

var a, b:string[80];

i, n:integer;

begin

writeln(' П е р е в е р т ы ш ');

write('введіть слово - ');readln(a);

b:='';

n:=length(a);

for i:=1 to n do

b:=copy(a,і,1)+b;

if a=b then write('Слово - перевертыш!')

else write('Перевернене слово - ',b)

end.

Приклад 2. Скласти програму, що із заданого слова X видаляє зазначену групу символів Y (подстроку) (якщо вона там є), у іншому випадку видає відповідне повідомлення.

program Del;

var x,y:string[80];

n,m,k:integer;

begin

writeln(' Видалення подстроки ');

write('введіть слово - ');readln(x);

write('введіть подстроку -');readln(y);

n:=length(x);m:=length(y);

if n<m then write('Погані дані!')

else begin

k:=pos(y,x);

if k<>0 then

begin

delete(x,k,m);

write('Відповідь: ',x)

end

else write('Такий подстроки немає!')

end;

end.

66