Задать вопрос
10 марта, 06:14

Составьте программу на паскале переводящую дробное не десятичное число с основанием р (2-9) в десятичную систему счисления

+1
Ответы (1)
  1. 10 марта, 07:05
    0
    Const

    k = 50;

    var

    s, si, sf: string;

    powm, n10i: longint;

    i, j, m, ls, err, ni, nf: integer;

    a: double;

    begin

    Write ('Введите основание системы счисления (2 ... 9) : ');

    Readln (m);

    if not (m in [2 ... 9]) then Writeln ('Ну-ну ... ')

    else begin

    Write ('Введите положительное число в этой системе счисления: ');

    Readln (s);

    ls : = Length (Trim (s));

    i : = pos ('.', s);

    if i > 0 then begin

    ni : = i - 1; si : = Copy (s, 1, ni);

    nf : = ls - i; sf : = Copy (s, i + 1, nf)

    end

    else begin si : = s; ni : = ls; sf : = ''; nf : = 0 end;

    powm : = 1; n10i : = 0;

    for i : = ni downto 1 do

    begin

    Val (si[i], j, err);

    n10i : = n10i + j * powm;

    powm : = powm * m

    end;

    powm : = m; a : = 0;

    for i : = 1 to nf do

    begin

    Val (sf[i], j, err);

    a : = a + j / powm;

    powm : = powm * m

    end;

    a : = a + n10i;

    Writeln (s, ' (', m, ') = ', a, ' (10) ')

    end;

    end.

    Тестовое решение:

    Введите основание системы счисления (2 ... 9) : 8

    Введите положительное число в этой системе счисления: 23532.5034

    23532.5034 (8) = 10074.6318359375 (10)
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Составьте программу на паскале переводящую дробное не десятичное число с основанием р (2-9) в десятичную систему счисления ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы