Процедура Delete(Str,n,m)- удаляет из строки Str m символов, начиная с n-го.
Пример:
Процедура Insert(Str1,Str2,n) - вставка строки Str1 в строку Str2 начиная с n-го символа, при этом Str1 не изменяется.
Пример:
Процедура Copy(Str,n,m) - копирует m символов строки Str, начиная с n-го, при этом исходная строка не меняется. Результат этой функции можно присваивать другой строке или сразу выводить на экран.
Пример:
Функция Length(Str) - результат этой функции целое число, равное количеству символов в строке Str.
Пример:
Функция, определяющая позицию подстроки в строке - Pos(Str1,Str2). Результатом этой функции будет целое число, и оно определяет номер первого элемента, с которого начинается первое вхождение подстроки Str1 в строку Str2. Если такой подстроки нет, то значение функции равно 0.
Пример:
Функция Concat(str1,str2,…,strN) – выполняет сцепление строк в том порядке, в каком они указаны в списке параметров.
Пример:
Функция Str(N,Str1) - переводит числовое значение N в строковое и присваивает результат строке Str1, причём можно переводить как целые числа, так и вещественные, и есть возможность следить за формой числа, т.е. вполне закономерно следующее обращение к функции Str(f:6:3,Str1);
Пример:
Функция Val(Str,N,K) - выполняет обратное преобразование, переводит строковое значение в числовое, если строка Str действительно является записью числа (целого или вещественного), то значение k = 0, а N - число, иначе K будет равно номеру символа, в котором встречается первое нарушение записи числа N.
Пример:
Примеры программ:
1.Дано слово. Определить, является ли оно палиндромом
Program stroka1;
Uses crt;
var
str:string[30];
к,i,n:integer;
Fl:boolean;
begin
readln(str);
n:=length(str);
Fl:=true;
for i:=l to n div 2 do
if str[i]<> str[n-i+1] then
Fl:=false;
if Fl then
writeln('Полиндром')
else
writeln('He полиндром');
end.
2. Дана строка символов. Группа символов между пробелами считается словом. Подсчитать количество слов в строке
Program stroka2;
Uses crt;
var
st:string[30];
i, к : integer;
begin
readln(st);
for i:=l to length(st) do
if St[i]= ‘ ‘ then k:=k+l;
writeln(k+1);
end.
3. Дана строка символов. Группа символов между пробелами считается словом. Определить самое длинное слово в строке и количество слов такой же длины.
Program stroka3;
Uses crt;
Var
Str : string[30]
kol,k,max,i,n:integer;
begin
readln(str);
n:=length(str);
max:=0;
kol:=1;
i:=1;
while i<=n do
begin
k:=0;
repeat
k:=k+l;
i:=i+l;
until (str[i]=’ ') or (i>n);
if k>max then max:=k
else if k=max then kol:=kol+l;
i:=i+l;
end ;
writeln(max,' ',kol);
end.
4.Дана строка символов. Группа символов между пробелами считается словом. Определить количество слов, являющихся записью десятичного числа.
Program stroka4;
Uses crt;
var
str:string[30];
s: string;
к,err,i,n,kol:integer;
x:real;
begin
readln(str);
n:=length(str);
while i<=n do
begin
k:=0;
while (str[i]<> ’ ') and (i<=n) do
begin
k:=k+l;
i:=i+l;
end;
s:=copy(str,i-k,k);
val(s,x,err);
if err=0 then kol:=kol+l;
i:=i+l;
end;
writeln(kol);
end.
5. Дана строка символов. Удалить из нее все пробелы.
Program stroka5;
Uses crt;
var
str:string[30];
p,i,n:integer;
begin
readln(str);
n:=length(str);
i:=l;
while i<=n do begin
p:=pos(‘ ‘,str);
if р<>0 then
begin
delete(str,p,1);
n:=n-l
end
else break;
i:=i+l;
end ;
writeln(str);
end.
6. Дано слово как массив символов. Получить новое слово, состоящее из символов исходного, записанных в обратном порядке.