Перевод из десятичной системы в двоичную - Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! помогите пожалуйста написать программу, переводящую целые числа из десятичной системы счисления в двоичную. не могу догадаться как записыватьединицы и нули. знаю, что всё время надо делить на 2. надо ли делать массив в программе? заранее благодарю.

Решение задачи: «Перевод из десятичной системы в двоичную»

textual
Листинг программы
program asdasd;
var c,r,m,i,k,j:integer;
begin
readln(j);
k:=1;
for i:=1 to j do
begin
if k<j then k:=k*2; end;
if k>j then k:= k div 2;
   for m:=1 to j do
   begin
   if ((k=1) and (j=0))or((k=0) and (j=0)) then write()
    else
   if k=j then begin j:=0; write(1);end
   else 
      if k<j then begin j:=j-k; k:=k div 2; write(1); end
      else
        if k>j then begin k:= k div 2; write(0); end;
   end;
          end.

Объяснение кода листинга программы

  1. Создание переменных:
    • c (число, не инициализировано)
    • r (число, не инициализировано)
    • m (число, не инициализировано)
    • i (число, не инициализировано)
    • k (число, инициализировано нулём)
    • j (число, принимающее значение ввода)
  2. Ввод числа в переменную j с клавиатуры
  3. Установка начального значения переменной k равным 1
  4. Цикл от 1 до j
    • Увеличение значения k в два раза (k:=k*2)
  5. Если k больше чем j, уменьшаем k в два раза (k:= k div 2)
  6. Цикл от 1 до j
    • Если k равно 1 и j равно 0, или k равно 0 и j равно 0, выводим ничего
    • Иначе, если k равно j, устанавливаем j в 0 и выводим 1
    • Иначе если k меньше чем j, устанавливаем j равным j-k, k равным k div 2 и выводим 1
    • Иначе если k больше чем j, устанавливаем k равным k div 2 и выводим 0

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы