пункт а:Насколько я помню, в паскале невозможно реализовать бесконечный цикл, поэтому решение будет слегка притянуто за уши. Например если вы введете число из 9001 символа, программа будет работать неккоректно. Для выхода из цикла используется 'метка'.a, counter, Summa : integer;Label Transfer;Beginwriteln('Введите число');readln(a);counter := 1;counterTw0 := counterTwo + 1;while counter < 9000 Do begin counter := counter +1; if (a div counter) < 0 then Transfer else counterTwo := counterTwo + 1; else;Goto Transfer;//Узнали, что в числе counterTwo символовwhile counter < counterTwo DoSumma := Summa + ((a div counter) mod 10);Summa := Summa + (a mod 10);writeln(Summa);end.