Оглавление:
Задача — Функция перевода десятичного числа в двоичное
— программирование на Pascal, Си, Кумир, Basic-256, Python
Переводить в двоичную систему счисления вводимые в десятичной системе счисления числа до тех пор, пока не будет введен 0. Для перевода десятичного числа в двоичное написать функцию.
В основной ветке программы выполнять бесконечный цикл, в котором
- запрашивать десятичное число,
- если оно не ноль, то вызывать функцию перевода его в двоичное представление и выводить результат работы функции на экран,
- иначе (когда введен 0) прерывать цикл оператором
break
.
Функция должна принимать десятичное число и возвращать двоичное (в строковом виде). В теле функции будет поэтапно находиться остаток от деления на 2 последней цифры, после чего само число будет сокращаться путем деления его нацело на 2. Остаток от деления должен быть преобразован в строковое представление и присоединен впереди формируемой строки двоичного представления числа.
Pascal
var
decimal: word;
function binary(decimal:word):string;
var s: string[1];
begin
binary := »;
while decimal > 0 do begin
str(decimal mod 2, s);
binary := s + binary;
decimal := decimal div 2
end;
end;
begin
while True do begin
write(‘Decimal: ‘);
readln(decimal);
if decimal <> 0 then
writeln(binary(decimal))
else break;
end;
end. Decimal: 100
1100100
Decimal: 15
1111
Decimal: 1984
11111000000
Decimal: 201
11001001
Decimal: 255
11111111
Decimal: 0
Python
def binary(n):
s = »
while n > 0:
s = str(n%2) + s
n //= 2
return s
while 1:
n = int(input())
if n != 0:
print(binary(n))
else:
break
КуМир
алг
нач
цел num
нц пока да
ввод num
если num <> 0 то
вывод binary(num), нс
иначе
выход
все
кц
кон
алг лит binary(цел n)
нач
лит c
цел m
m := n
знач := «»
нц пока m > 0
c := цел_в_лит(mod(m,2))
знач := c + знач
m := div(m,2)
кц
кон