Var s,tmp:string; i,n:integer; flag,word:boolean; function letter (const let:char):boolean; begin if ((let>='a') and (let<='z')) or ((let>='A') and (let<='Z')) then letter:=true else letter:=false; end; begin readln (s); s:=s+' '; n:=length(s); flag:=false; for i:=1 to n do begin if (letter(s[i])) and (not flag) then begin flag:=true; tmp:=''; word:=false; end else if (not letter(s[i])) and (flag) then begin flag:=false; if (word) and (not (tmp='')) then writeln (tmp); end; if (flag) then begin tmp:=tmp+s[i]; if (s[i]='k') then word:=true; end; end; end.
Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы. Операционная система управляет компьютером, запускает программы, обеспечивает защиту данных, выполняет различные сервисные функции по запросам пользователя и программ. Каждая программа пользуется услугами ОС, а потому может работать только под управлением той ОС, которая обеспечивает для неё эти услуги.Операционная система предоставляет интерфейсы и для выполняющихся приложений, и для пользователей. Программы пользователей, да и многие служебные программы запрашивают у операционной системы выполнение тех операций, которые достаточно часто встречаются практически в любой программе. К таким операциям, прежде всего, относятся операции ввода-вывода, запуск или остановка какой-нибудь программы, получение дополнительного блока памяти или его освобождение и многие другие. Подобные операции невыгодно каждый раз программировать заново и непосредственно размещать в виде двоичного кода в телепрограммы, их удобнее собрать вместе и предоставлять для выполнения по запросу из программ. Это и есть одна из важнейших функций операционных систем.
i,n:integer;
flag,word:boolean;
function letter (const let:char):boolean;
begin
if ((let>='a') and (let<='z')) or ((let>='A') and (let<='Z')) then letter:=true
else letter:=false;
end;
begin
readln (s);
s:=s+' ';
n:=length(s);
flag:=false;
for i:=1 to n do
begin
if (letter(s[i])) and (not flag) then
begin
flag:=true;
tmp:='';
word:=false;
end else if (not letter(s[i])) and (flag) then
begin
flag:=false;
if (word) and (not (tmp='')) then writeln (tmp);
end;
if (flag) then
begin
tmp:=tmp+s[i];
if (s[i]='k') then word:=true;
end;
end;
end.