Практикум по программированию на языке Turbo Pascal. Часть 2. Портнягина В.В - 29 стр.

UptoLike

Возьмем число 141
10
. Будем делить его на на основание
систеиы счисления 16. При этом остатки, которые будут по-
лучаться при каждом делении, мы будем записывать в строку
справа налево.
141 : 16 = 8 (остаток 13);
8 : 16 = 0 (остаток 8).
В таблице 7 находим, что числу 13 соответствует D. За-
писав остатки, имеем следующее:
141
10
= 8D
16.
Рассмотрим задачу по переводу числа из р-ой системы
счисления в 10-ую.
Задача 1
Ввести последовательность символов, представляющую
собой запись числа в системе счисления с основанием р. Тре-
буется перевести это число в систему счисления с основани-
ем 10 (десятичную).
Program Lab2_1;
Uses Crt ;
Var a, S, p, code: Integer ;
L, I, PR: Integer ;
St: String [10 ] ;
Begin
ClrScr;
WriteLn ('Введи число');
Read (St);
WriteLn ('Введи основание CC');
Read (p);
S: = 0 ;
PR: = 1;
For i: = LENGTH (St) Downto 1 DO
Begin
Val ( St [I], a, code);
S: = S + PR * a;
PR: = PR * p;
End;
WriteLn ('Результат');
WriteLn ('10-e число = ', S);
29
    Возьмем число 14110. Будем делить его на на основание
систеиы счисления 16. При этом остатки, которые будут по-
лучаться при каждом делении, мы будем записывать в строку
справа налево.
    141 : 16 = 8 (остаток 13);
    8 : 16 = 0 (остаток 8).
    В таблице 7 находим, что числу 13 соответствует D. За-
писав остатки, имеем следующее:
    14110 = 8D16.
    Рассмотрим задачу по переводу числа из р-ой системы
счисления в 10-ую.

    Задача 1
    Ввести последовательность символов, представляющую
собой запись числа в системе счисления с основанием р. Тре-
буется перевести это число в систему счисления с основани-
ем 10 (десятичную).
    Program Lab2_1;
    Uses Crt ;
    Var a, S, p, code: Integer ;
    L, I, PR: Integer ;
    St: String [10 ] ;
    Begin
    ClrScr;
    WriteLn ('Введи число');
    Read (St);
    WriteLn ('Введи основание CC');
    Read (p);
    S: = 0 ;
    PR: = 1;
    For i: = LENGTH (St) Downto 1 DO
    Begin
    Val ( St [I], a, code);
    S: = S + PR * a;
    PR: = PR * p;
    End;
    WriteLn ('Результат');
    WriteLn ('10-e число = ', S);
                            29