Реферат: Тип STRING

{ i - номер первого пробела }

Dec(i);

{ выведем слово }

WRITELN(Copy(s,1,i));

{ удалим слово из текста }

Delete(s,1,i);

END;

END.

Теперь запишем то же самое, используя функции и процедуры :

VAR s : STRING; i : Byte;

CONST Letters : SET OF Char = ['а'..'п','р'..'я','А'..'Я']; {это алфавит}

PROCEDURE DelTail(VAR s:STRING);

BEGIN WHILE NOT(s[Length(s)] IN Letters)AND(s<>'') DO Delete(s,Length(s),1); END;

PROCEDURE DelLead(VAR s:STRING);

BEGIN WHILE NOT(s[1] IN Letters) DO Delete(s,1,1); END;

FUNCTION MakeWord(s:STRING; VAR Bound:Byte):STRING;

BEGIN Bound:=1;

WHILE (s[Bound] IN Letters)AND(Bound<=Length(s)) DO INC(Bound);

Dec(Bound); MakeWord:=Copy(s,1,i); END;

BEGIN WRITE('Введите текст '); READLN(s);

{ удалим завершающие пробелы }

DelTail(s);

IF s='' THEN BEGIN WRITELN('текст пуст'); Halt; END;

WRITELN('Слова текста :');

{ организуем цикл ПО СЛОВАМ }

WHILE s<>'' DO BEGIN

{ удалим лидирующие пробелы } DelLead(s);

{ выведем слово } WRITELN(MakeWord(s,i));

{ удалим слово из текста } Delete(s,1,i);

К-во Просмотров: 366
Бесплатно скачать Реферат: Тип STRING