Другие языки программирования и технологии

помогите составить прогу в паскале

Дано целое число от 100 до 240. Нужновывести строку словестного описания числа, например 125 - "сто двадцать пять".Нужна прога типа если число от 100 до 199 топервое слово "сто" дальше вэтом же условном операторе, если число от 100 до 109 то написать 1:write ' один' 2:write ' два'. и эту операцию записать как процедуру и потом обращаться к ней в числах 120-200, 220-240.Помогите пожалуйста, ясебе это представляю все но вот записать не могу.. очень очень надо
n - данное число,
в функцие пишешь
a:=n mod 10; - цифра едениц
n:=n div 10;
b:=n mod 10;- ..десятков
n:=ndiv 10;
c:=n mod 10;-сотен

далее куча строк типа if с=1 then s1:='сто';
и тд, в конце функции пиши dname:=s1+s2+s3;
=========
в самой программе:
s:=Dname(a,b,c) - функция с типом string а s - соответственно строка
АФ
Артур Фишер
1 297
Лучший ответ
Доброго времени суток.

Вот функция, выполняющая аналогичную задачу для двухзначных чисел. Ее не сложно доработать для любой разрядности.

function NumToStr(InN: Integer): String;
{ Константы для формирования числительных }
const
arr011 : array[0..10] of String = ('','десять ','одиннадцать ','двенадцать ','тринадцать ',
'четырнадцать ','пятнадцать ','шестнадцать ','семнадцать ',
'восемнадцать ','девятнадцать ');
arr010 : array[0..9] of String = ('','десять ','двадцать ','тридцать ','сорок ','пятьдесят ',
'шестьдесят ','семьдесят ','восемьдесят ','девяносто ');
arr001 : array[0..9] of String = ('','один ','два ','три ','четыре ','пять ','шесть ','семь ','восемь ','девять ');

var
sSign, Result : String;
N, N10, N01 : Integer;
begin
if InN < 0 then sSign := '(минус) ' else sSign := '';
InN := Abs(InN);
N01 := InN mod 10; {единицы}
N10 := InN div 10; {десятки}

Result := ''; {строка для результата}

if N10 > 0 then begin {двухзначное число}
if N10 = 1 then Result := Result + arr011[N01 + 1] { 10..19 }
else Result := Result + arr010[N10]; { 20..90 }

if N10 <> 1 then Result := Result + arr001[N01]; {1..9}
end
else {однозначное число}
Result := Result + arr001[N01];

if Result = '' then Result := 'ноль';
NumToStr := sSign + Result;
end;

Подсказка. Надо ввести массив названий сотен и получить число этих сотен.

Удачи!