Задать вопрос
27 октября, 03:36

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

+3
Ответы (1)
  1. 27 октября, 05:28
    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) в десятичную систему счисления ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы