// PascalABC.NET 3.2, сборка 1457 от 29.05.2017
// Внимание! Если программа не работает, обновите версию!
№1
begin
var n:=Pos('!',ReadlnString);
if n>0 then Writeln('Первый восклицательный знак на позиции ',n)
else Writeln('Восклицательных знаков не найдено')
end.
Пример
Как хорошо! Вот сладкий плод ученья!
Первый восклицательный знак на позиции 11
№2
begin
WriteAllText('output.txt',ReadAllText('input.txt').Replace(' ',''))
end.
Примечание: входной файл input.txt, выходной output.txt