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.

Результаты работы программы:

Введите текст:

Университетский центр компьютерного обучения «Турбо»
Введите букву: е

Добавить комментарий
  • Комментарии не найдены
 
DMC Firewall is developed by Dean Marshall Consultancy Ltd