Данные строковых типов представляют собой последовательности символов переменной длины. При объявлении строковой величины в квадратных скобках указывается максимальное число заключенных в ней символов в диапазоне от 1 до 255 (по умолчанию 255).
Пример.
Var stroka: string[35];
Const ErrMes: string[10] = ' Error 21 ';
Var s: string;
Последнее объявление эквивалентно такому:
Var s:array[1..255] of char;
Примеры
1 Вводится строка символов, содержащая *. Определить количество * и номера позиций, на которых стоят *.
program p11_1;
uses crt;
var s:string[65];
i,k:integer;
begin
clrscr;
for i:=1 to 65 do read(s[i]);
for i:=1 to 65 do
if s[i]='*' then
begin
writeln('N*=',i);
k:=k+1;
end;
writeln('k*=',k);
readln;
end.
2 Вводится строка символов до тех пор, пока не нажата клавиша Enter. Определить количество введенных символов.
program pr11_2;
uses crt;
Var str:array[1..80]of char;
m,i:integer;
begin
clrscr;
i:=1;
while not eoln do
begin
read(str[i]);
i:=i+1;
end;
m:=i-1;
writeln('m=',m);
for i:=1 to m do write(str[i]);
end.
3 Дана последовательность символов s1, s2,... sn, состоящая из нескольких слов. Определить общее количество введенных символов и количество слов в этой последовательности, если слова отделяются друг от друга пробелом.
program p11_3;
uses crt;
Var s:string;
m,k,i:integer;
begin
clrscr;
i:=1;
while not eoln do
begin
read(s[i]);
i:=i+1;
end;
m:=i-1;
writeln('Количество символов =',m);
for i:=1 to m do write(s[i]);
Writeln;
for i:=1 to m do if s[i]=' ' then k:=k+1;
writeln('Количество слов = ', k+1);
end.
Сложный тип данных