Приятно решать задачи в одну строчку))
// PascalABC.NET 3.2, сборка 1436 от 01.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
ReadlnString('Вводите:').GroupBy(c->LowCase(c))
.Select(c->(c.Key,c.Count)).OrderBy(kv->kv[0]).Println
end.
Пример
Вводите: А роза упала на лапу Азора
( ,5) (а,8) (з,2) (л,2) (н,1) (о,2) (п,2) (р,2) (у,2)