GetFromQue – «извлечь из очереди» (Queue – «очередь» или «хвост»). Всё это представлено в программе «P_45_1».

{ P_45_1 – Запись в танцевальный кружок }

{ Постановка символа arg в очередь Que }

procedure PutInQue(var Que: string; arg: char);

begin

Que:= Que + arg; { добавляем в конец строки }

end;

{ Выбор из очереди Que элемента в параметр arg }

function GetFromQue(var Que: string; var arg: char): boolean;

begin

if Length(Que) = 0       { если очередь пуста }

      then GetFromQue:= false

      else begin

      GetFromQue:= true;       { если не пуста }

      arg:= Que[1];       { запоминаем первый элемент }

      Delete (Que, 1, 1); { и удаляем его из очереди }

      end

end;

      { Глобальные переменные }

var S_IN : string; { входной поток – символы }

      S_OUT : string; { выходной поток (пары) }

      Boys : string; { очередь мальчиков }

      Girls : string; { очередь девочек }

      c1,c2 : char; { очередная пара – символы строки }

      i : integer;       { индекс во входном потоке }

begin {--- Главная программа ---}

{ задаем (вводим) входной поток: A..Z – мальчики, a..z – девочки }

S_IN:='ZHJKqwertASDyuiopQWERTYUIOPasdf';

S_OUT:='';       { выходной поток пока пуст }

Boys:=''; Girls:=''; { Очищаем очереди мальчиков и девочек }

{ Цикл обработки входного потока }

for i:=1 to Length(S_IN) do begin

      c1:= S_IN[i]; { выбираем из входного потока }

      if c1 in ['A'..'Z']

      then begin { если это мальчик…}

      { если в очереди есть девочка }

      if GetFromQue(Girls, c2)

      { добавляем пару в выходной поток }

      then S_OUT:= S_OUT+c1+c2+’ ’

      { а иначе помещаем мальчика в очередь }

Вы читаете Песни о Паскале
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату