Поиск по разделу «Программирование»

$ N_{10} \longrightarrow N_b $ $(1 < b < 32)$

Pas.0018. Напишите программу, которая по заданным натуральному числу $\boldsymbol {N_{10}}$ и основанию системы счисления $1 < \boldsymbol b < 32$ выводит $\boldsymbol {N_b}$ — пред­став­ле­ние числа $\boldsymbol {N_{10}}$ в $\boldsymbol b$-ричной системе счисления. При $b \geqslant 10$ ис­поль­зуй­те латиницу для расширения алфавита цифр (0, 1, ..., 9 не хватает же), например, $255_{10} = FF_{16}$.
Сначала см. CS.0014.
Решение.
program SuperFromN10toNb;

const

    CONVERTED_N = 255;
    BASE = 16;

var

    n : integer = CONVERTED_N;
    b : integer = BASE;
    nB : string = '';
    remainder, startOfCodeTable : integer;

begin

    write(n, '(10) = ');
    
    while n > 0 do
    begin
    
        remainder := n mod b;
        
        if remainder < 10 then
            startOfCodeTable := ord('0')
        else
            startOfCodeTable := ord('A') - 10;
            
        nB := char(startOfCodeTable + remainder) + nB;
        
        n := n div b;
        
    end;
    
    write(nB, '(', b, ').');
    
end.
Консоль.
255(10) = FF(16).