Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

перевод в 10 СС

.pas
Скачиваний:
10
Добавлен:
16.01.2016
Размер:
895 б
Скачать
var
s: string;
i, b, a: integer;
d, k: double;
f, e: boolean;
c: char;

begin
Write('Ввведите основание системы: ');
ReadLn(b);
e := b <= 1;
if e then
WriteLn('Ошибка: основание системы должно быть не менее 2')
else begin
Write('Введите число в системе с основанием ', b, ': ');
ReadLn(s);
f := false;
k := 1;
for i := 1 to Length(s) do
begin
if f then k := k / b;
c := UpCase(s[i]);
a := -1;
case c of
'0'..'9': a := Ord(c) - 48;
'A'..'Z': a := Ord(c) - 55;
'.', ',': if f then e := true else f := true;
else f := true
end;
e := e or (a >= b);
if e then break;
if a >= 0 then d := d * b + a
end;
if e then
WriteLn('Ошибка в записи числа')
else
WriteLn('Значение в десятичной системе: ', d * k)
end;
end.