Type int=100..999; Var x:int; Begin readln(x); case (x div 100) of 1:write('Сто '); 2:write('Двести '); 3:write('Триста '); 4:write('Четыреста '); 5:write('Пятьсот '); 6:write('Шестьсот '); 7:write('Семьсот '); 8:write('Восемьсот '); 9:write('Девятьсот '); end; if ((x mod 100) div 10)=1 then case (x mod 10) of 0:write('десять '); 1:write('одиннадцать '); 2:write('двенадцать '); 3:write('тринадцать '); 4:write('четырнадцать '); 5:write('пятнадцать '); 6:write('шестнадцать '); 7:write('семнадцать '); 8:write('восемнадцать '); 9:write('девятнадцать '); end else begin case ((x mod 100) div 10) of 2:write('двадцать '); 3:write('тридцать '); 4:write('сорок '); 5:write('пятьдесят '); 6:write('шестьдесят '); 7:write('семьдесят '); 8:write('восемьдесят '); 9:write('девяносто '); end; case (x mod 10) of 1:write('один'); 2:write('два'); 3:write('три'); 4:write('четыре'); 5:write('пять'); 6:write('шесть'); 7:write('семь'); 8:write('восемь'); 9:write('девять'); end; end; End.
Для перевода чисел из десятичной системы счисления в двоичную используют так называемый "алгоритм замещения", состоящий из следующей последовательности действий:Делим десятичное число А на 2. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа. Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток (0 или 1) записывается в разряды двоичного числа в направлении от младшего бита к старшему. Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a = 1Пример: 35(в десятичной) 35/2=17 35-2*17=1 17/2=8 17-2*8=1 8/2=4 8-2*4=04/2=2 4-2*2=0 2/2=1 2-2*1=0 1/2=0 1 записываем число снизу вверх:100011 35=100011
begin
var a:=MatrRandom(5,5,-99,99);
a.Println(4);
(4*a.ColCount*'-').Println;
$'Сумма чисел в пятом столбце: {a.Col(4).Sum}'.Println
end.