uses crt;
const lb=['A'..'Z','a'..'z'];
zp=[' ','.',',','?','!',';',':','-','_'];
//еще можно всякие скобки наверное добавить, не знаю
var s:string;
mb,mp:set of char;
i:byte;
c:char;
begin
writeln('Введите текст:');
readln(s);
mb:=[];
mp:=[];
for i:=1 to length(s) do
if s[i] in lb then mb:=mb+[s[i]]
else if s[i] in zp then mp:=mp+[s[i]];
if mb=[] then writeln('Латинских букв нет!')
else
begin
writeln('Множество латинских букв:');
for c:='A' to 'z' do
if c in mb then write(c);
end;
writeln;
writeln;
if mp=[] then writeln('Знаков препинания нет нет!')
else
begin
writeln('Множество знаков препинания:');
for c:='!' to '_' do
if c in mp then write(c);
end;
readln
end.