Помогите на Делфи 7 задачку решить?. . или подскажите через че решать?

  • Program p1;
    function proc(i:integer):Integer;
    begin
    if i <10 then
    proc:=i
    else
    proc:=proc(trunc(i/10))+(i mod 10);
    end;
    var
    a:Integer;
    begin
    write('Введите число');
    read(a);
    write('Результат: ', proc(a));
    end.
  • Два варианта:
    или преобразуй число в строку, а каждую цифру строки в цикле - назад в числа и сложи;
    или, опять же в цикле, находи остаток от деления на 10 (т. е. последнюю цифру) , а остатки складывай, и дели число на 10, округляя (т. е. отбрасывай последнюю цифру).
  • преобразуй в текст, береш одну букву переводишь в число и складываешь в какую нибудь переменную
    sum:=0; s:=inttostr('182'); for i:=1 to length(s) do sum:=sum+strtoint(s);