Функции
Copy (St, Poz, N) — выделяет из строки St подстроку длиной N символов, начиная с позиции Poz.
Значение St |
Выражение |
Результат |
'ABCDEFG' |
Copy (St, 2, 3) |
'BCD' |
Concat (Str1, Str2, ..., StrN) — выполняет сцепление строк Str1, Str2, ..., StrN в том порядке, в каком они указаны в списке параметров.
Выражение |
результат |
Concat ('AA', 'XX', 'Y') |
'AAXXY' |
Length (St) — вычисляет длину в символах строки St.
Значение St |
Выражение |
результат |
'123456789' |
Length (St) |
9 |
Pos (Str1, Str2) — обнаруживает первое появление в строке Str2 подстроки Str1. Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки Str1. Если в Str2 подстроки Str1 не найдено, результат равен 0.
Значение Str1 |
Выражение |
результат |
'abcdef' |
Pos('de', Str1) |
4 |
'abcdef' |
Pos('r', Str1) |
0 |
Примеры сортировки:
1. Дан массив строк. Отсортировать его в алфавитном порядке.
program sorta;
type
indata=string[80];
mas=array[1..80] of indata;
var
st:mas;
i,n:integer;
Procedure sortstring(var inm:mas; n:integer);
Procedure insort(L,R:integer;var M:mas);
var
a,b:indata;
i,j:integer;
begin
i:=L;
j:=R;
a:=m[(l+r)div 2];
repeat
while m[i]<a do i:=i+1;
while A<m[j] do j:=j-1;
if i<=j then
begin
b:=m[i]; m[i]:=m[j];
m[j]:=b; i:=i+1; j:=j-1;
end;
until i>j;
if l<j then insort(l,j,m);
if l<r then insort(i,r,m);
end;
begin
insort (1,n,inm);
end;
begin
writeln ('Введите количество строк');
readln (n);
writeln ('Введите строки');
for i:=1 to n do
readln (st[i]);
Writeln ('Исходный массив строк:');
for i:=1 to n do
writeln (st[i]);
sortstring(st,n);
Writeln ('Отсортированный массив строк');
for i:=1 to n do
writeln (st[i]);
end.
2. Дан массив строк. Отсортировать его по длине строк.
program sortd;
type
indata=string[80];
mas=array[1..80] of indata;
var
st:mas;
i,n:integer;
Procedure sortstring(var m:mas; n:integer);
var
min,i_min,k,i,j:integer;
r:indata;
begin
for k:=1 to n-1 do
begin
min:=length(m[k]);
i_min:=k;
for i:=k to n do
if length(m[i])<min then
begin
min:=length(m[i]);
i_min:=i;
end;
r:=m[k];
m[k]:=m[i_min];
m[i_min]:=r;
end;
end;
begin
writeln ('Введите количество строк:');
readln (n);
writeln ('Введите строки:');
for i:=1 to n do
readln (st[i]);
Writeln ('Исходный массив строк:');
for i:=1 to n do
writeln (st[i]);
sortstring(st,n);
Writeln ('Отсортированный массив строк');
for i:=1 to n do
writeln (st[i]);
end.
2. Порядок выполнения работы
1. Изучить принципы организации и правила работы со строками с использованием алгоритмического языка Turbo Pascal.
2. Получить у преподавателя вариант задания.
3. Составить и выполнить программу.
4. Предъявить преподавателю результаты работы программы.
5. Провести анализ полученных результатов, оформить отчет.
6. Защитить и сдать преподавателю лабораторную работу.
