Язык программирования TurboPascal
- Григоренко Г. Н.
- Просмотров: 7692
Turbo Pascal. Строки
В Турбо Паскале тип строка –string– последовательность символов длиной до 255 символов. Строку можно рассматривать как массив символов.
Формат описания строки:
<имя>:string[длина строки];
Длина строки указывается в квадратных скобках. Максимальное значение равно 255. Если длина строки не указана, то по умолчанию она принимается равной 255.
Пример
var
s1:string[20];
s2:string[100];
s3:string;
Для работы со строками в Турбо Паскале используются следующие процедуры и функции:
Процедуры
- Delete(var s:string; n, m:integer);
Удаляетmсимволов из строкиs, начиная с позицииn.
Пример
s:='Университетский';
n:=12;
m:=4;
delete(s,n,m);
writeln(s);
Результаты работы программы:
Университет
- Insert(subs:string; var s:string; n:integer);
Вставляет подстрокуsubsв строкуs, начиная с позицииn.
Пример
s:='Университет';
sub:='ский';
n:=Length(s);
Insert(sub,s,n+1);
writeln(s);
Результаты работы программы:
Университетский
- Str(x:integer; var s:string);
Преобразует численное значениеxв его символьное представлениеs.
Пример
var
s: string;
n: byte;
begin
n:=123;
str(n,s);
writeln(s);
readln
end.
Результаты работы программы:
123
- Val(s:string; var x, code:integer);
Преобразует строковое значениеsв его числовое представлениеx. Параметр code содержит признак ошибки преобразования (еслиcode=0, ошибки нет).
Пример
var
s: string;
n: integer;
code:integer;
begin
s:='12345';
val(s,n,code);
writeln(n);
readln
end.
Результаты работы программы:
12345
Функции
- Chr(n:byte):char;
Возвращает символ с заданным порядковым номеромx.
Пример
var
ch: char;
n: byte;
begin
n:=65; //это порядковый номер (код) символа ‘A’
ch:= Chr(n);
writeln(ch);
readln
end.
Результаты работы программы:
A
- Concat(s1[,s2,...,sn]):string;
Выполняет сцепку (конкатенацию) последовательности строк.
Пример
var
s: string;
s1: string;
s2:string;
s3:string;
begin
s1:= 'Университетский';
s2:=' центр';
s3:=' Турбо';
s:= concat(s1,s2,s3);
writeln(s);
readln
end.
Результаты работы программы:
Университетский центр Турбо
- Copy(s:string; n,m:integer):string;
Возвращает подстроку из строкиs, начиная с позицииnи длинойmсимволов.
Пример
var
s: string;
sub:string;
n: integer;
m:integer;
begin
s:= 'Университетский центр Турбо';
n:=17;
m:=5;
sub:= Copy(s, n, m);
writeln(sub);
readln
end.
Результаты работы программы:
центр
- Length(s:string):byte;
Возвращает количество символов в строкеs.
Пример
var
s: string;
n: integer;
begin
s:= 'Университетский центр Турбо';
n:=Length(s);
writeln(n);
readln
end.
Результаты работы программы:
27
- Ord(x:Char):LongInt
Возвращает порядковый номер символаxв таблице кодов символов.
Пример
var
ch:char;
n: integer;
begin
n:= ord('A');
writeln(n);
readln
end.
Результаты работы программы:
‘A’
- Pos(SubS,s:string):byte;
Возвращает номер позиции, начиная с которой в строке s располагается подстрокаSubS(если значение функции равно нулю, тоSне содержитSubS).
Пример
var
s: string;
sub:string;
n: integer;
begin
s:= 'Университетский центр Турбо';
sub:='Турбо';
n:= pos(sub, s);
writeln(n);
readln
end.
Результаты работы программы:
23
ЗАДАЧА 1. Написать программу, определяющую количество слов в заданном тексте. Слова разделяются произвольным количеством пробелов.
Program a19;
Uses CRT;
var
text:string; {заданный текст}
i:integer; {параметр цикла}
n:integer; {количество слов}
f:boolean;
s:char; {текущий символ}
Begin
ClrScr;
Writeln(‘Введите текст: ’);
Readln(text);
n:=0; f:=true;
for i:=1 to length(text) do
begin
s:=text[i];
if(s’ ‘) and f then n:=n+1;
f:=(s=’ ‘)
end;
writeln;
writeln(‘Количество слов в тексте равно:’,n:3);
end.
Результаты работы программы:
Введите текст:
Университетский центр компьютерного обучения «Турбо»
Количество слов в тексте равно: 5
ЗАДАЧА 2. Написать программу, которая определяет, сколько раз в тексте встречается заданная буква.
Program a20;
Uses Crt;
Var
text,stext:string;
i:integer;
n:integer;
s:char;
Begin
writeln('Введите текст:');
readln(text);
write('Введите букву: ');
readln(s);
n:=0;
for i:=1 to length(text) do
begin
stext:=copy(text,i,1);
if stext=s then n:=n+1;
end;
write('Буква ', s, ' встречается ', n, ' раз');
End.
Результаты работы программы:
Введите текст:
Университетский центр компьютерного обучения «Турбо»
Введите букву: е