Предмет: Информатика,
автор: scherbakowavla
РЕБЯТА ПОМОГИТЕ ПО ИНФОРМАТИКЕ, ОЧЕНЬ НУЖНО !!!
Написать программу на языке паскаль, которая переведет число из десятичной системы счисления в 2,3,4,5,6,7,8,9,16 ричные
На вход дается 2 целых числа: 1е основание системы, 2е число которое требуется перевести
На вывод должно выдавать результат перевода и в скобках указать основание системы.
Аноним:
Видимо, крутыми должны быть те "ребята", которые возьмутся за 5 баллов писать программу перевода в 9 систем счисления!
Ответы
Автор ответа:
1
Вот тебе для двоичной системы, дальше сам додумай,я просто в переводах в системы счисления не силён,только двоичную толком знаю))
Program sist;
var a,b,f:integer;
c,p,i:string;
begin
readln(a); //вводим число
b:=2; //это у нас будет степень, сам потом переделаешь,чтоб вводить её тоже
while a>0 do //тут задаём условие (пока a>0 выполняем действия:)
begin //начало скобки(должен знать)
if a mod b=0 then c:='0' else c:='1'; //проверяем условие(если остаток от деления а поделить на 2 равен 0 то строка равна символу 1 иначе символ 0)
a:=a div b; //делим а на b без остатка
i:=i+c; //присваиваем строке i результат: строка i+результат строки c
end; //конец скобки
for f:=length(i) downto 1 do //начинаем цикл от большего к меньшему(от количества символов в строке i до 1)
p:=p+i[f]; //(к строке p прибавляем символ строки i) это относится к нашему циклу
i:=p; //тут понятно думаю
writeln(p, '(',b,')'); //выводим результат
end.
Program sist;
var a,b,f:integer;
c,p,i:string;
begin
readln(a); //вводим число
b:=2; //это у нас будет степень, сам потом переделаешь,чтоб вводить её тоже
while a>0 do //тут задаём условие (пока a>0 выполняем действия:)
begin //начало скобки(должен знать)
if a mod b=0 then c:='0' else c:='1'; //проверяем условие(если остаток от деления а поделить на 2 равен 0 то строка равна символу 1 иначе символ 0)
a:=a div b; //делим а на b без остатка
i:=i+c; //присваиваем строке i результат: строка i+результат строки c
end; //конец скобки
for f:=length(i) downto 1 do //начинаем цикл от большего к меньшему(от количества символов в строке i до 1)
p:=p+i[f]; //(к строке p прибавляем символ строки i) это относится к нашему циклу
i:=p; //тут понятно думаю
writeln(p, '(',b,')'); //выводим результат
end.
Похожие вопросы
Предмет: Русский язык,
автор: abdulkerimovara
Предмет: Русский язык,
автор: Kulimshina
Предмет: Русский язык,
автор: nmadiar148
Предмет: Физика,
автор: biologyhelp101
Предмет: Математика,
автор: redvoitel